Để phòng chống virut máy tính các hệ thống thông tin sử dụng các phần mềm chống vi rút
Mở đầu 1.1. Giới thiệu đề tài 1.1.1. Lý do chọn đề tài Ngày nay công nghệ thông tin trở thành một lĩnh vực mũi nhọn trong công cuộc phát triển kinh tế xã hội. Cùng với công nghệ sinh học và năng lượng mới, công nghệ thông tin (CNTT) vừa là công cụ, vừa là động lực thúc đẩy quá trình công nghiệp hóa, hiện đại hóa đất nước. Trong giai đoạn hội nhập quốc tế, CNTT giữ vai trò đặc biệt quan trọng trong vi ệc xử lý tính toán dữ liệu, kết nối thông tin liên lạc của các đơn vị tổ chức trong và ngoài nước. Bảo vệ an toàn dữ liệu cho các hệ thống tính toán, giữ vững an ninh mạng, đảm bảo liên lạc thông suốt, duy trì chất lượng phục vụ luôn là vấn đề quan tâm hàng đầu của các nhà quản trị hệ thống. Sự phát triển của Internet tạo điều kiện cho các loại hình xâm nhập luận lý trái phép vào các h ệ thống CNTT cả chiều rộng (lây lan trên quy mô toàn thế giới) và chiều sâu (can thiệp vào hạt nhân hệ thống đích). Mỗi ngày các hệ thống mạng phải đối phó với hàng loạt đợt tấn công bằng mã độc (malicious, harmful code ) của tin tặc, khiến nhiều hệ thống bị đình trệ, tắc nghẽn và tê liệt; gây thiệt hại không nhỏ. Dự án nghiên cứu về sự phát triển toàn cầu của Viện Hàn lâm Công nghệ Quốc gia Mỹ (National Academy of Engineering, USA - 2008) nhận định vấn đề an ninh thông tin và virus máy tính là một trong 14 thách thức công nghệ lớn nhất của thế kỷ 21 mà nếu giải quyết được, cuộc sống con ng ười sẽ được cải thiện đáng kể [92]. Virus máy tính (từ đây gọi tắt là virus, phân biệt với từ “virút” trong y học) thực sự trở thành mối đe dọa thường xuyên và cấp bách của các hệ thống CNTT hiện nay. Chương 1 - 2 - Trong bối cảnh đó, đề 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 tiến hành nhằm góp phần giải quyết vấn đề bảo vệ an toàn dữ liệu cho các hệ thống CNTT ở Việt Nam. 1.1.2. Mục tiêu của đề tài Để phòng chống virus máy tính, các hệ thống CNTT sử dụng các phần mềm chống virus (anti-virus, gọi tắt là AV). Qua khảo sát, phần lớn các AV chỉ phát huy tác d ụng trên các mẫu virus xác định, khả năng dự đoán virus mới còn hạn chế nên thường bị động khi có dịch virus bùng phát. Trên cơ sở xác định loại hình nghiên cứu của đề tài là nghiên cứu ứng dụng, mục tiêu của đề tài là tìm giải pháp cho bài toán nhận dạng virus máy tính và lựa chọn mô hình thích hợp để xây dựng Hệ Phòng chống virus máy tính hướng tiếp cận Máy học và Hệ chuyên gia MAVES - Machine Learning Approach to Anti- Virus Expert System (gọi tắt là MAV) v ới các chỉ tiêu cơ bản: - Nhận dạng nhanh, phát hiện chính xác các trường hợp lây nhiễm, tiềm ẩn của các virus đã biết trên hệ thống đích. - Có khả năng dự báo biến thể virus; ngăn chận kịp thời, chủ động phòng tránh các tình huống lây nhiễm khi hệ thống chưa cập nhật mẫu virus mới. 1.1.3. Các giai đoạn thực hiện đề tài Quá trình nghiên cứu đề tài được tiến hành qua các bước như sau: • Giai đoạn 1 - Thu thập dữ liệu: Khảo sát tình hình thực tiễn, thu thập dữ liệu (mẫu virus, các phần mềm diệt virus trong nước và nước ngoài, các bài viết, tài liệu liên quan…). Nghiên cứu tài liệu, tìm hiểu các phương pháp, tiếp cận đã biết, tham khảo các anti-virus đang sử dụng phổ biến. Phác họa bức tranh tổng thể, tìm hiểu các công nghệ nhận dạng virus máy tính qua các thời kỳ . • Giai đoạn 2 - Phân loại dữ liệu: Sắp xếp, phân loại, tìm hiểu đặc điểm dữ liệu, cơ chế lây nhiễm của từng loại virus trên vật chủ tương ứng. Sàng lọc, loại bỏ dữ liệu dư thừa (các mẫu virus “chết” hoặc không phù hợp với môi - 3 - trường, điều kiện nghiên cứu…). Bổ sung, làm giàu dữ liệu từ nhiều nguồn khác nhau (dữ liệu mẫu của các lớp vật chủ, tập chỉ thị thi hành…). • Giai đoạn 3 - Xử lý dữ liệu: Dựa vào các lớp dữ liệu đã phân loại, lựa chọn, sắp xếp dữ liệu, xây dựng các mô hình, công cụ xử lý thích hợp trên cơ sở lý thuyết máy học. Phân tích, nh ận xét, đánh giá hiệu quả của từng mô hình. • Giai đoạn 4 - Tổng kết: Khái quát hóa và rút ra kết luận chung cho đề tài. Viết báo cáo, công bố kết quả nghiên cứu đề tài. 1.2. Đối tượng, phạm vi nghiên cứu của đề tài 1.2.1. Virus máy tính và các hệ thống đích Có ba vấn đề cân nhắc khi nghiên cứu virus máy tính là môi trường (hệ điều hành, kiến trúc máy), phương tiện (vật chứa tin, cơ chế lan tỏa) và cơ hội (cộng đồng sử dụng, tần suất kích hoạt, kỹ thuật lây lan…). Mặc dù có nhiều loại virus máy tính lây nhiễm trên nhiều hệ thống và môi trường khác nhau, nhưng do tính phổ biến của Windows nên virus máy tính trên hệ điều hành này cũng nhiều hơn. Để đáp ứng nhu cầu thực tế bức thiết, đề tài tập trung nghiên cứu các loại virus máy tính hoạt động trên các hệ điều hành (HĐH) Windows 9x/Me và Windows NT/2000/XP dành cho máy tính IBM-PC (máy vi tính cá nhân để bàn hoặ c xách tay, sử dụng kiến trúc vi xử lý x86/Pentium hoặc tương thích). Mặc dù vậy, đề tài cũng được định hướng nghiên cứu để có thể mở rộng kết quả nghiên cứu cho các hệ anti-virus sử dụng các HĐH khác Windows. 1.2.2. Các hệ học và khám phá tri thức Con người đã tốn rất nhiều công sức để giải quyết bài toán nhận dạng virus máy tính. Tuy nhiên, các anti-virus vẫn chưa làm chủ được tình hình. Virus máy tính vẫn liên tục quấ y nhiễu, thâm nhập mạng, đánh cắp thông tin, làm sai lệch dữ liệu nhiều hệ thống CNTT trên thế giới. Virus máy tính là sản phẩm của con người. Cuộc chiến giữa AV và virus máy tính là cuộc đấu trí giữa chuyên gia hệ thống và tin tặc, là trò chơi trí tuệ của con người. Xuất phát từ nhận định này, đề tài chọn cách phối hợp tiếp cận dựa trên - 4 - tri thức (knowledge based) và tiếp cận học (machine learning) để tìm lời giải cho bài toán nhận dạng virus máy tính. Để kiểm tra và đánh giá kết quả, một phần mềm thực nghiệm sẽ được thiết kế trên mô hình các hệ khám phá tri thức nhằm phát hiện các quy luật hình thành virus mới từ cơ sở dữ liệu (CSDL) virus đã biết. 1.2.3. Các hệ chuyên gia Các hệ chuyên gia là một loại hệ cơ sở tri thức (CSTT) được thiết kế để phần mềm máy tính hoạt động như một chuyên gia (human expert) thực thụ trong một lĩnh vực cụ thể. Dựa trên tri thức, hệ chuyên gia cho phép mô hình hóa tri thức của chuyên gia (kiến thức, kinh nghiệm, lời khuyên…) để giải quyết các vấn đề phức tạp trong từng lĩnh vực. Trong y học, bác sĩ cần khám bệnh để biết nguyên nhân (người bệnh nhiễm loại virút gây bệ nh nào, đặc điểm ra sao), chẩn đoán bệnh (dựa vào triệu chứng, xác định bệnh), xét các điều kiện ràng buộc (sức khoẻ bệnh nhân, trang thiết bị y tế, chi phí cho phép…) và lựa chọn phương pháp chữa trị (phác đồ điều trị, công nghệ xử lý bệnh…). Trong tin học, virus máy tính là tác nhân gây bệnh và các anti-virus là “thuốc” chữa bệnh cho máy tính. Do “bệnh nhân” (máy tính nhiễm virus) không thể đến “bệnh viện” (phòng nghiên cứu phần mềm) để được các “bác sĩ” (chuyên gia anti-virus) khám chữa trị bệnh, giải pháp của đề tài là xây dựng một hệ cơ sở tri thức về virus máy tính nhằm tư vấn chữa bệnh cho máy dựa trên kinh nghiệm của chuyên gia anti-virus đã tích hợp trong hệ thống. 1.3. Ý nghĩa khoa học và thực tiễn của đề tài Giống như trong công tác vệ sinh dịch tễ, trong lĩnh vực phòng chống virus máy tính, phòng bệnh vẫn là chủ yếu với các hoạ t động cơ bản: nhận dạng bệnh cũ và dự báo bệnh mới. Các hoạt động này đều dựa vào các kỹ thuật chủ đạo của lớp bài toán nhận dạng. Giải quyết vấn đề an toàn dữ liệu, đề tài nhận dạng virus máy tính hướng tiếp cận máy học còn làm phong phú thêm tập lời giải cho các bài toán nhận dạng cùng loại và có thể mở rộng để nhận dạng các đối t ượng biến đổi. - 5 - Ở nước ta mặc dù đã có nhiều đề tài nghiên cứu về virus máy tính, nhưng chưa có công trình nào đề cập và giải quyết bài toán nhận dạng biến thể virus máy tính một cách khoa học và toàn diện. Không chỉ dừng lại ở việc nghiên cứu lý thuyết, đề tài cũng đặt ra mục tiêu thực tiễn là xây dựng một hệ phần mềm thông minh chống virus máy tính, đáp ứng kịp thời nhu cầu bức xúc của xã hội, t ừng bước giải quyết nạn virus máy tính, góp phần làm trong sạch môi trường CNTT hiện nay. 1.4. Cấu trúc của luận án Luận án gồm năm chương. Chương 1 dẫn nhập và giới thiệu chung về đề tài. Chương 2 trình bày các cơ chế chẩn đoán virus máy tính và một số vấn đề liên quan. Trước tiên, Chương 2 sẽ giới thiệu các chiến lược nhận dạng virus; khảo sát các hoạt động nghiên cứu ứng dụ ng phòng chống virus trong và ngoài nước; phân tích các vấn đề mở của công nghệ anti-virus; đánh giá tình hình và đề xuất hướng tiếp cận, phương pháp giải quyết vấn đề. Kế tiếp, Chương 2 trình bày cơ sở lý thuyết của các hệ khám phá tri thức từ CSDL, các hệ học và hệ chuyên gia. Phần cuối Chương 2 trình bày quá trình tìm hiểu, phân tích các nghiên cứu hướng tiếp cận máy học và hệ chuyên gia trong lĩnh vực nhận dạng mã độc. Các Chương 3 và Ch ương 4 chứa nội dung nghiên cứu chính của đề tài. Chương 3 trình bày các cơ chế máy học chẩn đoán virus máy tính. Bằng chiến lược “chia để trị”, bài toán nhận dạng virus máy tính được phân hoạch thành năm bài toán con. Mỗi bài toán được xây dựng dựa vào các kỹ thuật học từ đơn giản đến phức tạp: học vẹt (lớp text virus), học tương tự (lớp macro virus), học chỉ dẫn (lớp boot virus), học tình huống (l ớp file virus) và học quy nạp (lớp mã độc, sâu trình và trojan horse). Chương 4 trình bày phương pháp thiết kế hệ thống MAV, hệ phần mềm thực nghiệm xây dựng trên cơ sở các nghiên cứu lý thuyết của đề tài. Phần đầu Chương 4 mô tả mô hình cơ sở tri thức và mô hình tổng quát của hệ. Áp dụng tiếp cận máy học và hệ chuyên gia, MAV sẽ được triển khai qua ba giai đoạn. Giai đoạn Học dữ liệ u - mức chuyên gia, giai đoạn Xử lý dữ liệu - thành phần cốt lõi (kernel) và giai đoạn Tổng kết - mức người dùng. Triển khai trên hệ thống mạng theo mô hình - 6 - client-server, MAV được thiết kế gồm hai gói cài đặt chạy trên máy chủ (dành cho chuyên gia) và các máy trạm (dành cho người dùng). Mỗi gói có chức năng, cấu trúc dữ liệu sử dụng các thuật giải học phân cụm, phân lớp dữ liệu khác nhau. Phần cuối Chương 4 trình bày các kết quả thực nghiệm của đề tài. Chương 5 tổng kết các đóng góp về mặt lý thuyết, đánh giá ý nghĩa thực tiễn, phân tích hạn chế, đề xu ất các biện pháp khắc phục và dự kiến hướng phát triển tương lai của đề tài. Phần tài liệu tham khảo gồm (i) các công trình đã công bố trong các tạp chí chuyên ngành, kỷ yếu hội nghị khoa học trong nước - quốc tế và (ii) các tài liệu tham khảo sử dụng trong quá trình nghiên cứu đề tài. Cuối cùng, phần phụ lục nhằm làm rõ các vấn đề liên quan đến đề tài gồm Phụ lục 1: Khảo sát virus máy tính; Phụ lục 2: Các đị nh dạng dữ liệu nhiễm virus máy tính; Phụ lục 3: Các tác tử hoạt động và thuật toán SID Tìm kiếm – Suy luận – Chẩn đoán; Phụ lục 4: Phân tích hệ thống phần mềm MAV; Phụ lục 5: Phân hệ máy chủ MAVSR và Phụ lục 6: Phân hệ máy trạm MAVCL. . Trong bối cảnh đó, đề 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 tiến hành nhằm góp phần giải quyết vấn đề bảo. nhận dạng virus máy tính và lựa chọn mô hình thích hợp để xây dựng Hệ Phòng chống virus máy tính hướng tiếp cận Máy học và Hệ chuyên gia MAVES - Machine