Nghiên cứu một số kỹ thuật sinh mã độc tự động và vượt qua phần mềm phòng chống mã độc

73 1.3K 4
Nghiên cứu một số kỹ thuật sinh mã độc tự động và vượt qua phần mềm phòng chống 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

Nghiên cứu một số kỹ thuật sinh mã độc tự động và vượt qua phần mềm phòng chống mã độc

MỤC LỤC DANH MỤC HÌNH ẢNH TỪ VIẾT TẮT LỜI MỞ ĐẦU TỔNG QUAN VỀ MÃ ĐỘC 1.1 Giới thiệu 1.1.1 Khái niệm, phân loại mục đích mã độc 1.1.2 Các thức lây nhiễm mã độc 1.1.3 Các loại mã độc dự đoán xu hướng mã độc tương lai 1.2 Các công cụ sinh mã độc tự động 10 1.2.1 Hướng tiếp cận 10 1.2.2 JPS (Virus Maker 3.0) 11 1.2.3 TeraBIT Virus Maker 3.2 16 1.2.4 Kết 18 TỔNG QUAN VỀ PHẦN MỀM PHÒNG CHỐNG MÃ ĐỘC 19 2.1 Giới thiệu 19 2.2 Nguyên lý phát mã độc 20 2.2.1 Phát mã độc dựa vào dấu hiệu đặc trưng 21 2.2.2 Phát mã độc dựa vào đặc điểm bất thường 22 2.3 Các kỹ thuật phát mã độc 23 2.3.1 Checksummers 23 2.3.2 Fuzzy Hashing 24 2.3.3 Scan String 26 2.3.4 Code Emulation 27 2.3.5 Static Heuristic Analysis 28 2.3.6 Behavior Blocking 29 NGHIÊN CỨU CÁC KỸ THUẬT VƯỢT QUA PHẦN MỀM PHÒNG CHỐNG MÃ ĐỘC 31 3.1 Cấu trúc tệp tin thực thi Hệ điều hành Windows 32bit 31 3.2 Các kỹ thuật vượt qua phần mềm phòng chống mã độc 46 3.2.1 Kỹ thuật mã hóa 46 3.2.2 Kỹ thuật chèn mã rác 48 3.2.3 Kỹ thuật rẽ nhánh 49 3.2.4 Sử dụng Stub để giải mã thực thi trực tiếp nhớ 50 3.2.5 Kỹ thuật PRIDE (Pseudo-Random Index Decryption) 52 3.2.6 Các kỹ thuật chống phân tích mã độc 54 3.2.7 Kỹ thuật che giấu API 60 3.2.8 Kỹ thuât sử dụng chữ ký số 62 3.2.9 Khai thác lỗ hổng Hệ điều hành 65 3.3 Chương trình thử nghiệm 67 KẾT LUẬN 72 TÀI LIỆU THAM KHẢO 73 DANH MỤC HÌNH ẢNH Hình 1.1.1: Thống kê loại mã độc xuất theo năm Hình 1.2.1: Thông tin chương trình JPS (Virus Macker 3.0) 11 Hình 1.2.2: Giao diện chương trình JPS (Virus Maker 3.0) 11 Hình 1.2.3: Mã độc tạo từ chương trình 12 Hình 1.2.4: Sử dụng Exeinfor PE để xác định trình bảo vệ mã độc 12 Hình 1.2.5: Lệnh “net user” thực thi mã độc 13 Hình 1.2.6: Cứ sau phút mã độc lại tự chép tới vị trí khác 13 Hình 1.2.7: Resource data chương trình JPS 14 Hình 1.2.8: Các bước thực thi chương trình 15 Hình 1.2.9: Giao diện chương trình TeraBIT virus macker 3.1 16 Hình 1.2.10: Mã độc viết MS Visual Basic 17 Hình 1.2.11: So sánh resource tệp tin trước sau patch 17 Hình 1.2.12: Mô tả trình patch 18 Hình 2.1.1: Thị phần sản phẩm Antivirus 1/2015 theo OPSWAT 20 Hình 2.2.1: Sự phân chia kỹ thuật phát mã độc 20 Hình 2.2.2: Việc xây dựng tập signature hoàn chỉnh vô khó khăn 21 Hình 2.2.3: Phân loại hành vi kỹ thuật Anomaly-based Detection 22 Hình 2.3.1: Tệp chứa mã độc quét trang virustotal.com 24 Hình 2.3.2: Cách tính toán giá trị hash với khối ký tự 25 Hình 2.3.3: Mô tả sau tiến hành Rolling hash 25 Hình 2.3.4: Một đoạn mã virus Stoned phân tích 26 Hình 2.3.5: Cấu trúc ghi cờ CPU Intel 16bit định nghĩa lại ngôn ngữ C 27 Hình 2.3.6: Kỹ thuật Heuristic nhận dạng số virus thực tế 28 Hình 2.3.7: Phân loại ngưỡng lây nhiễm mức đơn lớp 28 Hình 2.3.8: Một khối ngăn chặn hành vi lừa đảo DOS 29 Hình 3.1.1: Minh họa cấu trúc PE Tệp tin 31 Hình 3.1.2: Một tệp tin PE mở công cụ FileInSight McAfee 32 Hình 3.1.3: Thành phần e_magic e_flanew 33 Hình 3.1.4: Hình ảnh PE header tệp tin test.exe 34 Hình 3.1.5: Vị trí thành phần PE Header tệp tin test.exe 37 Hình 3.1.6: Cấu trúc Data Directory 37 Hình 3.1.7: Vị trí Data Directory Optional Header 38 Hình 3.1.8: Các thành phần Data Directory 39 Hình 3.1.9: Hình ảnh minh họa việc Import Sections 43 Hình 3.1.10: Hình ảnh minh họa việc Export Sections 45 Hình 3.1.11: Trường hợp module export theo cách 46 Hình 3.2.1: Trình tự hoạt động chương trình có không rẽ nhánh 49 Hình 3.2.2: Thành phần mã độc tạo 50 Hình 3.2.3: Cấu trúc tệp tin tạo 51 Hình 3.2.4: Mô hình xử lý công việc máy ảo 58 Hình 3.2.5: Thực thi hàm MessageBoxA mà không cần gọi API 61 Hình 3.2.6:Bảng Import Directory thư viện user32.dll 61 Hình 3.2.7: Sơ đồ xác thực sử dụng Chữ ký số 62 Hình 3.2.8: Chữ ký số tệp tin cài đặt phần mềm BKAV 64 Hình 3.2.9: Mã độc giả mạo chữ ký số giả 65 Hình 3.2.10: Sự lây lan Stuxnet 66 Hình 3.3.1: Khi chạy trực tiếp chương trình 67 Hình 3.3.2: Khi chạy chương trình thông qua Visual Studio 2012 67 Hình 3.3.3: Khi chạy chương trình máy thật 68 Hình 3.3.4: Khi chạy chương trình máy ảo VMware Workstation 11 68 Hình 3.3.5: Lây nhiễm vào tệp tin ổ đĩa E 68 Hình 3.3.6: Thực thi chương trình bị nhiễm 69 Hình 3.3.7: Tiến trình thực thi với quyền SYSTEM 69 Hình 3.3.8: Kích thước tệp tin thay đổi sau bị nhiễm 70 Hình 3.3.9: Kết Scan Online 70 Hình 3.3.10: Kết Scan sau ký chữ ký số 71 TỪ VIẾT TẮT Viết đầy đủ Viết tắt AV Antivirus PE Portable Executable API Application Programming Interface LỜI MỞ ĐẦU Giới thiệu Trong giai đoạn nay, công nghệ thông tin ứng dụng vào hầu hết lĩnh vực sống, yêu cầu an toàn thông tin trở nên quan trọng Chính vậy, phần mềm phòng chống mã độc (hay phần mềm Antivirus) ngày nhiều người biết đến Nhưng lẽ đó, người sử dụng quên dần cách tự bảo vệ máy tính mình, thay vào giao phó toàn an toàn máy tính nói chung liệu máy tính nói riêng vào phần mềm Antivirus Theo ước tính Trung tâm Nghiên cứu Chiến lược Quốc tế (CSIS) Hoa Kỳ, năm 2014, giới tổn thất 445 tỷ USD tội phạm mạng gây 8.500 tỷ đồng số tiền thiệt hại mà người sử dụng Việt Nam phải hứng chịu từ loại mã độc máy tính Liệu phần mềm Antivirus có thực đem lại hiệu cho người sử dụng? Thông qua nội dung đề tài: “Nghiên cứu số kỹ thuật sinh mã độc tự động vượt qua phần mềm phòng chống mã độc”, nhóm nghiên cứu tìm hiểu kiến thức mã độc, kỹ thuật sinh mã độc tự động, muốn kiểm chứng tính an toàn phần mềm phòng chống mã độc Từ có nhìn xác mã độc cách thức để tự bảo vệ máy tính Ý nghĩa, mục đích yêu cầu Ý nghĩa:  Ý nghĩa khoa học: o Tìm hiểu tổng quan mã độc, phân loại cách thức lây lan mã độc o Nghiên cứu số công cụ sinh mã độc tự động có o Tìm hiểu số kỹ thuật phát mã độc phần mềm phòng chống mã độc o Tìm hiểu số kỹ thuật vượt qua chế phát phần mềm phòng chống mã độc  Ý nghĩa thực tiễn: o Có khả ứng dụng toán phát nhận dạng mã độc o Có khả ứng dụng vào lĩnh vực liên quan đến an toàn thông tin Mục đích:  Nghiên cứu tổng quan mã độc số công cụ sinh mã độc tự động  Nghiên cứu, phân tích đưa giải pháp vượt qua phần mềm phòng chống mã độc Yêu cầu:  Nghiên cứu tổng quan mã độc số công cụ sinh mã độc tự động  Nghiên cứu giải pháp vượt qua phần mềm phòng chống mã độc  Xây dựng chương trình thử nghiệm giải pháp vượt qua phần mềm phòng chống mã độc Nội dung đề tài Nội dung đề tài trình bày thành phần: Lời mở đầu Chương 1: Tổng quan mã độc Chương trình bày khái quát mã độc, khái niệm, mục đích, phân loại mã độc hình thức lây lan mã độc Bên cạnh đó, chương trình bày nghiên cứu số công cụ sinh mã độc tự động Chương 2: Tổng quan phần mềm phòng chống mã độc Chương giới thiệu phần mềm phòng chống mã độc, nguyên lý phát mã độc số kỹ thuật phát mã độc sử dụng phần mềm phòng chống mã độc Chương 3: Nghiên cứu kỹ thuật vượt qua phần mềm phòng chống mã độc Chương tập trung trình bày kỹ thuật vượt qua phần mềm phòng chống mã độc công bố: kỹ thuật mã hóa, kỹ thuật rẽ nhánh… Bên cạnh đó, Chương trình bày, phân tích áp dụng số kỹ thuật khác kỹ thuật sử dụng chữ ký số, khai thác lỗ hổng Hệ điều hành, nhằm làm tăng hiệu vượt qua phần mềm phòng chống mã độc Kết luận Tài liệu tham khảo TỔNG QUAN VỀ MÃ ĐỘC 1.1 Giới thiệu 1.1.1 Khái niệm, phân loại mục đích mã độc a Khái niệm: Mã độc thuật ngữ dùng để ám phần mềm cài đặt vào máy tính, thực nhiệm vụ không mong muốn, thường nhằm phục vụ lợi ích cho bên thứ ba 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… b Phân loại: Mã độc ngày phát triển nhiều hình thái khác Mã độc không tồn dạng đơn mà pha trộn, lai tạo dựa nhiều dạng Dưới số loại mã độc: Virus: loại mã độc có khả tự nhân bản, lây lan trực tiếp vào tệp tin liệu máy tính Virus thay đổi xóa bỏ tệp tin liệu máy tính Worm: khác với virus, loại mã độc không trực tiếp vào tệp tin liệu máy tính, không cần phải gắn vào chương trình để thực thi hoạt động Nhưng có khả tạo để đánh cắp phá hủy liệu máy tính Trojan: loại mã độc khả nhân bản, che giấu tạo vỏ bọc an toàn phần mềm hợp lệ Chúng bí mật kết nối Internet, đánh cắp thông tin máy tính, phối hợp với Backdoors để tạo điều khiển máy tính, lây lan loại mã độc khác từ xa Rootkit: loại mã độc nguy hiểm, lây nhiễm vào máy tính mức thấp hệ điều hành… nên khó phát Chúng gần “vô hiệu” phần mềm phát mã độc Keyloggers: loại mã độc gián điệp có khả thu thập thông tin (tài khoản đăng nhập, mật khẩu, thông tin cá nhân…) bạn gõ bàn phím máy tính Các thông tin chuyển nhằm phục vụ việc đánh cắp thông tin Adware: loại mã độc hiển thị quảng cáo không mong muốn hình người dùng Về chất, quảng cáo gây phiền nhiễu, không gây nguy hiểm tới người dùng Nhưng chúng lại lợi dụng để thực loại mã độc khác Spyware: loại mã độc gián điệp có khả lút thu thập thông tin máy tính bị lây nhiễm thông tin hệ thống, địa IP máy tính, websites ghé thăm… gửi thông tin Browser Hijacker: có khả sửa đổi thiết lập trình duyệt máy tính trang mặc định (Home page), công cụ tìm kiếm, tạo phím tắt máy tính, hiển thị quảng cáo chuyển hướng liên kết trang web… Mobile Threats: khác với loại mã độc máy tính, loại mã độc thiết bị di động Mục đích chủ yếu loại mã độc theo dõi, đánh cắp thông tin người sử dụng - c Mục đích mã độc: Trò đùa người lập trình mã độc Khẳng định thân Học tập, nghiên cứu Phá hủy liệu, hệ thống máy tính Theo dõi đánh cắp thông tin máy tính, thông tin cá nhân người dùng… 1.1.2 Các thức lây nhiễm mã độc - Lây nhiễm theo cách cổ điển: mã độc lây nhiễm từ máy tính sang máy tính khác, từ thiết bị sang thiết bị khác thông qua phương tiện lưu trữ liệu như: đĩa CD, USB flash, Ổ cứng di động… - Lây nhiễm qua thư điện tử: mã độc gắn vào thư điện tử, tệp tin đính kèm, đường link ẩn… người sử dụng nhận thư điện tử không kiểm tra kỹ, gián tiếp thực thi mã độc - Lây nhiễm qua truy cập trang web: mã độc gắn banner, quảng cáo trang web, người sử dùng trực tiếp gián tiếp truy cập vào trang web bị dính mã độc bị lây nhiễm - Lây nhiễm qua phần mềm cài đặt: mã độc đính kèm phần mềm cài đăt, người sử dụng bị lây nhiễm thực trình cài đặt sau cài đặt phần mềm Các lây nhiễm thường dựa vào thiếu hiểu biết không đọc kỹ yêu cầu cài đặt phần mềm - Lây nhiễm qua khai thác lỗi bảo mật: thông qua việc khai thác lỗi bảo mật hệ điều hành, cấu trúc tệp tin… để cài mã độc nên máy tính nạn nhân 1.1.3 Các loại mã độc dự đoán xu hướng mã độc tương lai Theo AV-Test, có đến 140 triệu loại mã độc xuất năm 2014, nhiều hẳn so với năm trước Bên cạnh vượt trội số lượng, thấy năm 2014 xuất nhiều mã độc có đặc điểm khác biệt so với mã độc trước Các loại mã độc ngày thiết kế tinh vi hơn, đặc biệt mã độc thiết kế cho mục đích công có chủ đích nhằm vào cá nhân tổ chức lớn Hình 1.1.1: Thống kê loại mã độc xuất theo năm Dự đoán năm tới xu hướng phát triển mã độc tiếp tục xuất phần mềm gián điệp tinh vi nhằm vào hạ tầng trọng yếu quốc gia để đánh cắp phá huỷ Các mã độc di động tiếp tục tăng nhanh xuất nhiều biến thể phần mềm mã hoá tống tiền (ransomware) di động Quyền riêng tư người sử dụng tiếp tục vấn đề nóng đặc biệt hãng sản xuất thiết bị di động ứng dụng di động Có thể xuất nhiều vụ lọ lọt liệu người sử dụng tương tự vụ diễn viên tiếng bị lộ ảnh nóng iCloud Các dịch vụ lưu trữ liệu đám mây gặp phải nghi ngại người sử dụng vấn đề đảm bảo an toàn Mạng xã hội Facebook trở thành đường chủ yếu để kẻ lừa đảo hoạt động Các công mạng mang màu sắc trị gia tăng nhóm hacker quốc gia Hacker tiếp tục nhằm vào giao thức mạng thư viện quan trọng với hy vọng tìm lỗ hổng tương tự Heartbleed hay Shellshock Doanh nghiệp đối đầu với công đánh cắp liệu ngày tinh vi Đặc biệt tổ chức tài cung cấp dịch vụ internet 1.2 Các công cụ sinh mã độc tự động 1.2.1 Hướng tiếp cận Để tiến hành nghiên cứu công cụ sinh mã độc tự động, nhóm nghiên cứu sử dụng kỹ thuật Dịch ngược để nghiên cứu cách thức hoạt động công cụ Chuẩn bị: - Máy ảo Sanboxie để thực thi chương trình - Một số công cụ sinh mã độc tự động: JPS (Virus Maker 3.0), TeraBIT Virus Maker 3.2 - Công cụ Dịch ngược: IDA Pro, Ollydbg - Các công cụ khác: CFF Explorer, Exeinfo PE… Mục đích: Mục đích việc nghiên cứu tìm phương pháp tự động sinh mã độc, từ xây dựng chương trình tự động sinh tìm hiểu đặc trưng loại mã độc sinh tự động để phát phòng chống 10 Kỹ thuật tương đối khó khăn việc áp dụng khác kiến trúc máy tính, hệ điều hành, tốc độ xử lý… loại hệ điều hành, dòng chip xử lý… khác Và nhiều thời gian để có số phù hợp Artifaces Based Kỹ thuật dựa vào đặc trưng tiến trình, cổng kết nối… hay dấu hiệu vào mô thiết bị máy ảo Dù vậy, dựa kỹ thuật phần mềm ảo hóa khác có đặc điểm khác biệt Dưới số phương thức phát Virtual Machine Sanboxie: Phương pháp Virtual Machine Sanboxie Các thị CPU (sidt, sgdt, sldt, str, rdtsc, in…) + - Tên người dùng/Máy tính - + Các tiến trình chạy + + Các dịch vụ chạy + + Scan nhớ module nạp + + Các driver thiết bị nạp + + Các giá trị ghi + + Tên đối tượng hệ thống (Thiết bị, Driver, Sự kiện, Section, Cổng kết nối…) + + Các yêu cầu IOCTL + - Thông tin phần cứng (Số serial ổ đĩa, kích thước HDD, địa MAC cổng Ethernet…) + - Phát việc Hook vào hàm API - + Ghi chú: “+”: Có ; “-”: Không 59 3.2.7 Kỹ thuật che giấu API API cung cấp hầu hết tính thông dụng cho tất chương trình chạy Window Hầu hết hàm API thường chứa file DLL thư mục hệ thống Window (thường C:\\Windows\\System32\\) Có thành phần tạo nên Windows API: - Các hàm (function): thành phần Windows API, chúng chứa file DLL truy xuất dễ dàng chương trình Window - Các cấu trúc (structure): nhiều hàm API đòi hỏi cấu trúc phải truyền cho chúng để vận chuyển lượng lớn thông tin mà không cần phải dùng nhiều đối số Các cấu trúc dùng hàm API phải tự định nghĩa - Các đặt tên (named constant): cấu trúc, phải định nghĩa rõ ràng chương trình - Các hàm callback (callback function): mặt khái niệm, hàm callback ngược với hàm API Một hàm callback định nghĩa hoàn toàn chương trình Sau hàm hàm API khác gọi thực thi tác vụ Các hàm callback cung cấp cách thức để chương trình can thiệp trực tiếp vào tác vụ Các mã độc hều hết sử dụng API Windows để thao tác với hệ thống thực thi theo chức thiết kế Chính vậy, hàm API nguy hiểm AV ý Hơn nữa, việc biến đổi hay làm rối mã mã độc nhằm trốn tránh AV không phụ thuộc vào kỹ thuật che giấu, mà hầu hết phụ thuộc vào thân mã độc thiết kế Một mã độc có thời gian “sống” lâu dài mà không bị phát phải tránh nghi ngờ người dùng AV hệ thống Kỹ thuật nhằm che giấu API sử dụng trình lập trình Ví dụ sử dụng hàm LoadLibraryA GetProcAddress để thực thi hàm “MessageBoxA” từ “user32.dll” #include #include using namespace std; void HidenAPI() { char* szMessage = "Hiden API"; char* szCaption = "Hello!"; HMODULE hModule = LoadLibraryA("user32.dll"); 60 FARPROCfFuncProc = GetProcAddress(hModule, “MessageBoxA"); ((int(WINAPI*)(HWND, LPCSTR, LPCSTR, UINT))fFuncProc)(0, szMessage, szCaption, ); } int main() { HidenAPI(); } Hàm MessageBoxA thực thi mà không cần phải gọi tới API MessageBoxA() Hình 3.2.5: Thực thi hàm MessageBoxA mà không cần gọi API Trong bảng Import Directory không tìm thấy “MessageBoxA” thư viện “user32.dll” Hình 3.2.6:Bảng Import Directory thư viện user32.dll 61 Trong ví dụ trên, tối ưu hóa cách sử dụng hàm mã hóa chuỗi MessageBoxA giải mã sử dụng chuỗi thực thi, để làm rối mã trình phân tích 3.2.8 Kỹ thuât sử dụng chữ ký số a Khái niệm vai trò ứng dụng chữ ký số Chữ ký điện tử (tiếng anh: electronic signature) thông tin kèm theo liệu (văn bản, hình ảnh, video ) nhằm mục đích xác định người chủ liệu Chữ ký Số sử dụng giao dịch Số Xuất phát từ thực tế, chữ ký Số cần đảm bảo chức năng: xác định người chủ liệu đó, văn bản, ảnh, video liệu có bị thay đổi hay không Chữ ký số (Digital signature) dạng chữ ký điện tử (là tập chữ ký điện tử) tạo biến đổi thông điệp liệu sử dụng hệ thống mật mã hoá khoá công khai, theo người có thông điệp liệu ban đầu khoá công khai người ký xác định cách xác Chữ ký số dùng kỹ thuật mã hóa khóa công khai khóa riêng (public key/ private keycryptography) Khóa công khai (public key) gửi đến người cần Nhưng khóa riêng (private key) có người mã hóa nắm giữ Hình 3.2.7: Sơ đồ xác thực sử dụng Chữ ký số 62 Chữ ký số dùng cho văn số, cho biết toàn văn ký người ký Và người khác xác minh điều Chữ ký số tương tự chữ ký thông thường, đảm bảo nội dung tài liệu đáng tin cậy, xác, không thay đổi đường truyền cho biết người tạo tài liệu Tuy nhiên, chữ ký số khác chữ ký thường, tuỳ thuộc vào văn Chữ ký số thay đổi theo văn chữ ký thường không thay đổi Chữ ký số sử dụng để cung cấp chứng thực chủ sở hữu, tính toàn vẹn liệu chống chối bỏ nguồn gốc nhiều lĩnh vực Giải pháp dùng chữ ký số tối ưu có hiệu lực pháp luật, không cần in ấn tài liệu mà xác nhận tài liệu, đảm bảo tính toàn vẹn không chối bỏ Chữ ký số phát hành bên thứ ba quan chứng thực có thẩm quyền cấp phát, thu hồi, quản lý chứng số cho thực thể thực giao dịch an toàn (Certificate Authority CA) nên đảm bảo tính khách quan Như vậy, trình tạo chữ ký số, xác nhận yêu cầu pháp lý, bao gồm xác thực người ký, xác thực tin nhắn, thành công hiệu Chính ưu điểm trên, chữ ký số dùng nhiều ứng dụng: đảm ảo an ninh truyền thông, ngân hàng trực tuyến, thương mại điện tử, đảm bảo an ninh cho thư điện tử… b Định dạng tệp tin thực thi ký Một tệp tin thực thi ký định dạng tiêu chuẩn tệp tin PE Windows Sở dĩ, tệp tin thực thi nhà phát hành ký chữ ký điện tử họ lên sản phầm phần mềm nhằm xác thực tệp tin không bị sửa đổi giả mạo sử dụng người dùng Hơn nữa, để tránh trường hợp dương tính giả, phần mềm ký chữ ký số họ Do Antivirus gặp tệp tin ký chữ ký số bỏ qua, không quét không đưa vào môi trường sandbox để kiểm tra hành vi Hơn nữa, phần mềm nhiều có hành vi tương tự mã độc, phần mềm phải ký nhà phát hành để tránh AV nhận dạng mã độc Dữ liệu tổ chức định dạng tệp tin thực thi Các phần đầu tệp tin thực thi chứa thông tin quan trọng tệp tin thực thi (được gọi tắt header, có tệp tin) Phần đầu tệp tin định nghĩa số trường liệu mà chứa mã thực thi Một số IMAGE_DIRECTORY_ENTRY_SECURITY sử dụng để lưu trữ mã băm tệp tin, mục đủ lớn để chứa chữ ký điện tử, ghi chữ ký vị trí tệp tin 63 Quá trình ký sau: - Tính mã băm tệp tin, bỏ qua checksum mục IMAGE_DIRECTORY_ENTRY_SECURITY - Tạo chữ ký thêm vào tệp tin - Ghi vào vị trí chữ ký vào kích thước (Thêm vào bội số 16 bytes), vào mục IMAGE_DIRECTORY_ENTRY_SECURITY Vị trí chữ ký phần cuối tệp tin, đơn giản chứa liệu - Cập nhật tệp tin checksum - Ghi tệp liệu đóng tệp tin Hình 3.2.8: Chữ ký số tệp tin cài đặt phần mềm BKAV Mã độc sử dụng kỹ thuật để vượt qua phần mềm phòng chống mã độc lợi dụng tin tưởng người dùng để công lừa đảo, làm cho phần mềm độc hại trông đáng tin Ngoại trừ việc mã độc ký 64 chữ ký hợp lệ người thiết kế mã độc mua từ nhà cung cấp chữ ký số hoặn ăn cắp việc tạo chữ ký ký lên mã độc dễ dàng nên ngày nhiều mã độc sử dụng kỹ thuật Hình 3.2.9: Mã độc giả mạo chữ ký số giả 3.2.9 Khai thác lỗ hổng Hệ điều hành Những mã độc sử dụng lỗ hổng hệ điều hành thường khó phát so với mã độc thông thường, loại mã độc có thời gian hoạt động ngầm lâu trước chúng bị phát chuyên gia phân tích mã độc Ví dụ Stuxnet loại mã độc phát triển chỉnh phủ Mỹ sử dụng để công vào hệ thống máy làm giàu Uranium Iran Được phát chuyên gia Với phiên đầu tiên, hoạt động từ năm 2005 65 Làm rối loạn vòng quay máy ly tâm, gây ảnh hướng tới hệ thống Quá trình lây nhiễm phá huỷ Stuxnet miêu tả hình đây: Hình 3.2.10: Sự lây lan Stuxnet Stuxnet lợi dụng lỗ hổng hệ điều hành Windows để tiến hành lây nhiễm từ máy tính sang máy tính khác Stuxnet lập trình để bí mật lây từ máy Windows sang máy Windows khác Ngay máy không kết nối Internet Stuxnet tự chép thông qua ổ đĩa USB Chính đặc biệt tính mà chuyên gia bảo mật lo lắng Stuxnet nhanh chóng lây lan giới bên Khi file LNK chép vào ổ USB, lúc cắm sang máy khác, Windows Explorer tự quét nội dung chứa ổ nhờ tập tin autorun.inf điều tạo điều kiện cho mã độc kích hoạt Khi chạy lên, lặng lẽ cài vào máy tính file lớn hơn, sau tự chia nhỏ ẩn vào nhiều nơi khác Mã độc dùng chứng thực số (digital certificate) lấy từ hai hãng sản xuất Đài Loan tiếng Realtek JMicro để làm cho hệ thống bảo mật tin Stuxnet phần vô hại Nguy hiểm hơn, cách thức giả mạo nguy hiểm lần người ta thấy 66 Stuxnet không khai thác mà đến lỗ hổng zero day Windows “Nó không số gây chấn động mà lỗ hỗng bổ sung cách hoàn hảo đẹp mắt cho lỗ hổng lại” Ngoài lỗ hổng nằm tập tin LNK Windows Explorer nói đến trên, Stuxnet tận dụng thêm lỗ hổng máy tính chia sẻ máy in mạng Hai lỗi lại liên quan đến quyền thực thi hệ thống Stuxnet thiết kế để có quyền cấp hệ thống, tức quyền cao nhất, máy tính thiết lập cách kĩ 3.3 Chương trình thử nghiệm Từ nội dung trình bày Nhóm nghiên cứu xây dựng thử nghiệm chương trình sau: - Chương trình demo kỹ thuật Anti-Debug Anti-Virtual Machine (cụ thể Máy ảo VMware Workstation)  Kỹ thuật Anti-Debug Hình 3.3.1: Khi chạy trực tiếp chương trình Hình 3.3.2: Khi chạy chương trình thông qua Visual Studio 2012 67  Kỹ thuật Anti-Virtual Machine (cụ thể Máy ảo VMware Workstation) Hình 3.3.3: Khi chạy chương trình máy thật Hình 3.3.4: Khi chạy chương trình máy ảo VMware Workstation 11 - Mã độc siêu đa hình sử dụng kỹ thuật trình bày với Payload chương trình khai thác lỗ hổng Hệ điều hành Windows (CVE-20144113) - Các chương trình có sử dụng chữ ký số giả để ký vào chương trình bị nhiễm Quá trình lây nhiễm vào tệp tin Hình 3.3.5: Lây nhiễm vào tệp tin ổ đĩa E 68 Khi chạy tệp tin bị lây nhiễm, lên MessegaBox cảnh báo Sau đó, tiến trình gọi để thực thi payload chính, payload mã độc khai thác lỗ hổng leo thang đặc quyền Windows, thực thành công, tiến trình thực thi quyền SYSTEM, tệp tin bị nhiễm thực thi bình thường Hình 3.3.6: Thực thi chương trình bị nhiễm Hình 3.3.7: Tiến trình thực thi với quyền SYSTEM 69 Hình 3.3.8: Kích thước tệp tin thay đổi sau bị nhiễm Kết Scan thực địa https://www.virustotal.com/ Hình 3.3.9: Kết Scan Online 70 Hash (sha256): f36df13fe486d7a6ad60eaf1680d5accc984f355504730077d14b72c595fd009 Mã độc sau ký với chữ ký số giả mạo kiểm tra lại có kết sau: Hình 3.3.10: Kết Scan sau ký chữ ký số 71 KẾT LUẬN Sau thời gian nghiên cứu, tìm hiểu thực đề tài, nhóm nghiên cứu hoàn thành tiến độ đạt số kết định Đề tài nghiên cứu kiến thức mã độc, phân loại cách thức lây lan mã độc; kiến thức công cụ sinh mã độc tự động Trong trình nghiên cứu, nhóm tìm hiểu số kỹ thuật phát mã độc phần mềm phòng chống mã độc nhằm lựa chọn xây dựng kỹ thuật vượt qua phần mềm phòng chống mã độc cách phù hợp đạt hiệu cao Tuy nhiên, trình thực đề tài gặp nhiều khó khăn Đó việc tìm hiểu kỹ thuật phát mã độc phần mềm phòng chống mã độc không công bố rộng rãi, kỹ thuật vượt qua phần mềm phòng chống mã độc công bố công khai thường cũ dễ bị phát Chính vậy, nội dung nhóm đề tài tập trung vào vận dụng có sửa đổi kỹ thuật vượt qua phần mềm độc hại biết sử dụng thêm kỹ thuật công bố giới để nâng cao hiệu chương trình Trong thời gian tới, nhóm nghiên cứu thu thập, tìm hiểu thêm kỹ thuật để nâng cao hiệu chương trình mở rộng khả ứng dụng đề tài hệ điều hành Để hoàn thành đề tài, cố gắng nỗ lực thành viên nhóm giúp đỡ, tận tình bảo thầy giáo 3// PGS.TS Nguyễn Hiếu Minh, thầy giáo 3/ KS Nguyễn Văn Cường thầy giáo, cô giáo Bộ môn An ninh Mạng Chúng em xin chân thành cảm ơn thầy, cô giúp đỡ chúng em trình thực đề tài 72 TÀI LIỆU THAM KHẢO [1] Aditya P Mathur and Nwokedi Idika, "A Survey of Malware Detection Techniques" [2] Joshua Tully, "Introduction into Windows Anti-Debugging", 9/2008 [3] Joshua Tully, "An Anti-Reverse Engineering Guide", 11/2008 [4] Mark Vincent Yason, "The Art of Unpacking" [5] Michael Sikorski and Andrew Honig, "Praise for Practical Malware Analysis" [6] Moritz Jodeit, "Exploiting CVE-2014-4113 on Windows 8.1" [7] N Rin, "VMDE - Virtual Machines Detection Enhanced" [8] Peter Szor, "The Art of Computer Virus Research and Defense" [9] Philippe Beaucamps, "Advanced Metamorphic Techniques in Computer Viruses" [10] Richard Ford, "The future of virus detection" [11] Ronnie Johndas, "Analysis of CVE-2014-4113" [12] http://www.ducasec.com/an-ninh-mang-the-gioi-nhin-lai-2014-va-du-doan2015/ [13] http://itsecuritylab.eu/index.php/2010/09/03/writing-crypter-bypassingantivirus-how-to-for-beginners/ 73 [...]... tạp Mã độc có thể dễ dàng vượt qua nếu nhận dạng bằng mã hash 2.3.2 Fuzzy Hashing Để cải tiến nhược điểm dựa vào mã hash của kỹ thuật Checksummers, các nhà khoa học đã tìm ra một kỹ thuật khác có tên là Fuzzy Hashing Kỹ thuật mới này về cơ bản vẫn là nhận dạng chương trình mã độc qua mã hash nhưng đã được bổ sung thêm các phân tích và tính toán để từ một mã hash của mã độc, có thể nhận ra các mã hash... hiển thị (phần dưới cùng) Chứng tỏ resource đã bị chỉnh sửa theo phương pháp đã trình bày ở trên để sinh ra được mã độc có thể thực thi 1.2.4 Kết quả Hầu hết các công cụ tự động sinh mã độc được nghiên cứu đều sử dụng phương pháp sinh mã độc như sau: Bước 1: Tạo ra một mã độc có đầy đủ các chức năng Bước 2: Xây dựng một công cụ Patcher để sửa đổi một số byte code trong tệp tin nhị phân của mã độc tương... hình cài đặt của mã độc được sinh ra Hình 1.2.12: Mô tả quá trình patch Bước 3: Ghi tệp tin mã độc được sinh ra bằng Patcher 18 TỔNG QUAN VỀ PHẦN MỀM PHÒNG CHỐNG MÃ ĐỘC 2.1 Giới thiệu Hầu hết các loại mã độc đã xuất hiện trên thế giới từ những năm 1980 hoặc thậm chí là sớm hơn Cùng với đó là những mục đích khác nhau khi mã độc được tạo ra Thế nhưng mãi đến năm 1987, hai tiện ích phòng chống virus đầu... chiếm thị phần nhiều nhất trên thế giới theo báo cáo thống kê tháng 1/2015 của OPSWAT – là một công ty phần mềm chuyên cung cấp các kỹ sư, các công cụ và dịch vụ phát triển phần mềm bảo mật) 19 Hình 2.1.1: Thị phần các sản phẩm Antivirus 1/2015 theo OPSWAT 2.2 Nguyên lý phát hiện mã độc Hình 2.2.1: Sự phân chia về các kỹ thuật phát hiện mã độc Như vậy, có thể thấy các kỹ thuật phát hiện mã độc được... 2 kỹ thuật phân tích trên mà không làm ảnh hưởng đến máy thật 2.3 Các kỹ thuật phát hiện mã độc 2.3.1 Checksummers Về cơ bản, Checksummers là kỹ thuật phát hiện đối tượng mã độc trên cơ sở tính toàn vẹn của chương trình Mỗi chương trình sau khi được xác định chắc chắn là mã độc sẽ được sử dụng để tạo ra mẫu mã hash (MD5, SHA, CRC…) tương ứng với loại mã độc đó Do tính chất của mã hash nên một loại mã. .. nay, kỹ thuật này được sử dụng kết hợp rộng rãi với các kỹ thuật phân tích khác Cùng với đó, kỹ thuật này đã trở thành một thành phần quan trọng trong công nghệ Sandbox để phát hiện mã độc Ưu điểm: - Mã độc hoạt động độc lập, không ảnh hưởng đến hệ thống máy thật Nhược điểm: - Mô phỏng lại các thông tin hệ thống CPU, bộ nhớ… là rất khó khăn - Cập nhật và vận hành hệ thống mô phỏng yêu cầu tính kỹ thuật. .. 30 NGHIÊN CỨU CÁC KỸ THUẬT VƯỢT QUA PHẦN MỀM PHÒNG CHỐNG MÃ ĐỘC 3.1 Cấu trúc tệp tin thực thi trên Hệ điều hành Windows 32bit Sự hiểu biết cơ bản về định dạng tệp tin thực thi là rất quan trọng cho quá trình phân tích mã độc hại hoặc viết ra một chương trình virus lây nhiễm tệp tin PE PE File Format (Portable Executable File Format): là định dạng tệp tin của Windows 32bit và Windows 64bit Nhóm nghiên. .. nhiễm virus là John McAfee Tiếp sau đó là các hãng phần mềm Kaspersky và Norton ra đời, mở ra cánh cửa mới cho ngành công nghệ sản xuất phầm mềm phòng chống sự lây lan của virus, mà nay có tên gọi là các phần mềm phòng chống mã độc Các phần mềm phòng chống mã độc (Antivirus Software) phổ biến tại Việt Nam năm 2014: - Kaspersky Antivirus Software Avast Antivirus Software Bitdefender Antivirus Software... nhóm chính là: - Signature-based: dựa vào dấu hiệu đặc trưng - Anomaly-based: dựa vào các điểm bất thường Các kỹ thuật phân tích được sử dụng trong các kỹ thuật phát hiện mã độc là: - Stactic: phân tích tĩnh - Dynamic: phân tích động - Hybrid: phân tích lai, là sử kết hợp giữa phân tích động và tĩnh 20 2.2.1 Phát hiện mã độc dựa vào dấu hiệu đặc trưng Là việc sử dụng một tập các mẫu nhận dạng được gọi... là chức năng tự động sao chép với thời gian định trước, mã độc sử dụng hàm User32.SetTimer với tham số truyển vào là 60000ms, sau mỗi lần lại tiến hành copy tệp tin tới một thư mục gần vị trí của nó bằng hàm Explorer.00459F4 Hình 1.2.6: Cứ sau 1 phút mã độc lại tự sao chép chính nó tới vị trí khác Các chức năng của mã độc được sinh ra thực hiện đúng như mong đợi Phân tích chương trình sinh ta có được ... kỹ thuật sinh mã độc tự động vượt qua phần mềm phòng chống mã độc , nhóm nghiên cứu tìm hiểu kiến thức mã độc, kỹ thuật sinh mã độc tự động, muốn kiểm chứng tính an toàn phần mềm phòng chống mã. .. chống mã độc, nguyên lý phát mã độc số kỹ thuật phát mã độc sử dụng phần mềm phòng chống mã độc Chương 3: Nghiên cứu kỹ thuật vượt qua phần mềm phòng chống mã độc Chương tập trung trình bày kỹ thuật. .. Nghiên cứu số công cụ sinh mã độc tự động có o Tìm hiểu số kỹ thuật phát mã độc phần mềm phòng chống mã độc o Tìm hiểu số kỹ thuật vượt qua chế phát phần mềm phòng chống mã độc  Ý nghĩa thực tiễn:

Ngày đăng: 25/04/2016, 00:39

Từ khóa liên quan

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

Tài liệu liên quan