Nghiên Cứu, Thiết Kế Và Hiện Thực Hệ Thống Xử Lý Biểu Thức Chính Quy Trên FPGA Cho Hệ Thống An Ninh Mạng


Tóm tắt nghiên cứu (Research Summary)

  • Vấn đề nghiên cứu: Làm thế nào để giải quyết nút thắt cổ chai về tốc độ xử lý và bùng nổ tài nguyên bộ nhớ khi thực hiện so trùng biểu thức chính quy (PCRE) trong các hệ thống phát hiện xâm nhập mạng (NIDS) ở tốc độ đường truyền Gigabit?
  • Phương pháp tiếp cận: Đề tài đề xuất mô hình kiến trúc phần cứng dựa trên máy trạng thái hữu hạn không đơn định (NFA), kết hợp khối so trùng ký tự tập trung dùng bộ nhớ Block RAM (BCCM) và khối xử lý toán tử lặp ràng buộc chuyên dụng (CRB). Đồng thời, nhóm nghiên cứu phát triển một chuỗi công cụ phần mềm tự động (toolchain) để chuyển đổi trực tiếp tập luật PCRE của Snort thành mã nguồn phần cứng Verilog HDL, sau đó hiện thực và kiểm thử trên bo mạch NetFPGA (chip Xilinx Virtex-II Pro 50).
  • Kết quả chính: Hệ thống phần cứng hỗ trợ xử lý song song 256 mẫu luật PCRE phức tạp, đạt tần số hoạt động 172 MHz tương ứng với thông lượng dữ liệu (throughput) đạt 1,376 Gbps (lên đến 2,48 Gbps / 310 MHz cho các tập luật cơ bản). Trong thử nghiệm thực tế với lưu lượng tấn công mạng cao, giải pháp phần cứng duy trì khả năng bắt gói tin ổn định tới 300 Mbps với tỷ lệ mất gói 0% và tỷ lệ drop dưới 50% ở tải tối đa 850 Mbps — vượt trội so với giải pháp phần mềm Snort truyền thống (bị drop gói trên 50% ngay ở mức 150 Mbps).
  • Ý nghĩa thực tiễn: Nghiên cứu chứng minh tính khả thi và hiệu năng vượt bậc của giải pháp tăng tốc phần cứng cho bài toán kiểm tra gói tin chuyên sâu (Deep Packet Inspection - DPI), mở ra hướng đi tối ưu cho các thiết bị tường lửa thế hệ mới và hệ thống giám sát an ninh mạng quy mô lớn.

Bối cảnh và tầm quan trọng (Context & Significance)

1. Thực trạng bùng nổ lưu lượng mạng và mã độc tinh vi

Sự phát triển mạnh mẽ của mạng Internet kéo theo lưu lượng dữ liệu đạt mức hàng chục đến hàng trăm Gigabit/giây. Song hành với đó là sự gia tăng đột biến của các hình thức tấn công mạng nguy hiểm, từ virus, phần mềm độc hại (malware), mã khai thác lỗ hổng (exploit) cho đến các kỹ thuật né tránh tinh vi. Các dấu hiệu tấn công (signatures) có thể xuất hiện tại bất kỳ vị trí ngẫu nhiên nào trong phần thân (payload) của gói tin, đòi hỏi các hệ thống an ninh phải thực hiện kiểm tra sâu toàn bộ nội dung gói (DPI).

2. Giới hạn cố hữu của giải pháp phần mềm

Biểu thức chính quy (Regular Expressions - RegEx), đặc biệt là cú pháp PCRE (Perl-Compatible Regular Expressions), là tiêu chuẩn vàng được các hệ thống NIDS mã nguồn mở (như Snort, Bro) và thương mại (Cisco, TippingPoint) sử dụng để mô tả hành vi mã độc phức tạp. Tuy nhiên:

  • Nút thắt cổ chai CPU: Các bộ xử lý đa năng (GPP) xử lý tuần tự không thể đáp ứng được tốc độ đường truyền Gigabit khi số lượng luật tăng cao.
  • Bùng nổ trạng thái (State Explosion): Khi chuyển đổi PCRE sang máy trạng thái đơn định (DFA) trên phần mềm, số lượng trạng thái có thể tăng theo cấp số nhân $O(2^n)$, làm cạn kiệt bộ nhớ hệ thống.
  • Suy giảm hiệu năng nghiêm trọng: Thực tế cho thấy Snort chạy trên máy chủ CPU thông thường bị sụt giảm thông lượng chỉ còn vài chục Mbps và rớt gói tin (drop packet) nghiêm trọng khi gặp lưu lượng tải cao.
       +-------------------------------------------------------------+
       | LƯU LƯỢNG MẠNG TỐC ĐỘ CAO (GIGABIT/S) + MÃ ĐỘC PHỨC TẠP     |
       +-------------------------------------------------------------+
                                      |
            +-------------------------+-------------------------+
            |                                                   |
            v                                                   v
   [ GIẢI PHÁP PHẦN MỀM ]                             [ GIẢI PHÁP PHẦN CỨNG ]
   - Xử lý tuần tự trên CPU                           - Xử lý song song thực thụ
   - Dễ bùng nổ trạng thái DFA ($2^n$)                - Mô hình NFA gọn nhẹ $O(N)$
   - Nghẽn cổ chai: Drop gói >50% ở 150 Mbps          - Khả năng mở rộng & tái cấu hình
   - Không đáp ứng tốc độ Gbps                         - Đạt thông lượng >1.37 Gbps trên FPGA

3. Tiềm năng đột phá của chip khả lập trình FPGA

Công nghệ FPGA (Field Programmable Gate Array) cung cấp hai lợi thế cốt lõi: khả năng xử lý song song ở mức phần cứng và khả năng tái lập trình (reconfigurability). Điều này cho phép hàng trăm máy trạng thái hoạt động độc lập đồng thời trong cùng một chu kỳ xung clock, vừa đáp ứng tốc độ truyền dẫn Gigabit vừa dễ dàng cập nhật cơ sở dữ liệu nhận dạng tấn công mà không cần thay đổi phần cứng vật lý.


Phương pháp nghiên cứu và Kiến trúc hệ thống (Methodology & Approach)

Đề tài áp dụng phương pháp nghiên cứu kết hợp giữa mô hình hóa lý thuyết tự động (Automata Theory), thiết kế kiến trúc vi mạch số (RTL) và thực nghiệm kiểm chứng trên nền tảng phần cứng mạng chuẩn công nghiệp.

+----------------------------------------------------------------------------------------------------+
|                                      TOOLCHAIN PHẦN MỀM TỰ ĐỘNG                                    |
|                                                                                                    |
|  [ Tập luật Snort Rules ]                                                                         |
|            |                                                                                       |
|            v                                                                                       |
|  [ 1. Trích xuất & Tiền xử lý PCRE ]  -->  [ 2. Cây cú pháp (BNF) ]  -->  [ 3. Xây dựng & Rút gọn NFA ]
|                                                                                       |            |
|                                                                                       v            v
|  [ 5. Tự động sinh mã Verilog HDL ]   <--  [ 4. Ánh xạ kiến trúc RTL (State Block, CRB, BCCM) ]    |
+----------------------------------------------------------------------------------------------------+
                                                        |
                                                        v
+----------------------------------------------------------------------------------------------------+
|                                    KIẾN TRÚC PHẦN CỨNG TRÊN NETFPGA                                |
|                                                                                                    |
|   +--------------------+     +------------------------------------------------+     +------------+ |
|   | PreInterface       |     | Detect Engine (REMG Groups)                    |     | Post-      | |
|   | - FIFO giao tiếp   | --> | - Module BCCM: BlockRAM 256 entries tập trung  | --> | Interface  | |
|   | - Điều khiển SoD,  |     | - State Block / Start / End Block              |     | - Bộ mã hóa| |
|   |   EoD, Enable      |     | - Module CRB: CouCom (Đếm) + SubRegex + Reset  |     |   ưu tiên  | |
|   +--------------------+     +------------------------------------------------+     +------------+ |
+----------------------------------------------------------------------------------------------------+

1. Kiến trúc phần cứng Module hóa (Detect Engine)

Kiến trúc phần cứng được phân cấp thành các nhóm so trùng (Regular Expression Matching Group - REMG) với các khối xử lý cốt lõi:

  • Mô hình NFA tối ưu: Thay vì DFA, nhóm chọn mô hình NFA giúp giới hạn độ phức tạp diện tích mạch ở mức tuyến tính $O(N)$ với $N$ là số trạng thái.
  • Khối so trùng ký tự tập trung (BCCM): Tận dụng bộ nhớ nhúng on-chip (Block RAM) với bảng tra 256 entry. Byte dữ liệu đầu vào đóng vai trò là địa chỉ tra cứu, xuất ra một bit-vector kích hoạt đồng thời các trạng thái tương ứng, giúp giảm thiểu tải fan-out và tiết kiệm tài nguyên logic.
  • Khối lặp ràng buộc (Constraint Repetition Block - CRB): Thay vì nhân bản chuỗi tốn kém tài nguyên ($O(n)$), nhóm tích hợp bộ đếm đồng bộ CouCom (Count & Compare Unit), cho phép xử lý các toán tử lặp {n}, {n,m}, {n,} với độ phức tạp tài nguyên chỉ đạt mức $O(\log n)$.
  • Module giao tiếp đầu/cuối (PreInterface & PostInterface): Tổ chức theo cơ chế đường ống (pipeline), hỗ trợ giải mã tín hiệu bắt đầu/kết thúc gói tin (SoD/EoD) và bộ mã hóa ưu tiên 8 phân vùng để đẩy chỉ số luật khớp vào FIFO đầu ra tốc độ cao.
Khối Logic phần cứng Toán tử PCRE hỗ trợ Cơ chế hoạt động chính
State Block r1r2, r1|r2, r*, r+, r? Cổng OR $n$ ngõ vào + Cổng AND 2 ngõ + Flip-Flop
Start / End Block ^ (Caret), $ (Dollar) Tích hợp tín hiệu điều khiển SoD / EoD từ PreInterface
BCCM (BRAM Module) [abc], [^abc], \d, \w, \s, \xFF Tra cứu bảng Block RAM 256 entry chia sẻ giữa các REME
CRB (Constraint Repetition) {n}, {n,}, {,n}, {n,m} Phối hợp SubRegex Unit + Reset Unit + CouCom Unit

2. Chuỗi công cụ phần mềm tự động hóa (Automated Software Toolchain)

Nhóm nghiên cứu xây dựng phần mềm chuyên dụng (viết bằng Java) tự động hóa hoàn toàn quy trình chuyển đổi:

  1. Trích xuất và Lọc: Đọc tập luật Snort (.rules), tách các tùy chọn pcre và sid, loại bỏ luật trùng lặp.
  2. Xây dựng cây cú pháp (Syntax Tree): Sử dụng văn phạm độc lập ngữ cảnh dạng chuẩn Backus-Naur Form (BNF).
  3. Mô hình hóa NFA & Rút gọn: Phân tích đệ quy cây cú pháp, tối ưu hóa các trạng thái dư thừa thành các khối mô-đun chuẩn.
  4. Sinh mã phần cứng tự động: Tự động định tuyến tín hiệu và xuất mã Verilog HDL kèm các file cấu hình BRAM (.coe, .xco) tương thích hoàn toàn với môi trường Xilinx ISE.

3. Thiết lập môi trường kiểm chứng thực nghiệm

  • Phần cứng triển khai: Bo mạch NetFPGA 1G tích hợp chip Xilinx Virtex-II Pro 50, 4 cổng Gigabit Ethernet.
  • Môi trường Testbed: Kết nối đồng thời NetFPGA và máy chủ IBM (cài đặt Snort 2.9) thông qua mạng thử nghiệm. Sử dụng công cụ TCPReplay phát lại các tập tin .pcap chứa các mẫu tấn công thực tế với các tỷ lệ mã độc khác nhau (25%, 50%, 75%, 100%) trên hai dải kích thước gói: gói ngắn (200–400 bytes) và gói dài (1200–1400 bytes).

Phát hiện và Kết quả nghiên cứu chính (Key Findings)

1. Hiệu năng tổng hợp mạch trên FPGA vượt trội

Quá trình tổng hợp 256 luật PCRE phức tạp từ tập luật VRT của Snort trên chip Virtex-II Pro 50 mang lại kết quả ấn tượng:

  • Tài nguyên sử dụng: Chỉ chiếm 3.730 Slices (14%) và 17 BRAMs (71%), chứng minh mật độ tích hợp logic rất cao.
  • Tần số xung nhịp tối đa: Đạt 172 MHz, tương ứng khả năng xử lý 1 ký tự/chu kỳ, mang lại thông lượng xử lý thực tế đạt 1,376 Gbps.
  • Tập luật cơ bản: Khi chỉ xử lý các toán tử thông thường (không kích hoạt CRB), tần số mạch đạt tới 310 MHz, tương ứng thông lượng 2,48 Gbps.
+----------------------------------------------------------------------------------------------------+
| SO SÁNH TỶ LỆ RỚT GÓI (PACKET DROP RATE) THEO TỐC ĐỘ TRUYỀN DẪN                                    |
|                                                                                                    |
| Tỷ lệ Drop (%)                                                                                     |
|  100 |                                                .. Snort (90-100% Drop)                      |
|   80 |                                     .-'                                                     |
|   60 |                         .-'   .-'              -- NetFPGA (<50% Drop ở tải cực đại)          |
|   40 |             .-'   .-'                      ..                                               |
|   20 |       .-'                            ..                                                     |
|    0 +------------------+-------------------------+-------------------------+                      |
|     0 Mbps            150 Mbps                  300 Mbps                  850 Mbps                 |
|                                                                                                    |
| [ Ghi chú: Tại 300 Mbps, NetFPGA đạt tỷ lệ Drop = 0%, trong khi Snort đã rớt >70% gói tin ]        |
+----------------------------------------------------------------------------------------------------+

2. Triệt tiêu hiện tượng nghẽn mạng và rớt gói tin

So sánh đối đầu trực tiếp giữa NetFPGA và Snort thuần phần mềm:

  • Phần mềm Snort: Không thể duy trì tốc độ vượt quá 50 Mbps mà không bị mất gói. Khi tốc độ truyền đạt 150 Mbps, Snort bỏ sót hơn 50% gói tin, và con số này vọt lên trên 90% khi tốc độ đạt 500 Mbps.
  • Hệ thống phần cứng FPGA: Hoạt động ổn định tuyệt đối với 0% tỷ lệ rớt gói ở mức 300 Mbps. Ở tốc độ tối đa của môi trường thử nghiệm (850 Mbps đối với gói dài), tỷ lệ mất gói của FPGA vẫn duy trì dưới mức 50% (nguyên nhân chủ yếu do chi phí overhead đóng gói UDP của khối quản lý chưa áp dụng pipeline sâu).

3. Đột phá trong xử lý toán tử lặp ràng buộc {n, m}

Thống kê tập luật VRT cho thấy có tới hơn 2.600 toán tử lặp ràng buộc, trong đó phần lớn yêu cầu số lần lặp từ 1.000 đến 1.200 lần (toán tử Atleast và Exactly). Khối CRB đề xuất đã giải quyết triệt để bài toán này:

  • Tiết kiệm diện tích logic theo hàm logarit thay vì nhân bản hàng ngàn trạng thái.
  • Loại bỏ hoàn toàn nguy cơ tràn bộ nhớ phần cứng.

4. Chỉ số hiệu quả hiệu năng (PEM) vượt trội chuẩn quốc tế

Sử dụng công thức chuẩn quốc tế để đo lường hiệu quả diện tích và thông lượng: $$\text{PEM} = \frac{\text{Throughput (Gbps)}}{\text{Area per Character}} = \frac{\text{Throughput (Gbps)}}{\frac{#\text{Logic Cells} + \text{Memory (Bytes)}}{#\text{Characters}}}$$

Kiến trúc nghiên cứu Mô hình Automata Thiết bị FPGA Số ký tự (#Char) Thông lượng (Gbps) Chỉ số hiệu quả (PEM)
Phương pháp đề xuất NFA Virtex-2P-50 10.552 2,48 2,71
Bispo et al. NFA Virtex-2 19.580 1,40 1,56
Clark et al. NFA Virtex-4 1.758 1,40 1,34
Brodie et al. DFA ASIC / FPGA 6.400 4,00 0,33

Kết quả so sánh khẳng định giải pháp đề xuất đạt chỉ số PEM = 2,71, cao hơn đáng kể so với các nghiên cứu cùng thời kỳ trên thế giới.


Đóng góp khoa học và Giá trị thực tiễn (Scientific & Practical Contributions)

1. Đóng góp về mặt học thuật và lý thuyết

  • Mô hình kiến trúc lai ghép NFA - BRAM: Đề xuất giải pháp phân hoạch bảng ký tự thông minh vào các khối Block RAM on-chip, giải quyết triệt để bài toán thắt nút cổ chai fan-out và chia sẻ ký tự hiệu quả giữa hàng trăm biểu thức chính quy.
  • Cơ chế đếm lặp đồng bộ CRB: Tối ưu hóa việc hiện thực toán tử lặp ràng buộc phức tạp trong PCRE với độ phức tạp phần cứng tối ưu $O(\log n)$, khắc phục nhược điểm bùng nổ tài nguyên của phương pháp mở chuỗi truyền thống.

2. Đổi mới về mặt phương pháp và công cụ

  • Xây dựng thành công chuỗi công cụ tự động hóa toàn diện từ khâu phân tích cú pháp BNF đến tự động sinh mã Verilog HDL hoàn chỉnh. Điều này giúp rút ngắn thời gian phát triển từ nhiều tháng thiết kế thủ công xuống còn vài phút tự động.

3. Khả năng ứng dụng thực tế

  • Tích hợp linh hoạt: Module có thể tích hợp trực tiếp vào các hệ thống phát hiện/ngăn chặn xâm nhập mạng (IDS/IPS), bộ lọc phân loại lưu lượng tầng ứng dụng (Layer-7 filter), tường lửa phần cứng thế hệ mới (NGFW), hoặc máy quét mã độc chống virus tốc độ cao (ClamAV).

Đối tượng thụ hưởng và Lợi ích mang lại (Target Audience & Benefits)

       +----------------------------------------------------------------+
       |                  ĐỐI TƯỢNG THỤ HƯỞNG CHÍNH                     |
       +----------------------------------------------------------------+
         |                             |                              |
         v                             v                              v
[ VIỆN / TRƯỜNG NGHIÊN CỨU ]   [ DOANH NGHIỆP AN NINH MẠNG ]   [ TRUNG TÂM DỮ LIỆU & ISP ]
- Khung phương pháp chuẩn NFA  - Rút ngắn R&D thiết bị NGFW    - Ngăn chặn tấn công DPI
- Công cụ tự động sinh HDL     - Giảm chi phí phần cứng DPI   - Giảm độ trễ, triệt tiêu
- Tài liệu học thuật giá trị   - Tăng tốc độ kiểm tra gói tin    tình trạng rớt gói tin
  • Nhà nghiên cứu học thuật: Tiếp cận phương pháp luận hoàn chỉnh về ánh xạ ngôn ngữ hình thức sang kiến trúc phần cứng khả trình; sử dụng chuỗi công cụ tự động để phục vụ các nghiên cứu mở rộng.
  • Kỹ sư và Doanh nghiệp phát triển thiết bị mạng: Sở hữu giải pháp kiến trúc phần cứng sẵn sàng thương mại hóa để nâng cấp các dòng sản phẩm an ninh mạng lên băng thông Gigabit với chi phí phần cứng tối ưu.
  • Quản trị viên Trung tâm dữ liệu & Nhà cung cấp dịch vụ mạng (ISP): Đảm bảo an toàn hệ thống trước các cuộc tấn công khai thác lỗ hổng phức tạp mà không làm nghẽn đường truyền hay suy giảm chất lượng dịch vụ (QoS).

Câu hỏi thường gặp (FAQ)

1. Phát hiện quan trọng nhất của đề tài là gì?

Hệ thống chứng minh rằng việc kết hợp máy trạng thái NFA với bộ nhớ Block RAM tập trung (BCCM) và khối đếm lặp CRB trên FPGA có thể đạt thông lượng trên 1,37 Gbps với 256 luật PCRE Snort, loại bỏ hiện tượng rớt gói tin nghiêm trọng vốn xuất hiện trên hệ thống phần mềm ở tốc độ trên 50 Mbps.

2. Phương pháp của nghiên cứu có gì đặc biệt so với các kiến trúc trước đây?

Thay vì nhân bản chuỗi logic gây lãng phí tài nguyên ($O(n)$) khi xử lý toán tử lặp ràng buộc {n,m}, nhóm sử dụng module đếm và so sánh đồng bộ CouCom giúp giảm độ phức tạp phần cứng xuống $O(\log n)$, kết hợp chia sẻ bảng ký tự trên Block RAM giúp tối ưu hóa diện tích mạch đạt mức PEM = 2,71.

3. Kết quả nghiên cứu có thể khái quát hóa (generalize) cho các tập luật khác không?

Hoàn toàn có thể. Chuỗi công cụ phần mềm được thiết kế tổng quát hóa dựa trên văn phạm BNF. Bất kỳ tập luật PCRE nào từ Snort, Bro, Suricata hay các biểu thức chính quy trong bộ lọc URL/Antivirus đều có thể tự động chuyển đổi thành mã Verilog tương thích với nhiều dòng chip FPGA khác nhau (Xilinx Spartan, Virtex, Kintex, Zynq).

4. Hướng phát triển tiếp theo của nghiên cứu là gì?

Nhóm định hướng tối ưu hóa cơ chế chia sẻ tiền tố/trung tố/hậu tố (prefix/infix/suffix) giữa các luật; áp dụng kiến trúc xử lý nhiều byte đồng thời trong một chu kỳ (Multi-byte per cycle) và cấu trúc pipeline sâu hơn để nâng thông lượng hệ thống lên 10 Gbps – 40 Gbps.

5. Khả năng ứng dụng thực tiễn của công trình như thế nào?

Kiến trúc có thể đóng gói thành lõi IP (IP Core) để tích hợp trực tiếp vào các card tăng tốc mạng (SmartNIC), thiết bị tường lửa phần cứng chuyên dụng, hệ thống phòng chống xâm nhập (IPS) nội bộ hoặc các trạm cổng an ninh mạng công nghiệp.


Kết luận (Conclusion)

Đề tài "Nghiên cứu, thiết kế và hiện thực một hệ thống xử lý biểu thức chính quy trên FPGA cho hệ thống an ninh mạng Internet" của nhóm tác giả Đại học Bách Khoa TP.HCM đã giải quyết thành công bài toán nghẽn cổ chai trong kiểm tra gói tin chuyên sâu tốc độ cao. Bằng việc làm chủ quy trình từ lý thuyết tự động, phát triển công cụ tự động hóa đến hiện thực hóa thành công trên bo mạch NetFPGA, công trình đã chứng minh tính ưu việt vượt trội của giải pháp vi mạch khả trình so với giải pháp phần mềm truyền thống. Đây là tiền đề công nghệ quan trọng, sẵn sàng phục vụ cho việc phát triển các thiết bị an ninh mạng Make-in-Vietnam hiệu năng cao trong tương lai.