Module 7 trong khóa Certified Ethical Hacker (CEH) v12 tập trung vào lĩnh vực phân tích mã độc (malware). Phân tích malware là quá trình phân tách và nghiên cứu các chương trình độc hại để hiểu về chức năng, hành vi và tác động tiềm năng của chúng. Trong Module 7, các bạn sẽ được khám phá sâu hơn về các loại malware khác nhau, bao gồm virus, worm, Trojan, ransomware và nhiều hơn nữa. Module này trang bị cho người học kiến thức và công cụ cần thiết để phân tích và chống lại những thực thể độc hại này một cách hiệu quả.
Các bạn có thể đọc tất cả bài viết về CEH Tiếng Việt tại đây.
Sau module này, chúng ta sẽ có khả năng:
- Mô tả các khái niệm về mã độc và các kỹ thuật lan truyền của mã độc
- Giải thích về các ứng dụng không mong muốn (PUAs – Potentially unwanted applications) và adware
- Mô tả các khái niệm về mối đe dọa dai dẳng (APTs – advanced persistent threats) và vòng đời của chúng
- Mô tả các khái niệm về Trojan, các loại Trojan và cách chúng xâm nhập vào hệ thống
- Giải thích các khái niệm về virus, các loại virus và cách chúng xâm nhập vào hệ thống file
- Giải thích khái niệm về worm máy tính, fileless malware
- Thực hiện phân tích phần mềm độc hại
- Giải thích các kỹ thuật khác nhau để phát hiện phần mềm độc hại
- Áp dụng biện pháp chống lại phần mềm độc hại
Mã độc là gì?
Phần mềm độc hại, hay mã độc (malware) là các chương trình được thiết kế để gây hại hoặc thay đổi chức năng của hệ thống máy tính và trao quyền kiểm soát hạn chế hoặc quyền kiểm soát hoàn toàn cho người tạo ra chương trình đó nhằm thực hiện các mục đích xấu. Các loại phần mềm độc hại có thể kể đến virus, worm, Trojan, rootkit, backdoor, botnet, ransomware, spyware, adware, scareware, crapware, roughware, crypter, keylogger và nhiều loại khác. Chúng có thể xóa file, làm chậm máy tính, ăn cắp thông tin cá nhân, …
Làm cách nào mã độc xâm nhập vào hệ thống?
Thông qua ứng dụng chat
Các ứng dụng trò chuyện như Facebook Messenger, WhatsApp Messenger, Linkedln Messenger, Google Hangouts hoặc ICQ có thể trở thành nguồn lây nhiễm hàng đầu. Khi người dùng nhận các tfile qua các ứng dụng này, họ đối diện với nguy cơ cao. Bất kể file được gửi từ ai và từ đâu, luôn tồn tại nguy cơ lây nhiễm bởi Trojan. Người dùng không thể chắc chắn 100% về danh tính của người đang chat với mình.
Thông qua các thiết bị ngoại vi
Các thiết bị lưu trữ ngoại vi như ổ đĩa flash, đĩa CD/DVD, ổ cứng ngoài cũng có thể được gài sẵn mã độc. Một cách đơn giản nhất để lây lan là thông qua việc truy cập vật lý. Ví dụ, nếu Bob đang giữ máy tính của Alice khi Alice đi vắng, Bob có thể cài đặt một Trojan bằng cách sao chép Trojan từ ổ đĩa flash của mình vào máy tính của Alice.
Một phương pháp khác là thông qua chức năng Autorun. Autorun, còn được gọi là Autoplay hoặc Autostart, là một tính năng trên Windows cho phép chạy một chương trình thực thi khi người dùng gắn một đĩa CD/DVD vào khay đĩa DVD-ROM hoặc gắn USB. Hacker có thể lợi dụng tính năng này để chạy mã độc chung cùng với các chương trình thông thường. Hacker đặt một file Autorun.inf kèm mã độc trong đĩa CD/DVD hoặc USB và lừa người khác gắn vào máy tính.
Nội dung của file autorun ví dụ như:
[autorun]
open=setup.exe icon=setup.exe
Để giảm thiểu nguy cơ nhiễm mã độc qua chức năng này, hãy tắt chức năng Autostart bằng cách sau (trên Windows 10):
- Nhấp vào Start. Gõ
gpedit.msc
vào ô Start Search Box và nhấn ENTER. - Nếu yêu cầu mật khẩu, nhập mật khẩu hoặc nhấp Allow (Cho phép).
- Trong Computer Configuration, mở rộng Administrative Templates, mở rộng Windows Components, sau đó nhấp vào Autoplay Policies.
- Trong mục Details, nhấp đúp vào Turn off Autoplay.
- Chọn Enabled, sau đó chọn All drives trong mục Turn off Autoplay để tắt Autorun trên tất cả các ổ đĩa.
- Khởi động lại máy tính.
Thông qua phần mềm miễn phí
Nhiều trang web độc hại có giao diện chuyên nghiệp, kho lưu trữ lớn khiến nhiều người dùng tin tưởng và tải phần mềm từ những trang này. Chỉ vì một trang web có vẻ chuyên nghiệp không có nghĩa là nó an toàn. Luôn tải phần mềm từ trang web gốc, chứ không phải từ các trang web bên thứ ba có liên kết đến cùng một phần mềm.
Lan truyền trong mạng
An ninh mạng đóng vai trò hàng đầu trong việc bảo vệ hệ thống thông tin khỏi các vụ tấn công xâm nhập. Tuy nhiên, có thể do lỗi của quản trị viên khiến cho traffic không được filter trước khi vào mạng nội bộ. Một số loại mã độc được thiết kế để có thể lan truyền qua mạng như mã độc Blaster. Mặc dù tấn công lan truyền mã độc qua mạng tận dụng các lỗ hổng trong các giao thức mạng phổ biến (ví dụ như SQL Slammer) không còn phổ biến gần đây, nhưng nguy cơ cho những cuộc tấn công như vậy vẫn còn tồn tại.
Chia sẻ file
Nếu các dịch vụ như NetBIOS (port 139), FTP (port 21), SMB (port 145), …, được mở để chia sẻ file, chúng có thể bị khai thác. Hacker cũng có thể sử dụng kỹ thuật tấn công từ chối dịch vụ (DoS) để tắt hệ thống và buộc nó khởi động lại để Trojan có thể khởi động ngay lập tức chung với hệ thống. Để ngăn chặn, cần tắt chức năng chia sẻ file khi không cần thiết.
Các thành phần của mã độc
- Crypter: Đây là một phần mềm có thể che giấu sự tồn tại của mã độc. Hacker sử dụng phần mềm này để né tránh việc phát hiện bởi các chương trình diệt virus, bảo vệ mã độc khỏi việc phân tích hoặc dịch ngược, làm cho việc phát hiện bằng các cơ chế bảo mật trở nên khó khăn.
- Downloader: Đây là một loại Trojan được sử dụng để tải xuống mã độc khác từ Internet về máy tính. Thông thường, hacker sẽ cài đặt một downloader khi họ lần đầu tiên tiếp cận hệ thống.
- Dropper: Đây là một phương tiện chuyên chở phần mềm độc hại. Hacker nhúng các file malware vào trong dropper, giúp thực hiện nhiệm vụ cài đặt một cách bí mật. Dropper có thể vận chuyển malware và thực thi chúng nhưng vẫn đảm bảo không bị phát hiện bởi anti-virus.
- Exploit: Chứa code hoặc một chuỗi lệnh có thể tận dụng lỗi hoặc lỗ hổng trong hệ thống hoặc thiết bị kỹ thuật số.
- Injector: Tiêm các payload hoặc mã độc vào các tiến trình đang chạy có lỗ hổng khác và thay đổi phương thức thực thi để giấu kín hoặc ngăn chặn việc loại bỏ nó.
- Obfuscator: Đây là một chương trình che giấu mã độc của phần mềm độc hại thông qua các kỹ thuật khác nhau, chủ yếu là làm rối code.
- Packer: Nén mã độc nhằm chuyển đổi code và dữ liệu của nó thành một định dạng không đọc được.
Potentially Unwanted Application or Applications (PUAs)
Các ứng dụng hoặc chương trình có khả năng gây phiền nhiễu (PUAs hoặc PUPs), còn được gọi là grayware/junkware, là các ứng dụng có khả năng gây hại tiềm ẩn và có thể tạo ra rủi ro nghiêm trọng đối với bảo mật và quyền riêng tư của dữ liệu được lưu trữ trong hệ thống mà chúng được cài đặt. PUAs có thể làm giảm hiệu suất hệ thống và đe dọa quyền riêng tư. PUAs có thể giám sát và thay đổi dữ liệu hoặc cài đặt trong hệ thống một cách tiềm ẩn tương tự như các loại mã độc khác.
Adware là một thuật ngữ để chỉ phần mềm hoặc chương trình quảng cáo và tạo ra các quảng cáo hay cửa sổ pop-up. Nó theo dõi cookie và thói quen duyệt web của người dùng cho mục đích tiếp thị và hiển thị quảng cáo. Adware có thể được nhúng hợp pháp nhằm tạo doanh thu trong thương mại, tuy nhiên trong nhiều trường hợp, adware có thể được nhúng bởi hacker nhằm thực hiện mục đích xấu.
Adware hợp pháp thường có nút tắt quảng cáo, nó chỉ đơn giản giúp giảm chi phí marketing và tăng lợi nhuận kinh doanh. Mặc dù adware có thể có ích, nhưng hacker có thể lạm dụng adware để khai thác người dùng. Khi adware hợp pháp được gỡ bỏ, quảng cáo sẽ dừng. Hơn nữa, adware hợp pháp cần sự cho phép của người dùng trước khi thu thập dữ liệu. Tuy nhiên, khi dữ liệu người dùng được thu thập mà không có sự cho phép của người dùng, adware lại trở thành độc hại. Loại adware như vậy được gọi là spyware và có thể ảnh hưởng đến quyền riêng tư và bảo mật của người dùng.
Adware có hại được cài đặt trên máy tính thông qua cookie, các extension, chia sẻ file, shareware. Nó tiêu thụ đáng kể băng thông, CPU và bộ nhớ.
Một số dấu hiệu bị nhiễm Adware:
- Hiệu suất chậm: Adware cũng ảnh hưởng đến tốc độ xử lý của CPU và tiêu thụ RAM, làm giảm hiệu suất.
- Quảng cáo nhiều: Người dùng bị tràn ngập bởi quảng cáo. Đôi khi, các quảng cáo này có thể rất khó để đóng lại.
- Hệ thống liên tục gặp sự cố: Hệ thống của người dùng có thể gặp sự cố hoặc bị treo liên tục, đôi khi hiển thị màn hình xanh (BSoD).
- Mạng Internet chậm: Adware có thể làm chậm kết nối Internet ngay cả trong sử dụng bình thường bằng cách tải xuống các quảng cáo lớn.
Advanced Persistent Threat (APT)
Khái niệm APT
Một mối đe dọa dai dẳng tiên tiến (Advanced Persistent Threat – APT) được xác định là một loại tấn công mạng trong đó hacker xâm nhập vào mạng mục tiêu trái phép và duy trì trong mạng mà không bị phát hiện trong một thời gian dài. Từ “tiên tiến” biểu thị việc sử dụng các kỹ thuật nâng cao và phức tạp để khai thác các lỗ hổng trong hệ thống. Từ “dai dẳng” biểu thị hệ thống điều khiển và kiểm soát (C&C) bên ngoài liên tục trích xuất dữ liệu và giám sát mạng của nạn nhân. Từ “đe dọa” biểu thị sự tham gia của con người trong quá trình phối hợp.
Các cuộc tấn công APT là các cuộc tấn công rất tinh vi trong đó hacker sử dụng mã độc được thiết kế tốt kết hợp với nhiều lỗ hổng zero-day để xâm nhập vào mạng. Những cuộc tấn công được lên kế hoạch và phối hợp tốt,hacker xóa dấu vết các hoạt động của mình sau khi đạt được mục tiêu. Các cuộc tấn công APT thường được thực hiện trên các tổ chức sở hữu thông tin có giá trị như tài chính, y tế, quốc phòng và hàng không vũ trụ.
Đặc điểm của tấn công APT
Theo các nhà nghiên cứu an ninh Sean Bodmer, Max Kilger, Jade Jones và Gregory Carpenter, có một số đặc điểm quan trọng của tấn công APT như sau:
- Mục tiêu: Mục tiêu chính là lấy thông tin nhạy cảm bằng cách xâm nhập vào mạng của tổ chức để kiếm lợi bất hợp pháp. Mục tiêu khác của APT có thể là gián điệp cho mục đích chính trị hoặc chiến lược.
- Thời gian: Thời gian mà hacker mất để đánh giá hệ thống mục tiêu về các lỗ hổng và khai thác chúng để đạt và duy trì quyền truy cập vào hệ thống mục tiêu.
- Tài nguyên: Đây là lượng kiến thức, công cụ và kỹ thuật cần thiết để thực hiện cuộc tấn công. Cuộc tấn công APT là những cuộc tấn công phức tạp được thực hiện bởi những tên tội phạm mạng có kỹ năng cao và đòi hỏi tài nguyên đáng kể.
- Chấp nhận rủi ro: Đây là mức độ mà cuộc tấn công không bị phát hiện trong mạng mục tiêu. Tấn công APT được lên kế hoạch cẩn thận và thực hiện với kiến thức đầy đủ về mạng mục tiêu, giúp duy trì sự tồn tại trong mạng trong thời gian dài.
- Kỹ năng và phương pháp: Đây là các phương pháp và công cụ mà hacker sử dụng để thực hiện cuộc tấn công. Các phương pháp bao gồm các kỹ thuật social engineering nhằm thu thập thông tin về mục tiêu, các kỹ thuật để tránh phát hiện bởi cơ chế bảo mật và kỹ thuật để duy trì quyền truy cập trong thời gian dài.
- Hành động: Cuộc tấn công APT tuân theo một số “hành động” kỹ thuật cụ thể để duy trì sự hiện diện trong mạng trong thời gian dài và lấy càng nhiều dữ liệu càng tốt.
- Điểm xuất phát tấn công: Đây là các nỗ lực để xâm nhập vào mục tiêu. Để thành công trong việc tiếp cận ban đầu, hacker cần tiến hành nghiên cứu kỹ lưỡng để xác định các lỗ hổng và chức năng bảo vệ trong mạng mục tiêu.
- Số lượng máy tính tham gia vào cuộc tấn công: Cuộc tấn công APT thường được thực hiện bởi một nhóm hoặc tổ chức tội phạm mạng.
- Nguồn kiến thức: Là việc thu thập thông tin qua các nguồn trực tuyến về các mối đe dọa cụ thể, có thể được khai thác để thực hiện các cuộc tấn công cụ thể.
- Đa giai đoạn: Một trong những đặc điểm quan trọng của cuộc tấn công APT là chúng tuân theo nhiều giai đoạn để thực hiện một cuộc tấn công. Các giai đoạn bao gồm thu thập thông tin, tiếp cận, khám phá, tấn công và lấy dữ liệu.
- Được tùy chỉnh cho các lỗ hổng: Mã độc được sử dụng để thực hiện cuộc tấn công APT được thiết kế và viết sao cho nhắm vào các lỗ hổng cụ thể.
- Tránh hệ thống phát hiện dựa trên signature: Tấn công APT liên quan chặt chẽ đến việc khai thác các lỗ hổng ngày không có malware từng được phát hiện hoặc triển khai trước đó.
Advanced Persistent Threat Lifecycle
Trong bối cảnh hiện nay, các tổ chức cần chú ý đặc biệt đến các cuộc tấn công APT. APT có thể nhắm vào tài sản công nghệ thông tin, tài sản tài chính, sở hữu trí tuệ và uy tín của tổ chức. Các biện pháp bảo mật và phòng ngự thông thường sẽ không đủ để ngăn chặn những cuộc tấn công như vậy. Hacker đứng sau những cuộc tấn công này sẽ điều chỉnh phương pháp, kỹ thuật và quy trình tấn công của mình dựa trên những lỗ hổng và tình trạng bảo mật của tổ chức mục tiêu. Do đó, họ có thể né tránh các biện pháp kiểm soát bảo mật một cách hiệu quả.
Để tấn công APT, hacker phải tuân thủ một loạt các giai đoạn theo trình tự như hình dưới.
Preparation
Giai đoạn đầu tiên trong vòng đời của APT là giai đoạn chuẩn bị, trong đó hacker định hình rõ mục tiêu, tiến hành nghiên cứu kỹ lưỡng về mục tiêu, tổ chức một đội ngũ xây dựng hoặc sử dụng các công cụ và tiến hành các kiểm tra ban đầu.
Initial Intrusion
Trong giai đoạn này, hacker sẽ gài mã độc vào hệ thống mục tiêu để thiết lập kết nối ra ngoài.
Expansion
Giai đoạn này có hai mục tiêu chính là mở rộng quyền truy cập vào mạng mục tiêu và thu thập thông tin đăng nhập. Nếu mục tiêu của hacker là khai thác và truy cập vào một hệ thống duy nhất, thì không cần phải mở rộng quyền truy cập. Tuy nhiên, trong hầu hết các trường hợp, mục tiêu của chúng là truy cập vào nhiều hệ thống bằng cách sử dụng một hệ thống ban đầu. Với mục đích này, hacker cố gắng thu thập quyền quản trị cho hệ thống mục tiêu ban đầu từ các thông tin đăng nhập được lưu trữ và sử dụng các thông tin đăng nhập này để truy cập và duy trì quyền truy cập vào các hệ thống khác trong mạng.
Sau khi hacker thu được thông tin đăng nhập tài khoản mục tiêu, rất khó để theo dõi hành động của chúng trong mạng, vì chúng sử dụng username và password hợp lệ. Giai đoạn mở rộng này hỗ trợ cho các giai đoạn khác của vòng đời APT.
Persistence
Giai đoạn này liên quan đến việc duy trì quyền truy cập vào mục tiêu, bắt đầu từ việc né tránh các thiết bị bảo mật đầu cuối như IDS và tường lửa, xâm nhập vào mạng và thiết lập quyền truy cập vào hệ thống cho đến khi không còn sử dụng dữ liệu và tài sản nữa.
Search and Exfiltration
Trong giai đoạn này, hacker đạt được mục tiêu cuối cùng là để truy cập vào một tài nguyên có lợi về mặt tài chính. Tuy nhiên, trong một số trường hợp, mặc dù hacker xác định được dữ liệu quan trọng có sẵn nhưng không biết vị trí của dữ liệu đó. Một phương pháp phổ biến để tìm kiếm và rút ra dữ liệu là lấy tất cả các dữ liệu bao gồm tài liệu quan trọng, email, ổ đĩa, và các loại dữ liệu khác. Dữ liệu cũng có thể được thu thập bằng cách sử dụng các công cụ tự động như các thiết bị chặn gói tin mạng. Hacker sử dụng kỹ thuật mã hóa để né tránh các công nghệ ngăn thất thoát dữ liệu (DLP) trong mạng mục tiêu.
Cleanup
Đây là giai đoạn cuối cùng, hacker xóa bỏ dấu vết của mình nhằm ngăn chặn việc phát hiện và loại bỏ bằng chứng về việc xâm nhập.