Malware analysis basic

219 20 0
Malware analysis basic

Đ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

Tài liệu Malware analysis basic hướng dẫn cơ bản về phân tích mã độc, các cánh quét mã độc hệ thống và tách gỡ mã độc bao gồm: GIỚI THIỆU MÃ ĐỘC, Ảnh hưởng và tác hại của mã độc, Các hành vi của Malware, Một số ví dụ Đánh cắp thông tin

NỘI DUNG KHÓA ĐÀO TẠO PHẦN GIỚI THIỆU MÃ ĐỘC Giới thiệu mã độc  Mã độc = Malware = Malicious software  Là phần mềm chương trình, đoạn mã thiết kế để thực hành vi:  công hệ thống  đánh cắp thông tin  xâm nhập vào hệ thống  Mã độc mang ý nghĩa rộng virus Phân loại mã độc (1) Phân loại mã độc (2)  Backdoor: Loại mã độc cài đặt đến máy tính cho phép kẻ công truy cập Backdoor kẻ cơng kết nối dễ dàng đến máy tính có khơng có chứng thực thực lệnh hệ thống  Botnet: Tương tự backdoor, cho phép kẻ công truy cập đến hệ thống mà cịn tất máy tính bị nhiễm loại botnet nhận thị lệnh từ máy chủ điều khiển trung tâm (Command and Control Server – C&C Server)  Downloader: Loại mã độc tồn với mục đích tải mã độc khác Downloader thông thường cài kẻ công lần xâm nhập thành công vào hệ thống Với downloader cho phép tải cài đặt them nhiều mã độc khác vào hệ thống  Information-stealing malware: Là loại mã độc thực thu thập thơng tin từ máy tính nạn nhân sau gửi đến kẻ cơng Phân loại mã độc (3)  Laucher: Loại mã độc sử dụng để thực thi mã độc khác Laucher luôn sử dụng kỹ thuật theo cách riêng chúng thực thi mã độc khác nhằm tránh bị phát hệ thống  Rootkit: Mã độc thiết kế để thực ẩn loại mã độc khác Do vậy, rootkit kết hợp với loại mã độc khác backdoor cho phép kẻ công truy cập từ xa hệ thống làm cho hệ thống đích khó phát  Scareware: Loại mã độc thiết kế gây hoảng sợ người sử dụng bị nhiễm, sau ép buộc người sử dụng mua gửi tiền đến kẻ cơng Một số hình thức loại mã độc giả mạo chương trình diệt virus chương trình bảo mật khóa liệu người dùng ép buộc người dùng gửi tiền để giải mã liệu bị khóa Phân loại mã độc (4)  Spam sending malware: Mã độc cài đặt đến máy tính nạn nhân thực spam  Virus Worm: Mã độc thực nhân lây lan đến hệ thống máy tính khác Sự phát triển Malware or W Virus B o t Thực thi mã độc (1)  Dynamic Link Library (DLL) cách mà Windows thường xuyên sử dụng việc chia code với nhiều chương trình khác  Mã độc thường xử dụng DLL theo cách sau:  Lưu trữ mã độc: mã độc lưu trữ mã chúng dạng DLL thay EXE thông thường Mã độc sử dụng DLL để nạp đến tiến trình khác  Sử dụng DLL Windows: lẽ thư viện Windows có chứa hàm cần thiết để tương tác với OS  Mã độc sử dụng third-party DLL để tương tác với chương trình khác Ví dụ, sử dụng DLL Mozilla Firefox để kết nối ngược trở lại server thay dùng thư viện Windows  Cấu trúc tập tin DLL giống hệt tập tin EXE DLL sử dụng định dạng PE có cờ DLL mà khơng phải EXE Chức DLL thường export nhiều import Thực thi mã độc (2)  Hàm DLL có tên DllMain Hàm gọi để thông báo DLL tiến trình nạp khơng nạp thư viện, tạo thread mới, kết thúc thread tồn  Mã độc thực mã bên ngồi chương trình việc tạo tiến trình thay đổi tiến trình tồn Mỗi tiến trình (process) chương trình mà thực thi Windows Mỗi tiến trình quản lý tài nguyên riêng chúng  Hàm thông thường mã độc sử dụng CreateProcess Hàm với nhiều tùy chọn tham số giúp cho phép điều khiển tiến trình mà tạo Ví dụ mã độc gọi hàm để tạo tiến trình thực thi mã độc, để qua mặt host-based firewall chế bảo mật khác tạo thể Internet Explorer dùng chương trình để truy cập nội dung độc hại Thực thi mã độc (3)  Các tiến trình (process) container thực thi threads mà Windows OS thực thi Các threads thị độc lập thực CPU mà không cần phải đợi thread khác Một process có chứa nhiều threads mà thực thi phần code phạm vi process Các thread phạm vi process có tất không gian nhớ chia sẻ, chúng có procesor registrers stack riêng  Trước OS chuyển đổi thread tất giá trị CPU lưu cấu trúc gọi thread context Và CPU nạp thread context cho thread  Hàm thực tạo thread CreateThread Lời gọi hàm phải xác định địa bắt đầu thường thấy với hàm start Việc thực bắt đầu với start address tiếp tục hàm trở về, hàm khơng cần thiết trở thread thực thi tiến trình kết thúc Thực thi mã độc (4)  Mã độc dùng CreateThread theo nhiều cách là:  Sử dụng để nạp thư viện mã độc đến tiến trình với tham số địa hàm LoadLibrary hàm CreateThread Một DLL nạp đến nhớ tiến trình DllMain gọi  Mã độc tạo thread để phục vụ cho việc input output  Khái niệm mutex hay gọi với tên Mutants để đối tượng toàn cục mà phối hợp process thread Mục đích mutex điều khiển truy cập nguồn tài nguyên chia sẻ Ví dụ thread phải truy cập đến cấu trúc nhớ có truy cập an toàn thời điểm, lúc mutex dùng để điều khiển truy cập  Thread gán truy cập đến mutex với việc gọi hàm WaìtorSingleObject, thread thử gán truy cập phải đợi Khi thread hoàn tất sử dụng mutex sử dụng hàm ReleaseMutex Thực thi mã độc (5)  Một mutex tạo với hàm CreateMutex Một tiến trình lấy handle đến mutex tiến trình khác cách dùng OpenMutex  Mã độc thường tạo mutex thử mở mutex với tên để đảm bảo có phiên mã độc thực thi thời điểm  Mã độc thực thông qua việc cài đặt service OS Windows cho phép tác vụ thực thi mà khơng cần có process thread riêng cách sử dụng service mà chạy ứng dụng nền; code đặt lịch thực thi Windows service manager mà không cần người dùng input  Sử dụng services cung cấp nhiều thuận lợi cho mã độc lẽ trì cố định hệ thống tự động khởi động OS khởi động Thực thi mã độc (6)  Services cài đặt thao tác cách sử dụng số hàm Windows API OpenSCManager, CreateService, StartService  Một cách thông thường hay sử dụng mã độc cài đặt theo kiểu WIN32_SHARE_PROCESS mà lưu trữ code service DLL Trong Task Manager tìm thấy số thể tiến trình svhost.exe mà thực thi kiểu dịch vụ WIN32_SHARE_PROCESS Kiểu WIN32_OWN_PROCESS sử dụng để lưu trữ code EXE thực thi tiến trình độc lập Kiểu dịch vụ KERNEL_DRIVER sử dụng để nạp code đến kernel  Thông tin dịch vụ lưu trữ Registry khóa HKLM\SYSTEM\CurrentControlSet\Services Thực thi mã độc (7)  Microsoft Component Object Model (COM) tiêu chuẩn giao diện làm cho cho thành phần phần mềm khác để gọi mã mà không cần quan tâm chi tiết cụ thể  COM khởi tạo client server framework Trong client chương trình tạo sử dụng COM object server thành phần phần mềm có khả sử dụng lại Microsoft cung cấp lượng lớn COM object cho chương trình sử dụng  Mỗi thread mà sử dụng COM phải gọi OleInitialize CoInitializeEx lần trước gọi thư viện COM khác  COM object truy cập thông qua Globally Unique Identifier s(GUIDs) biết đến (CLSIDs) Interface Identifier (IIDs)  Sử dụng hàm CoCreateInstance sử dụng để truy cập COM Một hàm thông thường sử dụng mã độc Navigate mà cho phép chương trình thực thi IE truy cập địa web Thực thi mã độc (8)  Khi chương trình gọi CoCreateInstance OS sử dụng thông tin lưu registry để xác định tập tin chứa code COM yêu cầu (HKLM\Software\Classes\CLSID HKLU\Software\Classes|CLSID)  Một số mã độc khởi tạo COM server mà sử dụng ứng dụng khác COM server thông thường cho mã độc Browser Helper Objects (BHOs) plug-in thứ ba cho Internet Explorer BHOs khơng có giới hạn mã độc sử dụng chúng để thực thi bên tiến trình Internet Explorer  Mã độc khởi tạo COM server thường dễ dàng nhận diện lẽ export số hàm bao gồm DllCanUnloadNow, DllGetClassObject, DllInstall, DllRegisterServer DllUnregisterServer  Mã độc thực thi thơng qua Exceptions (cơ chế điều khiển lỗi hệ điều hành) Kernel User Mode  Windows sử dụng hai chế độ kernel mode user mode Hầu tất code thực thi chế độ user, ngồi trừ OS trình điều khiển phần cứng  Thơng thường user mode khơng thể truy cập trực tiếp đến phần cứng Để thao tác với phần cứng thay đổi trạng thái kernel không user mode dựa Windows API  Khi gọi hàm Windows API để thao tác với cấu trúc kernel thực lời gọi đến kernel Sự diện SYSENTER, SYSCALL INT 0x2E để có lời gọi đến kernel Native API  Native API giao tiếp cấp thấp tương tác với Windows mà chương trình bình thường sử dụng mà có mã độc hay sử dụng  Khi thực gọi hàm Windows API, hàm không thực thi yêu cầu trực tiếp lẽ cấu trúc liệu quan trọng lưu kernel mà khơng thể truy cập từ bên ngồi kernel (user mode) Do vậy, Microsoft tạo nhiều bước để ứng dụng người dùng đạt chức cần thiết  Ntdll.dll thư viện dùng để quản lý tương tác không gian user kernel Processor chuyển đến kernel mode thực thi hàm kernel thường ntoskrnl.exe  Những hàm ntdll sử dụng API cấu trúc hàm khác sử dụng kernel Những hàm tạo nên Native API (http://undocumented.ntinternals.net/ ) Q trình phân tích mã thực thi Tổng hợp cơng cụ phân tích Q trình đọc mã I Phân tích sơ lược Cập nhật địa IP Hacker VNCert Các diễn đàn Tự phân tích  Chặn IP hacker firewall, có phương án cập nhật IP, tên miền bẩn - Công cụ kiểm tra TCP View: kiểm tra kết nối, tiến trình hoạt động - Cơng cụ processxp - Dùng trang www.virustotal.com để kiểm tra virus, mẫu mã độc - Nếu file có mã hex MZ trước file thực thi II Phân tích động III Phân tích tĩnh ... Phương pháp phân tích Surface analysis - Phân tích sơ lược (1) Surface analysis - Phân tích sơ lược (2)  Thu thập thơng tin từ đối tượng bị công mà không thực thi malware  Xác định số thông tin... phần mềm (browser, office, ) Ép buộc máy tính thực thi malware Cách thức lây nhiễm (2)  Người sử dụng  Lừa đảo người sử dụng kích hoạt malware (Nguồn: JPCERT/CC) Ảnh hưởng tác hại mã độc (1)... Accessing with browsers may lead to connecting to other sites Malware Sites Can determine connection source Malicious si Analyst ( Malware distribute sites (Nguồn: JPCERT/CC) Môi trường tải mã

Ngày đăng: 10/03/2021, 12:36

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

Tài liệu liên quan