DDos
VIP Members
-
22/10/2013
-
524
-
2.191 bài viết
Phân tích và phát hiện spyware đa hình
Spyware đa hình đang trở nên ngày càng phổ biến và kỹ thuật được sử dụng để tránh khỏi sự phát hiện của phần mềm diệt virus ngày càng tinh vi hơn. Trong bài viết này, mình sẽ phân tích các đột biến đa hình để giúp cho việc phát hiện spyware bằng cách phân tích sâu đa hình NrgBot/DorkBot. Mình cũng sẽ phân tích cách để tìm và cách ẩn dấu để tránh xa sự phát hiện của phần mềm diệt virus. Mục đích của việc tạo ra hai backdoor này là ăn cắp danh tính của Internet banking.
Khi NrgBot/DorkBot là một spyware hoàn toàn mới mà không bị phát hiện bởi phần mềm diệt virus. Hình dưới đây, mô phỏn kết của scan:
Khái niệm về mã hóa đa hình
Ý tưởng của mã hóa đa hình là không mới và nằm trong việc mã hóa lại file độc hại trên server của kẻ tấn công mỗi khi nó được yêu cầu bởi máy tính đã bị lây nhiễm. Cơ chế mã hóa này, bạn có thể xem trong hình dưới đây:
Một phần của malware được đưa ra bởi một "Polymorphic Generator" mà nó mã hóa lại chính nó với một key được đưa ra ngẫu nhiên. Công nghệ này đảm bảo rằng malware là duy nhất và cung cấp cho nó rất nhiều lợi thế- nó sẽ không bao giờ bị chộp và bị phân tích bởi các nhà nghiên cứu malware. Cũng như làm tăng khả năng không bị phát hiện. Mỗi khi một biến thể mới được tạo ra, kẻ tấn công sẽ sử dụng các phần mềm antimalware để kiểm tra. Mặc dù, file scan có thể được scan bởi các dịch vụ online như Virus Total, nhưng kẻ tạo ra malware thường sẽ không sử dụng phương pháp này, bởi mỗi khi một mẫu malware nào đó không bị phát hiện, nó sẽ tạo một bản sao lưu và chia sẻ tới cộng đồng AV hàng đầu để họ phân tích và bổ sung vào cơ sở dữ liệu. Mỗi khi tạo ra được một bản mới của malware, nó sẽ được lưu trữ trên một "Download Server" và link sẽ được gửi tới nạn nhân.
Sâu đa hình Nrgbot
Mỗi khi sâu này được cài đặt, Nrbgot sẽ nhận từ C&C một URL để cập nhật nó tới dạng mới nhất được thể hiện ở hình dưới đây:
Các bot sau đó sẽ download các mẫu backdoor mới.
Sau khi cập nhật, backdoor trở nên không thể nhìn thấy bởi cơ sở dữ liệu dựa trên chữ ký của các phần mềm AV. Hơn nữa, backdoor thường khóa truy cập tới các website của phần mềm diệt virus để ngăn chặn nạn nhân cập nhật cơ sở dữ liệu mới.
Kết quả so sánh hai mẫu đa hình của backdoor:
Kích cỡ file và code là hoàn toàn khác nhau. Hình trên mô phỏng việc cấu trúc code và kích cỡ đã được thay đổi bằng cách thêm các số 0 và mã hóa lại dữ liệu. Như một kết quả, bạn có thể dễ dàng nhìn thấy sự khác biệt trong cấu trúc file. Nhưng nếu bạn chạy cả hai file này trong một sandbox và nhìn vào các code được tiêm vào hệ thống, bạn sẽ thấy gần như giống hệt nhau.
Mặc dù có sự khác biệt lớn trong nội dung file, cả hai mẫu này đề có cùng một chức năng và payload biểu thị việc tiêm code độc hại.
Phát hiện spyware đa hình với Yara Rules
Để tìm strings duy nhất được sử dụng để xác dịnh sự lây nhiễm, thực hiện một Nrgbot code dump được yêu cầu. Dump được tiêm vào không gian địa chỉ của tất cả các tiến trình đang chạy, ngoại trừ hệ thống như smss.exe và Isass.exe.
Hình dưới đây chỉ ra một ví dụ của việc tìm kiếm quá trình tiêm bằng việc phân tích Virtual address descriptors (VAD) của Explorer.exe
Thêm nữa, quá trình malicious code dumpt được tiêm vào tiến trình Explorer.exe có thể đựa thực hiện bằng công cụ PETools
Hình dưới dây mô là ví dụ của malicious code dump:
Dump được scan bởi dịch vụ online Virus Total:
Sử dụng "Dump_013E0000_0004E000.dmp" strings, mình tạo một Yara rule
Trong nguyên tắc này, mình kiểm tra tất các các string trong [imath]a1-[/imath]a9 hoặc trong "facebook", "twitter", "symantec", "threatexpert" với nhãn "ngrBot" tiêu chuẩn. Như bạn có thể thấy, "ngrBot" string được loại trừ từ điều kiện đầu tiên. Điều này là do chữ ký no "ngrBot" được tìm thấy trong dump.
Sử dụng các nguyên tắc được tạo, mình sẽ scan tiến trình Explorer.exe bằng PID. Lệnh để scan tiến trình Explorer.exe như sau:
Yara.exe Yara.txt 1544 >YaraResult
Chữ ký Yarra đã phát hiện thành công malware Nrgbot.
Nguyên tắc tương tự có thể được tạo cho việc phát hiện Shiz malware.
Khi NrgBot/DorkBot là một spyware hoàn toàn mới mà không bị phát hiện bởi phần mềm diệt virus. Hình dưới đây, mô phỏn kết của scan:
Khái niệm về mã hóa đa hình
Ý tưởng của mã hóa đa hình là không mới và nằm trong việc mã hóa lại file độc hại trên server của kẻ tấn công mỗi khi nó được yêu cầu bởi máy tính đã bị lây nhiễm. Cơ chế mã hóa này, bạn có thể xem trong hình dưới đây:
Một phần của malware được đưa ra bởi một "Polymorphic Generator" mà nó mã hóa lại chính nó với một key được đưa ra ngẫu nhiên. Công nghệ này đảm bảo rằng malware là duy nhất và cung cấp cho nó rất nhiều lợi thế- nó sẽ không bao giờ bị chộp và bị phân tích bởi các nhà nghiên cứu malware. Cũng như làm tăng khả năng không bị phát hiện. Mỗi khi một biến thể mới được tạo ra, kẻ tấn công sẽ sử dụng các phần mềm antimalware để kiểm tra. Mặc dù, file scan có thể được scan bởi các dịch vụ online như Virus Total, nhưng kẻ tạo ra malware thường sẽ không sử dụng phương pháp này, bởi mỗi khi một mẫu malware nào đó không bị phát hiện, nó sẽ tạo một bản sao lưu và chia sẻ tới cộng đồng AV hàng đầu để họ phân tích và bổ sung vào cơ sở dữ liệu. Mỗi khi tạo ra được một bản mới của malware, nó sẽ được lưu trữ trên một "Download Server" và link sẽ được gửi tới nạn nhân.
Sâu đa hình Nrgbot
Mỗi khi sâu này được cài đặt, Nrbgot sẽ nhận từ C&C một URL để cập nhật nó tới dạng mới nhất được thể hiện ở hình dưới đây:
Các bot sau đó sẽ download các mẫu backdoor mới.
Sau khi cập nhật, backdoor trở nên không thể nhìn thấy bởi cơ sở dữ liệu dựa trên chữ ký của các phần mềm AV. Hơn nữa, backdoor thường khóa truy cập tới các website của phần mềm diệt virus để ngăn chặn nạn nhân cập nhật cơ sở dữ liệu mới.
Kết quả so sánh hai mẫu đa hình của backdoor:
Kích cỡ file và code là hoàn toàn khác nhau. Hình trên mô phỏng việc cấu trúc code và kích cỡ đã được thay đổi bằng cách thêm các số 0 và mã hóa lại dữ liệu. Như một kết quả, bạn có thể dễ dàng nhìn thấy sự khác biệt trong cấu trúc file. Nhưng nếu bạn chạy cả hai file này trong một sandbox và nhìn vào các code được tiêm vào hệ thống, bạn sẽ thấy gần như giống hệt nhau.
Mặc dù có sự khác biệt lớn trong nội dung file, cả hai mẫu này đề có cùng một chức năng và payload biểu thị việc tiêm code độc hại.
Để tìm strings duy nhất được sử dụng để xác dịnh sự lây nhiễm, thực hiện một Nrgbot code dump được yêu cầu. Dump được tiêm vào không gian địa chỉ của tất cả các tiến trình đang chạy, ngoại trừ hệ thống như smss.exe và Isass.exe.
Hình dưới đây chỉ ra một ví dụ của việc tìm kiếm quá trình tiêm bằng việc phân tích Virtual address descriptors (VAD) của Explorer.exe
Thêm nữa, quá trình malicious code dumpt được tiêm vào tiến trình Explorer.exe có thể đựa thực hiện bằng công cụ PETools
Hình dưới dây mô là ví dụ của malicious code dump:
Dump được scan bởi dịch vụ online Virus Total:
Sử dụng "Dump_013E0000_0004E000.dmp" strings, mình tạo một Yara rule
Trong nguyên tắc này, mình kiểm tra tất các các string trong [imath]a1-[/imath]a9 hoặc trong "facebook", "twitter", "symantec", "threatexpert" với nhãn "ngrBot" tiêu chuẩn. Như bạn có thể thấy, "ngrBot" string được loại trừ từ điều kiện đầu tiên. Điều này là do chữ ký no "ngrBot" được tìm thấy trong dump.
Sử dụng các nguyên tắc được tạo, mình sẽ scan tiến trình Explorer.exe bằng PID. Lệnh để scan tiến trình Explorer.exe như sau:
Yara.exe Yara.txt 1544 >YaraResult
Chữ ký Yarra đã phát hiện thành công malware Nrgbot.
Nguyên tắc tương tự có thể được tạo cho việc phát hiện Shiz malware.
Tác giả: Alexander Adamov
Chỉnh sửa lần cuối bởi người điều hành: