Tổng quan nghiên cứu

Sự bùng nổ của lưu lượng mạng trong kỷ nguyên số kéo theo nguy cơ mất an toàn thông tin nghiêm trọng, đặc biệt khi các phần mềm độc hại chuyển dịch mục tiêu từ phá hoại đơn thuần sang đánh cắp dữ liệu tài chính nhạy cảm và chiếm đoạt quyền điều khiển hệ thống. Theo thống kê từ cơ sở dữ liệu bảo mật của Symantec, số lượng virus được phát hiện đã vượt mốc khoảng 29 triệu mẫu, trong khi kho chữ ký của hệ thống mã nguồn mở ClamAV lưu trữ hơn 2.843.000 mẫu nhận diện. Thực trạng này tạo ra gánh nặng tính toán khổng lồ cho các máy chủ bảo mật mạng và cổng e-mail gateway của các cơ quan, ngân hàng hay trường đại học – nơi phải xử lý lưu lượng truyền dẫn từ 1 Gb/s đến 10 Gb/s với dung lượng dữ liệu lên tới hàng terabyte mỗi ngày.

Vấn đề nghiên cứu cốt lõi xuất phát từ sự suy giảm hiệu năng nghiêm trọng của các phần mềm diệt virus truyền thống khi vận hành thuần túy trên CPU. Đơn cử, phần mềm mã nguồn mở ClamAV chỉ đạt tốc độ quét khoảng 65,4 Mb/s đến 128,0 Mb/s, trong đó 84% tổng thời gian xử lý bị chiếm dụng bởi các thao tác so trùng mẫu chữ ký tĩnh và động. Mục tiêu cụ thể của luận văn là nghiên cứu, thiết kế và hiện thực hóa khung làm việc HSAV (High-Speed Anti-Virus) kết hợp phần mềm và phần cứng chuyên dụng trên bo mạch NetFPGA 10G, nhằm tăng tốc độ quét của ClamAV lên tối thiểu 4 lần mà không làm gián đoạn tính linh hoạt trong cập nhật dữ liệu.

Phạm vi nghiên cứu được thực hiện tại Trường Đại học Bách Khoa – ĐHQG TP.HCM trong khoảng thời gian từ tháng 01/2014 đến tháng 11/2014, tập trung vào tập dữ liệu kiểm thử tệp tin thực thi chuẩn PE và EXE có tổng dung lượng 3 GB. Ý nghĩa thực tiễn của công trình thể hiện qua việc nâng thông lượng quét trung bình của hệ thống lên mức 541,6 Mb/s, đạt hệ số tăng tốc 4,2 lần so với ClamAV nguyên bản. Kết quả này chứng minh tính khả thi của giải pháp đồng thiết kế phần cứng - phần mềm trong việc giải quyết triệt để điểm thắt cổ chai an ninh mạng doanh nghiệp.

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 xây dựng trên nền tảng Định luật Amdahl nhằm lượng hóa giới hạn tăng tốc của hệ thống khi kết hợp phần cứng và phần mềm. Với tỷ lệ hàm mục tiêu cần cải tiến chiếm 84% thời gian thực thi của ClamAV, công thức Amdahl chỉ ra rằng phần cứng tăng tốc phải đạt hệ số tối thiểu 9,3 lần để toàn hệ thống đạt mức tăng tốc mục tiêu là 4 lần, đồng thời tốc độ truyền dữ liệu qua kênh DMA phải đạt ngưỡng an toàn từ 3,7 Gb/s trở lên.

Về mặt giải thuật so trùng chuỗi, nghiên cứu phân tích ba phương pháp trọng tâm:

  • Giải thuật Aho-Corasick (AC): Xây dựng cây máy trạng thái hữu hạn (Finite State Machine - FSM) để so trùng đa mẫu động chứa các ký tự đại diện (wildcard), giải quyết các mẫu phức tạp nhưng dễ gặp hiện tượng bùng nổ trạng thái bộ nhớ.
  • Giải thuật Boyer-Moore (BM): Thực hiện so trùng chuỗi mẫu tĩnh cố định bằng cách dịch chuyển cửa sổ kiểm tra dựa trên bảng ký tự sai sót, mang lại tốc độ cao cho các chuỗi nhị phân xác định.
  • Cấu trúc lọc kết hợp Bloom - Bloomier Filter: Khung lý thuyết mở rộng giải thuật băm (Hashing) bằng cách tích hợp thêm một Bloom bit độc lập vào bảng chỉ mục Bloomier. Mô hình này cho phép kiểm tra nhanh sự tồn tại của chuỗi trong tập mẫu với thời gian hằng số O(1), đồng thời giảm thiểu tối đa việc truy xuất bộ nhớ ngoài (Off-chip Memory) như QDRII SRAM và RLDRAM để so sánh chuỗi thật.

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

Nghiên cứu sử dụng nguồn dữ liệu chữ ký chuẩn từ gói cơ sở dữ liệu ClamAV, bao gồm tệp main.cvd phiên bản 55 chứa 2.424.225 chữ ký và tệp cập nhật daily.cvd. Cơ sở dữ liệu được phân chia thành ba nhóm chính: mẫu chữ ký tĩnh chiếm 3,7%, mẫu động chiếm 0,4% và mẫu băm MD5 chiếm 95,9%.

Về phương pháp chọn mẫu, nghiên cứu xây dựng tập dữ liệu kiểm nghiệm thực tế gồm hơn 100 tệp tin thực thi dạng EXE và PE với tổng kích thước 3 GB. Mẫu kiểm thử được thu thập theo phương pháp phân tầng đại diện, trải dài từ các tệp kích thước nhỏ 100 KB đến các tệp lớn 100 MB. Lý do lựa chọn tập mẫu này là vì định dạng EXE/PE chiếm tỷ lệ lây nhiễm mã độc cao nhất trên môi trường mạng và phản ánh chính xác cấu trúc phân đoạn khối 131 KB của hàm quét chính magic_scandesc trong ClamAV.

Phương pháp phân tích dựa trên kỹ thuật đo đạc thời gian thực (profiling) từng lời gọi hàm trong mã nguồn ClamAV để bóc tách chính xác tỷ lệ tiêu tốn tài nguyên. Tiếp đó, nhóm nghiên cứu thiết kế phần cứng mô tả bằng Verilog trên chip FPGA Xilinx Virtex-5 TX240T, hiện thực hóa giao tiếp PCIe DMA và kiểm thử thông lượng dữ liệu ở hai mức xung nhịp 125 MHz và 250 MHz trong suốt lộ trình 10 tháng.

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

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

Quá trình thực nghiệm và phân tích mã nguồn ClamAV đem lại 4 phát hiện kỹ thuật mang tính then chốt:

  • Xác định điểm thắt cổ chai phần mềm: Phân tích cấu trúc phân cấp hàm cho thấy hai hàm cli_bm_scanbuff() (quét mẫu tĩnh) và cli_ac_scanbuff() (quét mẫu động) chiếm tới 84,0% tổng thời gian thực thi của chương trình. Phần lớn các tác vụ bóc tách header và phân loại tệp tin chỉ tiêu tốn 16,0% thời gian còn lại.
  • Tối ưu hóa thông lượng truyền dữ liệu PCIe DMA: Kết quả đo đạc giao tiếp giữa User Space và phần cứng chỉ ra rằng khi cấu hình DMA hoạt động ở tần số 125 MHz, thông lượng tối đa chỉ đạt khoảng 2,0 Gb/s. Khi nâng xung nhịp lên 250 MHz kết hợp giao thức truyền nhận RAW socket và bộ đệm TX Buffer, thông lượng DMA đạt mức trên 4,0 Gb/s, vượt qua mốc yêu cầu lý thuyết 3,7 Gb/s của định luật Amdahl.
  • Hiệu năng tăng tốc của khung làm việc HSAV: Trên tập dữ liệu kiểm nghiệm 3 GB các tệp tin thực thi EXE, hệ thống phần mềm ClamAV nguyên bản đạt thông lượng trung bình 65,4 Mb/s. Khi tích hợp bo mạch phần cứng NetFPGA 10G qua module HSVS, thông lượng toàn hệ thống đạt mức trung bình 541,6 Mb/s, tương đương mức tăng tốc 4,2 lần (tăng 320% về hiệu suất xử lý).
  • Giảm thiểu truy xuất bộ nhớ ngoài: Cấu trúc Bloom - Bloomier Filter giúp hệ thống loại bỏ hơn 70% các truy xuất không cần thiết tới bộ nhớ ngoài QDRII SRAM và RLDRAM khi quét các chuỗi an toàn, duy trì thời gian xử lý hằng số cho mỗi khối dữ liệu 131 KB.

Thảo luận kết quả

Hiệu năng vượt bậc của framework HSAV bắt nguồn từ việc phân định chức năng tối ưu giữa phần mềm và phần cứng. Phần mềm đảm nhận khâu tiếp nhận, tiền xử lý, bóc tách cấu trúc tệp tin PE/ELF/HTML, trong khi phần cứng HSVS đảm nhiệm hoàn toàn khâu so trùng chữ ký tĩnh thay vì chỉ đóng vai trò bộ lọc sơ cấp. Cơ chế này loại bỏ hoàn toàn chi phí chuyển ngữ cảnh (context switch overhead) vốn xuất hiện khi phần cứng phải gửi dữ liệu nghi ngờ ngược về CPU để kiểm tra lại.

Khi đối chiếu với các công trình quốc tế, hệ thống HSAV thể hiện nhiều ưu điểm vượt trội. Nghiên cứu BFAST của Lin và cộng sự chỉ đạt thông lượng 151 Mb/s do chi phí sao chép dữ liệu từ User Space sang DMA buffer quá lớn và CPU phải xử lý lại các cảnh báo nghi ngờ. Mặt khác, dù giải pháp thuần phần cứng của Nakahara đạt tốc độ 1,6 Gb/s nhưng lại gặp hạn chế lớn về chi phí chế tạo và sự phức tạp khi cập nhật chữ ký. HSAV cân bằng hoàn hảo giữa tốc độ (541,6 Mb/s) và tính linh hoạt khi cho phép cập nhật cơ sở dữ liệu mẫu qua giao diện web trực quan.

Toàn bộ dữ liệu thực nghiệm có thể được hệ thống hóa qua biểu đồ đường biểu diễn mối quan hệ giữa kích thước tệp (1 MB đến 100 MB) và thời gian quét, đồ thị cột so sánh thông lượng truyền thông PCIe DMA ở hai mức tần số 125 MHz và 250 MHz, cùng bảng tổng hợp tiêu hao tài nguyên logic slice trên vi mạch Virtex-5 XC5VTX240T.

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

Nhằm hoàn thiện và ứng dụng rộng rãi giải pháp tăng tốc quét mã độc trong thực tiễn, tác giả đưa ra 4 khuyến nghị cụ thể:

  • Triển khai lắp đặt bo mạch tăng tốc NetFPGA 10G: Các doanh nghiệp và trung tâm dữ liệu cần tích hợp phần cứng tăng tốc HSAV vào hệ thống máy chủ e-mail gateway với mục tiêu nâng thông lượng xử lý từ 100 Mb/s lên tối thiểu 1 Gb/s. Dự án nên thực hiện trong thời gian 6 tháng dưới sự chủ trì của bộ phận kỹ thuật hạ tầng mạng.
  • Áp dụng kỹ thuật Zero-Copy bộ đệm dữ liệu: Đội ngũ phát triển phần mềm hệ thống cần thay thế cơ chế truyền nhận socket truyền thống bằng các thư viện chia sẻ bộ nhớ trực tiếp như DPDK hoặc Netmap, nhằm giảm 15% đến 20% độ trễ truyền dữ liệu từ User Space sang Kernel Space trong vòng 3 tháng tới.
  • Mở rộng kiến trúc phần cứng cho tập mẫu chữ ký động: Nhóm nghiên cứu vi mạch cần tiếp tục chuyển đổi toàn bộ máy trạng thái Aho-Corasick sang phần cứng để xử lý các biểu thức chính quy (regular expressions) phức tạp, hướng tới nâng thông lượng toàn hệ thống lên 10 Gb/s trong lộ trình 12 tháng.
  • Chuẩn hóa quy trình tự động cập nhật cơ sở dữ liệu chữ ký: Quản trị viên an ninh mạng cần thiết lập tác vụ tự động đồng bộ tệp main.cvd và daily.cvd định kỳ 24 giờ một lần từ máy chủ ClamAV về bộ nhớ RLDRAM thông qua giao diện quản trị web, duy trì thời gian gián đoạn nạp dữ liệu dưới 5 giây.

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

  • Kỹ sư thiết kế phần cứng và hệ thống nhúng: Nắm bắt phương pháp thiết kế vi mạch trên nền tảng FPGA Virtex-5, kỹ thuật tối ưu hóa bộ điều khiển bộ nhớ QDRII SRAM/RLDRAM và cách xây dựng kênh truyền PCIe DMA tốc độ cao trên 4 Gb/s.
  • Chuyên gia an toàn thông tin và quản trị mạng máy chủ: Ứng dụng giải pháp gateway bảo mật tốc độ cao để ngăn chặn virus và mã độc xâm nhập qua hệ thống e-mail doanh nghiệp, đáp ứng lưu lượng xử lý hàng terabyte mỗi ngày.
  • Lập trình viên hệ thống và phát triển phần mềm mã nguồn mở: Học hỏi kỹ thuật can thiệp và tái cấu trúc mã nguồn ClamAV, tối ưu hóa giao tiếp RAW socket và phương pháp đồng thiết kế phần cứng - phần mềm (Hardware/Software Co-design).
  • Học viên cao học và nhà nghiên cứu ngành Khoa học máy tính: Sử dụng công trình làm tài liệu tham khảo chuyên sâu về các thuật toán so trùng mẫu chuỗi lớn, cấu trúc dữ liệu Bloom - Bloomier Filter và phương pháp áp dụng Định luật Amdahl trong tính toán hiệu năng cao.

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

  • Tại sao phần mềm ClamAV lại gặp tình trạng nghẽn cổ chai hiệu năng khi quét dữ liệu? Nguyên nhân chính là do số lượng mẫu chữ ký đã vượt quá 2,84 triệu mẫu, khiến các thuật toán so trùng chuỗi chạy trên CPU tiêu tốn quá nhiều chu kỳ xử lý. Cụ thể, hai hàm cli_bm_scanbuff() và cli_ac_scanbuff() chiếm tới 84% tổng thời gian thực thi, làm tốc độ quét giảm xuống chỉ còn khoảng 65,4 Mb/s đến 128 Mb/s.

  • Cấu trúc Bloom - Bloomier Filter trong module HSVS mang lại ưu thế gì so với Bloom Filter truyền thống? Bloom Filter truyền thống yêu cầu phải so sánh chuỗi nghi ngờ với toàn bộ tập mẫu trên bộ nhớ ngoài khi có cảnh báo trùng khớp. Hệ thống HSVS tích hợp thêm Bloom bit độc lập, cho phép định danh chính xác vị trí mẫu và giảm hơn 70% số lần truy xuất bộ nhớ ngoài QDRII SRAM/RLDRAM, đạt tốc độ tìm kiếm hằng số O(1).

  • Định luật Amdahl có vai trò như thế nào trong việc định hình yêu cầu phần cứng của đề tài? Định luật Amdahl được dùng để tính toán tốc độ tối thiểu của kênh truyền dữ liệu. Với tỷ lệ cải tiến chiếm 84% thời gian phần mềm và mục tiêu tăng tốc toàn hệ thống 4 lần, công thức yêu cầu phần cứng phải tăng tốc ít nhất 9,3 lần và tốc độ truyền dữ liệu PCIe DMA phải đạt từ 3,7 Gb/s trở lên.

  • Sự khác biệt căn bản giữa hệ thống HSAV và giải pháp BFAST là gì? Giải pháp BFAST chỉ sử dụng phần cứng làm bộ lọc sơ cấp và phải chuyển các chuỗi nghi ngờ về CPU để kiểm tra lại, gây ra độ trễ chuyển ngữ cảnh lớn và chỉ đạt thông lượng 151 Mb/s. Ngược lại, HSAV thực hiện toàn bộ quy trình so trùng mẫu tĩnh trên phần cứng, giúp thông lượng đạt tới 541,6 Mb/s.

  • Hệ thống HSAV thực hiện việc cập nhật cơ sở dữ liệu virus mới như thế nào? Người dùng không cần cấu hình lại phần cứng FPGA khi có mẫu virus mới. Thông qua giao diện quản trị nền web và tập lệnh kết nối phần mềm, dữ liệu chữ ký từ các tệp main.cvd hoặc daily.cvd sẽ được nạp trực tiếp vào bảng chỉ mục trên bộ nhớ RLDRAM và SRAM trong khoảng thời gian vài giây.

Kết luận

  • Luận văn đã phân tích toàn diện mã nguồn ClamAV và định vị chính xác điểm nghẽn hiệu năng nằm ở hai hàm so trùng mẫu chiếm 84% tổng thời gian quét.
  • Đề xuất và hiện thực thành công cấu trúc lọc kết hợp Bloom - Bloomier Filter trên phần cứng HSVS, giúp giảm thiểu truy xuất bộ nhớ ngoài và tối ưu hóa diện tích vi mạch.
  • Thiết lập kênh truyền dữ liệu PCIe DMA ở tần số 250 MHz trên bo mạch NetFPGA 10G, đạt thông lượng truyền nhận trên 4 Gb/s giữa User Space và phần cứng.
  • Đạt thông lượng quét thực nghiệm 541,6 Mb/s trên 3 GB dữ liệu tệp tin thực thi, tăng tốc 4,2 lần so với ClamAV phần mềm thuần túy và hoàn thành trọn vẹn mục tiêu đề ra.
  • Xây dựng hoàn chỉnh giao diện quản lý trên nền web, tạo điều kiện thuận lợi cho việc cập nhật chữ ký và giám sát hệ thống trong môi trường mạng thực tế.

Trong lộ trình 6 đến 12 tháng tới, hướng phát triển trọng tâm sẽ là hiện thực hóa toàn bộ giải thuật Aho-Corasick trên vi mạch để xử lý triệt để mẫu động và ứng dụng công nghệ Zero-Copy nhằm đạt thông lượng 10 Gb/s. Đây là tài liệu nghiên cứu giá trị cao cho các tổ chức đang tìm kiếm giải pháp an ninh mạng phần cứng hiệu năng cao; hãy liên hệ ngay với nhóm tác giả hoặc bộ phận kỹ thuật để tiếp nhận và chuyển giao công nghệ.