Nghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máyNghiên cứu phương pháp phát hiện mã độc dựa trên các kỹ thuật học máy
Trang 1-
TRẦN QUỐC PHƯƠNG
PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC TẤN CÔNG APT
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI – 2019
Trang 2-
TRẦN QUỐC PHƯƠNG
PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC TẤN CÔNG APT
Chuyên ngành: Hệ thống thông tin
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tác giả
Trần Quốc Phương
Trang 4LỜI CẢM ƠN
Sau hơn 6 tháng nỗ lực tìm hiểu, nghiên cứu và thực hiện Luận văn về
nội dung “ Phương pháp phân tích mã độc tấn công APT” đã hoàn thành Ngoài
sự nỗ lực của bản thân, tôi đã nhận được rất nhiều sự quan tâm, giúp đỡ từ phía nhà trường, cán bộ hướng dẫn, các thầy cô, gia đình, bạn bè trong khoa và tại
cơ quan làm việc Chính điều này đã mang lại cho tôi sự động viên rất lớn để tôi có thể hoàn thành tốt bài luận văn của mình Trước hết tôi xin gửi lời cảm
ơn chân thành đến các thầy cô trường Học viện Bưu chính Viễn thông nói chung, các thầy cô Phòng sau đại học và Khoa Công nghệ thông tin nói riêng,
đã truyền đạt những kiến thức quý báu cho tôi trong suốt quá trình học tập Đặc biệt, trong quá trình làm đề tài luận văn tôi xin gửi lời cảm ơn sâu sắc tới TS
Đỗ Xuân Chợ (Giảng viên – Học viện Bưu chính Viễn thông) người đã tận tình định hướng, hướng dẫn tôi hoàn thành luận văn tốt nghiệp này Do thời gian, trang thiết bị và kiến thức còn hạn chế Tôi rất mong nhận được sự góp ý từ phía thầy cô, để luận văn hoàn thiện hơn
Xin chân thành cảm ơn!
Tác giả
Trần Quốc Phương
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH vi
DANH MỤC CÁC TỪ VIẾT TẮT ix
LỜI MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ TẤN CÔNG APT VÀ CÁC GIẢI PHÁP PHÒNG CHỐNG 3
1.1 Tổng quan về APT 3
1.1.1 Khái niệm về APT 3
1.1.2 Các đặc điểm chính của APT 3
1.2 Kỹ thuật tấn công APT 4
1.2.1 Giai đoạn 1: Reconnaissance (do thám thông tin) 4
1.2.2 Giai đoạn 2: Gaining Access/Exploitation (truy nhập/xâm nhập) 5
1.2.3 Giai đoạn 3 và 4: Internal Recon and Expand Access (thăm dò trong mạng nội bộ và mở rộng truy nhập) 5
1.2.4 Giai đoạn 5 và 6: Gathering and Extracting Data (thu thập và đánh cắp dữ liệu): 6
1.2.5 Giai đoạn 7 và 8: Command & Control and Erasing Tracks (duy trì kết nối tới máy chủ điều khiển bên ngoài và xóa dấu vết) 6
1.3 Tấn công APT tại Việt Nam và trên Thế giới 6
1.4 Tổng quan các phương pháp phát hiện và phòng chống tấn công APT 7
1.4.1 Giám sát giai đoạn Reconnaissance 9
1.4.2 Giám sát giai đoạn Exploitation 9
Trang 61.4.3 Giám sát giai đoạn Internal Recon 9
1.4.4 Gıám sát giai đoạn Expand Access 10
1.4.5 Giám sát giai đoạn Gathering Data 10
1.4.6 Gıám sát giai đoạn Data Exflitration 11
1.4.7 Giám sát giai đoạn Command & Control 12
1.4.8 Giám sát giai đoạn Erasing Tracks 13
CHƯƠNG 2 CÁC PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC TẤN CÔNG APT 15
2.1 Phương pháp phân tích mã độc thủ công 15
2.1.1 Giới thiệu về phân tích tĩnh 15
2.1.2 Yêu cầu hệ thống phân tích 16
2.1.3 Xậy dựng môi trường 16
2.1.4 Thực hiện phương pháp 17
2.2 Sử dụng các hệ thống tự động phân tích hành vi của mã độc APT 18
2.2.1 Công nghệ Sandbox 19
2.2.2 Các mục tiêu của một hệ thống phân tích tự động (Sandbox) 20
2.2.3 Những thông tin Sandbox thu thập 20
2.3 Phương pháp phân tích hành vi mã độc thông qua dòng dữ liệu (network traffic analysis) 26
2.3.1 Thu thập dòng dữ liệu mạng 26
2.3.2 Phương pháp phân tích mã độc thông qua phân tích dòng dữ liệu mạng 28
2.4 Kỹ thuật phân tích mã độc APT 30
2.4.1 Nhận diện hệ thống bị nhiễm mã độc 30
Trang 72.4.2 Xác định nguồn lây nhiễm 31
2.4.3 Thu thập mẫu mã độc 32
2.4.4 Phân tích thông tin sơ lược 33
2.4.5 Phân tích hoạt động 35
2.4.6 Phân tích tĩnh 35
2.4.7 Viết báo cáo tổng kết hành vi hoạt động mã độc 36
2.5 Kết luận chương 2 36
CHƯƠNG 3 THỰC NGHIỆM VÀ ĐÁNH GIÁ 37
3.1 Giới thiệu về công cụ hỗ trợ thực nghiệm 37
3.2 Phân tích mã độc APT 39
3.2.1 Thực nghiệm phân tích động 39
3.2.2 Thực nghiệm phân tích tĩnh 46
3.2.3 Giám sát đường truyền 55
3.3 Kết luận chương 3 57
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 60
Trang 8DANH MỤC HÌNH
Hình 1-1: Các giai đoạn trong tấn công APT 4
Hình 1-2: Khung hệ thống phát hiện tấn công APT 8
Hình 2-1: Công cụ CFF Explorer 17
Hình 2-2: Công cụ OllyDbg 18
Hình 2-3: Công cụ IDA 18
Hình 2-4:Thông tin chi tiết về file mã độc 22
Hình 2-5: Thông tin về Signature 22
Hình 2-6: Thông tin chụp màn hình chạy mã thực thi 23
Hình 2-7: Thông tin về files 23
Hình 2-8: Thông tin về Registry 24
Hình 2-9: Thông tin về Mutexes 24
Hình 2-10: Các thông tin về Static Analysis 24
Hình 2-11: Thông tin về String 25
Hình 2-13; Các thông tin về phân tích hành vi 25
Hình 2-14: Mã độc thực hiện kết nối ra ngoài 26
Hình 2-15: Các điểm cần giám sát trên hệ thống mạng 27
Hình 2-16: Mô hình tích hợp các điểm giám sát 28
Hình 2-17: Cấu hình Rule phát hiện tấn công 29
Hình 2.18 Quy trình phân tích mã độc APT 30
Hình:2.18 Quy trình phân tích sơ lược 34
Hình 3.1 Giao diện VMware Workstation 10 37
Hình 3.2 Số lần mã độc thực thi lấy tên thiết bị 40
Hình 3.3 Số lần thực thi/unpack của mã độc 40
Hình 3.4 Danh sách địa chỉ IP 41
Hình 3.5 Một số cổng kết nối 41
Hình 3.6 Một số cổng kết nối UDP 42
Hình 3.7 Data gửi phản hồi từ Server 42
Hình 3.8 Thông báo về kết nối với URL 43
Trang 9Hình 3.9 Kết nối đến địa chỉ msftncsi của Microsoft 43
Hình 3.10 Kết nối thất bại đến các IP và Port 43
Hình 3.11 Kết nối thất bại đến mã độc đến máy chủ điều khiển 44
Hình 3.12 Ping đến từng IP 44
Hình 3.13 Thông tin IOC của mã độc APT 46
Hình 3.14 Kết quả phân tích hành vi mã độc 48
Hình 3.15 Kết quả phân tích Command line console output 48
Hình 3.16 Tệp thực thi của mã độc 48
Hình 3.17 Các kết quả các phần mềm chống mã độc đã phát hiện 49
Hình 3.18 Kết quả phân tích bằng Yara 50
Hình 3.19 Kết quả phân tích hàm IsDebuggerPresent 50
Hình 3.20 Hàm khởi động của mã độc 51
Hình 3.21 Danh sách String mà OllyDBG có thể đọc được 51
Hình 3.22 Danh sách tiến trình trên máy nạn nhân 52
Hình 3.24 Các API đáng ngờ đã được gọi 53
Hình 3.25 Các API của các thư viện windows 53
Hình 3.26 Hàm nhận diện debugger 54
Hình 3.27 Registry change 54
Trang 10DANH MỤC BẢNG
Bảng 3.1 Danh sách các API mã độc thực thi 45 Bảng 3.2 Kết quả trả về thông tin của mã độc 47 Bảng 3.3 Danh sách thuộc tính của Pcap 55
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT
DDoS Distributed Denied of Service
HIDS Host-based Intrusion Detection System
HTTP HyperText Transfer Protocol
ICMP Internet Control Message Protocol
JPEG Joint Photographic Experts Group
NIDS Network-based Intrusion Detection System
SIEM Security Information and Event Management SMTP Simple Mail Transfer Protocol
Trang 12vấn đề trên, tôi đã chọn đề tài “ Phương pháp phân tích mã độc tấn công APT”
để góp phần nâng cao khả năng phát hiện và phòng chống APT
Luận văn đề cập đến việc nghiên cứu trên cơ sở là các phương pháp phân tích mã độc nhằm phát hiện các cách thức lây nhiễm và các hành vi của mã độc APT sau khi lây nhiễm để góp phần nâng cao khả năng phát hiện và phòng chống APT Bố cục luận văn được chia làm 3 chương:
Chương I: Đề cập đến vấn đề tổng quan về tấn công APT ở Việt Nam và
trên toàn thế giới Nêu rõ thế nào là một cuộc tấn công APT, các đặc điểm của
Trang 13một cuộc tấn công APT là gì Phân tích các giai đoạn trong một cuộc tấn công APT vào hệ thống mạng của doanh nghiệp, tổ chức và cuối cùng là các phương pháp giám sát phát hiện tấn công APT qua từng giai đoạn này
Chương II: Tập trung phân tích các biện pháp kỹ thuật phân tích mã độc
tấn công APT phổ biến như là phân tích mã độc thủ công, phân tích mã độc tự động và phân tích dòng dữ liệu mạng
Chương III: Đề cập tới mô hình hệ thống mạng truyền thống với những
yếu điểm về mặt đảm bảo ANTT, từ đấy nghiên cứu đề xuất mô hình cải tiến
bổ sung các giải pháp, công nghệ để nâng cao an toàn, đảm bảo phát hiện sớm các cuộc tấn công nhằm vào hệ thống Nghiên cứu công nghệ mã nguồn mở 11 Security Onion để thử nghiệm và tích hợp vào hệ thống Thử nghiệm một cuộc tấn công APT và cách thức phát hiện điều tra truy vết
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ TẤN CÔNG APT VÀ CÁC
GIẢI PHÁP PHÒNG CHỐNG 1.1 Tổng quan về APT
1.1.1 Khái niệm về APT
Tấn công APT được gọi là tấn công có chủ đích viết tắt của Advanced Persistent Threat, được sử dụng để miêu tả một cuộc tấn công dai dẳng nhằm vào một hệ thống nhất định APT thường tấn công âm thầm và rất nguy hiểm
- Advanced (nâng cao): Để ám chỉ rằng kẻ tấn công sử dụng các kỹ thuật nâng cao nhất có thể để tấn công vào hệ thống đích một cách bài bản, sử dụng kết hợp nhiều kỹ thuật khác nhau một cách khoa học Tính Advanced thể hiện
ở khả năng khai thác hệ thống, khả năng ẩn mình, thay đổi liên tục làm cho việc phát hiện trở nên rất khó khăn
- Persistent (dai dẳng): Kẻ tấn công thường xác định cụ thể mục tiêu khai thác với động cơ rất rõ ràng, ẩn mình và khai thác theo từng giai đoạn trong thời gian dài cho đến khi thành công
- Threat (mối đe dọa): APT là một mối đe dọa về ANTT cực kỳ lớn bởi
vì động cơ và chủ đích của kẻ tấn công thường rất rõ ràng và có thể mang các yếu tố chính trị, kinh tế, thường được thực hiện bởi các tổ chức tội phạm chuyên nghiệp có bài bàn, trình độ cao và nguồn tài trợ dồi dào
1.1.2 Các đặc điểm chính của APT
Tấn công APT có các đặc điểm chính sau:
- Targeted (mục tiêu): Kẻ tấn công xác định một cách chính xác mục tiêu
cụ thể để tấn công và khai thác tới những tổ chức, những cá nhân, những quốc gia cụ thể
- Persistent (dai dẵng): Quá trình tấn công APT được chia ra thành nhiều giai đoạn khác nhau trong một thời gian dài Sử dụng nhiều các kỹ thuật, phương pháp khác nhau để tấn công vào mục tiêu cho đến khi thành công
Trang 15- Evasive (ẩn mình): Tấn công APT được thiết kế để có thể qua mặt được hầu hết các giải pháp đảm bảo an toàn thông tin (ATTT) truyền thống như Firewall, IDS, Antivirus, Khi gửi dữ liệu ra ngoài để tránh việc phát hiện của các IDS thì kẻ tấn công thực hiện mã hóa dữ liệu hoặc chèn vào các giao thức mạng thông thường hay được sử dụng
- Complex (phức tạp): APT phối kết hợp nhiều các kỹ thuật khác nhau một cách khoa học và bài bản nhằm những mục tiêu là lỗ hổng bảo mật trong các hệ thống Các công cụ cho tấn công APT được sử dụng rất nhiều loại khác nhau
1.2 Kỹ thuật tấn công APT
Tấn công APT thường được chia chi tiết thành 8 giai đoạn (có thể 6, hoặc
7 giai đoạn tùy vào cách phân tích), bao gồm đầy đủ các giai đoạn của một cuộc tấn công thông thường và thêm các bước đặc thù của loại tấn công này
Hình 1-1: Các giai đoạn trong tấn công APT
1.2.1 Giai đoạn 1: Reconnaissance (do thám thông tin)
Đây là giai đoạn đầu tiên kẻ tấn công thực hiện do thám mục tiêu, thu thập các thông tin liên quan đến hệ thống đích như các website public, tên, địa
Trang 16chỉ Email, các thông tin đăng ký DNS, các thông tin về người dùng liên quan trên mạng xã hội, Mục đích chính là thu thập càng nhiều thông tin liên quan đến mục tiêu càng tốt, để từ đấy chắt lọc thông tin, tìm ra các điểm yêú có thể khai thác tấn công
1.2.2 Giai đoạn 2: Gaining Access/Exploitation (truy nhập/xâm
nhập)
Sau bước do thám thu thập thông tin, kẻ tấn công dựa trên những thông tin chắt lọc về hệ thống, đặc biệt là các thông tin về người dùng trong hệ thống thu thập được trên mạng, kẻ tấn công thực hiện tấn công vào người dùng thông thường bằng cách gửi Email có chứa đường link tới website độc hại, ở giai đoạn này kẻ tấn công có rất nhiều hình thức để có thể tấn công vào người dùng, có thể gửi file đính kèm mã độc, có thể sử dụng lỗ hổng 0-day, mục đích là để người dùng trong hệ thống click vào file độc hại hoặc truy nhập theo đường link vào website độc hại để có thể đánh cắp thông tin xác thực, chiếm quyền điều khiển máy trạm của người dùng Ngoài ra còn một số kỹ thuật tấn công khác mà kẻ tấn công thường dùng trong giai đoạn này như: tấn công vào websites, khai thác các lỗ hổng bảo mật của hệ thống, sử dụng các thiết bị cắm ngoài như USB có chứa mã độc
1.2.3 Giai đoạn 3 và 4: Internal Recon and Expand Access (thăm dò trong mạng nội bộ và mở rộng truy nhập)
Sau khi chiếm đoạt được máy trạm của người dùng kẻ tấn công sẽ thực hiện do thám các thông tin trong hệ thống từ máy trạm này, kẻ tấn công thường
sử dụng các công cụ rà quét mạng, giám sát các kết nối từ máy trạm lên hệ thống máy chủ, cố gắng tìm kiếm con đường có thể mở rộng tấn công từ máy trạm lên các hệ thống máy chủ quan trọng (thông thường nếu có AD kẻ tấn công sẽ nhắm vào hệ thống này)
Trang 171.2.4 Giai đoạn 5 và 6: Gathering and Extracting Data (thu thập và đánh cắp dữ liệu):
Sau khi truy nhập được vào các hệ thống máy chủ quan trọng, kẻ tấn công sẽ thực hiện tìm kiếm và thu thập các dữ liệu quan trọng, nhạy cảm trên
hệ thống đích và thực hiện gửi dữ liệu ra ngoài, ở bước này hành động gửi dữ liệu ra ngoài của kẻ tấn công thường được thực hiện chậm dãi, và chia làm nhiều giai đoạn, các phương thức gửi ra ngoài gần như là các kết nối thông thường rất khó để phát hiện ra
1.2.5 Giai đoạn 7 và 8: Command & Control and Erasing Tracks (duy trì kết nối tới máy chủ điều khiển bên ngoài và xóa dấu vết)
Ở hai gia đoạn cuối này sau khi đã đánh cắp thông tin, dữ liệu gửi ra ngoài, kẻ tấn công tiếp tục sử dụng các mã độc backdoor duy trì các kết nối ra máy chủ điều khiển bên ngoài để trao đổi thông tin và nhận các mã lệnh điều khiển từ xa, đồng thời thực hiện xóa các dấu vết, các log của kẻ tấn công để lại trên hệ thống, ẩn các tiến trình hoặc hợp thức hóa nó để lẩn tránh làm cho việc phát hiện dò tìm khó khăn hơn Trên đây là tổng quát về các giai đoạn tấn công trong một cuộc tấn công APT, trong mỗi giai đoạn kẻ tấn công có thể sử dụng nhiều phương pháp kỹ thuật khác nhau để đạt được mục đích, ngoài ra một đặc điểm nổi bật của tấn công APT đấy là thời gian thực hiện ở mỗi giai đoạn thường lâu, có thể tình bằng tháng, hoặc hàng năm
1.3 Tấn công APT tại Việt Nam và trên Thế giới
Trong vài năm trở lại đây đã có nhiều cuộc tấn công APT diễn ra trên thế giới và cả ở Việt Nam
Đặc biệt trong năm 2016-2017 đã diễn ra nhiều cuộc tấn công APT lớn, hậu quả để lại của các cuộc tấn công này là rất nặng nề, các tổ chức bị tấn công không có khả năng phát hiện và xử lý kịp thời các tấn công này
Các cuộc tấn công APT điển hình trong năm 2016-2017 như:
Trang 18- 2/2016 Tấn công mã độc vào 9 Ngân hàng ở Nga gây thiệt hại hơn 1
- 8/2017 Một chiến dịch tấn công APT lớn nhằm vào các tổ chức ban nghành, các công ty viễn thông, tập đoàn tài chính ở Việt Nam, có nhiều đặc điểm liên quan tới cuộc tấn công APT32 mấy tháng trước, và các cuộc APT nhằm vào Việt Nam trước kia
1.4 Tổng quan các phương pháp phát hiện và phòng chống tấn công APT
Tấn công APT thường là một chuỗi các tấn công nhỏ lẻ kết hợp với nhau trong thời gian dài, vì vậy không có phương pháp cụ thể nào có thể chuyên dụng cho việc phát hiện hoàn toàn các cuộc tấn công APT Để phát hiện và phòng chống tấn công APT hiệu quả cần phải thiết kế một hệ thống chuyên biệt cho việc giám sát phát hiện, hệ thống này được xây dựng dựa trên cơ chế xoay quanh các vấn đề sau:
Trang 19Hình 1-2: Khung hệ thống phát hiện tấn công APT
- What (Cái gì): Các bước tấn công là gì? Các phương pháp tấn công là gì? Các kỹ thuật, tính năng tấn công là gì?
- Where (Ở đâu): Cần phải thực hiện thiết lập giám sát, phát hiện ở những khu vực, phân vùng mạng nào?
- How (Như thế nào): Các phương pháp phát hiện, giám sát như thế nào? Các phương pháp phân tích sự kiện thế nào?
- Why (Tại sao): Tại sao lại ảnh hưởng tới khía cạnh kinh doanh?
Thực hiện giám sát, phân tích và cố gắng phát hiện theo từng giai đoạn tấn công Cụ thể ở mỗi giai đoạn tấn công, kẻ tấn công có thể sử dụng nhiều công cụ và kỹ thuật khác nhau, nhưng mục đích cuối cùng vẫn là nhằm đạt được kết quả theo đúng trình tự các giai đoạn đã biết Vì vậy việc thiết lập các
hệ thống để thu thập thông tin và giám sát theo từng giai đoạn của tấn công là biện pháp hữu hiệu nhất cho việc phát hiện và phòng chống tấn công APT
Với mỗi một giai đoạn tấn công tương ứng cần phải xác định ba yếu tố sau để giám sát và phòng chống:
- Detection Location (Khu vực cần thiết lập giám sát)
Trang 20- Detection Methods (Các phương pháp giám sát, phát hiện)
- Analysis Methods (Các phương pháp phân tích)
1.4.1 Giám sát giai đoạn Reconnaissance
Đây là giai đoạn khởi đầu của tấn công APT, kẻ tấn công sẽ thực hiện thăm dò hệ thống từ bên ngoài, rất ít để lại dấu hiệu gì trên hệ thống nên thường
sẽ rất khó có thể phát hiện được dấu hiệu nào thể hiện rõ là khởi đầu của một cuộc tấn công APT
- Khu vực cần thiết lập giám sát: Khu vực DMZ, hệ thống mạng biên, hệ thống Remote Access và hệ thống Mobility, nếu có thể lưu ý thêm tới hệ thống mạng xã hội của tổ chức (nếu có)
- Các phương pháp giám sát/phát hiện: Phân tích log của Firewall và máy chủ Web
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, nhận dạng theo các mẫu có trước, phân tích tính tương quan
1.4.2 Giám sát giai đoạn Exploitation
Ở giai đoạn này kẻ tấn công bắt đầu thực hiện các kỹ thuật để xâm nhập vào hệ thống, vì vậy sẽ có những dấu hiệu và tác động lên các thành phần của
hệ thống, việc giám sát sẽ có nhiều thông tin thu thập hơn so với giai đoạn đầu
- Khu vực cần thiết lập giám sát: Vùng mạng biên, hệ máy trạm của người dùng trong hệ thống, hệ thống các máy chủ public ra ngoài
- Các phương pháp giám sát/phát hiện: Sử dụng hệ thống antivirus, hệ thống Firewall và Mailgateway, hệ thống Sanboxing, hệ thống IDPS
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, phân tích dựa trên mẫu có trước và phân tích tính tương quan
1.4.3 Giám sát giai đoạn Internal Recon
Đây là giai đoạn có khả năng phát hiện ra tấn công cao, vì ở giai đoạn này kẻ tấn công sẽ dùng các công cụ, kỹ thuật để dò tìm, khám phá hệ thống
Trang 21mạng để nhằm khai thác sâu hơn trong hệ thống, vì vậy sẽ để lại nhiều dấu hiệu bất thường
- Khu vực cần thiết lập giám sát: Tất cả các vùng mạng
- Các phương pháp giám sát/phát hiện: Sử dụng hệ thống IDPS, Firewall, SIEM tổng hợp log từ nhiều nguồn
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, phân tích dựa trên mẫu có sẵn và phân tích tính tương quan
1.4.4 Gıám sát giai đoạn Expand Access
Giai đoạn này là giai đoạn có khả năng phát hiện ra tấn công cao nhất, bởi vì kẻ tấn công muốn đạt được mục đích của mình là chiếm đoạt hệ thống
và đánh cắp thông tin thì chắc chắn rằng sẽ phải tìm mọi cách rà soát và tấn công leo thang vào các máy chủ, hệ thống quan trọng, tìm mọi cách để chiếm đoạt các tài khoản đặc quyền Chính vì vậy để giám sát và phát hiện tốt tấn công APT, cần tập trung giám sát chặt chẽ các tài khoản đặc quyền và các máy chủ, hệ thống trọng yếu Từ các sự kiện bất thường ở các tài khoản đặc quyền
và các máy chủ quan trọng (thông thường như máy chủ AD) sẽ là đầu mối để lần ra các dấu hiệu khác của cuộc tấn công
- Khu vực cần thiết lập giám sát: Các máy chủ trọng yếu trong hệ thống, các máy trạm quan trọng cũng như các phân vùng chứa dữ liệu nhạy cảm
- Các phương pháp giám sát/phát hiện: Sử dụng các hệ thống IDPS, Firewall, xây dựng các usecase giám sát các tài khoản đặc quyền, sử dụng thêm các công cụ chuyên dụng cho việc monitor như sysmon, hệ thống SIEM
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, phân tích dựa trên mẫu có sẵn và phân tích tính tương quan
1.4.5 Giám sát giai đoạn Gathering Data
Đây cũng là giai đoạn có nhiều dấu hiệu hỗ trợ cho việc phát hiện tấn công, mục đích cuối cùng của kẻ tấn công thường là phá hoại hệ thống hoặc
Trang 22đánh cắp thông tin quan trọng, nhạy cảm, tiền Vì vậy sau khi đã chiếm đoạt được các hệ thống quan trọng, tài khoản đặc quyền, kẻ tấn công sẽ cố gắng rà tìm các dữ liệu quan trọng, hoặc các hệ thống liên quan đến tài chính Chính ở điểm này có thể thiết lập các giám sát đặc biệt cho các dữ liệu quan trọng, các
hệ thống liên quan đến tài chính, sẽ hỗ trợ phát hiện kịp thời các dấu hiệu bất thường, để từ đấy có thể là đầu mối cho việc điều tra về cuộc tấn công
- Khu vực cần thiết lập giám sát: Các vùng mạng và máy chủ, thư mục, file chứa dữ liệu quan trọng, nhạy cảm, hoặc các hệ thống liên quan đến tài chính Các máy trạm có đặc quyền can thiệp sâu vào hệ thống
- Các phương pháp giám sát/phát hiện: Sử dụng các hệ thống IDPS, Firewall, xây dựng các usecase giám sát các tài khoản đặc quyền, các thư mục, file chứa dữ liệu quan trọng, nhạy cảm, sử dụng thêm các công cụ chuyên dụng cho việc monitor như sysmon, hệ thống SIEM
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, phân tích dựa trên mẫu có sẵn và phân tích tính tương quan
1.4.6 Gıám sát giai đoạn Data Exflitration
Giai đoạn này nếu là một cuộc tấn công đánh cắp dữ liệu thông thường thì dễ phát hiện, tuy nhiên với một cuộc tấn công APT thì tương đối khó phát hiện Để đưa được dữ liệu ra ngoài có nhiều cách nhưng thông thường kẻ tấn công hay sử dụng các phương pháp sau: Gửi qua email ra ngoài, qua đường vật
lý (nếu có thể), qua các giao thức truyền file thông thường như FTP, chiếm đoạt các website trong mạng và public tài liệu để từ ngoài có thể tải về, chia nhỏ dữ liệu và gửi qua các giao thức mạng thông thường như DNS, ICMP, HTTP,
Với tấn công APT đặc thù là sự dai dẵng và âm thầm kéo dài, vì vậy kẻ tấn công thường sử dụng phương pháp chia nhỏ và gửi dữ liệu ra ngoài trong nhiều khoảng thời gian khác nhau, sử dụng các giao thức mạng phổ biến Vì vậy để phát hiện ra tấn công thất thoát dữ liệu ở giai đoạn này đối với APT là
Trang 23tương đối khó Để có thể tăng hiệu quả giám sát trong giai đoạn này không có cách nào khác ngoài việc tăng cường giám sát lưu lượng mạng, thiết lập các hệ thống theo dõi và phân tích gói tin đi ra ngoài, đặc biệt là các giao thức mạng phổ biến để từ đó xâu chuỗi sự kiện mới có thể thấy được sự bất thường trong luồng dữ liệu gửi ra ngoài
- Khu vực thiết lập giám sát: Tất cả các vùng mạng trong hệ thống, các máy chủ và máy trạm quan trọng, đặc biệt là các phân vùng có kết nối trực tiếp
ra ngoài
- Các phương pháp giám sát/phát hiện: Sử dụng các hệ thống DLP, IDS/IPS, Firewall, xây dựng các usecase giám sát lưu lượng mạng, sử dụng hệ thống SIEM, hệ thống chặn bắt và phân tích gói tin, các hệ thống network gateway, các hệ thống Proxy, đặc biệt giám sát chặt chẽ các luồng dữ liệu kết nối ra ngoài
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, phân tích dựa trên mẫu có sẵn và phân tích tính tương quan
1.4.7 Giám sát giai đoạn Command & Control
Ở giai đoạn này cũng là một trong những giai đoạn có thể phát hiện ra tấn công tốt nhất Thông thường với các hệ thống an ninh thông tin chưa được quan tâm và thiết lập tốt, rất khó có thể phát hiện ra tấn công ở các giai đoạn sớm, và thường chỉ có thể phát hiện ở giai đoạn này Đây là giai đoạn kẻ tấn công đã đạt được mục đích ban đầu là chiếm quyền hệ thống và đánh cắp dữ liệu ra ngoài, tiếp theo kẻ tấn công sẽ cài đặt mã độc (backdoor) vào hệ thống
và duy trì một kết nối ra ngoài tới máy chủ điều khiển từ xa (Command & Control), kết nối này thường được duy trì lâu dài, nó là kênh điều khiển mã độc
từ xa của kẻ tấn công, và cũng là con đường để chúng vào ra hệ thống một cách
dễ dàng và lâu dài Hiện tại có rất nhiều các sản phẩm bảo mật, các kênh thông tin cho phép thu thập các địa chỉ C&C này và cho vào blacklist để theo dõi
Trang 24Nếu phát hiện có bất cứ một kết nối nào trong hệ thống tới các địa chỉ IP nằm trong Blacklist này thì đấy rất có thể là dấu hiệu của kênh điều khiển của mã độc APT đã được cài cắm trong mạng nội bộ
- Khu vực thiết lập giám sát: Tất cả các phân vùng mạng, vì kẻ tấn công
có thể kết nối ra ngoài từ bất kỳ khu vực, máy chủ, hoặc máy trạm nào có thể
đi ra ngoài
- Các phương pháp giám sát/phát hiện: Sử dụng các hệ thống IDPS, Firewall, xây dựng các usecase giám sát lưu lượng mạng, sử dụng hệ thống SIEM, hệ thống chặn bắt và phân tích gói tin, các hệ thống network gateway, các hệ thống Proxy, đặc biệt thiết lập các usecase giám sát các kết nối ra ngoài các địa chỉ nằm trong danh sách Blacklist (có thể thu thập trên mạng hoặc/và mất phí mua từ các hãng bảo mật)
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, phân tích dựa trên mẫu có sẵn và phân tích tính tương quan
1.4.8 Giám sát giai đoạn Erasing Tracks
Đây là giai đoạn cuối trong một cuộc tấn công APT, giai đoạn này kẻ tấn công gần như đã hoàn thành và chỉ cần xóa các dấu vết để lại trên hệ thống hoặc làm nhiễu thông tin gây khó khăn cho việc phát hiện Vì vậy nếu không phát hiện ra tấn công ở các bước trước thì gần như không có khả năng phát hiện được ở bước này Có một điểm cần lưu ý để có thể giám sát phát hiện được ở bước này đó là để thực hiện các thao tác làm sạch dấu vết, kẻ tấn công lại cần dùng tới các tài khoản đặc quyền cũng như là xóa event log liên quan Vì vậy nếu giám sát tốt tài khoản đặc quyền cũng như hệ thống Event log thì vẫn có khả năng phát hiện ra sự bất thường
- Khu vực thiết lập giám sát: Các khu vực chứa máy chủ, máy trạm quan trọng mà có khả năng cao bị tấn công chiếm quyền điều khiển
Trang 25- Các phương pháp giám sát/phát hiện: Sử dụng các hệ thống IDPS,
Firewall, xây dựng các usecase giám sát tài khoản đặc quyền, giám sát các hoạt
động chỉnh sửa, xóa event log, sử dụng hệ thống SIEM, hệ thống
Antivirus/malware
- Các phương pháp phân tích: Phân tích phát hiện sự bất thường, phân
tích dựa trên mẫu có sẵn và phân tích tính tương quan Như vậy thấy rằng,
không có một giải pháp hay kỹ thuật toàn diện nào cho việc phát hiện và phòng
chống tấn công APT, để phát hiện sớm và hạn chế tối đa rủi ro xảy ra cần thực
hiện các kỹ thuật, biện pháp giám sát theo từng giai đoạn tấn công APT
1.5 Kết luận chương 1
Trong chương 1, luận văn đã trình bày các vấn đề sau:
- Trình bày tổng quan về tấn công APT cũng như sự nguy hiểm của
tấn công này đối với các tổ chức và chính phủ
- Trình bày một số giải pháp và kỹ thuật nhằm phát hiện và cảnh
báo tấn công APT trong hệ thống Các giải pháp nhằm phát hiện và cảnh báo
tấn công APT thường dựa vào quy trình tấn công và các giai đoạn cụ thể của
cuộc tấn công này
- Liệt kê một số chiến dịch tấn công APT đã diễn ra trong thực tế
Trang 26CHƯƠNG 2 CÁC PHƯƠNG PHÁP PHÂN TÍCH MÃ ĐỘC
TẤN CÔNG APT
Trong Chương 1 đã giới thiệu các biện pháp kỹ thuật tổng quát trong việc phát hiện các cuộc tấn công APT dựa trên việc giám sát theo từng giai đoạn tấn công Ở Chương 2 này tập chung vào chi tiết kỹ thuật một số phương pháp phổ biến hay dùng và có hiệu quả cao trong quá trình phân tích mã độc tấn công APT đó là phân tích tĩnh mẫu mã độc, phân tích hành vi Việc phát hiện ra mã độc trong hệ thống đã rất khó, tuy nhiên việc phân tích mẫu mã độc tìm thấy để hiểu rõ cơ chế hoạt động của nó có phải là một mẫu mã độc nguy hiểm, có liên quan đến tấn công APT hay không càng khó hơn Bởi các mã độc chuyên dụng cho tấn công APT thường rất tinh vi rất khó để phân tích tĩnh các chi tiết về cơ chế hoạt động của chúng Tuy nhiên tất cả các cuộc tấn công APT ở từng giai đoạn đều phải thực hiện rất nhiều các kết nối trao đổi dữ liệu bên trong mạng cũng như kết nối ra C&C bên ngoài mạng, vì vậy việc phân tích hành vi của
mã độc thông qua dòng dữ liệu mạng là phương pháp hữu hiệu trong việc phát hiện ra tấn công APT
2.1 Phương pháp phân tích mã độc thủ công
Mục tiêu của việc phân tích mã độc để trả lời ba câu hỏi sau:
- Tại sao máy tính hay hệ thống bị nhiễm mã độc?
- Mã độc hại đã thực thi những hoạt động gì trên hệ thống?
- Phương án xử lý mã độc tối ưu nhất và khắc phục sự cố như thế nào?
- Có các phương pháp phân tích mã độc hại khác nhau, như phân tích động, phân tích tĩnh Trong đó phân tích tĩnh là phương pháp phân tích chi tiết hơn, rõ ràng hơn, kết quả đầy đủ hơn
2.1.1 Giới thiệu về phân tích tĩnh
Phương pháp phân tích tĩnh cho phép thực hiện dịch ngược mã độc về
mã Assembly để phân tích Các công việc cần thực hiện như sau:
Trang 27- Dùng các công cụ phù hợp để dịch ngược lại mã nguồn
- Đọc và phân tích mã Assembly để tìm hoạt động của mã độc
- Sử dụng các công cụ gỡ lỗi (Debug) mã độc khi không thể dịch ngược hoặc việc dịch ngược thiếu hiệu quả Ngoài ra, có thể thực hiện việc này khi cần làm rõ một đoạn mã Chạy từng lệnh nhỏ của mã độc để xem hoạt động cụ thể
- Mã độc hại thường có các kỹ thuật chống dịch ngược, có các kỹ thuật chống debug (anti debug) và cần phải vượt qua việc này để phân tích (anti anti-debug)
2.1.2 Yêu cầu hệ thống phân tích
Sử dụng máy ảo Vmware, Sandbox, Vitural PC, Hyper-V để làm môi trường phân tích Nếu mã độc có cơ chế phát hiện môi trường ảo thì sử dụng môi trường thật đã được cô lập (trong mạng LAN) để thử nghiệm Trên môi trường phân tích này sẽ cài đặt các công cụ hỗ trợ phân tích tĩnh
2.1.3 Xậy dựng môi trường
Các bước xây dựng môi trường phân tích tĩnh dựa trên phương pháp xây dựng môi trường phân tích hành động Tuy nhiên về công cụ phân tích thì sẽ
sử dụng như sau:
- Công cụ Peid xác định tệp tin phân tích có bị nén hay không
- Công cụ Dependency Walker xác định các tệp tin dll
- Công cụ PEView, xem thông tin các trường trong định dạng PeFile
- Công cụ HexEditor xem thông tin tệp tin dưới dạng hex
Trang 28- Công cụ IDA pro phần mềm xem mã Assembly của tệp tin
- Công cụ OllyDebug phần mềm hỗ trợ debug cho tệp tin
dụng OllyDebug, hoặc công cụ tự động UPX Unpacker
Trang 29Hình 2-2: Công cụ OllyDbg Bước 3: Sử dụng các công cụ dịch ngược mã nguồn để đọc mã nguồn như IDA pro, VB decompiler
Hình 2-3: Công cụ IDA Bước 4: Ghi lại báo cáo kết quả kết hợp với báo cáo kết quả từ Phương pháp phân tích hành động
2.2 Sử dụng các hệ thống tự động phân tích hành vi của mã độc APT
Ngoài các biện pháp phân tích thủ công như phân tích động, phân tích tĩnh, hiện nay các công cụ, phương pháp phân tích tự động được áp dụng nhiều
để đáp ứng về mặt thời gian khi mà số lượng mã độc xuất hiện ngày càng nhiều
Trang 30Tự động hóa ở đây có nghĩa là hệ thống tự động thực thi mã độc và đưa
ra bản báo cáo chi tiết về hành vi mã độc mà không cần con người tác động vào Các hành vi bao gồm: các tập tin đã được tạo ra hoặc sửa đổi, các dịch vụ mới nào đã được cài đặt, tiến trình mới đang chạy, các thay đổi trong registry như thêm hay thay đổi các khóa, các hoạt động mạng khác Hiệu quả của phương pháp phân tích tự động này nằm ở chỗ tất cả các hành vi liên quan đến
mã độc đều được ghi lại và hầu hết các tính năng của mã độc trong quá trình phân tích sẽ không bị hệ thống giám sát bỏ qua
Quá trình phân tích tự động sẽ thực hiện cả hai bước trong phân tích thủ công đó là phân tích sơ lược cùng phân tích hoạt động và một phần của phân tích bằng cách đọc mã thực thi khi hệ thống cũng có thể liệt kê ra các hàm API windows mà mã độc gọi khi thực thi Phân tích thủ công có thể giúp thấy được các hành vi của mã độc để tạo ra các dấu hiệu nhận dạng mã độc đó nhằm sử dụng cho các hệ thống bảo vệ mạng
Tuy nhiên phân tích tự động cũng không thể thay thế hoàn toàn cho phân tích tĩnh ở bước phân tích bằng cách đọc mã thực thi, vì phân tích tự động cũng
có thể bỏ sót một số tính năng quan trọng của mã độc Để hoàn toàn hiểu biết
về mã độc, cần thực hiện phân tích bằng cách đọc mã thực thi, sẽ tốn thời gian
và đòi hỏi nhiều kiến thức nâng cao nhưng sẽ cho kết quả rõ ràng về toàn bộ các tính năng của mã độc
2.2.1 Công nghệ Sandbox
Sandbox là một môi trường ảo và có cơ chế hoạt động an toàn để phân tách các Chương trình đang chạy, đồng thời được kiểm soát một cách chặt chẽ, tránh ảnh hưởng tới môi trường hệ thống thật Sandbox được áp dụng trong việc tự động phân tích hành vi của mã độc và có thể gọi là một hệ thống phân tích mã độc tự động
Trang 31Hệ thống sẽ thực thi các mã độc và theo dõi ghi nhận lại các hành vi của Chương trình, ưu điểm của phương pháp này là có thể phát hiện ra các mã độc dạng Zero-day (các loại mã độc chưa từng được phân tích và có mẫu nhận dạng)
Một số hệ thống phân tích tự động phổ biến hiện nay: CuckooSanbox, CWSandbox, ThreatExpert và Joebox
2.2.2 Các mục tiêu của một hệ thống phân tích tự động (Sandbox)
Một Sandbox phân tích mã độc hại tốt phải đạt được ba mục tiêu: Khả năng quan sát, khả năng chống lại sự phát hiện và khả năng mở rộng
Thứ nhất, một Sandbox phải quan sát được càng nhiều các hoạt động của một Chương trình càng tốt, nếu không có thể bỏ lỡ các hoạt động có liên quan
và không thể đảm bảo về việc có hành vi nguy hiểm hay không
Thứ hai, một Sandbox phải thực hiện theo dõi theo cách thức khiến nó khó bị phát hiện, nếu không các phần mềm độc hại sẽ dễ dàng nhận ra môi trường sandbox, và chúng sẽ thay đổi hành vi của mình để tránh sự phát hiện
Mục tiêu thứ ba, có khả năng chạy nhiều mẫu thực thi mà không ảnh hưởng tới nhau, và phải có khả năng phân tích tự động nhiều mẫu khác nhau
2.2.3 Những thông tin Sandbox thu thập
Sandbox có thể giám sát việc thực thi của mã độc chạy ở chế độ người dùng (là một người dùng thông thường hoặc là một Administrator) Phần lớn các mã độc hại chạy như là các tiến trình của người dùng thông thường và thậm chí các Rootkits thường sử dụng các thành phần chế độ người dùng (user mode)
để cài đặt các trình điều khiển nhân hệ điều hành (kernel driver) hoặc sửa đổi
mã hệ điều hành
Khi thực hiện giám sát các hành vi của một tiến trình ở chế độ user mode, hầu hết các sandbox đều nhìn vào giao diện gọi đến hệ thống (System call) hoặc các Windows API Các system calls là các chức năng mà hệ điều hành sẽ hiển
Trang 32thị cho các tiến trình user mode để họ có thể tương tác với môi trường của họ
và thực hiện công việc như đọc từ các files, gửi các gói tin qua mạng và đọc một Registry trên Windows
Theo dõi các system calls (và các chức năng gọi Windows API) có ý nghĩa, nhưng nó chỉ là một phần của vấn đề Vấn đề là một Sandbox chỉ giám sát các lệnh gọi này bên ngoài mà không biết chuyện gì xảy ra bên trong Tức
là, một Sandbox có thể thấy một Chương trình độc hại đọc từ một file, nhưng không thể xác định được phần mềm độc hại xử lý dữ liệu mà nó đã đọc như thế nào Có nhiều thông tin có ích hơn có thể thu thập từ việc quan sát sâu hơn tới việc thực thi của một Chương trình
Do đó, một vài Sandbox thực hiện thêm các bước xâu hơn không chỉ dừng lại ở bắt các cuộc gọi chức năng (system calls, hay Windows AIP), và cũng theo dõi các chỉ dẫn mà một Chương trình thực hiện giữa các cuộc gọi đó
Như vậy với kỹ thuật Sandbox có thể cung cấp khả năng tự động phân tích và phát hiện các hành vi của mã độc dựa trên quan sát các cuộc gọi tới hệ thống (system call hoặc Windows API), tuy nhiên hiện tại các mã độc tiên tiến
đã có chức năng phát hiện ra các môi trường ảo, môi trường giả lập và thực hiện việc ẩn mình trong các hệ thống này Như vậy để Sandbox hoạt động hiệu quả cần phải quan sát được tất cả các chỉ dẫn mà Chương trình độc hại thực hiện, và phải có khả năng chống lại sự phát hiện môi trường ảo của mã độc hại
Ví dụ tự động phân tích một mẫu mã độc (order.exe) online với malwr.com sử dụng công nghệ CuckooSandbox
Quick overview: Bao gồm các thông tin cơ bản cũng như chụp ảnh màn hình của máy tính vào thời điểm phân tích mã độc
Trang 33Hình 2-4:Thông tin chi tiết về file mã độc
Hình 2-5: Thông tin về Signature
Trang 34Hình 2-6: Thông tin chụp màn hình chạy mã thực thi
Hình 2-7: Thông tin về files
Trang 35Hình 2-8: Thông tin về Registry
Hình 2-9: Thông tin về Mutexes
- Static Analysis: Thông tin phân tích tĩnh
Hình 2-10: Các thông tin về Static Analysis
Trang 36Hình 2-11: Thông tin về String
Hình 2-13; Các thông tin về phân tích hành vi
- Network Analysis: Phân tích hành vi kết nối mạng