Tổng quan nghiên cứu

Sự bùng nổ của hạ tầng Internet với tốc độ truyền tải tăng vọt từ chuẩn OC-48 đạt 2,4 Gbps lên OC-192 đạt 10 Gbps và hướng đến chuẩn OC-768 đạt 40 Gbps đã đặt ra thách thức nghiêm trọng cho an ninh mạng. Các giải pháp tường lửa truyền thống không còn đủ khả năng đối phó với những hình thức tấn công tinh vi, đòi hỏi sự xuất hiện của hệ sinh thái hệ thống phát hiện xâm nhập mạng (NIDS). Trong đó, phần mềm mã nguồn mở Snort đã trở thành chuẩn mực thực tế với hơn 400.000 người dùng đăng ký và hàng triệu lượt triển khai trên toàn cầu. Tuy nhiên, các giải pháp thuần phần mềm chạy trên máy tính thông thường gặp hiện tượng nghẽn cổ chai xử lý khi lưu lượng vượt quá 2,4 Gbps, dẫn đến tình trạng đánh rơi gói tin nghiêm trọng. Ngược lại, giải pháp thuần phần cứng ASIC tuy đạt tốc độ cao nhưng lại có chi phí đắt đỏ và thiếu tính linh hoạt khi cần cập nhật tập luật phức tạp với hơn 100.000 dòng mã.

Đề tài tập trung giải quyết bài toán cân bằng giữa tốc độ xử lý phần cứng và tính mềm dẻo của phần mềm bằng cách hiện thực hệ thống NIDS nhúng trên bo mạch NetFPGA, kết hợp vi xử lý mềm đa luồng NetThread kiến trúc MIPS. Mục tiêu nghiên cứu bao gồm việc phân tích mã nguồn Snort 2.1, tối ưu hóa các module tiền xử lý cốt lõi, chuyển giao việc thực thi chương trình giám sát sang môi trường vi xử lý nhúng trên chip lập trình mảng cổng logic FPGA. Nghiên cứu được triển khai thực nghiệm trong giai đoạn từ tháng 1 năm 2011 đến tháng 12 năm 2011 tại Đại học Quốc gia Thành phố Hồ Chí Minh. Ý nghĩa thực tiễn của công trình thể hiện qua khả năng vận hành trực tiếp trên 4 giao tiếp mạng Gigabit chuẩn RJ45 ở tần số 125 MHz, loại bỏ hoàn toàn sự phụ thuộc vào máy chủ cồng kềnh và mở ra hướng thương mại hóa thiết bị bảo mật chuyên dụng hiệu năng cao.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng trên nền tảng của ba mô hình và khung lý thuyết chủ đạo: mô hình hệ thống phát hiện và ngăn chặn xâm nhập mạng (NIDS/IPS), nguyên lý đồng thiết kế phần cứng - phần mềm (Hardware/Software Co-design), và kiến trúc vi xử lý đa luồng phân luồng đường ống (Multithread Pipelined Soft-processor). Hệ thống vận dụng 4 khái niệm cốt lõi:

Thứ nhất, kiến trúc bộ xử lý mềm NetThread phát triển trên nền tảng MIPS với tập lệnh rút gọn RISC 32-bit, thực thi 5 công đoạn đường ống kinh điển bao gồm nạp lệnh (IF), giải mã lệnh (ID), thực thi (EX), truy xuất bộ nhớ (MEM) và ghi kết quả (WB). Cấu trúc này tích hợp 2 nhân xử lý với khả năng phân luồng 4 chiều (4-way multithread), hỗ trợ tổng cộng 8 luồng thực thi luân phiên theo thuật toán định thời Round-Robin để triệt tiêu thời gian trễ của bộ nhớ.

Thứ hai, nền tảng tính toán tái cấu hình NetFPGA trang bị chip Xilinx Virtex-II Pro với 53.136 ô logic (logic cells), 4,5 MB SRAM, 64 MB DDR2 DRAM và 4 cổng mạng 1 Gigabit Ethernet.

Thứ ba, khung kiến trúc phân tích gói tin Snort gồm 5 thành phần: Bộ giải mã gói tin (Packet Decoder), Bộ tiền xử lý (Preprocessor với module chống phân mảnh frag2 và chống giả mạo arpspoof), Động cơ phát hiện (Detection Engine), Hệ thống ghi nhật ký (Logging) và Hệ thống cảnh báo (Alerting).

Thứ tư, giao thức đóng gói tiêu đề phần cứng IOQ Header dài 8 byte, có cấu trúc lưu trữ thông tin cổng nguồn, cổng đích và độ dài gói tin nhằm tối ưu hóa việc định tuyến nội bộ trong bộ nhớ đệm 16 KB giữa phần cứng và phần mềm.

Phương pháp nghiên cứu

Nghiên cứu sử dụng phương pháp thực nghiệm kết hợp mô phỏng định lượng trên môi trường phần cứng thật. Nguồn dữ liệu thực nghiệm được thu thập và tạo lập thông qua công cụ chuyên dụng tcpreplay trên giao diện mạng Linux eth0, phát các tập dữ liệu gói tin tiêu chuẩn với tốc độ điều khiển từ 0,4 mps đến bão hòa đường truyền.

Cỡ mẫu kiểm thử bao gồm hơn 10.000 gói tin đa dạng kích thước từ 64 byte đến 1518 byte, bao phủ toàn bộ các giao thức mạng phổ biến như TCP, UDP, ICMP và ARP. Phương pháp chọn mẫu phân tầng có chủ đích được áp dụng nhằm cách ly và đánh giá độc lập từng kịch bản: luồng dữ liệu chuẩn để kiểm tra chế độ bắt gói Sniffer, luồng dữ liệu theo tiêu chí lọc địa chỉ IP nguồn/đích cho chế độ Filter, và các gói tin phân mảnh bất thường hoặc giả mạo địa chỉ MAC cho chế độ NIDS.

Lý do lựa chọn phương pháp phân tích thực nghiệm trên bo mạch NetFPGA gắn khe cắm PCI là nhằm đo lường chính xác các chỉ số tài nguyên thực tế (diện tích chiếm dụng Block RAM, bảng tra LUTs) và thời gian trễ thực thi vi mô mà các phần mềm mô phỏng thuần túy không phản ánh được. Toàn bộ quy trình từ tổng hợp phần cứng, biên dịch mã nguồn C sang nhị phân nhúng, nạp cấu hình bitstream và phân tích log cảnh báo diễn ra liên tục theo lộ trình nghiên cứu 12 tháng.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Hệ thống đã hiện thực thành công và vận hành ổn định trên bo mạch phần cứng NetFPGA với 3 chế độ hoạt động chuyên biệt:

Thứ nhất, ở chế độ Sniffer, hệ thống quản lý trơn tru lưu lượng mạng trên 4 cổng vật lý, tận dụng tối đa 8 luồng xử lý đồng thời để sao chép dữ liệu từ bộ đệm đầu vào sang bộ đệm đầu ra mà không làm tràn bộ nhớ đệm 16 KB. Khi vận hành với 8 luồng, hiệu năng thông lượng tăng vượt bậc so với cấu hình đơn luồng do loại bỏ được thời gian chờ chuyển ngữ cảnh khi một luồng rơi vào trạng thái trễ thời gian (time-out).

Thứ hai, ở chế độ Filter, hệ thống thực hiện lọc gói tin chính xác theo các trường tiêu chí đa dạng: địa chỉ IP nguồn, IP đích, cổng mạng, giao thức lớp 4 (TCP, UDP, ICMP) và loại khung Ethernet. Các gói tin không hợp lệ bị loại bỏ ngay tại bộ đệm đầu vào, giúp giải phóng hơn 40% tài nguyên xử lý cho các tầng tiếp theo.

Thứ ba, ở chế độ NIDS, hai module tiền xử lý arpspoof và frag2 phát huy tối đa khả năng nhận dạng xâm nhập. Module arpspoof với bảng lưu trữ địa chỉ ARP kích thước 1 KB đã phát hiện thành công 100% các kịch bản tấn công giả mạo, bao gồm 6 mẫu cảnh báo dị thường như gửi yêu cầu Unicast bất thường, sai lệch địa chỉ MAC nguồn giữa tiêu đề Ethernet và ARP, phát hiện địa chỉ MAC người gửi mang giá trị quảng bá ff:ff:ff:ff:ff:ff, và hành vi cố tình ghi đè bảng nhớ đệm ARP Cache.

Thứ tư, về mặt tối ưu hóa tài nguyên phần cứng, hệ thống 2 bộ vi xử lý NetThread chỉ chiếm dụng 71% dung lượng Block RAM trên chip Virtex-II Pro, hoạt động ổn định ở tần số xung nhịp 125 MHz. Việc áp dụng kiến trúc đa luồng cho đường ống 5 công đoạn giúp cải thiện hiệu suất sử dụng diện tích chip lên đến 77% so với thiết kế đơn luồng truyền thống.

Thảo luận kết quả

Hiệu năng ấn tượng của hệ thống bắt nguồn từ sự kết hợp chặt chẽ giữa cơ chế định thời Round-Robin của NetThread và khả năng tiếp nhận gói tin tức thời của các cổng mạng trên NetFPGA. Trong kiến trúc máy tính truyền thống, việc đọc và xử lý gói tin ở tốc độ gigabit gây ra hàng triệu ngắt phần cứng (hardware interrupts) lên CPU, dẫn đến tình trạng đánh rơi từ 20% đến 30% lượng gói tin. Thiết kế nhúng NetThread loại bỏ hoàn toàn hệ điều hành trung gian, xử lý trực tiếp trên các khối đệm vào/ra thông qua hàm gọi API nội vi như nf_pktin_popnf_pktout_send.

Khi so sánh với các nghiên cứu giải pháp phần cứng thuần túy, mô hình đề xuất vượt trội ở tính linh động khi cho phép lập trình, sửa đổi và biên dịch giải thuật bằng ngôn ngữ C thông qua công cụ nạp loader, thay vì phải biên dịch lại toàn bộ mạch phần cứng bằng VHDL/Verilog mất hàng giờ đồng hồ.

Dữ liệu thực nghiệm của nghiên cứu có thể được trực quan hóa tối ưu thông qua biểu đồ cột so sánh thời gian thực thi giữa 3 chế độ (Sniffer, Filter và NIDS) tương ứng với các kích thước gói tin khác nhau, kết hợp cùng bảng thống kê chi tiết tỷ lệ chiếm dụng logic cells và Block RAM trên chip FPGA. Những số liệu này chứng minh rằng việc phân chia công việc: giao các tác vụ tiền xử lý, lọc gói tin và logic phức tạp cho vi xử lý mềm NetThread, đồng thời dành tài nguyên logic còn lại cho module so trùng chuỗi phần cứng (Detection Engine) là hướng tiếp cận hoàn toàn khả thi và đạt hiệu quả kinh tế cao.

Đề xuất và khuyến nghị

Dựa trên kết quả thực nghiệm, 4 giải pháp chiến lược được đề xuất nhằm nâng cấp toàn diện hệ thống NIDS kết hợp phần cứng và phần mềm:

Thứ nhất, tích hợp module phần cứng so trùng chuỗi (Hardware String Matching Engine). Đội ngũ kỹ sư thiết kế phần cứng cần hiện thực các thuật toán tối ưu như Aho-Corasick hoặc Cuckoo Hashing trực tiếp lên các khối logic cell còn trống của FPGA trong vòng 6 tháng tới, hướng tới mục tiêu nâng tốc độ xử lý phần tải trọng gói tin (payload) lên 10 Gbps mà không làm tăng tải tính toán cho soft-processor.

Thứ two, tối ưu hóa cấu trúc phân cấp bộ nhớ nhúng. Nhóm phát triển hệ thống cần mở rộng không gian lưu trữ bảng phân mảnh gói tin (Fragment Buffer) từ 16 KB lên mức 64 KB và tận dụng toàn bộ 64 MB DDR2 DRAM ngoại vi trước quý 3 năm 2026, nhằm mục tiêu duy trì và tái hợp đồng thời hơn 10.000 phiên kết nối phân mảnh trong các đợt tấn công từ chối dịch vụ DoS quy mô lớn.

Thứ ba, triển khai kiến trúc mở rộng phân tán trên 2 bo mạch NetFPGA độc lập. Đội ngũ kiến trúc sư hệ thống an ninh mạng nên tách rời module điều khiển Snort_NetThread và module tăng tốc phần cứng sang 2 bo mạch NetFPGA riêng biệt kết nối qua giao tiếp Ethernet tốc độ cao trong lộ trình 12 tháng, giúp giảm thiểu xung đột tài nguyên logic nội chip xuống dưới mức 15%.

Thứ tư, xây dựng bộ công cụ tự động hóa biên dịch tập luật Snort. Các chuyên gia an toàn thông tin cần phát triển trình biên dịch tự động chuyển đổi các tệp cấu hình snort.conf chuẩn với hơn 10.000 quy tắc sang mã nhị phân tương thích cấu trúc bảng tra MIPS trước năm 2027, rút ngắn thời gian cập nhật chữ ký tấn công mới cho thiết bị xuống dưới 5 giây.

Đối tượng nên tham khảo luận văn

Nội dung và kết quả của luận văn mang lại giá trị thực tiễn sâu sắc cho 4 nhóm đối tượng trọng tâm:

Thứ nhất, kỹ sư thiết kế vi mạch và lập trình FPGA. Luận văn cung cấp tài liệu chi tiết về phương pháp triển khai vi xử lý mềm đa luồng MIPS trên nền tảng Xilinx Virtex-II Pro, kỹ thuật quản lý 8 luồng xử lý và cách thức điều khiển 4 cổng mạng 1 Gigabit thông qua các thanh ghi hàng đợi vào/ra.

Thứ hai, chuyên gia kiến trúc an ninh mạng và an toàn thông tin. Nhóm đối tượng này có thể khai thác các giải thuật phát hiện tấn công lớp liên kết dữ liệu như ARP Spoofing và tấn công phân mảnh gói tin IP frag2 để xây dựng các thiết bị bảo vệ mạng nhúng độc lập, thay thế cho các máy chủ giám sát cồng kềnh và đắt đỏ.

Thứ ba, giảng viên, nghiên cứu sinh và học viên cao học ngành Khoa học máy tính và Kỹ thuật máy tính. Đề tài là case study mẫu mực về phương pháp đồng thiết kế phần cứng - phần mềm (HW/SW Co-design), phân tích hiệu năng đường ống 5 công đoạn và tối ưu hóa diện tích mạch tích hợp.

Thứ tư, các doanh nghiệp sản xuất thiết bị viễn thông và thiết bị mạng bảo mật. Luận văn cung cấp bản thiết kế tham chiếu hoàn chỉnh để nghiên cứu phát triển các dòng sản phẩm NIDS/IPS thương mại cỡ nhỏ, giúp tiết kiệm hơn 40% chi phí phần cứng so với việc nhập khẩu các thiết bị chuyên dụng đắt tiền từ nước ngoài.

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

Hệ thống vi xử lý đa luồng NetThread mang lại lợi thế gì vượt trội so với vi xử lý thông thường? NetThread sở hữu 2 nhân xử lý với 4 luồng trên mỗi nhân, tạo ra 8 luồng thực thi đồng thời ở tần số 125 MHz. Cơ chế định thời Round-Robin cho phép hệ thống tự động chuyển sang thực thi luồng khác ngay khi luồng hiện tại gặp trễ truy xuất bộ nhớ, giúp nâng cao hiệu suất sử dụng diện tích chip lên đến 77%.

Làm thế nào module arpspoof phát hiện được các cuộc tấn công giả mạo địa chỉ trong mạng LAN? Module arpspoof duy trì bảng ánh xạ IP và MAC kích thước 1 KB. Khi tiếp nhận gói tin ARP, hệ thống kiểm tra 6 tiêu chí bất thường, bao gồm việc so khớp địa chỉ MAC nguồn ở tiêu đề Ethernet với tiêu đề ARP và chặn đứng các gói tin chứa địa chỉ MAC nguồn giả mạo ff:ff:ff:ff:ff:ff.

Tại sao hệ thống lại phân tách thành 3 chế độ hoạt động riêng biệt thay vì chạy song song? Do giới hạn tài nguyên bộ nhớ đệm 16 KB và dung lượng 53.136 ô logic trên chip Virtex-II Pro, việc phân tách thành 3 chế độ Sniffer, Filter và NIDS giúp tối ưu hóa hiệu năng cho từng tác vụ chuyên biệt và đảm bảo tính ổn định tuyệt đối, tránh hiện tượng tràn bộ đệm khi lưu lượng đạt 1 Gbps.

Quy trình nạp và cập nhật phần mềm Snort trên bo mạch NetFPGA diễn ra như thế nào? Quy trình nạp gồm 4 bước: nạp bitstream của NetThread qua lệnh nf_download, biên dịch mã nguồn C bằng công cụ chuyên dụng make embed, nạp tệp nhị phân xuống bo mạch thông qua chương trình loader, và kiểm thử luồng gói tin thực tế bằng tiện ích tcpreplay.

Hệ thống có khả năng mở rộng để đáp ứng tốc độ mạng 10 Gbps trong tương lai hay không? Hệ thống hoàn toàn có thể mở rộng thông qua mô hình phân tán 2 bo mạch NetFPGA hoặc nâng cấp lên thế hệ chip FPGA cao cấp hơn. Khi đó, module so trùng chuỗi phần cứng chuyên dụng sẽ xử lý phần tải trọng gói tin tốc độ cao, trong khi phần mềm NetThread đảm nhiệm tầng giải mã và tiền xử lý logic.

Kết luận

Luận văn đã giải quyết trọn vẹn bài toán xây dựng hệ thống phát hiện xâm nhập mạng NIDS hiệu năng cao với 5 đóng góp học thuật và thực tiễn nổi bật:

  • Hiện thực thành công vi xử lý mềm đa luồng NetThread trên bo mạch NetFPGA với 2 nhân, 8 luồng xử lý ở tần số xung nhịp 125 MHz.
  • Tối ưu hóa việc chuyển giao phần mềm Snort 2.1 sang môi trường nhúng, vận hành linh hoạt 3 chế độ Sniffer, Filter và NIDS trên 4 cổng mạng 1 Gigabit.
  • Xây dựng thành công các module tiền xử lý arpspoof và frag2, phát hiện chính xác 100% các mẫu tấn công giả mạo địa chỉ và gói tin phân mảnh bất thường.
  • Tối ưu hóa tài nguyên phần cứng vượt trội, chỉ chiếm 71% Block RAM và gia tăng hiệu suất sử dụng diện tích chip lên 77%.
  • Đề xuất hai mô hình kiến trúc mở rộng phần cứng - phần mềm, định hình giải pháp nâng cấp lên đường truyền tốc độ cao từ 2,4 Gbps đến 10 Gbps.

Trong giai đoạn tiếp theo từ năm 2026 đến năm 2027, nghiên cứu cần tiếp tục hoàn thiện module so trùng chuỗi Aho-Corasick trên phần cứng và mở rộng bảng phân mảnh bộ nhớ. Các tổ chức học thuật, trung tâm nghiên cứu và doanh nghiệp công nghệ quan tâm đến giải pháp bảo mật mạng nhúng hãy liên hệ hoặc trích dẫn công trình này để cùng hợp tác, phát triển và thử nghiệm các thế hệ thiết bị an ninh mạng thế hệ mới.