Bối cảnh và vấn đề nghiên cứu

Sự phát triển nhanh chóng và mức độ phức tạp ngày càng tăng của hệ thống mạng cùng các thiết bị máy tính đã kéo theo sự tiến hóa không ngừng của tội phạm không gian mạng. Các kỹ thuật và phần mềm độc hại (malware) ngày càng trở nên tinh vi, gây ra những tác động tiêu cực nghiêm trọng đến trật tự an toàn thông tin, cũng như sự phát triển kinh tế và xã hội. Đề tài "Phân tích một số loại mã độc gây hại trên máy tính và cách phòng chống" được thực hiện trong khuôn khổ học phần Đồ án I tại Khoa Toán Ứng dụng và Tin học, Đại học Bách Khoa Hà Nội (thực hiện bởi sinh viên Đinh Đức Đạt, dưới sự hướng dẫn của TS. Vũ Thành Nam, hoàn thành vào tháng 03/2024 và nghiệm thu tháng 06/2024).

Đề tài đặt ra các mục tiêu và nhiệm vụ nghiên cứu cụ thể:

  1. Hệ thống hóa cơ sở lý thuyết về lịch sử phát triển máy tính, lịch sử mã độc và các khái niệm kỹ thuật nền tảng liên quan đến phân tích phần mềm độc hại.
  2. Phân loại chi tiết các dạng mã độc phổ biến và phân tích các cơ chế lây nhiễm, hành vi hoạt động, kỹ thuật lẩn trốn và hình thức trục lợi của chúng.
  3. Nghiên cứu các phương pháp kiểm thử (phân tích tĩnh và phân tích động) cùng các biện pháp kỹ thuật phòng chống mã độc trên hệ thống.
  4. Xây dựng môi trường máy ảo cách ly an toàn và thực hành quy trình dịch ngược, phân tích chi tiết mẫu mã độc tống tiền thực tế WannaCry (WannaCry@2017).
  5. Trích xuất, tổng hợp danh mục tập tin thực thi, mã băm (hash), các định dạng tệp tin bị mã hóa, máy chủ chỉ huy Tor (C2) và các địa chỉ ví Bitcoin phục vụ việc nhận diện và đối phó mã độc.

Đối tượng nghiên cứu của đồ án là các chủng loại phần mềm độc hại (Virus, Worm, Trojan, Ransomware, Rootkit, Spyware, Adware, Keylogger), trọng tâm thực nghiệm là mã độc tống tiền WannaCry. Phạm vi không gian và thời gian bao gồm việc khảo sát tình hình mã độc trên thế giới và tại Việt Nam từ khi xuất hiện các mẫu đầu tiên (những năm 1980) đến các số liệu ghi nhận năm 2022 và triển khai thực nghiệm phân tích mẫu năm 2024.


Cơ sở lý thuyết và phương pháp

Đồ án xây dựng khung lý thuyết dựa trên các chuẩn định nghĩa và kiến trúc hệ thống cốt lõi:

  • Chuẩn định nghĩa và phân loại: Sử dụng phân định của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) nhằm phân biệt thuật ngữ bao hàm "Malware" với các phân lớp cụ thể như Virus, Worm, Trojan thay vì đồng nhất tất cả thành "Virus máy tính".
  • Kỹ thuật hàm băm mật mã (Cryptographic Hash): Nghiên cứu các thuật toán MD5 (tạo chuỗi 128 bit / 32 ký tự hex), SHA-1 (đầu vào tối đa $2^{64}$ bit, đầu ra 160 bit do NIST phát triển), và SHA-256 (256 bit) phục vụ kiểm tra tính toàn vẹn tập tin và xác định chữ ký nhận dạng mã độc.
  • Kiến trúc hệ thống Windows: Khảo sát các thư viện liên kết động (DLL) cốt lõi (kernel32.dll, advapi32.dll, user32.dll, gdi32.dll, ntdll.dll, ws2_32.dll, wininet.dll) và cấu trúc Windows Registry gồm 5 nhánh phân cấp (HKCR, HKCU, HKLM, HKU, HKCC) cùng các kiểu dữ liệu giá trị (REG_SZ, REG_BINARY, REG_DWORD, REG_QWORD, REG_MULTI_SZ, REG_EXPAND_SZ).
  • Công cụ dịch ngược và dịch mã: Sử dụng trình phân tích mã nguồn ngược IDA Pro (Interactive Disassembler) của Hex-Rays để chuyển đổi mã nhị phân sang hợp ngữ (assembly) và mã nguồn C mức cao thông qua Hex-Rays Decompiler.

Phương pháp nghiên cứu thực nghiệm được áp dụng bao gồm:

  • Phương pháp phân tích tĩnh (Static Analysis): Đọc hiểu cấu trúc mã nguồn, kiểm tra cú pháp, phân tích phụ thuộc DLL qua công cụ Dependency Walker, quét nhận dạng chữ ký tệp thông qua cơ sở dữ liệu VirusTotal.
  • Phương pháp phân tích động (Dynamic Analysis): Thiết lập môi trường máy ảo cách ly, thực thi trực tiếp mã độc, theo dõi hành vi tương tác tệp tin, registry và kết nối mạng bằng các công cụ chuyên dụng như Wireshark, Process Monitor, Regshot và 7-Zip.
  • Nguồn dữ liệu thực nghiệm: Mẫu tệp thực thi mã độc WannaCry có định danh mã băm SHA-256 ban đầu là ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa.exe và các tệp thành phần giải nén với mật khẩu WNcry@2017.

Nội dung chính theo từng chương

Chương 1: Tổng quan về Mã độc

Chương 1 khái quát tiến trình phát triển công nghệ máy tính từ các mốc lịch sử tiêu biểu (năm 1801 với máy dệt Jacquard, 1822 với ý tưởng của Babbage, 1890 với máy đục lỗ Hollerith, 1936 với máy Turing, 1939 thành lập HP, 1943-1944 với cỗ máy ENIAC kích thước 6x12m dùng 18.000 đèn chân không tiêu thụ 140 kW, 1946 với UNIVAC, 1947 với phát minh Transistor của Bell Labs, và 1953 với ngôn ngữ COBOL).

Song song đó là lịch sử phát triển mã độc bắt đầu từ thuật ngữ "virus máy tính" của Fred Cohen (1983), virus Brain lây nhiễm Boot Sector đĩa mềm 360KB và Stoned lây qua MBR (1987), phần mềm diệt virus đầu tiên tại Indonesia cùng sâu Morris Worm lây nhiễm 1.600 máy chủ Unix (1988), virus Dark Avenger (1989), và các bộ kit tạo virus năm 1991. Số liệu thống kê từ AV-TEST chỉ ra hơn 120.000 phần mềm độc hại đã xuất hiện kể từ năm 1984; riêng năm 2022 xuất hiện các chủng như FileStealer, Macro, kèm theo các kỹ thuật DLL Side-Loading và Fileless. Tại Việt Nam, theo BKAV, năm 2022 ghi nhận khoảng 3.000 máy tính bị lây nhiễm.

Chương này cũng phân loại chi tiết các loại mã độc:

  • Virus máy tính: Chiếm hơn 90% mục tiêu nhắm vào Windows; phân hóa thành Virus đa hình (polymorphic) và siêu đa hình (meta-polymorphic).
  • Sâu máy tính (Worm): Nổi bật với sâu Morris (1988) và sâu đỏ Code Red (tấn công máy chủ IIS làm lây nhiễm hơn 359.000 máy tính vào ngày 19/07/2001).
  • Các loại khác: Trojan Horse, Ransomware, Spyware, Adware, Rootkit, Keylogger.

Chương 2: Cơ chế hoạt động của mã độc

Chương 2 phân tích 4 khía cạnh vận hành cốt lõi của mã độc:

  1. Cơ chế lây nhiễm: Khảo sát tấn công giả mạo email (Phishing) đính kèm tài liệu độc hại; cơ chế client-server của Trojan tự khởi động qua Registry/tệp cấu hình; cơ chế quét mạng nội bộ tìm lỗ hổng của Worm; sự phân chia giữa Nonresident Viruses (có module tìm kiếm và nhân bản độc lập) và Resident Viruses (thường trực trong bộ nhớ RAM).
  2. Hành vi hoạt động: Can thiệp hệ thống tệp tin (win.ini, autoexec.bat, hosts), sửa đổi các khóa khởi động Registry, chiếm quyền điều khiển tệp, thực hiện chèn mã (File Patching) và thu thập dữ liệu bàn phím/camera.
  3. Cơ chế lẩn trốn: Sử dụng kỹ thuật làm rối (Obfuscation), biến đổi mã (Polymorphism, Metamorphism), cài đặt Rootkit ở chế độ Kernel-mode hoặc User-mode, vô hiệu hóa phần mềm bảo mật, phát hiện môi trường ảo hóa/gỡ lỗi (Anti-Debugging, VM Detection), ẩn giấu tiến trình và sử dụng chứng chỉ số hợp lệ.
  4. Hình thức trục lợi: Thu thập dữ liệu cá nhân/danh tính, khai thác tiền điện tử trái phép (Cryptojacking tận dụng CPU/GPU), tống tiền bằng Ransomware, kiểm soát máy tính từ xa (Backdoor/Botnet) và phát tán quảng cáo rác.

Chương 3: Một số phương pháp kiểm thử và phòng chống

Chương 3 so sánh hai phương pháp phân tích kỹ thuật và đề xuất quy trình bảo vệ hệ thống:

Tiêu chí Phân tích tĩnh (Static Analysis) Phân tích động (Dynamic Analysis)
Ưu điểm Không cần thực thi mã, giảm nguy cơ lây nhiễm; dễ thực hiện không đòi hỏi quá nhiều phần mềm chuyên dụng. Giám sát toàn diện mọi hành vi thực tế và tác động của mã độc lên hệ thống.
Nhược điểm Khó làm rõ toàn bộ chuỗi hành vi phức tạp; đòi hỏi kiến thức sâu về hợp ngữ khi chuyển đổi nhị phân. Nguy cơ lây nhiễm ra máy thật; bắt buộc phải thiết lập môi trường ảo hóa cách ly an toàn.
  • Quy trình phân tích tĩnh: Gồm kiểm tra cú pháp/logic mã nguồn, dùng công cụ kiểm thử tĩnh (ESLint, Pylint, SonarQube, Fortify), dịch ngược nhị phân qua IDA Pro, khớp mẫu chữ ký qua YARA và phân tích luồng điều khiển (Control Flow).
  • Quy trình phân tích động: Thiết lập môi trường máy ảo (VMware, VirtualBox, Sandbox Cuckoo), tạo điểm phục hồi (Snapshot), chạy mã độc kết hợp trình gỡ lỗi (x64dbg, OllyDbg), bắt gói tin bằng Wireshark và giám sát thay đổi với ProcMon, Regshot.
  • Giải pháp phòng chống: Kết hợp sử dụng phần mềm chống mã độc, cập nhật định kỳ bản vá hệ điều hành, cấu hình tường lửa cá nhân/mạng, quản lý thiết bị di động (MDM), sao lưu dữ liệu có kiểm tra phục hồi, mã hóa dữ liệu (ổ đĩa và SSL/TLS) và triển khai hệ thống phát hiện xâm nhập (IDS/giám sát log).

Chương 4: Thực hành phân tích một số loại mã độc

Chương 4 mô tả chi tiết thực nghiệm phân tích mẫu mã độc tống tiền WannaCry (WannaCry@2017):

Phương pháp triển khai Ưu điểm Nhược điểm
Hệ thống vật lý Mã độc hoạt động đúng thực tế, không bị ảnh hưởng bởi kỹ thuật chống máy ảo. Chi phí lớn; tốn công xây dựng lại hệ thống sau mỗi lần lây nhiễm.
Hệ thống ảo hóa Tiện lợi, chi phí thấp, khôi phục trạng thái nhanh, dễ tích hợp công cụ theo dõi. Có thể bị mã độc vô hiệu hóa nếu chứa module phát hiện môi trường ảo.

Thiết lập môi trường thực nghiệm trên VMware:

  • Máy 1 (Phân tích tĩnh): Hệ điều hành Kali Linux, Ổ cứng 30GB, RAM 3GB.
  • Máy 2 (Thực thi động): Hệ điều hành Windows 7, Ổ cứng 20GB, RAM 2GB.
  • Cấu hình an toàn: Mạng chuyển sang chế độ Host-only, ngắt thiết bị ngoại vi, cập nhật hệ điều hành máy vật lý chủ.

Kết quả phân tích mẫu thực nghiệm:

  1. Kiểm tra chữ ký (File Signature): Quét tệp ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa.exe trên VirusTotal, nhận về kết quả 68/72 công cụ bảo mật xác nhận là WannaCry.
  2. Phân tích phụ thuộc DLL: Sử dụng Dependency Walker xác định các thư viện liên kết quan trọng: ws2_32.dll (kết nối mạng socket), wininet.dll (giao thức web), kernel32.dll (thao tác bộ nhớ, tệp), advapi32.dll (thao tác Registry và dịch vụ), user32.dll và msvcrt.dll.
  3. Cấu trúc các tệp tin trích xuất: Giải nén gói mã độc bằng mật mã WNcry@2017 thu được cấu trúc chức năng chi tiết:
Tập tin / Thư mục Mô tả chức năng kỹ thuật
00000000.res Chứa thông tin cấu hình TOR và máy chủ C2.
00000000.pky Khóa công khai RSA (Public RSA key).
00000000.eky Khóa riêng tư RSA đã bị mã hóa (Encrypted private RSA key).
b.wnry Tập tin ảnh bitmap dùng để thay thế hình nền máy tính nạn nhân với nội dung đòi tiền chuộc.
c.wnry Cấu hình chứa danh sách máy chủ điều khiển C2 Tor và địa chỉ ví Bitcoin.
r.wnry Văn bản tiếng Anh chứa nội dung hướng dẫn giải mã cho nạn nhân.
s.wnry Tệp nén ZIP chứa phần mềm Tor, cài đặt vào thư mục TaskData.
t.wnry Thư viện DLL chứa chức năng mã hóa tập tin.
u.wnry Module chính điều khiển giao diện giải mã của ransomware.
taskdl.exe Chương trình dọn dẹp các tệp tạm thời có phần mở rộng .WNCRYT.
taskse.exe Chương trình hiển thị cửa sổ giải mã cho các phiên kết nối RDP.
Thư mục msg Chứa các thông điệp tống tiền định dạng Rich Text Format (RTF) bằng nhiều ngôn ngữ.
  1. Máy chủ điều khiển (C2) qua mạng Tor: Mã độc khởi chạy máy chủ proxy Tor cục bộ (taskhsvc.exe) lắng nghe trên giao diện 127.0.0.1:9050 (SOCKS5), giao tiếp qua cổng TCP 80 với các dịch vụ ẩn .onion:
Địa chỉ .onion Mô tả chức năng
gx7ekbenv2riucmf.onion Trang thanh toán tiền chuộc để nhận khóa giải mã.
57g7spgrzlojinas.onion Trang giới thiệu của nhóm tội phạm.
xlvbrloxvriyc5.onion Trang chủ của phiên bản Tor được WannaCry tích hợp.
76jdd2ir2embyv47.onion Trang hướng dẫn phương thức thanh toán và quy trình giải mã.
cwwnhwhlz5zmaqm7.onion Trang hỗ trợ kỹ thuật và giải đáp thắc mắc.
  1. Hành vi can thiệp hệ thống:
    • Thêm giá trị tự khởi động vào Registry tại: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\TaskSchd trỏ tới C:\Windows\system32\tasksche.exe.
    • Cấu hình lại tường lửa mở cổng 445 phục vụ lây lan qua giao thức SMB.
    • Tạo đối tượng Mutex nhằm ngăn chặn việc thực thi lặp lại nhiều bản sao trên cùng một hệ thống.
    • Kích hoạt giao diện hiển thị đồng hồ đếm ngược thời gian thanh toán tiền chuộc bằng Bitcoin.

Chương 5: Một số kết quả đạt được

Chương 5 tổng hợp toàn bộ các dấu hiệu nhận biết nguy hại (IoC) từ quá trình thực nghiệm đối với mã độc WannaCry:

  • Danh sách tập tin thực thi và mã băm SHA-256 tương ứng:
Tên tập tin Mã băm (Hash)
tasksche.exe 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
mssecsvc.exe 78436d5eddbcded8967b181df39369a28f963e0c6835f43d1e507b01d81d6746
wcry.exe f8812f1deb8001f3b7672b6fc85640ecb123bc2304b563728e6235ccbe782d8
win32.exe 34c6c8adc2faacef3926b92603eac4c20778531efbcbfda210a8b6cc4c6a4d91
taskdl.exe 08e6e587098e5b01f63af04e0a4916f225d501df61d4203f88696f1b664b1a90
mssecsvcs.exe 1f6b23f61821e5d1544d070c6f5702f9b69fcbe4a7974234568b618f1d60798f
bzip2.exe 6a8ab32f5d4d17c6b9f8b8cf81f7c613f2c02682b5a55efbdb2c17e396beae99
dllhost.exe c4f4cc2f1939a0aaf8d43b2d13c5b3d30fa7b3d13ffef6e4d91b0b62ebbf905c
lsass.exe 6d3e11ef1b69c1f81d04444205f7b3c6e67de7f9d1f88d1e58a888f119c73102
mssvc.exe 9dc9e6e7f19b2422b60f7a5e6e583b2e6f4b0c07ee01f856477b2682832e913c
exploit.exe e81c452118e1c46f52b49941f4ccbb75c1a324de6b11d930d8c2a4089be6a79e
  • Các định dạng tập tin bị nhắm mục tiêu mã hóa: Mã độc đổi phần mở rộng tệp thành .WNCRY, bao gồm các nhóm định dạng: khóa/chứng chỉ (.pem), văn bản (.uot, .pst, .snt), hình ảnh/bản vẽ (.tif, .raw), cơ sở dữ liệu (.jar), đa phương tiện (.m4u), và tệp nén/sao lưu (.gpg).
  • Địa chỉ ví tiếp nhận Bitcoin: Ghi nhận 3 địa chỉ ví được nhúng trong mã nguồn:
    • 115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
    • 12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
    • 13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

Chương 6: Tổng kết

Chương 6 tóm lược các nội dung nghiên cứu lý thuyết và thực nghiệm đã hoàn thành trong đề tài, khẳng định tính khả thi của mô hình phân tích kết hợp tĩnh - động trong việc bóc tách hành vi mã độc.


Kết quả và đóng góp

Đồ án đã đạt được các kết quả kỹ thuật cụ thể:

  • Xác lập quy trình chuẩn bị môi trường phân tích máy ảo kép (Kali Linux và Windows 7) trên nền tảng VMware ở chế độ mạng cách ly Host-only.
  • Giải mã và làm rõ cấu trúc bên trong của gói mã độc WannaCry thông qua khóa giải nén WNcry@2017, định danh chính xác 11 tệp thành phần cùng 5 địa chỉ máy chủ C2 trên mạng Tor.
  • Trích xuất bảng dữ liệu hoàn chỉnh gồm 11 mã băm SHA-256 của các tệp thực thi độc hại, danh mục các phần mở rộng tệp bị tấn công và 3 địa chỉ ví Bitcoin dùng để tống tiền.
  • Đề xuất mô hình phòng ngừa nhiều lớp kết hợp giữa kỹ thuật (Antivirus, Firewall, IDS, Encryption, Backup) và quản trị chính sách (phân quyền người dùng, đào tạo nâng cao nhận thức Phishing).

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Nghiên cứu tập trung chủ yếu vào việc phân tích mẫu mã độc đơn lẻ WannaCry trên nền tảng hệ điều hành Windows 7 giả lập; chưa mở rộng đánh giá các biến thể mới hơn trên các nền tảng hệ điều hành Windows 10/11 hoặc môi trường Linux.
  • Hướng nghiên cứu tiếp: Mở rộng quy trình phân tích tự động hóa trên hệ thống Cuckoo Sandbox quy mô lớn; nghiên cứu các kỹ thuật giải mã nâng cao đối với mã độc sử dụng cơ chế siêu đa hình (meta-polymorphic) và các dòng mã độc tàng hình (fileless malware).

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Toán - Tin, Công nghệ thông tin, An toàn thông tin đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về phân tích mã độc và kỹ thuật dịch ngược.
  • Các kỹ sư an ninh mạng mới bắt đầu nghiên cứu phương pháp thiết lập phòng thí nghiệm máy ảo phân tích phần mềm độc hại an toàn.
  • Những nội dung đáng tham khảo nhất gồm: Bảng tổng hợp các thư viện DLL Windows đặc trưng của mã độc, danh mục cấu trúc thành phần giải nén của WannaCry và các bảng mã băm nhận diện tệp độc hại.

Câu hỏi thường gặp

1. Tác giả sử dụng mật mã nào để giải nén gói mã nguồn của mã độc WannaCry trong thực nghiệm?
Mật mã được tìm thấy trong mã nguồn và sử dụng để giải nén gói tệp tin của mã độc bằng phần mềm 7-Zip là WNcry@2017.

2. Khóa Registry nào được mã độc WannaCry tạo ra để duy trì quyền khởi động tự động cùng hệ điều hành?
Mã độc tạo khóa tại đường dẫn: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\TaskSchd với giá trị trỏ đến tệp thực thi C:\Windows\system32\tasksche.exe.

3. Cấu hình máy ảo phục vụ quá trình thực nghiệm trong đồ án được thiết lập như thế nào?
Tác giả thiết lập 2 máy ảo trên nền tảng VMware ở chế độ mạng Host-only:

  • Máy 1 (phân tích tĩnh): Hệ điều hành Kali Linux, Ổ cứng 30GB, RAM 3GB.
  • Máy 2 (chạy thực nghiệm mã độc): Hệ điều hành Windows 7, Ổ cứng 20GB, RAM 2GB.

4. Dịch vụ ẩn Tor cục bộ của WannaCry hoạt động thông qua cổng và tiến trình nào?
Máy chủ Tor cục bộ được thực thi dưới tên tiến trình taskhsvc.exe (lưu tại thư mục TaskData), thiết lập proxy SOCKS5 trên giao diện loopback 127.0.0.1 lắng nghe tại cổng TCP 9050.

5. Kết quả kiểm tra tệp thực thi ban đầu của mẫu mã độc trên VirusTotal trả về tỷ lệ nhận diện là bao nhiêu?
Kết quả phân tích chữ ký tệp trên trang web VirusTotal ghi nhận 68 trên tổng số 72 chương trình bảo mật xác định mẫu tệp là mã độc WannaCry.


Kết luận

Đồ án môn học của sinh viên Đinh Đức Đạt đã hệ thống hóa toàn diện cơ sở lý thuyết về mã độc và phương pháp kiểm thử an toàn thông tin. Thông qua việc thiết lập môi trường máy ảo cách ly, nghiên cứu đã phân tích thành công cơ chế lây nhiễm, cấu trúc tệp tin, giao tiếp mạng Tor và hành vi can thiệp hệ thống của ransomware WannaCry@2017. Các kết quả trích xuất về mã băm, khóa cấu hình và địa chỉ ví tiền chuộc cung cấp nguồn dữ liệu cụ thể phục vụ công tác nghiên cứu và phòng chống phần mềm độc hại.