1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Một hướng tiếp cận đa thể thức cho phát hiện mã độc Windows sử dụng phân tích lai và kỹ thuật xử lý ngôn ngữ tự nhiên

64 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Hướng Tiếp Cận Đa Thể Thức Cho Phát Hiện Mã Độc Windows Sử Dụng Phân Tích Lai Và Kỹ Thuật Xử Lý Ngôn Ngữ Tự Nhiên
Tác giả Lam Thieu An, Nguyen Quang Huy
Người hướng dẫn ThS. Do Thi Thu Hien
Trường học Đại Học Quốc Gia Tp. Hồ Chí Minh
Chuyên ngành Cử Nhân Ngành An Toàn Thông Tin
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2024
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 64
Dung lượng 68,06 MB

Nội dung

Kết quả thực nghiệm cho thay việc áp dụng NLP và mô hình da thé thức dé kết hợpnhiều nguồn thông tin trong phát hiện mã độc đạt được kết quả cao, với khả năng phân loại chính xác các mẫu

Trang 1

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

LAM THIEU AN - 20521047 NGUYEN QUANG HUY - 20520546

KHOA LUAN TOT NGHIEP

MOT HUONG TIEP CAN DA THE THUC CHO PHAT HIEN MA DOC WINDOWS SU DUNG PHAN TICH LAI

VA KY THUAT XU LY NGON NGU TU NHIEN

A multimodal approach for Windows malware detection using

hybrid analysis and natural language processing techniques

CU NHAN NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN THS DO THI THU HIEN

TP HO CHÍ MINH, 2024

Trang 2

LỜI CẢM ƠN

Đâu tiên, chúng em xin gửi lời cảm ơn chân thành và sâu sac đên cô Do Thi Thu Hiên vì những hướng dân tận tâm và sự hồ trợ vô cùng quý giá mà cô đã dành cho

chúng em trong quá trình thực hiện khóa luận tốt nghiệp

Sự chỉ dẫn của cô không chỉ giúp chúng em nắm vững kiến thức chuyên môn màcòn giúp chúng em phát triển kỹ năng phân tích và nghiên cứu vấn đề Cô đã dànhthời gian dé lắng nghe, đồng hành cùng chúng em và đảm bao rằng chúng em hiểu

rõ mục tiêu và yêu câu của dự án.

Sự kiên nhẫn và tận tâm của cô đã truyền cảm hứng cho chúng em để vượt qua

những khó khăn và thách thức trong quá trình nghiên cứu Nhờ sự hướng dẫn của

cô, chúng em đã có cơ hội thực hành và áp dụng những kiến thức lý thuyết vào thực

tÊ.

Không chỉ là một người hướng dẫn, cô còn là một người đồng đội đáng tin cậy Cô

đã luôn sẵn sàng lắng nghe ý kiến của chúng em, đồng thời đưa ra những gợi ý xâydựng và giúp chúng em hoàn thiện dự án một cách tốt nhất

Chúng em biết ơn tình cảm và sự quan tâm mà cô đã dành cho chúng em không chỉtrong quá trình hướng dẫn, mà còn ngoài đời hàng ngày Cô đã truyền động lực và

niêm tin cho chúng em dé vươn lên và vượt qua mọi khó khăn.

Chúng em xin chân thành cảm ơn.

TP Hô Chí Minh, ngày 27 tháng 06 năm 2024

Trang 3

MỤC LỤC

9W v04:9.0007900015757 1Chương 1 TONG QUAN DE TAL ecccscsscsssssssssssssssessssssssssscssesssssssecsessesscsesseesesses 2

1.1 Đặt vấn G6 ecccceeeeeccsssseeecessssneccesssnneceesssneecesssnneeessnnmeeessnnssesssneseeesenesess 2

1.1.1 Hiện trạng bài toán phát hiện mã độc Windows -. + +2 2

1.1.2 Cac phương pháp hiỆn CÓ - 5 3 SE SH ng rệt 2

1.1.3 Tiềm năng của việc áp dụng NLP - 2 2+5++s£+x+Eczrezrrrrred 31.2 Tính khoa học và tính mới của để tầi, ch n1 1 1xx 3

1.2.1 Van dé của các giải pháp NLP hiện nay -2 5¿©cxcccxescee 31.2.2 Lý do cần áp dụng NLP kết hop với đầu vào đa thé thức 41.3 Mục tiêu, đối tượng và phạm Vi nghiÊn CỨU - + «5s £++s£+s£+ 41.4 _ Cấu trúc Khóa luận tốt nghiỆp - 2 2 s+£+E£+EE+E+EE+E+EzEerrerrerree 5Chương2 KIÊN THỨC NEN TẢNG - 2-52 £+SE+E++Et2EE2E2EEErErrerree 6

2.1 N07 6 2.2 Mã độc (Malware) LL TH vn tk 9

2.3 Các phương pháp phát hiện mã độc - - 5 55225 *++*£+*vx+e+sexseeses 10

2.3.1 Phan tích mã độc tĩnh - + + +22 + +23 2v vs ve ce 11

2.3.2 Phan tích mã độc động + +2 1k key 11 2.3.3 Phương pháp phan tích lai (hybr1d]) - «+ s+vcseeseeseesersee 12 2.4 Xử lý ngôn ngữ tự nhiên trong phát hiện mã độc - «- + 12

2.4.1 Tổng quan 2¿-©2+22++2E+2EkSEEEEEEEEEEE211271E271.221.2Eecree 12

2.4.2 Các thông tin dạng “ngôn ngữ” trong mã độc «+ 14

2.4.2.1 — STInBS LH TH TH kg ngư 14

"P2 NÑ ch 15

Trang 4

2.4.2.3, OCOG L SH HH TH HH Thư 15 2.4.2.4 Hoạt động mạng 5 tk HH tre, 16

Chương 3 _ PHƯƠNG PHÁP DE XUẤTT - 2-2 +2+EE+£E+EeExerxerrserxee 18

3.1 Tổng quan hệ thong scecceceesceccsscsscssessessessessessessessessessesscssessessesscsseasesseasease 183.2 Chi tiết các thành phần 2-22 +¿2++2E++EEEtEEEtEEESEEEerkrzrkrrrrrrrree 19

3.2.1 Phân tích tập tin PE kết hợp tĩnh và động - 2-2 2 s2 19

3.2.1.1 Phân tích tĩnh -.- Ăn St SH HH HH nrep 19

3.2.1.2 Phan tích động -. SĂ SnSS SH re 22

3.2.2 _ Tiền xử lý dữ liệu -:- + SE E12 1221121112111 ce, 25

3.2.2.1 Làm sạch dữ liệu với chuỗi string va chuỗi API call 25

3.2.2.2 _ Trích xuất hoạt động mang trong tập tin pcap -‹ - 29

3.2.2.3 Tokenizing, Encoding và Embedding với NLP 29

3.2.3 Đa thể thức (Mulmodal) -c+c++cxxeretrrkerrrrkeerrre 31

3.2.3.1 Cac mô hình hoc Sau cccecccceeessseeecesssseeeeeessseeeeeessseeeeees 32

3.2.3.2 Lớp nối - Concatenate layer cc.cccscscsssesssesssecssecsesstsestseseseseees 33Chương 4 THỰC NGHIỆM VA DANH GIÁ -2- 2 5++c++2zx+zszzsez 34

ANH oi o ⁄4444-.-(-‹3++£.£ 34

4.1.1 Tài nguyên huấn luyện -¿ 2¿+¿©+©2++£+++£x++£x++zx+zrxzrxrzrxez 34

4.1.2 Phan tích động với Cuckoo sandbox 55s + +ssssesss 34

4.1.2.1 Cấu hình ccccvrirrrkirrrrriirrrriirrrrriirrrriree 344.1.2.2 _ Trích xuất dữ liệu từ report của Cuckoo sandbox 36

4.1.3 Tập dữ liệu - L ST ST nưệp 36

4.1.3.1 Phan loại nhị phân - c6 SĂ 1311219 net 36

4.1.3.2 Phan loại đa nhãn: Gắn nhãn cho Dataset s- - 2 5s+se£+ 37

Trang 5

4.1.4 Tiền xử lý các đặc trưng - c+ce+E++E2EEEEErrrrrrrrrres 39

4.1.4.1 Ti lệ lọc chuỗi J5 39 4.1.4.2 Ngưỡng N cho chuỗi API 2- ¿2 22s Ss+S++xezzzzxerxee 40

4.1.4.3 Trích xuất Opcode - + ++ck+E+E2E2E2EE2E12E12E22Ee xe, 40

4.1.4.4 _ Xử lý thông tin hoạt động mạng - 6c ssssesree 40 4.1.5 Phương pháp Token hóa - c <3 + 3+ **EESseEeeereeeeerreree 41

4.1.6 Thong số mô hình ¿- + +¿2++2++E+++E+++EE++Ex++rxrzrxzrxrrrree 41

Chương 5 KẾT LUẬN VA HƯỚNG PHAT TRIÊỀN . :¿+¿ 52

5.I _ Kếtluận cccSvt HH nghe 525.2 Hướng phát triển -¿ ¿+++2E+t2EEtEEEEEEEEEEEEEEErkrrrkrrrkrrrree 52

TÀI LIEU THAM KHÁO -.- 5: tt tSE+E‡EEEE+EEEEEEEEEEEEEEEEEEEEEEEEEEEEEErkrErrkrkrreree 54

Trang 6

DANH MỤC HÌNH

Hình 2-1 Tổng quan các thành phần của một tập tin PE 2-2 2z 2+: 6 Hình 3-1 Mô hình tổng quan hệ thống 2-2 2 2 22 S£+S++£+E++E++E++E+zzzzeez 18

Hình 3-2 Ví dụ về định dạng của một API trong báo cáo phân tích của Cuckoo 24

Hình 3-3 Phương pháp loại bỏ các chuỗi API con nhiễu có tính chất cấp số cộng 28 Hình 3-4 Cấu trúc mô hình da thé thức được áp dụng 2-2 2 22525: 32 Hình 4-1 Mô hình hiện thực chỉ tiẾ 2 5£ ©5222££2E2E+2EEeEE+£EEerxerxezrxerxee 34 Hình 4-2 Chay API server của CUCÏKOO - -ó - 6 s1 ng ng ng 35 Hình 4-3 Các từ thường xuyên xuất hiện của các tập tin lành tính (a) và mã độc (b) trong 20000 tệp tin được trích XUẤt - + +¿©+¿+++2+++£x++£x++£x++zx+zrxzrxrrxee 39 Hình 4-4 Kết quả độ chính xác của việc phân loại mã độc khi sử dụng độ dài các chuỗi API khác nhau - z52z 5 5cEE5 152 tccxEESEkEEEEE+kvx v.v 1111111111 40

Hình 4-5 Kết quả độ chính xác của việc phân loại mã độc khi sử dụng giá tri n khác nhau trong N- SLAMS Tre 41 Hình 4-6 Kiến trúc mô hình dành cho String - 2 2 2 +2 +2 £+££+££2££+££2 ++z 42 Hình 4-7 Kiến trúc mô hình dành cho chuỗi API -. -2¿ ¿22 s2+s22ss2>sz2 42 Hình 4-8 Kiến trúc mô hình dành cho chuỗi opcode -2- 2-22 2222: 42 Hình 4-9 Kiến trúc mô hình dành cho dữ liệu THẠNØ 5 S25 sseeeeses 42 Hình 4-10 Kiến trúc mô hình da thé thức dé phát hiện mã độc . 43

Hình 4-11 Ma trận nhằm lẫn của một fold trong mô hình dữ liệu mạng 47

Hình 4-12 Ma trận nhằm lẫn của một fold trong mô hình dữ liệu opcode 48

Hình 4-13 Ma trận nhằm lẫn của một fold trong mô hình dữ liệu string 49

Hình 4-14 Ma trận nhằm lẫn của một fold trong mô hình dữ liệu API 49

Hình 4-15 Ma trận nhằm lẫn của một fold trong mô hình dữ liệu đa thể thức 50

Trang 7

DANH MỤC BANG

Bảng 4-1 Tập dữ liệu dành cho phân loại nhị phân - «+ +-«<++s>+s+2 37

Bang 4-2 Tập dữ liệu cho phân loại đa nhãn - 5 55225 S 3+ + *+s+eexeeeess 39

Bảng 4-3 Kết quả huấn luyện trên tập dữ liệu nhị phân (Binary) - 45Bảng 4-4 Kết quả huấn luyện trên tập dữ liệu đa nhãn (multiclass) - 46Bang 4-5: Kết quả phân loại trung bình các nhãn của mô hình đa thể thức 51

Trang 8

DANH MỤC TU VIET TAT

Ky hiéu Noi dung

PE Portable Executable

NLP Natural Language Processing

API Application Programming Interface

TP True Positive

TN True Negative

FP False Positive

FN False Negative

Trang 9

TOM TAT KHÓA LUẬN

Nghiên cứu này áp dung Natural Language Processing (NLP) va multimodal trong

việc phát hiện va phân loại mã độc ở các tập tin Portable Executable (PE) trong môi

trường Window Phương pháp đề xuất kết hợp cả hai thuộc tính tĩnh và động của

mã độc, sử dụng NLP để trích xuất và phân tích, đồng thời trích lọc các đặc trưng

mang tính ngôn ngữ trong mã độc.

Trong phần thuộc tính tĩnh, NLP được sử dụng dé phân tích các thành phần văn bảncủa mã độc, như chuỗi ký tự, hằng số và tên biến Điều này giúp xác định các đặc

điêm ngôn ngữ độc hại và tìm ra mầu mã độc tiêm ân.

Trong phần thuộc tính động, NLP được sử dụng để phân tích các thuộc tính có tínhchất của ngôn ngữ tự nhiên trong các hoạt động của mã độc ở môi trường thực thi

Điều này bao gồm việc ghi nhật ký các hoạt động, giám sát thay déi trên hệ thống

và phát hiện các hành vi trong thông điệp mạng Sự kết hợp của các thông tin này từ

NLP giúp phát hiện hành vi độc hai và xác định các mẫu mã độc mới.

Kết quả thực nghiệm cho thay việc áp dụng NLP và mô hình da thé thức dé kết hợpnhiều nguồn thông tin trong phát hiện mã độc đạt được kết quả cao, với khả năng

phân loại chính xác các mẫu độc hại và thé loại của chúng Việc kết hợp cả thuộc

tính tinh và động cùng với sự sử dụng NLP mở ra một cách tiếp cận mới và hiệuquả hơn trong phát hiện và chống lại các mẫu mã độc đa dang và biến thé

Ứng dụng của phương pháp này có tiềm năng rất lớn trong lĩnh vực phát hiện và

phòng chống mã độc, góp phần cung cấp những giải pháp hiệu quả và tiên tiến hơn

trong việc đối phó với sự gia tăng và phát triển ngày càng phức tạp của mã độc

Trang 10

Chương 1 TONG QUAN ĐÈ TÀI

1.1 Đặt vấn đề

1.1.1 Hiện trạng bài toán phát hiện mã độc Windows

Trong những năm gần đây, tần suất và sự thiệt hại do các cuộc tấn công do mã độc

đã tăng đáng ké và ngày càng nghiêm trọng, điển hình là WannaCry, một cuộc tancông ransomware toàn cầu diễn ra vào năm 2017 đã gây ngừng hoạt động các cơ sở

y tế và lây nhiễm đến các hệ thống tập đoàn lớn và người tiêu dùng trong hơn 150quốc gia [1] Do đó việc triển khai nhiều chiến lược khác nhau dé tăng tốc độ pháthiện thời gian thực của các loại mã độc khác nhau dé giam thiéu tac động của chúng

là yêu cầu cấp thiết trong thời gian tới

1.1.2 Các phương pháp hiện có

Hiện tại, các phương pháp phân tích mã độc được chia thành 3 hướng chính [2]:

Phân tích tĩnh tập trung vào việc phân tích một file dựa trên mã nguồn hoặc dịchngược mà không cần thực thi chúng Do không cần thực thi nên các công cụ này cókhả năng xử lí và phân tích trong thời gian thực Tuy nhiên, đối với các file đã sửdụng các phương pháp rối mã, mã hóa hay packed, các công cụ này sẽ không đemlại hiệu quả cao do không trích xuất được các thông tin đã bị an giấu

Phân tích động hoạt động bằng cách thực thi một file trên một môi trường có kiểm

soát và quan sát hành vi của nó phân tích động cho phép xác định được hành vi

đáng ngờ, độc hại của các mã độc, cho dù đã thực hiện các biện pháp ân giấu Tuynhiên, phương pháp này yêu cầu thời gian và tài nguyên để thực thi và phân tích

file, do đó không phù hợp với yêu cầu phát hiện thời gian thực Đồng thời, có một

số loại mã độc có cơ chế phát hiện hành vi phân tích động (debug,

anti-sandbox ), điều này dẫn đến các mã độc sẽ không thực thi các hành động của

chúng.

Một chiến lược kết hợp cả hai phương pháp cả phân tích tĩnh và động là phương

pháp phân tích lai (hybrid) Phương pháp này cho phép thực hiện cả hai phương

Trang 11

pháp phân tích động và tĩnh cùng lúc đối với file thực thi Kết quả thu thập được sẽđược kết hợp lại với nhau dé có thé đánh giá hiệu quả nhất bằng cách tận dụng ưuđiểm của 2 phương pháp, đồng thời khắc phục được nhược điểm của cả hai.

1.1.3 Tiềm năng của việc áp dụng NLP

Ngày nay, các phương pháp xử lí ngôn ngữ tự nhiên (Natural Language Processing

- NLP) đã được cải tiến và phát triển liên tục Nhiều kết quả kết quả nghiên cứutrước cho thấy phương pháp áp dụng NLP trong phát hiện mã độc đang ngày càngthịnh hành và đạt được hiệu suất cao với khả năng phân loại chính xác các mẫu độc

hại Trong công trình của Mamoru Mimura và Ryo Ito [3], các tác giả đã thử

nghiệm các phương pháp NLP trên dit liệu printable strings của các tệp dé phát hiện

mã độc trong thời gian thực, kết quả đạt được với trường hợp thử nghiệm thực tế lênđến 0.934 ở điểm Fl Công trình của Trung Kien Tran và Hiroshi Sato [4] đề cậpđến việc sử dụng NLP trên các chuỗi API nhăm phân loại các biến thể mã độc, có

độ chính xác cao nhất lên đến 99.06% Hoặc công trình của Renjie Lu [5] sử dụngNLP kết hợp với opcode đề phát hiện mã độc có kết quả trung bình AUC là 0.99

Sự phát triển và ứng dụng của phương pháp NLP có tiềm năng rất lớn trong lĩnhvực bảo mật thông tin, góp phần cung cấp những giải pháp hiệu quả và tiên tiến hơntrong việc đối phó với sự gia tăng và phát triển ngày càng phức tạp của mã độc

1.2 Tinh khoa học và tính mới của đề tài

1.2.1 Vấn đề của các giải pháp NLP hiện nay

Hiện nay, các công trình sử dụng NLP dé phát hiện mã độc đã có những đóng góp

quan trọng trong lĩnh vực bảo mật máy tính, tuy nhiên hầu hết các công trình đều

gap những thách thức đáng kể Đầu tiên, các phương pháp chỉ sử dụng thuộc tính

tĩnh [3] [5] thường không đủ dé đối mặt với sự đa dạng và sự biến đổi liên tục củacác biến thé mã độc Ngoài ra, việc chi sử dụng một thuộc tính [3] [4] [5] để đánhgiá làm giảm sự linh hoạt của hệ thống do thông tin trong mã độc có thể xuất hiện ở

các dữ liệu khác hoặc có thê bỏ sót một sô mã độc có cơ chê giâu mình, dẫn đến hạn

Trang 12

chê trong việc nhận diện chính xác một sô lượng nhãn và bỏ sót các nguy cơ tiêm

2

A

an.

1.2.2 Lý do cần áp dung NLP kết hợp với đầu vào da thé thức

Trước những thách thức ngày càng phức tạp mà mã độc đưa ra trên hệ điều hànhWindows, sự tích hợp của NLP kết hợp mô hình đa thé thức đã nổi lên như một

chiến lược đa chiều và linh hoạt Một trong những lợi ích chính của sự kết hợp này

là khả năng đa dạng hóa dữ liệu đầu vào dựa trên việc kết hợp cả thuộc tính tĩnh vàđộng Đồng thời, cùng với việc sử dụng NLP cung cấp một cách tiếp cận hiệu quả

và đưa ra cái nhìn toàn diện về dấu hiệu, hành vi và tương tác của mã độc với hệ

thống Điều này không chỉ giúp nâng cao khả năng đối mặt với sự đa dạng của mã

độc mà còn hứa hẹn giúp cải thiện quá trình phân loại và nhận diện các mẫu mã độc

đa dạng và biến thê, tăng cường độ chính xác của quá trình phát hiện và giảm tỷ lệ

sai Sot.

Từ những động lực trên, đề tai hướng đến việc xây dựng một hệ thống có khả năngnhận diện và phòng tránh các biến thể của mã độc, đồng thời giảm thiểu khả năngnhận diện nhằm, cải thiện độ chính xác của quá trình phát hiện

1.3 Mục tiêu, đối tượng và phạm vi nghiên cứu

e - Các kỹ thuật xử lý ngôn ngữ tự nhiên.

e Cadac mô hình học sâu được sử dụng phổ biến trong việc phát hiện mã độc

Phạm vỉ nghiên cứu:

Trang 13

« - Mã độc Windows (Backdoor, Trojan, Virus, Worm)

e Cac kỹ thuật xu lý ngôn ngữ tự nhiên

1.4 Cấu trúc Khóa luận tốt nghiệp

Chúng tôi trình bày nội dung của Khóa luận theo cấu trúc như sau:

o_ Chương 1: TONG QUAN DE TÀITrình bày khái quát về định hướng nghiên cứu của khóa luận va lý do chọn đề tài.Đồng thời, nêu sơ lược một số công trình nghiên cứu liên quan để cung cấp cái nhìn

tông thê về lĩnh vực nghiên cứu.

o_ Chương 2: KIÊN THỨC NÊN TẢNG

Trình bày các định nghĩa, khái niệm cũng như những kiến thức nền tảng dé có thé

thực hiện được nghiên cứu.

o_ Chương 3: PHƯƠNG PHAP DE XUẤT

Phan trọng tâm của khóa luận, giới thiệu chi tiết về phương pháp nghiên cứu được

sử dụng và mô hình đề xuất Mô tả cách thức tiếp cận và các bước thực hiện cụ thể

trong nghiên cứu.

o Chương 4: THỰC NGHIEM VÀ ĐÁNH GIÁ

Mô tả quá trình thực nghiệm và cách triển khai phương pháp đã trình bày ở Chương

3 Trình bày kết quả thực nghiệm, đánh giá các kết quả đạt được, và thảo luận về

những phát hiện và ý nghĩa của chúng.

o_ Chương 5: KET LUẬN VA HƯỚNG PHÁT TRIEN

Tóm tắt những kết quả quan trọng của nghiên cứu, đưa ra các kết luận chính Đềxuất các hướng phát triển mở rộng và tiềm năng cho các nghiên cứu tương lai dựatrên kết quả đã đạt được

Trang 14

Chương 2 KIÊN THỨC NEN TANG

2.1 Định dạng file PE

Định dạng tập tin PE là định dạng tập tin nhị phân được sử dụng rộng rãi trong hệ

sinh thái hệ điều hành Windows dé lưu trữ các chương trình thực thi, thư viện liênkết động (DLLs), đối tượng và các tài nguyên khác Dinh dang này được phát triển

dựa trên định dạng COFF (Common Object File Format) của Unix và được sử dụng

dé dam bảo tính tương thích giữa các hệ sinh thái Windows khác nhau

Một tập tin PE được cấu thành từ nhiều thành phần, mỗi thành phần giữ vai trò quantrọng trong việc thực thi và quản lý chương trình (Hình 2-1) Các thành phần củamột tập tin PE bao gồm:

o Đây là phan đầu tiên của tệp tin PE, chứa một stub DOS nhỏ va các

thông tin cần thiết dé nhận dạng tệp tin PE Stub DOS này cho phép

Trang 15

hiển thị một thông báo lỗi khi cố gắng chạy tệp tin PE trên hệ điều

hành DOS.

o e_magic: Chữ ký "MZ" nhận diện tệp tin DOS.

o e lfanew: Dia chi offset đến PE header, noi cấu trúc chính của PE tệp

tin bắt đầu

PE Header:

o Phần này chứa các thông tin cần thiết để hệ điều hành Windows tải và

thực thi chương trình.

o Signature: Chữ ky "PE" xác định tệp tin PE.

o Tệp tin Header: Cung cấp thông tin cơ ban về tệp tin PE như số lượng

section, kích thước của header, kiến trúc máy (architecture) và thời

gian tạo tép tin.

o_ Optional Header: Chứa thông tin chi tiết về cách hệ điều hành nạp và

quản lý tệp tin, bao gồm entry point, base address, kích thước của code

và data sections, và các thông tin về các bảng quan trọng như import

table, export table.

Section Table:

o Đây là bảng mô tả các section khác nhau trong tệp tin PE, mỗi section

chứa các mã lệnh, dữ liệu hoặc tài nguyên của chương trình.

o_ Mỗi entry trong section table mô tả một section với các thông tin như

tên section, kích thước, địa chỉ ảo, địa chỉ trên đĩa và các thuộc tính khác.

Sections:

©_ text: Chứa mã thực thi của chương trình.

o data: Chứa dữ liệu khởi tạo cho chương trình.

©_ bss: Chứa dữ liệu chưa khởi tạo.

o rdata: Chứa dữ liệu chỉ đọc.

o_ edata: Chứa bảng xuất (export table)

©_ idata: Chứa bảng nhập (import table).

Trang 16

o_ rsrc: Chứa các tài nguyên như biểu tượng, hình ảnh, chuỗi văn bản.

e Import Table (Bảng Nhập):

o Liệt kê các ham va thư viện mà chương trình sử dung từ các DLL

khác.

o_ Cung cấp thông tin để hệ điều hành nạp các thư viện cần thiết và liên

kết các hàm nhập khi chương trình khởi động

e Export Table (Bảng Xuất):

o Liệt kê các hàm va dữ liệu mà tệp tin PE cung cấp cho các chương

trình khác sử dụng.

o_ Thường được sử dụng trong các DLL để cung cấp các API cho các ứng

dụng khác.

e Relocation Table (Bảng Tái Dinh VỊ):

o Chua thông tin dé tái định vi các địa chỉ khi tệp tin PE được nạp vào

một địa chỉ cơ sở khác với địa chỉ đã được chỉ định ban đầu

o Đảm bao rang các tham chiếu địa chỉ nội bộ trong tệp tin PE vẫn chính

xác sau khi được nạp vào bộ nhớ.

e Resource Table (Bảng Tài Nguyên):

o Chitra các tài nguyên như biểu tượng, hình ảnh, chuỗi văn bản, và các

đối tượng khác được chương trình sử dụng

Hiểu rõ cấu trúc và các thành phan của định dạng tệp tin PE là rất quan trọng trong

việc phân tích và phát hiện phần mềm độc hại Kiến thức này cung cấp nên tảng dénghiên cứu các kỹ thuật tan công và phòng thủ liên quan đến các tệp tin thực thi trên

hệ điều hành Windows Việc nắm vững định dạng tệp tin PE cũng giúp các chuyêngia bảo mật xây dựng các công cụ và phương pháp hiệu quả để phát hiện và ngăn

chặn các môi đe dọa từ mã độc.

Trang 17

2.2 Mã độc (Malware)

Mã độc (malware) là thuật ngữ chỉ các phần mềm được thiết kế với mục đích gây

hại cho hệ thống máy tính, đánh cắp thông tin, gây gián đoạn dịch vụ hoặc thực hiện

các hành vi độc hại khác Mã độc có thé lây lan qua nhiều kênh khác nhau, bao gồm

email, trang web độc hại, phân mêm tải xuông và lỗ hông bảo mật trong hệ điêu

hành hoặc ứng dụng.

Mã độc được phân loại thành nhiều loại khác nhau, mỗi loại có đặc điểm và phương

thức hoạt động riêng Trong nghiên cứu này chúng tôi sẽ nêu định nghĩa của 7 loại:

Virus

©

©

Virus là một loại mã độc có khả năng tự sao chép và lây lan từ tệp này

sang tệp khác trong hệ thống Virus thường gắn vào các tệp thực thi

hoặc tài liệu và lây lan khi các tệp này được mở hoặc chạy.

Virus có thé gây ra các hậu quả như làm chậm hệ thống, xóa đữ liệu,

hoặc tạo ra các cửa hậu (backdoor) cho tin tặc.

Worm

© Worm là một loại mã độc có khả năng tự sao chép và lây lan qua mạng

mà không cần sự tương tác của người dùng Worm thường khai tháccác lỗ hong bao mật trong hệ điều hành hoặc ứng dụng để lây lan

Hậu quả của worm có thể là làm tắc nghẽn mạng, làm chậm hệ thống

hoặc cài đặt các phân mêm độc hại khác.

Trojan

© Trojan (Trojan Horse) là loại mã độc giả mạo thành phần mềm hợp

pháp để lừa người dùng cài đặt Sau khi được cài đặt, Trojan có thểthực hiện các hành vi độc hại như đánh cắp thông tin, ghi lại hoạt động

bàn phím, hoặc tạo cửa hậu.

Trojans không tự sao chép như virus hoặc worm, mà dựa vào việc lừa người dùng cài đặt.

Ransomware

Trang 18

o Ransomware là loại mã độc mã hóa dữ liệu của nạn nhân và yêu cầu

tiền chuộc dé khôi phục dit liệu Ransomware thường lây lan qua emailphishing hoặc tải xuống từ trang web độc hại

o Hậu quả là mat dit liệu quan trọng và phải trả tiền chuộc dé khôi phục

dữ liệu.

e Spyware

o Spyware là loại mã độc được thiết kế dé giám sát và thu thập thông tin

từ máy tính của nạn nhân mà không được phát hiện Spyware có thể

ghi lại hoạt động bàn phím, chụp ảnh màn hình, hoặc thu thập dữ liệu duyệt web.

o Spyware thường được cài đặt mà không có sự đồng ý của người dùng

và có thé gây ra các van đề về quyền riêng tư và bảo mật

e Adware

o Adware là loại mã độc hién thị quảng cáo không mong muốn trên máy

tính của người dùng Adware thường được tích hợp vào các phần mềmmiễn phí và hiển thị quảng cáo khi phần mềm được sử dung

o Adware không gây hại nghiêm trọng nhưng có thé làm phiền người

dùng và làm chậm hệ thống

e Backdoor

o Backdoor là loại mã độc tạo ra một lối vào ân cho tin tặc, cho phép họ

truy cập và kiểm soát hệ thống mà không bị phát hiện Backdoorthường được cài đặt sau khi hệ thống đã bị xâm nhập qua lỗ hồng bảomật hoặc phần mềm độc hại khác

o_ Backdoor có thé được sử dụng để điều khiển máy tinh từ xa, đánh cắp

dữ liệu hoặc cài đặt thêm mã độc.

2.3 Các phương pháp phát hiện mã độc

Trong lĩnh vực phát hiện mã độc, đã có rât nhiêu các công trình nghiên cứu được thực hiện bởi các nhóm sinh viên, các nhóm nhà khoa học, nhà nghiên cứu, những

10

Trang 19

kết quả thu được nhiều sự khả quan Các ví dụ có thé được ké ra như trong bài báoMalDetConv [6], ta được một bộ khung tổng hợp phát hiện mã độc bằng cách phântích động, hay trong bài báo MalDAE [7], ta có một bộ khung tổng hợp phát hiện

mã độc bang cách phân tích lai, tuy nhiên có một han chế là phụ thuộc vào việc định

hình được chuỗi tĩnh và động.

Các công cụ phân tích tệp tin PE trên Linux cũng đa dạng về các phương pháp phân

tích một tệp tin cụ thé nhưng nhìn chung, được chia thành 2 loại chính

2.3.1 Phân tích mã độc tĩnh

Các công cụ phân tích tĩnh cho phép phân tích một tệp tin thực thi dựa trên mã

nguôn hoặc dịch ngược mà không cần thực thi chúng Các thông tin mà các phương

pháp này mang lại thường là mã hợp ngữ, các chuỗi độc được, các trường trong PE

header, Do không cần thực thi nên các công cụ này có khả năng xử lí và phân tíchtrong thời gian thực và dễ sử dụng, không cần thiết lập các môi trường phân tíchphức tạp Tuy nhiên, đối với các tập tin PE đã sử dung các phương pháp rối mã, mãhóa hay bị nén, các công cụ này sẽ không đem lại hiệu quả cao do không trích xuấtđược các thông tin đã bị ẩn giấu

2.3.2 Phân tích mã độc động

Trái ngược với các phương pháp phân tích tĩnh, các công cụ phân tích động cho phép thực thi một tệp tin trên một môi trường có kiểm soát và quan sát hành vi của

nó Các phương pháp phân tích động thường được sử dụng là:

- Sandboxing: Tạo ra một môi trường ảo độc lập cho phép thực thi các tệp tin PE

an toàn, đồng thời theo dõi hành vi của việc thực thi tệp tin, bao gồm lời gọi hệthống (system call), các hoạt động mạng (network activity), sự thay đổi của tệptin hệ thống (tệp tin system changes), các tệp tin DLL được load, và sự chỉnhsửa các registry (registry modifications) Một số công cụ sandbox cho tệp tin PEnổi tiếng có thể ké đến như Cuckoo Sandbox, FireEye,

11

Trang 20

- Debugging: Cho phép thực thi một tệp tin bằng cách lần lượt chạy qua từng

dong code, thiết lập breakpoint, theo dõi các thanh ghi và memory trong quátrình thực thi Một số debugger như OllyDbg, x64dbg, IDA Pro,

Phương pháp phân tích động cho phép xác định được hành vi đáng ngờ, độc hại của

các tập tin thực thi, ngay cả khi đã thực hiện các biện pháp ấn giấu hoặc rối mãnguồn Tuy nhiên, phương pháp này yêu cầu thời gian và tài nguyên dé thực thi vàphân tích tập tin, do đó không phù hợp với yêu cầu phát hiện thời gian thực Đồngthời, có một số loại mã độc có cơ chế phát hiện hành vi phân tích động (anti-debug,anti-sandbox, ), điều này dẫn đến các mã độc sẽ không thực thi các hành động của

chúng.

2.3.3 Phương pháp phân tích lai (hybrid)

Dé có thé hạn chế được khuyết điểm của cả hai phương pháp, phương pháp phân

tích lai (hybrid) đã được đề xuất Phương pháp này cho phép thực hiện cả haiphương pháp phân tích động và tĩnh cùng lúc đối với tập tin PE Kết quả thu thậpđược sẽ được kết hợp lại với nhau đề có thê đánh giá tệp tin PE hiệu quả nhất bằngcách tận dụng ưu điểm của 2 phương pháp, đồng thời khắc phục được nhược điểm

cường khả năng phát hiện và phân loại các mẫu độc hại Các phương pháp NLP này

sử dụng các kỹ thuật và công cụ NLP dé phan tich va hiểu các đặc điểm của mã độc

dựa trên ngôn ngữ tự nhiên Các loại phân tích đó gồm:

- Phan tích cú pháp (Syntax Analysis): Phương pháp này tập trung vào việc phân

tích cấu trúc và quy tắc ngữ pháp của mã độc Cú pháp được sử dụng dé xácđịnh các thành phần trong mã, bao gồm các câu lệnh, biểu thức, hàm, lớp, và

12

Trang 21

các quy tắc cú pháp khác Các công cụ như lexer và parser được sử dụng đểphân tích cú pháp mã độc và xác định các đặc điểm không phù hợp hoặc đáng

ngờ.

Phân tích từ vựng (Lexical Analysis): Phương pháp này tập trung vào các từ và

thuật ngữ trong mã độc Các từ khóa đặc trưng, biểu thức chính quy, và từ dién

từ khóa được sử dụng dé tìm kiếm các từ và cụm từ có liên quan đến mã độc.Việc phân tích từ vựng giúp xác định các đặc điểm ngôn ngữ độc hại, như tên

biến, hàm, lớp, hoặc các chuỗi ký tự đáng ngờ.

Phân tích ngữ nghĩa (Semantic Analysis): Phương pháp này tập trung vào việc

hiểu ý nghĩa của các câu và văn bản trong mã độc Các kỹ thuật semanticparsing và semantic role labeling được sử dụng dé phân tích và rút trích thôngtin cần thiết từ các câu và văn bản liên quan đến mã độc Điều này giúp xácđịnh các hành vi, mục tiêu, và tác động tiềm năng của mã độc

Phân tích ngữ cảnh (Contextual Analysis): Phương pháp này đánh giá mã độc

dựa trên ngữ cảnh mà nó xuất hiện Các thuật toán học máy và mô hình ngữcảnh được sử dụng dé phân tích và xác định xem một đoạn mã có kha năng là

độc hại hay không dựa trên các thông tin xung quanh nó Ví dụ, việc phân tích

ngữ cảnh có thé xác định liệu một hàm cụ thé có được gọi từ một đoạn mã độc

khác hay không.

Phân tích dựa trên mẫu (Pattern-based Analysis): Phương pháp này sử dụng các

mẫu đã biết hoặc các quy tắc để phát hiện và phân loại các mẫu mã độc Cácmẫu đặc trưng và quy tắc mô tả các đặc điểm và hành vi của mã độc được sửdụng dé so khớp và tìm kiếm các mẫu tương tự trong mã đích Cac kỹ thuật nhưregular expressions (biểu thức chính quy) và rule-based matching được sử dụng

dé áp dụng các mau này và phát hiện các mã độc Tuy nhiên, việc áp dụng NLP

trong lĩnh vực phát hiện mã độc cũng đối mặt với một số thách thức Mã độc ngày càng trở nên phức tap và tiên tiến hơn, với sự phát triển của các kỹ thuật

che giấu (obfuscation) và tấn công zero-day Do đó, cần phải liên tục cập nhật

và phát triên các kỹ thuật NLP mới nhăm đôi phó với các mau mã độc mới.

13

Trang 22

Hơn nữa, việc sử dụng NLP trong phát hiện mã độc cũng đòi hỏi kiến thức chuyênsâu về an ninh mạng và NLP Để xử lý mã độc hiệu quả, các chuyên gia phải nắmvững kiến thức về ngôn ngữ tự nhiên, các kỹ thuật xử lý ngôn ngữ tự nhiên, các

thuật toán học máy, và các công cụ NLP.

Một số ứng dụng cụ thé của NLP trong phát hiện mã độc bao gồm:

- Phat hiện mã độc dựa trên phân tích ngữ nghĩa của các hàm, lớp, hoặc các đoạn

mã.

- Phát hiện mã độc dựa trên phân tích từ vựng, tìm kiếm các từ khóa đặc trưng

hoặc các biéu thức chính quy trong mã độc

- Phat hiện mã độc dựa trên phân tích cú pháp, xác định các câu lệnh hoặc cấu

trúc ngôn ngữ độc hại.

- Phan loại và gom nhóm các mẫu mã độc dựa trên các đặc điểm ngôn ngữ, hành

vi, hoặc mục tiêu của chúng.

- _ Xác định các quan hệ và mối liên hệ giữa các thành phần mã độc, như các hàm

gọi nhau hoặc tương tác với nhau.

Tổng quan, NLP trong phát hiện mã độc đóng vai trò quan trọng trong việc nângcao khả năng phát hiện và phân loại mã độc Bằng cách áp dụng các phương pháp

và công cu NLP, chúng ta có thé phân tích và hiéu mã độc dựa trên thông tin ngônngữ tự nhiên, từ đó nâng cao hiệu suất và độ chính xác của quá trình phát hiện mã

độc.

2.4.2 Cac thông tin dạng “ngôn ngữ” trong mã độc

2.4.2.1 Strings

Trong ngữ cảnh của phân mém độc hại, thuật ngữ "strings" được sử dụng đê chỉ các

chuỗi ký tự có ý nghĩa trong tập tin thực thi của mã độc.

Khi một tập tin thực thi của mã độc được phân tích, các chuỗi ký tự được tìm thấybên trong có thể cung cấp thông tin quan trọng về tính chất và mục đích của chươngtrình độc hại Những chuỗi này có thé bao gồm các đoạn mã, địa chi IP, tên miền,tên tệp tin, chuỗi lệnh, thông điệp hoặc bất kỳ thông tin nào khác mà mã độc sử

14

Trang 23

dụng dé thực hiện các hoạt động hay giao tiép với máy chu điều khiển hoặc hệthống mục tiêu.

Việc phân tích chuỗi (strings) trong mã độc có thê giúp các nhà nghiên cứu bảo mật

và chuyên gia phân tích mã độc nhận biết các chỉ mục điểm khởi đầu hoặc cácchuỗi mã độc hại trong tập tin thực thi Điều này có thể cung cấp thông tin quan

trọng dé hiểu cách hoạt động của mã độc, xác định các tính năng độc hại và phát

hiện các mối đe doa tiềm ấn

2.4.2.2 API

Trong ngữ cảnh của phần mềm độc hại, thuật ngữ "API sequence" (chuỗi API) được

sử dụng để chỉ sự sử dụng liên tiếp của các gọi hàm giao diện ứng dụng

(Application Programming Interface - API) trong mã độc hai.

Chuỗi API dé cập đến một chuỗi các gọi ham API liên tiếp ma mã độc sử dung déthực hiện các hoạt động độc hại hoặc giao tiếp với hệ thong mục tiêu Cac API cóthể được sử dung dé thực hiện các chức năng như ghi vào tập tin, đọc thông tin từ

hệ thống, tạo tiến trình mới, gửi đữ liệu qua mạng, và nhiều hành vi khác

Việc phân tích chuỗi API trong mã độc có thê giúp nhà nghiên cứu bảo mật và

chuyên gia phân tích mã độc hiểu cách hoạt động của mã độc hại và xác định mụctiêu của nó Bằng cách phân tích chuỗi API, các nhà nghiên cứu có thé tim ra các

hành vi độc hại, xác định các chức năng chính của mã độc và xây dựng các phương

pháp phát hiện và ngăn chặn.

2.4.2.3 Opcode

Thuật ngữ "opcode" (operation code) chỉ các mã lệnh máy trong một chương trình

mà CPU thực thi để tiến hành các hoạt động cụ thể Opcode là thành phần chính

trong các chỉ thị của ngôn ngữ máy, xác định thao tác cụ thé mà CPU cần thực hiện.Các opcode nay bao gồm các thao tác cơ bản như số học, logic, điều khiển luồng, và

truy cập bộ nhớ.

15

Trang 24

Trong bối cảnh phần mềm độc hại, opcode có thé được sử dụng để thực hiện cáchoạt động độc hại hoặc giao tiếp với hệ thống mục tiêu Mã độc sử dụng opcode đểtruyền giá trị vào thanh ghi, truy cập và thao tác bộ nhớ, thực hiện các phép tính số

học và logic, điều khiển luồng chương trình, gọi các API hệ thống, và tự mã

hóa/giải mã nhăm tránh bị phát hiện

Phân tích opcode trong mã độc có thé giúp các nhà nghiên cứu bảo mật và chuyên

gia phân tích mã độc hiểu rõ cau trúc và hành vi của mã độc Bang cách kiểm tra vàphân tích các chuỗi opcode, các nhà nghiên cứu có thé nhận diện các mẫu hành viđộc hại, hiểu rõ các chức năng mà mã độc thực hiện, và từ đó xây dựng các chiến

lược phát hiện và ngăn chặn hiệu quả Việc phân tích opcode không chỉ giúp xác

định các mục tiêu của mã độc mà còn cung cấp cái nhìn sâu hơn về kỹ thuật vàchiến lược tấn công mà mã độc áp dụng

2.4.2.4 Hoạt động mang

Hoạt động của mã độc không chỉ gói gọn trong một thiết bị đơn lẻ, mà còn có thểlây lan và giao tiếp thông qua môi trường mạng máy tính xung quanh Do đó hoạtđộng mạng của một số phần mềm độc hai rat đa dạng với nhiều biến thé Changhạn, một số chương trình mã độc sử dụng Internet dé giao tiếp với trung tâm Điềukhiển và Kiểm soát (Command and Control - C&C) của nó nhằm nhận nhiệm vụ

mới, cập nhật phần mềm hoặc rò ri dữ liệu đã thu thập [8] Hoặc một sỐ chương

trình độc hại như Worm lợi dụng các lỗ hồng tồn tại sẵn trên hệ thống dé tiép tuc

nhân bản đến các thiết bi trong cùng một mạng máy tính [9] Do đó, việc phân tích

hành vi của mã độc thông qua hoạt động mạng của chúng cũng sẽ đóng góp thêm

một phần thông tin hữu dụng cho việc phân loại và phát hiện mã độc

Các phương pháp trích xuất và phân tích hoạt động mạng độc hại hiện nay thường

tập trung vào hai phương pháp chính:

e Phương pháp cấp gói tin (Packet level methods): kiểm tra các đặc điểm và

dấu hiệu đặc trưng của từng gói tin thông qua nội dung của chúng (ví dụ:

trường Header của gói tin, dữ liệu được đính kèm theo trong gói tin)

16

Trang 25

e Phuong pháp cấp lưu lượng (Flow level methods): dựa trên việc tổng hợp

các gói tin thành các luồng (flows) và trích xuất các trường thông tin có sẵn

và phân tích dựa trên thống kê về các trường thông tin của luồng đó (ví dụ:

số lượng gói tin, độ dài gói tin, thời gian tồn tại của luồng, thời gian chờ đợi,

khoảng thời gian giữa các gói tin, ).

Tuy nhiên, phân tích hành vi mạng thông qua cấp lưu lượng cũng gặp nhiều khókhăn do các biến thé mã độc có thé khai thác nhiều loại giao thức giữa các lớp mangkhác nhau nhằm che giấu hoạt động, cũng như giả dạng các hành vi bình thường dé

vượt qua các cơ chế kiểm soát, từ đó tăng khả năng thành công Việc chỉ thực hiện

phân tích thống kê sẽ kém hiệu quả do phải mở rộng trường thông tin và thiếunguồn thông tin đặc trưng và có ý nghĩa Vì thế, bằng cách kiểm tra và phân tích sâuhoạt động mạng của mã độc ở cấp gói tin, các mẫu hành vi sẽ được chuẩn hóa dướidạng một dang thông tin dé có thê đồng thời đánh giá được các mối liên hệ giữa các

dữ liệu, từ đó giúp dễ dàng so sánh và phát hiện được các hành vi bất thường của

các tệp tin độc hại so với tệp tin lành tính.

17

Trang 26

Chương 3 PHƯƠNG PHÁP ĐÈ XUẤT

3.1 Tống quan hệ thống

Data preprocessing kìHybrid analysis @ Multimodal 8 =

_

By _

clita Strin i Cleanin ig Be g

Dynamic & ——— #h

analysis & &

iAP Sequences Transforming

Mô hình dé xuất cho phát hiện mã độc Windows được minh hoa trong Hình 3-1

Mô hình được thiết kế để nhận đầu vào là các tập tin PE Windows, trong đó môhình bao gồm 3 thành phan chính thực hiện các tác vụ khác nhau dé đưa ra đượcđánh giá là mã độc hay lành tính hoặc nhãn cụ thé của họ mã độc Về tổng quan, bathành phần chính bao gồm:

- Phan tích kết hợp tĩnh và động - Hybrid analysis: phân tích dữ liệu và hành

vi của các tập tin PE trong một môi trường riêng độc lập, an toàn Các tập tin

lần lượt được trải qua các bước phân tích tĩnh và phân tích động trong thờigian xác định dé trích xuất được bốn dạng thông tin “ngôn ngữ” khác nhau từ

báo cáo phân tích.

- _ Tiền xử lý dữ liệu - Data preprocessing: Sau trích xuất được các dạng thông

tin cần thiết từ bước trước, bước tiền xử lý thực hiện việc loại bỏ các thànhphần gây nhiễu, dư thừa với các phương pháp khác nhau phù hợp với từng

dạng thông tin Sau đó, dữ liệu đã tinh chỉnh sẽ được với các phương pháp

xử lý ngôn ngữ tự nhiên (NLP) để nắm bắt các đặc trưng ngôn ngữ vàchuyên về định dạng phù hợp với đầu vào giai đoạn sau với việc huấn luyện

các mô hình học máy/học sâu.

18

Trang 27

- Multimodal: Giai đoạn nay tạo nhiều mô hình học máy/học sâu con, cụ thể là

các mạng neural, tương ứng và phù hợp với mỗi loại dữ liệu, sau đó kết hợptất cả các mô hình con thành một mô hình thống nhất Mô hình thống nhấtsau khi đã qua giai đoạn huấn luyện và thử nghiệm sẽ có khả năng đưa ra xácsuất dé đánh giá khả năng độc hại của một tập tin được phân tích, hay phân

loại các tập tin độc hại thành các nhóm riêng biệt dựa trên hành vi của chúng.

Chỉ tiết các thành phần sẽ được trình bày ở phần sau

3.2 Chi tiết các thành phần

3.2.1 Phan tích tập tin PE kết hợp tĩnh va động

Ở giai đoạn này, chúng tôi sử dụng phương pháp phân tích mã độc kết hợp hướng

tiếp cận phân tích tĩnh và động dé trích xuất 4 dạng thông tin khác nhau từ các tập

tin PE bao gồm: Strings, Chuỗi opcode, Chuỗi API và Hoạt động mạng

3.2.1.1 Phân tích tĩnh

Trong mô hình đề xuất, chúng tôi sử dụng 2 thông tin dạng “ngôn ngữ” có thể tríchxuất được từ phương pháp phân tích tĩnh là chuỗi strings và chuỗi opcode lệnh từcác tập tin PE Với đầu vào là các tập tin thực thi PE, hai thông tin này có thể đượctrích xuất bằng một số công cụ hoặc phương pháp như bên dưới

a) Strings

Thông tin này thường được trích xuất bằng cách chuyén một chuỗi byte liên tiếp

thành chuỗi kí tự đọc được qua mã quy chuẩn ASCII hoặc UTF-8 nếu chuỗi tríchxuất được đạt đủ một độ dài nhất định Điều này có thé thực hiện được thông quaviết chương trình đọc và chuyển đổi các byte có trong tập tin hoặc sử dụng một sốcông cụ trích xuất có sẵn như strings [10] như ở công trình [11] Mặc định công cunày trích xuất các chuỗi ký tự in được có độ dài ít nhất là 4 ký tự, tuy nhiên giá trịnày có thé tùy chỉnh được Một số công cụ phân tích mã độc cũng thường tích hợp

san chức năng này nhằm cung cấp một cái nhìn tong quan về nội dung bên trong tệp

19

Trang 28

tin, tìm kiêm các dâu hiệu nghi vân như nội dung de dọa trong ransomware, URL trang web phising, đoạn mã độc được chèn vao,

Tuy nhiên, nội dung trích xuất được đôi khi không có ý nghĩa trong ngôn ngữ do sự

sắp xếp ngẫu nhiên của các byte, tệp tin đã được mã hóa hoặc nén, nội dung của tệptin được viết bang ngôn ngữ không phải kí tự tiêu chuẩn, Do đó, việc làm sạch và

trích xuất ở các bước tiếp theo là cần thiết dé có thé tìm kiếm được các dit liệu có ý

nghĩa.

b)_ Chuỗi opcode

Đề thu được các opcode là các mã lệnh thực thi của chương trình, tệp thực thi ban

đầu, vốn chứa các mã máy, thường được đưa về dạng mã hợp ngữ (assembly) bằng

các disassembler như IDA Pro [12] hoặc thư viện PEfile [13] Từ mã hợp ngữ thu

được, quá trình trích xuất và loc opcode là một bước quan trọng nhăm dam bảo rằngchỉ những opcode liên quan đến hoạt động được giữ lại để phục vụ cho việc phân

loại mã độc.

e Tim và xác định vị tri section chứa opcode

Thông thường trong tập tin PE sẽ chứa nhiều section chứa các thông tin khác nhau,trong đó section chứa mã thực thi liên quan đến hoạt động là text Tuy nhiên, trongmột số trường hợp như nén hoặc rối mã, tên của section text có thé bị thay đổi

thành một số tên khác, khiến quá trình xác định vị trí không chính xác Do vậy,phần trích xuất chuỗi opcode sẽ tập trung xác định vị trí của entry point

Dé xác định vị trí của section chứa mã thực thi, chúng tôi đề xuất phương pháp trích

xuất chuỗi opcode bắt đầu từ entry point của chương trình Entry point là vị trí trong

mã nơi quá trình thực thi của chương trình bắt đầu, và từ đó các lệnh opcode sẽđược đọc va phân tích Quá trình xác định vi trí section chứa opcode gồm các bước

như sau.

Bước 1 Đọc header của tệp tin PE để lấy thông tin về Entry Point Thông tin về

Entry Point năm trong phan Optional Header của tệp tin PE ở trường

20

Trang 29

Bước 2.

Bước 3.

Bước 4.

AddressOfEntryPoint Trường này cung cấp thông tin về vị trí bắt đầu

thực thi của chương trình trong không gian địa chỉ ảo.

Tính địa chỉ ảo của Entry Point dựa trên ImageBase, là địa chỉ base của

Image, một thành phần trong không gian địa chỉ ảo của tiến trình Địa chỉ

ảo của Entry Point được xác định bằng cách cộng địa chỉ base của Image

với địa chỉ Entry Point từ AddressOfEntryPoint Dia chỉ ảo này xác định

vị trí chính xác trong không gian địa chỉ ảo nơi quá trình thực thi bắt đầu.

Duyệt qua danh sách các Section dé tìm section chứa Entry Point Mỗi tập

tin PE có nhiều section, và mỗi section có một phạm vi địa chỉ ảo nhất định được xác định dựa trên các trường VirtualAddress và SizeOfRawData của section đó Với mỗi section, phạm vi địa chỉ của

chúng được xác định bởi địa chỉ ảo bắt đầu của section (VirtualAddress)

và địa chỉ ảo kết thúc (VirtualAddress + SizeOfRawData) Sau đó, ta kiểmtra xem địa chỉ ảo của Entry Point có năm trong phạm vi địa chỉ ảo củasection nào hay không Nếu địa chỉ ảo của Entry Point năm trong phạm vi

địa chỉ ảo của một section nào đó, section đó được xác định là section

chứa Entry Point Điều này rất quan trọng vì nó giúp xác định vị trí chínhxác trong tập tin nơi quá trình đisassemble cần bắt đầu

Tính offset của Entry Point trong section, là khoảng cách từ đầu sectionđến vị trí của Entry Point, được xác định bằng cách lay dia chi ao cuaEntry Point trừ đi dia chỉ ảo bat đầu của section chứa nó Kết qua nay làoffset của Entry Point trong section Offset này sẽ được sử dụng dé bắt

đầu quá trình disassemble từ vị trí chính xác trong section chứa mã thực

thi của chương trình.

Đến đây ta đã có được vi trí chính xác của các lệnh sẽ được thực thi đầu tiên trong

chương trình.

e Trích xuất opcode

21

Trang 30

Tiếp theo, ta bắt đầu disassemble từ vị trí các lệnh trong section đã xác định được

dé chuyển đổi mã máy thành mã hợp ngữ Quá trình disassemble sẽ duyệt qua cácbyte của mã máy từ vị trí này và chuyển đổi chúng thành các lệnh hợp ngữ tươngứng Mỗi lệnh hợp ngữ sẽ bao gồm một opcode chỉ lệnh, các toán hạng và các thôngtin khác Dé trích xuất opcode, ta chỉ cần lay phan opcode của mỗi lệnh hợp ngữ

e Lọc opcode

Chúng tôi đã tham khảo từ [5] [14] dé xác định các opcode không mang ý nghĩaphân tích Cụ thể, các opcode như 'dd', 'db', 'align', không đại diện cho các lệnhthực thi trực tiếp của CPU mà thường là các chi thị dành cho trình biên dịch dé cấpphát bộ nhớ, định nghĩa dữ liệu hoặc cấu trúc, căn chỉnh bộ nhớ, hoặc lặp lại mộtlệnh nhất định Chúng không góp phần trực tiếp vào hành vi thực thi của mã chương

trình Ví dụ:

o 'dd' (Define Doubleword): Định nghĩa một double word (32 bit) trong bộ

nhớ.

o 'db' (Define Byte): Dinh nghĩa một byte trong bộ nhớ.

o 'align': Căn chỉnh dia chỉ tiếp theo tới một biên cụ thé

Sau khi lọc bỏ các opcode không mang ý nghĩa, dữ liệu còn lại sẽ được chuẩn hóa

Quá trình này bao gồm việc sắp xếp lại các opcode theo thứ tự thực thi, đảm bảorang chúng phản ánh chính xác luỗng thực thi của chương trình

Bằng cách loại bỏ những opcode không cần thiết này, dữ liệu trở nên tinh gọn và

tập trung hơn vào các lệnh thực sự quan trọng, giúp cải thiện độ chính xác và hiệu

quả của các mô hình phân tích và phát hiện mã độc.

3.2.1.2 Phân tích động

Để có thé phân tích được dữ liệu và hành vi của các tệp tin hoạt động trên môitrường Windows mà không gây ảnh hưởng đến tính an toàn của hệ thống, đồng thời

không cho phép các tệp tin độc hại có khả năng hoạt động và lây nhiễm đến các

máy khác, ta cần phải có một môi trường cách biệt đối với hệ thống chính Dé giải

quyét vân đê trên, chúng tôi đê xuât sử dụng một máy tính riêng sử dụng hệ điêu

22

Trang 31

hành dạng Linux làm môi trường dé phan tich Cac loai hé diéu hanh Linux (ex:Ubuntu, Kali Linux, Fedora, ) là một môi trường lí tưởng để có thể thao tác vớicác tệp tin thực thi PE bởi tích chất nhẹ, dễ dàng tương tác bằng cách sử dụng câulệnh và cho phép lưu trữ chúng mà không cần lo đến khả năng kích hoạt hay lây lan

tự động của các loại mã độc nguy hiểm Đồng thời đây là một môi trường tươngthích với nhiều bộ công cụ phân tích mã độc mạnh mẽ với khả năng cài đặt, điều

chỉnh dễ dàng cũng như khả năng tự động hóa quy trình phân tích.

Có rất nhiều công cụ hỗ trợ phân tích Windows mã độc như Joe Sandbox, Anyrun,

VMRay, FireEye Sandbox, Hybrid Analysis, Sandboxie, Trong đó, công cụ được

chúng tôi sử dụng là Cuckoo sandbox [15] Cuckoo Sandbox là một nền tảng mã

nguồn mở dựa trên Python, có thé hoạt động trên Linux Nó cung cấp một môitrường cách ly và kiểm soát có khả năng tùy chọn hệ điều hành thông qua các nềntảng ảo hóa như VMware, Virtualbox, dé chạy các các tệp tin va quan sát hành vicủa chúng trong thời gian thực và lưu lại các kết quả phân tích Công cụ còn cung

cấp khả năng tự động hóa mạnh mẽ cho phép thực hiện phân tích số lượng lớn các

tệp tin, đồng thời cung cấp kết quả phân tích ở định dạng json về cả 2 kết quả phân

tích tĩnh và động, trong đó có dit liệu string, API và các gói tin bắt được trong quátrình phân theo thời gian thực Bên cạnh đó, Cuckoo cung cấp khả năng theo dõicác gói tin mang trong quá trình phân tích, cho phép biết được chi tiết hoạt độngmạng của sandbox mỗi khi tập tin được phân tích Các gói tin bắt được sẽ được tổnghợp và trả về kết quả phân tích dưới định dạng pcap

Dựa trên hỗ trợ của Cuckoo sandbox, phương pháp phân tích động với công cụ này

được dùng dé thu thập và trích xuất 2 thông tin “ngôn ngữ” từ tập tin PE gồm chuỗi

API và các hoạt động mạng.

a) Chuỗi API

Kết quả phân tích hành vi sẽ trả về danh sách các API đã được sử dụng trong quátrình hoạt động của tệp tin theo thời gian Danh sách các API trong báo cáo trả về từCuckoo Sanbox gồm nhiều thông tin khác nhau như tên API, tham số được truyền

23

Trang 32

khi gọi, dấu thời gian, như ở Hình 3-2 Hầu hết, các công trình trước đây [4] [7][16] đều chỉ tập trung vào trích xuất các API theo trình tự gọi chúng dé tạo thànhmột chuỗi API, một sé công trình khác [17] [18] sử dụng toàn bộ các thông tin phantích được để đưa vào mô hình nhằm tăng cường lượng thông tin để đánh giá vàphân loại Ở ngữ cảnh của chúng tôi, do đã có các trường thông tin khác ngoài API

dé đánh giá, do đó chúng tôi sẽ chỉ trích xuất tên API theo trình tự thực thi dé tạo

nên chuỗi API đại diện cho hoạt động của tệp tin được phân tích.

giá chúng có có các hành vi độc hại hay không Vi dụ, công trình [8] tập trung vào

việc trích xuất 14 trường thông tin liên quan đến DNS trong các gói tin dé phát hiện

sự lây lan của mã độc Advanced persistent threat (APT), công trình [19] sử dụng

trường thông tin payload theo byte dé phát hiện các cuộc tan công mạng Tuy nhiên,

số lượng dit liệu thực tế thu thập được theo phương pháp của chúng tôi không đủđiều kiện để có thé áp dung các phương pháp trên Dé có thé trích xuất dữ liệu

mạng một cách hiệu quả, chúng tôi tham khảo từ công trình [20] và sử dụng toàn bộ

nội dung tập tin pcap ở các bước xử lý tiếp theo

24

Ngày đăng: 23/12/2024, 23:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN