Đăng ký Đăng nhập
Trang chủ Luận văn thạc sĩ nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta d...

Tài liệu Luận văn thạc sĩ nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin

.PDF
69
1
73

Mô tả:

BỘ GIÁO DỤC VIỆN HÀN LÂM VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ Nguyễn Anh Tuấn NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN DỮ LIỆU META-DATA CỦA TỆP TIN LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH Hà Nội - 2021 BỘ GIÁO DỤC VIỆN HÀN LÂM VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ Nguyễn Anh Tuấn NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC DỰA TRÊN DỮ LIỆU META-DATA CỦA TỆP TIN Chuyên ngành : Hệ thống thông tin Mã số : 8480104 LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC : TS. TRẦN ĐỨC NGHĨA Hà Nội - 2021 LỜI CAM ĐOAN Tôi là Nguyễn Anh Tuấn, học viên khóa 2019B, ngành máy tính, chuyên ngành Hệ Thống Thông Tin. Tôi xin cam đoan luận văn “Nghiên cứu phương pháp phát hiện mã độc dựa trên dữ liệu meta data của tệp tin” là do tôi nghiên cứu, tìm hiểu và phát triển dưới sự hướng dẫn của TS. Trần Đức Nghĩa, không phải sự sao chép từ các tài liệu, công trình nghiên cứu của người khác mà không ghi rõ trong tài liệu tham khảo. Tôi xin chịu trách nhiệm về lời cam đoan này. Hà Nội, ngày tháng năm 2021 Học viên Nguyễn Anh Tuấn i LỜI CẢM ƠN Lời cảm ơn trân trọng đầu tiên tôi muốn dành tới các thầy cô Học viện khoa học và công nghệ Việt Nam, Viện công nghệ thông tin, Viện Hàn lâm khoa học và công nghệ Việt Nam đã tận tình giảng dạy và truyền đạt những kiến thức quý báu, tạo môi trường học tập, nghiên cứu khoa học nghiêm túc trong suốt thời gian vừa qua, giúp tôi có những kiến thức chuyên môn nền tảng để làm cơ sở lý luận khoa học cho luận văn này. Đặc biệt tôi xin chân thành cảm ơn thầy TS. Trần Đức Nghĩa đã định hướng, dìu dắt và hướng dẫn tôi trong suốt quá trình làm luận văn, sự chỉ bảo của các thầy giúp tôi tự tin nghiên cứu những vấn đề mới và giải quyết bài toán một cách khoa học. Tôi xin trân trọng cảm ơn Ban giám hiệu Học viện khoa học công nghệ Việt Nam - Viện Hàn lâm khoa học và công nghệ Việt Nam đã tạo các điều kiện cho tôi được học tập và làm luận văn một cách thuận lợi. Tôi cũng xin cảm ơn sự hỗ trợ của nhóm nghiên cứu tiềm năng Cảm nhận thông minh và ứng dụng (SSA), Trường đại học Phenikaa. Trong quá trình học tập và thực hiện luận văn, mặc dù thực hiện với tinh thần nghiêm túc, nhưng chắc chắn không tránh khỏi những thiết sót. Tôi rất mong được sự thông cảm và chỉ bảo tận tình của các thầy cô và các bạn. TÁC GIẢ LUẬN VĂN Nguyễn Anh Tuấn ii MỤC LỤC LỜI CAM ĐOAN .............................................................................................. i LỜI CẢM ƠN ................................................................................................... ii DANH MỤC KÝ HIỆU VÀ VIẾT TẮT .......................................................... v DANH MỤC HÌNH VẼ ................................................................................... vi DANH MỤC BẢNG ....................................................................................... vii MỞ ĐẦU ........................................................................................................... 1 1. 2. 3. Tính cấp thiết của luận văn ................................................................... 1 Mục tiêu nghiên cứu của luận văn ........................................................ 1 Các nội dung nghiên cứu của luận văn ................................................. 1 CHƯƠNG 1. TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH MÃ ĐỘC ....... 3 1.1. Khái niệm mã độc ................................................................................. 3 1.2. Mục đích của mã độc ............................................................................ 3 1.3. Hiện trạng phát triển của mã độc .......................................................... 4 1.4. Phân loại mã độc ................................................................................... 4 1.4.1. Các loại mã độc phổ biến .............................................................. 4 1.4.2. Xác định loại mã độc bằng dịch vụ virustotal ............................... 8 1.5. Kỹ thuật phân tích mã độc .................................................................... 8 1.5.1. Phân tích động ............................................................................... 8 1.5.2. Phân tích tĩnh ................................................................................. 9 1.6. Kết luận chương 1 ............................................................................... 11 CHƯƠNG 2. PHÁT HIỆN MÃ ĐỘC DỰA TRÊN METADATA CỦA TỆP TIN BẰNG PHƯƠNG PHÁP CÂY QUYẾT ĐỊNH TRONG HỌC MÁY ... 12 2.1. Khái niệm về meta-data ...................................................................... 12 2.1.1. Định nghĩa ................................................................................... 12 2.1.2. Cách sử dụng siêu dữ liệu ............................................................ 13 2.1.3. Mô tả dữ liệu ................................................................................ 14 2.2. Cấu trúc tệp tin thực thi trên hệ điều hành Windows ......................... 16 2.2.1. Cấu trúc cơ bản ............................................................................ 16 2.2.2. DOS Header ................................................................................. 18 2.2.3. PE Header .................................................................................... 19 2.2.4. Data Directory ............................................................................. 22 2.2.5. Section Table ............................................................................... 23 2.3. Phương pháp phát hiện mã độc dựa trên meta-data của tệp tin bằng kỹ thuật cây quyết định trong học máy .................................................... 25 2.3.1. Tổng quan về cây quyết định trong học máy .............................. 25 2.3.2. Thuật toán Quinlan ...................................................................... 31 2.3.3. Thuật toán ID3 ............................................................................. 31 2.3.4. Thuật toán C4.5 ........................................................................... 34 iii 2.3.5. Thuật toán RandomForest ........................................................... 36 2.4. Kết luận chương 2 ............................................................................... 39 CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ............................. 40 3.1. Triển khai giải pháp ............................................................................ 40 3.1.1. Giới thiệu giải pháp ..................................................................... 40 3.1.2. Lựa chọn thuật toán để xây dựng mô hình đánh giá ................... 40 3.1.3. Các bước triển khai cơ sở dữ liệu ................................................ 42 3.2. Cài đặt thử nghiệm .............................................................................. 47 3.2.1. Môi trường cài đặt ....................................................................... 47 3.2.2. Thử nghiệm .................................................................................. 48 3.3. Đánh giá kết quả ................................................................................. 49 3.3.1. Đánh giá kết quả sau thực nghiệm............................................... 49 3.4. Kết luận chương 3 ............................................................................... 54 Chương 4. KẾT LUẬN ................................................................................... 55 TÀI LIỆU THAM KHẢO ............................................................................... 57 iv DANH MỤC KÝ HIỆU VÀ VIẾT TẮT APT Advanced Persistent Threat API Application Programming Interface CPL Control Panel CSDL Cơ Sở Dữ Liệu CLS Concept Learning System CPU Central Processing Unit DNS Domain Name System DoS Denial of Service RF Relative Frequency TEI Text Encoding Initiative EAD Encoded Archival Description PE Portable Executable RDF RandomForest KDD Knowledge Discovery in Database v DANH MỤC HÌNH VẼ Hình 1.1 Chức năng Pseudocode-A tạo mã giả C của IDA pro ..................... 10 Hình 1.2 Chương trình được phân tích bởi IDA pro....................................... 10 Hình 2.1 Cấu trúc tệp tin thực thi PE .............................................................. 17 Hình 2.2 Cấu trúc Image_Dos_Header ........................................................... 18 Hình 2.3 Giá trị của lfanew trên hex dump ..................................................... 19 Hình 2.4 Cấu trúc Image_NT_Header ............................................................ 19 Hình 2.5 Cấu trúc Image_File_Header ........................................................... 20 Hình 2.6 Cấu trúc Image_Optional_Header32 ............................................... 21 Hình 2.7 Cấu trúc dữ liệu được định nghĩa bởi Data Directory ..................... 22 Hình 2.8 Cấu trúc Image_Data_Directory ...................................................... 22 Hình 2.9 Cấu trúc Image_Section_Header ..................................................... 23 Hình 2.10. Mô phỏng sự phân tách trong cây quyết định ............................... 28 Hình 2.11. Mô phỏng sự phân tách trong cây quyết định ............................... 38 Hình 3.1 KDD process .................................................................................... 43 Hình 3.2 Bản ghi dữ liệu sau khi trích rút thuộc tính và gán nhãn ................. 46 Hình 3.3 Bảng tương quan giữa các thuộc tính .............................................. 47 Hình 3.4 Báo cáo thử nghiệm và đánh giá kết quả sử dụng kết hợp các mô hình và thuật toán ............................................................................................ 49 Hình 3.5 Kết quả đánh giá không biến đổi và giảm chiều dữ liệu.................. 50 Hình 3.6 Kết quả đánh giá biến đổi và giảm chiều dữ liệu ............................. 51 Hình 3.7 Kết quả đánh giá biến đổi và lựa chọn thuộc tính dữ liệu ............... 51 vi DANH MỤC BẢNG Bảng 3.1 Bảng yêu cầu chức năng .................................................................. 48 Bảng 3.2 Bảng các phần mềm hỗ trợ .............................................................. 48 Bảng 3.3 Bảng tổng hợp kết quả thử nghiệm với thuật toán Random Forest. 52 vii MỞ ĐẦU 1. Tính cấp thiết của luận văn Dưới sự phát triển nhanh chóng của mã độc cả về độ phức tạp và số lượng, không gian mạng trở nên nóng hơn bao giờ hết. Các nhà phân tích và nghiên cứu mã độc không thể áp dụng đơn điệu các kỹ thuật phân tích cơ bản. Hiện tại đã có rất nhiều giải pháp tích cực như: sandbox, virustotal, … các giải pháp này mang lại tính hiệu quả rất cao, nhưng thay vào đó là phụ thuộc quá nhiều vào các hãng chống phần mềm độc hại. Đối với các mẫu mã độc mới xuất hiện hay các loại mã độc của các cuộc tấn công có chủ đích (APT) thì những giải pháp trên chưa thực sự tốt. Và quan trọng hơn là mỗi đơn vị nghiên cứu giải pháp chống mã độc luôn phải tự phát triển giải pháp riêng của mình song song với việc ứng dụng các dịch vụ của bên thứ ba. Bên cạnh đó xu thế tương lai là học máy và trí tuệ nhân tạo có tính ứng dụng rất lớn. Để giảm thời gian phân tích mã độc, tăng tính hiệu quả, mã độc cần được phát hiện một cách tự động và nhanh chóng. Để xây dựng hệ thống phát hiện mã độc, một cách tiếp cận được đề xuất ở luận văn này là sử dụng kỹ thuật học máy mang tên cây quyết định để phân tích meta-data (siêu dữ liệu) của tệp tin mã độc,. Đây là một hướng tiếp cận mới trong việc phát hiện mã độc vì trước đây để phát hiện mã độc sẽ phát hiện theo hành vi, theo mã nguồn hay theo đặc trưng của mã độc. Điều này là một cơ sở đúng đắn nhưng cũng rất tốn thời gian và hiệu quả thấp vì có rất nhiều cơ chế chống phát hiện được tích hợp. Siêu dữ liệu là dữ liệu luôn gắn liền với tệp tin và điều này gần như rất khó để thay đổi nếu mã độc mang các đặc trưng của chúng. 2. Mục tiêu nghiên cứu của luận văn Từ những nội dung được nêu trong tính cấp thiết của luận văn, học viên xác định mục tiêu nghiên cứu của luận án là “nghiên cứu kỹ thuật học máy cây quyết định nhằm nâng cao độ chính xác và tốc độ phát hiện các loại mã độc dựa trên siêu dữ liệu (meta data) của tệp tin”. 3. Các nội dung nghiên cứu của luận văn Với mục tiêu nghiên cứu trình bày ở trên, học viên xác định nghiên cứu 1 chính gồm các nội dung, được trình bày tại các chương của luận văn, cụ thể như sau:  Tìm hiểu về cách thức phân tích mã độc và các loại mã độc hiện hành.  Tìm hiểu về cấu trúc siêu dữ liệu (meta-data) trong tệp tin PE (Portable Executable).  Ứng dụng kỹ thuật học máy cây quyết định để xây dựng mô hình phát hiện các loại mã độc phục vụ phân tích mã độc.  Triển khai thực nghiệm, đánh giá tính hiệu quả, khả năng áp dụng thực tế của nghiên cứu. 2 CHƯƠNG 1. TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH MÃ ĐỘC 1.1. Khái niệm mã độc Mã độc đã xuất hiện từ buổi sơ khai của máy tính. Loại virus được ghi nhận sớm nhất, Creeper Worm xuất hiện trong những năm 1970. Đó là một loại virus tự nhân bản trong thử nghiệm chương trình đã sao chép chính nó vào các hệ thống từ xa và hiển thị thông báo: "Tôi là Creeper, hãy bắt tôi nếu bạn có thể". Vào đầu những năm 80, Elk Cloner, loại vi-rút nhắm mục tiêu vào máy tính Apply II, một ngành công nghiệp khổng lồ đã ra đời và kể từ đó, cuộc chiến chống lại phần mềm độc hại chưa bao giờ dừng lại [1]. Mã độc là một loại phần mềm được tạo ra và chèn vào hệ thống một cách bí mật với mục đích thâm nhập, phá hoại hệ thống, lấy cắp thông tin, làm gián đoạn, tổn hại tới tính bí mật, tính toàn vẹn và tính sẵn sàng của máy tính nạn nhân. Mã độc được phân thành nhiều loại tùy theo chức năng, cách thức lây nhiễm, phá hoại: virus, worm, trojan horse, rootkit, botnet, ransomeware … [2] [3]. Các loại mã độc càng ngày càng phức tạp từ cách thức lây nhiễm, phương pháp ẩn mình, cách thức thực hiện các hành vi nguy hiểm… Giới hạn giữa các loại mã độc ngày càng thu hẹp vì bản thân các mã độc cũng phải có sự kết hợp lẫn nhau để hiệu quả tấn công là cao nhất. 1.2. Mục đích của mã độc Mã độc ban đầu được tạo ra nhằm mục đích thí nghiệm, hoặc chỉ phá hoại một máy tính đơn lẻ nào đó, nhưng theo thời gian đã có những biến thể mã độc được sử dụng chủ yếu để ăn cắp các thông tin nhạy cảm của người dùng như tài khoản và mật khẩu, các tin tức về tài chính hoặc thậm chí là các thông tin về quân sự quốc phòng để nhằm mang lại lợi ích cho tin tặc [4]. Đôi khi mã độc được sử dụng như một công cụ chính trị chống lại các trang web của chính phủ, các công ty công nghệ cao để thu thập thông tin được bảo vệ hoặc làm gián đoạn hoạt động của họ trên môi trường mạng. Một vài cuộc tấn công từ chối dịch vụ sử dụng mã độc có quy mô lớn như cuộc tấn 3 công vào hệ thống website của Hàn Quốc khiến hàng chục website của chính phủ Hàn Quốc bị tê liệt hoạt động [5]. Tại Việt Nam, 14/06/2021 trang báo điện tử của VOV bị tấn công từ chối dịch vụ phải ngưng hoạt động [6]. 1.3. Hiện trạng phát triển của mã độc Với sự phát triển của mạng toàn cầu, khả năng lây lan của mã độc càng trở nên nhanh chóng khiến người sử dụng máy tính phải đối mặt với sự nguy hiểm của chúng. Theo con số thống kê từ hãng bảo mật nổi tiếng Sophos (Sophos Threat Report) cho thấy rất nhiều loại mã độc đã được tạo ra từ những năm 2000 đến nay. Từ năm 2000-2004 là thời đại của Worm với các loại mã độc như ILOVEYOU, Codered, Mydoom…Từ năm 2005-2012 là thời đại của Malware với các loại mã độc như Sasser, Zues, Malverting…Từ năm 2013 đến nay lại là kỷ nguyên của Ransomeware với các mã độc nổi tiếng như Cryptolocker, WannaCry, Extortion Ransomeware… [7]. Vấn đề phải đặt ra là ngăn ngừa, phát hiện và loại bỏ mã độc là rất quan trọng. 1.4. Phân loại mã độc 1.4.1. Các loại mã độc phổ biến Mã độc hại (Malware) được định nghĩa là một chương trình được chèn một cách bí mật vào hệ thống với mục đích làm tổn hại đến tính bí mật, tính toàn vẹn hoặc tính sẵn sàng của hệ thống [2], [3]. Định nghĩa này sẽ bao hàm rất nhiều thể loại mã độc chúng ta vẫn quen gọi là virus máy tính như: worm, trojan, spy-ware, adwares, ... hoặc các bộ công cụ để tấn công hệ thống mà các hacker thường sử dụng như: backdoor, rootkit, key-logger, botnet…và các loại virus mã hóa hay còn gọi là ransomeware. Để hiểu rõ hơn về cơ chế phân loại, mục đích phân loại, lý do cần phân loại và đối tượng cần phát hiện ta sẽ làm rõ những loại mã độc hại này. Virus Virus máy tính là một chương trình độc hại đối với hệ thống máy tính và phá vỡ các chức năng bình thường của hệ thống, làm hỏng các tệp dữ liệu. Vi rút máy tính hoạt động giống như vi rút sinh học tự kết nối với máy tính chủ, làm hỏng tệp chương trình, tệp dữ liệu và hệ điều hành của máy tính đó. Nó có khả năng tự tái tạo bằng cách gắn vào các chương trình khác như dịch 4 bệnh. Virus sẽ tiếp tục lây nhiễm sang các tệp và chương trình khác và ảnh hưởng đến hiệu suất của bất kỳ hệ thống nào. Virus có thể được truyền từ máy tính này sang máy khác theo nhiều cách khác nhau và sinh sản bằng cách tự gửi thư cho hàng chục người trong hộp thư đến của địa chỉ mail của máy chủ. Nó cũng có thể truyền tải bằng cách tải xuống bất kỳ tệp nào từ internet, các kết nối mạng, đĩa mềm và các bus nối tiếp chung hoặc bằng đĩa CD [8]. Trojan Virus Trojan Horse đề cập đến một loại virus điều khiển máy tính thông qua các chương trình cụ thể. Không giống như các loại vi-rút khác, nó sẽ không sinh sôi cũng như không cố ý lây nhiễm sang các tệp khác. Nhưng nó khiến người dùng tải xuống thông qua các phần mềm ngụy trang và sau đó cung cấp kết nối đến máy tính bị xâm nhập. Do đó, kẻ xâm nhập có thể làm hỏng hoặc lấy cắp tài liệu của người dùng và thậm chí điều khiển máy bị xâm nhập từ xa [9]. Trojan có thể lựa chọn một trong 3 phương thức để gây hại:  Tiếp tục thực thi các chức năng của chương trình mà nó bám vào, bên cạnh đó thực thi các hoạt động gây hại một cách riêng biệt (ví dụ như gửi một trò chơi dụ cho người dùng sử dụng, bên cạnh đó là một chương trình thu thập thông tin người dùng).  Tiếp tục thực thi các chức năng của chương trình mà nó bám vào, nhưng sửa đổi một số chức năng để gây tổn hại (ví dụ như một trojan giả lập một cửa sổ đăng nhập để lấy mật khẩu) hoặc che dấu các hành động phá hoại khác (ví dụ như trojan che giấu cho các tiến trình độc hại khác bằng cách tắt các hiển thị của hệ thống).  Thực thi luôn một chương trình gây hại bằng cách núp dưới danh một chương trình không có hại (ví dụ như một trojan được giới thiệu như là một trò chơi hoặc một công cụ trên mạng, người dùng chỉ cần kích hoạt tệp tin này là lập tức dữ liệu trên máy tính sẽ bị xóa). Các đoạn mã của Trojan được “che giấu” trong các loại virus khác hoặc trong các phần mềm máy tính thông thường để bí mật xâm nhập vào máy nạn nhân. Khi tới thời điểm thuận lợi chúng sẽ tiến hành các hoạt động ăn cắp thông tin cá nhân, mật khẩu, điều khiển máy tính nạn nhân. Bản chất của Trojan là không tự lây lan mà phải sử dụng phần mềm khác để phát tán. Dựa 5 vào cách hoạt động ta có thể phân chia Trojan thành các loại sau: BackDoor, Adware và Spyware. Worm Sâu máy tính là một loại chương trình máy tính có thể tự nhân bản. Chúng có thể lan truyền khắp mạng Internet và gửi nguồn đến các nút khác mà không cần bất kỳ sự tác động nào. Hơn nữa, sâu máy tính có thể gây tắc nghẽn mạng quy mô lớn [10], [11], [12], [13] và có thể lây nhiễm nhanh chóng hàng triệu máy tính và gây ra thiệt hại lớn về kinh tế và tài chính (ví dụ gửi chính nó tới tất cả địa chỉ email trong danh sách liên hệ, …). Không giống virus, worm không cần đến chương trình chủ để ký sinh mà có thể tồn tại độc lập. Vào thời điểm ban đầu, worm được tạo ra chỉ với mục đích phát tán qua thư điện tử (email). Khi lây vào máy tính, chúng thực hiện tìm kiếm các sổ địa chỉ, danh sách email trên máy nạn nhân rồi giả mạo các email để gửi bản thân chúng tới các địa chỉ thu thập được. Các email do worm tạo ra thường có nội dung “giật gân”, hoặc “hấp dẫn”, hoặc trích dẫn một email nào đó ở máy nạn nhân để ngụy trang. Điều này khiến các email giả mạo trở nên “thật” hơn và người nhận dễ bị đánh lừa hơn. Nhờ những email giả mạo đó mà Worm lây lan mạnh mẽ trên mạng Internet theo cấp số nhân. Bên cạnh Worm lây lan theo cách truyền thống sử dụng email, Worm hiện nay còn sử dụng phương pháp lân lan qua ổ USB. Thiết bị nhớ USB đã trở nên phổ biến trên toàn thế giới do lợi thế kích thước nhỏ, cơ động và trở thành phương tiện lây lan lý tưởng cho Worm. Dựa đặc điểm lây lan mạnh mẽ của Worm, những kẻ viết virus đã đưa thêm vào Worm các tính năng phá hoại, ăn cắp thông tin, … Worm thường kết hợp với các phần mềm độc hại khác BackDoor, Adware… Rootkit Rootkit xuất hiện vào thế kỷ 20, đầu những năm 1990. Vào tháng 2 năm 1994, thuật ngữ "rootkit" lần đầu tiên được sử dụng trong một báo cáo tư vấn bảo mật, CA-1994-01, được thiết kế bởi CERT/CC (Nhóm/Trung tâm Điều phối Ứng Cứu Khẩn Cấp Máy tính) và có tên là "Các cuộc tấn công giám sát mạng đang diễn ra". Thời điểm cập nhật của báo cáo cố vấn bảo mật là ngày 19 tháng 9 năm 1997. Từ khi xuất hiện công nghệ rootkit phát triển rất nhanh và các ứng dụng của nó ngày càng mở rộng và ngày càng khó phát hiện [14]. 6 Ra đời sau các loại virus khác, nhưng rootkit lại được coi là một trong những loại virus nguy hiểm nhất. Bản thân rootkit không thực sự là virus, đây là phần mềm hoặc tập hợp các phần mềm máy tính được lập trình để can thiệp sâu (nhân của hệ điều hành hoặc thậm chí là phần cứng của máy tính) vào hệ thống máy tính với mục tiêu che giấu bản thân nó và các loại phần mềm độc hại khác. Với sự xuất hiện của rootkit, các phần mềm độc hại như trở nên “vô hình” trước những công cụ thông thường thậm chí vô hình cả với các phần mềm diệt virus. Việc phát hiện mã độc và tiêu diệt virus trở nên khó khăn hơn rất nhiều trước sự bảo vệ của rootkit vốn được trang bị nhiều kĩ thuật mới hiện đại. Botnet Bot là những chương trình mã độc được cài lên các máy tính nạn nhân và các máy tính này sẽ nằm trong một mạng lưới được điều khiển bởi tin tặc gọi là mạng Botnet. Tương tự như Backdoor, Botnet cũng cho phép kẻ tấn công truy cập và điều khiển hệ thống máy nạn nhân. Tất cả các máy bị nhiễm cùng một loại Botnet sẽ cùng nhận một chỉ thị lệnh từ một máy chủ điều khiển của kẻ tấn công thông qua các kênh như Internet Relay Chat (IRC) hoặc hệ thống mạng ngang hàng peer-to-peer (P2P). Ngày nay khi đã có trong tay một mạng lưới Botnet, các tin tặc hoặc tổ chức điều khiển Botnet có thể sử dụng chúng như một công cụ chiến tranh mạng, tiêu biểu là tấn công từ chối dịch vụ vào các mục tiêu cụ thể nhằm làm tê liệt hệ thống mạng của một tổ chức hoặc thậm chí là hệ thống mạng của một quốc gia [4]. Ransomeware Các chương trình phần mềm độc hại mã hóa dữ liệu của bạn và đòi tiền chuộc để cung cấp khóa giải mã. Đây là loại mã độc nguy hiểm trong vài năm gần đây và tỷ lệ phần trăm vẫn đang tăng lên. Ransomware thường làm tê liệt các công ty, bệnh viện, sở cảnh sát và thậm chí toàn bộ thành phố [15]. Hầu hết các chương trình Ransomware là Trojans, có nghĩa là chúng phải được lan truyền thông qua kỹ thuật truyền thông. Sau khi được thực thi, chúng sẽ tìm kiếm và mã hóa các tập tin của người dùng trong vòng vài phút, mặc dù một số chủng loại sẽ thực hiện cách tiếp cận chờ đợi và xem. Bằng cách theo dõi người dùng trong vài giờ trước khi thiết lập hành vi mã hóa, quản trị viên của phần mềm độc hại có thể đưa ra chính xác số tiền chuộc mà nạn nhân có thể chi trả và cũng chắc chắn xóa hoặc mã hóa luôn các bản sao lưu được cho là an toàn khác. 7 Ransomware có thể được ngăn chặn giống như mọi loại chương trình phần mềm độc hại khác, nhưng một khi đã được thực thi, rất khó để khắc phục thiệt hại nếu không có bản sao lưu hợp lệ, được xác thực. Theo một số nghiên cứu, khoảng một phần tư số nạn nhân phải trả tiền chuộc, và trong số đó, khoảng 30 phần trăm vẫn không mở khóa các tập tin của họ. Dù bằng cách nào đi nữa, việc giải mã các tệp được mã hóa, nếu có thể có các công cụ cụ thể, khóa giải mã và một chút may mắn. Lời khuyên tốt nhất là đảm bảo bạn có một bản sao lưu ngoại tuyến tốt cho tất cả các tệp quan trọng. Trong những năm gần đây, những kẻ phạm tội đã tìm cách tống tiền thông qua các cuộc tấn công bằng mã hóa Ransomware. Dạng phần mềm độc hại này xáo trộn dữ liệu có giá trị bằng cách mã hóa hầu như không thể phá vỡ và giải mã nó cho đến khi trả tiền chuộc. Đây là một sự thay đổi đáng kể so với các dạng ban đầu của Ransomware như phần mềm hù dọa hoặc khóa. Nó đã làm tăng tác động của Ransomware và mức độ nghiêm trọng của mối đe dọa [16]. 1.4.2. Xác định loại mã độc bằng dịch vụ virustotal Trong luận văn này, mã MD5 của mã độc được sử dụng để tìm kiếm tên của mã độc bằng virustotal [17]. Virustotal là một dịch vụ web phân tích các tệp mã độc và tạo điều kiện thuận lợi cho việc phát hiện nhanh chóng virus, worm, trojan, … và tất cả các loại mã độc được cung cấp bởi các hãng chống virus khác nhau. 1.5. Kỹ thuật phân tích mã độc Ở phần này mô tả hai kỹ thuật chính phân tích mã độc bao gồm: phân tích tĩnh và phân tích động. Chi tiết của hai kỹ thuật này được mô tả dưới đây: 1.5.1. Phân tích động Kỹ thuật phân tích động là kỹ thuật phát hiện hành vi của mã độc bằng cách cho nó thực thi rồi quan sát, ghi lại những thay đổi của nó trong quá trình chạy và sau khi chạy. Và thường thì mã độc sẽ được thực hiện trong máy ảo. Bên cạnh đó sử dụng một số công cụ như SysAnalyzer, Process Explorer, ProcMon, RegShot, IDA pro, Ollydbg, Immunity và các công cụ khác để xác định và các kỹ thuật phân tích hành vi nói chung Error! Reference source ot found.. 8 Với kỹ thuật phân tích động, chuyên gia thực hiện kỹ thuật dịch ngược bằng cách sử dụng các công cụ phân tích như IDA pro, Ollydbg, Immunity để hiểu mã độc bằng cách nhìn thấy cấu trúc của mã độc. Phân tích động mã độc có một lợi thế là nó hoàn toàn có thể khám phá ra mục đích và chức năng của mã độc. Tuy nhiên, nghiên cứu cần thời gian để hiểu được chức năng của mã độc bằng cách phân tích cấu trúc mã độc. Ngoài ra, hầu hết các mã độc hiện đại sử dụng kỹ thuật đóng gói để chỉnh sửa chính nó. Đóng gói là chương trình chỉnh sửa các tệp tin của chương trình khác để nén nội dung của chúng. Khi chương trình đóng gói nén, mã hóa, hoặc chỉnh sửa một chương trình thực thi, thì chương trình đó và chương trình gốc về bên ngoài sẽ khác nhau. Để phân tích mã độc bằng IDA pro, mã độc phải được giải nén. Ví dụ, SysAnalyser là công cụ phân tích tuyệt vời để theo dõi các trạng thái hệ thống và quá trình như là tiến trình đang chạy, các cổng đang mở, các trình điều khiển được nạp, các thư viện được nhập khẩu, các thay đổi register quan trọng, các API được gọi bởi một tiến trình đích, lưu lượng truy cập DNS [19]. 1.5.2. Phân tích tĩnh Phân tích tĩnh là kỹ thuật tìm hiểu hành vi của mã độc mà không thực thi chương trình mã độc. Khi nhắc tới phân tích tĩnh ta nghĩ ngay tới một công cụ vô cùng nổi tiếng là IDA pro. Đây là một công cụ siêu kinh điển để phân tích mã độc, trước đây IDA pro là phân mềm thuần túy disassembly cho người phân tích thấy được mã nguồn dưới dạng mã assembly và bên cạnh đó là một chức năng vô cùng thú vị đó là tham chiếu chương trình sang dạng mã giả C [18] (minh họa hình 1.1). 9 Hình 1.1 Chức năng Pseudocode-A tạo mã giả C của IDA pro Ngoài ra IDA pro có graph overview, giúp ích rất rất nhiều cho việc tìm hiểu một cách tổng quan cách thức đoạn chương trình được thực thi. IDA pro cũng cho phép người dùng chuyển đến một chức năng nhanh chóng bằng cách kích đúp vào tên chức năng trong cửa sổ (minh họa hình 1.2). Hình 1.2 Chương trình được phân tích bởi IDA pro 10 Đây là một nguồn thông tin vô cùng lớn, với kinh nghiệm và thời gian của nhà phân tích kết hợp với kỹ thuật phân tích động để thấy được giá trị của các biến tại thời điểm thực thi để có thể tìm hiểu được hành vi của mã độc. Nhưng với kỹ thuật này người phân tích cần có kinh nghiệm và trình độ nhất định vì mã giả C do phần mềm sinh ra khá khó đọc và cũng có rất nhiều kỹ thuật chống phân tích tĩnh gây khó khăn cho việc phân tích như: mã rối, mã giả, anti-disassembly [20], … 1.6. Kết luận chương 1 Trong chương một sẽ đưa ra bức tranh tổng quan về các kỹ thuật phân tích mã độc hiện tại. Trước những hạn chế của những kỹ thuật phân tích hiện tại và những ưu điểm về độ chính xác của các kỹ thuật trên. Bài toán đặt ra là tối ưu thời gian tiếp cận và giảm thiểu thời gian phân tích. Sau chương này ta thấy được mục tiêu của việc xây dựng một giải pháp phát hiện mã độc để giảm thiểu thời gian phân tích và tăng độ chính xác cho quá trình phân tích. Ngoài ra chương 1 cũng trình bày được một số loại virus phổ biến làm cơ sở để phát hiện các mẫu mã độc. 11
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất