1. Trang chủ
  2. » Công Nghệ Thông Tin

Phân tích mã độc trên nền lunix sử dụng phần mềm mã nguồn mở cuckoo sandbox

29 1,4K 14

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,17 MB

Nội dung

Khi nói về chống phần mềm độc hại, ta thường nói tới phần mềm chống virus nhưng không phải lúc nào phần mềm chống virus cũng có hiệu quả. Do đó, việc nâng cao ý thức cảnh giác để phòng ngừa và hơn thế nữa là 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 đã được vô số các hãng bảo mật trên thế giới tiến hành đầu tư nghiên cứu; từ các hãng lớn như Internet McAfee, Kaspersky, Norton … cho tới các nhóm phát triển phần mềm đơn lẻ. Một số ứng dụng điển hình có thể kể đến như: McAfee Antivirus, Kaspersky Antivirus, Norton Antivirus, Microsoft Security Essentials, AVG AntiVirus … Tuy nhiên, do sự phát triển của phần mềm mã độc luôn đi trước các chương tình diệt virus một bước nên việc nghiên cứu, phân tích mã độc càng trở nên quan trọng và cấp thiết để làm sao hạn chế được tối đa những thiệt hại do phần mềm mã độc gây ra.

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 ĐỀ CHUYÊN NGÀNH: MẠNG MÁY TÍNH KHÓA HỌC: 2013 - 2016 TÊN ĐỀ TÀI PHÂN TÍCH ĐỘC TRÊN NỀN LUNIX SỬ DỤNG PHẦN MỀM NGUỒN MỞ CUCKOO SANDBOX Họ tên GVHD: Th.s Lê Tự Thanh Họ tên SVTH : Nguyễn Văn Giáp Đà Nẵng, tháng 06 năm 2016 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox MỤC LỤC MỤC LỤC DANH MỤC HÌNH .6 MỞ ĐẦU CHƯƠNG 1-TỔNG QUAN VỀ ĐỘC 1.1Khái niệm độc 1.2Phân loại độc .9 1.2.1Virus: Là loại độ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 độc hại 1.2.2Compiled Virus virus 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.2.3Interpreted Virus tổ hợp nguồn 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ụng khả 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.2.4Worm 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: 10 SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox 1.2.5Trojan Horse: Là loại độ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 với mục đích gây hại Trojan lựa chọn phương thức để gây hại sau: .10 1.2.6Malicious Mobile Code: Là dạng phần mềm gửi từ xa vào hệ thống 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 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 .11 1.2.7Tracking Cookie: Là dạng lạm dụng cookie để theo dõi hành động duyệt web người sử dụng cách bất hợp pháp Cookie file liệu chứa thông tin việc sử dụng trang web cụ thể webclient Mục tiêu việc trì cookie hệ thống máy tính nhằm vào để tạo giao diện, hành vi trang web cho thích hợp tương ứng với web-client Tuy nhiên tính lại bị lạm dụng để tạo thành phần mềm gián điệp (spyware) nhằm thu thập thông tin riêng tư hành vi duyệt web cá nhân 11 1.2.8Attacker Tool: Là công cụ công có khả đẩy phần mềm độc hại vào hệ thống Các công cụ giúp kẻ công truy nhập bất hợp pháp vào hệ thống làm cho hệ thống bị lây nhiễm độc hại Khi tải vào hệ thống đoạn độc hại, attacker tool phần đoạn độc (ví dụ trojan) tải vào hệ thống sau nhiễm Attacker tool thường gặp backdoor keylogger 11 1.2.9Rootkits tập hợp file cài đặt lên hệ thống nhằm biến đổi chức chuẩn hệ thống thành chức tiềm ẩn công nguy hiểm Ví dụ hệ thống Windows, rootkit sửa đổi, thay file, thường trú nhớ thay thế, sửa đổi lời gọi hàm hệ điều hành Rootkit thường dùng để cài đặt công cụ công cài backdoor, cài keylogger Ví dụ rootkit là: LRK5, Knark, Adore, Hack Defender 12 1.2.10Web Browser Plug-in: phương thức cài độc hại thực thi với trình duyệt web Khi cài đặt, kiểu độc hại theo dõi tất hành vi duyệt web người dùng (ví dụ tên web site truy nhập) sau gửi thông tin Một dạng khác phần mềm gián điệp có chức quay số điện thoại tự động, tự động kích hoạt modem kết nối đến số điện thoại ngầm định không phép chủ nhân 12 1.2.11Email Generator: phần mềm cho phép tạo gửi số lượng lớn email độc hại gieo rắc email generator vào hệ thống Các phần mềm gián điệp, spam, độc hại đính kèm vào email sinh từ email generator gửi tới địa SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox có sổ địa máy bị nhiễm 12 1.2.12Attacker Toolkit: công cụ tải xuống cài vào hệ thống hệ thống bị khống chế phần mềm độc hại Các công cụ dò quét cổng (port scanner), phá mật (password cracker), dò quét gói tin (Packet Sniffer) Attacker Toolkit thường hay sử dụng 13 1.2.13Phishing hình thức công thường xem kết hợp với độc hại Phishing phương thức dụ người dùng kết nối sử dụng hệ thống máy tính giả mạo nhằm làm cho người dùng tiết lộ thông tin bí mật danh tính (ví dụ mật khẩu, số tài khoản, thông tin cá nhân ) Kẻ công phishing thường tạo trang web email có hình thức giống hệt trang web email nạn nhân thường hay sử dụng trang web Ngân hàng, công ty phát hành thẻ tín dụng, Email trang web giả mạo đề nghị nạn nhân thay đổi cung cấp thông tin bí mật tài khoản, mật Các thông tin sử dụng để trộm tiền trực tiếp tài khoản sử dụng vào mục đích bất hợp pháp khác 13 1.2.14Virus Hoax cảnh báo giả virus Các cảnh bảo giả thường núp dạng yêu cầu khẩn cấp để bảo vệ hệ thống Mục tiêu cảnh báo virus giả cố gắng lôi kéo người gửi cảnh báo nhiều tốt qua email Bản thân cảnh báo giả không gây nguy hiểm trực tiếp thư gửi để cảnh báo chữa độc hại cảnh báo giả có chứa dẫn thiết lập lại hệ điều hành, xoá file làm nguy hại tới hệ thống Kiểu cảnh báo giả gây tốn thời gian quấy rối phận hỗ trợ kỹ thuật có nhiều người gọi đến yêu cầu dịch vụ 13 1.3Lược sử độc 13 1.4Vai trò việc phân tích độc .17 CHƯƠNG 2- PHƯƠNG PHÁP PHÂN TÍCH ĐỘC 18 2.1.Qui trình phân tích độc 18 2.2.Kiểm tra, phát lấy mẫu độc .18 2.2.1.Kiểm tra phần mềm khởi động hệ thống 18 2.2.1.Tiến trình Windows 19 2.3.Thiết lập môi trường phân tích an toàn .20 2.4.Phân tích động 21 2.4.1.Sử dụng công cụ Sandbox 22 2.4.2.Giám sát hoạt động tiến trình 23 CHƯƠNG – HỆ THỐNG PHÂN TÍCH ĐỘC 24 3.1Hệ thống phân tích độc tự động Cuckoo Sandbox .24 3.1.1 Giới thiệu hệ thống 24 3.1.2Cài đặt hệ thống 25 4.1.Cài đặt Python 25 2.2 Cài đặt Pydeep 25 2.3.Cài đặt MongoDB .25 2.4.Cài đặt Yara .25 SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox 2.5 Chỉnh sửa quyền cho Tcpdump để Cuckoo thực với quyền quyền quản trị 26 2.6.Cài đặt Cuckoo Sandbox 26 3.1.3Sử dụng Cuckoo Sandbox để phân tích độc 26 3.1.3.1.Khởi động virtualbox 26 3.1.3.2.Khởi động Cucko 26 3.1.3.3.Khởi động dịch vụ web .27 KẾT LUẬN 28 TÀI LIỆU THAM KHẢO 29 SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox DANH MỤC HÌNH Hình 2.1 Qui trình phân tích độc 18 Hình 2.2 Kiểm tra phần mềm khởi động hệ thống 19 Hình 2.3 Quản lý tiến trình kiểm tra chữ ký file thực thi 20 Hình 3.4 hình hệ thống ảo hóa Một số công cụ ảo hóa thường dùng: 21 Hình 3.1 Sơ đồ hệ thống phân tích độc Cuckoo Sandbox 24 SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox 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 độ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 độc theo bùng nổ theo Song song với việc ứng dụng công nghệ thông tin, độ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 độ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 độc trước chương tình diệt virus bước nên việc nghiên cứu, phân tích độ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 độ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 độ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 đồ án chia làm chương chính: Chương Tổng quan độc: chương giới thiệu vấn đề độc, lịch sử xu phát triển chúng Chương Phương pháp phân tích độc: chương tả bước phân tích độc xây dựng quy trình phân tích độc Chương Xây dựng phần mềm hỗ trợ phân tích độc: áp dụng lý thuyết đưa Chương để xây dựng phần mềm hỗ trợ phân tích độc SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox Giới thiệu hệ thống phân tích độ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 độ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: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox CHƯƠNG 1-TỔNG QUAN VỀ ĐỘC Các khái niệm cách phân loại sau trích dẫn theo định nghĩa đưa Viện Tiêu chuẩn Công nghệ quốc gia Hoa kỳ - National Institute of Standards and Technology (NIST) 1.1 Khái niệm độc độ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 1.2 Phân loại độc Có nhiều cách phân loại độ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.2.1 Virus: Là loại độ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 độc hại 1.2.2 Compiled Virus virus 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.2.3 Interpreted Virus tổ hợp nguồn 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ụng khả 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 SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox Melisa ví dụ xuất sắc macro virus, Love Stages ví dụ cho scripting virus 1.2.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 1.2.5 Trojan Horse: Là loại độ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 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 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 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 SVTH: Nguyễn Văn Giáp_CCMM07A 10 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox tin tặc buôn bán giao lưu ý tưởng độc Cuốn sách Virus máy tính tác giả Mark Ludwig xuất thời gian Năm 1991: độc đa hình (Polymorphic độc) đời, Sâu “Tequilla” độc dạng có khả tự thay đổi hình thức nó, gây khó khăn cho phần mềm chống Virus, khiến cho việc phát truy quét trở nên phức tạp Năm 1992: Trong vòng năm, ghi nhận tổng số 1.300 độc tồn tại, tăng 420% so với tháng 12 năm 1990 Xuất DAME (Dark Avenger Mutation Engine) - công cụ cho phép chuyển độc thông thường thành phần mềm có khả thay đổi hình dạng Sau VCL (Virus Creation Laboratory), công cụ chế tạo độc thực đời Sự xuất Virus MichelLangelo làm dấy lên lời cảnh báo thiệt hại quy lớn toàn cầu, cuối phá hoại Virus không xảy lo ngại DOS Năm 1994: Xuất OneHalf, virus máy tính đa hình Năm 1995: Macro Virus xuất hiện, có tên gọi “Concept”, chúng lây lan qua ứng dụng MS-Office Năm 1996: “Ply” - Virus đa hình phức tạp xây dựng dựa công cụ hoán vị Năm 1998: Phiên virus CIH xuất Đây virus biết đến có khả xóa nội dung ROM BIOS Năm 1999: Sâu Melissa phát hiện, nhắm vào mục tiêu Microsoft Word hệ thống dựa Outlook, tạo mạng lưới lây nhiễm đáng kể Cũng năm này, sâu Kak phát hiện, sâu máy tính dùng Javascript lây lan cách khai thác lỗi Outlook Express Năm 2000: Sâu ILOVEYOU, gọi Love Letter hay Love Bug, sâu tạo sinh viên ngành khoa học máy tính Philippines Được viết VBScript, lây nhiễm hàng triệu máy tính Windows toàn giới vòng vài phát hành Năm 2001: Trong năm này, phải kể đến Sâu Nimda (còn gọi quái vật đa đầu) kết hợp hoàn hảo điểm mạnh loại độc khác Ngoài phải kể đến Virus Anna Kournikova, sâu Sadmind, sâu Sircam, sâu Code Red SVTH: Nguyễn Văn Giáp_CCMM07A 15 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox Năm 2003: Sâu Slammer đời, đến sâu coi sâu có phát tán nhanh nhất, 75.000 máy tính bị nhiễm 10 phút Năm 2005: Trojan Zlob, Trojan giả dạng video codec cần thiết thành phần ActiveX Microsoft Windows Năm 2006: Lần phần mềm độc hại cho Mac OSX phát hiện, Trojan OSX / Leap-A OSX / Oompa-A Năm 2007: Storm Worm xác định Nó công tạo mạng botnet Storm Trong vòng tháng, từ tháng đến tháng 9/2007 có 10 triệu máy tính bị nhiễm Cùng năm này, Trojam Zeus phát hiện, mục tiêu ăn cắp thông tin ngân hàng người dùng Windows Năm 2008: Phát sâu Conficker, lây nhiễm đến 15 triệu máy chạy hệ điều hành Windows, từ Windows 2000 đến Windows Beta phát khắp nơi, từ máy cá nhân đến máy chủ, từ bệnh viện Sheffield đến tàu ngầm hải quân Anh Microsoft đặt mức tiền thưởng $ 250,000 USD cho thông tin dẫn đến việc bắt giữ tác giả sâu Năm biến thể sâu Conficker biết đến đặt tên Conficker A, B, C, D E Năm 2009: Một công mạng tầm cỡ quốc gia diễn ra, công cụ W32.Dozer nhắm vào hai nước Hoa Kỳ Hàn Quốc Năm 2010: Stuxnet phát Đây ví dụ điển hình độc sử dụng thứ vũ khí ảo Lây lan qua thiết bị USB số phương pháp khác, virus thiết kế nhằm chiếm quyền điều khiển hoạt động hệ thống điều khiển công nghiệp chuyên dụng (nhắm trực tiếp đến hệ thống hãng Siemen thiết kế) Mặc dù chưa có kết luận cuối cùng, chứng nhà nghiên cứu thu thập cho thấy Stuxnet nhằm vào máy ly tâm làm giàu Uranium phần mềm hạt nhân Iran, sâu làm cho máy ly tâm hoạt động công suất thiết kế Điều đặc biệt, lần độc có chữ ký số hợp lệ, chữ ký từ Realtek Năm 2011: SpyEye Zeus kết hợp để trở thành công cụ hiệu đánh cắp thông tin toán ngân hàng hiệu quả, đánh cắp mật ngân hàng mật xác thực lần (OTP – One Time Password) gửi qua tin nhắn điện thoại, để tiến hành chuyển tiền cách hợp lệ Năm 2012: Flame, phần mềm Kaspersky Lab đánh giá độc phức tạp họ phân tích Mục tiêu phần mềm hoạt động gián điệp nước trung đông Một điều đáng nói phát năm 2012 người ta đưa số chứng cho thấy Flame lại tiền SVTH: Nguyễn Văn Giáp_CCMM07A 16 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox thân sâu gián điệp Stuxnet phát năm 2010 Iran Năm 2013: CryptoLocker, đánh dấu trở lại phần mềm bắt cóc liệu (ransomeware), chúng hóa liệu lây vào hệ thống điều kiện đòi tiền chuộc để giải liệu 1.4 Vai trò việc phân tích độc Với phát triển mạnh mẽ Internet, vấn đề an ninh, bảo đảm an toàn cho hệ thống thông tin ngày trở nên cấp thiết hệ thống thông tin kết nối với kết nối với mạng Internet, phải đối diện với nhiều nguy bị công lấy cắp thông tin phá hoại hệ thống Trong số phương thức công phá hoại hệ thống thông tin mạng, phần mềm độc hại dạng gây nhiều thiệt hại khả lan truyền nhanh chóng Câu hỏi đặt liệu có cần phân tích độc không ngày phần mềm đảm bảo an ninh máy tính phát triển Câu trả lời có, phần mềm độc hại phát triển ngày tinh vi khó phát Phần mềm đảm bảo an ninh mạnh cập nhật loại bỏ hết độc Kết trình phân tích độc phát phương thức lây lan, phá hoại, đánh cắp liệu mới; đồng thời hạn chế lây lan, giảm thiểu thiệt hại độc gây cách đưa cảnh báo tới cộng đồng; nguồn thông tin quan trọng để cập nhật mẫu chức cho phần mềm đảm bảo an ninh máy tính SVTH: Nguyễn Văn Giáp_CCMM07A 17 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox CHƯƠNG 2- PHƯƠNG PHÁP PHÂN TÍCH ĐỘC 2.1 Qui trình phân tích độc Hình 2.1 Qui trình phân tích độc 2.2 Kiểm tra, phát lấy mẫu độc Do đó, nghiên cứu phân tích độc không kể đến kiểm tra, phát lấy mẫu độc Đây bước trình phân tích độ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 độc 2.2.1 Kiểm tra phần mềm khởi động hệ thống độ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 độc thiết kế đặc biệt để hoạt động lần Để làm điều này, độc thường tự ghi giá trị vào số địa định registry để lần khởi động sau hệ điều hành độc tiếp tục gọi SVTH: Nguyễn Văn Giáp_CCMM07A 18 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox Để 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 Hình 2.2 Kiểm tra phần mềm khởi động hệ thống 2.2.1 Tiến trình Windows Trong khoa học máy tính, tiến trình thực thể điều khiển đoạn lệnh có riêng không gian địa chỉ, có ngăn xếp (stack) riêng rẽ, có bảng chứa số miêu tả file (file descriptor) mở tiến trình đặc biệt có định danh PID (process identifier) toàn hệ thống vào thời điểm tiến trình chạy [4 tr47] Để nhận dạng phân tích độc thao tác phải nhận tiến trình độc làm việc Công cụ sử dụng để quản lý tiến trình ProcessXP cung cấp gói Sysinternals suite Microsoft SVTH: Nguyễn Văn Giáp_CCMM07A 19 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox Để xóa tiến trình chạy ProcessXP chọn vào tiến trình bấm Delete chuột phải chọn Kill process Hình 2.3 Quản lý tiến trình kiểm tra chữ ký file thực thi Bằng việc kiểm tra chữ ký số file thực thi tiến trình, giúp loại bỏ nhiều nghi vấn tiến trình có chữ ký hợp lệ tập trung vào tiến trình chữ ký chữ ký không hợp lệ Nói loại bỏ hoàn toàn nguy từ tiến trình có chữ ký hợp lệ, thực tế có số độc cách lấy cắp chữ ký số hợp lệ công ty danh tiếng Stuxnet phát năm 2010 ví dụ điển hình, độc đánh cắp chữ ký số hợp lệ hãng Realtek and Jmicron Do đó, việc sử dụng chữ ký số tiêu chí để sàng lọc độc, tùy vào thời gian tầm quan trọng trường cần phân tích dùng hay không dùng tiêu chí 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ủ độ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ị độc làm hư hỏng SVTH: Nguyễn Văn Giáp_CCMM07A 20 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox Hình 3.4 hình hệ thống ảo hóa Một số công cụ ảo hóa thường dù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 độc thực thi Kỹ thuật bước tiếp thứ trình phân tích độc Phân tích động thường thực sau phân tích tích tĩnh độc Phân tích động cho ta biết yếu tố giám sát độc chạy kiểm tra hệ thống sau độ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 độc, phân tích động cho phép quan sát độ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 độ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 độ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 SVTH: Nguyễn Văn Giáp_CCMM07A 21 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox tích độc độc phát bị phân tích, sau gửi thông tin kẻ phát tán độc - Gây nguy an toàn cho mạng hệ thống, chưa biết hết độ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 độc 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 độ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 độ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 độc vào hệ thống Sanbox, phát độc hệ thống, chúng không tồn tập tin thực thi 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 độc môi trường thực tế bị lây nhiễm Do đó, độ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 độc không hoạt động Trong thời gian giám sát giới hạn, độ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 mềm nằm im khônghoạt động thời gian dài phần mềm Sanbox bao quát hết - SVTH: Nguyễn Văn Giáp_CCMM07A 22 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox khả - độ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 độc hệ thống giúp biết sơ lược hoạt động, tính tác động độ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 độ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 độc, file bị độ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 độ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 độc lần theo vết tiến trình bổ sung độc tạo Công cụ Process Monitor (procmon) cung cấp Sysinternals suite hãng Microsoft công cụ giám sát tiến trình mạnh Windows SVTH: Nguyễn Văn Giáp_CCMM07A 23 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox CHƯƠNG – HỆ THỐNG PHÂN TÍCH ĐỘC 3.1 Hệ thống phân tích độc tự động Cuckoo Sandbox 3.1.1 Giới thiệu hệ thống Cuckoo Sandbox phần mềm nguồn mở cho phép phân tích độc cách tự động Cuckoo Sandbox tập kịch viết ngôn ngữ Python, cho phép gắn thêm thành phần để phân tích độ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 độc sinh - Các tập tin tạo, xóa, sửa, tải xuống độ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 Trong khuôn khổ đồ án, xin chọn cách 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 H M C G b iáệá u acy n ot tthả m uốo ậ pn id ệugV nlti r i.C e Hình 3.1 Sơ đồ hệ thốngwn0ut phân tích độc Cuckoo Sandbox epcu c(ka bh C ol ấ â uo SVTH: Nguyễn Văn Giáp_CCMM07A cn i hB othSo 24 ặ pcnn t hhdC ébà P phần mềm nguồn mở Cuckoo Sandbox Phân tích độc Lunix sử dụng poi yx t 3.1.2 Cài đặt hệ thống đh h ưệ o Các bước cài đặt Cuckoo Sandbox môi trường Ubuntu kết hợp với máy a nđ ảo VirtualBox , mi ẫề 4.1 Cài đặt Python V uu i $ Sudo apt-get install python rh v t àà $ Sudo apt-get install python-pip un a th $ Sudo apt-get install python-dev l r bU $ Sudo apt-get install libffi-devảob xu $ Sudo apt-get install libssl-devvề)n t 2.2 Cài đặt Pydeep u k ếC $ Wget -O http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeepth qạ 2.13.tar.gz/download ssdeep-2.13.tar.gz uy $ Tar -zxf ssdeep-2.13.tar.gz ả a pg $ Cd ssdeep-2.13 he ân $ /configure nt $ make p t íy $ Sudo make install c hn $ pip install pydeep h 2.3 Cài đặt MongoDB ậ n $ apt-get install python-pymongo $ apt-get install mongodb 2.4 Cài đặt Yara đ i ề u k $ sudo apt-get install autoconf libtool libjansson-dev libmagic-dev libssl-dev -y h i $ wget https://github.com/plusvic/yara/archive/v3.4.0.tar.gz -O yara-3.4.0.tar.gz ể n $ tar -zxf yara-3.4.0.tar.gz $ cd yara-3.4.0 $ /bootstrap.sh q u t $ /configure with-crypto enable-cuckoo enable-magic $ make r ì n h SVTH: Nguyễn Văn Giáp_CCMM07A p h â 25 t Phân tích độc Lunix sử dụngí phần mềm nguồn mở Cuckoo Sandbox c h $ sudo make install 2.5 Chỉnh sửa quyền cho Tcpdump để Cuckoo thực với quyền quyền quản trị $ apt-get install libcap2-bin $ setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump 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 3.1.3 Sử dụng Cuckoo Sandbox để phân tích độc Các bước phân tích độ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 Cucko $ sudo python cuckoo.py # Câu lệnh chạy Cuckoo phải thực thi thư mục cài đặt Cuckoo giap@wii-cuckoo:~$ cd cuckoo/ giap@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 SVTH: Nguyễn Văn Giáp_CCMM07A 26 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox 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 giap@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: Nguyễn Văn Giáp_CCMM07A 27 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox KẾT LUẬN Đồ án đạt kết sau: - Giới thiệu khái niệm lý thuyết độc - 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 - tả vấn đề phương pháp phân tích độc từ đưa quy trình bước cụ thể để phân tích độc SVTH: Nguyễn Văn Giáp_CCMM07A 28 Phân tích độc Lunix sử dụng phần mềm nguồn mở Cuckoo Sandbox TÀI LIỆU THAM KHẢO [1] http://www.symantec.com/connect/blogs/manual-unpacking-Mã độcsamples [Truy cập: 17/5/2014] [2] JEONG, G et al, "Generic unpacking using entropy analysis" Malicious and Unwanted Software (MÃ ĐỘC), 2010 5th International Conference on, 2010 pp 115-121 [3] LYDA, R and HAMROCK, J , “Using Entropy Analysis to Find Encrypted and Packed độc” , Security & Privacy, IEEE , vol.5, no.2, pp.40-45 [4] Michael Sikorski, Andrew Honig, No Starch Press(2012) Practical độc Analysis pp 13, 40-50, 67-69 [5] Michael Ligh , Steven Adair , Blake Hartstein , Matthew Richard , D (2010) độc 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 độc 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 http://docs.cuckoosandbox.org/en/latest/installation/host/requirements/#installi ng-python-libraries http://mostlyaboutsecurity.com/?p=1 SVTH: Nguyễn Văn Giáp_CCMM07A 29 ... 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 SVTH: Nguyễn Văn Giáp_CCMM07A Phân tích mã độc Lunix sử dụng phần mềm mã nguồn mở Cuckoo. .. 23 Phân tích mã độc Lunix sử dụng 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 3.1.1 Giới thiệu hệ thống Cuckoo Sandbox. .. biệt - Phân tích động dẫn tới làm lộ trình phát phân SVTH: Nguyễn Văn Giáp_CCMM07A 21 Phân tích mã độc Lunix sử dụng phần mềm mã nguồn mở Cuckoo Sandbox tích Mã độc Mã độc phát bị phân tích, sau

Ngày đăng: 13/06/2017, 11:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w