Ngày nay, phát tán mã độc đã thực sự trở thành một ngành “công nghiệp” trong các hoạt động gián điệp và phá hoạt hệ thống, phần mềm hiện nay. Theo thống kê từ các cơ quan, tổ chức, doanh nghiệp chuyên về An ninh, an toàn thông tin, hoạt động phát tán mã độc không chỉ tổn hại ở những phát triển mà ngay tại các nước đang phát triển như Việt Nam cũng trở thành mảnh đất màu mỡ cho các hacker tấn công. Mã độc được phát tán tại hầu hết các cơ quan quan trọng từ các cơ quan Chính phủ tới các cơ quan tài chính như ngân hàng, viện nghên cứu, trường đại học,… Các phần mềm, ứng dụng chứa mã độc được tồn tại dưới rất nhiều hình thức và có khả năng lây lan vô cùng lớn.
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT - HÀN KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CHUYÊN ĐỀ NGÀNH: MẠNG MÁY TÌNH TÊN ĐỀ TÀI: TRIỂN KHAI HỆ THỐNG PHÂN TÍCH MÃ ĐỘC TRÊN NỀN HỆ ĐIỀU HÀNH IOS BẰNG PHẦN MỀM MÃ NGUỒN MỞ CUCKOO SANDBOX Họ tên GVHD : Th.s Lê Tự Thanh SVTH :Trần Bình Dương Lớp : CCMM07A009 Đà Nẵng, tháng năm 2016 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox MỤC LỤC ĐÀ NẴNG, THÁNG NĂM 2016 MỤC LỤC DANH MỤC HÌNH ẢNH MỞ ĐẦU CHƯƠNG 1-TỔNG QUAN VỀ HỆ ĐIỀU HÀNH IOS VÀ MÃ ĐỘC I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH IOS 1.1.ĐỊNH NGHĨA IOS : 1.2.TỔNG QUAN VỀ KIẾN TRÚC CỦA IOS: 7 II.TỔNG QUAN VỀ MÃ ĐỘC 1.1 KHÁI NIỆM VỀ MÃ ĐỘC 1.2 PHÂN LOẠI MÃ ĐỘC 1.3 LƯỢC SỬ VỀ MÃ ĐỘC 1.4 GIỚI THIỆU VỀ VAI TRÒ CỦA VIỆC PHÂN TÍCH MÃ ĐỘC 8 15 18 CHƯƠNG 2- PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC .20 2.1 QUI TRÌNH PHÂN TÍCH MÃ ĐỘC 20 2.2 KIỂM TRA, PHÁT HIỆN VÀ LẤY MẪU MÃ ĐỘC 22 2.2.1 Kiểm tra phần mềm khởi động hệ thống .23 2.3 THIẾT LẬP MÔI TRƯỜNG PHÂN TÍCH AN TOÀN 23 2.4 PHÂN TÍCH ĐỘNG 24 2.4.1 Sử dụng công cụ Sandbox 25 2.4.2 Giám sát hoạt động tiến trình 26 CHƯƠNG – HỆ THỐNG PHÂN TÍCH MÃ ĐỘC .28 3.1 HỆ THỐNG PHÂN TÍCH MÃ ĐỘC TỰ ĐỘNG CUCKOO SANDBOX 28 3.1.1 Giới thiệu hệ thống 28 3.1.2 Cài đặt hệ thống 29 3.2.2.1 Cài đặt Python 29 3.2.2.2 Cài đặt Pydeep 29 3.2.2.3 Cài đặt MongoDB 30 3.2.2.4 Cài đặt Yara 30 3.2.2.5 Chỉnh sửa quyền cho Tcpdump để Cuckoo thực với quyền quyền quản trị 30 3.2.2.6 Cài đặt Cuckoo Sandbox .30 3.1.3 Sử dụng Cuckoo Sandbox để phân tích Mã độc 31 3.1.3.1 Khởi động virtualbox 31 3.1.3.2 Khởi động Cuckoo .31 3.1.3.3 Khởi động dịch vụ web 31 KẾT LUẬN 32 TÀI LIỆU THAM KHẢO 33 SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox DANH MỤC HÌNH ẢNH HÌNH 1.1: KIẾN TRÚC HỆ ĐIỀU HÀNH IOS HÌNH 1.2: THỐNG KÊ CÁC LOẠI MÃ ĐỘC MỚI XUẤT HIỆN THEO NĂM 14 HÌNH 2.1 QUI TRÌNH PHÂN TÍCH MÃ ĐỘC 20 HÌNH 2.2 MÔ HÌNH HỆ THỐNG ẢO HÓA 24 HÌNH 3.1 GIAO DIỆN PHẦM MỀM CUCKOO SANDBOX 28 HÌNH 3.2 SƠ ĐỒ HỆ THỐNG PHÂN TÍCH MÃ ĐỘC CUCKOO SANDBOX 29 SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox MỞ ĐẦU Ngày nay, phát tán mã độc thực trở thành ngành “công nghiệp” hoạt động gián điệp phá hoạt hệ thống, phần mềm Theo thống kê từ quan, tổ chức, doanh nghiệp chuyên An ninh, an toàn thông tin, hoạt động phát tán mã độc không tổn hại phát triển mà nước phát triển Việt Nam trở thành mảnh đất màu mỡ cho hacker công Mã độc phát tán hầu hết quan quan trọng từ quan Chính phủ tới quan tài ngân hàng, viện nghên cứu, trường đại học,… Các phần mềm, ứng dụng chứa mã độc tồn nhiều hình thức có khả lây lan vô lớn 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á SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox nhân có nhu cầu Nhằm góp phần để hiểu rõ hoạt động hành vi mã độc tác hại viêc phát tán mã độc hệ thống, thiết bị thông minh,… Đề tài tìm hiểu “Triển khai phân tích mã độc trền hệ điều hành IOS mã nguồn mở Cuckoo Sandbox” Ngoài phần Mở đầu, Kết luận Phụ lục, nội dung đồ án chia làm chương chính: Chương Tổng quan Hệ điều hành IOS vàMã độc: chương giới thiệu hệ điều hành IOS vấn đề Mã độc, lịch sử xu phát triển chúng Chương Phương pháp phân tích Mã độc: Chương mô tả bước phân tích Mã độc xây dựng quy trình phân tích Mã độc Chương Xây dựng phần mềm hỗ trợ phân tích Mã độc: áp dụng lý thuyết đưa Chương để xây dựng phần mềm hỗ trợ phân tích Mã độc Giới thiệu hệ thống phân tích Mã độc tự động Cuckoo Sandbox Phần Kết luận: trình bày tổng hợp kết nghiên cứu đồ án định hướng nghiên cứu Đồ án đạt số kết khả quan việc nghiên cứu kỹ thuật phân tích Mã độc, đư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, đồ á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 SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox CHƯƠNG 1-TỔNG QUAN VỀ HỆ ĐIỀU HÀNH IOS VÀ MÃ ĐỘC I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH IOS 1.1.Định nghĩa iOS : iOS viết tắt từ Internetwork Operating System, hệ điều hành hoạt động phần cứng router Cisco, điều khiển hoạt động định tuyến chuyển mạch router.Trên hệ điều hành iOS gồm có phần : aaaa- bbbb-cccc : - aaaa : dòng sản phẩm áp dụng hệ điều hành - bbbb : tính iOS - cc : định dạng file iOS, nơi iOS chạy, kiểu nén iOS Ví dụ : tên iOS : C3620-i-mz_113-8T.bin iOS hệ điều hành thiết bị di động Apple.Ban đầu hệ điều hành phát triển để chạy iPhone, sau mở rộng để chạy thiết bị Apple iPod touch, iPad Apple TV Giao diện người dùng iOS dựa sở thao tác tay hình cảm ứng thiết bị Apple 1.2.Tổng quan kiến trúc iOS: Khi mà lợi ích việc định tuyến qua mạng trở nên phát triển, đòi hỏi router phải hỗ trợ số giao thức cung cấp chức khác, cầu nối mạng Cisco thêm tính cho phần mềm router.Kết có nhiều chức cầu nối định tuyến ngày Nhưng cấu trúc hệ điều hành giống ban đầu.iOS cấu trúc đơn giản, nhỏ, thiết kế dựa vào ràng buộc nhớ, tốc độ, phần cứng router SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox Hình 1.1: Kiến trúc hệ điều hành iOS II.TỔNG QUAN VỀ MÃ ĐỘC 1.1 Khái niệm Mã độc Mã độc hại (Mã độc hay Maliciuos code) phần mềm chèn 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 tính sẵn sàng hệ thống Hiện nay, mã độc không xuất máy tính mà xuất thiết bị điện tử, thiết bị số khác điện thoại di động, thiết bị điều khiển từ xa… 1.2 Phân loại Mã độc Có nhiều cách phân loại mã độc khác nhau, dựa vào tiêu chí khác Tuy nhiên, định nghĩa đưa NIST cách định nghĩa phổ biến ngành khoa học máy tính ngày 1.1.1 Virus: Là loại mã độc hại (Maliciuos code) có khả tự nhân lây nhiễm vào file, phần mềm máy tính Như vậy, suy virus máy tính phải luôn bám vào vật chủ (đó file liệu file ứng dụng) để lây lan Các phần mềm diệt virus dựa vào đặc tính để thực thi việc phòng chống/diệt virus, để quét file thiết bị lưu quét file trước lưu xuống ổ cứng, Điều giải thích phần mềm diệt virus PC đưa thông báo “phát virus không diệt được” thấy có dấu hiệu hoạt động virus PC, “vật mang virus” lại nằm máy khác nên thực thi việc xoá đoạn mã độc hại SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox 1.1.2 Compiled Virus virus mà mã thực thi dịch hoàn chỉnh trình biên dịch để thực thi trực tiếp từ hệ điều hành Các loại boot virus (như Michelangelo Stoned), file virus (như Jerusalem) phổ biến năm 80 virus thuộc nhóm này, compiled virus pha trộn boot virus va file virus phiên 1.1.3 Interpreted Virus tổ hợp mã nguồn mà thực thi hỗ trợ ứng dụng cụ thể dịch vụ cụ thể hệ thống Một cách đơn giản, virus kiểu tập lệnh, ứng dụng gọi thực thi Macro virus, scripting virus virus nằm dạng Macro virus phổ biến ứng dụng Microsoft Office tận dụngkhả kiểm soát việc tạo mở file để thực thi lây nhiễm Chúng ta phân biệt macro virus scripting virus sau: macro virus tập lệnh thực thi ứng dụng cụ thể, scripting virus tập lện chạy service hệ điều hành Melisa ví dụ xuất sắc macro virus, Love Stages ví dụ cho scripting virus 1.1.4 Worm: phần mềm có khả tự nhân tự lây nhiễm hệ thống nhiên có khả “tự đóng gói”, điều có nghĩa worm không cần phải có “file chủ” để chứa nhiễm vào hệ thống Như vậy, thấy dùng phần mềm quét file không diệt worm hệ thống worm không “bám” vào file vùng đĩa cứng Mục tiêu worm bao gồm việc làm lãng phí nguồn lực băng thông mạng phá hoại hệ thống (xoá file, tạo backdoor, thả keylogger, ) Worm có đặc trưng khả công lan rộng nhanh chóng không cần tác động người (như khởi động máy, chép file hay đóng/mở file) Nhìn chung, Worm chia làm loại: - Network Service Worm: Lan truyền cách lợi dụng lỗ hổng bảo mật mạng, hệ điều hành ứng dụng Sasser ví dụ cho loại sâu - Mass Mailing Worm: Là dạng công qua dịch vụ mail, nhiên tự đóng gói để công lây nhiễm không bám vào vật chủ email Khi sâu lây nhiễm vào hệ thống, thường cố gắng tìm kiếm sổ địa tự gửi thân đến địa thu nhặt Việc gửi đồng thời cho toàn địa thường gây tải cho mạng cho máy chủ mail Netsky, Mydoom ví dụ cho thể loại SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox 1.1.5 Trojan Horse: Là loại mã độc hại đặt theo tích “Ngựa thành Troa” Trojan horse không tự nhân Nó lây vào hệ thống với biểu ban đầu ôn hoà thực chất bên có ẩn chữa đoạn mã với mục đích gây hại Trojan lựa chọn phương thức để gây hại sau: - Tiếp tục thực thi chức phần mềm mà bám vào, bên cạnh thực thi hoạt động gây hại cách riêng biệt (ví dụ gửi trò chơi dụ cho người dùng sử dụng, bên cạnh phần mềm đánh cắp password) - Tiếp tục thực thi chức phần mềm mà bám vào, sửa đổi số chức để gây tổn hại (ví dụ trojan giả lập cửa sổ login để lấy password) che giấu hành động phá hoại khác (ví dụ trojan che dấu cho tiến trình độc hại khác cách tắt hiển thị hệ thống) - Thực thi phần mềm gây hại cách núp danh phần mềm hại (ví dụ trojan giới thiệu trò chơi tool mạng, người dùng cần kích hoạt file liệu PC bị xoá hết) 1.1.6 Malicious Mobile Code: Là dạng mã phần mềm gửi từ xa vào hệ thống mà không cần đến lời gọi thực người dùng hệ thống Malicious Mobile Code coi khác với virus, worm đặc điểm không nhiễm vào file không tìm cách tự phát tán Thay khai thác điểm yếu bảo mật xác định đó, kiểu công thường tác động đến hệ thống cách tận dụng quyền ưu tiên ngầm định để chạy mã từ xa Các công cụ lập trình Java, ActiveX, JavaScript, VBScript môi trường tốt cho Malicious mobile code Một ví dụ tiếng kiểu công Nimda, sử dụng JavaScript Kiểu công Nimda thường biết đến công hỗn hợp (Blended Atatck) Cuộc công bắt đầu người dùng mở email độc web-browser Sau nhiễm vào máy, Nimda cố gắng sử dụng sổ địa email máy để phát tán tới máy khác Mặt khác, từ máy bị nhiễm, Nimda cố gắng quét máy khác mạng có thư mục chia sẻ mà không bảo mật, Nimda dùng dịch vụ NetBIOS phương tiện để chuyển file nhiễm virus tới máy Đồng thời Nimda cố gắng dò quét để phát máy tính có cài dịch vụ IIS có điểm yếu bảo mật Microsoft Khi tìm thấy, copy thân vào server Nếu web client có điểm yếu bảo mật tương ứng kết nối vào trang web này, client SVTH: Trần Bình Dương_CCMM07A 10 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox để cập nhật mẫu chức cho phần mềm đảm bảo an ninh máy tính SVTH: Trần Bình Dương_CCMM07A 19 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox CHƯƠNG 2- PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC 2.1 Qui trình phân tích Mã độc Hình 2.1 Qui trình phân tích Mã độc Mã độc thiết kế nhằm vào mục tiêu thiết bị di động, máy tính bảng (tablet) smartphone để gây thiệt hại làm gián đoạn hoạt động thiết bị Các chương trình nguy hiểm tự cài đặt cài đặt cách vô thức vào thiết bị di động, sau thực chức mà bạn không phép Chúng phát tán qua mạng Internet thông qua trình duyệt động (mobile browser), tải từ kho ứng dụng chí cài đặt qua chức tin nhắn thiết bị Các mục tiêu ngấm ngầm mã độc di động bao gồm thu thập thông tin bí mật, tin nhắn lừa đảo, tiếp thị lừa đảo không mong muốn … SVTH: Trần Bình Dương_CCMM07A 20 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox - Mã độc di động chia làm loại sau: o Phần mềm gián điệp phần mềm quảng cáo (Spyware and Adware) Phần mềm gián điệp ngấm ngầm thu thập thông tin bí mật người sử dụng di động chuyển tiếp đến cho bên thứ ba Trong số trường hợp, phần mềm quảng cáo tiếp thị Đó lý phần mềm gián điệp gọi phần mềm quảng cáo Phần mềm gián điệp sử dụng kết nối di động nạn nhân để chuyển thông tin cá nhân danh bạ, địa chỉ, tin nhắn, lịch sử trình duyệt, phần mềm tải về… Spyware thu thập thông tin thiết bị hệ điều hành (IOS), mã sản phẩm, số IMEI số IMSI để sử dụng cho công sau o Trojans Virus Trojan di động lây nhiễm vào thiết bị cách ẩn chương trình hữu ích chương trình hợp pháp, cài đặt với ứng dụng sau thực hoạt động độc hại Trojan liên quan chặt chẽ với virus di động Kẻ viết phần mềm độc hại thường sử dụng virus di động để chiếm quyền quản trị cao thiết bị truy cập đến file nhớ flash o Các ứng dụng lừa đảo (Phishing Apps) Cũng giống máy tính, kẻ công tạo ứng dụng lừa đảo di động giống dịch vụ hợp pháp đánh cắp thông tin nhạy cảm thông tin xác thực để thực gian lận tài Một ví dụ gần ứng dụng bảo mật giả mạo cho Facebook tuyên bố đảm bảo tài khoản Facebook thực tế đánh cắp thông tin người dùng o Các hoạt động ảo Mã độc di động ngày tinh vi với chương trình hoạt động ngầm thiết bị, tự ẩn nằm đợi thời để hành động, ví dụ phiên giao dịch ngân hàng trực tuyến để công Các hoạt động ẩn thực hoàn toàn vô hình người dùng, thực thi nhiệm vụ kết nối với máy chủ điều khiển mạng máy tính ma để nhận hướng dẫn cho hoạt động Biểu mã độc di động: mã độc di động khác nhiều cách phát tán lây nhiễm vào thiết bị, chúng có triệu chứng chung Dấu hiệu bị nhiễm mã độc bao gồm: hành vi không mong muốn, giảm hiệu thiết bị Mã độc di động làm giảm tuổi thọ pin giảm SVTH: Trần Bình Dương_CCMM07A 21 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox khả xử lý, chiếm quyền điều khiển trình duyệt, gửi tin nhắn trái phép vô hiệu hóa toàn thiết bị o Các kỹ thuật phát mã độc Công cụ phát mã độc dựa hành vi mã độc Nó nhận hai đầu vào, biểu hành vi mã độc; đầu vào lại chương trình kiểm duyệt Công cụ phát mã độc có hai đầu vào sử dụng kỹ thuật phát để xác định phần mềm độc hại hay vô hại Mặc dù hệ thống phát xâm nhập (IDS) công cụ phát mã độc sử dụng nhau, công cụ phát mã độc thường thành phần hệ thống IDS hoàn chỉnh o Quá trình phân tích mã độc, bao gồm tiến trình: - Xây dựng môi trường kiểm soát: Trước thực phân tích nào, cần phải xây dựng môi trường có kiểm soát để thực điều tra kỹ lưỡng Cần tiến hành thực bước sau: cách ly tệp tin nhiễm mã độc; xây dựng mạng riêng biệt; sử dụng công cụ thử nghiệm; trì tệp tin nhật ký hay triển khai môi trường giả lập Sandbox - Phân tích động: Quy trình phân tích động thường thu thập thông tin từ: nhớ, registry, tiến trình dịch vụ chạy Phân tích động bao gồm phân tích mạng, dò quét thiết bị phân tích nội dung tệp tin ưu điểm trình phân tích diễn nhanh hơn, dễ dàng hơn; nhiên, hành vi phân tích được, đơn cử loại virus phát công cụ phân tích không hoạt động nữa, virus chờ đến lúc hoạt động - Phân tích tĩnh: nhằm thực trình phân tích tệp tin khả nghi để lấy kết bổ sung vào CSDL hồ sơ mã độc Việc phân tích tệp tin thực thi thực nhằm xác định mối đe dọa tương lai hệ thống Để tối ưu hóa trình phân tích tĩnh, cần thực công việc như: tiền phân tích, phân loại định dạng tệp tin, phân tích chuỗi ký tự gỡ rối mã nguồn (debugging) 2.2 Kiểm tra, phát lấy mẫu Mã độc Do đó, nghiên cứu phân tích Mã độc không kể đến kiểm tra, phát lấy mẫu Mã độc Đây bước trình phân tích Mã độc Thông tin thu bước tiền đề quan trọng để tiến hành phân tích, làm rõ chức SVTH: Trần Bình Dương_CCMM07A 22 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox Mã độc 2.2.1 Kiểm tra phần mềm khởi động hệ thống Mã độc nhiễm vào máy tính, gần tìm cách khởi động hệ thống để đảm bảo tồn chúng, trừ trường hợp Mã độc thiết kế đặc biệt để hoạt động lần Để làm điều này, Mã độc thường tự ghi giá trị vào số địa định registry để lần khởi động sau hệ điều hành Mã độc tiếp tục gọi Để kiểm tra phần mềm khởi động hệ thống dùng công cụ autoruns, công cụ cho phép hiển thị tất khóa khởi động, thư mục khởi động windows Đồng thời cảnh báo cho người sử dụng khóa khởi động nghi vấn (file liên kết đến khóa chữ ký số, chèn thêm giá trị vào khóa mặc định,…) Từ giao diện phần mềm tạm thời ngắt xóa hẳn hay nhiều khóa khởi động 2.3 Thiết lập môi trường phân tích an toàn Máy ảo (VM – Virtua Machine) giống máy tính (máy khách) bên máy tính khác (máy chủ) Như Hình 3.1, máy khách cài đặt bên hệ thống chủ máy ảo hệ thống chạy máy ảo cách ly với hệ điều hành chủ Mã độc chạy bên máy ảo gây nguy hại cho hệ thống chủ bên Các hệ thống ảo hóa có chức lưu lại trạng thái hoạt động (snapshot), điều giúp quay trở lại trạng thái trước chẳng may hệ thống ảo hóa bị Mã độc làm hư hỏng SVTH: Trần Bình Dương_CCMM07A 23 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox Hình 2.2 Mô hình hệ thống ảo hóa Một số công cụ ảo hóa thườngdùng: - Oracle VM VirtualBox - Vmware workstation 2.4 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 Mã độc Phân tích động thường thực sau phân tích tích tĩnh Mã độc Phân tích động cho ta biết yếu tố giám sát Mã độc chạy kiểm tra hệ thống sau Mã độc thực Khi phân tích tĩnh, nhìn thấy chuỗi dãy số nhị phân hàm cấp thấp, dẫn tới khó xác định xác hành động Mã độc, phân tích động cho phép quan sát Mã độc chúng hoạt động thực với tính chúng lập trình, cách hiệu để xác định tính Mã độc Ví dụ: Khi ta phân tích phần mềm đánh cắp tài liệu lưu qua USB, gặp khó khăn xác định tính bước phân tích tĩnh, phân tích động, qua việc giám sát đọc ghi file tiến trình xác định chức đánh cắp tài liệu Mã độc Mặc dù phân tích động có nhiều điểm mạnh, nên phân tích động sau phân tích tĩnh vì: - Phân tích động bỏ sót tính kích hoạt có điều kiện đặc biệt - Phân tích động dẫn tới làm lộ trình phát phân tích SVTH: Trần Bình Dương_CCMM07A 24 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox Mã độc Mã độc phát bị phân tích, sau gửi thông tin kẻ phát tán Mã độc - Gây nguy an toàn cho mạng hệ thống, chưa biết hết Mã độc có module khả đến đâu Sau đâu xin trình bày số phương pháp phân tích động bản: 2.4.1 Sử dụng công cụ Sandbox Công cụ Sandbox công cụ tạo môi trường an toàn thực thi mã độc mà không sợ ảnh hưởng tới hệ thống thực, công cụ Sandbox sử dụng để phân tích động cách sơ (công cụ Cuckoo Sanbox công cụ vậy) Sandbox có thể: - Ghi dấu hàm API Windows gọi - Sao chép tập tin tao tập tin bị xóa khỏi hệ thống - Lưu nhớ tiến trình Mã độc nhớ toàn hệ thống để phân tích (kết hợp với công cụ Volatility) - Chụp ảnh hình suốt trình thực thi Mã độc - Theo vết lưu kết nối mạng để phân tích Mặc dù có nhiều ưu điểm vậy, phương pháp có số nhược điểm: - Yêu cầu phải đưa toàn thành phần mã độc vào hệ thống Sanbox, phát Mã độc hệ thống, chúng không tồn tập tin thực thi mà thường dạng module với nhiều thành phần cấu hình phức tạp - Môi trường thực thi mã độc môi trường thực tế bị lây nhiễm Do đó, Mã độc cài đặt có chủ đích (hoạt động với tham số đặc biệt) môi trường Sanbox nhiều tính Mã độc không hoạt động - Trong thời gian giám sát giới hạn, mã độc “ngủ” (sleep) thời gian không thực thi chức nó, dẫn tới Sanbox không phát Để giải vấn đề này, số Sanbox hook vào hàm “Sleep” đặt giá trị cho chúng khoảng thời gian ngắn, việc lúc hiệu có nhiều cách để phần SVTH: Trần Bình Dương_CCMM07A 25 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox mềm nằm im không hoạt động thời gian dài phần mềm Sanbox bao quát hết khả - Mã độc dùng chế phát Sanbox để ngứng hoạt động 2.4.2 Giám sát hoạt động tiến trình Giám sát hoạt động tiến trình Mã độc hệ thống giúp biết sơ lược hoạt động, tính tác động Mã độc lên hệ thống Các thành phần cần giám sát: - Các thay đổi Registry, giúp xác định thành phần khác mã độc tác động đến Registry hệ thống - Các file đọc ghi, giúp xác định vị trí file cấu hình Mã độc, file bị Mã độc truy xuất, đánh cắp,… - Các thiết lập kết nối mạng, giúp xác định địa mạng mà Mã độc kết nối tới, nhận lệnh hay gửi liệu đánh cắp - Xác định tiến trình cha tiến trình tạo ra, điều cho phép biết tiến trình kích hoạt mã độc lần theo vết tiến trình bổ sung mã độc tạo SVTH: Trần Bình Dương_CCMM07A 26 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox SVTH: Trần Bình Dương_CCMM07A 27 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox CHƯƠNG – HỆ THỐNG PHÂN TÍCH MÃ ĐỘC 3.1 Hệ thống phân tích Mã độc tự động Cuckoo Sandbox Hình 3.1 Giao diện phầm mềm Cuckoo Sandbox 3.1.1 Giới thiệu hệ thống Cuckoo Sandbox phần mềm mã nguồn mở cho phép phân tích mã độc cách tự động Cuckoo Sandbox tập mã kịch viết ngôn ngữ Python, cho phép gắn thêm thành phần để phân tích Mã độc cách đưa chúng vào môi trường ảo hóa theo dõi hành vi Cuckoo Sandbox thu thập liệu như: - Dấu vết hàm API gọi tất tiến trình Mã độc sinh - Các tập tin tạo, xóa, sửa, tải xuống Mã độc suốt trình thực thi chúng - Trích xuất toàn bộ nhớ (memory dump) tiến trình - Trích xuất toàn bộ nhớ hệ thống - Theo vết việc truyền tải liệu theo định dạng PCAP - Phân tích liệu trích xuất - Phân tích một/ nhiều URL Cuckoo Sandbox hỗ trợ giao diện dòng lệnh giao diện đồ họa web SVTH: Trần Bình Dương_CCMM07A 28 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox Triển khai Cuckoo Sandbox hệ điều hành Ubuntu 14.04 dùng máy ảo VirtualBox làm môi trường phân tích U HM C G bệá i u acy n ot tả th m u ố ậo d ipn ệugV nlt i r iC e u nt w p ecu a Hình 3.2 Sơ đồ hệbhc(kthống phân tích mã độc Cuckoo Sandbox C o l ấ â u 3.1.2 Cài đặt hệ thống cn i hB đ S Các bước cài đặt Cuckoo otho Sandbox môi trường Ubuntu kết hợp với máy íìặax ảo VirtualBox t pcnn hhdC 3.2.2.1 Cài đặt Python P ébà y poi $ Sudo apt-get install python xt hh đ $ Sudo apt-get install python-pip o ưệ n a $ Sudo apt-get install python-dev ,đ mi $ Sudo apt-get install libffi-dev V ẫề i uu $ Sudo apt-get install libssl-dev r t vh 3.2.2.2 Cài đặt Pydeep uà an $ Wget -O http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeepl th b 2.13.tar.gz/download ssdeep-2.13.tar.gz r oU ả xb $ Tar -zxf ssdeep-2.13.tar.gz ) vu ền $ Cd ssdeep-2.13 t u k $ /configure ếC th $ make qạ uy ả SVTH: Trần Bình Dương_CCMM07A 29 a pg e â nt p hệ điều hành IOS Triển khai hệ thống phân tích mã tđộc íy phần mềm mã nguồn mở Cuckoo Sandbox c n h h $ Sudo make install ậ n $ pip install pydeep đ i ề $ apt-get install python-pymongo u 3.2.2.3 Cài đặt MongoDB $ apt-get install mongodb -y k h 3.2.2.4 Cài đặt Yara i ể $ sudo apt-get install autoconf libtool libjansson-dev libmagic-dev libssl-dev n q $ wget https://github.com/plusvic/yara/archive/v3.4.0.tar.gz -O yarau 3.4.0.tar.gz t $ tar -zxf yara-3.4.0.tar.gzr $ cd yara-3.4.0 $ /bootstrap.sh ì n h p $ /configure with-crypto enable-cuckoo enable-magic h $ make â n $ sudo make install t í 3.2.2.5 Chỉnh sửa quyền cho Tcpdump để Cuckoo thực với quyền c quyền quản trị h $ apt-get install libcap2-bin $ setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump 3.2.2.6 Cài đặt Cuckoo Sandbox $ sudo useradd cuckoo #tạo tài khoản $ usermod -a -G vboxusers cuckoo # tài khoản chạy cuckoo tài khoản virtualbox phải đồng $ id cuckoo # kiểm tra tài khoản $ apt-get install git $ git clone git://github.com/cuckoobox/cuckoo.git #tải cài đặt cuckoo SVTH: Trần Bình Dương_CCMM07A 30 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox 3.1.3 Sử dụng Cuckoo Sandbox để phân tích Mã độc Các bước phân tích Mã độc Cuckoo Sandbox 3.1.3.1 Khởi động virtualbox $ sudo virtualbox Sau khởi động virtualbox cần chạy máy ảo lần để Cuckoo nhận địa IP máy ảo 3.1.3.2 Khởi động Cuckoo $ sudo python cuckoo.py # Câu lệnh chạy Cuckoo phải thực thi thư mục cài đặt Cuckoo binhduong@wii-cuckoo:~$ cd cuckoo/ binhduong @wii-cuckoo:~/cuckoo$ sudo python cuckoo.py [sudo] password for wii: eeee e e eeee e e eeeee eeeee 8 8 8 8 88 88 8e 8e 8e 8eee8e 8 8 88 88 88 88 8 8 88e8 88ee8 88e8 88 8eee8 8eee8 Cuckoo Sandbox 1.1 www.cuckoosandbox.org Copyright (c) 2010-2014 Checking for updates Good! You have the latest version available 2014-10-28 22:08:17,857 [lib.cuckoo.core.scheduler] INFO: Using "virtualbox" machine manager 2014-10-28 22:08:25,729 [lib.cuckoo.core.scheduler] INFO: Loaded machine/s 2014-10-28 22:08:25,737 [lib.cuckoo.core.scheduler] INFO: Waiting for analysis tasks 3.1.3.3 Khởi động dịch vụ web binhduong @wii-cuckoo:~/cuckoo/utils$ sudo python web.py Bottle v0.12.0 server starting up (using WSGIRefServer()) Listening on http://0.0.0.0:8080/ SVTH: Trần Bình Dương_CCMM07A 31 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox KẾT LUẬN Đồ án đạt kết sau: Về lý thuyết : - Giới thiệu khái niệm lý thuyết Mã độc - Giới thiệu kiến thức sở bao gồm lý thuyết file thực thi môi trường hệ điều hành IOS - Mô tả vấn đề phương pháp phân tích Mã độc từ đưa quy trình bước cụ thể để phân tích Mã độc - Về thực hành : - Do thời gian kiến thức hạn chế nên em chưa thể triển khai phân tích mã độc hệ điều hành IOS - Vì tài liệu tham khảo hạn chế nên đồ án gặp khó khăn bước cấu hình, mẫu virus - Do em chưa có nhiều KINH NGHIỆM lập trình Python am hiểu hàm API chuyên sâu bảo mật mà Apple cung cấp cho lập trình viên Nên đồ án chưa hoàn thiện theo yêu cầu giáo viên - Trong trình làm em sai sót mong thầy cô giúp đỡ Em xin chân thành cảm ơn! SVTH: Trần Bình Dương_CCMM07A 32 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox TÀI LIỆU THAM KHẢO [1] Michael Hale Ligh, Andrew Case, Jamie Levy, "The Art of Memory Forensics”, Wiley Pp.90-91 [2] Michael Ligh , Steven Adair , Blake Hartstein , Matthew Richard , D (2010) [3] LYDA, R and HAMROCK, J , “Using Entropy Analysis to Find Encrypted and Packed Mã độc” , Security & Privacy, IEEE , vol.5, no.2, pp.40-45 [4] Michael Sikorski, Andrew Honig, No Starch Press(2012) Practical Mã độc Analysis pp 13, 40-50, 67-69 [5] Mã độc Analyst's Cookbook and DVD, p 200JEONG, G et al, "Generic unpacking using entropy analysis" Malicious and Unwanted Software (MÃ ĐỘC), 2010 5th International Conference on, 2010 pp 115-121 [6] http://www.symantec.com/connect/blogs/manual-unpacking-Mã độcsamples [Truy cập: 17/5/2014] [7] NIST, 2005, “Guide to Mã độc Incident Prevention and Handling” Pp 1523 [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 [10]http://docs.cuckoosandbox.org/en/latest/installation/host/requirements/#inst alling-python-libraries [11] http://mostlyaboutsecurity.com/?p=1 [12]http://securitydaily.net/tag/phan-tich-ma-doc/ SVTH: Trần Bình Dương_CCMM07A 33 ... thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox SVTH: Trần Bình Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox. .. Dương_CCMM07A 27 Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox CHƯƠNG – HỆ THỐNG PHÂN TÍCH MÃ ĐỘC 3.1 Hệ thống phân tích Mã độc tự động Cuckoo Sandbox Hình... Dương_CCMM07A Triển khai hệ thống phân tích mã độc hệ điều hành IOS phần mềm mã nguồn mở Cuckoo Sandbox CHƯƠNG 1-TỔNG QUAN VỀ HỆ ĐIỀU HÀNH IOS VÀ MÃ ĐỘC I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH IOS 1.1.Định nghĩa iOS