Nghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máy
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG TRẦN QUỐC PHƯƠNG PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC TẤN CƠNG APT LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI – 2019 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG TRẦN QUỐC PHƯƠNG PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC TẤN CƠNG APT Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) Người hướng dẫn khoa học: TS Đỗ Xuân Chợ HÀ NỘI – 2019 i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu Luận văn trung thực chưa công bố cơng trình khác Tác giả Trần Quốc Phương ii LỜI CẢM ƠN Sau tháng nỗ lực tìm hiểu, nghiên cứu thực Luận văn nội dung “ Phương pháp phân tích mã độc cơng APT” hồn thành Ngồi nỗ lực thân, nhận nhiều quan tâm, giúp đỡ từ phía nhà trường, cán hướng dẫn, thầy cơ, gia đình, bạn bè khoa quan làm việc Chính điều mang lại cho động viên lớn để tơi hồn thành tốt luận văn Trước hết tơi xin gửi lời cảm ơn chân thành đến thầy cô trường Học viện Bưu Viễn thơng nói chung, thầy Phịng sau đại học Khoa Cơng nghệ thơng tin nói riêng, truyền đạt kiến thức quý báu cho tơi suốt q trình học tập Đặc biệt, q trình làm đề tài luận văn tơi xin gửi lời cảm ơn sâu sắc tới TS Đỗ Xuân Chợ (Giảng viên – Học viện Bưu Viễn thơng) người tận tình định hướng, hướng dẫn tơi hồn thành luận văn tốt nghiệp Do thời gian, trang thiết bị kiến thức cịn hạn chế Tơi mong nhận góp ý từ phía thầy cơ, để luận văn hoàn thiện Xin chân thành cảm ơn! Tác giả Trần Quốc Phương iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC HÌNH vi DANH MỤC CÁC TỪ VIẾT TẮT ix LỜI MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ TẤN CÔNG APT VÀ CÁC GIẢI PHÁP PHÒNG CHỐNG 1.1 Tổng quan APT 1.1.1 Khái niệm APT 1.1.2 Các đặc điểm APT 1.2 Kỹ thuật công APT 1.2.1 Giai đoạn 1: Reconnaissance (do thám thông tin) 1.2.2 Giai đoạn 2: Gaining Access/Exploitation (truy nhập/xâm nhập) 1.2.3 Giai đoạn 4: Internal Recon and Expand Access (thăm dò mạng nội mở rộng truy nhập) 1.2.4 Giai đoạn 6: Gathering and Extracting Data (thu thập đánh cắp liệu): .6 1.2.5 Giai đoạn 8: Command & Control and Erasing Tracks (duy trì kết nối tới máy chủ điều khiển bên ngồi xóa dấu vết) .6 1.3 Tấn công APT Việt Nam Thế giới 1.4 Tổng quan phương pháp phát phòng chống công APT 1.4.1 Giám sát giai đoạn Reconnaissance 1.4.2 Giám sát giai đoạn Exploitation iv 1.4.3 Giám sát giai đoạn Internal Recon 1.4.4 Gıám sát giai đoạn Expand Access .10 1.4.5 Giám sát giai đoạn Gathering Data .10 1.4.6 Gıám sát giai đoạn Data Exflitration 11 1.4.7 Giám sát giai đoạn Command & Control .12 1.4.8 Giám sát giai đoạn Erasing Tracks .13 CHƯƠNG CÁC PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC TẤN CÔNG APT .15 2.1 Phương pháp phân tích mã độc thủ cơng .15 2.1.1 Giới thiệu phân tích tĩnh 15 2.1.2 Yêu cầu hệ thống phân tích 16 2.1.3 Xậy dựng môi trường 16 2.1.4 Thực phương pháp 17 2.2 Sử dụng hệ thống tự động phân tích hành vi mã độc APT 18 2.2.1 Công nghệ Sandbox 19 2.2.2 Các mục tiêu hệ thống phân tích tự động (Sandbox) 20 2.2.3 Những thông tin Sandbox thu thập .20 2.3 Phương pháp phân tích hành vi mã độc thơng qua dịng liệu (network traffic analysis) 26 2.3.1 Thu thập dòng liệu mạng 26 2.3.2 Phương pháp phân tích mã độc thơng qua phân tích dịng liệu mạng 28 2.4 Kỹ thuật phân tích mã độc APT .30 2.4.1 Nhận diện hệ thống bị nhiễm mã độc 30 v 2.4.2 Xác định nguồn lây nhiễm 31 2.4.3 Thu thập mẫu mã độc 32 2.4.4 Phân tích thơng tin sơ lược 33 2.4.5 Phân tích hoạt động .35 2.4.6 Phân tích tĩnh 35 2.4.7 Viết báo cáo tổng kết hành vi hoạt động mã độc 36 2.5 Kết luận chương 36 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ .37 3.1 Giới thiệu công cụ hỗ trợ thực nghiệm 37 3.2 Phân tích mã độc APT 39 3.2.1 Thực nghiệm phân tích động .39 3.2.2 Thực nghiệm phân tích tĩnh .46 3.2.3 Giám sát đường truyền 55 3.3 Kết luận chương .57 KẾT LUẬN .58 TÀI LIỆU THAM KHẢO .60 vi DANH MỤC HÌNH Hình 1-1: Các giai đoạn công APT Hình 1-2: Khung hệ thống phát cơng APT Hình 2-1: Công cụ CFF Explorer 17 Hình 2-2: Cơng cụ OllyDbg 18 Hình 2-3: Cơng cụ IDA .18 Hình 2-4:Thơng tin chi tiết file mã độc 22 Hình 2-5: Thơng tin Signature 22 Hình 2-6: Thơng tin chụp hình chạy mã thực thi 23 Hình 2-7: Thông tin files 23 Hình 2-8: Thơng tin Registry .24 Hình 2-9: Thơng tin Mutexes .24 Hình 2-10: Các thông tin Static Analysis .24 Hình 2-11: Thơng tin String 25 Hình 2-13; Các thơng tin phân tích hành vi 25 Hình 2-14: Mã độc thực kết nối 26 Hình 2-15: Các điểm cần giám sát hệ thống mạng 27 Hình 2-16: Mơ hình tích hợp điểm giám sát .28 Hình 2-17: Cấu hình Rule phát cơng 29 Hình 2.18 Quy trình phân tích mã độc APT 30 Hình:2.18 Quy trình phân tích sơ lược 34 Hình 3.1 Giao diện VMware Workstation 10 37 Hình 3.2 Số lần mã độc thực thi lấy tên thiết bị .40 Hình 3.3 Số lần thực thi/unpack mã độc 40 Hình 3.4 Danh sách địa IP 41 Hình 3.5 Một số cổng kết nối 41 Hình 3.6 Một số cổng kết nối UDP 42 Hình 3.7 Data gửi phản hồi từ Server 42 Hình 3.8 Thơng báo kết nối với URL 43 vii Hình 3.9 Kết nối đến địa msftncsi Microsoft 43 Hình 3.10 Kết nối thất bại đến IP Port 43 Hình 3.11 Kết nối thất bại đến mã độc đến máy chủ điều khiển .44 Hình 3.12 Ping đến IP 44 Hình 3.13 Thơng tin IOC mã độc APT .46 Hình 3.14 Kết phân tích hành vi mã độc 48 Hình 3.15 Kết phân tích Command line console output 48 Hình 3.16 Tệp thực thi mã độc 48 Hình 3.17 Các kết phần mềm chống mã độc phát 49 Hình 3.18 Kết phân tích Yara 50 Hình 3.19 Kết phân tích hàm IsDebuggerPresent .50 Hình 3.20 Hàm khởi động mã độc 51 Hình 3.21 Danh sách String mà OllyDBG đọc 51 Hình 3.22 Danh sách tiến trình máy nạn nhân 52 Hình 3.24 Các API đáng ngờ gọi .53 Hình 3.25 Các API thư viện windows .53 Hình 3.26 Hàm nhận diện debugger 54 Hình 3.27 Registry change .54 viii DANH MỤC BẢNG Bảng 3.1 Danh sách API mã độc thực thi 45 Bảng 3.2 Kết trả thông tin mã độc 47 Bảng 3.3 Danh sách thuộc tính Pcap 55 47 ứng dụng lừa đảo, tập tin phân tích phần lõi giữ kết nối, đội lớp cơng cụ gian lận trị chơi CSGO Đặc biệt nhắm vào tổ chức giáo dục, quân Palestine Danh sách tập tin độc chiến dịch Symatec công bố [15] Kết trả thông tin mã độc mã độc từ virus total bảng 3.2 Bảng 3.2 Kết trả thông tin mã độc Size: 386.5KB Type: PE32+ executable (DLL) (GUI) x86-64, for MS Windows MD5: 45e6bff250181d493d89f7e1b44f85d9 SHA1: 717b2c6d572f4804e0d3f1de081f56ae9d8dc8d1 SHA256: fb9581e5432392c7fac47b5883a381659345c08d3c26764e689f3110d5d6be53 Tại phần Summary, ta Cuckoo cung cấp chi tiết Size, Type, loại mã hash, checksum MD5, SHA1, SHA256, SHA512, CRC32 ssdeep Về Size: Dung lượng tệp tin malware 386.5KB Về Type, cung cấp thông tin dạng file PE32 executable (console) Intel 80386, for MS Windows – Tức file thực thi 32Bit hiển thị dạng cửa sổ dòng lệnh (console), chạy Tập lệnh Intel 80386 (x86 hay 32Bit) chạy Microsoft Windows Về loại mã Hash, người phân tích thu được tới loại mã, mã giúp lưu thơng tin malware để đối chiếu sau với loại virus tương tự tương lai mà khơng cần phải lưu lại tồn file malware, gây nặng sở liệu, đặc biệt sở liệu lớn malware b) Phân tích thu thập dấu hiệu 48 SIGNATURES Hình 3.14 Kết phân tích hành vi mã độc Tại phần Signature người phân tích phát dấu hiệu là: - Command line console output was observed (44 events) Hình 3.15 Kết phân tích Command line console output Tại phần thấy buffer chương trình ghi ra, cuckoo đánh dấu màu xanh, tức phần có khả gây hại khơng chắn Trong phần tạm thời chưa thấy có đáng nghi ngờ ngồi việc chương trình viết cửa sổ dịng lệnh kí tự - Tệp thực thi PDB (1 event) Hình 3.16 Tệp thực thi mã độc 49 Tại phần cung cấp cho người phân tích thơng tin PDB path chương trình khởi chạy Malware khởi chạy tạo file G0Pr0+.pdb File pdb chương trình sinh chương trình chủ bật tính debugging complier file exe Trong file chứa thơng tin complier, chứa thông tin thư viện form tài ngun mà chương trình sử dụng Trích xuất file giúp cho q trình reverse engineer - Kết phát mã độc công cụ chống mã độc phát Hình 3.17 Các kết phần mềm chống mã độc phát Phần cung cấp cho engine nhận diện chương trình mã độc Có Engines từ sở liệu IRMA phát mã độc 37 Engines từ sở liệu Virustotal phát mã độc c) Kết phân tích Yara 50 Hình 3.18 Kết phân tích Yara Từ hình 3.18 thấy Yara đóng góp để phát chức malware chống debug, chạy keylogger, … (ví dụ tính anti debug - kỹ thuật sử dụng để vơ hiệu hóa Debugger, nhằm gây khó khăn việc dịch ngược, làm tốn thời gian phân tích mẫu.) nhận dạng qua string: IsDebuggerPresent địa 0x42e0cc Hình 3.19 thể kết phân tích hàm chống dịch ngược Hình 3.19 Kết phân tích hàm IsDebuggerPresent d) Kết dùng cơng cụ OllyDBG IDA Pro 6.8 Dùng IDA Pro để xem cấu trúc chương trình Kết cấu trúc chương trình khởi động thể hình 3.20 51 Hình 3.20 Hàm khởi động mã độc Dùng OllyDBG để tiến hành chạy mã độc Kết thu mã độc thể hình 3.21 Hình 3.21 Danh sách String mà OllyDBG đọc Dùng IP 1.1.1.1 để kiểm tra xem máy nạn nhân có kết nối mạng hay khơng thu danh sách tiến trình Hình 3.22 thể danh sách tiến trình (process) máy nạn nhân 52 Hình 3.22 Danh sách tiến trình máy nạn nhân Tiếp theo dùng chương trình Module32Next để lấy thơng tin tiến trình Hình 3.23 Thơng tin chi tiết tiến trình Từ hình 3.23 thấy giống chương trình hack game Đây lý số chương trình nhận “gametool” Thực kiểm tra API đáng ngờ gọi Kết API ngờ gọi thể hình 3.24 53 Hình 3.24 Các API đáng ngờ gọi Dùng IDA Pro 6.8 để đối chiếu với OllyDBG Các string tìm thấy binary API thư viện windows Hình 3.25 Các API thư viện windows Một số kết thực nghiệm khác dùng cơng cụ phân tích tĩnh: 54 Hình 3.26 Hàm nhận diện debugger Hình 3.27 Registry change Có thể nhận thấy hàm main chương trinh cho phép chương trình khác gọi Từ thấy rằng: Đa số tính phát tương đồng Phân tích động Phân tích tĩnh, từ kết luận cơng APT tạo botnet có tính tương đồng số tính năng: Anti Debug Anti VM Keylogger Packed Get system information (computer name/local time) Thay đổi registry APT: Kết nối nhiều lần đến IP cổng Kết nối nhiều lần đến IP khác cổng Kết nối đến nhiều địa IP Request nhận response code lạ 55 Các cổng kết nối (Port nguồn – Port đích) khơng nằm danh sách biết đến (0-1023) Tính keylogger: Content-Length request response chênh lệch lớn (khơng có thống kê xác nhiên theo quan sát nằm khoảng Down/Up Up/Down = 0.01) FuzzingHash request response tương đồng (giống 70% trở lên) 3.2.3 Giám sát đường truyền Theo dõi lưu lượng truy cập vào xem phương pháp tốt để ngăn chặn việc cài cắm cửa hậu, ngăn chặn việc trích xuất liệu bị đánh cắp Kiểm tra lưu lượng truy cập mạng giúp cảnh báo cho nhân viên an ninh hành vi bất thường có liên quan tới hành vi công Một tường lửa ứng dụng web triển khai gateway giúp bảo vệ ứng dụng web khỏi công RFI, SQL injection… thường dùng cho việc tiếp cận mạng tổ chức từ phía kẻ cơng Giám sát lưu lượng nội bộ, sử dụng tường lửa giúp cho quản trị viên xem xét chi tiết cách người dùng tương tác mạng công ty, đồng thời giúp xác định bất thường lưu lượng nội a) Trích xuất thơng tin Dưới bảng thuộc tính trích xuất từ tệp tin pcap thực thi mã độc APT sanbox Các thuộc tính thống kê, tổng hợp từ pcap thống kê số cặp cổng ip nguồn đến cổng khác máy đích hay từ ip tới q nhiều máy đích dấu hiệu cơng APT Hay cổng nguồn đích khơng với giao thức dấu hiệu công APT Bảng 3.3 Danh sách thuộc tính Pcap 56 Stt Tên thuộc tính Kiểu liệu continuous Số packets đến dst_ip thông qua src_ip continuous Số packets đến dst_ip thông qua protocol continuous Số bytes đến dst_ip thông qua src_ip continuous Số bytes đến dst_ip thông qua protocol continuous Số cặp src_ip / src_port đến địa dst_ip / dst_port khác continuous Số cặp src_ip / src_port đến địa dst_ip / dst_port discrete Số cặp src_ip dst_ip giống discrete Số packet đến đích ip khác cổng discrete Kiểm cổng nguồn đích có khớp với giao thức không discrete Mã hash src_ip, dst_ip, src_port, dst_port, protocol Src_packets Dst_dackets Src_bytes Dst_bytes Ssrc_diff_dst Sdst_diff_src Land Ssip_diff_port Port_match_protocol 10 Hash_5_tuple Giải thích Từ thuộc tính Pcap sử dụng trình phát cơng APT phương pháp học máy Những thuộc tính bất thường mang lại hiệu tốt cho trình hành phát vi bất thường mã độc cơng APT Tuy nhiên có đặc điểm quan trọng cơng APT người phân tích thu lưu lượng mạng bất 57 thường cơng APT thực phân tích mã độc APT Sanbox mã độc chết khơng cịn khả liên kết với máy chủ điều khiển C&C Chính người phân tích khó thu Pcap hữu ích 3.3 Kết luận chương - Trình bày số cơng cụ hỗ trợ phương pháp phân tích mã độc công APT Đây công cụ phổ biến chuyên gia sử dụng trình phân tích mã độc nói chung phân tích mã độc APT nói riêng - Trình bày số kết thực nghiệm phân tích tĩnh phân tích động mã độc cơng APT Kết phân tích cho thấy số hàm mã độc APT Tuy nhiên, kết nhiều hạn chế kẻ cơng APT tiến hành công APT tinh vi trình thiết kế điều khiển loại mã độc - Trình bày số thuộc tính hành vi thu thập từ Pcap công APT Tuy nhiên, mã độc APT thực kết nối với C&C khơng có hành vi bất thường thu thập từ Pcap cho thấy mã độc công đánh cắp liệu 58 KẾT LUẬN Kết đạt Những kết luận văn: - Trình bày tổng quan công APT nguy hiểm công tổ chức phủ Bên cạnh đó, luận văn liệt kê số chiến dịch công APT diễn thực tế - Trình bày số giải pháp kỹ thuật nhằm phát cảnh báo công APT hệ thống Các giải pháp nhằm phát cảnh báo công APT thường dựa vào quy trình cơng giai đoạn cụ thể cơng - Trình bày quy trình phân tích mã độc APT dựa phương pháp phân tích tĩnh phân tích động - Trình bày số cơng cụ hỗ trợ phương pháp phân tích mã độc công APT Đây công cụ phổ biến chuyên gia sử dụng trình phân tích mã độc nói chung phân tích mã độc APT nói riêng - Trình bày số kết thực nghiệm phân tích tĩnh phân tích động mã độc cơng APT Kết phân tích cho thấy số hàm mã độc APT Tuy nhiên, kết nhiều hạn chế kẻ cơng APT tiến hành công APT tinh vi trình thiết kế điều khiển loại mã độc - Trình bày số thuộc tính hành vi thu thập từ Pcap công APT Tuy nhiên, mã độc APT thực kết nối với C&C khơng có hành vi bất thường thu thập từ Pcap cho thấy mã độc công đánh cắp liệu 59 Hướng phát triển luận văn Trên kết làm luận văn nghiên cứu phát triển theo hướng sau: - Tiếp tục nghiên cứu biến thể mã độc APT biện pháp, kỹ thuật phòng chống mã độc APT độc APT Nghiên cứu ứng dụng cơng cụ Big data cho việc phân tích mã 60 TÀI LIỆU THAM KHẢO [1] PGS.TS Lương Thế Dũng, Hoàng Thanh Nam (2013), Giáo trình Phân tích mã độc, Học Viện Kỹ Thuật Mật Mã [2] Nikolaos Virvilis-Kollitiris (2015), Detecting Advanced Persistent threats through Deception Techniques, Athens University of Economics and Business [3] Patrick Jungles (2012), Mitigating Pass-the-Hash Attacks and Other Credential Theft Techniques, Microsoft [4] J.A de Vries (2012), Towards a roadmap for development of intelligent data analysis based cyber attack detection system, Delft University of Technology [5] Niemela Jarno (2015), Statistical Analysis Of Malware Defence Methods, Jamk University Of Applied Sciences [6] Deana Shick, Angela Horneman (2014), Investigating Advanced Persistent Threats 1, Carnegie Mellon University [7] Micheal Hale Ligh (2011), Malware Analyst’s Cookbook and DVD, Wiley Publishing, Inc [8] Michael Sikorski and Andrew Honig (2012), Practical Malware Analysis, No Starch Press, Inc [9] Patrick Jungles and Mark Simos (2012), Mitigating Pass-the-Has (PtH) Attacks and Other Credential Threft Techniques, Microsoft Coporation [10] Kevin Cardwell (2016), Building Virtual Pentesting Labs for Advanced Penetration Testing – Second Edition, CERT-EU [11] Richard Bejtlich (2013), The Pratice of Network Security Monitoring, No Starch Press, Inc 61 [12] Nart Villeneuve and James Bennett (2012), Detecting APT Activity with Network Traffic Analysis, Trend Micro [13] Beth E.Binde, Russ McRee, Terrence J.O’Connor (2011), Assessing [14] Oubound Traffic to Uncover Advanced Presistent Threat, SANS Technology Institute [15] https://content.connect.symantec.com/sites/default/files/2018- 08/APT-C-23%20IOCs.pdf ... hành vi mã độc gọi hệ thống phân tích mã độc tự động 20 Hệ thống thực thi mã độc theo dõi ghi nhận lại hành vi Chương trình, ưu điểm phương pháp phát mã độc dạng Zero-day (các loại mã độc chưa... chức cuối phương pháp giám sát phát công APT qua giai đoạn Chương II: Tập trung phân tích biện pháp kỹ thuật phân tích mã độc cơng APT phổ biến phân tích mã độc thủ cơng, phân tích mã độc tự động... kỹ thuật số phương pháp phổ biến hay dùng có hiệu cao q trình phân tích mã độc cơng APT phân tích tĩnh mẫu mã độc, phân tích hành vi Việc phát mã độc hệ thống khó, nhiên việc phân tích mẫu mã độc