Danh sách 13 Packer phổ biến nhất dùng trong các phần mềm mã độc

RESEARCH CREW
18:48 07/06/2020

Giới thiệu

Phần mềm độc hại (mã độc) có thể gây hại cho bất kỳ hệ thống nào và các trình đóng gói (Packer) giúp phần mềm độc hại đi trước một bước so với phần mềm bảo mật. Nhưng chính xác thì những trình đóng gói Packer làm gì? Làm thế nào nó có thể được phát hiện? Và cuối cùng, một số trình đóng gói (Packer) phổ biến nhất được sử dụng trong phần mềm độc hại hiện nay là gì?

Chúng tôi sẽ trả lời những câu hỏi này trong bài viết này. Nhưng trước tiên, hãy để có một cái nhìn chi tiết hơn về các trình đóng gói và cách chúng hoạt động.

Trình đóng gói mã độc là gì

Trong nhiều năm, các trình đóng gói đã được sử dụng thông dụng vì lý do hoàn toàn bình thường. Nó thường được biết đến như là một trình đóng gói runtime. Cụ thể, phần mềm này nén các tập tin và sau đó tự giải nén khi chương trình hoặc tập tin đã sẵn sàng để được thực thi.

Khi công nghệ tiến bộ, kiểu nén kích thước tập tin này trở nên ít cần thiết hơn. Tuy nhiên, ngày nay các trình đóng gói vẫn được sử dụng, chủ yếu cho các tệp phần mềm độc hại (mã độc).

Về bản chất, trình đóng gói phần mềm độc hại là một công cụ được sử dụng để che giấu một tập tin độc hại. Trình đóng gói có thể mã hóa, nén hoặc đơn giản là thay đổi định dạng của tệp phần mềm độc hại để làm cho nó trông giống như một thứ hoàn toàn khác. Quá trình nén hoặc mã hóa của trình đóng gói đưa tập tin từ mã gốc của nó sang trạng thái mới bằng cách sử dụng các kỹ thuật làm rối "thử và đúng" (tried-and-true obfuscation).

Do đó, mã độc có thể vẫn có thể tồn tại trong một hệ thống mà không bị phát hiện bởi phần mềm chống vi-rút, hay các sản phẩm chống phần mềm độc hại và phần mềm bảo mật khác, gây tổn hại đến tính toàn vẹn của hệ thống và bảo mật dữ liệu. Đây là lý do tại sao vấn đề hiểu cách làm thế nào mà các trình đóng gói có thể được sử dụng trong phần mềm độc hại là rất quan trọng.

Tuy nhiên, mỗi Packer hoạt động theo những cách có sự khác nhau chút ít. Bạn sẽ cần biết một chút về một số trình đóng gói phổ biến nhất được sử dụng trong mã độc để phát hiện chúng trong hệ thống của mình.

Danh sách 13 Packer được sử dụng phổ biến trong các phần mềm độc hại

Điều quan trọng là phải nhắc lại rằng các trình đóng gói không phải là độc hại; chúng chỉ đơn giản là một công cụ được sử dụng để làm cho mã độc nào đó hoạt động hiệu quả hơn thông qua việc khó phát hiện hơn.

Để bảo vệ hệ thống khỏi phần mềm độc hại và bắt đầu học về kỹ thuật dịch ngược mã độc, bạn cần biết loại trình đóng gói nào được sử dụng phổ biến nhất trong các phần mềm độc hại. Dưới đây là 13 trình đóng gói phổ biến nhất được sử dụng trong các loại mã độc hiện nay.

UPX là viết tắt của "Ultimate Packer for Executables". Nó sử dụng thuật toán nguồn mở không yêu cầu bất kỳ bộ nhớ hệ thống bổ sung nào để giải nén.

Giống như hầu hết các trình đóng gói, Enigma được bán cho các cá nhân và doanh nghiệp muốn bảo vệ các tập tin của họ khỏi bị hack. Tuy nhiên, Trình bảo vệ Enigma thường được sử dụng để che giấu phần mềm độc hại.

MPRESS ban đầu được thiết kế để nén các tập tin và giảm thời gian bắt đầu chạy một ứng dụng. Mặc dù phần mềm miễn phí này cực kỳ hữu ích cho quá trình nén tệp thông thường, nhưng nó cũng có thể dễ dàng được sử dụng bởi tin tặc và các tác giả phần mềm độc hại khác.

Exe Packer 2.300 là một phần mềm miễn phí, tiêu chuẩn dùng để nén và giải nén tập tin. Kể từ khi nó xuất hiện trong nhiều năm, Exer Packer 2.300 là một trong những trình đóng gói phổ biến nhất cho việc xáo trộn, làm rối mã nguồn của tập tin độc hại.

ExeStealth là một công cụ được thiết kế bởi WebToolMaster dùng mã hóa các tập tin để tránh bị phát hiện và hack (hay phân tích). Phần mềm miễn phí này rất dễ thực hiện, thao tác; và là một trong những công cụ chống hack tốt nhất trên thị trường, điều này cũng giúp nó hiệu quả trong việc ẩn mã phần mềm độc hại trong hệ thống.

Không giống như hầu hết các trình đóng gói khác, Morphine bao gồm trình tải PE (PE loader) riêng, cho phép người dùng mã hóa đầu ra của dữ liệu nén. Nguyên lý đa hình (polymorphic) cũng được sử dụng để tạo ra các bộ giải mã (decryptor) hoàn toàn độc nhất cho các mã độc.

Themida được phát triển bởi Oreans để bảo vệ các ứng dụng Windows khỏi tin tặc. Thật không may, nó cũng có thể được sử dụng để mã hóa các tệp độc hại và làm phức tạp các nỗ lực nhằm dịch ngược phần mềm độc hại.

MEW chủ yếu được sử dụng để nén tệp phần mềm độc hại nhỏ hơn bằng thuật toán LZMA. Mặc dù nó được thiết kế cho các tệp nhỏ, nhưng nó đã được cập nhật theo thời gian để nó cũng có thể làm xáo trộn các tệp phần mềm độc hại lớn hơn.

Phần mềm FSG  là công cụ miễn phí, đơn giảnđể nén cả tệp có kích thước nhỏ và lớn. Mặc dù nó phổ biến và thường được sử dụng để ẩn các đoạn mã phần mềm độc hại, nhưng việc phục hồi lại tập tin ban đầu (giải nén - unpack) chỉ được thực hiện thông qua một vòng giải nén tương đối đơn giản.

PESpin nén mã Windows bằng MASM. Nó bảo vệ các tập tin chống lại việc vá (patching) và phân tách (disassembling), làm cho nó trở thành một tài nguyên phổ biến cho các tác giả lập trình các phần mềm độc hại.

Trong khi Andromeda được biết đến là một botnet đã có từ năm 2011, nó cũng là một trình đóng gói tùy chỉnh. Trình đóng gói tùy chỉnh đặc biệt nguy hiểm vì chúng không đơn giản đối với kỹ thuật dịch ngược phần mềm (reverse-engineering).

VMProtect rất phổ biến, vì nó có thể mã hóa một loạt các tập tin khác nhau, bao gồm các tệp thực thi, trình điều khiển (driver) và thư viện liên kết động. Khi một ứng dụng được mã hóa bởi VMProtect được mở, trình đóng gói này không giải mã bất cứ điều gì; thay vào đó, nó chạy trên một mã ảo hóa (virtualized code).

Obsidium hoạt động cho cả ứng dụng Windows 32 bit và 64 bit. Phần mềm này có khả năng mã hóa, nén và làm mờ phần mềm độc hại.

Phương pháp phát hiện trình đóng gói mã độc (Malware Packer)

Vì hầu hết các trình đóng gói phần mềm độc hại gây khó khăn cho việc tìm và phân tích mã độc, có thể cần phải sử dụng tập lệnh được thiết kế riêng để phát hiện trình đóng gói. Rất may, có một số công cụ phát hiện trình đóng gói có sẵn. Dưới đây là một số công cụ tốt nhất để xác định trình đóng gói được sử dụng trong các phần mềm độc hại:

Ngoài việc xác định các trình đóng gói được sử dụng trong phần mềm độc hại, bạn cũng sẽ muốn tìm cách thiết lập môi trường ảo và phân tích hành vi của phần mềm mã độc. Trong một bài viết khác, InSec Lab sẽ cung cấp một hướng dẫn hữu ích về kỹ thuật dịch ngược các trình đóng gói phần mềm độc hại.

Kết luận

Packer không phải là xấu. Trên thực tế, chúng là một trong nhiều giải pháp bảo mật có thể giúp bảo vệ các tệp, dữ liệu và ứng dụng. Tuy nhiên, chúng cũng là một tài nguyên tuyệt vời cho các nhà phát triển phần mềm độc hại. Chúng làm xáo trộn, làm rối mã tệp, khiến việc xác định và phân tích phần mềm độc hại trên hệ thống rất khó khăn. Một số trình đóng gói sử dụng các thuật toán phổ biến, trong khi một số khác sử dụng mã tùy chỉnh để nén và/hoặc mã hóa tập tin.

Trong hầu hết các trường hợp, khi bạn càng biết nhiều về các trình đóng gói phổ biến được sử dụng trong phần mềm độc hại, bạn sẽ càng được trang bị nhiều hơn để xác định và giải nén mã độc trong hệ thống.

Tham khảo: Matthew Jones (INFOSEC)