Tổng quan nghiên cứu

Trong bối cảnh sự phát triển bùng nổ của mạng máy tính và Internet, số lượng người dùng Internet toàn cầu đã vượt mốc 2 tỷ vào năm 2010, kéo theo sự gia tăng nhanh chóng các mối đe dọa bảo mật, đặc biệt là virus máy tính. Virus hiện đại không chỉ gây hại đơn thuần mà còn nhằm mục đích đánh cắp thông tin cá nhân và chiếm quyền điều khiển hệ thống. Do đó, các chương trình chống virus đóng vai trò thiết yếu trong bảo vệ an ninh thông tin. Một trong những bước quan trọng nhất trong các chương trình này là quá trình so trùng mẫu (pattern matching) để phát hiện các chuỗi byte đặc trưng của virus trong dữ liệu đầu vào.

Tuy nhiên, quá trình so trùng mẫu chiếm tới khoảng 73.4% thời gian quét virus, trong đó so trùng mẫu động chiếm 25.9% dù chỉ chiếm 3.3% số lượng mẫu. Sự gia tăng về số lượng và độ phức tạp của các mẫu virus làm giảm hiệu suất của các phần mềm chống virus truyền thống. Do đó, việc nghiên cứu và phát triển các giải pháp tăng tốc so trùng mẫu, đặc biệt là trên nền tảng phần cứng FPGA, là rất cần thiết nhằm nâng cao tốc độ quét và hiệu quả bảo mật.

Luận văn tập trung nghiên cứu hiện thực bộ so trùng chuỗi động trong phần mềm ClamAV dựa trên nền tảng phần cứng FPGA, với mục tiêu thiết kế kiến trúc hiệu quả, hỗ trợ các mẫu virus có chiều dài lên đến 256 byte và xử lý cả mẫu động lẫn mẫu tĩnh. Phạm vi nghiên cứu bao gồm phân tích tập mẫu virus ClamAV phiên bản 0.4 (2013), thiết kế phần cứng trên nền tảng NetFPGA 10G, và phát triển công cụ phân tích, xử lý mẫu. Kết quả nghiên cứu có ý nghĩa quan trọng trong việc nâng cao hiệu suất quét virus, giảm tải cho hệ thống phần mềm, đồng thời mở ra hướng phát triển ứng dụng phần cứng trong lĩnh vực an ninh mạng.

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

Khung lý thuyết áp dụng

Luận văn dựa trên các lý thuyết và mô hình nghiên cứu sau:

  • So trùng mẫu (Pattern Matching): Là bài toán kiểm tra sự tồn tại của một hoặc nhiều chuỗi mẫu trong chuỗi dữ liệu đầu vào. Trong lĩnh vực antivirus, mỗi ký tự tương ứng với một byte dữ liệu. So trùng mẫu được chia thành so trùng mẫu đơn và đa mẫu, với các thuật toán tiêu biểu như Aho-Corasick (AC), Boyer-Moore, Knuth-Morris-Pratt.

  • Phương pháp máy trạng thái hữu hạn (FSM): Sử dụng mô hình máy trạng thái hữu hạn để biểu diễn tập mẫu dưới dạng cây AC, thuận lợi cho việc hiện thực trên phần cứng FPGA. Tuy nhiên, phương pháp này gặp khó khăn do bùng nổ trạng thái và chi phí bộ nhớ cao.

  • Bộ lọc Bloom và Bloomier: Bộ lọc Bloom là cấu trúc dữ liệu băm cho phép kiểm tra nhanh sự tồn tại của chuỗi trong tập mẫu với xác suất “false positive” thấp. Bộ lọc Bloomier mở rộng bộ lọc Bloom bằng cách lưu trữ thêm thông tin để xác định chính xác mẫu trùng, giảm thiểu truy cập bộ nhớ ngoài.

  • Kiến trúc bộ so trùng mẫu BBF (Bloom-Bloomier Filter): Kết hợp bộ lọc Bloom và Bloomier để tối ưu hiệu suất, giảm số lần truy cập bộ nhớ ngoài, hỗ trợ so trùng đa mẫu với độ dài chuỗi từ 8 đến 256 byte.

  • Nền tảng phần cứng NetFPGA 10G: Sử dụng FPGA Xilinx Virtex-5 với khả năng lập trình lại, hỗ trợ tốc độ truyền dữ liệu lên đến 10 Gbps, bộ nhớ SRAM và SDRAM dung lượng lớn, phù hợp cho việc hiện thực các hệ thống so trùng mẫu tốc độ cao.

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

  • Nguồn dữ liệu: Tập cơ sở dữ liệu chữ ký virus chính thức của ClamAV phiên bản 0.4 (2013), gồm 2,424,225 mẫu với 9,670 mẫu động, chiếm 27.94% thời gian quét.

  • Phân tích tập mẫu: Phân loại mẫu thành MD5 checksum, mẫu tĩnh và mẫu động; phân tích chi tiết các wildcard trong mẫu động; thống kê số lượng, chiều dài, và đặc điểm các sub-pattern.

  • Thiết kế kiến trúc phần cứng: Xây dựng kiến trúc bộ so trùng mẫu động trên FPGA dựa trên phương pháp kết hợp bộ lọc Bloom và Bloomier, hỗ trợ wildcard, chiều dài mẫu đến 256 byte, và số lượng mẫu động lên đến 8,000 (chiếm 84.75% tập mẫu động).

  • Phát triển công cụ phần mềm: Tự động phân tích, xử lý tập mẫu ClamAV để tạo file cấu hình cho phần cứng, hỗ trợ cập nhật nhanh chóng.

  • Phương pháp phân tích: Sử dụng mô phỏng phần mềm với công cụ Xilinx và kiểm thử thực tế trên nền tảng NetFPGA 10G.

  • Timeline nghiên cứu: Nghiên cứu và phát triển từ tháng 01/2014 đến tháng 11/2014, bao gồm phân tích mẫu, thiết kế phần cứng, phát triển phần mềm hỗ trợ, và đánh giá thử nghiệm.

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

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

  1. Phân tích tập mẫu ClamAV: Trong tổng số 2,424,225 mẫu, mẫu động chiếm 0.4% về số lượng nhưng chiếm tới 27.94% thời gian quét, cho thấy tiềm năng lớn trong việc tăng tốc so trùng mẫu động. Số lượng wildcard phổ biến nhất là “??” với 19,146 lần xuất hiện, tiếp theo là “*” với 4,026 mẫu chứa.

  2. Kiến trúc phần cứng: Thiết kế bộ so trùng mẫu động trên FPGA sử dụng kết hợp bộ lọc Bloom và Bloomier, hỗ trợ wildcard và chiều dài mẫu lên đến 256 byte. Hệ thống có thể xử lý đồng thời đến 8,000 mẫu động, tương đương 84.75% tập mẫu động ClamAV.

  3. Hiệu suất và độ chính xác: Tỷ lệ “false positive” giảm đáng kể khi tăng số lượng hàm băm từ 2 lên 14, từ 83% xuống còn 0.02%, giúp giảm tải cho bộ nhớ ngoài và tăng tốc độ xử lý. Kiến trúc BBFex cho phép so trùng đa mẫu với độ chính xác cao và tốc độ xử lý nhanh.

  4. Thử nghiệm thực tế: Hệ thống được mô phỏng thành công trên công cụ Xilinx và triển khai trên NetFPGA 10G, đạt hiệu suất xử lý dữ liệu Gigabit với độ trễ thấp, chứng minh tính khả thi và hiệu quả của giải pháp.

Thảo luận kết quả

Nguyên nhân chính của hiệu quả đạt được là do việc kết hợp bộ lọc Bloom và Bloomier giúp giảm số lần truy cập bộ nhớ ngoài, vốn là nút thắt cổ chai trong các hệ thống so trùng mẫu truyền thống. Việc hỗ trợ wildcard và chiều dài mẫu lớn đáp ứng được đặc thù phức tạp của các mẫu virus động trong ClamAV. So với các nghiên cứu trước đây sử dụng máy trạng thái hữu hạn hoặc hash checksum, giải pháp FPGA với BBFex cho phép xử lý số lượng mẫu lớn hơn với tốc độ cao hơn và khả năng cập nhật linh hoạt.

Dữ liệu có thể được trình bày qua biểu đồ thể hiện tỷ lệ “false positive” giảm theo số lượng hàm băm, biểu đồ phân bố wildcard trong tập mẫu, và bảng so sánh hiệu suất giữa các phương pháp. Kết quả này có ý nghĩa quan trọng trong việc phát triển các hệ thống chống virus phần cứng, góp phần nâng cao an ninh mạng trong môi trường ngày càng phức tạp.

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

  1. Triển khai rộng rãi hệ thống FPGA cho so trùng mẫu động: Khuyến nghị các tổ chức bảo mật và nhà phát triển phần mềm antivirus tích hợp kiến trúc BBFex trên nền tảng FPGA để tăng tốc độ quét virus, giảm tải cho CPU, với mục tiêu giảm thời gian quét mẫu động ít nhất 30% trong vòng 12 tháng.

  2. Phát triển công cụ tự động cập nhật mẫu: Xây dựng phần mềm phân tích và tổng hợp mẫu tự động, hỗ trợ cập nhật nhanh chóng các mẫu virus mới, đảm bảo hệ thống phần cứng luôn đồng bộ với cơ sở dữ liệu mới nhất, thực hiện liên tục hàng tháng.

  3. Mở rộng hỗ trợ mẫu tĩnh và biểu thức chính quy phức tạp: Nghiên cứu và phát triển thêm các module phần cứng hỗ trợ so trùng mẫu tĩnh và các biểu thức chính quy phức tạp hơn, nhằm nâng cao khả năng phát hiện virus đa dạng, dự kiến hoàn thành trong 18 tháng tới.

  4. Tối ưu hóa tài nguyên FPGA và giảm tiêu thụ năng lượng: Tối ưu thiết kế phần cứng để giảm thiểu tài nguyên sử dụng và tiêu thụ điện năng, phù hợp cho các thiết bị di động và hệ thống nhúng, với mục tiêu giảm 20% năng lượng tiêu thụ trong 2 năm.

  5. Đào tạo và chuyển giao công nghệ: Tổ chức các khóa đào tạo chuyên sâu về thiết kế FPGA cho các kỹ sư an ninh mạng và nhà phát triển phần mềm, nhằm thúc đẩy ứng dụng rộng rãi công nghệ này trong ngành.

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

  1. Nhà nghiên cứu và phát triển trong lĩnh vực an ninh mạng: Luận văn cung cấp kiến thức chuyên sâu về so trùng mẫu virus trên phần cứng, giúp nghiên cứu phát triển các giải pháp bảo mật mới, đặc biệt trong việc tăng tốc xử lý và giảm tải hệ thống.

  2. Kỹ sư thiết kế phần cứng FPGA: Cung cấp mô hình kiến trúc và phương pháp thiết kế hệ thống so trùng mẫu động, hỗ trợ phát triển các ứng dụng FPGA trong lĩnh vực an ninh mạng và xử lý dữ liệu tốc độ cao.

  3. Nhà phát triển phần mềm antivirus: Tham khảo quy trình phân tích, xử lý tập mẫu virus ClamAV và cách tích hợp phần cứng để nâng cao hiệu suất quét virus, từ đó cải tiến sản phẩm phần mềm chống virus.

  4. Sinh viên và học viên cao học ngành Khoa học máy tính, Công nghệ thông tin: Tài liệu tham khảo quý giá về ứng dụng thực tiễn của các thuật toán so trùng mẫu, kỹ thuật FPGA, và phát triển hệ thống bảo mật mạng.

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

  1. Tại sao cần sử dụng FPGA để tăng tốc so trùng mẫu virus?
    FPGA cho phép xử lý song song và lập trình lại linh hoạt, giúp tăng tốc độ so trùng mẫu so với phần mềm truyền thống, đồng thời giảm tải cho CPU và cải thiện hiệu suất hệ thống.

  2. Bộ lọc Bloom và Bloomier khác nhau như thế nào?
    Bộ lọc Bloom chỉ trả về kết quả có thể có hoặc không có mẫu, với xác suất “false positive” nhất định. Bộ lọc Bloomier mở rộng bằng cách lưu trữ thêm thông tin để xác định chính xác mẫu trùng, giảm số lần truy cập bộ nhớ ngoài.

  3. Wildcard trong mẫu virus là gì và tại sao cần hỗ trợ?
    Wildcard là ký tự đại diện cho một hoặc nhiều byte bất kỳ trong mẫu virus, giúp mô tả các mẫu đa hình phức tạp. Hỗ trợ wildcard giúp phát hiện virus đa dạng và biến thể hiệu quả hơn.

  4. Làm thế nào để cập nhật mẫu virus trên hệ thống phần cứng?
    Luận văn phát triển công cụ phần mềm tự động phân tích và tổng hợp mẫu, tạo file cấu hình cho phần cứng FPGA, giúp cập nhật nhanh chóng và dễ dàng mà không cần lập trình lại toàn bộ phần cứng.

  5. Hiệu suất của hệ thống so trùng mẫu động trên FPGA đạt được như thế nào?
    Hệ thống thử nghiệm trên NetFPGA 10G có thể xử lý đến 8,000 mẫu động, chiếm 84.75% tập mẫu động ClamAV, với tỷ lệ “false positive” giảm xuống còn 0.02%, đảm bảo tốc độ xử lý dữ liệu Gigabit và độ trễ thấp.

Kết luận

  • Luận văn đã chứng minh tính khả thi và hiệu quả của việc tăng tốc so trùng mẫu virus động trên nền tảng phần cứng FPGA, đặc biệt với tập mẫu ClamAV.
  • Kiến trúc kết hợp bộ lọc Bloom và Bloomier giúp giảm đáng kể tỷ lệ “false positive” và số lần truy cập bộ nhớ ngoài, nâng cao hiệu suất hệ thống.
  • Công cụ phần mềm phân tích và tổng hợp mẫu tự động hỗ trợ cập nhật nhanh chóng, linh hoạt cho phần cứng.
  • Hệ thống thử nghiệm trên NetFPGA 10G đạt hiệu suất xử lý cao, đáp ứng yêu cầu quét virus tốc độ Gigabit.
  • Đề xuất mở rộng nghiên cứu hỗ trợ mẫu tĩnh, biểu thức chính quy phức tạp và tối ưu tài nguyên FPGA để ứng dụng rộng rãi hơn trong tương lai.

Hành động tiếp theo: Khuyến khích các tổ chức và nhà phát triển tích hợp giải pháp FPGA vào hệ thống chống virus, đồng thời tiếp tục nghiên cứu mở rộng và tối ưu hóa kiến trúc để đáp ứng nhu cầu ngày càng cao của an ninh mạng hiện đại.