Đề tài: Phân tích tĩnh malware Trojan Zeus Banking (Báo cáo BTL - PTIT)

Phân tích tĩnh malware Trojan Zeus Banking: Nghiên cứu chuyên sâu về cấu trúc, chức năng & cách thức hoạt động của loại mã độc nguy hiểm này. Tìm hiểu ngay!

Chuyên ngành

An Toàn Thông Tin

Người đăng

Ẩn danh

Thể loại

Báo cáo bài tập lớn

2024

42
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Khám phá Trojan Zeus Hướng dẫn phân tích tĩnh mã độc chi tiết

Malware Trojan Zeus, hay còn gọi là mã độc Zbot, là một trong những mối đe dọa an ninh mạng nguy hiểm nhất nhắm vào lĩnh vực tài chính. Xuất hiện từ năm 2007, Zeus đã phát triển thành nhiều biến thể tinh vi, chuyên đánh cắp thông tin nhạy cảm như tài khoản ngân hàng trực tuyến. Phân tích mã độc là quy trình thiết yếu để hiểu rõ cơ chế hoạt động và xây dựng biện pháp phòng chống hiệu quả. Trong đó, phương pháp phân tích tĩnh đóng vai trò nền tảng. Kỹ thuật này cho phép các nhà nghiên cứu bảo mật kiểm tra cấu trúc và mã nguồn của malware mà không cần thực thi nó, qua đó giảm thiểu rủi ro cho môi trường phân tích. Bài viết này sẽ đi sâu vào quy trình phân tích tĩnh malware Trojan Zeus Banking, cung cấp kiến thức từ cơ bản đến nâng cao, dựa trên các kết quả từ luận văn an toàn thông tin và báo cáo nghiên cứu thực tiễn. Mục tiêu là làm sáng tỏ các kỹ thuật mà Zeus sử dụng, từ cách che giấu bản thân đến cơ chế đánh cắp dữ liệu, giúp các tổ chức và cá nhân nâng cao khả năng phòng thủ trước loại trojan ngân hàng này.

1.1. Hiểu rõ mã độc Zbot Mối đe dọa hàng đầu cho ngành ngân hàng

Mã độc Zbot (Zeus) được thiết kế chuyên biệt để tấn công người dùng dịch vụ ngân hàng trực tuyến. Cơ chế lây nhiễm chính của nó thường thông qua các chiến dịch lừa đảo (phishing) qua email hoặc các trang web độc hại. Một khi xâm nhập thành công vào hệ thống, Trojan Zeus sẽ hoạt động âm thầm, sử dụng các kỹ thuật như man-in-the-browser (MitB) để theo dõi và ghi lại thông tin đăng nhập, mật khẩu, và mã số thẻ tín dụng. Theo báo cáo nghiên cứu, "Zeus nhanh chóng trở thành công cụ đắc lực trong các chiến dịch tấn công mạng nhờ khả năng ẩn mình, lây lan hiệu quả và tích hợp nhiều chức năng độc hại". Sự nguy hiểm của Zeus không chỉ dừng lại ở việc đánh cắp dữ liệu cá nhân mà còn ở khả năng tạo ra các mạng botnet khổng lồ, cho phép kẻ tấn công điều khiển hàng loạt máy tính bị nhiễm để thực hiện các cuộc tấn công quy mô lớn hơn. Đây là lý do tại sao việc phân tích mã độc này luôn là ưu tiên hàng đầu trong lĩnh vực an ninh mạng.

1.2. Phân tích tĩnh là gì và vai trò trong an ninh mạng hiện đại

Phân tích tĩnh là gì? Đây là kỹ thuật kiểm tra một tệp tin nghi ngờ mà không cần chạy nó. Vai trò của phân tích tĩnh là cung cấp cái nhìn tổng quan ban đầu về mã độc. Các nhà phân tích sẽ mổ xẻ cấu trúc tệp, xác định các chuỗi ký tự (strings), kiểm tra các hàm API được gọi, và phân tích các tài nguyên nhúng bên trong. Lợi ích lớn nhất của phương pháp này là an toàn, vì mã độc không được kích hoạt. Nó giúp xác định các hành vi tiềm ẩn, ví dụ như khả năng kết nối mạng, truy cập tệp tin, hoặc sửa đổi registry. Thông tin thu thập từ phân tích tĩnh là nền tảng quan trọng để chuẩn bị cho giai đoạn phân tích động malware, nơi mã độc sẽ được thực thi trong một môi trường được kiểm soát. Việc này đặc biệt hữu ích khi viết báo cáo thực tập an ninh mạng hoặc thực hiện các dự án nghiên cứu chuyên sâu.

II. Vượt qua thách thức Các kỹ thuật che giấu của Trojan Zeus

Một trong những thách thức lớn nhất trong quá trình reverse engineering mã độc Zeus là các kỹ thuật tinh vi mà nó sử dụng để che giấu bản thân và gây khó khăn cho việc phân tích. Tác giả của malware thường xuyên cập nhật các phương pháp này để lẩn tránh sự phát hiện của các phần mềm diệt virus và các nhà nghiên cứu bảo mật. Việc hiểu và vượt qua các lớp phòng thủ này là chìa khóa để phân tích thành công. Các kỹ thuật này không chỉ làm cho mã nguồn trở nên khó đọc mà còn được thiết kế để phát hiện môi trường phân tích (máy ảo, sandbox) và tự động thay đổi hành vi hoặc ngừng hoạt động. Phân tích các kỹ thuật này đòi hỏi sự kết hợp của nhiều công cụ chuyên dụng và kiến thức sâu rộng về cấu trúc hệ điều hành cũng như các phương pháp lập trình cấp thấp. Vượt qua được những rào cản này sẽ giúp bóc tách được logic hoạt động cốt lõi của mã độc Zbot.

2.1. Phân tích kỹ thuật obfuscation để làm rối mã nguồn malware

Kỹ thuật obfuscation (làm rối mã) là phương pháp biến đổi mã nguồn của chương trình để nó trở nên cực kỳ khó hiểu đối với con người và các công cụ phân tích tự động, trong khi vẫn giữ nguyên chức năng hoạt động. Trojan Zeus thường sử dụng các kỹ thuật làm rối chuỗi (obfuscated strings) để che giặt các thông tin quan trọng như địa chỉ máy chủ C&C (Command and Control), tên tệp, hoặc các lệnh độc hại. Các chuỗi này có thể được mã hóa bằng các thuật toán đơn giản như XOR hoặc Base64 và chỉ được giải mã tại thời điểm thực thi. Điều này khiến các công cụ trích xuất chuỗi thông thường không thể phát hiện. Để giải quyết vấn đề này, các nhà phân tích phải sử dụng các công cụ chuyên dụng như FLOSS (FireEye Labs Obfuscated String Solver) để tự động tìm và giải mã các chuỗi bị che giấu này.

2.2. Nhận diện kỹ thuật anti debug và anti vm trong mã độc Zbot

Để tránh bị phân tích trong môi trường có kiểm soát, Trojan Zeus được trang bị các kỹ thuật anti-debugkỹ thuật anti-vm (chống máy ảo). Kỹ thuật anti-debug bao gồm việc kiểm tra sự hiện diện của các trình gỡ lỗi (debugger) trong bộ nhớ hoặc sử dụng các hàm API của Windows để phát hiện. Ví dụ, hàm IsDebuggerPresent() là một dấu hiệu phổ biến. Tương tự, kỹ thuật anti-vm được dùng để xác định xem mã độc có đang chạy trong một máy ảo (như VMware, VirtualBox) hay không, bằng cách kiểm tra các đặc điểm phần cứng, driver, hoặc các tệp tin đặc trưng của môi trường ảo. Tài liệu phân tích chỉ ra rằng mã độc sử dụng hàm GetTickCount() để đo thời gian hoạt động của hệ thống, một kỹ thuật có thể được dùng để phát hiện môi trường sandbox. Nếu phát hiện ra môi trường phân tích, mã độc có thể tự hủy hoặc chuyển sang một luồng hoạt động vô hại để đánh lừa nhà nghiên cứu.

2.3. Phương pháp giải mã packer để lộ mã nguồn gốc của malware

Packer là một công cụ nén và/hoặc mã hóa tệp thực thi để giảm kích thước và che giấu mã nguồn khỏi việc phân tích. Hầu hết các biến thể của mã độc Zbot đều được "đóng gói" (packed). Khi một tệp bị đóng gói được chạy, một đoạn mã nhỏ (stub) sẽ thực thi trước, có nhiệm vụ giải nén hoặc giải mã mã nguồn gốc vào bộ nhớ rồi mới chuyển quyền thực thi cho nó. Việc giải mã packer là bước bắt buộc trong quá trình reverse engineering. Các công cụ như Exeinfo PE hay Detect It Easy có thể giúp xác định loại packer được sử dụng. Tuy nhiên, nhiều loại packer là tùy chỉnh và không thể nhận dạng tự động. Trong những trường hợp này, các nhà phân tích phải sử dụng trình gỡ lỗi (debugger) để theo dõi quá trình giải mã trong bộ nhớ và trích xuất (dump) mã nguồn gốc sau khi nó đã được giải nén hoàn toàn.

III. Phương pháp phân tích tĩnh Trojan Zeus Các bước cơ bản hiệu quả

Quy trình phân tích tĩnh malware Trojan Zeus Banking bao gồm nhiều bước tuần tự, giúp thu thập thông tin một cách có hệ thống và an toàn. Mỗi bước cung cấp những mảnh ghép quan trọng về danh tính, cấu trúc và mục đích của mã độc. Bắt đầu từ việc xác định định dạng tệp và tính toán giá trị băm để định danh duy nhất cho mẫu vật. Tiếp theo là trích xuất các chuỗi ký tự, một trong những kỹ thuật cơ bản nhưng mang lại hiệu quả cao nhất, giúp hé lộ các tên tệp, URL, thông điệp hoặc lệnh mà malware có thể sử dụng. Việc áp dụng đúng các công cụ và phương pháp trong giai đoạn này sẽ tạo nền tảng vững chắc cho các bước phân tích sâu hơn, đồng thời giúp tiết kiệm thời gian và công sức. Đây là những kiến thức nền tảng trong mọi báo cáo thực tập an ninh mạng và nghiên cứu về phân tích mã độc.

3.1. Xác định loại tệp và phân tích mã Hash để định danh mã độc

Bước đầu tiên trong quy trình là xác định bản chất của tệp tin nghi ngờ. Mặc dù phần mở rộng có thể là .exe, kẻ tấn công thường ngụy trang nó dưới dạng tài liệu như .pdf hoặc .doc để lừa người dùng. Tài liệu gốc phân tích mẫu invoice_2318362983713_823931342io.exe cho thấy nó là một tệp thực thi 32-bit (Portable Executable 32-bit). Sau khi xác định loại tệp, bước tiếp theo là phân tích mã Hash bằng các thuật toán như MD5, SHA1, và SHA256. Giá trị hash là một "vân tay số" duy nhất cho mỗi tệp. Việc này giúp định danh mẫu mã độc một cách chính xác, kiểm tra xem nó đã được phân tích trước đây hay chưa bằng cách tra cứu trên các nền tảng như VirusTotal. Trong báo cáo, mã hash SHA256 được xác định là 69E966E730557FDE8FD84317CDEF1ECE00A8BB3470C0B58F3231E170168AF169, khẳng định tính toàn vẹn của mẫu phân tích.

3.2. Trích xuất chuỗi ẩn với công cụ FLOSS và PEStudio hiệu quả

Trích xuất chuỗi ký tự (string extraction) là một kỹ thuật quan trọng để tìm kiếm thông tin có giá trị bên trong tệp nhị phân. Các chuỗi này có thể là tên miền của máy chủ C&C, đường dẫn tệp, thông báo lỗi, hoặc các lệnh hệ thống. Công cụ PEStudio là một lựa chọn tuyệt vời cho nhiệm vụ này, vì nó có thể hiển thị cả chuỗi ASCII và Unicode, đồng thời gắn cờ các chuỗi đáng ngờ. Tuy nhiên, như đã đề cập, Zeus sử dụng kỹ thuật obfuscation để che giấu các chuỗi quan trọng. Đây là lúc công cụ FLOSS phát huy tác dụng. FLOSS được thiết kế đặc biệt để tự động phát hiện và giải mã các chuỗi bị làm rối, giúp các nhà phân tích khám phá những thông tin mà các công cụ thông thường bỏ lỡ. Việc kết hợp cả hai công cụ này mang lại một cái nhìn toàn diện hơn về ý đồ của trojan ngân hàng.

IV. Bí quyết phân tích cấu trúc file PE của Trojan Zeus Banking

Đi sâu hơn vào phân tích tĩnh, việc mổ xẻ cấu trúc file PE (Portable Executable) là cực kỳ cần thiết. Định dạng PE là tiêu chuẩn cho các tệp thực thi, DLL, và driver trên hệ điều hành Windows. Cấu trúc này chứa đựng vô số thông tin quan trọng về cách chương trình được tải và thực thi trong bộ nhớ. Bằng cách phân tích các thành phần của tệp PE như header, các section (đoạn mã), bảng import/export, và tài nguyên, nhà phân tích có thể suy ra rất nhiều về chức năng và hành vi của malware. Ví dụ, danh sách các hàm được nhập (imports) từ các thư viện hệ thống (DLL) có thể tiết lộ ý định của mã độc, chẳng hạn như thao tác với tệp tin, kết nối mạng, hay ghi lại thao tác bàn phím. Các công cụ chuyên dụng như PEview, CFF Explorer, và PEStudio là không thể thiếu trong giai đoạn này của quá trình reverse engineering.

4.1. Khám phá thư viện DLL và hàm Imports đáng ngờ trong Zbot

Bảng Import Address Table (IAT) trong cấu trúc file PE liệt kê tất cả các hàm mà tệp thực thi gọi từ các thư viện liên kết động (DLL) bên ngoài. Việc kiểm tra danh sách này là một trong những cách hiệu quả nhất để dự đoán hành vi của mã độc Zbot. Theo tài liệu phân tích, mẫu Trojan Zeus này nhập các hàm từ các thư viện quan trọng như KERNEL32.DLL, USER32.DLL, và SHLWAPI.DLL. Sự hiện diện của các hàm như GetClipboardData (từ USER32.DLL) cho thấy khả năng đánh cắp dữ liệu từ clipboard của người dùng. Tương tự, hàm GetTickCount (từ KERNEL32.DLL) có thể được dùng cho kỹ thuật anti-vm. Phân tích sâu hơn các hàm này với công cụ như IDA Pro hoặc Ghidra sẽ làm rõ hơn cách chúng được sử dụng trong các hành vi độc hại.

4.2. Sử dụng công cụ PEview và CFF Explorer để mổ xẻ tệp PE

Để có cái nhìn chi tiết về mọi khía cạnh của cấu trúc file PE, các công cụ như PEview và CFF Explorer là lựa chọn hàng đầu. PEview cung cấp một giao diện dạng cây, cho phép người dùng duyệt qua từng thành phần của tệp, từ DOS Header, NT Headers cho đến các Section Header và Data Directories. Nó hiển thị thông tin ở dạng thô, giúp nhà phân tích hiểu rõ cấu trúc ở mức độ thấp. CFF Explorer cung cấp nhiều tính năng mạnh mẽ hơn, bao gồm trình chỉnh sửa hex, trình phân tích tài nguyên, và khả năng chỉnh sửa các trường trong PE header. Sử dụng các công cụ này, nhà phân tích có thể kiểm tra các đặc điểm đáng ngờ, chẳng hạn như các section có tên lạ, quyền thực thi (executable) ở các section dữ liệu, hoặc kích thước ảo (virtual size) lớn hơn nhiều so với kích thước thô (raw size), một dấu hiệu của việc tệp đã bị đóng gói.

V. Kết quả thực nghiệm Bóc trần hành vi của Trojan Zeus

Quá trình phân tích tĩnh mẫu Trojan Zeus Banking đã mang lại nhiều kết quả quan trọng, bóc trần các cơ chế hoạt động và ý đồ độc hại của nó. Bằng cách kết hợp thông tin từ nhiều công cụ và kỹ thuật khác nhau, một bức tranh toàn cảnh về chuỗi tấn công của Zbot đã được hình thành. Các phát hiện không chỉ xác nhận Zeus là một trojan ngân hàng chuyên nghiệp mà còn cho thấy các kỹ thuật lẩn tránh và thu thập dữ liệu tinh vi của nó. Các bằng chứng thu thập được từ việc phân tích hàm imports, chuỗi ký tự, và các kỹ thuật né tránh đã chỉ ra rõ ràng mục tiêu của mã độc là chiếm quyền kiểm soát, đánh cắp thông tin tài chính và tích hợp máy tính nạn nhân vào một mạng botnet lớn hơn. Những kết quả này là tài liệu tham khảo quý giá cho các luận văn an toàn thông tin và các chuyên gia an ninh mạng.

5.1. Phát hiện cơ chế liên lạc với máy chủ C C Command and Control

Một trong những mục tiêu chính của phân tích malware là xác định cách nó giao tiếp với kẻ tấn công. Trojan Zeus sử dụng một máy chủ C&C (Command and Control) để nhận lệnh và gửi dữ liệu đánh cắp được. Mặc dù các địa chỉ IP hoặc tên miền của máy chủ C&C thường bị che giấu thông qua kỹ thuật obfuscation, việc phân tích các hàm liên quan đến mạng (ví dụ: InternetOpen, HttpSendRequest) có thể gợi ý về khả năng giao tiếp này. Thông qua việc giải mã các chuỗi bị ẩn, nhà phân tích có thể tìm thấy các địa chỉ IP hoặc URL. Bên cạnh đó, tệp cấu hình Zeus được mã hóa và lưu trữ trong phần tài nguyên (.rsrc) hoặc được tải về sau khi lây nhiễm, chứa đựng các thông tin quan trọng về máy chủ C&C. Việc chặn kết nối đến các máy chủ này là một bước quan trọng để vô hiệu hóa mã độc.

5.2. Cách thức tấn công Man in the Browser MitB và đánh cắp dữ liệu

Kỹ thuật tấn công đặc trưng của Trojan ZeusMan-in-the-Browser (MitB). Thay vì tấn công trực tiếp vào máy chủ ngân hàng, Zeus lây nhiễm vào máy tính của người dùng và can thiệp vào trình duyệt web. Nó sử dụng kỹ thuật "web injection" để chèn mã độc (HTML/JavaScript) vào các trang web ngân hàng hợp pháp ngay khi chúng được tải. Đoạn mã này có thể tạo ra các ô nhập liệu giả mạo để lừa người dùng cung cấp thêm thông tin nhạy cảm (mã PIN, số an sinh xã hội) hoặc âm thầm sửa đổi các giao dịch chuyển tiền. Việc phân tích các hàm API như GetClipboardData, GetCapture (để chụp ảnh màn hình), và các hàm liên quan đến việc thao tác với cửa sổ (window manipulation) từ USER32.DLL đã cung cấp bằng chứng về khả năng thực hiện kiểu tấn công này, cho thấy mức độ tinh vi trong việc đánh cắp thông tin của mã độc Zbot.

11/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC VÀ PHÂN TÍCH TĨNH 1.Tổng quan về mã độc 1.1 Mã độc là gì? - Mã độc (Malware) là phần mềm độc hại được thiết kế để xâm nhập vào hệ thống máy tính mà không có sự đồng ý của người dùng. Mục đích của mã độc có thể là gây hại cho hệ thống, đánh cắp dữ liệu cá nhân hoặc làm gián đoạn hoạt động của máy tính. - Mã độc có thể tồn tại dưới nhiều hình thức, như tập tin thực thi, script hoặc mã nguồn. Kẻ tấn công sử dụng mã độc để thu thập thông tin nhạy cảm, theo dõi hành vi người dùng hoặc chiếm quyền điều khiển máy tính.

- Thông thường, mã độc xâm nhập qua email lừa đảo, trang web độc hại hoặc thiết bị lưu trữ USB. Viruss Trojan Horses - Đây là loại mã độc ngụy trang dưới vỏ bọc phần mềm vô hại và thậm chí có thể hoạt động. - Như một chương trình hợp pháp trong hệ thống trước khi thực hiện các hành vi độc hại được chỉ định - Các đoạn mã của Trojan được “che giấu” trong các phần mềm máy tính bình thường để bí mật xâm nhập vào máy tính. - Tới thời điểm thuận lợi, chúng sẽ đánh cắp thông tin cá nhân và chiếm quyền điều khiển máy tính… 1.

Phân tích tĩnh - Phân tích tĩnh là kỹ thuật phân tích tệp nghi ngờ (mẫu) mà không thực thi nó. - Phân tích mã độc có mục tiêu nữa là từ kết quả của việc phần tích đưa ra cách để gỡ bỏ và phòng tránh mã độc đó. - Phân tích tĩnh được chia làm 2 loại: o Phân tích tĩnh cơ bản. o Phân tích tĩnh nâng cao.

Vai trò của phân tích tĩnh - Cung cấp thông tin ban đầu mà không cần thực thi tệp: Phân tích tĩnh có thể được thực hiện mà không cần thực thi tệp. Điều này cho phép thu thập thông tin ban đầu về tệp mà không kích hoạt mã độc tiềm ẩn. - Xác định hành vi tiềm ẩn: Phân tích tĩnh có thể tiết lộ những gợi ý về hành vi tiềm ẩn của tệp như kết nối mạng, truy cập hệ thống tập tin, v. Điều này có thể giúp xác định liệu tệp có đáng nghi ngờ hay không.

- Xác định cách thức hoạt động: Phân tích tĩnh có thể tiết lộ cách thức hoạt động của tệp thông qua việc khám phá cấu trúc, luồng điều khiển và các hàm. 9 - Hỗ trợ phân tích động sau đó: Thông tin thu thập được từ phân tích tĩnh có thể hỗ trợ phân tích động sau đó khi thực thi tệp trong môi trường cô lập - Phân loại tệp: Phân tích tĩnh có thể cung cấp đủ thông tin để phân loại nhanh tệp là bening hoặc đáng ngờ. Một số công cụ phân tích tĩnh - Capa: Capa tập trung vào việc xác định các đặc điểm quan trọng của mã độc, phát hiện chữ ký. - Floss: Cũng giống như Capa, công cụ Floss cũng tìm chữ ký trong tệp thực thi, ngoài ra nó còn tìm chuỗi.

- Cutter: Công cụ có khả năng thực hiện debugging cho các tệp thực thi - PEStudio: Công cụ này cung cấp thông tin chi tiết về các thành phần quan trọng trong tệp thực thi: module, ký sự số bản quyền, thông tin nhúng giúp kiểm tra tệp PE. - CFF Explorer: Công cụ này cung cấp thông tin một cách chi tiết về các cấu trúc của tệp thực thi, bao gồm module, bảng phân đoạn. Quy trình phân tích tĩnh a. Xác định loại của tệp - Phần mở rộng tệp (File extension) là một phần của tên tệp được gắn liền với tên tệp để chỉ định định dạng hoặc loại tệp, vd: .sys, docx, xlsx.

o Phần mở rộng tệp giúp hệ điều hành và các ứng dụng phần mềm nhận biết loại tệp và sử dụng chương trình mở tương ứng để xem hoặc xử lý tệp. o Các kẻ tấn công có thể sử dụng các chiêu trò khác nhau để che dấu tệp của họ bằng cách sửa đổi phần mở rộng tệp và thay đổi giao diện của tệp để lừa người dùng vào thực thi nó. - Chữ ký tệp (File Signature) có thể được sử dụng để xác định loại tệp, thay cho phần mở rộng tệp. o Chữ ký tệp là trình tự byte duy nhất được viết vào phần đầu tệp.

o Các tệp khác nhau có chữ ký khác nhau có thể được sử dụng để xác định loại tệp. - Timestamp: Phần mềm đóng gói chứa thông tin xác định thời điểm tệp được được biên dịch; kiểm tra trường này có thể cho bạn biết khi phần mềm độc hại được tạo lần đầu. - Các công cụ sử dụng để xác định loại của tệp: o Sử dụng phương pháp thủ công để xác định loại tệp là tìm kiếm chữ ký tệp bằng cách mở nó trong một trình chỉnh sửa hex. 1 o Trình chỉnh hex là một công cụ cho phép một nhà điều tra kiểm tra từng byte của tệp; hầu hết trình chỉnh hex cung cấp nhiều chức năng giúp trong việc phân tích tệp.

o Sử dụng phương pháp xác định bằng công cụ b. Phân tích mã Hash - Quá trình tạo các giá trị băm cho các tệp nghi ngờ dựa trên nội dung của chúng, cũng giống như tạo vân tay (Fingerprinting) cho mã độc. - Các thuật toán băm thường được sử dụng như MD5, SHA1 hoặc SHA256. - Các công cụ có thể sử dụng: o Linux: Md5sum, Sha256sum, Sha1sum … o Windows: HashMyFiles, FsumFrontEnd, Jacksum … c.

Tách chuỗi từ chương trình mã động - Sử dụng phần mềm để lấy Strings từ các chương trình có thể là mã độc o Để trích xuất chuỗi từ một tập tin nhị phân nghi ngờ, bạn có thể sử dụng tiện ích strings trên hệ thống Linux. o Đối với các mẫu mã độc hại, cũng sử dụng chuỗi Unicode (2 byte mỗi ký tự). o Trên Windows, PEStudio là một công cụ tiện ích hiển thị cả chuỗi ASCII và chuỗi Unicode. o PEStudio là một công cụ phân tích PE tuyệt vời để thực hiện đánh giá ban đầu về phần mềm độc hại từ một tập tin nhị phân nghi ngờ và được thiết kế để thu thập các mẫu thông tin hữu ích từ một tập tin thực thi PE.

Lấy những chuỗi đã bị che dấu bằng Floss - Trong hầu hết các trường hợp, tác giả phần mềm độc hại sử dụng các kỹ thuật che dấu chuỗi đơn giản để tránh bị phát hiện. - Trong những trường hợp như vậy, những chuỗi đã được che giấu sẽ không xuất hiện trong tiện ích strings và các công cụ trích xuất chuỗi khác. - FireEye Labs Obfuscated String Solver (FLOSS) là một công cụ được thiết kế để tự động xác định và trích xuất chuỗi đã được làm mờ từ phần mềm độc hại. - Xác định cách che giấu của tập tin o Dù việc trích xuất chuỗi là một kỹ thuật xuất sắc để thu thập thông tin có giá trị, thường tác giả phần mềm độc hại sẽ che giấu hoặc bảo vệ tập tin nhị phân của họ.

o Điều này được sử dụng bởi tác giả phần mềm độc hại để bảo vệ cấu trúc bên trong của phần mềm độc hại khỏi các nhà nghiên cứu bảo 1 mật, các chuyên gia phân tích phần mềm độc hại và kỹ sư đảo ngược mã. o Các kỹ thuật làm mờ này làm cho việc phát hiện/phân tích tập tin trở nên khó khăn; việc trích xuất chuỗi từ tập tin nhị phân như vậy dẫn đến rất ít chuỗi, và hầu hết các chuỗi được che giấu. - Packers and Cryptors o Packer là một chương trình lấy tập tin thực thi làm đầu vào và sử dụng nén để để che giấu nội dung của tập tin thực thi. o Một Cryptor tương tự như một Packer, nhưng thay vì sử dụng nén, nó sử dụng mã hóa để giấu nội dung của tập tin thực thi, và nội dung đã được mã hóa được lưu trữ trong tập tin thực thi mới e.

Phát hiện các tệp tin ẩn giấu bằng Exeinfo PE - Hầu hết các tập tin thực thi hợp pháp không che giấu nội dung, nhưng một số tập tin thực thi có thể thực hiện điều này để ngăn người khác kiểm tra mã nguồn của họ. - Khi bạn gặp một mẫu mã đã được đóng gói, có khả năng cao nó sẽ là độc hại. - Để phát hiện các chương trình đóng gói trên Windows, bạn có thể sử dụng một công cụ miễn phí như Exeinfo PE ,nó có giao diện người dùng dễ sử dụng, để phát hiện các trình biên dịch, chương trình đóng gói hoặc mã hóa được sử dụng để xây dựng chương trình. Phân tích cách che giấu - Obfuscated strings(che giấu chuỗi): là các chuỗi đã bị “che giấu”, bị xáo trộn làm cho các công cụ phân tích chuỗi như strings utility không thể trích xuất ra các chuỗi.

- Các kỹ thuật Obfuscated strings: XOR Encryption, Base64 Encoding, Unicode Escaping, String Concatenation, Dynamic String Decryption. → Sử dụng FireEye Labs Obfuscated String Solver (FLOSS). FLOSS có thể phân tích chuỗi thông thường cũng như các chuỗi bị obfuscated. Nhận biết mã độc có bị nén hay mã hóa không? - Các công cụ nhận dạng gói (packers) đã biết sẽ được xác định bằng các nhận dạng gói như Detect it Easy, PEiD, và các công cụ tương tự.

- Tuy nhiên, phần mềm độc hại thường được gói bởi các gói tùy chỉnh, được tạo ra đặc biệt để tránh các chương trình antivirus. - Những gói này không thể được xác định bằng những công cụ này. - Có một số nguyên tắc tổng quát có thể chỉ ra liệu một tập tin có được gói hay không, như: 1 o Có độ entropy cao o Các hàm nhập điển hình của packed files hay nhiễm độc Hình 1.1: Cơ chế tiêm mã vvào ào tiến trình và thực thi - Có dòng rác, không có nghĩa trong tệp nhị phân h. Tệp tin PE - Các tệp thực thi Windows (như .drv) phải tuân thủ theo định dạng PE (Portable Executable).

- Tệp PE là một loạt các cấu trúc và thành phần con chứa thông tin cần thiết cho hệ điều hành để tải nó vào bộ nhớ. - Công cụ: • CFF Explorer: http://www.php • PEInternals:http://www.com/pe-internals.html • PPEE(puppy): https://www.com - Thường, phần mềm độc hại tương tác với tệp, registry, mạng, và các thành phần khác. - Để thực hiện các tương tác như vậy, phần mềm độc hại thường phụ thuộc vào các hàm được hệ điều hành cung cấp. 1 - Windows xuất ra hầu hết các hàm của nó, gọi là Application Programming Interfaces (API), cần thiết cho các tương tác này trong các tệp Dynamic Link Library (DLL).

- Các tệp thực thi nhập và gọi các hàm này thường từ các DLL khác nhau cung cấp các chức năng khác nhau. - Các hàm mà một tệp thực thi nhập từ các tệp khác (chủ yếu là DLL) được gọi là các hàm nhập (hàm imports).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ