Bài giảng An toàn an ninh thông tin - Chương 11: Phần mềm mã độc - Bùi Trọng Tùng

BÀI 11. PHẦN MỀM MÃ ĐỘC  
Bùi Trọng Tùng,  
Viện Công nghệ thông tin và Truyền thông,  
Đại học Bách khoa Hà Nội  
1
1
Nội dung  
• Giới thiệu về phần mềm mã độc  
• Virus  
• Trojan  
• Worm  
• Phát hiện và giảm thiểu nguy cơ tấn công bằng phần  
mềm độc hại  
2
2
1
1. GIỚI THIỆU CHUNG  
3
3
Khái niệm  
• Phần mềm độc hại(malicious software hoặc malware) là  
những chương trình máy tính mà khi thực thi sẽ gây tổn  
hại tới tài nguyên của hệ thống hoặc chiếm đoạt một  
phần/toàn bộ quyền điều khiển hệ thống  
• Phân loại:  
Virus: tự lây nhiễm vào các file  
Worm: tự lây nhiễm vào các chương trình thực thi  
Trojan: chương trình ẩn giấu trong các tệp tin có vẻ vô  
hại, không có khả năng tự lây nhiễm  
Sự phân biệt các loại này là không rõ ràng. Trong bài  
giảng sử dụng thuật ngữ quen thuộc là “virus”  
4
4
2
Các hành vi gây hại  
• Phá hủy dữ liệu, phần cứng  
• Nghe trộm hoạt động của người dùng trên các thiết bị vào  
ra(Keylogging)  
• Đánh cắp thông tin (spyware)  
• Mã hóa dữ liệu (ransomware)  
• Đánh cắp tài nguyên tính toán (coinminer)  
• Tạo cửa hậu (backdoor) để kẻ tấn công xâm nhập và điều  
khiển  
• Che giấu hoạt động(rootkit)  
• Thực hiện các hành vi tấn công  
Các hành vi này có thể được thực hiện ngay hoặc đợi điều  
kiện nào đó (time bomb, logic bomb)  
5
5
Các con đường lây nhiễm  
• Email  
• Ứng dụng truyền thông điệp (Instant messaging)  
• Các thiết bị lưu trữ di động  
• Chương trình giả mạo  
• Tiện ích chia sẻ file trong mạng LAN  
• Phần mềm bẻ khóa bản quyền  
• Chương trình chia sẻ file  
• Lỗ hổng phần mềm  
• …  
6
6
3
Một kịch bản phát tán và lây nhiễm  
3. Nạn nhân  
click vào  
đường dẫn  
2. Gửi email  
cho nạn nhân  
1. Upoad  
malware  
lên Server  
4. Kết nối tới  
Malware Server  
6. Nạn nhân  
Malware  
Server  
kích hoạt  
5. Download  
7
7
Kịch bản khác  
• Sử dụng các công cụ khai thác lỗ hổng  
Web  
1. Truy cập  
Server  
website vô hại  
Website  
vô hại  
2. Chuyển  
hướng kết nối  
5. Khai thác lỗ  
hổng  
3. Do thám và  
thu thập thông  
tin máy trạm  
nạn nhân  
4. Phát hiện lỗ  
hổng ATBM  
8
8
4
Cách thức hoạt động của virus  
• Virus thông thường có 3 đoạn mã:  
Đoạn mã lây nhiễm: cho phép virus tự sao chép bản thân nó và lây  
nhiễm từ chương trình này sang chương trình khác  
Đoạn mã kích hoạt: Là các sự kiện hoặc điều kiện xác định khi nào  
hoạt động chính sẽ được kích hoạt  
Đoạn mã hoạt động: phần thực hiện các hành động phá hoại của  
virus  
• Virus được mô tả với 2 đặc trưng:  
Cách thức lây nhiễm  
Các hành vi phá hoại  
9
9
Cơ chế tiêm nhiễm  
Trước khi nhiễm  
Sau khi nhiễm  
• Nguyên tắc cơ bản: Virus thay thế lệnh đầu tiên của file bị nhiễm  
(.exe) bằng một lệnh JUMP tới đoạn mã thực thi của virus. Kết thúc  
đoạn mã thực thi của virus là lệnh JUMP khác để nhảy tới lệnh đầu  
tiên của chương trình ban đầu  
10  
10  
5
2. CÁC PHƯƠNG PHÁP PHÁT HIỆN  
Cuộc đua giữa phát hiện và lẩn tránh  
11  
11  
Phát hiện virus  
• Phương pháp phổ biến: Phát hiện dựa trên đặc trưng  
Thu thập các mẫu virus và xây dựng CSDL đặc trưng về các virus.  
Thông thường là các đoạn mã lây nhiễm ở đầu file  
Phát hiện: So sánh các byte trên file với những mẫu virus đã có  
• Nếu là tin tặc, bạn sẽ làm gì?  
12  
12  
6
Cách thức lẩn tránh  
• Làm cho đặc trưng trở nên khó tìm kiếm hơn  
Original program  
Nối thêm  
Virus  
Original program  
jmp  
Original program  
Bao quanh  
Chèn giữa  
jmp  
Orignal progra
13  
13  
Polymorphic virus – Virus đa hình  
• Thay đổi mã nguồn một cách ngẫu nhiên  
Virus  
Original program  
decrypt  
Encrypted virus code  
jmp  
Virus code  
14  
14  
7
Polymorphic virus – Lây nhiễm  
• Thay đổi khóa và mã hóa lại mã nguồn  
decrypt  
Encrypted virus code  
jmp  
Virus code  
Change key and encrypt  
Encrypted virus code  
15  
15  
Polymophic virus – Phát hiện  
• Ý tưởng 1: Sử dụng đặc trưng “hẹp” để phát hiện trình  
giải mã decrypter  
Số byte mã nguồn cần so sánh ít hơn dễ phát hiện nhầm  
Tin tặc có thể nhanh chóng thay đổi trình giải mã  
• Ý tưởng 2: Thực thi để phát hiện sự có mặt của đặc trưng  
trên mã nguồn đã giải mã  
Vấn đề: Thực thi đến thời điểm nào thì so sánh đặc trưng?  
• Làm thế nào để lẩn tránh chương trình phát hiện virus?  
16  
16  
8
Metamorphic Virus  
T-1000 in Terminator 2  
17  
17  
Metamorphic Virus  
• Virus siêu đa hình: sử dụng đoạn mã đặc biệt  
(metamorphic code) để tự thay đổi mã nguồn về mặt ngữ  
nghĩa khi thực thi  
Không thay đổi ngữ nghĩa ở mức cao hơn (vẫn giữ nguyên các  
chức năng, tính năng)  
• Một số kỹ thuật thực hiện:  
Tạo ra các đoạn mã dư thừa ngẫu nhiên  
Thay đổi các thanh ghi  
Thay đổi trình tự trong biểu thức điều kiện  
Thay đổi trình tự các câu lệnh xử lý không có ràng buộc với nhau  
Thay thế các thuật toán  
18  
18  
9
Win95/Regswap(1998)  
19  
19  
Win32/Evol(2000)  
20  
20  
10  
Zperm.A(2000)  
21  
21  
Phát hiện virus siêu đa hình  
• Phát hiện dựa trên hành vi (Behavior-based detection)  
Phân tích động  
Phân tích tĩnh  
• Thực thi mã độc trên môi  
trường Sandbox và quan  
sát hoạt động của mã độc  
• Sử dụng kỹ thuật dịch  
ngược để phân tích mã  
thực thi  
• Ưu điểm: thời gian phân  
tích nhanh, có thể xác  
định ngay cách thức hoạt  
động của virus  
• Ưu điểm: không cần kích  
hoạt mã độc, xác định  
được tất cả các cơ chế  
hoạt động, hành vi của  
mã độc  
• Nhược điểm: yêu cầu môi  
trường an toàn để phân  
tích, không xác định được  
hết tất cả các hành vi  
• Hạn chế: phức tạp, đòi  
hỏi trình độ nhân lực cao  
hơn, mất nhiều thời gian  
22  
22  
11  
Quy trình phân tích  
Tạo môi trường Sandbox để phân tích  
• Bước 1: Tạo các máy ảo(Virtualbox, Hyper-V, …) và các  
môi trường ảo hóa khác nếu cần(mạng, CSDL…)  
• Bước 2: Cài đặt hệ điều hành trên máy ảo  
• Bước 3: Tắt hoặc hạn chế hoạt động của cạc mạng trên  
máy ảo để cách ly với môi trường thực  
• Bước 4: Tắt các chức năng chia sẻ file, thư mục  
• Bước 5: Chuyển mã độc vào môi trường phân tích  
Môi trường phân tích phải cách ly hoàn toàn với môi  
trường làm việc và được giám sát đầy đủ  
23  
23  
Quy trình phân tích  
Phân tích tĩnh  
• Bước 1: Dịch ngược mã nguồn  
• Bước 2: Thu thập thông tin:  
Giá trị các xâu ký tự: sử dụng công cụ BinText  
Các kỹ thuật đóng gói, nén, mã hóa của virus và thực hiện các thao  
tác giải nén, giải mã cần thiết: sử dụng công cụ UPX  
Phân tích động  
• Bước 3: Thiết lập kết nối mạng(vật lý) cho môi trường phân  
tích. Lưu ý, giám sát chặt chẽ và không kết nối với mạng tác  
nghiệp của tổ chức  
• Bước 4: Kích hoạt virus và thu thập thông tin tiến trình thực thi  
của virus, thông tin hệ thống khi virus hoạt động. Sử dụng các  
công cụ Process Monitor và Process Explorer  
24  
24  
12  
Quy trình phân tích  
• Bước 5: Ghi nhận các kết nối mạng(logic) mà virus tạo ra.  
Bắt và phân tích lưu lượng phát sinh trên các kết nối này.  
Các công cụ có thể sử dụng: Wireshark, tcpdump,  
NetResistent, TCPView  
• Bước 6: Xác định các tệp tin mới, tiến trình mới được tạo  
ra, sự thay đổi các giá trị registry trên hệ thống (sử dụng  
RegShot)  
• Bước 7: Phân tích mã thực thi trên RAM, sử dụng công  
cụ OllyDbg, ProcDump  
25  
25  
Lẩn tránh  
• Chống phân tích tĩnh: Tạo ra các đoạn mã phức tạp để  
che giấu hoạt động thực sự  
• Chống phân tích động:  
Phát hiện môi trường thực thi để thay đổi hành vi  
Tạo ra các hành động khiến quá trình thực thi kéo dài  
• Ứng phó của phần mềm anti-virus:  
Tìm kiếm và bỏ qua các đoạn mã/hành vi vô nghĩa  
Mô hình hóa các hành vi chung  
• Tiếp tục…  
Cuộc đua giữa tin tặc và phần mềm AV mà tin tặc  
thường bước đi trước(Tại sao?)  
26  
26  
13  
Rootkit/Stealth Virus  
• Có khả năng ẩn mình trước các phần mềm phát hiện  
virus.  
• Cơ chế chung: sử dụng kỹ thuật hook để chặn các sự  
kiện và can thiệp vào quá trình xử lý sự kiện  
• User-level rootkit: hook vào hàm thư viện  
Dễ bị phát hiện  
• Kernel-level rootkit: hook vào các hàm thực thi lời gọi hệ  
thống, hàm xử lý ngắt, driver điều khiển thiết bị, firmware  
của thiết bị  
Khó bị phát hiện  
• Virtualization-based rootkit: ẩn mình trong môi trường ảo  
hóa gần như không thể bị phát hiện  
27  
27  
Phát hiện và phòng chống rootkit  
• Phát hiện dựa trên hành vi  
Phát hiện các hành vi hook  
Sự biến đổi của số lượng, tần suất và thứ tự thực hiện các lời gọi  
hệ thống  
• Kiểm tra toàn vẹn tập tin hệ thống  
• Phát hiện dựa trên sự sai khác với hệ thống tham chiếu  
28  
28  
14  
3. TROJAN  
29  
29  
Thiệt hại tài chính do Trojan  
The state of financial Trojans 2014, Symantec  
30  
30  
15  
Cách thức tạo và phát tán  
• Bước 1: Viết mã nguồn của Trojan  
• Bước 2: Tạo gói cài đặt chưa Trojan  
• Bước 3: Mã hóa che giấu để ẩn tránh chương trình AV  
• Bước 4: Bao gói Trojan trong một phần mềm tiện ích  
Tất cả các bước trên có thể thực hiện bằng công cụ  
• Bước 5: Phát tán trên mạng  
• Bước 6: Nhiễm và kích hoạt trên máy nạn nhân  
Office 2010  
Toolkit  
Bao gói  
TrojanDownloader  
:Win32/Agent  
Office 2010  
31  
Toolkit.exe  
31  
Một số loại Trojan  
• Defacement Trojan: giao diện chương trình bao gói giống  
với các phần mềm quen thuộc  
• Bonet Trojan: biến máy tính nạn nhân thành phần tử trong  
mạng lưới bị điều khiển bởi tin tặc để tấn công mạng  
• Proxy Server Trojan: cho phép tin tặc sử dụng máy tính  
nạn nhân như một proxy để kết nối Internet  
• FTP Trojan: lén lút cài đặt dịch vụ FTP trên máy nạn  
nhân, cho phép tin tặc đánh cắp file, thư mục bất kỳ  
• Remote Access Trojan: cho phép tin tặc điều khiển máy  
tính nạn nhân từ xa  
• ICMP Trojan: cho phép tin tặc đánh cắp dữ liệu và ngụy  
trang dưới dạng các thông điệp ICMP  
32  
32  
16  
Phòng chống và giảm thiểu  
• Tránh mở các file đính kèm từ các email không rõ nguồn  
gốc  
• Sử dụng firewall chặn tất cả các cổng dịch vụ không cần  
thiết  
• Tránh nhận các file từ ứng dụng tin nhắn  
• Gia cố hệ thống, tắt các chức năng không cần thiết trên  
máy tính  
• Kiểm soát lưu lượng nội bộ  
• Không tải và thực thi các file ứng dụng từ nguồn lạ  
• Cập nhật các bản vá bảo mật  
33  
33  
Phòng chống và giảm thiểu  
• Quét, rà soát virus trên các thiết bị nhớ lưu động(USB  
drive, CD/DVD, thẻ nhớ, thiết bị di động,…) khi kết nối với  
máy tính  
• Phân quyền người dùng  
• Sử dụng phần mềm bản quyền. Không dùng các công cụ  
bẻ khóa, cung cấp mã bản quyền  
• Cài đặt phần mềm diệt virus  
• Xây dựng chính sách và đào tạo người dùng  
34  
34  
17  
pdf 17 trang baolam 13860 Free
Bạn đang xem tài liệu "Bài giảng An toàn an ninh thông tin - Chương 11: Phần mềm mã độc - Bùi Trọng Tùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_an_toan_an_ninh_thong_tin_chuong_11_phan_mem_ma_do.pdf