Tải bản đầy đủ - 0 (trang)
CHƯƠNG III: PHÂN TÍCH GÓI TIN CHỨA MÃ ĐỘC

CHƯƠNG III: PHÂN TÍCH GÓI TIN CHỨA MÃ ĐỘC

Tải bản đầy đủ - 0trang

hình 3.1: phương pháp phân tích tĩnh trên Android

+ Phân tích động (Phân tích mã độc chạy thật trong hệ thống).



hình 3.2: Kỹ thuật phân tích động bằng remnux

=> Cả hai kĩ thuật này đều yêu cầu các mức phân tích cơ bản và phân tích

nâng cao.



3.2.1. Sự khác nhau về các kỹ thuật phân tích mã độc

a) Cơ bản

Phân tích tĩnh: Mục tiêu xác định một tệp/ứng dụng có phải mã độc hay

không, cung cấp các thông tin cơ bản nhất về các hàm đặc trưng. Có thể hỗ trợ

viết các mã nhận diện (Network signatures) mức cơ bản. Đặc trưng của phương

pháp này là khả năng phân tích nhanh, không yêu cầu kiến thức chuyên sâu

nhưng hạn chế là bỏ qua nhiều đặc tính quan trọng của mã độc.

Phân tích động: Mục tiêu là chạy mã độc, theo dõi hành vi mã độc thực

hiện trên hệ thống từ đó có phương pháp loại bỏ mã độc và tạo ra các mã nhận

diện. Tuy nhiên trước khi phân tích cần thiết lập mơi trường phân tích riêng để

tránh bị lây nhiễm vào hệ thống thật (Xem chi tiết phương pháp tạo môi trường

vào bước tiếp theo). Đặc trưng của phương pháp này cũng tương tự phương

pháp phân tích tĩnh ở mức cơ bản: Không yêu cầu nhiều kĩ thuật và kiến thức

chuyên môn, nhanh nhưng hiệu quả không cao và có thể bỏ qua nhiều tính năng

quan trọng.

b) Nâng cao

Phân tích tĩnh: Thực hiện việc dịch ngược mã độc bằng các công cụ

Disassembler, xem nội dung và cấu trúc mã nguồn để xác định xem mã độc làm

gì. Đặc trưng của phương pháp này yêu cầu kiến thức về dịch ngược, hệ thống,

tập lệnh.

Phân tích động: Sử dụng các trình debugger để nghiên cứu và xem cách

thức thực thi của mã độc trong mơi trường thật. Từ đó trích xuất thông tin chi

tiết về mã độc: nguồn gốc, cách thức lây nhiễm, các đoạn mã, các hàm quan

trọng. Để có thể thực hiện được phương pháp này cần trang bị kiến thức chuyên

sâu về kĩ thuật, thành thạo việc sử dụng các công cụ và nhiều kĩ năng để có thể

vượt qua các kĩ thuật của mã độc.

3.2.2. Một số quy tắc chính khi phân tích mã độc

Có một số quy tắc cần ghi nhớ để quá trình phân tích hiệu quả hơn.

1.



Khơng nên tập trung q vào những tiểu tiết, hầu hết các mã độc đều có lượng

mã nguồn rất lớn, phức tạp và có chứa nhiều mã rác. Do đó, chúng ta nên tập

trung vào các tính năng chính để tránh mất nhiều thời gian chi tiết hóa các thơng

tin khơng cần thiết.



2.



3.

4.



Mỗi cơng cụ hỗ trợ phân tích có những chức năng riêng, cần vận dụng linh hoạt

và hiệu quả dựa trên điểm mạnh của từng cơng cụ để q trình phân tích nhanh

hơn, chính xác hơn.

Có nhiều chiến thuật phân tích khác nhau, do đó cần thay đổi chiến thuật một

cách linh hoạt để hiệu quả phân tích tốt hơn.

Việc phân tích mã độc (malware analysis) giống như một trò chơi đuổi bắt,

người viết mã độc thì ln cố che giấu còn người phân tích thì ln cố tìm ra các

thơng tin chi tiết nhất. Các kĩ thuật mới được tạo ra mỗi ngày, do đó cần ln

ln cập nhật các kĩ thuật phân tích và cơng nghệ mới nhất, ngồi ra cũng cần có

sự sáng tạo để q trình phân tích nhanh, hiệu quả hơn.

3.3. Các cơng cụ phân tích mã độc điển hình

Process Monitor



hình 3.3: Chương trình giám sát tiến trình Process Monitor

Process Monitor là một công cụ giám sát tiên tiến cho Windows hiển thị

hệ thống tập tin theo thời gian thực, hoạt động của Registry và process / thread.



Nó kết hợp các tính năng của hai tiện ích Sysinternals là Filemon (giám sát file)

và Regmon (giám sát registry), Process Monitor có cơ chế lọc khá phức tạp mà

không sử dụng cơ chế lọc đơn giản theo chuỗi . Các tính năng mạnh mẽ độc nhất

của nó sẽ làm cho Process Monitor trở thành một tiện ích cơ bản trong bộ cơng

cụ xử lý sự cố và bộ cơng cụ tìm kiếm phần mềm độc hại.

WireShark

Wireshark là một công cụ theo dõi , kiểm tra và phân tích các loại mã độc,

thơng tin mạng được phát triển bởi Gerald Combs. WireShark vượt trội về khả

năng hỗ trợ các giao thức (khoảng 850 loại). Giao diện của Wireshark là một

trong những giao diện phần mềm phân tích gói dễ dùng nhất do đó nó thân thiện

với người dùng. Vì nó có thể bắt đường đi của gói tin, nên nosconf được ứng

dụng vào q trình phân tích lỗ hổng, mã độc.



hình 3.4: Cơng cụ Wireshark

Tuy nhiên, điểm yếu lớn nhất của nó khi phân tích các mã độc là khơng

cho biết chính xác ứng dụng nào tạo ra gói tin gửi đi, mà chỉ biết gói tin đó có



thành phần gì, gửi từ đâu, và đến đâu… Vì thế, cần kết hợp với những cơng cụ

khác như Process Monitor.

OllyDBG



hình 3.5: Cơng cụ OllyDBG

OllyDBG hay còn gọi tắt là Olly là cơng cụ debug 32-bit rất phổ biến cho

Microsoft Windows. Nhấn mạnh vào phân tích mã nhị phân làm cho nó đặc biệt

hữu ích trong trường hợp nguồn khơng có sẵn. Bạn có thể tải về và sử dụng nó

miễn phí.

Nhờ giao diện trực quan và dễ sử dụng nên Olly phù hợp với người dùng ở

mọi trình độ khác nhau. Nó hỗ trợ debug file thực thi và file thư viện. Thêm vào

đó, script và bộ plug-in của nó rất phong phú vì có một cộng đồng sử dụng đơng

đảo. Một số plug-in quan trọng đó là Olly Advanced, PhantOm,StrongOD.

Chúng cung cấp các cơ chế anti-anti debug, hook vào một số hàm quan trọng, ẩn

tiến trình-tên cửa số Ollydbg … nhằm làm cho chương trình bị debug khơng biết

mình đang bị debug.



-



Immunity Debugger

Cũng giống như OllyDbg, tuy nhiên ngôn ngữ kịch bản mà Immunity

Debugger hỗ trợ là Python, một ngôn ngữ rất mạnh, tự động debug và được giới

bảo mật, phân tích thường dùng. Nó giảm nhẹ và debug nhanh để tránh bị fail

trong q trình phân tích mã độc phức tạp. Immunity Debugger cũng có giao

diện đơn giản, dễ hiểu.

Windbg

Windbg: là một cơng cụ debug mạnh mẽ được phát hành bởi Microsoft.

Nó có khả năng debug trên cả user-mode và kernel-mode . WinDbg cung cấp

debug cho hạt nhân Windows, trình điều khiển chế độ hạt nhân, và dịch vụ hệ

thống, cũng như các ứng dụng chế độ người dùng và trình điều khiển.

WinDbg có thể xem mã nguồn, thiết lập các điểm ngắt, xem các biến (bao

gồm cả các đối tượng C ++), ngăn xếp dấu vết, và bộ nhớ. Cửa sổ Debugger

Command của nó cho phép người dùng thực hiện nhiều lệnh. Tuy nhiên để sử

dụng được WinDbg đòi hỏi có nhiều kinh nghiệm về Reverse Engineering cũng

như programming.

GDB

GDB, trình gỡ lỗi Dự án GNU, cho phép bạn xem những gì đang diễn ra

bên trong một chương trình khác trong khi nó thực hiện – hoặc một chương trình

khác đang làm gì vào lúc nó rơi.

GDB có thể thực thi bốn bước (cộng với những thứ khác để hỗ trợ những

điều này) để giúp bạn bắt lỗi trong quá trình phân tích các mã độc

Bắt đầu chương trình của bạn, xác định bất cứ điều gì có thể ảnh hưởng đến

hoạt động của nó.

Hãy dừng chương trình của bạn theo các điều kiện quy định.

Kiểm tra những gì đã xảy ra, khi chương trình của bạn đã dừng lại.

Thay đổi mọi thứ trong chương trình của bạn, do đó bạn có thể thử nghiệm với

việc điều chỉnh hiệu ứng của một lỗi và tiếp tục tìm hiểu về một lỗi khác.

Chương trình được debug có thể được viết bằng Ada, C, C ++, ObjectiveC, Pascal (và nhiều ngôn ngữ khác). Những chương trình này có thể được thực

hiện trên cùng một máy như GDB hoặc trên một máy khác (từ xa). GDB có thể

chạy trên phổ biến nhất của UNIX và Microsoft Windows biến thể.



3.4. Q trình phân tích gói tin chứa mã độc

Để tiến hành phân tích gói tin chứa mã độc, trước tiên cần tạo một mơi

trường an tồn để tránh mã độc lây lan sang các máy tính trong hệ thống. Đặc

biệt với các mã độc thực hiện lây lan qua mạng và khai thác các lỗ hổng hệ điều

hành, nếu không được đặt trong môi trường cô lập thì khả năng gây mất an ninh

cho hệ thống thực là rất lớn.

Có hai phương pháp chính để triển khai mơi trường phân tích mã độc:

• Sử dụng hệ thống vật lý: Thiết lập các máu tính và thiết bị vật lý tạo thành một

mạng tiêng biệt để thực hiện theo dõi, giám sát, phân tích mã độc

Ưu điểm: Mã độc hoạt động như quá trình lây nhiễm thực tế, khơng bị giới

hạn nếu mã độc có các cơ chế chống mơi trường ảo.

Nhược điểm: Chi phí lớn, tốc độ phân tích rất lâu do thường xuyên phải

xây dựng lại mơi trường phân tích từ đầu.

• Sử dụng máy ảo: Thiết lập hệ thống các máy ảo liên kết với nhau với đầy đủ

các máy cần thiết cho hệ thống mạng.

Ưu điểm: Tiện lợi, hỗ trợ phân tích nhanh do thời gian khôi phục hệ thống

tốt, dễ triển khai các cơng cụ giám sát, theo dõi.

Nhược điểm: Có thể khơng thực thi được tồn bộ chức năng của mã độc do

chúng có các module phát hiện mơi trường ảo.

Các bước để thiết lập máy ảo và môi trường phân tích:

Bước 1: chọn máy ảo và thiết lập hệ thống máy ảo

Máy ảo là một phần mềm giả lập toàn bộ hoạt động của một máy tính

thơng thường. Việc thiết lập cấu hính tốt sẽ giúp cơ lập mã độc cần phân tích

trong một vùng mạng riêng độc lập và không gây ảnh hưởng cho hệ thống thật.

Một số loại máy ảo phổ biến: VirtualBox, VMWare Workstation, Vmware

vSphere Hypervisor, Microsoft Virtual Server,..

Bước 2: Thiết lập các công cụ hỗ trợ cho q trình theo dõi mã độc như:

• Cơng cụ theo dõi hệ thống và registry: Process Monitor.

• Cơng cụ theo dõi các tiến trình: Process Exporer, Process Hacker

• Cơng cụ theo dõi mạng: Wireshark.

• Cơng cụ soạn thảo: Notepad ++ ,...

Bước 3: cấu hình cơ lập mơi trường.

Để đảm bảo an tồn cho mơi trường thực tế, cần thực hiện một số bước cấu

hình để ngăn chặn tối đa khả năng mã độc có thể xâm nhập ra hệ thống bên

ngồi:

• Cập nhật hệ điều hành máy vật lý thường xuyên.

• Cập nhật thướng xuyên bản và VMWare, đặc biệt bản và liên quan tới mạng.

• Bật Firewall ở máy vật lý, thiết lập chặn card ảo.







Thiết lập mạng cho VMWare ở dạng host-only hoặc tắt mạng. Hạn chế bật







mạng nếu khơng q cần thiết.

Ngắt kết nối tới thiết bị ngoại vi: CD-ROM, USB,...



3.5. Demo phân tích gói tin chứa mã độc

Dưới đây là q trình phân tích một gói tin chứa mã độc được tạo ra từ việc

thiết lập cấu trình trên kali linux:

3.5.1. Kịch bản

Bên phía Attacker:

-



A là kẻ tấn công, A gửi cho B một email độc hại chứ file mã độc

“hocbong.docx.exe” được nén với tên “hocbong.zip”

Và đồng thời mở trình handler để lắng nghe trên cổng 4444

Bên phía victim:



-



B là sinh viên, nhận được một email có tiêu đề là danh sách học bổng HK1 và

một file đính kèm “hocbong.zip”.

B tải về, giải nén và nhận được một file “hocbong.docx”. B mở file này lên

nhưng khơng có gì xảy ra. Sau khi xem lại định dạng của file thì thấy đây là file

exe nên nghi ngờ là máy mình đã bị nhiễm mã độc và lập tức khởi động lại hệ

thống. Sau khi khởi động lại hệ thống, bật wireshark lên để xem có gì đang xảy

ra không? Và thấy rất nhiều kết nối TCP từ máy mình đến địa chỉ IP

192.168.255.128 qua cổng 4444.

Mục đích của tấn cơng là để bắt các gói tin chứa mã độc và sau đó dùng để phân

tích, tìm hiểu xem cách hoạt động của mã độc.



3.5.2. Các công cụ được dùng trong bài báo cáo

Trên hệ điều hành Linux - máy Attacker:

1.



Metasploit: để tạo mã độc, lắng nghe và thực thi các lệnh lên máy nạn nhân.

Trên hệ điều hành Windows 7 – máy Victim:



1.

2.

3.



Wireshark: bắt và phân tích các gói tin.

Autoruns: xem các chương trình khởi động cùng hệ thống.

Process monitor: giám sát các tiến trình thực thi những gì.



Chức năng của mã độc:

1. Xem thơng tin hệ điều hành.

2. Download một file/folder từ máy victim về máy attacker.

3. Upload một file/folder từ máy attacker đến máy victim.

4. Tạo một thư mục trên máy attacker.

5. Theo dõi và ghi lại các thao tác thực hiện trên bàn phím.

6. Chụp màn hình máy tính victim.

7. Xem những tiến trình đang hoạt động.

8. Tắt một tiến trình đang hoạt động.

9. Tắt, khởi động lại máy tính victim.

10. Ghi âm vài giây từ microphone của máy nạn nhân.

11. Xóa file/thư mục.

12. Sửa đổi một file.

13. Mở command prompt.

14. Kết hợp với một lỗ hổng có mức độ nghiêm trọng cao khác để leo

thang đặc quyền.

15. Khởi động cùng hệ thống.

16. Xóa event log.



Sơ đồ mạng được sử dụng trong quá trình thực nghiệm



hình 3.6: Sơ đồ mạng.

3.5.3. Quá trình thực hiện

Tạo một file mã độc hocbong.dox.exe trên Kali linux.



hình 3.7: Tạo file mã độc trong Kali Linux

Tạo trình Handler để lắng nghe



hình 3.8: Sử dụng payload multi Handler để lắng nghe

File chứa mã độc được tải lên và gửi đến cho Victim trong dưới dạng email.



hình 3.9: Email chứa mã độc được gửi đến cho máy victim.

Phía bên hệ điều hành Window 7. Tiến hành tải file hocbong.dox.exe về và

chạy. B mở file này lên nhưng khơng có gì xảy ra. Sau khi xem lại định dạng của

file thì thấy đây là file exe nên nghi ngờ là máy mình đã bị nhiễm mã độc và lập



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG III: PHÂN TÍCH GÓI TIN CHỨA MÃ ĐỘC

Tải bản đầy đủ ngay(0 tr)

×