Luận án 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

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. 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 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 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. Ở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 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.

pdf54 trang | Chia sẻ: tuandn | Lượt xem: 2057 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khảo sát virus máy tính 1. Các loại virus máy tính 1.1. Boot virus Là thuỷ tổ của virus máy tính, boot virus lây vào các mẫu tin khởi động (MTKĐ, boot record) trên hệ thống đĩa. Đối với đĩa mềm, MTKĐ nằm trên sector đầu tiên thuộc track 0, side 0 của đĩa (boot sector). Khi khởi động máy bằng đĩa mềm, sau quá trình tự kiểm tra (POST - Power On Self Test), thường trình khởi động máy trong ROM-BIOS sẽ đọc và nạp 512 byte trên boot sector vào bộ nhớ rồi trao quyền, không cần biết đoạn mã này sẽ thực hiện những công việc gì. Nguyên tắc của boot virus là thay thế MTKĐ bằng đoạn mã của nó để giành quyền khởi động máy. Khi được trao quyền, boot virus sẽ thường trú, khống chế các tác vụ đọc/ghi đĩa rồi nạp tiếp phần khởi động gốc (Hình P1.1). Quá trình lây nhiễm của boot virus trên đĩa mềm được minh họa như sau: Đĩa mềm sạch: POST→ MTKĐ → HĐH Đĩa mềm nhiễm: POST→ Boot virus → MTKĐ → HĐH Đối với đĩa cứng, có 2 MTKĐ: master boot nằm ở sector đầu tiên thuộc track 0, side 0 và boot sector nằm ở sector đầu tiên của track 0, side 1. Trên đĩa cứng, boot virus có thể lây vào master boot hoặc boot sector. Quá trình minh họa như sau: Đĩa cứng sạch: POST→ Master boot→ Boot sector → HĐH Đĩa cứng nhiễm: POST → Boot virus→Master boot→ Boot sector→ HĐH, hoặc POST → Master boot → Boot virus → Boot sector → HĐH Phụ lục 1 - 109 - Do được kích hoạt trước HĐH nên boot virus có thể lây nhiều loại HĐH. Tuy nhiên chúng cũng gặp nhiều trở ngại như: - Cơ hội kích hoạt: người dùng ít khi khởi động máy từ đĩa mềm. - Cơ hội lây lan: phần lớn các chip ROM được trang bị chức năng phát hiện tác vụ ghi vào boot sector hoặc cấm khởi động từ đĩa mềm. - Cơ hội tồn tại: do dung lượng nhỏ nên đĩa mềm ngày càng ít được sử dụng. Hình P1.2a là MTKĐ chuẩn của Windows. Hình P1.2b là MTKĐ nhiễm virus. EB 3C 90 2B 4A 48 54 56 49 48 43 00 02 01 01 00 02 E0 00 40 0B F0 09 00 12 00 02 00 00 00 00 00 00 00 00 00 00 00 29 E3 1E 5C 3F 4E 4F 20 4E 41 4D 45 20 20 20 20 46 41 54 31 32 20 20 20 33 C9 8E D1 BC FC 7B 16 07 BD 78 00 C5 76 00 1E 56 16 55 BF 22 05 89 7E 00 89 4E 02 B1 0B FC F3 A4 06 1F BD 00 7C C6 45 FE 0F 38 4E 24 7D 20 8B C1 99 E8 7E 01 83 EB 3A 66 A1 1C 7C 66 3B 07 8A 57 FC 75 06 80 CA 02 88 56 02 80 C3 10 73 ED 33 C9 FE 06 D8 7D 8A 46 10 98 F7 66 16 03 46 1C 13 56 1E 03 46 0E 13 D1 8B 76 11 60 89 46 FC 89 56 FE B8 20 00 F7 E6 8B 5E 0B 03 C3 48 F7 F3 01 46 FC 11 4E FE 61 BF 00 07 E8 28 01 72 3E 38 2D 74 17 60 B1 0B BE D8 7D F3 A6 61 74 3D 4E 74 09 83 C7 20 3B FB 72 E7 EB DD FE 0E D8 7D 7B A7 BE 7F 7D AC 98 03 F0 AC 98 40 74 0C 48 74 13 B4 0E BB 07 00 CD 10 EB EF BE 82 7D EB E6 BE 80 7D EB E1 CD 16 5E 1F 66 8F 04 CD 19 BE 81 7D 8B 7D 1A 8D 45 FE 8A 4E 0D F7 E1 03 46 FC 13 56 FE B1 04 E8 C2 00 72 D7 EA 00 02 70 00 52 50 06 53 6A 01 6A 10 91 8B 46 18 A2 26 05 96 92 33 D2 F7 F6 91 F7 F6 42 87 CA F7 76 1A 8A F2 8A E8 C0 CC 02 0A CC B8 01 02 80 7E 02 0E 75 04 B4 42 8B F4 8A 56 24 CD 13 61 61 72 0A 40 75 01 42 03 5E 0B 49 75 77 C3 03 18 01 27 0D 0A 49 6E 76 61 6C 69 64 20 73 79 73 74 65 6D 20 64 69 73 6B FF 0D 0A 44 69 73 6B 20 49 2F 4F 20 65 72 72 6F 72 FF 0D 0A 52 65 70 6C 61 63 65 20 74 68 65 20 64 69 73 6B 2C 20 61 6E 64 20 74 68 65 6E 20 70 72 65 73 73 20 61 6E 79 20 6B 65 79 0D 0A 00 00 49 4F 20 20 20 20 20 20 53 59 53 4D 53 44 4F 53 20 20 20 53 59 53 7F 01 00 41 BB 00 07 60 66 6A 00 E9 3B FF 00 00 55 AA Hình P1.2a: Mẫu tin khởi động chuẩn của hệ điều hành Windows Kiểm tra thiết bị - Màn hình - Bộ nhớ - Bàn phím - Các ổ đĩa... Khởi động hệ thống - Nạp MTKĐ vào bộ nhớ máy tính - Trao quyền cho MTKĐ Mẫu tin khởi động - Tìm hệ địều hành - Nạp hệ điều hành - Trao quyền cho hệ điều hành Boot virus - Thường trú - Khống chế đọc/ghi - Nạp MTKĐ gốc - Trao quyền cho MTKĐ gốc Mẫu tin khởi động bình thường Mẫu tin khởi động nhiễm boot virus Hình P1.1: Nguyên tắc hoạt động của boot virus - 110 - EB 3C 90 2C 27 6A 79 76 49 48 43 00 02 01 01 00 02 E0 00 40 0B F0 09 00 12 00 02 00 00 00 00 00 00 00 00 00 00 00 29 00 ED 07 10 4E 4F 20 4E 41 4D 45 20 20 20 20 46 41 54 31 32 20 20 20 33 C9 8E D1 BC F0 7B 8E D9 B8 00 20 8E C0 FC BD 00 7C 38 4E 24 7D 24 8B C1 99 E8 3C 01 72 1C 83 EB 3A 66 A1 1C 7C 26 66 3B 07 26 8A 57 FC 75 06 80 CA 02 88 56 02 80 C3 10 73 EB 33 C9 8A 46 10 98 F7 66 16 03 46 1C 13 56 1E 03 46 0E 13 D1 8B 76 11 60 89 46 FC 89 56 FE B8 20 00 F7 E6 8B 5E 0B 03 C3 48 F7 F3 01 46 FC 11 4E FE 61 BF 00 00 E8 E6 00 72 39 26 38 2D 74 17 60 B1 0B BE A1 7D F3 A6 61 74 32 4E 74 09 83 C7 20 3B FB 72 E6 EB DC A0 FB 7D B4 7D 8B F0 AC 98 40 74 0C 48 74 13 B4 0E BB 07 00 CD 10 EB EF A0 FD 7D EB E6 A0 FC 7D EB E1 CD 16 CD 19 26 8B 55 1A 52 B0 01 BB 00 00 E8 3B 00 72 E8 5B 8A 56 24 BE 0B 7C 8B FC C7 46 F0 3D 7D C7 46 F4 29 7D 8C D9 89 4E F2 89 4E F6 C6 06 96 7D CB EA 03 00 00 20 0F B6 C8 66 8B 46 F8 66 03 46 1C 66 8B D0 66 C1 EA 10 EB 5E 0F B6 C8 4A 4A 8A 46 0D 32 E4 F7 E2 03 46 FC 13 56 FE EB 4A 52 50 06 53 6A 01 6A 10 91 8B 46 18 96 92 33 D2 F7 F6 91 F7 F6 42 87 CA F7 76 1A 8A F2 8A E8 C0 CC 02 0A CC B8 01 02 80 7E 02 0E 75 04 B4 42 8B F4 8A 56 24 CD 13 61 61 72 0B 40 75 01 42 03 5E 0B 49 75 06 F8 C3 41 BB 00 00 60 66 6A 00 EB B0 4E 54 4C 44 52 20 20 20 20 20 20 0D 0A 52 65 6D 6F 76 65 20 64 69 73 6B 73 20 6F 72 20 6F 74 68 65 72 20 6D 65 64 69 61 2E FF 0D 0A 44 69 73 6B 20 65 72 72 6F 72 FF 0D 0A 50 72 65 73 73 20 61 6E 79 20 6B 65 79 20 74 6F 20 72 65 73 74 61 72 74 0D 0A 00 00 00 00 00 00 00 AC CB D8 55 AA Hình P1.2b: Mẫu tin khởi động hệ điều hành Windows bị nhiễm boot virus 1.2. File virus Khác với boot virus, file virus lây vào tập tin chương trình của hệ điều hành. Tùy theo hệ điều hành và cơ chế hoạt động của vật chủ, file virus có cách lây nhiễm khác nhau (Hình P1.3a và P1.3b). Cơ chế hoạt động của file virus như sau: - Xác định điểm vào lệnh (IP-Instruction Pointer) gốc của vật chủ - Ghép mã lệnh virus vào vật chủ. Tùy theo định dạng/tình trạng của vật chủ, vị trí ghép có thể ở đầu, giữa hoặc ở cuối vật chủ. - Thay điểm vào lệnh của vật chủ trỏ đến địa chỉ mã lệnh của virus Khi vật chủ thi hành, file virus sẽ thực hiện các thao tác: - Kiểm tra sự có mặt của virus trong vùng nhớ. Nếu chưa thường trú, chúng tiến hành sao chép vào vùng nhớ đã được hệ điều hành cấp phát. - Tìm kiếm các vật chủ khác để lây vào - Thực hiện các hoạt động đã được lập trình (phá hoại, do thám, định thời…) - Phục hồi điểm vào lệnh gốc và trao quyền cho vật chủ. - 111 - Nhược điểm của file virus là dễ bị phát hiện do kích thước file thay đổi và chỉ lây mạnh trên các HĐH DOS và Windows 9x/Me. Trên Windows NT/2000/XP, chúng thường vấp phải hàng rào bảo vệ hạt nhân hệ thống Kernel32. Vì vậy file virus dần được hacker thay bằng các hình thức khác như worm, trojan horse… 1.3. Macro virus Để tự động hóa thao tác sử dụng của người dùng, hãng Microsoft đã tích hợp tập lệnh VBA (Visual Basic Application) vào bộ công cụ Microsoft Office. Theo CSI (Cisco Safe Implementation), macro virus được định nghĩa như sau: “Macro virus là loại virus máy tính được viết bằng ngôn ngữ VBA, thực thi trong môi trường của Microsoft Word hoặc Excel. Macro là tập lệnh giúp tự động hóa tác vụ của người dùng” ( Các macro virus lợi dụng các template trong môi trường tương tác VBA làm nơi lưu trú. Khi người dùng mở tư liệu mới, các thủ tục của virus trong template sẽ kết nhập vào tư liệu hiện thời dưới dạng các thủ tục VBA đã biên dịch (Hình P1.4). Tùy theo phiên bản Microsoft Office, tập mã thủ tục VBA sẽ được chuyển dạng tương thích đi lên, làm biến đổi mã lệnh của macro virus. 1.4. Worm, sâu trình Theo Vesselin Bonchev, worm (tạm dịch sâu trình) là: “Các chương trình có khả năng tạo bản sao chính nó (thường là qua mạng máy tính) như một chương trình (hoặc tập các chương trình) độc lập, không phụ thuộc vào sự tồn tại của ứng dụng chủ”. Hình P1.3: Kỹ thuật lây nhiễm của file virus a. Tập tin chương trình trước khi nhiễm file virus IP Header Data Code b. Tập tin chương trình sau khi nhiễm file virus Virus IP Header Data Code IP - 112 - Khai thác các dịch vụ vận chuyển dữ liệu như HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), IRC (Internet Relay Chat), DNS (Domain Name Service), Drive Sharing, Email, Packet Routing…, sâu trình len lõi vào các hệ thống đích để tìm cơ hội do thám, đánh cắp, phá hoại dữ liệu. Khác với virus, sâu trình không đính vào các ứng dụng khác mà tồn tại trên hệ thống như một ứng dụng độc lập (hình P1.5). Sâu trình khó phát hiện vì chúng có định dạng giống các ứng dụng hợp thức. Tuy nhiên sâu trình cũng có nhược điểm. Do đứng độc lập nên khả năng tự kích hoạt bị hạn chế và dễ bị tiêu diệt. Kịch bản chung của sâu trình là đăng ký kích hoạt khi hệ điều hành hoàn tất quá trình khởi động. 1.5. Trojan horse Thuật ngữ “trojan horse” (mượn từ điển tích “ngựa gỗ thành Troie” trong thần thoại Hy Lạp, gọi tắt là trojan) là tên gọi các loại mã độc do người lập trình cài sẵn vào ứng dụng. Ban đầu, trojan là công cụ của người lập trình. Khi phát hiện các trường hợp không hợp thức (như sao chép lậu, bẻ khóa…), các đoạn mã này sẽ tự Microsoft Word Virus macro Infected doc. Virus macro Infected doc. (1) (2) Infected doc. Virus macro (5) Microsoft Word Virus macro Benign doc. (4) Virus macro Template (3) Hình P1.4: Quy trình lây nhiễm của macro virus 1. Tập tin tư liệu chứa mã lệnh virus macro 2. Ứng dụng Office mở tư liệu nhiễm virus macro 3. Tập thủ tục VBA của virus kết nhập vào template 4. Virus macro trong template kết nhập vào các đối tượng mới 5. Hàng loạt tư liệu khác bị nhiễm virus macro - 113 - kích hoạt để trừng trị người dùng như xóa ứng dụng, làm treo máy… Về sau ý nghĩa của trojan càng mờ nhạt. Lợi dụng Internet, các hacker tung lên mạng các “tiện ích” (có cài sẵn trojan) để lừa người dùng download về sử dụng (ví dụ các phần mềm bẻ khóa, kích hoạt tài khoản xem phim trực tuyến…). Khi chạy loại “ứng dụng” này, các đoạn mã trojan sẽ thực thi các lệnh của hacker. CSI định nghĩa trojan horse là “loại chương trình được viết như tiện ích hữu hiệu, nhưng thực tế lại là công cụ tấn công”. ( Trojan không tự lây mà lan truyền nhờ thao tác download và sao chép của người dùng (hình P1.6). Giống sâu trình, trojan có định dạng ứng dụng nên việc phát hiện gặp nhiều trở ngại. Trong một họ (family), trojan khởi thủy được gọi là mầm độc (germs). Thông thường, mã của mầm độc dùng để lắp ghép cho con cháu. Network Application Worm Network Application Network Application Worm Network Application Physical Network Virtual Network Virtual Network Hình P1.5: Worm lan truyền trên hệ thống mạng Physical Computer Physical Computer Hình P1.6: Cơ chế lan truyền của trojan horse Internet  download  copy LAN  - 114 - Đôi khi trojan còn chứa trong lòng nó một loại mã độc khác (như sâu trình chẳng hạn). Khi thực thi, loại trojan này (gọi là dropper) sẽ kết xuất mã độc thứ cấp ra hệ thống đích (tái sinh) mỗi khi một trong các bản sao của chúng bị tiêu diệt. Injector là một dạng cải tiến của dropper: thay vì kết xuất ra bộ nhớ ngoài, mã độc được cài vào bộ nhớ trong để tránh bị phát hiện. Kết hợp giữa trojan và sâu trình, dropper và injector có đặc tính lây lan nên gần với virus hơn. Trapdoor (hay backdoor) rất được giới hacker ưa chuộng. Khi lây vào hệ thống, backdoor có nhiệm vụ mở cổng (port, điểm truy cập ứng dụng), làm nội gián chờ đáp ứng thao tác quét cổng của hacker. Khi nhận được tín hiệu, backdoor khống chế hàng rào bảo vệ hệ thống, dọn đường đón các đợt thâm nhập từ bên ngoài. Gần đây xuất hiện loại trojan đặc biệt nguy hiểm gọi là rootkit. Ban đầu, rootkit là tên gọi các bộ công cụ (kit) giúp người quản trị nắm quyền điều khiển hệ thống ở mức cao nhất (root). Trong tay hacker, rootkit trở thành công cụ đắc lực để đánh cắp mật khẩu truy nhập, thu thập thông tin trên máy nạn nhân hoặc che đậy các hoạt động thâm nhập bất hợp pháp. Hacktool là một dạng rootkit sơ cấp. Cao cấp hơn có các loại rootkit thám báo như keylogger (theo dõi hoạt động bàn phím), sniffer (theo dõi gói tin qua mạng), filehooker (theo dõi truy nhập tập tin)… 1.6. Malware Malware là tên gọi chung các loại phần mềm độc hại như: • Adware: loại phần mềm tự động bật (popup) các cửa sổ quảng cáo, thay đổi các thiết lập hệ thống…, gây phiền phức cho người sử dụng. • Spyware: loại phần mềm gián điệp, săn lùng thông tin thương mại, đánh cắp thông tin cá nhân như địa chỉ e-mail, độ tuổi, giới tính, thói quen mua sắm… • Pornware: loại phần mềm đồi trụy phát tán từ các trang web khiêu dâm, tự động bật lên các hình ảnh gợi dục, phim sex... Pornware rất nguy hiểm cho trẻ em và thanh thiếu niên, làm suy đồi đạo đức xã hội. • Riskware: phần mềm trôi nổi, không được kiểm định chất lượng. Riskware tiềm ẩn nhiều lỗi nghiêm trọng, làm suy giảm chất lượng phục vụ của hệ thống, có nguy cơ ảnh hưởng dữ liệu của người dùng. - 115 - Trong lĩnh vực anti-virus, nghiên cứu malware là bài toán sôi nổi và khá lý thú. Hình P1.7 mô tả nguồn gốc, quá trình phát triển của các loại virus máy tính và mã độc hiện nay. 2. Khảo sát virus máy tính Việc khảo sát virus máy tính gặp nhiều khó khăn bởi: - Các anti-virus chưa thống nhất về cách phân loại và đặt tên virus - Phần lớn các anti-virus không công bố danh sách đầy đủ các virus đã cập nhật mà chỉ cung cấp các công cụ tìm kiếm online một virus cụ thể. Bảng P1.1 thống kê danh sách 65.824 virus máy tính lây trên hệ điều hành DOS/Windows của hãng Kaspersky. Cột “Kiểu dữ liệu” có được nhờ quá trình phân tích mã các mẫu virus đại diện lớp. Cột “Tỷ lệ %” được đưa vào để tính mật độ các loại virus DOS/Windows đã xuất hiện trong 10 năm (từ 1995 đến 2004). Kết quả phân tích thống kê cho thấy virus máy tính có thể được phân loại theo bốn nhóm chính (program, text, binary và macro), đặt cơ sở khoa học cho ý tưởng phân loại virus theo đặc trưng dữ liệu của đề tài (xem Chương 2). Computer virus Hình P1.7: Nguồn gốc mã độc và phân loại mã độc Boot virus - FD bootvirus - HD bootvirus File virus - 16 bit virus - 32 bit virus Worm - Intruder - Dropper - Injector… Macro virus - MS Word - MS Excel - MS PowerPoint Trojan horse - Germs - Dropper - Injector - Rootkit… Malware - Adware - Spyware - Pornware - Riskware… Boot record - Boot sector - Master boot OS/Program - Application - Resource - Library - Driver… Instruction set - 8088 - 80x86 - Pentium Harmful Code - 116 - Bảng P1.1: Thống kê các loại virus máy tính (1995-2004) stt Kiểu virus Số lượng Kiểu dữ liệu Tỷ lệ % 1 ANSI 4 Text 0.01 2 ASP 89 Text 0.14 3 Basic 7 Text 0.01 4 BAT 2059 Text 3.13 5 Boot-DB 913 Binary 1.39 6 Boot-DOS 198 Binary 0.30 7 Boot-SB 14 Binary 0.02 8 DOS 18412 Program 16-bit 27.97 9 DOS32 18 Program 32-bit 0.03 10 HTT 9 Text 0.01 11 HTML 295 Text 0.45 12 IRC 518 Program 32-bit 0.79 13 Java 140 Text 0.21 14 Java script 522 Text 0.79 15 MSAccess 30 VBA macro 0.05 16 MSExcel 348 VBA macro 0.53 17 MSOffice 96 VBA macro 0.15 18 MSPPoint 12 VBA macro 0.02 19 MSProject 4 VBA macro 0.01 20 MSPublisher 1 VBA macro 0.00 21 MSVision 3 VBA macro 0.00 22 MSWord 2987 VBA macro 4.54 23 Multi dropper 523 Program 32-bit 0.79 24 Perl 152 Text 0.23 25 PHP 63 Text 0.10 26 PIF 19 Binary 0.03 27 PSP 1 Text 0.00 28 RAR 1 Binary 0.00 29 Script 9 Text 0.01 30 VBS 1562 Text 2.37 31 WBS 4 VBA macro 0.01 32 Win16 484 Program 16-bit 0.74 33 Win32 35731 Program 32-bit 54.28 34 Win9x 537 Program 32-bit 0.82 35 WinHLP 9 Binary 0.01 36 WinINF 9 Binary 0.01 37 WinLNK 1 Binary 0.00 38 WinPIF 1 Binary 0.00 39 WinREG 36 Text 0.05 40 ZIP 3 Binary 0.00 Các định dạng dữ liệu nhiễm virus máy tính 1. Giới thiệu Nghiên cứu virus máy tính luôn gắn với việc phân tích các định dạng dữ liệu vật chủ. Mỗi loại virus chỉ lây vào một số định dạng dữ liệu nhất định. Phân tích các định dạng dữ liệu vật chủ là cơ sở để phân loại dữ liệu (quan tâm đến các điểm dữ liệu có nguy cơ nhiễm virus), giảm tải quá trình chẩn đoán (loại bớt các đối tượng chắc chắn sạch khỏi không gian chẩn đoán) và gia tăng độ tin cậy của hệ thống (giảm nguy cơ bỏ sót đối tượng chẩn đoán). Các định dạng vật chủ chứa mã thi hành có thể nhiễm virus gồm: tập tin văn bản, tập tin chương trình, tập tin MS Office và mẫu tin khởi động (Bảng P2.1). Bảng P2.1: Các định dạng vật chủ chứa mã thi hành có thể nhiễm virus máy tính Stt Vật chủ Loại virus Các định dạng Kiểu Tập tin lô BAT Tập tin script VBS, JS Tập tin registry REG 1 Tập tin văn bản File virus Worm Trojan Tập tin siêu văn bản HTT, HTA Tập tin lệnh COM Tập tin thi hành EXE, SCR 2 Tập tin chương trình File virus Worm Trojan Tập tin thư viện DLL, CPL, SYS, VXD Tập tin tư liệu DOC, DOT Tập tin bảng tính XLS, XLT 3 Tập tin MS Office Macro virus Tập tin trình diễn PPT, POT Mẫu tin khởi động hệ điều hành đĩa mềm #N/A Mẫu tin khởi động hệ điều hành đĩa cứng #N/A 4 Mẫu tin khởi động Boot virus Mẫu tin khởi tạo phân khu đĩa cứng #N/A Phụ lục 2 - 118 - 2. Các định dạng dữ liệu nhiễm virus máy tính 2.1. Tập tin văn bản Tập văn bản (text file) là tổ chức file đơn giản, được chia làm hai loại: - Tập văn bản 7 bit: chứa các ký tự ASCII chuẩn (7 bit) có thể gõ trực tiếp từ bàn phím, mã từ 32 (khoảng trắng) đến 126 (ký tự ~). Tập văn bản 7 bit dùng chứa nội dung chương trình nguồn như PAS, ASM, C, CPP, JS, VBS… - Tập văn bản 8 bit: có thêm các ký tự ASCII mở rộng 8 bit (từ 128 đến 255) sử dụng ký tự graphic trang trí bảng, hình hộp hoặc thiết lập font chữ riêng. Do hiện nay các trình biên dịch/thông dịch lệnh chỉ hỗ trợ các ký tự 7 bit nên chưa phát hiện câu lệnh virus trong các tập tinvăn bản 8 bit. Để thực thi các câu lệnh trong tập tin văn bản 7 bit, hệ thống phải dịch chúng sang mã máy. Do không phải hệ thống nào cũng có đủ bộ dịch lệnh của tất cả các ngôn ngữ lập trình, nên chỉ vài loại tập tin văn bản 7 bit là có nguy cơ nhiễm virus (Bảng P2.2), đó là các tập tin chứa tập lệnh của các ngôn ngữ lập trình được tích hợp sẵn trong hệ thống (Hình P2.1). Bảng P2.2: Các loại tập tin văn bản nhiễm virus máy tính stt Loại tập tin Mô tả Kiểu Thi hành 1 Tập lệnh theo lô Batch command BAT Internal Command Interpreter 2 Tập lệnh siêu văn bản Hyper Text HTT HTML Application Host 3 Tập lệnh khởi tạo System Initiation INI Windows Startup 4 Tập lệnh Java Java Script JS Windows Based Script Host 5 Tập đăng ký hệ thống System registry REG Registry Editor 6 Tập lệnh Visual Basic Visual Basic Script VBS Windows Based Script Host Dấu hiệu nhận dạng các tập văn bản 7-bit có thể nhiễm virus là: - Dữ liệu byte (32-127) - Chứa các từ khóa của các ngôn ngữ lập trình tích hợp sẵn trong hệ thống (Java Script, VB Script, HTML Application, Command Interpreter…). - 119 - 2.2. Tập tin chương trình Các tập tin chương trình (program file), còn gọi là ứng dụng (application) hay phần mềm (software), được biên dịch thành các tổ chức file thi hành trong môi trường của hệ điều hành. Đối với DOS/Windows, ngoài hai loại tập tin chương trình chính là COM và EXE còn có các tổ chức thi hành khác như SYS, DLL, CPL, SCR, OCX… Trong quá trình phát triển, Microsoft đã sử dụng nhiều định dạng thi hành phức tạp. Khi nạp vào bộ nhớ, tập tin chương trình sẽ được hệ điều hành thực thi, không quan tâm nguồn gốc và mức độ nguy hiểm của các lệnh này. Do vậy, các tập tin chương trình là một trong những kẽ hở bảo mật quan trọng của hệ thống. Bảng P2.3: Các loại tập tin chương trình Tổ chức Loại Kiểu Kiểu con Hệ điều hành Thi hành trực tiếp Command DOS-COM COM COM DOS 16 bit Có DOS-EXE EXE EXE DOS 16 bit Có EXE EXE Windows 16 bit Có NE-EXE DLL DLL Windows 16 bit Không

Các file đính kèm theo tài liệu này:

  • pdf10.pdf
  • pdf0.pdf
  • pdf1.pdf
  • pdf2.pdf
  • pdf3.pdf
  • pdf4.pdf
  • pdf5.pdf
  • pdf6.pdf
  • pdf7.pdf
  • pdf8.pdf
  • pdf9.pdf
Luận văn liên quan