Các hệ phịng chống virus máy tính

Một phần của tài liệu TIẾP CẬN MÁY HỌC VÀ HỆ CHUYÊN GIA ĐỂ NHẬN DẠNG, PHÁT HIỆN VIRUS MÁY TÍNH (Trang 31)

2.3.1. Các sản phẩm trong nước

Trong thập niên 90 của thế kỷ 20, khi hệ điều hành MSDOS cịn phổ biến, Việt Nam cĩ khá nhiều phần mềm chống virus: Medicine của ĐH Tổng hợp TP. HCM, ATV của Ngơ Anh Vũ và Phạm Du Liêm (ÐH Kinh tế TP. HCM), D2 của tác giả luận án này, TAV của Dương Hồng Tấn và Trần Thanh Sơn (Unisoft TP. HCM), SC của Thái Nguyễn Hồng Nhã (TP. HCM), BKAV của Nguyễn Tử Quảng và Đặng Văn Tấn (ÐH Bách khoa Hà Nội). Khi MSDOS kết thúc, các phần mềm này đã ngừng phát triển. Hiện nay cả nước chỉ cịn hai phần mềm chống virus trên Windows là BKAV2006 (BKIS, ĐHBK Hà Nội) và D32 của tác giả. Hầu hết các anti-virus của Việt Nam đều hoạt động theo nguyên tắc nhận dạng mẫu.

Nhỏ gọn, chạy nhanh, miễn phí, đáp ứng kịp thời tình hình lây nhiễm trong nước nên các AV nội được người dùng đĩn nhận. Tuy nhiên do số virus cập nhật

chưa nhiều (khoảng 2000 virus), sản phẩm chưa phong phú và chưa cĩ giải pháp nhận dạng virus tựđộng tồn diện nên các AV nội chỉ được sử dụng như các phần mềm tham khảo bên cạnh các AV nước ngồi.

2.3.2. Các sản phẩm nước ngồi

Cĩ nhiều AV nước ngồi được sử dụng ở Việt Nam: Norton Anti-virus, Scan Virus, BitDefender, Sofos, AVG, Trend Micro System, Kaspersky…

Trong nhĩm sản phẩm dành cho người dùng lẻ, các AV ngoại kết hợp nhận dạng mẫu với kỹ thuật heuristic: Bloodhount (Symantec), Heuristic Scan (McAfee, Panda), Hash Scan (BitComet)… Trong nhĩm sản phẩm dành cho cơng ty, các hãng thường áp dụng cơng nghệ của IBM: Symantec triển khai hệ miễn dịch thương mại (IBM Commercial-Grade Immune System) [59]. BitDefender sử dụng cơng nghệin dấu chân (footprint) của IBM để quản lý các giao dịch trên mạng. McAfee cũng liên kết với IBM xây dựng hệ chương trình hốn chuyển (Swap Program) áp dụng cho ISS (Internet Security System) chống xâm nhập hệ thống… Các cơng nghệ này đều dùng kỹ thuật “quay về quá khứ” tựa intention-based approach.

Các anti-virus ngoại được ưa chuộng do cập nhật nhiều virus (trên 10000 mẫu), kỹ thuật chuyên nghiệp. Tuy nhiên người dùng vẫn cịn e ngại vì phần lớn các anti-virus ngoại đều cồng kềnh, chạy chậm, chi phí cao, nhận dạng virus mới chưa thật tốt và khơng hiệu quảđối với virus cĩ nguồn gốc từ Việt Nam.

2.4. Tình hình nghiên cứu virus máy tính

Đã cĩ thời các chuyên gia anti-virus kỳ vọng vào các “kim thuật giải” hồn hảo cĩ thể nhận dạng bất cứ virus nào. Năm 1987, Fred Cohen đưa ra nhận định “khơng thuật tốn nào cĩ thể phát hiện tất cả các virus máy tính” [27]. Tác giả lập luận nếu tồn tại chương trình P chứa thuật giải A cĩ thể nhận dạng tất cả các virus máy tính, thì các hacker sẽ thiết kếđược virus V chứa thuật giải M phát hiện và vơ hiệu hĩa P (khiến A thất bại trước V). Nhận định này đã gĩp phần định hướng cho cơng tác nghiên cứu virus máy tính. Các tìm tịi thuần túy thuật giải được thay dần bằng các giải pháp tăng cường hiệu quả, cải thiện tốc độ nhận dạng, đẩy mạnh ước

- 14 -

lượng và dự báo heuristic. Năm 2000, trong bài viết “Virus máy tính khơng thể phát hiện”, David M. Chess và Steve R. White cho rằng nhận định của Fred Cohen vẫn đúng cho các biến thái (polymorphic) và biến thể (variance) virus. Cũng trong bài viết này, các tác giả cảnh báo “khơng cĩ chương trình máy tính nào tránh khỏi sự

lây nhiễm của virus máy tính” và đề xuất khái niệm nhận dạng biến thể virus qua mơ tảđặc trưng hình thức (formal characterization) [21].

Kể từ năm 2000, tình hình nghiên cứu virus máy tính trên thế giới cĩ nhiều biến chuyển. Trong hội nghị anti-virus quốc tế tổ chức ở Anh (9-2000), John Bloodworth (Network Associate, McAfee Division) cảnh báo: tình hình đã trở nên nghiêm trọng và hành động của chúng ta [38].

2.4.1. Tình hình nghiên cứu, ứng dụng trong nước

Năm 1997, luận văn Cao học về nhận dạng virus tự động đầu tiên của Việt Nam được bảo vệ ở Viện Tin học Pháp ngữ [71]. Mục tiêu của đề tài nhằm xây dựng một hệ suy diễn nhận dạng virus máy tính thơng qua các hành vi cơ sở [11]. Sử dụng thuật giải tìm kiếm hành vi với tri thức bổ sung tại mỗi nút trên cây, đề tài cho kết quả chẩn đốn boot virus khá tốt. Để tăng cường độ tin cậy và an tồn hệ thống, tác giảđề xuất một khơng gian chẩn đốn đặc biệt gọi là máy ảo chẩn đốn.

Năm 1998, Trần Quốc Việt (Khoa CNTT, ĐH Cần Thơ) tiếp tục hướng nghiên cứu máy ảo mở rộng bài tốn cho file virus. Đề tài rút ra kết luận: máy ảo chỉ thích hợp để chẩn đốn boot virus. Khi chẩn đốn file, máy ảo cần bộ xử lý lệnh tương thích với tập lệnh của HĐH nên phức tạp, cồng kềnh và kém hiệu quả [15].

Năm 2005, Hồ Ngọc Thơ (Khoa CNTT, ĐH Cần Thơ) thực hiện đề tài nhận dạng biến thể virus hướng text mining. Tác giả đưa ra giả thuyết virus máy tính di truyền mã lệnh của nĩ cho các thế hệ con cháu, vì vậy cĩ thể nhận dạng các biến thể virus thơng qua tập gien (chuỗi mã lệnh phổ biến) của các thành viên trong họ. Giải pháp của đề tài là phân tích tập virus mẫu hướng text mining để xây dựng cây phả hệ, sau đĩ áp dụng thuật giải nhận dạng tập gien xuất hiện trên cây. Mặc dù phần demo cịn hạn chế (cài đặt phức tạp, chạy chậm, tiêu tốn nhiều tài nguyên…), tuy nhiên tác giảđã phần nào chứng minh được giả thuyết của đề tài [10].

2.4.2. Tình hình nghiên cứu, ứng dụng ở nước ngồi

Một số hệ thống an ninh mạng trên thế giới áp dụng tiếp cận máy học:

Databases That Learn: dự án của Symantec Research Labs ở Santa Monica (California-USA) luyện học thĩi quen truy nhập vào các cơ sở dữ liệu để rút quy luật tấn cơng của hacker, bảo vệ hệ thống khỏi thâm nhập trộm [79].

MLX™ Proofpoint Zero-Hour Anti-virus: sản phẩm của ProofPoint Inc., gồm nhiều gĩi thành phần như Proofpoint Protection Server®, Proofpoint Messaging Security Gateway™, bảo vệ hệ thống trong thời gian thực. Bằng các kỹ thuật máy học, Proofpoint phân tích các email cĩ tập tin đính kèm và phát cảnh báo khi cĩ file nghi ngờ mã độc [86].Cơng cụ này được cài đặt cho hệ F-Secure Messaging Security Gateway [75] để lọc thư rác.

DDI (Distributed Detection and Inference): dự án của Intel triển khai ở đại học Berkeley (2005) suy luận trên hệ thống mạng nhằm phát hiện các cuộc tấn cơng lan tràn [77]. Nghiên cứu này đặt giả thuyết rằng nếu một nút mạng bị tấn cơng thì các nút khác trong hệ thống cũng cĩ thể bị tấn cơng tương tự. Giải pháp của đề tài là cài đặt một thuật tốn học cho mỗi nút mạng để phát hiện các cuộc truy nhập cục bộ. Mỗi nút cĩ liên lạc với các nút kế cận để suy luận và cảnh báo các tình huống hệ thống bị tấn cơng lan tràn [76].

Malicious Software Detection for Resource Constrained Devices: dự án Phát hiện phần mềm độc hại trên thiết bị tài nguyên hạn chế của Viện Tiêu chuẩn và Cơng nghệ Quốc gia NIST (National Institute of Standards and Technology, USA). Do các thiết bị cầm tay cĩ tài nguyên hạn chế, khơng đủ để lưu trữ tồn bộ CSDL virus, ý tưởng cơ bản của dự án là sản sinh tập mã độc chưa biết từ số ít dấu hiệu nhận dạng các loại mã độc đã biết [83].

2.4.3. Các vấn đề mở của cơng nghệ anti-virus

Cũng trong bài viết “Virus máy tính: lý thuyết và thực nghiệm” (1987) đã đề cập ở phần trên, Fred Cohen nêu ra “Các vấn đề chưa được giải quyết” gồm:

- 16 -

1. Phát hiện biểu hiện (appearance) của virus 2. Phát hiện hành vi (behavior) của virus

3. Phát hiện sự tiến triển (evolution) của một virus đã biết (known virus) 4. Phát hiện cơ chế kích hoạt (triggering mechanism) qua biểu hiện của virus 5. Phát hiện cơ chế kích hoạt qua hành vi của virus

6. Phát hiện sự tiến triển của một cơ chế kích hoạt đã biết 7. Phát hiện bộ nhận dạng virus qua biểu hiện của nĩ 8. Phát hiện bộ nhận dạng virus qua hành vi của nĩ

9. Phát hiện sự tiến triển của cơ chế tự kiểm tra (selftest) của virus đã biết (adsbygoogle = window.adsbygoogle || []).push({});

Năm 1998, Steve R. White (chuyên gia anti-virus của IBM) khái quát hĩa tình hình và đưa ra năm vấn đề mở của anti-virus [60], đĩ là:

1. Nghiên cứu, xây dựng các lớp bài tốn heuristic khác nhau. 2. Khống chế tốc độ lây lan và sản sinh của virus máy tính. 3. Nghiên cứu các giải pháp phù hợp cho đa số người dùng. 4. Nghiên cứu phương pháp nhận dạng sâu trình (worm)

5. Cải tiến phương pháp nhận dạng, phát hiện nhanh và kịp thời trước khi virus lan tràn thành dịch trên mạng.

Mặc dù các chuyên gia anti-virus cĩ cách phân loại vấn đề mở khác nhau, nhìn chung cơng nghệ anti-virus ngày nay cần giải quyết ba vấn đề cơ bản:

1. Cải tiến phương pháp, nghiên cứu các kỹ thuật nhận dạng heuristic, tiến tới xây dựng các lớp bài tốn heuristic khác nhau.

2. Cải tiến hiệu quả, phát hiện nhanh chĩng, chủđộng phịng ngừa dịch bệnh trên quy mơ rộng, nghiên cứu các giải pháp phù hợp cho đa số người dùng.

3. Phát hiện và dự báo các mã độc lan truyền trên hệ thống mạng.

2.5. Hướng giải quyết của đề tài

Trong bối cảnh các hệ thống mạng trên thế giới liên tục bị virus tấn cơng, các nhĩm anti-virus nước ngồi đã thực hiện nhiều dự án, cơng trình nghiên cứu theo nhiều tiếp cận khác nhau. Do mỗi tiếp cận đều cĩ ưu nhược điểm riêng, nên cần tiếp tục nghiên cứu bài tốn nhận dạng virus máy tính cho nhiều hệ thống sử dụng khác

nhau. Trong khi trong nước vẫn chưa giải quyết trọn vẹn bài tốn nhận dạng virus máy tính tự động, đề tài “Tiếp cận Máy học và Hệ chuyên gia để nhận dạng, phát hiện virus máy tính” được đặt ra nhằm tìm hướng đi mới cho bài tốn nhận dạng virus máy tính phù hợp với tình hình thực tiễn, điều kiện nghiên cứu và triển khai sản phẩm ở Việt Nam.

2.5.1. Các luận điểm của đề tài

Đề tài “Tiếp cận Máy học và Hệ chuyên gia để nhận dạng, phát hiện virus máy tính” được xây dựng dựa trên các luận điểm: (i) nguồn gốc virus máy tính, (ii) nhận thức về virus máy tính và (iii) phương pháp chữa trị.

Thứ nhất: Virus máy tính là sản phẩm của con người. Cuộc chiến giữa các AV và virus máy tính là trị chơi trí tuệ giữa các chuyên gia anti-virus (lực lượng chính diện) và hacker (lực lượng phản diện). Vì vậy khoa học trí tuệ nhân tạo là lựa chọn phù hợp cho việc xây dựng các hệ phần mềm dạy cho máy học các trường hợp nhiễm bệnh để máy tính cĩ thể tự xử lý và điều trị bệnh.

Thứ hai: Định nghĩa virus máy tính của Bordera cĩ ba ý quan trọng:

- Virus máy tính là chỉ thị, thơng tin, dữ liệu, chương trình cĩ khả năng ghép bản thân nĩ vào tài nguyên của máy tính gây nên hiệu ứng lây nhiễm. Nghiên cứu virus máy tính phải gắn với việc phân loại đặc điểm dữ liệu của vật chủ (đối tượng bị lây nhiễm).

- Tính thực thi của virus máy tính giúp nĩ tự kích hoạt khi chương trình máy tính thi hành. Vì vậy chỉ cĩ các loại dữ liệu chứa mã lệnh thực thi mới bị virus lây nhiễm. Nĩi cách khác, khơng phải dữ liệu nào cũng bị virus ghép . Đây là một phát hiện quan trọng, làm cơ sở cho việc cải thiện hiệu quả của các hệ phịng chống virus máy tính.

- Hệ thống nhiễm virus bị suy giảm cơng năng, nhưng bản thân các AV cũng tiêu hao tài nguyên rất nhiều. Hậu quả là người sử dụng chưa thấy virus tác hại như thế nào, chỉ thấy các AV cồng kềnh khiến hệ thống luơn quá tải. Như vậy ngồi việc tăng cường hiệu quả chẩn đốn, cần gia tăng tốc độ nhận dạng và cải thiện khả năng dự báo virus mới của hệ.

- 18 -

Thứ ba: Cơng việc của chuyên gia anti-virus chữa bệnh cho máy tính giống như bác sĩ chữa bệnh cho các cơ thể sống. Để giúp máy tính tự khám chữa bệnh, anti-virus sẽđược xây dựng trên cơ sở hệ chuyên gia, là các hệ thống tích hợp kinh nghiệm của chuyên gia trong thế giới thực cùng với cơ chế phân tích và suy luận chặt chẽđểđưa ra quyết định tốt nhất.

2.5.2. Giải pháp của đề tài

Mỗi cơ chế chẩn đốn virus máy tính (dựa vào chuỗi mã, hành vi hay dựa vào ý định) đều cĩ ưu nhược điểm riêng. Tiếp cận máy học và hệ chuyên gia sẽ kết hợp các ưu điểm các tiếp cận đã biết và khắc phục yếu kém của từng phương pháp.

Áp dụng chiến lược “chia để trị”, bài tốn nhận dạng virus máy tính sẽ được phân hoạch thành các bài tốn con với mơ hình học phù hợp. Mỗi mơ hình học sẽ áp dụng riêng lẻ hoặc phối hợp các tiếp cận để đạt được kết quả tốt nhất. Các tiếp cận nhận dạng virus máy tính sử dụng cho các bài tốn con là:

Tiếp cận chuỗi mã: Tổ chức CSDL chuỗi mã virus, xây dựng các thuật giải truy vấn để nhận dạng chính xác các mẫu virus đã cập nhật.

Tiếp cận máy học: Tổ chức CSTT nhận dạng (gồm CSDL virus và các luật dẫn xuất), xây dựng các mơ hình học. Tri thức thu được (mẫu virus và luật nhận dạng mới) sẽđược bổ sung vào CSTT chung, sau đĩ chuyển kết quả nhận dạng sang tiếp cận chuỗi mã.

Phối hợp tiếp cận hành vi và tiếp cận máy học: Tổ chức tập hành vi, định nghĩa khái niệm virus dựa trên tập hành vi sử dụng cơ chế học khái niệm. Tăng trưởng cơ sở tri thức sau mỗi lần học. Chuyển kết quả sang tiếp cận chuỗi mã.

Phối hợp tiếp cận ý định và tiếp cận máy học: Tổ chức mơ hình kết hợp giữa CSDL (chứa trạng thái, nội dung đối tượng) và CSTT (lập luận trên tập hành vi thay đổi trạng thái và nội dung đối tượng). Kết quả quá trình lập luận sẽđược chuyển sang tiếp cận chuỗi mã.

2.6. Các hệ cơ sở tri thức 2.6.1. Các Hệ chuyên gia

Hệ chuyên gia (Expert System) là các hệ phần mềm dựa trên tri thức cho phép mơ hình hĩa tri thức chuyên gia để giải quyết các vấn đề phức tạp. Nếu như các chương trình truyền thống được cấu tạo từdữ liệuthuật giải:

Data Structures + Algorithms = Program

Hệ chuyên gia nĩi riêng, chương trình trí tuệ nhân tạo nĩi chung, được cấu tạo từcơ sở tri thức (knowledge based) và động cơ suy diễn (inference engine): (adsbygoogle = window.adsbygoogle || []).push({});

Knowledge Based + Inference Engine = Expert System

Hình 2.3 mơ tả các thành phần cơ bản của một hệ chuyên gia. Trong mơ hình này, CSTT và động cơ suy diễn tạo nên thành phần cốt lõi của hệ.

Chuyên gia - Các hình thức học - Rút luật Tiếp nhận tri thức - Các sự kiện - Các luật Cơ sở tri thức - Tìm kiếm - Suy luận cĩ lý Động cơ suy diễn - Hội thoại - Tham vấn Giải thích Cơ sở dữ liệu Người dùng Thành phần cốt lõi của hệ

Mức giao tiếp chuyên gia

Mức giao tiếp người dùng

- 20 -

2.6.1.1. Cơ sở tri thức

Cơ sở tri thức là tập hợp các tri thức liên quan đến vấn đề mà chương trình quan tâm giải quyết. Cơ sở tri thức chứa các sự kiện, các luật, các khái niệm, các quan hệ… được biểu diễn thích hợp dùng cho động cơ suy diễn sử dụng. Các dạng biểu diễn tri thức phổ biến là mơ hình đối tượng - thuộc tính - giá trị, mơ hình luật dẫn, mơ hình mạng ngữ nghĩa, mơ hình frame và mơ hình logic.

2.6.1.2. Động cơ suy diễn

Động cơ suy diễn là các phương pháp vận dụng tri thức để giải quyết vấn đề. Động cơ suy diễn giống như loại động cơ tổng quát được chuẩn hĩa để cĩ thể vận hành nhiều loại xe. Nhiên liệu dùng cho động cơ suy diễn là tri thức lấy từ CSTT, hoặc từ bên ngồi qua các thiết lập, lựa chọn, xác nhận của người khai thác hệ thống. Tùy theo đặc điểm của CSTT, động cơ suy diễn được thiết kế thích hợp với hai kiểu suy diễn chính là suy diễn tiến hoặc suy diễn lùi.

Suy diễn tiến bắt đầu bằng tập sự kiện đã biết, rút ra các sự kiện mới cĩ giả thuyết khớp với tập luật cho đến khi đạt trạng thái đích, hoặc hết tập luật. Suy diễn

Một phần của tài liệu TIẾP CẬN MÁY HỌC VÀ HỆ CHUYÊN GIA ĐỂ NHẬN DẠNG, PHÁT HIỆN VIRUS MÁY TÍNH (Trang 31)