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

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”

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)

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 trang 1

Trang 1

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 trang 2

Trang 2

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 trang 3

Trang 3

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 trang 4

Trang 4

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 trang 5

Trang 5

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 trang 6

Trang 6

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 trang 7

Trang 7

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 trang 8

Trang 8

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 trang 9

Trang 9

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 trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 17 trang duykhanh 4222
Bạn đang xem 10 trang mẫu của 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

Tóm tắt nội dung 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

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 2. Gửi email 
 click vào cho nạn nhân
 đường dẫn
 1. Upoad 
 malware 
 lên Server
 4. Kết nối tới 
 Malware Server
6. Nạn nhân Malware
 kích hoạt Server
 5. Download
 7
7
 Kịch bản khác
 • Sử dụng các công cụ khai thác lỗ hổng
 1. Truy cập Web
 website vô hại Server
 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à 
 4. Phát hiện lỗ thu thập thông 
 hổng ATBM tin máy trạm 
 nạn nhân
 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
 Virus Original program Nối thêm
 jmp
 Original program Bao quanh
 jmp
 Original program Chèn giữa
 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
 Key
 Decrypter
 jmp
 Virus code
 Key
 Decrypter
 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
 Key
 Decrypter
 jmp
 Virus code
 Key
 Encrypter
 Decrypter
 Change key and encrypt
 Encrypted virus code
 Key2
 Decrypter 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 • Sử dụng kỹ thuật dịch 
 trường Sandbox và quan ngược để phân tích mã 
 sát hoạt động của mã độc thực thi
 • Ưu điểm: thời gian phân • Ưu điểm: không cần kích 
 tích nhanh, có thể xác hoạt mã độc, xác định 
 định ngay cách thức hoạt được tất cả các cơ chế 
 động của virus hoạt động, hành vi của 
 • Nhược điểm: yêu cầu môi mã độc
 trường an toàn để phân • Hạn chế: phức tạp, đòi 
 tích, không xác định được hỏi trình độ nhân lực cao 
 hết tất cả các hành vi 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 
 Toolkit.exe 31
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

File đính kèm:

  • pdfbai_giang_an_toan_an_ninh_thong_tin_chuong_11_phan_mem_ma_do.pdf