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

Sự phát triển của công nghệ thông tin và mạng Internet mang lại nhiều tiện ích trong đời sống kinh tế - xã hội, song cũng đi kèm các nguy cơ lớn đối với an toàn thông tin và an ninh quốc gia. Theo số liệu từ Trung tâm an ninh mạng Viettel (VCS), trong nửa đầu năm 2021 đã ghi nhận nhiều chiến dịch tấn công quy mô lớn của các nhóm tấn công có chủ đích (APT) nhắm vào các nhà nghiên cứu bảo mật, khai thác bản cập nhật Noxplayer, phát tán mã độc KerrDown, cũng như nhắm vào các cơ quan chính phủ, tổ chức quân đội và gây lộ lọt thông tin tại các doanh nghiệp tài chính, ngân hàng, bán lẻ tại Việt Nam.

Báo cáo từ Trung tâm Giám sát an toàn Không gian mạng Quốc gia (NCSC) cho thấy, trong 8 tháng đầu năm 2021, Cục An toàn thông tin đã ghi nhận 5.082 cuộc tấn công mạng gây ra sự cố vào các hệ thống thông tin tại Việt Nam (bao gồm 1.212 cuộc Phishing, 970 cuộc Deface và 2.900 cuộc tấn công mã độc), tăng 25,82% so với cùng kỳ năm 2020. Trong đó, tấn công bằng mã độc chiếm tỷ lệ cao nhất với xấp xỉ 57% tổng số sự cố. Bên cạnh đó, báo cáo phối hợp giữa VirusTotal và Google dựa trên hơn 80 triệu mẫu nghi ngờ cho thấy mã độc tống tiền (ransomware) tại Việt Nam tăng gần 200%; giai đoạn 2020 đến tháng 7/2021 ghi nhận hơn 130 họ mã độc tống tiền hoạt động trên toàn cầu, với thiệt hại ước tính tăng từ 325 triệu USD (năm 2015) lên 20 tỷ USD (năm 2021).

Xuất phát từ thực trạng trên, đồ án tốt nghiệp xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể:

  1. Tổng hợp và phân loại các chủng loại mã độc, làm rõ nguyên lý hoạt động, các hành vi phổ biến và tổng hợp các biện pháp phòng tránh cho người dùng thông thường.
  2. Xây dựng tài liệu tham khảo chi tiết về quy trình ứng cứu, xử lý sự cố khi hệ thống máy tính bị nhiễm mã độc (cho tổ chức và cá nhân) cùng các phương pháp phân tích mã độc tiêu chuẩn.
  3. Thực hiện phân tích thực nghiệm trên mẫu mã độc tống tiền thực tế (DarkSide) nhằm kiểm chứng quy trình phân tích sơ lược và phân tích động.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các dạng mã độc phổ biến (Virus, Worm, Trojan horse, Adware, Rootkits, Ransomware, Keyloggers); quy trình ứng cứu sự cố an toàn thông tin; các kỹ thuật phân tích mã độc (phân tích sơ lược, phân tích động, phân tích tĩnh); mẫu mã độc tống tiền DarkSide.
  • Phạm vi nghiên cứu: Khảo sát tình hình an toàn thông tin tại Việt Nam và quốc tế giai đoạn 2020 - 2021; tập trung vào môi trường hệ điều hành Windows, cấu trúc tệp thực thi PE (Portable Executable 32-bit), các thư viện liên kết động (DLLs), môi trường máy ảo VMware và nền tảng phân tích trực tuyến ANY.RUN.

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

Đồ án xây dựng nội dung dựa trên khung lý thuyết nền tảng của an toàn thông tin và kỹ thuật phân tích phần mềm độc hại:

  • Khái niệm và bản chất mã độc: Phân định rõ mã độc (chương trình có chủ đích gây hại) với các lỗi phần mềm thông thường (lỗi lập trình không có chủ đích).
  • Mô hình phân loại mã độc và cơ chế liên kết: Phân loại theo cơ chế lây nhiễm và phá hoại; phân loại mã độc tống tiền (Locker, Crypto, Double extortion, RaaS); cấu trúc tệp PE32; cơ chế liên kết thư viện tĩnh (Static Linking), liên kết trong thời gian chạy (Runtime Linking) và liên kết động (Dynamic Linking).
  • Quy trình ứng cứu sự cố: Khung quy trình chuẩn xử lý sự cố an toàn thông tin theo các giai đoạn từ tiếp nhận, ngăn chặn, xử lý đến khôi phục và tổng kết.

Phương pháp nghiên cứu thực tế được tác giả triển khai gồm:

  • Phương pháp phân tích - tổng hợp tài liệu: Thu thập, đối chiếu dữ liệu thống kê từ các tổ chức an ninh mạng uy tín (VCS, NCSC, VirusTotal, Google) và tài liệu kỹ thuật về các họ mã độc trong lịch sử.
  • Phương pháp phân tích sơ lược (Basic Static Analysis): Kiểm tra thuộc tính tệp, tính toán giá trị băm một chiều (MD5, SHA-1, SHA-256), trích xuất chuỗi ký tự ASCII/Unicode, kiểm tra kỹ thuật nén/làm rối (Packer check) và đối chiếu cơ sở dữ liệu nhận dạng (VirusTotal).
  • Phương pháp phân tích động (Dynamic Analysis): Thiết lập môi trường cô lập trên máy ảo, thực thi mã độc và giám sát tương tác hệ thống (tiến trình, tập tin, Registry, lưu lượng mạng) bằng các công cụ chuyên dụng.
  • Phương pháp phân tích tĩnh (Static Analysis): Kỹ thuật dịch ngược mã nhị phân sang hợp ngữ (Reverse Engineering) và kỹ thuật gỡ rối (Debugging).

Nguồn dữ liệu sử dụng: Các báo cáo an ninh mạng năm 2021 của NCSC, VCS; cơ sở dữ liệu mẫu mã độc của VirusTotal; mẫu mã độc tống tiền DarkSide thực tế.


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

Chương 1. Tổng quan về mã độc

Chương 1 hệ thống hóa toàn diện các kiến thức nền tảng về mã độc, bao gồm định nghĩa, phân loại, lịch sử phát triển, nguyên lý hoạt động và các biện pháp phòng ngừa.

Tác giả phân loại chi tiết các loại mã độc phổ biến:

  • Viruses: Mã độc tự sửa đổi mã của các chương trình khác để lây lan, ẩn trong các tệp đính kèm hoặc thiết bị lưu trữ USB.
  • Worm: Sâu máy tính có khả năng tự nhân bản độc lập qua mạng Internet thông qua khai thác lỗ hổng bảo mật mà không cần nhúng vào tệp khác.
  • Trojan horse: Ngụy trang dưới vỏ bọc phần mềm an toàn, không có khả năng tự nhân bản, thường phát tán qua kỹ thuật xã hội (Social Engineering).
  • Adware: Phần mềm tự động hiển thị quảng cáo không mong muốn và thu thập thông tin người dùng.
  • Rootkits: Công cụ hỗ trợ tin tặc truy cập trái phép và ẩn giấu sự hiện diện sâu trong hệ thống.
  • Keyloggers: Phần mềm ghi lại thao tác bàn phím hoặc chụp màn hình nhằm đánh cắp thông tin đăng nhập, dữ liệu tài chính.
  • Ransomware: Mã độc tống tiền với 4 hình thức chính: Locker ransomware (khóa thiết bị), Crypto ransomware (mã hóa dữ liệu), Double extortion ransomware (tống tiền kép kết hợp mã hóa và đe dọa rò rỉ dữ liệu) và mô hình dịch vụ RaaS (Ransomware-as-a-Service).

Chương 1 cũng phác thảo biên niên sử phát triển của các biến thể ransomware từ năm 1989 (AIDS/PC Cyborg) qua các mốc nổi bật: GPCode (2004), Archievus (2006, dùng RSA-1024), WinLock (2011), Reveton (2012), CryptoLocker (2013, dùng RSA-2048), CryptoWall (2014), CTB-Locker (2014, dùng Tor và Curve Elliptic), SimpleLocker (2014, Android), TeslaCrypt (2015), LockerPin (2015), Chimera (2015), Linux.1 (2015), Ransom32 (2016, viết bằng JavaScript), Locky (2016), Petya (2016, ghi đè MBR và mã hóa MFT), SamSam (2016), Jigsaw (2016), Zcryptor (2016), Mamba (2016), Spora (2017), Jaff (2017), WannaCry (2017, lây nhiễm trên 150 quốc gia qua lỗ hổng EternalBlue), Goldeneye (2017), NotPetya (2017), Bad Rabbit (2017), GandCrab (2018), Ryuk (2018), REvil (2019), Maze (2019), RobbinHood (2019), Tycoon (2019), DarkSide (2020) và Egregor (2020).

Về nguyên lý hoạt động, đồ án phân loại môi trường vật chủ và định dạng tệp bị lây nhiễm qua bảng tổng hợp:

STT Vật chủ Loại mã độc Kiểu tập tin / Định dạng
1 Tập tin văn bản File virus, Worm, Trojan Script (.vbs, .js, .bat), Registry (.reg), Siêu văn bản (.htt, .hta)
2 Tập tin chương trình File virus, Worm, Trojan Lệnh (.com), Thực thi (.exe, .scr), Thư viện (.dll, .cpl, .sys)
3 Tập tin MS Office Macro Virus Văn bản (.doc, .docx, .dot), Bảng tính (.xls, .xlsx, .xlt), Trình diễn (.ppt, .pptx, .pot)
4 Mẫu tin khởi động Boot virus Mẫu tin khởi động HĐH đĩa mềm/đĩa cứng, phân vùng đĩa cứng

Bên cạnh đó, tác giả chỉ ra các hành vi cơ bản của mã độc gồm: tạo module chính (tải về/khởi tạo), tạo cơ chế khởi động cùng hệ điều hành (Registry, Startup, Service, Schedule Tasks), vô hiệu hóa các tính năng bảo vệ của hệ điều hành (Windows Firewall, Windows Update), kết nối máy chủ điều khiển C&C và lây lan sang các hệ thống khác trong mạng. Cuối chương, tác giả tổng hợp 7 khuyến nghị phòng tránh mã độc theo chuẩn của Google dành cho người dùng.


Chương II. Phương pháp phân tích mã độc

Chương II trình bày hai nội dung trọng tâm: quy trình xử lý sự cố nhiễm mã độc và hệ thống các kỹ thuật phân tích mã độc.

Đối với quy trình xử lý sự cố, đồ án xây dựng hai mô hình riêng biệt:

  1. Quy trình xử lý sự cố cho tổ chức, doanh nghiệp lớn: Gồm 9 giai đoạn tuần tự:
    • Phát hiện, tiếp nhận thông tin sự cố.
    • Triển khai các bước ưu tiên ứng cứu ban đầu.
    • Lựa chọn phương án ứng cứu phù hợp.
    • Báo cáo sự cố và đề xuất phương án lên lãnh đạo.
    • Chỉ đạo xử lý sự cố và phối hợp các đơn vị chuyên trách.
    • Ngăn chặn sự cố (thu thập chứng cứ số, khoanh vùng, giảm thiểu thiệt hại).
    • Xử lý, gỡ bỏ mã độc và rà soát lỗ hổng.
    • Khôi phục dữ liệu, cấu hình và kết nối hệ thống.
    • Kiểm tra, phân tích hệ thống sau khắc phục và tổng kết đánh giá.
  2. Quy trình xử lý sự cố cho người dùng cá nhân: Gồm 8 thao tác ứng phó: ngắt kết nối Internet; sao lưu dữ liệu quan trọng; khởi động chế độ Safe Mode (phím F8) hoặc dùng đĩa cứu hộ; sử dụng thiết bị an toàn tra cứu thông tin; kiểm tra tiến trình bất thường qua Task Manager; sử dụng một phần mềm diệt virus duy nhất để quét; kiểm tra cấu hình trình duyệt web; thực hiện cài đặt lại hệ điều hành (Reset this PC) nếu không gỡ bỏ được triệt để.

Đối với kỹ thuật phân tích mã độc, tác giả làm rõ chủ thể phân tích, mục đích (trích xuất Host-based signatures và Network signatures), các lưu ý an toàn và nguyên tắc xây dựng phòng thí nghiệm ảo. Tác giả đưa ra bảng so sánh giữa môi trường thật và môi trường ảo trong phân tích mã độc:

Tiêu chí Môi trường thật Môi trường ảo
Ưu điểm - Hiệu quả hoạt động tốt
- Phân tích được mã độc có khả năng phát hiện máy ảo
- Hoạt động ổn định hơn
- Tiết kiệm chi phí thiết lập và vận hành
- Tùy biến thiết lập môi trường theo ý muốn
- Dễ dàng thiết lập nhiều môi trường và khôi phục nhanh qua Snapshot
Nhược điểm - Chi phí tốn kém
- Tốn tài nguyên phần cứng thật
- Kết quả có thể không hoàn toàn chính xác so với môi trường thật
- Cần giải pháp xử lý mã độc có tính năng Anti-VM

Quy trình phân tích mã độc kỹ thuật được chia thành 3 giai đoạn:

  • Phân tích sơ lược: Phân tích tập tin không thực thi; tạo mã băm nhận dạng (MD5, SHA-1); trích xuất chuỗi ký tự (BinText, strings); kiểm tra đóng gói và làm rối mã (PEiD, Stud_PE, CFF Explorer); phân tích bảng nhập hàm trong PE Header và nhận diện các thư viện liên kết động thông dụng (Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dll, Ntdll.dll, Wsock32.dll, Ws2_32.dll, Wininet.dll); quét đối chiếu trên VirusTotal.
  • Phân tích động: Chạy mã độc trong môi trường mạng giả lập; sử dụng Process Explorer theo dõi tiến trình, Wireshark bắt gói tin mạng, Regshot so sánh thay đổi Registry trước và sau khi chạy mã độc; kết hợp Process Monitor, Autoruns, Fundelete, Netcat.
  • Phân tích tĩnh: Dịch ngược mã máy sang hợp ngữ bằng IDA Pro; gỡ rối chương trình trực tiếp trong bộ nhớ bằng OllyDbg hoặc WinDbg.

Chương 3: Phân tích mã độc tống tiền DarkSide

Chương 3 triển khai thực nghiệm phân tích mẫu mã độc tống tiền DarkSide – biến thể RaaS từng gây ra sự cố nghiêm trọng đối với hệ thống đường ống dẫn nhiên liệu Colonial Pipeline.

Các nội dung thực nghiệm chính bao gồm:

  • Mục đích và phương tiện chuẩn bị: Thiết lập máy ảo phân tích Windows (Windows 7 32-bit) và cấu hình tài khoản phân tích trên nền tảng đám mây ANY.RUN; chuẩn bị bộ công cụ dòng lệnh chuyên dụng.
  • Công cụ sử dụng trong thực nghiệm:
    • Nhóm công cụ phân tích sơ lược/tĩnh: file, signsrch, yara-rules, peframe, pecheck, strings, floss, xorsearch, brxor, bbcrack.
    • Nhóm công cụ phân tích động và mạng: máy ảo Windows 7, nền tảng ANY.RUN, Wireshark, Whois.
  • Kịch bản và tiến trình phân tích:
    1. Phân tích sơ lược và tĩnh: Sử dụng các công cụ file, peframe, pecheck để nhận dạng cấu trúc tệp thực thi PE, kiểm tra các phần vùng và thuộc tính tệp; sử dụng yara-rules và signsrch để nhận diện các dấu hiệu mã độc đã biết; dùng strings, floss kết hợp các công cụ phá mã XOR (xorsearch, brxor, bbcrack) để trích xuất các chuỗi ký tự bị mã hóa ẩn giấu trong mã nhị phân.
    2. Phân tích động trên máy ảo Windows và ANY.RUN: Thực thi tệp mã độc trong môi trường giám sát; ghi nhận toàn bộ các hành vi can thiệp hệ thống (tạo tệp tin mới, chỉnh sửa khóa Registry, chấm dứt các tiến trình dịch vụ); bắt và phân tích lưu lượng mạng bằng Wireshark và Whois nhằm xác định địa chỉ IP/tên miền máy chủ điều khiển C&C mà mã độc kết nối; quan sát trực tiếp chu trình mã hóa tệp dữ liệu, giao diện thông báo tiền chuộc và các kỹ thuật lẩn tránh mà DarkSide áp dụng.

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

Các kết quả nghiên cứu và dữ liệu kỹ thuật đạt được trong đồ án:

  • Hệ thống hóa cấu trúc phân loại của các dòng mã độc phổ biến và xây dựng bảng biên niên sử chi tiết về sự phát triển của mã độc tống tiền từ năm 1989 đến 2021.
  • Tổng hợp bảng định dạng dữ liệu vật chủ và bảng mô hình hóa các hành vi can thiệp hệ điều hành của mã độc.
  • Chuẩn hóa quy trình 9 bước xử lý sự cố mã độc cho các cơ quan, tổ chức và quy trình 8 bước ứng phó tức thời cho cá nhân.
  • Xây dựng tài liệu kỹ thuật về quy trình phân tích mã độc 3 bước (Sơ lược - Động - Tĩnh), lập danh mục vai trò của các thư viện DLL cốt lõi và tiêu chí lựa chọn môi trường phân tích (máy ảo và máy thật).
  • Thực hiện phân tích thực nghiệm trên mẫu ransomware DarkSide, trích xuất thành công các chuỗi ký tự bị làm rối bằng chuỗi công cụ phân tích tĩnh (peframe, pecheck, floss, bbcrack) và ghi nhận đầy đủ hành vi thực thi, lưu lượng mạng C&C trên môi trường máy ảo và sandbox ANY.RUN.

Giải pháp và kiến nghị do tác giả đề xuất:

  • Khuyến nghị người dùng cuối tuân thủ 7 nguyên tắc an toàn của Google để giảm thiểu nguy cơ lây nhiễm mã độc.
  • Khuyến nghị các chuyên viên an toàn thông tin áp dụng nghiêm ngặt các nguyên tắc cách ly mạng (cấu hình Host-only, tắt chia sẻ USB tự động, dùng Snapshot sạch, sử dụng wget/curl và đổi tên tệp thực thi khi tải mẫu) nhằm ngăn ngừa sự cố lây nhiễm chéo trong quá trình phân tích.

Đóng góp của đồ án:

  • Cung cấp một tài liệu tổng hợp có tính hệ thống, kết hợp giữa lý luận quản lý sự cố an toàn thông tin và kỹ năng thực hành phân tích mã độc thực tế cho sinh viên và người làm kỹ thuật.

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

  • Hạn chế: Đồ án chủ yếu tập trung vào phân tích sơ lược và phân tích động; phần phân tích tĩnh nâng cao (Reverse Engineering mã máy chi tiết bằng IDA Pro và Debugging chuyên sâu từng hàm bằng OllyDbg/WinDbg) chưa đi sâu vào việc giải mã toàn bộ thuật toán mã hóa do độ phức tạp cao của các kỹ thuật làm rối mã; phạm vi thử nghiệm giới hạn trên môi trường Windows 32-bit và dịch vụ ANY.RUN.
  • Hướng nghiên cứu tiếp: Mở rộng nghiên cứu kỹ thuật dịch ngược nâng cao để bóc tách các cơ chế chống dịch ngược (Anti-Reverse Engineering), kỹ thuật chống máy ảo (Anti-VM) và kỹ thuật phát hiện gỡ rối (Anti-Debugging); mở rộng phạm vi phân tích sang các hệ điều hành khác (Linux, Android, macOS, hệ thống nhúng/IoT) và các chiến dịch tấn công APT phức tạp.

Giá trị tham khảo

Tài liệu có giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên, học viên ngành An toàn thông tin, Công nghệ thông tin: Sử dụng làm tài liệu học tập, tham khảo về các chủng loại mã độc, nguyên lý liên kết thư viện hệ điều hành và phương pháp luận phân tích phần mềm độc hại.
  • Kỹ thuật viên quản trị mạng và ứng cứu sự cố (SOC/CSIRT): Tham khảo quy trình 9 bước xử lý sự cố cho tổ chức và các bước cô lập hệ thống khi phát hiện máy tính bị nhiễm mã độc.
  • Nội dung đáng tham khảo nhất: Danh mục chức năng của các thư viện DLL thông dụng trong nhận diện hành vi mã độc (Chương II); hướng dẫn thiết lập an toàn phòng thí nghiệm máy ảo và quy trình sử dụng các công cụ phân tích tĩnh/động thực tế trên mẫu ransomware DarkSide (Chương 3).

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

1. Tỷ lệ các cuộc tấn công mạng sử dụng mã độc tại Việt Nam trong 8 tháng đầu năm 2021 được ghi nhận là bao nhiêu?
Theo số liệu của Cục An toàn thông tin do NCSC công bố, trong 8 tháng đầu năm 2021 có 2.900 cuộc tấn công bằng mã độc trên tổng số 5.082 cuộc tấn công mạng gây sự cố tại Việt Nam, chiếm tỷ lệ xấp xỉ 57% (tăng 25,82% so với cùng kỳ năm 2020).

2. Quy trình xử lý sự cố khi hệ thống nhiễm mã độc trong một tổ chức lớn gồm những bước nào?
Quy trình gồm 9 bước: (1) Phát hiện, tiếp nhận thông tin; (2) Triển khai các bước ưu tiên ứng cứu ban đầu; (3) Lựa chọn phương án ứng cứu; (4) Báo cáo sự cố; (5) Chỉ đạo xử lý sự cố; (6) Ngăn chặn sự cố; (7) Xử lý, gỡ bỏ mã độc; (8) Khôi phục hệ thống; (9) Kiểm tra, phân tích hệ thống sau khắc phục và tổng kết, đánh giá.

3. Phân tích sơ lược (Basic Static Analysis) nhằm mục đích gì và sử dụng những công cụ nào?
Phân tích sơ lược nhằm xác định thông tin cơ bản của tệp mã độc mà không cần thực thi (định dạng, kích thước, chuỗi ký tự, mã băm MD5/SHA-1, kiểm tra đóng gói và quét đối chiếu diệt virus). Các công cụ được sử dụng gồm: md5deep, WinMD5, HashTab, BinText, strings, PEiD, Stud_PE, CFF Explorer và dịch vụ VirusTotal.

4. Khi thiết lập môi trường máy ảo để phân tích mã độc cần tuân thủ những yêu cầu kỹ thuật nào?
Cần tạo máy ảo có dung lượng ổ đĩa tối thiểu 20GB, cài đặt hệ điều hành Windows, cấu hình card mạng ở chế độ Host-only (hoặc vô hiệu hóa mạng), tắt tính năng tự động kết nối thiết bị USB (uncheck Automatically connect new USB devices), sử dụng tính năng Taking Snapshots để lưu trạng thái sạch và luôn cập nhật bản vá cho hệ điều hành máy thật (Host).

5. Trong thực nghiệm phân tích mã độc DarkSide tại Chương 3, tác giả đã sử dụng những công cụ nào để trích xuất chuỗi và phân tích động?
Tác giả sử dụng các công cụ dòng lệnh gồm file, signsrch, yara-rules, peframe, pecheck, strings, floss, xorsearch, brxor, bbcrack để phân tích tĩnh/sơ lược, và sử dụng máy ảo Windows 7 32-bit, nền tảng ANY.RUN, Wireshark, Whois để thực hiện phân tích động và giám sát lưu lượng mạng.


Kết luận

Đồ án tốt nghiệp của sinh viên Chu Trường Giang đã trình bày có hệ thống bức tranh tổng quan về các chủng loại mã độc, nguyên lý hoạt động và thực trạng an toàn thông tin tại Việt Nam giai đoạn 2020 - 2021. Công trình đã chuẩn hóa quy trình ứng cứu sự cố an toàn thông tin cho tổ chức lẫn cá nhân, đồng thời thiết lập phương pháp luận phân tích mã độc qua ba giai đoạn: sơ lược, động và tĩnh. Kết quả thực nghiệm phân tích trên mẫu ransomware DarkSide bằng chuỗi công cụ chuyên dụng trên máy ảo và sandbox ANY.RUN đã minh chứng rõ ràng tính khả thi của quy trình nghiên cứu, tạo nguồn tài liệu tham khảo kỹ thuật hữu ích cho chuyên ngành An toàn thông tin.