Tìm hiểu về kỹ thuật mã hóa Obfuscation
Diễn đàn - Ngày đăng : 13:08, 15/09/2018
Mỗi ngày, các mẫu phần mềm độc hại mới được phát hiện ngày càng biến đổi khác nhau, từ khai thác zero-day đến các biến thể ransomware.
Với việc phổ biến của các phần mềm độc hại hiện nay và cùng với sự thành công các cuộc tấn công mạng cung cấp khả năng cao cho các cuộc tấn công mạng mới - mặc dù tin tặc có rất ít nhu cầu để tìm hiểu cách phát triển các mã độc hại tùy chỉnh kỳ lạ.
Thay vào đó, phần mềm độc hại có thể được mua dễ dàng bởi bất kỳ ai. Mặc dù một số dạng phần mềm độc hại phức tạp nhất có thể có giá bán từ 7.000 đô la trở lên, nhưng bạn sẽ được hướng dẫn và có thể nhận được các bộ dụng cụ khai thác (và đôi khi nhiều hơn nữa) hay thậm chí được miễn phí.
Vấn đề với loại “hàng hóa” phần mềm độc hại này là các công ty chống vi-rút nhận thức được sự tồn tại của chúng và chuẩn bị các giải pháp phù hợp với nhiều cách phát hiện các tổ hợp phần mềm độc hại trước khi chúng có thể gây ra thiệt hại.
Vì vậy, làm thế nào mà các mối đe dọa này bị giữ dưới lớp bảo vệ an ninh?
Điều này được gọi là obfuscation – lập trình mã hóa nhằm bảo vệ mã nguồn
Mục tiêu của obfuscation là ẩn danh các kẻ tấn công mạng, giảm nguy cơ lây nhiễm và ẩn phần mềm độc hại bằng cách thay đổi chữ ký chung và dấu vết của mã độc.
Trong bản tin Threat Intelligence Bulletin, hãng bảo mật mạng Cylance đã giải thích cách thức hoạt động của kỹ thuật này.
“Chữ ký có thể chỉ là một dạng mã độc theo cơ chế băm”, các nhà nghiên cứu lưu ý. Chữ ký rất thường là dạng băm, nhưng chúng cũng có thể là một số biểu diễn ngắn gọn khác về một mã độc nhất bên trong một phần mềm độc hại.”
Thay vì cố gắng tạo ra một chữ ký mới thông qua việc thay đổi bản thân phần mềm độc hại, obfuscation tập trung vào các cơ chế phân phối nhằm loại bỏ các giải pháp chống virus dựa vào chữ ký. (So với việc sử dụng học máy, phân tích dự báo và AI để tăng cường AV, một số nhà nghiên cứu cho rằng điều này có khả năng trở nên lỗi thời.)
Obfuscation có thể bao gồm một loạt các kỹ thuật để ẩn phần mềm độc hại, tạo ra các lớp tối tăm mà Cylance so sánh với “các con búp bê lồng nhau trong một con búp bê truyền thống của Nga”.
Những kỹ thuật này bao gồm:
- Trình đóng gói: Các gói phần mềm này sẽ nén các chương trình phần mềm độc hại để ẩn sự hiện diện của chúng, khiến cho mã gốc không thể đọc được.
- Mật mã: Mật mã có thể mã hóa các chương trình phần mềm độc hại hoặc các phần mềm, để hạn chế quyền truy cập vào mã có thể báo động sản phẩm chống vi-rút cho chữ ký quen thuộc.
- Chèn mã chết: Không hiệu quả, mã vô dụng có thể được thêm vào phần mềm độc hại để ngụy trang diện mạo của chương trình.
- Thay đổi hướng dẫn: Các mã độc có nguy cơ có thể thay đổi mã lệnh trong phần mềm độc hại từ các mẫu ban đầu và thay đổi sự xuất hiện của mã - nhưng không thay đổi hành vi - cũng như thay đổi thứ tự và chuỗi tập lệnh.
- Độc quyền hoặc hoạt động (XOR): Phương pháp phổ biến này của obfuscation giúp ẩn dữ liệu để nó không thể được đọc trừ khi nó được huấn luyện áp dụng các giá trị XOR 0x55 cho mã.
- ROT13: Kỹ thuật này là một lệnh ASM cho “xoay” thay thế mã cho các chữ cái ngẫu nhiên.
“Trong khi một số sản phẩm chống virus tìm kiếm các kỹ thuật gây xáo trộn phổ biến để chúng có thể bị liệt vào danh sách đen, thực tế này chưa được thiết lập rõ ràng như danh sách đen các chữ ký tải phần mềm độc hại”, các nhà nghiên cứu cho biết.
Trong một ví dụ thú vị về obfuscation mà gần đây đã được đưa ra theo Radar, Cylance phát hiện ra rằng một công cụ Microsoft Windows có tên PowerShell đang bị kẻ tấn công lạm dụng.
Một mẫu phần mềm độc hại thu được bởi công ty là tệp .ZIP chứa tài liệu PDF và tập lệnh VBS sử dụng mã hóa Base64 thô sơ để làm xáo trộn một lớp dữ liệu.
Tiếp theo là việc sử dụng tách chuỗi, đánh dấu, và viết hoa chữ cái ngẫu nhiên để tách và thay đổi chữ ký.
Một tệp cụ thể trong gói, 1cr.dat, được tiết lộ việc sử dụng một phương thức obfuscation khác. Đây là một thiết lập mã hóa chuỗi, được gọi là SecureString, thường được các ứng dụng hợp pháp sử dụng để mã hóa các chuỗi mã nhạy cảm trong các ứng dụng bằng cách sử dụng DPAPI tích hợp của Microsoft.
Tại thời điểm phát hiện, chỉ có ba công cụ chữ ký chống virus đã phát hiện ra sự cố gắng làm xáo trộn và chỉ có hai đăng ký phần mềm độc hại khi triển khai lần đầu tiên. Điều này hiện đã tăng lên 18 sản phẩm.
Hiện nay, các công ty an ninh mạng đang chú ý đến vấn đề này, chúng không còn ít được quan tâm mà còn sử dụng ngày càng nhiều phần mềm độc hại phổ biến theo cách sáng tạo.
Cylande nói:
“Các mối đe dọa ngày càng sử dụng các kỹ thuật làm xáo trộn kết hợp với phần mềm độc hại hàng hóa.
Xu hướng này đi ngược với các giả định được công bố rộng rãi trong không gian bảo mật thông tin chứa phần mềm độc hại được tùy chỉnh cao kết hợp với khai thác zero-day đáng được chú ý nhất.
Và trong khi việc sử dụng những công cụ đó có liên quan và cần được theo dõi, sự chú ý không nên bị loại bỏ hoàn toàn khỏi những tác nhân đe dọa - bao gồm cả các nhân tố đe dọa cao cấp - những người đang thành công trong việc bỏ qua các sản phẩm chống virus với các công cụ không phải là “zero-day” hàng ngày.”