Nghiên cứu phương pháp phân tích phần mềm mã độc

74 1.4K 14
Nghiên cứu phương pháp phân tích phần mềm mã độc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGÔ QUANG HƯNG NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH PHẦN MỀM MÃ ĐỘC LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -o0o - NGÔ QUANG HƯNG NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH PHẦN MỀM MÃ ĐỘC Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: Hà Nội – 2014 TS PHÙNG VĂN ỔN LỜI CAM ĐOAN Tôi xin cam đoan kết đạt luận văn thân nghiên cứu, tổng hợp thực Toàn điều trình bày luận văn cá nhân tham khảo tổng hợp từ nguồn tài liệu khác Tất tài liệu tham khảo, tổng hợp trích dẫn với nguồn gốc rõ ràng Tôi xin chịu hoàn toàn trách nhiệm lời cam đoan Nếu có sai trái, xin chịu hình thức kỷ luật theo qui đinh Hà Nội, tháng 10 năm 2014 Học viên Ngô Quang Hưng LỜI CẢM ƠN Tôi muốn bày tỏ lòng biết ơn sâu sắc tới người giúp đỡ trình làm luận văn Đặc biệt xin cám ơn TS Phùng Văn Ổn, với lòng kiên trì, thầy bảo chi tiết, cho lời nhận xét quí báu theo sát bước làm luận văn Đồng thời xin gửi lời cảm ơn tới thầy cô giáo giảng dạy khoa Công nghệ thông tin – Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội truyền đạt kiến thức cho suốt thời gian học tập nghiên cứu vừa qua Tôi xin chân thành cảm ơn quan, bạn bè, đồng nghiệp, gia đình người thân chia sẻ, giúp đỡ, động viên, tạo điều kiện thuận lợi để hoàn thành nhiệm vụ học tập hoàn thành luận văn Hà nội, tháng 10 năm 2014 Học viên Ngô Quang Hưng MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT DANH MỤC HÌNH VẼ, SƠ ĐỒ, BẢNG MỞ ĐẦU CHƯƠNG 1-TỔNG QUAN VỀ MALWARE 1.1 Khái niệm Malware 1.2 Phân loại Malware 1.3 Lược sử Malware 13 1.4 Vai trò việc phân tích Malware 17 CHƯƠNG 2– CƠ CHẾ HOẠT ĐỘNG CỦA MALWARE 18 2.1 Tìm hiểu cấu trúc PE file 18 2.2 Hình thức lây nhiễm 19 2.2.1 Qua thiết bị lưu trữ 19 2.2.2 Qua mạng Internet 20 2.3 Đối tượng lây nhiễm 22 2.3.1 Các phần mềm: 22 2.3.2 Đoạn mã (Script): 23 2.3.3 Shortcuts: 24 2.3.4 Một số loại tập tin khác: 24 2.4 Khởi động hệ thống 25 2.5 Phá hoại hoạt động khác 28 2.6 Cơ chế tự bảo vệ mã độc 29 2.6.1 Cơ chế tạo áo giáp (Armouring): 29 2.6.2 Cơ chế chống theo dõi (Anti Heuristic): 29 2.6.3 Cơ chế chống phần mềm phân tích (Anti-Analysis software) 30 2.6.4 Chống gỡ rối ảo hóa (Anti debugger & Virtual Machine) 30 2.7 Kỹ thuật đóng gói để che giấu mã độc 31 2.8 Xu hướng phát triển Malware 33 CHƯƠNG 3- PHƯƠNG PHÁP PHÂN TÍCH MALWARE 35 3.1 Qui trình phân tích Malware 35 3.2 Kiểm tra, phát lấy mẫu Malware 35 3.2.1 Kiểm tra phần mềm khởi động hệ thống 35 3.2.2 Tiến trình Windows 36 3.2.3 Kiểm tra chuỗi (string) tiến trình 37 3.2.4 Tiêm mã độc 39 3.2.5 Phát che giấu mã độc với phương pháp phân tích Entropy 39 3.2.6 Sử dụng hàm băm (Hash) để xác định phần mềm độc hại 41 3.2.7 Lấy mẫu Malware 41 3.3 Thiết lập môi trường phân tích an toàn 42 3.4 Phân tích tĩnh 44 3.4.1 Phân tích hàm Windows API để phát phần mềm nghi vấn 44 3.4.1.1API : 44 3.4.1.2Các thành phần Windows API 44 3.4.1.3Tại phải tìm hiểu Windows API 44 3.4.2 Dịch ngược phân tích mã Assembly 45 3.4.3 Unpacking 45 3.5 Phân tích động 48 3.5.1 Sử dụng công cụ Sandbox 49 3.5.2 Giám sát hoạt động tiến trình 50 3.5.3 Sử dụng chương trình gỡ rối (Debugger) 50 3.5.4 Sử dụng Volatility để rà quét, phân tích mã độc RAM 52 3.6 Một số tiêu chí đánh giá an ninh tiết trình 53 CHƯƠNG – HỆ THỐNG HỖ TRỢ PHÂN TÍCH MALWARE 54 4.1 Hệ thống phân tích Malware tự động Cuckoo Sandbox 54 4.1.1 Giới thiệu hệ thống 54 4.1.2 Cài đặt hệ thống 55 4.1.3 Sử dụng Cuckoo Sandbox để phân tích Malware 56 4.2 Xây dựng phần mềm đánh giá an ninh tiến trình 59 4.2.1 Giới thiệu phần mềm 59 4.2.2 Biểu đồ Use case 60 4.2.3 Một số kịch phần mềm 62 4.2.4 Chương trình 63 KẾT LUẬN 66 TÀI LIỆU THAM KHẢO 67 PHỤ LỤC: MỘT SỐ HÀM WINDOWS CẦN CHÚ Ý KHI PHÂN TÍCH MALWARE 68 DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt AIM AOL Instant Messenger Tin nhắn nhanh mạng AOL AOL America Online America Online CERT Computer emergency response team Đội phản ứng nhanh máy tính DDoS Distributed denial-of-service Từ chối dịch vụ phân tán DUMP Dump Kế xuất EIP EIP Thanh ghi trỏ lệnh HTML Virtual Machine Máy ảo IAT Import Address Table Bảng địa hàm nhập IDE Integrated development environment Môi trường phát triển tích hợp IM Instant Messaging Tin nhắn nhanh Malware Malicious software Mã độc National Institute of Standards and Viện công nghệ tiêu chuẩn Technology quốc gia Hoa Kỳ NSRL National Software Reference Library Thư viện tham khảo phần mềm quốc gia Hoa Kỳ OEP Original Entry Point Điểm vào chương trình gốc OTP One Time Password Mậ lần PC Personal computer Máy tính cá nhân PCAP Packet capture Bắt gói tin PE Portable Executable Thực thi khả chuyển RAT Remote Administration Tool Công cụ quản trị từ xa SMS Short Message Service Tin nhắn ngắn TCP Transmission Control Protocol Giao thức điều khiển truyền vận VCL Virus Creation Laboratory Phòng thí nghiệm tạo virus VM Virtual Machine Máy ảo VX Virus eXchange Trao đổi virus NIST DANH MỤC HÌNH VẼ, SƠ ĐỒ, BẢNG Hình 2.1: Cấu trúc PE 18 Hình 2.2 Đóng gói để che giấu mã độc 32 Hình 3.1 Qui trình phân tích Malware 35 Hình 3.2 Kiểm tra phần mềm khởi động hệ thống 36 Hình 3.3 Quản lý tiến trình kiểm tra chữ ký file thực thi 37 Bảng 3.1: Độ xác thống kê dựa Entropy 41 Hình 3.4 Mô hình hệ thống ảo hóa 42 Hình 3.5: Xác định phần mềm đóng gói với PEID 46 Hình 3.6: Tìm OEP phần mềm gốc 46 Hình 3.7: Lưu phần mềm gốc giải đóng gói nhớ 47 Hình 3.8: Kết xuất file exe từ nhớ 47 Hình 3.9: Sửa lại Import Address Table 48 Bảng 3.2: Phát tiến trình liệt kê tập tin doc phương pháp giám sát 50 Bảng 3.3: Một số tiêu chí đánh giá an ninh tiến trình 53 Hình 4.1 Sơ đồ hệ thống phân tích mã độc Cuckoo Sandbox 55 Hình 4.2 UC01 - Tổng quan 60 Hình 4.3 UC02 – Kiểm tra tiến trình 60 Hình 4.4 UC03 – Liệt kê kết nối mạng 61 Hình 4.5 UC04 – Kiểm tra Hash 61 Hình 4.6 UC05 – Kiểm tra hàm API 61 Hình 4.7 Chức kiểm tra tiến trình 63 Hình 4.8 Xác định kết nối mạng 64 Hình 4.9 Kiểm tra mã Hash tập tin 64 Hình 4.10 Phân tích bảng Import Table đưa hàm nghi vấn 65 MỞ ĐẦU Thế giới chứng kiến thay đổi lớn có phát triển nhanh chóng mặt, ngành công nghệ thông tin; phần mềm mã độc không nằm xu hướng Từ thời điểm lý thuyết tự nhân phần mềm máy tính John von Neuman (1903-1957) đưa (năm 1941) đến xuất virus phải thập kỷ, với bùng nổ Internet mã độc theo bùng nổ theo Song song với việc ứng dụng công nghệ thông tin, mã độc len lỏi vào mặt đời sống, gây thiệt hại vô nghiêm trọng kinh tế lẫn an ninh, quốc phòng Khi nói chống phần mềm độc hại, ta thường nói tới phần mềm chống virus lúc phần mềm chống virus có hiệu Do đó, việc nâng cao ý thức cảnh giác để phòng ngừa phân tích, vô hiệu hoá phần mềm độc hại trở thành nhu cầu tất yếu Vấn đề phân tích, chống phần mềm mã độc vô số hãng bảo mật giới tiến hành đầu tư nghiên cứu; từ hãng lớn Internet McAfee, Kaspersky, Norton … nhóm phát triển phần mềm đơn lẻ Một số ứng dụng điển hình kể đến như: McAfee Antivirus, Kaspersky Antivirus, Norton Antivirus, Microsoft Security Essentials, AVG Anti-Virus … Tuy nhiên, phát triển phần mềm mã độc trước chương tình diệt virus bước nên việc nghiên cứu, phân tích mã độc trở nên quan trọng cấp thiết để hạn chế tối đa thiệt hại phần mềm mã độc gây Trên sở kiến thức an toàn thông tin, lý thuyết hệ điều hành nhu cầu thực tế, hướng tới xây dựng chương trình đánh giá an ninh tiến trình nhằm hỗ trợ trình phát mã độc Ngoài ra, đề tài phát triển để ứng dụng phục vụ cho quan phủ (an ninh, quốc phòng…) tổ chức, cá nhân có nhu cầu Ngoài phần Mở đầu, Kết luận Phụ lục, nội dung luận văn chia làm chương chính: Chương Tổng quan Malware: chương giới thiệu vấn đề Malware, lịch sử xu phát triển chúng Chương Cơ chế hoạt động Malware: chương mô tả khái quát hàm API, cấu trúc file PE Windows số kỹ thuật mà Malware sử dụng để lây nhiễm trì tồn chúng hệ thống Chương Phương pháp phân tích Malware: chương mô tả bước phân tích Malware xây dựng quy trình phân tích Malware Chương Xây dựng phần mềm hỗ trợ phân tích Malware: áp dụng lý thuyết đưa Chương để xây dựng phần mềm hỗ trợ phân tích Malware Giới thiệu hệ thống phân tích Malware tự động Cuckoo Sandbox Phần Kết luận: trình bày tổng hợp kết nghiên cứu luận văn định hướng nghiên cứu Luận văn đạt số kết khả quan việc nghiên cứu kỹ thuật phân tích Malware, đưa quy trình phân tích đồng thời xây dựng công cụ hỗ trợ phân tích hiệu Tuy nhiên, luận văn tránh khỏi thiếu sót, mong nhận ý kiến đóng góp, nhận xét thầy cô giáo bạn đọc để kết nghiên cứu ngày hoàn thiện 58 Hit Ctrl-C to quit 4.1.3.5 Kết phân tích Kết trả sau phiên phân tích mẫu malware conficker Category FILE Started On Completed On Duration Cuckoo Version 2014-10-28 22:24:34 2014-10-28 22:25:01 27 seconds 1.1 Thông tin Malware File name malware.exe File size 56832 bytes File type PE32 executable (DLL) (GUI) Intel 80386, for MS Windows, UPX compressed CRC32 4A98923E MD5 cc7edb2e4300ac539259f3ffde0f1ab6 SHA1 692caa0d6fd13028bec25cdca15f13522d1b3a7d SHA256 f9ad7be3c4f8cf06d2f5f1784c8c9eae81f15559a2c906a2ded9ba51cc659e09 SHA512 ec96df9d96f772b2b901397ae660f906c708f15f575955e3eaa56d8abbe05fca9 348942c9ca0a6052039b72c2f3a2d1abf960acdb131b597af2f8d76c1850ec1 None Ssdeep PEiD None matched Yara None matched VirusTotal VirusTotal Scan Date: 2014-06-19 13:45:06 Detection Rate: 45/54 (Expand) Hàm gọi KERNEL32.DLL: - 0x10015064 - LoadLibraryA 0x10015068 - GetProcAddress 0x1001506c - VirtualProtect - 0x10015070 - VirtualAlloc 0x10015074 - VirtualFree Các file bị tác động - C:\DOCUME~\home\LOCALS~1\Temp\CC7EDB2E4300AC539259F3FFDE0F1 AB6.EXE C:\DOCUME~\home\LOCALS~1\Temp\CC7EDB2E4300AC539259F3FFDE0F1 - AB6.EXE.123.Manifest C:\WINDOWS\system32\kernel32.dll 59 - C:\WINDOWS\system32\tsmsph.dll PIPE\lsarpc C:\ C:\WINDOWS\Registration\R000000000008.clb Các khóa Registry bị tác động - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tlavuctmx - HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tlavuctmx\Par ameters HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Locale - HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Locale\Alter nate Sorts HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Language Groups HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\LanguagePack\SurrogateFallback \CLSID\{0CA545C6-37AD-4A6C-BF92-9F7610067EF5}\InprocHandler32 \CLSID\{0CA545C6-37AD-4A6C-BF92-9F7610067EF5}\InprocHandlerX86 \CLSID\{0CA545C6-37AD-4A6C-BF92-9F7610067EF5}\LocalServer HKEY_CLASSES_ROOT\CLSID\{0CA545C6-37AD-4A6C-BF929F7610067EF5} HKEY_CLASSES_ROOT\CLSID\{0CA545C6-37AD-4A6C-BF929F7610067EF5}\TreatAs 4.2 Xây dựng phần mềm đánh giá an ninh tiến trình 4.2.1 Giới thiệu phần mềm Từ lý thuyết Chương tiêu chí đưa Bảng 3.3 luận văn chọn xây dựng phần mềm hỗ trợ trình kiểm tra, phát Malware Phần mềm xây dựng có chức như: - Phân phân tích tiến trình chạy hệ thống dựa tiêu chí: chữ kí số, entropy file, kết nối mạng, so sánh hàm API file với bảng danh mục hàm API nhạy cảm để chấm điểm an ninh tiến trình - Hỗ trợ kiểm tra nhanh file có bị nén hay mã hóa không cách tính Entropy File - Phần mềm kiểm tra cho phép kiểm tra tập tin nghi vấn có phải phần mềm độc hại phát không dựa vào sở liệu Virustotal.com 60 Mã nguồn phần mềm viết Net phiên 4.0, sử dụng công cụ phát triển Microsoft Visual studio 2012 Phần mềm xây dựng thử nghiệm hệ điều hành Windows 64b 4.2.2 Biểu đồ Use case 4.2.1.1 UC01 tổng quan Kiểm tra tiến trình * Liệt kê kết nối mạng * * * * * Kiểm tra mã Hash * Người phân tích * Kiểm tra hàm API file Hình 4.2 UC01 - Tổng quan 4.2.1.2 UC02 Kiểm tra tiến trình Khởi động Windows «uses» Kiểm tra chuỗi file «uses» «uses» Tính Entropy Kiểm tra tiến trình «uses» «uses» Kiểm tra chữ ký số «uses» «uses» Kiểm tra kết nối mạng Kiểm tra mã Hash So sánh hàm API Hình 4.3 UC02 – Kiểm tra tiến trình 61 4.2.1.3 UC03 Liệt kê kết nối mạng Hình 4.4 UC03 – Liệt kê kết nối mạng 4.2.1.4 UC04 Kiểm tra Hash Hình 4.5 UC04 – Kiểm tra Hash 4.2.1.5 UC05 Kiểm tra hàm API Hình 4.6 UC05 – Kiểm tra hàm API 62 4.2.3 Một số kịch phần mềm 4.2.2.1 Kiểm tra tiến trình Số UseCase UC02 Tên UseCase Kiểm tra tiến trình Miêu tả Liệt kê danh sách tiến trình chạy hệ thống, xác định vị trí file thực thi tiến trình, kiểm tra chữ ký số file thực thi, tính Entropy file thực thi, xác định tiến trình cha Bôi đậm tiến trình nghi vấn Cho phép xếp tiến trình theo tiêu chí Chấm điểm an ninh cho tiến trình Tác nhân Người phân tích Tiền điều kiện Phần mềm phải chạy quyền quản trị hệ thống Đảm bảo thành công Liệt kê lấy đường dẫn tất tiến trình Kịch Đối với cấu hình kiểm tra tiến trình lúc thực thi, người dùng cần chạy phần mềm với quyền quản trị Đối với cấu hình không kiểm tra tiến trình lúc thực thi, người dùng chon Menu Công cụ - Tiến trình Hiển thị bảng tiến trình tham số kèm theo Ngoại lệ Không hiển thị hết tiến trình không xác định đường dẫn file thực thi không chạy phần mềm quyền quản trị 4.2.2.1 Kiểm tra Hash Số UseCase UC04 Tên UseCase Kiểm tra Hash Miêu tả Kiểm tra Hash thư viện Virustotal.com kiểm tra Hash thư viện NSRL Tác nhân Người phân tích Tiền điều kiện Đối với kiểm tra Hash qua thư viện vủa Virustotal.com cần có kết nối Internet Đối với kiểm tra Hash thư viện NSRL cần co thư viện NSRL hệ thống đặt đường dẫn thiết lập file cấu hình Đảm bảo thành công Xác định file chuối Hash kiểm tra có nghi vấn hay 63 không Kịch Người phân tích chọn tập tin muốn kiểm tra nhập mã Hash muốn kiểm tra vào ô nhập liệu Ấn nút kiểm tra Nếu kiểm tra qua thư viện vủa Virustotal.com, hiển thị kết trả Nếu kiểm tra qua thư viện NSRL, hiển thị thông báo có tìm thấy không tìm thấy chuỗi Hash thư viện NSRL Trường hợp tìm thấy, Hash kiểm tra tập tin đánh giá đáng tin cậy Trường hợp không tìm thấy, Hash kiểm tra tập tin nghi ngờ chưa đưa vào thư viện NSRL Ngoại lệ Không có kết nối Internet, hiển thị thông báo Không tìm thấy file NSRL, hiển thị thông báo 4.2.4 Chương trình Chương trình đánh giá an ninh tiến trình phần cụ thể hóa kiến thức luận văn thu qua nghiên cứu cấu trúc file, chế lây nhiễm, chế ẩn giấu Malware Là công cụ hữu ích cho tìm kiếm phát Malware, bước quan trọng trình phân tích Malware Chương trình cho phép liệt kê tất tiến trình hoạt động hệ thống, Tìm đường dẫn tập tin tiến trình, tính Entropy kiểm tra chữ ký số tập tin Hình 4.7 Chức kiểm tra tiến trình 64 Hình 4.8 Xác định kết nối mạng Hình 4.9 Kiểm tra mã Hash tập tin 65 Hình 4.10 Phân tích bảng Import Table đưa hàm nghi vấn 66 KẾT LUẬN Luận văn đạt kết sau: - Giới thiệu khái niệm lý thuyết Malware - Giới thiệu kiến thức sở bao gồm lý thuyết file thực thi môi trường Windows, lý thuyết API Winsdows - Mô tả vấn đề phương pháp phân tích Malware từ đưa quy trình bước cụ thể để phân tích Malware - Xây dựng phần mềm hỗ trợ phân tích Malware Kết tham khảo có ý nghĩa cho nhà phân tích Malware, nhà đầu tư vào phần mềm AntiVirus, tài liệu tham khảo hữu ích cho nghiên cứu ứng dụng phân tích Malware Định hướng nghiên cứu tương lai: Đối với nghiên cứu tương lai, quan tâm việc đào sâu kết đạt được, đồng thời nghiên cứu phương pháp phát phân tích Malware ẩn sâu nhân hệ thống (rootkit) Yêu cầu xác minh nguồn gốc lây nhiễm nội dung thông tin bị khỏi hệ thống yêu cầu thường trực nhà phân tích mã độc việc phân tích mã độc lĩnh vực kinh tế, an ninh quốc phòng Do đó, hướng nghiên cứu cần đầu tư tương lai 67 TÀI LIỆU THAM KHẢO [1] http://www.symantec.com/connect/blogs/manual-unpacking-malware-samples [Truy cập: 17/5/2014] [2] JEONG, G et al, "Generic unpacking using entropy analysis" Malicious and Unwanted Software (MALWARE), 2010 5th International Conference on, 2010 pp 115-121 [3] LYDA, R and HAMROCK, J , “Using Entropy Analysis to Find Encrypted and Packed Malware” , Security & Privacy, IEEE , vol.5, no.2, pp.40-45 [4] Michael Sikorski, Andrew Honig, No Starch Press(2012) Practical Malware Analysis pp 13, 40-50, 67-69 [5] Michael Ligh , Steven Adair , Blake Hartstein , Matthew Richard , D (2010) Malware Analyst's Cookbook and DVD, p 200 [6] Michael Hale Ligh, Andrew Case, Jamie Levy, "The Art of Memory Forensics”, Wiley Pp.90-91 [7] NIST, 2005, “Guide to Malware Incident Prevention and Handling” Pp 15-23 [8] Peter Szor , 2005 “The Art of Computer Virus Research and Defense” Addison Wesley Professional Section 6.2 [9] Tyler Wrightson, 2014, “Advanced Persistent Threat Hacking: The Art and Science of Hacking Any Organization”, pp 120-126 68 PHỤ LỤC: MỘT SỐ HÀM WINDOWS CẦN CHÚ Ý KHI PHÂN TÍCH MALWARE STT Tên hàm accept AdjustTokenPrivileges AttachThreadInput BitBlt CertOpenSystemStore CheckRemoteDebuggerPre sent Connect ControlService CreateFile 10 CreateFileMapping 11 CreateMutex 12 CreateProcess 13 CreateRemoteThread Chú thích Nghe kết nối tới Socket Được sử dụng để kích hoạt vô hiệu hóa quyền truy cập cụ thể Các mã độc sử dụng phương pháp tiêm vào tiến trình (process injection) thường sử dụng hàm Keylogger phần mềm gián điệp thường dùng hàm để thu thập kiện nhập từ thiết bị ngoại vi chuột, bàn phím, đầu đọc mã vạch,… Sử dụng để chép liệu ảnh (graphic) Spyware thường dùng hàm để chụp ảnh hình Hàm dùng để truy cập tới kho lưu trữ chứng số hệ thống Hàm kiểm tra phần mềm có bị debug không Hàm dùng kỹ thuật anti-debugging malware Được dùng để kết nối tới máy chủ Đây hàm cấp thấp nên vượt qua số phần mềm kiểm soát Dùng để tắt, mở, hay gửi lệnh điều khiển tới dịch vụ chạy Malware dùng hàm để điều khiển thành phần khác Cần phân tích mã để biết mục đích lời gọi hàm Tạo mở file có sẵn hệ thống Malware dùng hàm để đọc sửa file PE gọi nạp chúng lên nhớ (process injection) Malware dùng hàm để đảm bảo có mọt thể (instance) hệ thống Tạo thực thi mọt tiến trình 14 CreateService Dùng để tạo từ xa luồng (thread) process khác Malware dùng hàm để tiêm mã vào tiến trình khác Tạo dịch vụ vó thể khởi động hệ thống 15 CreateToolhelp32Snapshot Dùng để lưu lại toàn thông tin tiến trình, 69 16 DeviceIoControl 17 EnableExecuteProtectionS upport 18 EnumProcesses 19 EnumProcessModules 20 FindFirstFile/FindNextFile 21 FindResource 22 FindWindow 23 FtpPutFile 24 GetAdaptersInfo 25 GetKeyState luồng module chúng để phục vụ việc giả danh tiến trình hay luồng Dửi thông điệp điều khiển từ phân lớp người dùng (phân lớp việc cấp quyền truy cập đến phần hệ thống) tới trình điều khiển thiết bị Hàm thường Malware kernel dùng dễ dàng động để gửi thông tin phân lớp người dùng phân lớp nhân hệ thống Đây ví dụ hàm không diễn giải cụ thể Microsoft Hàm thay đổi thiết lập bảo vệ hệ thống Data Execution Protection (DEP) làm cho hệ thống dễ bị công Hàm dùng để liệt kê tiến trình chạy hệ thống, Malware thường dùng hàm để tìm tiến trình tiêm mã độc vào Liệt kê thành phần gọi tiến trình Được dùng để duyệt qua thư mục liệt kê tập tin Để tìm Resource bên file thực thi hay thư viện động (DLL) Malware lưu trữ chuỗi, thiết lập hay mã độc bên Resource này, phát thấy hàm bên phần mềm, cần kiểm tra phần rsrc bên PE header file Hàm để tìm cửa sổ mở hình, hàm dùng kỹ thuật anti-debugging Ví dụ, tìm cửa sổ có tiêu đề Sysinternal, OllyDbg,… Một hàm cấp cao để tải liệu lên máy chủ FTP Dùng để lấy thông tin thiết lập mạng hệ thống Các Backdoor thường dùng hàm để khảo sát thông tin máy bị lây nhiễm Đây hàm dùng kỹ thuật chống ảo hóa, dùng kiểm tra địa MAC hệ thống để xác định Malware có nằm máy ảo VMware không Xác định tính trạng phím nhấn, Keylogger dùng hàm để bắt ký tự gõ phím 70 26 GetDC Spyware dùng hàm để chụp ảnh hình 27 GetModuleFilename Hàm trả tên thành phần tiến trình nạp cùng, Malware dùng hàm để định vị, sửa mã bên thành phần nạp tiến trình tìm vị trí thích hợp tiến trình để tiêm mã độc vào Trả địa hàm bên DLL nạp lên nhớ Trả thời gian tính từ hệ thống khởi động Hàm Malware dùng kỹ thuật antidebugging Trả thông tin phiên Windows sử dụng Trả đường dẫn thư mục Windows (thường C:\Windows) Khởi tạo kết nối Internet 28 GetModuleHandle 29 GetProcAddress 30 GetTickCount 31 GetVersionEx 32 GetWindowsDirectory 33 InternetOpen 34 InternetOpenUrl 40 MapViewOfFile Mở kết nối từ URL sử dụng giao thức FTP, HTTP hay HTTPS Kiểm tra tiến trình có trạng thái bị debug không Kiểm tra tài khoản sử dụng có quyền Administrator không Hàm cấp thấp để nạp thư viện động (DLL), phần mềm thông thường dùng hàm LoadLibrary để nạp thư viện này, để che giấu tồn mã độc thường dùng hàm thư viện cấp thấp Hàm dùng để nạp thư viện cần dùng tiến trình (không kể thư viện nạp lúc tiến trình khởi động, thư viện nạp lúc khởi động rõ ImportTalbe PE file) Nạp resource từ file PE vào nhớ Malware dùng resource để lưu chuỗi, thiết lập hay mã độc, hàm thường Malware dùng Malware dùng hàm để ghi, sửa nội dung file 41 MmGetSystemRoutineAdd Tương tự hàm GetProcAddress 35 IsDebuggerPresent 36 IsNTAdmin 37 LdrLoadDll 38 LoadLibrary 39 LoadResource 71 ress dùng nhân hệ thống 42 Module32First/Module32N Liệt kê Module nạp ext Đặt lịch để chạy phần mềm định trước, 43 NetScheduleJobAdd mã độc dùng hàm để đặt lịch khởi động chúng sau chúng “ngủ đông” để tránh phát hay để thực mục đích Trả thông tin file thư mục, Rootkit thường 44 NtQueryDirectoryFile móc (hook) vào hàm để thay đổi kết trả nhằm ẩn 45 NtQueryInformationProces Trả thông tin tiến trình, hàm s dùng anti-debugging có thông tin trả tương tự hàm CheckRemoteDebuggerPresent Được dùng để thay đổi mức quyền phần 46 NtSetInformationProcess mềm vượt qua chế bảo vệ Data Execution Prevention (DEP) Mở handle đến tiến trình chạy hệ 47 OpenProcess thống Handle dùng để đọc ghi nhớ tiến trình tiêm mã vào tiến trình Xuất chuỗi phát phần mềm debug, 48 OutputDebugString dùng kỹ thuật anti-debugging Dùng để thực thi mã luồng khác Malware 49 QueueUserAPC dùng hàm để tiêm mã độc vào tiến trình khác Đọc nhớ tiến trình định 50 ReadProcessMemory 51 RegOpenKey Đọc sửa khóa registry 52 RtlCreateRegistryKey/ RtlWriteRegistryValue 53 send Tạo/ghi khóa registry chế độ nhân hệ thống Gửi liệu bên 54 SetFileTime Sửa đổi thời gian tạo, truy cập, chỉnh sửa file 55 SetWindowsHookEx Thường sử dụng spyware, keylogger 56 ShellExecute Thực thi phần mềm khác Lần theo dấu vết hàm ta tìm tiến trình mà Malware tạo 57 Toolhelp32ReadProcessMe Đọc nhớ tiến trình định mory 72 58 URLDownloadToFile Tải file từ máy chủ web lưu vào ổ đĩa 59 VirtualAllocEx Được dùng kỹ thuật tiêm mã độc, cho phép định vị vùng nhớ cấp phát cho tiến trình Hàm làm thay đổi thuộc tính bảo vệ khu vực nhớ Đơn cử Malware chuyển chế độ vùng Private Date nhớ tiến trình từ Đọc/ Ghi (Read/write) sang thành Đọc/Ghi/Thực thi (Read/Write/Execute), để thực thi đoạn mã tiêm lên Khởi chạy phần mềm 60 VirtualProtectEx 61 WinExec 62 WriteProcessMemory 63 WSAStartup Có thể dùng để ghi vào nhớ tiến trình khác, hàm dùng kỹ thuật tiêm mã độc vào nhớ tiến trình Được sử dụng để khởi tạo chức mạng mức độ thấp Việc tìm kiếm lời gọi đến WSAStartup cách để xác định vị trí bắt đầu chức liên quan đến mạng [...]... 2.2 Đóng gói để che giấu mã độc Đóng gói mã là kỹ thuật phổ biến sử dụng để che dấu mã độc Kỹ thuật đóng gói xuất hiện trong phần lớn các mẫu malware, do đó điều này tạo ra một thách thức vô cùng lớn cho người phân tích mã, đặc biệt là khi sử dụng phương pháp phân tích tĩnh để phân tích một lượng lớn mẫu mã độc hại Bởi vì, người phân tích cần phải xác định đoạn mã độc hại bị mã hóa hay nén để thực hiện... nhiễm qua các phần mềm: Các phần mềm được viết ra có chứa sẵn mã độc, hoặc các phần mềm chính thống bị sửa đổi để thêm mã độc vào được phát tán tràn lan trên mạng Internet Các phần mềm Crack (bẻ khóa) có tỉ lệ chứa mã độc trong đó rất cao Nhiều khi vì chủ quan hay vì muốn dùng phần mềm mà không phải trả tiền, người dùng sẵn sàng bất chấp mọi nguy cơ bị lây nhiễm mã độc để dùng những phần mềm này 2.2.2.2... cũng như giải mã một cách nhanh chóng và hiệu quả trước khi bắt tay vào thực hiện quá trình phân tích mã độc Do nhiều mẫu virus vẫn duy trì trạng thái mã hóa và nén, người phân tích phải xác định chúng bằng phân tích thủ công hoặc sử dụng kỹ thuật phân tích ngược (reverse engineering) Yêu cầu đặt ra là cần phải xác định nhanh chóng và chính xác đoạn mã độc nén và giải nén Phương pháp phân tích entropy... cho người phân tích mã độc giải quyết được yêu cầu này Mặc dù mã hóa có nhiều thuận lợi để mã độc ẩn giấu mã của chúng, nhưng cũng chính điều này lại làm chúng dễ bị phát hiện hơn Vì, một phần mềm thông thường không có ý đồ lạ thì không cần phải nén hay mã hóa code Nếu một tổ chức muốn bảo mật những đoạn mã nhạy cảm trong phần mềm của họ thì: một là tổ chức đó phải có chữ ký số kèm theo phần mềm, hai... các phương thức tấn công phá hoại hệ thống thông tin và mạng, các phần mềm độc hại là một trong các dạng gây nhiều thiệt hại nhất do khả năng lan truyền nhanh chóng Câu hỏi đặt ra là liệu có cần phân tích mã độc không khi càng ngày những phần mềm đảm bảo an ninh máy tính càng phát triển Câu trả lời luôn là có, vì các phần mềm độc hại được phát triển ngày càng tinh vi và rất khó phát hiện Phần mềm đảm... sẽ được chuyển tới địa chỉ của mã độc, mã độc xử lý ngắt này sau đó trả về đúng chức năng mà ngắt được gọi cần xử lý Trong quá trình xử lý ngắt đó, mã độc sẽ loại bỏ những ngắt ảnh hưởng tới nó Việc này làm cho mã độc trong suốt với phần mềm an ninh Để giải quyết vấn đề này, một số phần mềm Anti Malware sử dụng kỹ thuật “Đào hầm” của riêng mình, nhằm phát hiện ra mã độc ẩn chứa sâu trong bộ nhớ, điển... đọc PDF,… để thực thi những đoạn mã nguy hiểm cho hệ thống bằng cách chèn mã độc vào trong các file tưởng như vô hại trên Trong khuôn khổ nghiên cứu, luận văn chỉ đề cập tới những định dạng file có thể chứa mã thực thi hoặc chứa đoạn lệnh nguy hiểm mà mã độc hay lợi dụng: 2.3.1 Các phần mềm: EXE – Executable File: Một phần mềm có khả năng thực thi, hầu hết các phần mềm chạy trên Windows là định dạng... triển mã độc hiện nay, một số dự đoán xu hướng phát triển của mã độc trong tương lai: - Các loại mã độc với các kỹ thuật chống phân tích được cải tiến - Mã độc trong các thiết bị di động bùng phát do xu hướng di động đã và sẽ phát triển mạnh trong tương lai Mã độc với những kỹ thuật được cải tiến đảm bảo sao cho chúng có thể lây nhiễm trên diện rộng đồng thời trên nhiều nền tảng khác nhau - Mã độc được... gói trở thành công cụ được kẻ viết mã độc hại cải tiến để tăng hiệu quả nhằm lẩn tránh sự phát hiện Kỹ thuật đóng gói (bao gồm kỹ thuật nén và mã hóa) với mục đích che giấu mã độc được kẻ viết mã độc thường sử dụng để chuyển đổi mã thực thi nhị phân sang một định dạng khác nhằm thu gọn mã độc và biến dạng khác biệt hẳn so với ban đầu để tránh sự phát hiện của các phần mềm diệt virus dựa trên cơ sở mẫu... để tránh bị Malware phát hiện, phần mềm dùng để phân tích Malware cũng cần được trang bị những cơ chế ngụy trang, che dấu nhất định Đặc biệt, trong trường hợp có thể tự phát triển được công cụ thì chúng ta có thể lợi dụng các kỹ thuật mà Malware sử dụng để ẩn giấu, ngụy trang để đối phó nhằm ẩn giấu phần mềm phân tích Còn nếu chỉ dừng ở mức sử dụng các phần mềm phân tích sẵn có, chúng ta cũng có thể ... 3.5 Phân tích động Phân tích động bước kiểm tra, phân tích mã độc thực thi Kỹ thuật bước tiếp thứ trình phân tích Malware Phân tích động thường thực sau phân tích tích tĩnh Malware Phân tích. .. lớn cho người phân tích mã, đặc biệt sử dụng phương pháp phân tích tĩnh để phân tích lượng lớn mẫu mã độc hại Bởi vì, người phân tích cần phải xác định đoạn mã độc hại bị mã hóa hay nén để thực... Khi mã độc tiêm vào phần mềm, hành vi mã độc có vỏ bọc phần mềm bị tiêm mã, dẫn tới tránh nghi ngờ người dùng Có phương pháp tiêm mã độc vào phần mềm: Một là, tiêm mã độc vào file, cách mà virus

Ngày đăng: 03/11/2015, 17:00

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan