SlideShare a Scribd company logo
1 of 36
Download to read offline
1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGÔ QUANG HƯNG
NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH
PHẦN MỀM MÃ ĐỘC
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2014
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
---o0o---
NGÔ QUANG HƯNG
NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH
PHẦN MỀM MÃ ĐỘC
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. PHÙNG VĂN ỔN
Hà Nội – 2014
1
LỜI CAM ĐOAN
Tôi xin cam đoan những kết quả đạt được trong luận văn này là do bản thân
nghiên cứu, tổng hợp và thực hiện. Toàn bộ những điều được trình bày trong luận văn
là của cá nhân hoặc được tham khảo và tổng hợp từ các nguồn tài liệu khác nhau. Tất
cả các tài liệu tham khảo, tổng hợp đều được trích dẫn với nguồn gốc rõ ràng.
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình. Nếu có gì sai
trái, tôi xin chịu mọi hình thức kỷ luật theo qui đinh.
Hà Nội, tháng 10 năm 2014
Học viên
Ngô Quang Hưng
2
LỜI CẢM ƠN
Tôi muốn bày tỏ lòng biết ơn sâu sắc tới những người đã giúp đỡ tôi trong quá
trình làm luận văn. Đặc biệt tôi xin cám ơn TS. Phùng Văn Ổn, với lòng kiên trì, thầy
đã chỉ bảo tôi chi tiết, cho tôi những lời nhận xét quí báu và theo sát tôi trong từng
bước làm luận văn. Đồng thời tôi cũng xin gửi lời cảm ơn tới các thầy cô giáo giảng
dạy tại khoa Công nghệ thông tin – Trường Đại học Công nghệ - Đại học Quốc gia Hà
Nội đã truyền đạt các kiến thức cho tôi trong suốt thời gian học tập và nghiên cứu vừa
qua.
Tôi cũng xin chân thành cảm ơn cơ quan, bạn bè, đồng nghiệp, gia đình và
những người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để
tôi hoàn thành nhiệm vụ học tập cũng như hoàn thành luận văn này.
Hà nội, tháng 10 năm 2014
Học viên
Ngô Quang Hưng
3
MỤC LỤC
LỜI CẢM ƠN.................................................................................................... 2
MỤC LỤC ......................................................................................................... 3
DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT ..................................................5
DANH MỤC HÌNH VẼ, SƠ ĐỒ, BẢNG ..........................................................6
MỞ ĐẦU ...........................................................................................................7
CHƯƠNG 1-TỔNG QUAN VỀ MALWARE....................................................9
1.1 Khái niệm về Malware.............................................................................. 9
1.2 Phân loại Malware....................................................................................9
1.3 Lược sử về Malware ............................................................................... 13
1.4 Vai trò của việc phân tích Malware......................................................... 17
CHƯƠNG 2– CƠ CHẾ HOẠT ĐỘNG CỦA MALWARE.............................. 18
2.1 Tìm hiểu về cấu trúc PE file .................................................................. 18
2.2 Hình thức lây nhiễm.............................................................................. 19
2.2.1 Qua thiết bị lưu trữ......................................................................... 19
2.2.2 Qua mạng Internet.......................................................................... 20
2.3 Đối tượng lây nhiễm.............................................................................. 22
2.3.1 Các phần mềm: ................................................................................ 22
2.3.2 Đoạn mã (Script):............................................................................. 23
2.3.3 Shortcuts: ......................................................................................... 24
2.3.4 Một số loại tập tin khác:................................................................... 24
2.4 Khởi động cùng hệ thống ...................................................................... 25
2.5 Phá hoại và các hoạt động khác............................................................. 28
2.6 Cơ chế tự bảo vệ của mã độc................................................................. 29
2.6.1 Cơ chế tạo áo giáp (Armouring):.................................................... 29
2.6.2 Cơ chế chống theo dõi (Anti Heuristic):......................................... 29
2.6.3 Cơ chế chống phần mềm phân tích (Anti-Analysis software)......... 30
2.6.4 Chống gỡ rối và ảo hóa (Anti debugger & Virtual Machine).......... 30
2.7 Kỹ thuật đóng gói để che giấu mã độc................................................... 31
2.8 Xu hướng phát triển của Malware ......................................................... 33
CHƯƠNG 3- PHƯƠNG PHÁP PHÂN TÍCH MALWARE............................. 35
3.1 Qui trình phân tích Malware.................................................................. 35
3.2 Kiểm tra, phát hiện và lấy mẫu Malware ............................................... 35
3.2.1 Kiểm tra các phần mềm khởi động cùng hệ thống.......................... 35
3.2.2 Tiến trình trong Windows .............................................................. 36
3.2.3 Kiểm tra chuỗi (string) của các tiến trình ....................................... 37
3.2.4 Tiêm mã độc .................................................................................. 39
3.2.5 Phát hiện che giấu mã độc với phương pháp phân tích Entropy...... 39
4
3.2.6 Sử dụng hàm băm (Hash) để xác định phần mềm độc hại. ............. 41
3.2.7 Lấy mẫu Malware .......................................................................... 41
3.3 Thiết lập môi trường phân tích an toàn.................................................. 42
3.4 Phân tích tĩnh ........................................................................................ 44
3.4.1 Phân tích các hàm Windows API để phát hiện phần mềm nghi vấn 44
3.4.1.1API là gì :....................................................................................... 44
3.4.1.2Các thành phần của Windows API................................................. 44
3.4.1.3Tại sao phải tìm hiểu Windows API............................................... 44
3.4.2 Dịch ngược và phân tích mã Assembly .......................................... 45
3.4.3 Unpacking...................................................................................... 45
3.5 Phân tích động....................................................................................... 48
3.5.1 Sử dụng các công cụ Sandbox........................................................ 49
3.5.2 Giám sát hoạt động của tiến trình................................................... 50
3.5.3 Sử dụng các chương trình gỡ rối (Debugger) ................................. 50
3.5.4 Sử dụng Volatility để rà quét, phân tích mã độc trên RAM ............ 52
3.6 Một số tiêu chí đánh giá an ninh tiết trình............................................... 53
CHƯƠNG 4 – HỆ THỐNG HỖ TRỢ PHÂN TÍCH MALWARE................ 54
4.1 Hệ thống phân tích Malware tự động Cuckoo Sandbox .......................... 54
4.1.1 Giới thiệu hệ thống........................................................................... 54
4.1.2 Cài đặt hệ thống ............................................................................... 55
4.1.3 Sử dụng Cuckoo Sandbox để phân tích Malware ............................. 56
4.2 Xây dựng phần mềm đánh giá an ninh tiến trình..................................... 59
4.2.1 Giới thiệu phần mềm ........................................................................... 59
4.2.2 Biểu đồ Use case.................................................................................. 60
4.2.3 Một số kịch bản chính của phần mềm.................................................. 62
4.2.4 Chương trình........................................................................................ 63
KẾT LUẬN.................................................................................................. 66
TÀI LIỆU THAM KHẢO................................................................................ 67
PHỤ LỤC: MỘT SỐ HÀM WINDOWS CẦN CHÚ Ý KHI PHÂN TÍCH
MALWARE.................................................................................................. 68
5
DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT
Từ viết tắt Tiếng Anh Tiếng Việt
AIM AOL Instant Messenger Tin nhắn nhanh của mạng AOL
AOL America Online America Online
CERT Computer emergency response team Đội phản ứng nhanh về máy tính
DDoS Distributed denial-of-service Từ chối dịch vụ phân tán
DUMP Dump Kế xuất
EIP EIP Thanh ghi trỏ lệnh
HTML Virtual Machine Máy ảo
IAT Import Address Table Bảng địa chỉ hàm nhập khẩu
IDE Integrated development environment Môi trường phát triển tích hợp
IM Instant Messaging Tin nhắn nhanh
Malware Malicious software Mã độc
NIST
National Institute of Standards and
Technology
Viện công nghệ và tiêu chuẩn
quốc gia Hoa Kỳ
NSRL National Software Reference Library
Thư viện tham khảo phần mềm
quốc gia Hoa Kỳ
OEP Original Entry Point Điểm vào chương trình gốc
OTP One Time Password Mậ khẩu một lần
PC Personal computer Máy tính cá nhân
PCAP Packet capture Bắt gói tin
PE Portable Executable Thực thi khả chuyển
RAT Remote Administration Tool Công cụ quản trị từ xa
SMS Short Message Service Tin nhắn ngắn
TCP Transmission Control Protocol Giao thức điều khiển truyền vận
VCL Virus Creation Laboratory Phòng thí nghiệm tạo virus
VM Virtual Machine Máy ảo
VX Virus eXchange Trao đổi virus
6
DANH MỤC HÌNH VẼ, SƠ ĐỒ, BẢNG
Hình 2.1: Cấu trúc cơ bản của PE ..............................................................................18
Hình 2.2 Đóng gói để che giấu mã độc ......................................................................32
Hình 3.1 Qui trình phân tích Malware........................................................................35
Hình 3.2 Kiểm tra các phần mềm khởi động cùng hệ thống .......................................36
Hình 3.3 Quản lý tiến trình và kiểm tra chữ ký file thực thi .......................................37
Bảng 3.1: Độ chính xác thống kê dựa trên Entropy....................................................41
Hình 3.4. Mô hình hệ thống ảo hóa............................................................................42
Hình 3.5: Xác định phần mềm đóng gói với PEID .....................................................46
Hình 3.6: Tìm OEP của phần mềm gốc......................................................................46
Hình 3.7: Lưu phần mềm gốc đã được giải đóng gói trên bộ nhớ...............................47
Hình 3.8: Kết xuất file .exe từ bộ nhớ........................................................................47
Hình 3.9: Sửa lại Import Address Table.....................................................................48
Bảng 3.2: Phát hiện tiến trình liệt kê các tập tin .doc bằng phương pháp giám sát......50
Bảng 3.3: Một số tiêu chí đánh giá an ninh tiến trình .................................................53
Hình 4.1 Sơ đồ hệ thống phân tích mã độc Cuckoo Sandbox .....................................55
Hình 4.2 UC01 - Tổng quan.......................................................................................60
Hình 4.3 UC02 – Kiểm tra tiến trình..........................................................................60
Hình 4.4 UC03 – Liệt kê kết nối mạng.......................................................................61
Hình 4.5 UC04 – Kiểm tra Hash................................................................................61
Hình 4.6 UC05 – Kiểm tra các hàm API....................................................................61
Hình 4.7 Chức năng kiểm tra tiến trình......................................................................63
Hình 4.8 Xác định các kết nối mạng ..........................................................................64
Hình 4.9 Kiểm tra mã Hash của tập tin ......................................................................64
Hình 4.10 Phân tích bảng Import Table và đưa ra các hàm nghi vấn..........................65
7
MỞ ĐẦU
Thế giới đang chứng kiến những thay đổi lớn và có sự phát triển nhanh chóng về
mọi mặt, nhất là trong ngành công nghệ thông tin; phần mềm mã độc cũng không nằm
ngoài xu hướng đó. Từ thời điểm lý thuyết tự nhân bản của phần mềm máy tính được
John von Neuman (1903-1957) đưa ra (năm 1941) đến khi xuất hiện virus đầu tiên
phải mất hơn 3 thập kỷ, nhưng với sự bùng nổ của Internet mã độc cũng theo đó bùng
nổ theo. Song song với việc ứng dụng công nghệ thông tin, mã độc cũng đã và đang
len lỏi vào mọi mặt của đời sống, gây ra những thiệt hại vô cùng nghiêm trọng cả về
kinh tế lẫn an ninh, quốc phòng.
Khi nói về chống phần mềm độc hại, ta thường nói tới phần mềm chống virus
nhưng không phải lúc nào phần mềm chống virus cũng có hiệu quả. Do đó, việc nâng
cao ý thức cảnh giác để phòng ngừa và hơn thế nữa là phân tích, vô hiệu hoá phần
mềm độc hại trở thành nhu cầu tất yếu.
Vấn đề phân tích, chống phần mềm mã độc đã được vô số các hãng bảo mật trên
thế giới tiến hành đầu tư nghiên cứu; từ các hãng lớn như Internet McAfee, Kaspersky,
Norton … cho tới các nhóm phát triển phần mềm đơn lẻ. Một số ứng dụng điển hình
có thể kể đến như: McAfee Antivirus, Kaspersky Antivirus, Norton Antivirus,
Microsoft Security Essentials, AVG Anti-Virus … Tuy nhiên, do sự phát triển của
phần mềm mã độc luôn đi trước các chương tình diệt virus một bước nên việc nghiên
cứu, phân tích mã độc càng trở nên quan trọng và cấp thiết để làm sao hạn chế được
tối đa những thiệt hại do phần mềm mã độc gây ra.
Trên cơ sở kiến thức về an toàn thông tin, lý thuyết về hệ điều hành và nhu cầu
thực tế, hướng tới xây dựng một chương trình đánh giá an ninh tiến trình nhằm hỗ trợ
quá trình phát hiện mã độc. Ngoài ra, đề tài còn có thể được phát triển để ứng dụng
phục vụ cho các cơ quan chính phủ (an ninh, quốc phòng…) cũng như các tổ chức, cá
nhân có nhu cầu.
Ngoài phần Mở đầu, Kết luận và Phụ lục, nội dung luận văn được chia làm 4
chương chính:
Chương 1. Tổng quan về Malware: chương này giới thiệu những vấn đề cơ
bản nhất về Malware, lịch sử và xu thế phát triển chúng.
Chương 2. Cơ chế hoạt động Malware: chương này mô tả khái quát về các
hàm API, cấu trúc file PE của Windows và một số kỹ thuật căn bản mà Malware sử
dụng để lây nhiễm và duy trì sự tồn tại của chúng trên hệ thống.
8
Chương 3. Phương pháp phân tích Malware: chương này mô tả các bước
trong phân tích Malware cũng như xây dựng một quy trình phân tích Malware.
Chương 4. Xây dựng phần mềm hỗ trợ phân tích Malware: áp dụng lý
thuyết đã đưa ra trong Chương 3 để xây dựng phần mềm hỗ trợ phân tích Malware.
Giới thiệu hệ thống phân tích Malware tự động Cuckoo Sandbox.
Phần Kết luận: trình bày tổng hợp các kết quả nghiên cứu của luận văn và định
hướng nghiên cứu tiếp theo.
Luận văn đã đạt được một số kết quả khả quan trong việc nghiên cứu kỹ thuật
phân tích Malware, đưa ra được quy trình phân tích đồng thời xây dựng được một
công cụ hỗ trợ phân tích hiệu quả. Tuy nhiên, luận văn không thể tránh khỏi những
thiếu sót, vì vậy tôi rất mong nhận được những ý kiến đóng góp, nhận xét của thầy cô
giáo và bạn đọc để kết quả nghiên cứu được ngày một hoàn thiện hơn.
9
CHƯƠNG 1-TỔNG QUAN VỀ MALWARE
Các khái niệm và cách phân loại sau đây đều được trích dẫn theo định nghĩa
đưa ra bởi Viện Tiêu chuẩn và Công nghệ quốc gia Hoa kỳ - National Institute of
Standards and Technology (NIST).
1.1 Khái niệm về Malware
Mã độc hại (Malware hay Maliciuos code) là một phần mềm được chèn một
cách bí mật vào hệ thống với mục đích làm tổn hại đến tính bí mật, tính toàn vẹn hoặc
tính sẵn sàng của hệ thống.[7, tr15]
1.2 Phân loại Malware
Có nhiều cách phân loại mã độc khác nhau, dựa vào các tiêu chí khác nhau. Tuy
nhiên, định nghĩa đưa ra bởi NIST là cách định nghĩa phổ biến nhất trong ngành khoa
học máy tính ngày nay [7].
1.2.1 Virus: Là một loại mã độc hại (Maliciuos code) có khả năng tự nhân bản
và lây nhiễm chính nó vào các file, phần mềm hoặc máy tính. Như vậy, có thể
suy ra virus máy tính phải luôn luôn bám vào một vật chủ (đó là file dữ liệu
hoặc file ứng dụng) để lây lan. Các phần mềm diệt virus dựa vào đặc tính này
để thực thi việc phòng chống/diệt virus, để quét các file trên thiết bị lưu hoặc
quét các file trước khi lưu xuống ổ cứng, ... Điều này cũng giải thích vì sao đôi
khi các phần mềm diệt virus tại PC đưa ra thông báo “phát hiện ra virus nhưng
không diệt được” khi thấy có dấu hiệu hoạt động của virus trên PC, bởi vì “vật
mang virus” lại nằm ở máy khác nên không thể thực thi việc xoá đoạn mã độc
hại đó được.
1.2.2 Compiled Virus là virus mà mã thực thi của nó đã được dịch hoàn chỉnh
bởi một trình biên dịch để nó có thể thực thi trực tiếp từ hệ điều hành. Các loại
boot virus (như Michelangelo và Stoned), file virus (như Jerusalem) rất phổ
biến trong những năm 80 là virus thuộc nhóm này, compiled virus cũng có thể
được pha trộn bởi cả boot virus va file virus trong cùng một phiên bản.
1.2.3 Interpreted Virus là một tổ hợp của mã nguồn mà chỉ thực thi được dưới
sự hỗ trợ của một ứng dụng cụ thể hoặc một dịch vụ cụ thể trong hệ thống. Một
cách đơn giản, virus kiểu này chỉ là một tập lệnh, cho đến khi ứng dụng gọi thì
nó mới được thực thi. Macro virus, scripting virus là các virus nằm trong dạng
này. Macro virus rất phổ biến trong các ứng dụng Microsoft Office khi tận dụng
10
khả năng kiểm soát việc tạo và mở file để thực thi và lây nhiễm. Chúng ta phân
biệt giữa macro virus và scripting virus như sau: macro virus là tập lệnh thực thi
bởi một ứng dụng cụ thể, còn scripting virus là tập lện chạy bằng một service
của hệ điều hành. Melisa là một ví dụ xuất sắc về macro virus, Love Stages là ví
dụ cho scripting virus.
1.2.4 Worm cũng là một phần mềm có khả năng tự nhân bản và tự lây nhiễm
trong hệ thống tuy nhiên nó có khả năng “tự đóng gói”, điều đó có nghĩa là
worm không cần phải có “file chủ” để chứa nó khi đã nhiễm vào hệ thống. Như
vậy, có thể thấy rằng chỉ dùng các phần mềm quét file sẽ không diệt được worm
trong hệ thống vì worm không “bám” vào một file hoặc một vùng nào đó trên
đĩa cứng. Mục tiêu của worm bao gồm cả việc làm lãng phí nguồn lực băng
thông của mạng cũng như phá hoại hệ thống (xoá file, tạo backdoor, thả
keylogger,..). Worm có đặc trưng là khả năng tấn công lan rộng cực kỳ nhanh
chóng do không cần tác động của con người (như khởi động máy, sao chép file
hay đóng/mở file). Nhìn chung, Worm có thể chia làm 2 loại:
- Network Service Worm: Lan truyền bằng cách lợi dụng các lỗ hổng bảo
mật của mạng, của hệ điều hành hoặc của ứng dụng. Sasser là ví dụ cho
loại sâu này.
- Mass Mailing Worm: Là một dạng tấn công qua dịch vụ mail, tuy nhiên
nó tự đóng gói để tấn công và lây nhiễm chứ không bám vào vật chủ là
email. Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng tìm kiếm
sổ địa chỉ và tự gửi bản thân nó đến các địa chỉ thu nhặt được. Việc gửi
đồng thời cho toàn bộ các địa chỉ thường gây quá tải cho mạng hoặc cho
máy chủ mail. Netsky, Mydoom là ví dụ cho thể loại này.
1.2.5 Trojan Horse: Là loại mã độc hại được đặt theo sự tích “Ngựa thành
Troa”. Trojan horse không tự nhân bản. Nó lây vào hệ thống với biểu hiện ban
đầu rất ôn hoà nhưng thực chất bên trong có ẩn chữa các đoạn mã với mục đích
gây hại. Trojan có thể lựa chọn một trong 3 phương thức để gây hại như sau:
- Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, bên cạnh
đó thực thi các hoạt động gây hại một cách riêng biệt (ví dụ như gửi một
trò chơi dụ cho người dùng sử dụng, bên cạnh đó là một phần mềm đánh
cắp password).
- Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, nhưng
sửa đổi một số chức năng để gây tổn hại (ví dụ như một trojan giả lập
một cửa sổ login để lấy password) hoặc che giấu các hành động phá hoại
11
khác (ví dụ như trojan che dấu cho các tiến trình độc hại khác bằng cách
tắt các hiển thị của hệ thống).
- Thực thi luôn một phần mềm gây hại bằng cách núp dưới danh một phần
mềm không có hại (ví dụ như một trojan được giới thiệu như là một trò
chơi hoặc một tool trên mạng, người dùng chỉ cần kích hoạt file này là
lập tức dữ liệu trên PC sẽ bị xoá hết).
1.2.6 Malicious Mobile Code: Là một dạng mã phần mềm có thể được gửi từ xa vào
một hệ thống mà không cần đến lời gọi thực hiện của người dùng hệ thống đó.
Malicious Mobile Code được coi là khác với virus, worm do đặc điểm không
nhiễm vào file và không tìm cách tự phát tán . Thay vì khai thác một điểm yếu
bảo mật xác định nào đó, kiểu tấn công này thường tác động đến hệ thống bằng
cách tận dụng các quyền ưu tiên ngầm định để chạy mã từ xa. Các công cụ lập
trình như Java, ActiveX, JavaScript, VBScript là môi trường tốt cho Malicious
mobile code. Một trong những ví dụ nổi tiếng của kiểu tấn công này là Nimda,
sử dụng JavaScript.
Kiểu tấn công của Nimda thường được biết đến như một tấn công hỗn hợp
(Blended Atatck). Cuộc tấn công bắt đầu khi người dùng mở một email độc
bằng web-browser. Sau khi nhiễm vào máy, Nimda sẽ cố gắng sử dụng sổ địa
chỉ email của máy đó để phát tán tới các máy khác. Mặt khác, từ máy đã bị
nhiễm, Nimda cố gắng quét các máy khác trong mạng có thư mục chia sẻ mà
không bảo mật, Nimda sẽ dùng dịch vụ NetBIOS như phương tiện để chuyển
file nhiễm virus tới các máy đó. Đồng thời Nimda cố gắng dò quét để phát hiện
ra các máy tính có cài dịch vụ IIS có điểm yếu bảo mật của Microsoft. Khi tìm
thấy, nó sẽ copy bản thân nó vào server. Nếu một web client có điểm yếu bảo
mật tương ứng kết nối vào trang web này, client đó cũng bị nhiễm (lưu ý rằng
bị nhiễm mà không cần “mở email bị nhiễm virus”). Quá trình nhiễm virus sẽ
lan tràn theo cấp số nhân.
1.2.7 Tracking Cookie: Là một dạng lạm dụng cookie để theo dõi hành động duyệt
web của người sử dụng một cách bất hợp pháp. Cookie là một file dữ liệu chứa
thông tin về việc sử dụng một trang web cụ thể nào đó của web-client. Mục tiêu
của việc duy trì các cookie trong hệ thống máy tính nhằm căn cứ vào đó để tạo
ra giao diện, hành vi của trang web sao cho thích hợp và tương ứng với từng
web-client. Tuy nhiên tính năng này lại bị lạm dụng để tạo thành các phần mềm
gián điệp (spyware) nhằm thu thập thông tin riêng tư về hành vi duyệt web của
cá nhân.
12
1.2.8 Attacker Tool: Là những bộ công cụ tấn công có khả năng đẩy các phần mềm
độc hại vào trong hệ thống. Các bộ công cụ này giúp kẻ tấn công truy nhập bất
hợp pháp vào hệ thống hoặc làm cho hệ thống bị lây nhiễm mã độc hại. Khi
được tải vào trong hệ thống bằng các đoạn mã độc hại, attacker tool có thể
chính là một phần của đoạn mã độc đó (ví dụ như trong một trojan) hoặc nó sẽ
được tải vào hệ thống sau khi nhiễm. Attacker tool thường gặp là backdoor và
keylogger
Backdoor là một thuật ngữ chung chỉ các phần mềm độc hại thường trú và đợi
lệnh điều khiển từ các cổng dịch vụ TCP hoặc UDP. Phần lớn các backdoor cho
phép kẻ tấn công thực thi một số hành động trên máy bị nhiễm như truyền file,
dò mật khẩu, thực hiện mã lệnh,... Backdoor cũng có thể được xem xét dưới 2
dạng: Zoombie và Remote Administration Tool.
- Zoombie (có thể đôi lúc gọi là bot): là một phần mềm được cài đặt lên hệ
thống nhằm mục đích tấn công hệ thống khác. Kiểu thông dụng nhất của
Zoombie là dùng các agent để tổ chức một cuộc tấn công DDoS. Kẻ tấn
công có thể cài Zoombie vào một số lượng lớn các máy tính rồi ra lệnh
tấn công cùng một lúc. Trinoo và Tribe Flood Network là hai Zoombie
nổi tiếng.
- Remote Administration Tool là các công cụ có sẵn của hệ thống cho
phép thực hiện quyền quản trị từ xa. Tuy nhiên hacker cũng có thể lợi
dụng tính năng này để xâm hại hệ thống. Tấn công kiểu này có thể bao
gồm hành động theo dõi mọi thứ xuất hiện trên màn hình cho đến tác
động vào cấu hình của hệ thống. Ví dụ về công cụ RAT là: Back Orifice,
SubSeven,...
Keylogger là phần mềm được dùng để bí mật ghi lại các phím đã được nhấn
bằng bàn phím rồi gửi tới hacker. Keylogger có thể ghi lại nội dung của email,
của văn bản, user name, password, thông tin bí mật...Một số ví dụ về
keylogger: KeySnatch, Spyster, ...
1.2.9 Rootkits là tập hợp của các file được cài đặt lên hệ thống nhằm biến đổi các
chức năng chuẩn của hệ thống thành các chức năng tiềm ẩn sự tấn công nguy
hiểm. Ví dụ như trong hệ thống Windows, rootkit có thể sửa đổi, thay thế file,
hoặc thường trú trong bộ nhớ rồi thay thế, sửa đổi các lời gọi hàm của hệ điều
hành. Rootkit thường được dùng để cài đặt các công cụ tấn công như cài
backdoor, cài keylogger. Ví dụ về rootkit là: LRK5, Knark, Adore, Hack
Defender.
13
1.2.10 Web Browser Plug-in: là phương thức cài mã độc hại thực thi cùng với trình
duyệt web. Khi được cài đặt, kiểu mã độc hại này sẽ theo dõi tất cả các hành vi
duyệt web của người dùng (ví dụ như tên web site đã truy nhập) sau đó gửi
thông tin ra ngoài. Một dạng khác là phần mềm gián điệp có chức năng quay số
điện thoại tự động, nó sẽ tự động kích hoạt modem và kết nối đến một số điện
thoại ngầm định mặc dù không được phép của chủ nhân.
1.2.11 Email Generator: là những phần mềm cho phép tạo ra và gửi đi một số lượng
lớn các email. Mã độc hại có thể gieo rắc các email generator vào trong hệ
thống. Các phần mềm gián điệp, spam, mã độc hại có thể được đính kèm vào
các email được sinh là từ email generator và gửi tới các địa chỉ có trong sổ địa
chỉ của máy bị nhiễm.
1.2.12 Attacker Toolkit: là các bộ công cụ có thể được tải xuống và cài vào hệ thống
khi hệ thống đã bị khống chế bởi phần mềm độc hại. Các công cụ như các bộ dò
quét cổng (port scanner), bộ phá mật khẩu (password cracker), bộ dò quét gói
tin (Packet Sniffer) chính là các Attacker Toolkit thường hay được sử dụng.
1.2.13 Phishing là một hình thức tấn công thường có thể xem là kết hợp với mã độc
hại. Phishing là phương thức dụ người dùng kết nối và sử dụng một hệ thống
máy tính giả mạo nhằm làm cho người dùng tiết lộ các thông tin bí mật về danh
tính (ví dụ như mật khẩu, số tài khoản, thông tin cá nhân...). Kẻ tấn công
phishing thường tạo ra trang web hoặc email có hình thức giống hệt như các
trang web hoặc email mà nạn nhân thường hay sử dụng như trang web của
Ngân hàng, của công ty phát hành thẻ tín dụng, ... Email hoặc trang web giả
mạo này sẽ đề nghị nạn nhân thay đổi hoặc cung cấp các thông tin bí mật về tài
khoản, về mật khẩu... Các thông tin này sẽ được sử dụng để trộm tiền trực tiếp
trong tài khoản hoặc được sử dụng vào các mục đích bất hợp pháp khác.
1.2.14 Virus Hoax là các cảnh báo giả về virus. Các cảnh bảo giả này thường núp
dưới dạng một yêu cầu khẩn cấp để bảo vệ hệ thống. Mục tiêu của cảnh báo
virus giả là cố gắng lôi kéo mọi người gửi cảnh báo càng nhiều càng tốt qua
email. Bản thân cảnh báo giả là không gây nguy hiểm trực tiếp nhưng những
thư gửi để cảnh báo có thể chữa mã độc hại hoặc trong cảnh báo giả có chứa
các chỉ dẫn về thiết lập lại hệ điều hành, xoá file làm nguy hại tới hệ thống.
Kiểu cảnh báo giả này cũng gây tốn thời gian và quấy rối bộ phận hỗ trợ kỹ
thuật khi có quá nhiều người gọi đến và yêu cầu dịch vụ.
1.3 Lược sử về Malware
Có nhiều quan điểm khác nhau về lịch sử phát triển của Malware, trong luận
14
văn này sẽ chỉ nêu vắn tắt những điểm chung nổi bật nhất.
Năm 1949: Lý thuyết đầu tiên về phần mềm tự sao chép ra đời. John Von
Neuman (1903-1957) phát triển nền tảng lý thuyết tự nhân bản của một phần mềm cho
máy tính.
Vào cuối thập niên 1960 đầu thập niên 1970, trên các máy Univax 1108 xuất
hiện một phần mềm “Pervading Animal” mà tự nó có thể nối với phần sau của tập tin
thực thi. Lúc đó chưa có khái niệm virus.
Năm 1981: Các Malware đầu tiên xuất hiện trong hệ điều hành của máy tính
Apple II. Đây cũng là những virus đầu tiên xuất hiện trên hệ điều hành của hãng
Apple, chúng lây lan khắp hệ thống máy tính của công ty Texas A&M, thông qua các
trò chơi không có bản quyền trên đĩa mềm. Những người đầu tiên phát hiện đã gọi
chúng là Elk Cloner.
Năm 1983: Fred Cohen đưa ra khái niệm đầu tiên về Virus: “Là một phần mềm
máy tính có thể tác động những phần mềm máy tính khác bằng cách sửa đổi chúng
dùng phương pháp đưa vào một bản sao của nó”. Fred Cohen luôn là cái tên đầu tiên
được nhắc đến khi nói về lịch sử của Malware.
Năm 1986: Virus “Brain” được phát hiện, đây là virus đầu tiên được phát hiện
trên máy tính cá nhân. Virus này được tạo ra tại Pakistan bởi hai anh em lập trình viên
là Basit Farooq Alvi và Amjad Farooq Alvi. Phần mềm này thay thế các mã thực hiện
(Executable code) trong rãnh ghi khởi động (boot sector) của một đĩa mềm 360Kb
bằng mã riêng của nó, với mục đích làm lây nhiễm tất cả các ổ đĩa mềm. Đây cũng là
Virus MS-DOS xuất hiện sớm nhất.
Năm 1987: Lehigh, một trong những Virus file đầu tiên xâm nhập các tập lệnh
Command.com (Virus này sau đó tiến hóa thành Virus Jerusalem). Cũng trong năm
này, Virus IBM Chrismast cũng được phát hiện, với tốc độ lây nhiễm cực nhanh tới
hàng nghìn bản sao trên giờ, đây là cơn ác mộng thực sự đối với các máy tính lớn
(mainframe) của Big Blue.
Năm 1988: Virus Jerusalem, một trong những Virus phổ biến nhất xuất hiện, nó
tấn công đồng loạt các trường đại học và các công ty trên nhiều quốc gia vào đúng thứ
6 ngày 13, Virus này tác động lên các file có đuôi .exe và .com, đây là loại virus hoạt
động theo đồng hồ máy tính. Cùng năm này, Virus “MacMag and the Scores” gây ra
đợt bùng phát lớn đầu tiên trên các máy Macintosh. Đây cũng là cuộc khủng hoảng
Internet đầu tiên khiến một số lượng lớn máy tính bị tê liệt. Cũng từ đó, trung tâm điều
phối phản ứng nhanh (CERT) đã ra đời để đối phó với những sự cố tương tự.
15
Năm 1989: Xuất hiện phần mềm Trojan có tên AIDS. Trojan này nổi tiếng vì
có khả năng khống chế dữ liệu giống như con tin. Nó được gửi đi dưới dạng một phần
mềm thông tin về bệnh suy giảm miễn dịch AIDS. Khi được kích hoạt Trojan AIDS sẽ
mã hóa ổ cứng của nạn nhân và yêu cầu người sử dụng phải nộp tiền nếu muốn được
giải mã.
Năm 1990: Symantec phát triển công cụ Norton AntiVirus, một trong những
phần mềm diệt Virus đầu tiên do công ty lớn phát triển. Cũng trong năm này, thị
trường trao đổi mã độc đầu tiên (VX) được tung lên mạng từ Bulgaria. Tại đây, các tin
tặc có thể buôn bán mã và giao lưu các ý tưởng về mã độc. Cuốn sách về Virus máy
tính của tác giả Mark Ludwig được xuất bản cùng thời gian này.
Năm 1991: Malware đa hình (Polymorphic Malware) ra đời, đầu tiên là Sâu
“Tequilla”. Malware dạng này có khả năng tự thay đổi hình thức của nó, gây khó khăn
cho các phần mềm chống Virus, nó khiến cho việc phát hiện và truy quét trở nên rất
phức tạp.
Năm 1992: Trong vòng 2 năm, đã ghi nhận được tổng số hơn 1.300 Malware
đang tồn tại, tăng 420% so với tháng 12 năm 1990. Xuất hiện DAME (Dark Avenger
Mutation Engine) - một bộ công cụ cho phép chuyển những mã độc thông thường
thành những phần mềm có khả năng thay đổi hình dạng. Sau đó là VCL (Virus
Creation Laboratory), một công cụ chế tạo Malware thực sự ra đời. Sự xuất hiện của
Virus MichelLangelo làm dấy lên lời cảnh báo về thiệt hại quy mô lớn trên toàn cầu,
mặc dù cuối cùng sự phá hoại của Virus này đã không xảy ra như lo ngại.
Năm 1994: Xuất hiện OneHalf, đây là một virus máy tính đa hình trên nền
DOS.
Năm 1995: Macro Virus đầu tiên xuất hiện, có tên gọi “Concept”, chúng lây lan
qua các ứng dụng MS-Office.
Năm 1996: “Ply” - Virus đa hình phức tạp được xây dựng dựa trên công cụ
hoán vị.
Năm 1998: Phiên bản đầu tiên của virus CIH xuất hiện. Đây là virus đầu tiên
được biết đến có khả năng xóa nội dung trong ROM BIOS.
Năm 1999: Sâu Melissa đã được phát hiện, nhắm vào mục tiêu Microsoft Word
và các hệ thống dựa trên Outlook, nó đã tạo ra mạng lưới lây nhiễm đáng kể. Cũng
trong năm này, sâu Kak được phát hiện, đây sâu máy tính dùng mã Javascript và lây
lan bằng cách khai thác một lỗi trong Outlook Express
16
Năm 2000: Sâu ILOVEYOU, còn được gọi là Love Letter hay Love Bug, sâu
này được tạo ra bởi một sinh viên ngành khoa học máy tính của Philippines. Được viết
bằng VBScript, nó lây nhiễm hàng triệu máy tính Windows trên toàn thế giới trong
vòng vài giờ phát hành.
Năm 2001: Trong năm này, phải kể đến Sâu Nimda (còn được gọi là quái vật
đa đầu) vì nó là sự kết hợp hoàn hảo những điểm mạnh của 5 loại Malware khác nhau.
Ngoài ra còn phải kể đến Virus Anna Kournikova, sâu Sadmind, sâu Sircam, sâu Code
Red.
Năm 2003: Sâu Slammer ra đời, đến nay sâu này vẫn được coi là sâu có sự phát
tán nhanh nhất, hơn 75.000 máy tính bị nhiễm chỉ trong 10 phút.
Năm 2005: Trojan Zlob, Trojan này giả dạng một video codec cần thiết trong
các thành phần ActiveX của Microsoft Windows.
Năm 2006: Lần đầu tiên phần mềm độc hại cho Mac OSX được phát hiện,
Trojan OSX / Leap-A hoặc OSX / Oompa-A.
Năm 2007: Storm Worm được xác định. Nó tấn công và tạo ra một mạng botnet
Storm. Trong vòng 3 tháng, từ tháng 6 đến tháng 9/2007 đã có hơn 10 triệu máy tính
bị nhiễm. Cùng năm này, Trojam Zeus được phát hiện, mục tiêu của nó là ăn cắp
thông tin ngân hàng của người dùng trên Windows.
Năm 2008: Phát hiện sâu Conficker, nó lây nhiễm đến hơn 15 triệu máy chạy
hệ điều hành Windows, từ Windows 2000 đến Windows 7 Beta và được phát hiện ở
khắp nơi, từ máy cá nhân đến máy chủ, từ bệnh viện Sheffield đến tàu ngầm của hải
quân Anh. Microsoft đặt ra mức tiền thưởng $ 250,000 USD cho thông tin dẫn đến
việc bắt giữ tác giả của sâu này. Năm biến thể chính của sâu Conficker được biết đến
và đã được đặt tên là Conficker A, B, C, D và E.
Năm 2009: Một cuộc tấn công mạng tầm cỡ quốc gia đầu tiên đã được diễn ra,
công cụ là W32.Dozer và được nhắm vào hai nước Hoa Kỳ và Hàn Quốc.
Năm 2010: Stuxnet được phát hiện. Đây là một ví dụ điển hình về malware
được sử dụng như một thứ vũ khí ảo. Lây lan qua các thiết bị USB và một số phương
pháp khác, virus này được thiết kế nhằm chiếm quyền điều khiển hoạt động của các hệ
thống điều khiển công nghiệp chuyên dụng (nhắm trực tiếp đến hệ thống của hãng
Siemen thiết kế). Mặc dù chưa có kết luận cuối cùng, nhưng chứng cứ mà các nhà
nghiên cứu thu thập được cho thấy Stuxnet nhằm vào các máy ly tâm làm giàu
Uranium trong phần mềm hạt nhân của Iran, sâu này làm cho máy ly tâm hoạt động
17
quá công suất thiết kế. Điều đặc biệt, đây cũng là lần đầu tiên một Malware có được
chữ ký số hợp lệ, chữ ký đó là từ Realtek.
Năm 2011: SpyEye và Zeus kết hợp để trở thành công cụ hiệu quả đánh cắp
thông tin thanh toán ngân hàng hiệu quả, nó đánh cắp được cả mật khẩu ngân hàng và
mật mã xác thực một lần (OTP – One Time Password) được gửi qua tin nhắn điện
thoại, để tiến hành chuyển tiền một cách hợp lệ.
Năm 2012: Flame, đây là phần mềm mà Kaspersky Lab đánh giá là Malware
phức tạp nhất mà họ từng phân tích. Mục tiêu của phần mềm này là hoạt động gián
điệp tại các nước trung đông. Một điều đáng nói là mặc dù được phát hiện năm 2012
nhưng người ta đã đưa ra một số bằng chứng cho thấy Flame lại là tiền thân của sâu
gián điệp Stuxnet được phát hiện năm 2010 ở Iran.
Năm 2013: CryptoLocker, đánh dấu sự trở lại của phần mềm bắt cóc dữ liệu
(ransomeware), chúng mã hóa dữ liệu khi lây được vào hệ thống và ra điều kiện đòi
tiền chuộc để giải mã dữ liệu đó.
1.4 Vai trò của việc phân tích Malware
Với sự phát triển mạnh mẽ của Internet, vấn đề an ninh, bảo đảm an toàn cho
các hệ thống thông tin ngày càng trở nên cấp thiết khi các hệ thống thông tin được kết
nối với nhau và kết nối với mạng Internet, chúng ta phải đối diện với nhiều nguy cơ bị
tấn công lấy cắp thông tin hoặc phá hoại hệ thống. Trong số các phương thức tấn công
phá hoại hệ thống thông tin và mạng, các phần mềm độc hại là một trong các dạng gây
nhiều thiệt hại nhất do khả năng lan truyền nhanh chóng.
Câu hỏi đặt ra là liệu có cần phân tích mã độc không khi càng ngày những phần
mềm đảm bảo an ninh máy tính càng phát triển. Câu trả lời luôn là có, vì các phần
mềm độc hại được phát triển ngày càng tinh vi và rất khó phát hiện. Phần mềm đảm
bảo an ninh mạnh nhất và được cập nhật cũng không thể loại bỏ được hết mã độc. Kết
quả của quá trình phân tích Malware sẽ phát hiện được những phương thức lây lan,
phá hoại, đánh cắp dữ liệu mới; đồng thời hạn chế sự lây lan, giảm thiểu thiệt hại do
Malware gây ra bằng cách đưa các cảnh báo tới cộng đồng; là nguồn thông tin quan
trọng để cập nhật mẫu cũng như chức năng cho phần mềm đảm bảo an ninh máy tính.
18
CHƯƠNG 2– CƠ CHẾ HOẠT ĐỘNG CỦA MALWARE
2.1 Tìm hiểu về cấu trúc PE file
Một bước rất quan trọng khi tìm hiểu về mã độc là tìm hiểu về file PE vì gần như
mọi mã thực thi được nạp bởi Windows đều có định dạng PE. Đây là dạng phổ biến
bậc nhất của Malware và cũng là định dạng hay bị lây nhiễm mã độc nhất.
Định dạng file PE được dùng cho những file thực thi, mã đối tượng và các DLL của
Windows. Định dạng này là một cấu trúc dữ liệu bao gồm thông tin cần thiết để
Windows OS Loader quản lý được mã thực thi trong nó.
Để có thể thực thi trên máy tính, nội dung file PE được chia thành các thành phần
và có mối liên hệ mật thiết với nhau. Nắm rõ cấu trúc PE sẽ giúp chúng ta hiểu được
cơ chế thực thi của một phần mềm, từ việc tổ chức tới việc nạp lên bộ nhớ, các tài
nguyên sử dụng…
Hơn nữa, khi chúng ta muốn sửa đổi một file, ví dụ như thêm vào một số đoạn mã,
chỉnh sửa một số thành phần nhưng vẫn muốn phần mềm thực thi bình thường, ví dụ
trong trường hợp cần chỉnh sửa các công cụ phân tích để tránh bị phát hiện bởi
Malware thì chúng ta cần phải nắm rõ cấu trúc PE file cũng như mối liên hệ giữa các
thành phần trong file để có thể nhanh chóng thay đổi file và thoả mãn yêu cầu đề ra mà
không ảnh hưởng tới chức năng cũng như hoạt động của file.
Mặt khác, đối với các Malware sử dụng kỹ thuật tiêm mã vào các tiền trình đang có
để che giấu sự tồn tại trên hệ thống, nếu chúng ta không hiểu rõ cấu trúc của file PE sẽ
rất khó tìm ra tiến trình bị tiêm mã độc.
Hình 2.1: Cấu trúc cơ bản của PE
19
Cấu trúc PE có thể gồm nhiều section, trong đó tối thiểu cần 2 section: data và
code. Một số section thông dụng hay được gặp ở các phần mềm:
1. Executable Code Section, có tên là .text (Microsoft).
2. Data Sections, có tên nh .data, .rdata, .bss (Microsoft) hay DATA (Borland)
3. Resources Section, có tên là .rsrc
4. Export Data Section, có tên là .edata
5. Import Data Section. có tên là .idata
6. Debug Information Section, có tên là .debug
Cấu trúc các section trên bộ nhớ và trên ổ đĩa là như nhau, tuy nhiên khi được
nạp lên bộ nhớ, các Windows loader sẽ quyết định thứ tự và vị trí nạp các phần, do đó
vị trí các phần trên ổ đĩa và trên bộ nhớ sẽ có sự khác biệt.
2.2 Hình thức lây nhiễm
2.2.1 Qua thiết bị lưu trữ
Cách lây nhiễm phổ biến nhất của Malware trước đây là qua các thiết bị lưu trữ
di động, dù là thời sử dụng đĩa mềm ngày xưa hay thẻ nhớ USB ngày nay. Hiện tại, thẻ
nhớ trong các thiết bị di động thông minh, hay thiết bị ghi âm, ghi hình kỹ thuật số
cũng là một vật trung gian hiệu quả cho việc lan truyền Malware. Các thiết bị di động
thông minh thì hay phải nạp pin và phương thức nạp pin qua công USB lại rất tiện
dụng, điều này tiềm ẩn nguy cơ rất lớn cho việc lây truyền Malware.
Một số dạng lây nhiễm điển hình qua USB:
- Lợi dụng chức năng Autorun
Khi thiết bị lưu trữ có sử dụng giao tiếp USB được cắm vào máy tính đã nhiễm
Malware, Malware sẽ phát hiện ra thiết bị có thể lây nhiễm được, sau đó tự sao
chép bản thân mình vào một vị trí bí mật trên thiết bị đó. Tiếp theo, nó ghi một file
autorun.inf có nội dung cơ bản như sau:
[Autorun]
OPEN=Đường dẫn virus trong đĩa USB
Từ Windows Vista trở về trước, Windows sẽ mặc nhiên kiểm tra tập tin autorun.inf
trong các thiết bị USB và thực thi các câu lệnh có trong đó.
- Đánh lừa người dùng
Trong nhiều trường hợp, các lây nhiễm sử dụng tập tin Autorun không hiệu
quả, ví dụ như từ hệ điều hành Windows 7 trở về sau, chức năng này không còn hoạt
20
động nữa. Malware chuyển sang sử dụng cách đánh lừa người dùng để thực thi file mã
độc đã lây nhiễm trên thẻ nhớ USB. Có thể kể đến như:
 Ẩn thư mục trên USB và thay vào đó là các tập tin Malware có hình thư
mục với tên tương tự các thư mục tồn tại ban đầu. Với cách này,
Malware dễ dàng lừa được người dùng khởi chạy nó nếu trên hệ thống
đang tắt chức năng hiển thị file ẩn và phần mở rộng file.
 Chuyển các file .doc, .docx của người dùng vào vị trí bí mật trên thẻ nhớ
USB thay thế vào đó là các file Malware có tên và hình đại diện (icon) là
file doc, docx. Đồng thời sử dụng các khoảng trắng để kéo dài tên file tối
đa, làm người dùng có để hiện tên file thì cũng có khả năng cao bị đánh
lừa.
 Ví dụ:
Tập tin .doc gốc: TenVanBan.doc
Tập tin Malware: TenVanBan.doc .exe
Vì tên tập tin quá dài nên Windows sẽ rút ngắn lại khi hiển thị và để dấu
hai chấm “..” cuối cùng, thể hiện là tên văn bản còn tiếp tục. Nhưng
người dùng sẽ dễ dàng bỏ qua sự thể hiện này và chỉ nhìn lướt với tên
hiển thị ngay đầu tiên nên dễ dàng bị đánh lừa.
Cả 2 cách trên đối với người dùng thông thường đều rất khó nhận ra khi lỡ khởi
chạy nhầm phải Malware, vì khi đã đạt được mục đích lây nhiễm, Malware vẫn mở
thư mục hoặc tập tin như bình thường cho người dùng. Thậm chí, trong nhiều trường
hợp, Malware còn khôi phục lại thẻ nhớ USB như chưa hề bị nhiễm để tránh sự phát
hiện.
2.2.2 Qua mạng Internet
2.2.2.1 Lây nhiễm qua các phần mềm:
Các phần mềm được viết ra có chứa sẵn mã độc, hoặc các phần mềm chính
thống bị sửa đổi để thêm mã độc vào được phát tán tràn lan trên mạng Internet. Các
phần mềm Crack (bẻ khóa) có tỉ lệ chứa mã độc trong đó rất cao. Nhiều khi vì chủ
quan hay vì muốn dùng phần mềm mà không phải trả tiền, người dùng sẵn sàng bất
chấp mọi nguy cơ bị lây nhiễm mã độc để dùng những phần mềm này.
2.2.2.2 Lây nhiễm qua các trang web
Khi truy cập các trang web, hệ thống có thể bị nhiễm mã độc bất kỳ lúc nào,
nhất là khi truy cập vào các trang không đáng tin cậy. Điều này có thể xảy ra ngày cả
khi chúng ta chỉ mở trang web, vì các trình duyệt, đặc biệt là các thành phần của trình
21
duyệt được phát triển bởi hãng thứ 3 (plugin) ẩn chứa rất nhiều nguy cơ mất an toàn.
Malware có thể lợi dụng những lỗ hổng này để lây nhiễm vào hệ thống.
2.2.2.3 Lây nhiễm qua thư điện tử
Khi mà thư được sử dụng ngày càng rộng rãi thì đây là một nguồn lây nhiễm rất
hiệu quả. Khi đã lây nhiễm vào máy nạn nhân, Malware có thể tự tìm ra danh sách các
địa chỉ thư điện tử trong máy tính và nó tự gửi đi hàng loạt những thư đánh lừa được
đính kèm bản thân nó hoặc các liên kết chứa mã độc. Khi người nhận không phát hiện
ra thư bị nhiễm Malware thì khả năng cao sẽ bị nhiễm mã độc vào máy và từ máy này
Malware lại tiếp tục lây nhiễm. Chính vì vậy, số lượng phát tán Malware có thể theo
cấp số nhân khiến trong thời gian ngắn hàng triệu máy tính có thể bị lây nhiễm.
Ngày nay, khi phần mềm quản lý thư điện tử kết hợp với phần mềm diệt
Malware có thể khắc phục được hành động tự nhân bản hàng loạt để phát tán qua các
địa chỉ thư điện tử trong danh bạ máy tính thì chủ nhân Malware có thể chuyển qua
hình thức tự gửi thư phát tán Malware bằng các nguồn địa chỉ sưu tập được, các địa
chỉ này cũng có thể là của chính Malware đó gửi về.
Phương thức lây nhiễm qua thư điện tử bao gồm:
- Lây nhiễm vào các file đính kèm: Với cách này, người dùng sẽ không bị nhiễm mã
độc đến khi phần mềm đính kèm đó được kích hoạt. Malware cũng không dại gì
chỉ gửi đúng mã độc của mình, mà chúng thường ẩn dưới bỏ bọc là các phần mềm
miễn phí hay những phần mềm có nội dung nhạy cảm.
- Lây nhiễm do mở một liên kết trong thư điện tử: Liên kết trong thư điện tử có thể
dẫn tới một trang web được cài sẵn mã độc, các này thường khai thác lỗ hổng của
trình duyệt hoặc các plugin (thành phần cài đặt thêm) của trình duyệt, ví dụ như
trình FlashPlayer.
- Lây nhiễm ngay khi mở để xem thư điện tử: Trường hợp này vô cùng nguy hiểm
bởi chưa cần kích hoạt các file hay mở liên kết gì hệ thống đã bị nhiễm mã độc.
Cách này thường là do mã độc khai thác lỗ hổng của hệ điều hành. Mặc dù vây,
cách khai thác này cũng khó thực hiện hơn, do lỗ hổng trên hệ điều hành chưa bị
phát hiện (zero day) sẽ ít hơn rất nhiều lỗ hổng trên trình duyệt và các plugin của
nó.
2.2.2.4 Lây nhiễm qua mạng nội bộ
Virus sẽ tìm tất cả các thư mục trong cùng mạng nội bộ (Của máy nạn nhân) xem
có thư mục nào chia sẻ (Share) và cho phép sửa chữa chúng hay không. Sau đó chúng
sẽ tự sao chép và chờ đợi một ai đó vô ý chạy chúng.
2.2.2.5 Lây nhiễm qua các dịch vụ IM
22
Nhắn tin nhanh (Instant Messaging), là dịch vụ cho phép hai người trở lên nói
chuyện trực tuyến với nhau qua một mạng máy tính. Tương tự như lây nhiễm qua thư
điện tử, Malware lây nhiễm qua IM cũng có những phương thức tương tự như gửi file
hay gửi link chữa mã độc. Bên cạnh đó, Malware cũng sử dụng các giao thức thức
XMPP (Jabber). Đây là giao thức mở, an toàn và máy chủ nào hỗ trợ giao thức này
đều có thể kết nối được với nhau. Ứng dụng khách Jabber có khả năng truy cập mọi
giao thức/mạng IM: MSN Messenger, Yahoo!, AIM, ICQ, ngay cả IRC và SMS. Chỉ
một phần mềm Jabber có thể nói chuyện với bạn bè trên mọi mạng. Malware
GirlXinhYM là một đại diện cho dòng này.
2.2.2.6 Lây nhiễm qua file
Đây là cách lây nhiễm Malware đã tồn tại rất lâu. Cách thức lây nhiễm cơ bản là
Malware sẽ thay đổi nội dung file mà sau đó khi chủ nhân máy tính hay người khác
làm việc với file ấy thì sẽ nhiễm phải Malware.
2.3 Đối tượng lây nhiễm
Một số định dạng tập tin có thể chứa mã hoặc các lệnh thực thi, do đó chúng có thể
được mã độc sử dụng. Một tập tin dạng exe nguy hiểm bởi vì đây là định dạng của file
thực thi mà có thể làm bất cứ điều gì (trong phạm vi quyền người dùng chạy nó) trong
hệ thống. Một định dạng Media như JPEG, không phải luôn nguy hiểm vì chúng
không chứa mã thực thi. Mặc dù vậy, trong nhiều trường hợp, những kẻ tấn công đã
lợi dụng lỗ hổng của các phần mềm xem ảnh, đọc PDF,… để thực thi những đoạn mã
nguy hiểm cho hệ thống bằng cách chèn mã độc vào trong các file tưởng như vô hại
trên. Trong khuôn khổ nghiên cứu, luận văn chỉ đề cập tới những định dạng file có thể
chứa mã thực thi hoặc chứa đoạn lệnh nguy hiểm mà mã độc hay lợi dụng:
2.3.1 Các phần mềm:
.EXE – Executable File: Một phần mềm có khả năng thực thi, hầu hết các phần mềm
chạy trên Windows là định dạng này.
.PIF – Program Information File: Một tập tin thông tin phần mềm cho các phần mềm
MS-DOS. Bình thường các file .PIF không chứa mã thực thi, nhưng khi nó chứa mã
thực thi thì Windows sẽ xử lý như các tập tin EXE.
.APPLICATION: Định dạng cài đặt ứng dụng triển khai với công nghệ Microsoft’s
ClickOnce.
23
.GADGET: Một tập tin tiện ích trên màn hình Windows, công nghệ này được giới
thiệu cùng Windows Vista.
.MSI – Microsoft Installer File: Tập tin cài đặt ứng dụng trên Windows
.MSP – Microsoft Installer Patch file: Được dùng để vá các phần mềm đã được triển
khai bởi .MSI.
.COM – Command file: Tệp thực thi.
.SCR: Windows screen saver.
.HTA – HTML application: Không giống như các ứng dụng chạy trong các trình duyệt
HTML, các file .hta chạy như các ứng dụng đáng tin cậy mà không bị cô lập.
.CPL – Control Panel file: Tất cả các tiện ích trong Windows Control Panel đều có
dạng .CPL.
.MSC – Microsoft Management Console file: Các ứng dụng dạng này như ứng dụng
quản lý chính sách cho nhóm hay công cụ quản lý ổ đĩa.
.JAR – executable Java code: Nếu chúng ta đã cài đặt Java runtime trên hệ thống thì,
các tập tin dạng .JAR sẽ chạy như một phần mềm (tương tự dạng exe).
2.3.2 Đoạn mã (Script):
.BAT – Batch File: Bao gồm một tập hợp các câu lệnh sẽ thực thi khi ta mở file dạng
này. Nguyên thủy tập tin .BAT được dùng trong MS-DOS.
.CMD – Batch File: Cũng tương tự như tập tin .BAT, nhưng định dạng này được giới
thiệu lần đầu tiên trên Windows NT.
.VB, .VBS – VBScript file: Tập hợp các mã lệnh viết bằng ngôn ngữ Visual Basic
Script, chúng sẽ được thực thi nếu chúng ta mở file.
.VBE – Encrypted VBScript file: Tương tự như VBScript file, nhưng các mã trong file
đã được mã hóa để che giấu ý đồ tác động lên hệ thống.
24
.JS – JavaScript file: Các tập tin .JS thường được dùng trong các trang web và chúng
sẽ an toàn nếu chỉ chạy trên trình duyệt web. Tuy nhiên, Windows cũng có thể chạy
các tập tin .JS này bên ngoài trình duyệt và điểu đó gây nguy hiểm cho hệ thống.
.JSE – Encrypted JavaScript file: Tập tin JavaScript đã được mã hóa
.WS, .WSF: Windows Script file.
.WSC, .WSH – Windows Script Component và Windows Script Host Control files:
Các tập tin này được dùng cùng với Windows Script files.
.PS1, .PS1XML, .PS2, .PS2XML, .PSC1, .PSC2 – Windows PowerShell script: Các
lệnh Windows PowerShell.
.MSH, .MSH1, .MSH2, .MSHXML, .MSH1XML, .MSH2XML – Monad script file:
Monad sau đó được đổi thành PowerShell.
2.3.3 Shortcuts:
.SCF – Windows Explorer command file.
.LNK – Link: Liên kết chỉ tới một phần mềm nào đó. Một tập tin liên kết có khả năng
chứa các dòng lệnh nguy hiểm, như copy một file từ chỗ này sang chỗ khác hay xóa
một tập tin mà không cần hỏi.
.INF – Một dạng tập tin văn bản được dùng bởi chức năng AutoRun có khả năng gọi
thực thi một phần mềm.
2.3.4 Một số loại tập tin khác:
.REG – Windows registry file: .REG chứa một danh sách các khóa registry sẽ được
thêm vào hoặc gỡ bỏ nếu chạy chúng. Một tập tin REG độc hại có thể loại bỏ các
thông tin quan trọng từ registry, thay thế nó bằng các dữ liệu rác, hoặc thêm dữ liệu
độc hại hay tạo khóa khởi động cho Malware.
.DOC, .XLS, .PPT – Microsoft Word, Excel, PowerPoint: Chúng có thể chứa mã độc
dạng Macro, hoặc mã độc lợi dụng lỗ hổng của MS-Office.
25
.DOCM, .DOTM, .XLSM, .XLTM, .XLAM, .PPTM, .POTM, .PPAM, .PPSM, .SL
DM: Định dạng tập tin mới được giới thiệu trong Office 2007 M ở cuối của phần mở
rộng tập tin chỉ ra rằng tài liệu chứa Macros. Ví dụ, một tập tin DOCX không chứa
macro, trong khi một tập tin .DOCM có thể chứa các macro.
2.4 Khởi động cùng hệ thống
Việc Malware nhiễm vào máy tính không có nghĩa là nó có thể “sống” trong
máy tính ấy. Các Malware khi muốn tiếp tục hoạt động để tiếp tục lây lan thì bắt buộc
chúng phải tìm cách để sau khi người dùng tắt máy, vào lần bật máy sau thì Malware
ấy sẽ được kích hoạt và tiếp tục làm việc.
Để làm được điều này, các Malware thường tự ghi các giá trị vào một số địa chỉ
nhất định trong registry để trong lần khởi động sau của hệ điều hành thì Malware ấy sẽ
tiếp tục được gọi.
Tiến trình khởi động của Windows (từ NT4/2000/XP trở về sau):
1. BootExecute
HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute
2. Services
3. Người dùn nhập mật khẩu và truy cập vào hệ thống.
4. UserInit
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserInit
5. Shell
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell
6. All Users-RunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOn
ce
7. All Users-Run
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
8. All Users-RunOnceEx
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOn
ceEx
9. All Users-RunEx
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunEx
10. Current User-RunOnce
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
11. Current User-Run
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
26
12. Current User-RunOnceEx
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
Ex
13. Current User-RunEx
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunEx
14. Common Startup Folder
15. Startup Folder
Malware có thể tấn công vào 1 trong những bước khởi động trên để khởi động
cùng hệ thống Windows, sau đây là một vài trường hợp Malware lợi dụng quá trình
khởi động của hệ thống để hoạt động.
2.4.1 Khởi động hợp pháp:
2.4.1.1 Sử dụng khóa registry
Trong registry, có một số địa chỉ mà windows tạo ra để dễ dàng đưa phần mềm
mình chạy sau khi máy được khởi động. Điều này cũng tương tự với một số file. Sở dĩ
chúng ta có thể gọi nó đây là cách “hợp pháp” là vì với những giá trị (Chứa thông tin
về file sẽ sẽ được khởi động) này thì phần mềm quản lý những phần mềm khởi động
cùng hệ thống có sẵn trong Windows là System Configuration Utility có thể quản lý
chúng.
Ghi Key trong Regedit theo các địa chỉ sau :
HKEY_LOCAL_MAHINESOFTWAREMicrosoftWindowsCurrentVersionRun
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
Đoạn code C# kiểm tra sự tồn tại của khóa khởi động và ghi vào registry nếu chưa có.
RegistryKeyrkMalware =
Registry.CurrentUser.OpenSubKey("SOFTWAREMicrosoftWindows
CurrentVersionRun", true);
if(!IsStartup()) // Nếu khóa khởi động chưa tồn tại
//Tạo khóa khởi động cho Malware
rkMalware.SetValue("MalwareName",
Application.ExecutablePath.ToString());
private bool IsStartup()
{
RegistryKeyrkMalware=Registry.CurrentUser.OpenSubKey("SOFTWARE
MicrosoftWindowsCurrentVersionRun",true);
27
if(rkMalware.GetValue("MalwareName ")==null)
// Khóa khởi động chưa tồn tại
returnfalse;
else
// Khóa khởi động đã có
returntrue;
}
2.4.1.2 Sử dụng thư mục khởi động
Malware có thể đặt Shortcut hoặc bản thân mã độc bên trong thư mục khởi động
cửa Windows. Khi Windows khởi động, Windows sẽ đọc thư mục Startup và chạy
những phần mềm có trong đó.
Đối với Windows 8, đường dẫn sẽ là:
C:Users<Tên_người_dùng>AppDataRoamingMicrosoftWindowsStart_
MenuProgramsStartup
2.4.2 Khởi động bất hợp pháp:
Khác với việc khởi động hợp pháp, khởi động bất hợp pháp sẽ khiến ta không biết
được sự tồn tại của khóa khởi động của Malware với những trình quản lý khởi động
thông thường.
Sau đây là ví dụ về 2 khóa phổ biến mà Malware thường dùng, các khóa registry
này sẽ được đọc và chạy phần mềm tương ứng ngay cả trong môi trường Safe Mode
Khóa:
HKEY_LOCAL_MAHINESOFTWAREMicrosoftWindows_NTCurrentVersionWinlo
gonUserinit
Giá trị: C:WindowsSystem32userinit.exe
Khóa:HKEY_LOCAL_MAHINESOFTWAREMicrosoftWindows
NTCurrentVersionWinlogonShell
Giá trị: C:WindowsSystem32explorer.exe
Malware sẽ thay thay thế giá trị trong hai khóa này (có thể là 1 hoặc cả 2) thành:
C:WindowsSystem32userinit.exe, Đường dẫn Malware
C:WindowsSystem32explorer.exe, Đường dẫn Malware.
Điều này đảm bảo hệ thống vẫn hoạt động bình thường và Malware cũng bí mật
khởi động được.
28
Trong quá trình hoạt động, Malware có thể liên tục kiểm tra sự tồn tại khóa
khởi động của nó. Do đó, khi chưa ngắt được hết các thành phần đang hoạt động của
Malware, chúng ta có xóa khóa khởi động thì Malware lại lập tức tạo lại ngay.
2.5 Phá hoại và các hoạt động khác
2.5.1 Keylog
Ghi lại chuỗi phím gõ của người dùng. Nó có thể hữu ích cho việc tìm nguồn
gốc lỗi sai trong các hệ thống máy tính và đôi khi được dùng để đo năng suất làm việc
của nhân viên văn phòng. Các phần mềm kiểu này rất hữu dụng cho ngành luật pháp
và tình báo - ví dụ, cung cấp một phương tiện để lấy mật khẩu hoặc các khóa mật mã
và nhờ đó qua mắt được các thiết bị an ninh. Tuy nhiên, các phần mềm keylogger
được phổ biến rộng rãi trên Internet và bất cứ ai cũng có thể sử dụng cho mục đích lấy
trộm mật khẩu và chìa khóa mã hóa.
2.5.2 BackDoor (Cửa hậu)
Cửa hậu là một phương pháp vượt qua thủ tục chứng thực người dùng thông
thường hoặc để giữ đường truy nhập từ xa tới một máy tính đồng thời cố gắng tránh bị
phát hiện bởi việc giám sát thông thường. Cửa hậu có thể có hình thức một phần mềm
được cài đặt, hoặc có thể là một sửa đổi đối với một phần mềm hợp pháp - đó là khi nó
đi kèm với Trojan.
Kỹ thuật này dựa vào sự kết nối giữa 2 máy tính với nhau (Với các ngôn ngữ
bậc cao chúng ta có thể sử dụng control WinSock để thực hiện việc này dễ dàng).
2.5.3 Tống tiền
Một số loại phần mềm ác tính sử dụng hệ thống mã hóa yếu (phá được) để mã
hóa dữ liệu thuộc về một cá nhân và đòi tiền chuộc thì mới khôi phục lại.
Phương thức thanh toán của kẻ điều khiển các loại virus này thường rất thông minh
(Có một vài kẻ bắt buộc người dùng phải mua một số món hàng nhất định trên một địa
chỉ nào đó mà kẻ điều khiển quy định).
2.5.4 BotNet
Là một mạng lưới gồm nhiều máy tính đã bị nhiễm virus (Thường là worm,
trojan) và bị điều khiển từ xa. Các BotNet thường được kẻ điều khiển sử dụng để tấn
công từ chối dịch vụ (DDos) hay gửi thư rác (Spam) nhằm kiếm lợi cho mình.
2.5.5 Rootkit
Là bộ công cụ phần mềm che giấu file nhưng thực ra nó vẫn tồn tại và hoạt
động. Rootkit thường được bên thứ ba (thường là kẻ xâm nhập) dùng sau khi chiếm
được quyền truy cập vào hệ thống máy tính. Các công cụ này thường che dấu dữ liệu
hệ thống, tập tin hoặc tiến trình đang chạy, từ đó giúp cho kẻ xâm nhập duy trì quyền
29
truy cập vào hệ thống mà người dùng không biết. Rootkit có ở nhiều loại hệ điều hành
như Linux, Solaris và các phiên bản Microsoft Windows.
2.6 Cơ chế tự bảo vệ của mã độc
2.6.1 Cơ chế tạo áo giáp (Armouring):
Cơ chế này dựa trên công nghệ mã hóa kết hợp với việc sử dụng các lệnh
CALL, JMP, … một cách lộn xộn tạo cho Malware một vỏ bọc có khả năng kháng lại
các phần mềm an ninh hay việc phân tích mã Malware [8].
2.6.2 Cơ chế chống theo dõi (Anti Heuristic):
Một số phần mềm an ninh dựa trên hành vi của mã độc để phát hiện và tiêu diệt
chúng. Công nghệ Anti Heuristic nhằm chống lại sự phát hiện của các phần mềm an
ninh đó. Công nghệ này có một vài dạng như sau:
- Chúng sử dụng các API không được Microsoft định nghĩa hoặc tạo ra các hàm
dịch vụ ảo: Có một thực tế là Windows do Microsoft tạo ra có khá nhiều các
API không được mô tả đầy đủ bao gồm cả các API quan trọng trong nhân hệ
thống. Virus “Dark Avenger” là virus đầu tiên sử dụng thủ thuật gọi lệnh "Get
List of Lists" với ngắt INT 21h, là lệnh bên trong hệ điều hành DOS. Lệnh này
không được Microsoft mô tả trong bất cứ tài liệu nào, do đó rất khó khăn để
hiểu những gì virus đã làm với hệ thống. Trên thực tế, với chức năng này, virus
có thể truy vấn các trình điều khiển thiết bị trên hệ thống. Điều này vượt qua
được các trình giám sát hệ thống, đồng thời cũng tạo khó khăn lớn cho việc
phân tích virus.
- Chúng chèn thêm các đoạn mã rác không gây ảnh hưởng đến cấu trúc logic
phần mềm xen kẽ giữa các mã lệnh thực sự.
- Chúng sử dụng công nghệ Tunneling: Malware dùng công nghệ này để cố gắng
ngăn chặn các phần mềm chống mã độc phát hiện ra nó. Bằng cách nào đó,
chúng cố gắng là phần mềm đầu tiên chiếm được ngắt hệ thống, từ thời điểm
này, mọi ngắt khác được gọi sẽ được chuyển tới địa chỉ của mã độc, mã độc xử
lý ngắt này sau đó trả về đúng chức năng mà ngắt được gọi cần xử lý. Trong
quá trình xử lý ngắt đó, mã độc sẽ loại bỏ những ngắt ảnh hưởng tới nó. Việc
này làm cho mã độc trong suốt với phần mềm an ninh. Để giải quyết vấn đề
này, một số phần mềm Anti Malware sử dụng kỹ thuật “Đào hầm” của riêng
mình, nhằm phát hiện ra mã độc ẩn chứa sâu trong bộ nhớ, điển hình như công
cụ GMER.
30
2.6.3 Cơ chế chống phần mềm phân tích (Anti-Analysis software)
Một số Malware dùng danh sách đen các công cụ phân tích để lập tức dừng
hoạt động hoặc dừng các hành vi đáng ngờ của bản thân khi phát hiện các phần mềm
này đang hoạt động trên hệ thống. Danh sách đen này chứa rất nhiều đặc trưng của
phần mềm mà Malware thu thập được như: Tên, mã Hash, tổ chức phát hành, tiêu đề
trong cửa sổ chính, các hàm API nghi vấn, …
Do đó, để tránh bị Malware phát hiện, phần mềm dùng để phân tích Malware
cũng cần được trang bị những cơ chế ngụy trang, che dấu nhất định.
Đặc biệt, trong trường hợp có thể tự phát triển được công cụ thì chúng ta có thể
lợi dụng các kỹ thuật mà Malware sử dụng để ẩn giấu, ngụy trang để đối phó nhằm ẩn
giấu phần mềm phân tích. Còn nếu chỉ dừng ở mức sử dụng các phần mềm phân tích
sẵn có, chúng ta cũng có thể tối thiểu hóa khả năng bị Malware phát hiện cho công cụ
của mình bằng một số cách như:
- Thay đổi tên tập tin thực thi, dẫn tới thay đổi tên tiến trình.
- Thay đổi các thông số trong phần miêu tả tập tin thực thi.
- Thay đổi tên, miêu tả trên cửa sổ chính, bằng cách sửa file nhị phân của
phần mềm.
Tất cả những điều trên sẽ làm thay đổi mã Hash của phần mềm giúp chúng khó
bị Malware phát hiện hơn.
2.6.4 Chống gỡ rối và ảo hóa (Anti debugger & Virtual Machine)
Một một số Malware sử dụng các kỹ thuật Anti debugger & Virtual Machine để
tránh bị phân tích, dịch ngược. Nguyên tắc thực hiện là Malware sẽ phát hiện một số
API dò Malware đang được chạy dưới các chương trình gỡ rối (debugger) hoặc môi
trường máy ảo. Có rất nhiều tình huống có thể xảy ra trong trường hợp này nhưng nhìn
chung phần mềm sẽ không thể chạy trên máy ảo hoặc không thể chạy thông qua
debugger. Để vượt qua, ta có nhiều phương pháp khác nhau. Trước tiên cần kiểm tra
thông tin về PE header xem có sự khác biệt lớn gì hay không. Sau đó cần tìm ra đoạn
mã anti debugger, anti Virtual Machine và tiến hành chỉnh sửa để có thể vượt qua
được đoạn mã đó. Hầu hết các phương pháp chống phân tích đều cố gắng tạo ra các
Exception nếu không có debugger để EIP trỏ tới cấu trúc SEH được sắp xếp trước
nhằm khôi phục quyền điều khiển, nếu có debugger thì ngoại lệ (Exception) sẽ không
xảy ra và debugger bị phát hiện. Một số phương pháp sử dụng để phát hiện có
debugger:
- Sử dụng hàm IsDebuggerPresent.
- Kiểm tra cờ NtGlocalFlag.
31
- Đặt cờ kiểm tra Hardware breakpoint.
- Tìm lớp Windows của OllyDBG.
- Phát hiện memory breakpoint sử dụng PAGE_GAURD.
- Kiểm tra thông qua NtQueryInformationProcess.
- Phát hiện thông qua các plugin của IDA: OllyInvisible, HideDebugger.
- Phát hiện bằng cách tìm kiếm xâu OLLY.
- Chống kết xuất tiến trình.
- Tính toán chênh lệch thời gian khi thực thi 1 lệnh để xác định được quá trình
debug.
- Dựa vào LDR Module: nếu debug ở mức người dùng, bộ nhớ được cấp phát sẽ
kết thúc bằng: 0xFEEEFEEE.
- Thay đổi cờ EFLAGS sẽ có khả năng tạo ra ngoại lệ, thông qua đó có thể phát
hiện được chương trình gỡ rối.
2.7 Kỹ thuật đóng gói để che giấu mã độc
Ban đầu kỹ thuật đóng gói được phát triển nhằm tối ưu hóa bộ nhớ và băng
thông trong suốt quá trình lưu trữ và truyền tệp tin. Hiện nay, vấn đề lưu trữ và băng
thông đã được giải quyết, nhưng nhiều công ty phần mềm vẫn sử dụng kỹ thuật này để
đóng gói các tệp thực thi phần mềm và các tệp thành phần để triển khai các phần mềm
thương mại. Thuật toán sử dụng trong kỹ thuật đóng gói trở thành công cụ được kẻ
viết mã độc hại cải tiến để tăng hiệu quả nhằm lẩn tránh sự phát hiện. Kỹ thuật đóng
gói (bao gồm kỹ thuật nén và mã hóa) với mục đích che giấu mã độc được kẻ viết mã
độc thường sử dụng để chuyển đổi mã thực thi nhị phân sang một định dạng khác
nhằm thu gọn mã độc và biến dạng khác biệt hẳn so với ban đầu để tránh sự phát hiện
của các phần mềm diệt virus dựa trên cơ sở mẫu nhận dạng. Trong nhiều trường hợp,
kẻ viết mã độc hại tổ hợp đệ quy các kỹ thuật nén và mã hóa khác nhau để cùng một
mã độc nhưng có thể nhanh chóng tạo ra một lượng lớn biến thể nhị phân thực thi của
mã độc nhằm phát tán.
Đoạn mã thực thi đóng gói được xây dựng với hai phần chính trong quy trình
đóng gói bao gồm hai giai đoạn. Trong giai đoạn đầu tiên của quá trình đóng gói, đoạn
mã thực thi gốc được nén và lưu giữ trong tệp thực thi nén như dữ liệu thông thường.
Sau đó, modul giải nén được thêm vào tệp thực thi nén. Modul giải nén này sau này sẽ
được sử dụng để phục hồi đoạn mã gốc.
Quá trình mở gói thực hiện theo các bước có thứ tự ngược lại với quá trình
đóng gói. Moule giải nén trước tiên được thực hiện và đoạn mã thực thi nhảy đến câu
lệnh thực thi đầu tiên của mã giải nén. Sau khi phục hồi đoạn mã thực thi gốc, con trỏ
32
lệnh thực thi sẽ nhảy ra khỏi câu lệnh cuối cùng của module giải nén để nhảy đến điểm
vào (entry point) của đoạn mã thực thi.
Hình 2.2 Đóng gói để che giấu mã độc
Đóng gói mã là kỹ thuật phổ biến sử dụng để che dấu mã độc. Kỹ thuật đóng
gói xuất hiện trong phần lớn các mẫu malware, do đó điều này tạo ra một thách thức
vô cùng lớn cho người phân tích mã, đặc biệt là khi sử dụng phương pháp phân tích
tĩnh để phân tích một lượng lớn mẫu mã độc hại. Bởi vì, người phân tích cần phải xác
định đoạn mã độc hại bị mã hóa hay nén để thực hiện việc giải nén cũng như giải mã
một cách nhanh chóng và hiệu quả trước khi bắt tay vào thực hiện quá trình phân tích
mã độc. Do nhiều mẫu virus vẫn duy trì trạng thái mã hóa và nén, người phân tích phải
xác định chúng bằng phân tích thủ công hoặc sử dụng kỹ thuật phân tích ngược
(reverse engineering). Yêu cầu đặt ra là cần phải xác định nhanh chóng và chính xác
đoạn mã độc nén và giải nén. Phương pháp phân tích entropy là một kỹ thuật hỗ trợ
cho người phân tích mã độc giải quyết được yêu cầu này.
Mặc dù mã hóa có nhiều thuận lợi để mã độc ẩn giấu mã của chúng, nhưng
cũng chính điều này lại làm chúng dễ bị phát hiện hơn. Vì, một phần mềm thông
thường không có ý đồ lạ thì không cần phải nén hay mã hóa code. Nếu một tổ chức
muốn bảo mật những đoạn mã nhạy cảm trong phần mềm của họ thì: một là tổ chức đó
phải có chữ ký số kèm theo phần mềm, hai là họ phải thông báo công khai khi phát
hành phần mềm để các phần mềm bảo vệ máy tính không cảnh báo nhầm và để người
sử dụng phần mềm đó được biết. Điều này sẽ dẫn tới hệ quả, khi rà quét toàn bộ hệ
thống, nếu phát hiện phần mềm nào nén, mã hóa code mà không có chữ ký số hay
không được thông báo trước từ người sử dụng hệ thống thì sẽ mặc nhiên đưa vào dạng
phần mềm độc hại.
Tải bản FULL (74 trang): https://bit.ly/3UnGn61
Dự phòng: fb.com/TaiHo123doc.net
33
2.8 Xu hướng phát triển của Malware
Có thể nhận thấy từ trc đến nay mã độc có xu hướng phát triển tăng dần cả về
độ phức tạp cũng như mục tiêu mà chúng nhắm đến. Hiện nay, đa phần mã độc được
thiết kế nhắm đến các mục tiêu được xác định từ trước, đó có thể là một cá nhân hoặc
một tổ chức. Xuất phát từ mục đích đó, mã độc hiện nay được thiết kế sao cho có khả
năng che dấu càng lâu càng tốt, sau đó chúng mới thực hiện các mục đích phá hoại, ăn
cắp thông tin hay gián điệp.
Một đặc tính nguy hiểm của mã độc hiện nay đó là nó được thiết kế với mục
đích lây nhiễm dài hạn trên mục tiêu, điều đó có nghĩa là khi lây nhiễm vào máy mục
tiêu, thay vì ngay lập tức có những hành vi phá hoại hay ăn cắp dữ liệu dễ bị phát hiện,
chúng sẽ thực hiện một loạt sự chuẩn bị để tồn tại trong hệ thống lâu dài. Sau đó, mới
thực thi các cuộc tấn công vào hệ thống lớn hơn, hay tấn công ra ngoài hệ thống đã bị
lây nhiễm với sự đảm bảo rằng nếu cuộc tấn công thất bại, kẻ tấn công có thể sử dụng
mã độc đó cho một cuộc tấn công khác vào thời gian sau đó với một hình thức hay
cách tiếp cận khác.
Trong những mã độc đã được phân tích, người ta còn nhận thấy xu hướng cải
tiến phức tạp trong việc đánh cắp dữ liệu - một trong những mục đích quan trọng của
mã độc. Cách thức mà mã độc sử dụng phải đảm bảo dữ liệu đánh cắp được không bị
chặn hay bị phát hiện nhưng hành vi đánh cắp vẫn đảm bảo tính bí mật, điều này đòi
hỏi kẻ tấn công phải sử dụng những kênh giao thức phổ biến cũng như mã hóa dữ liệu
khi truyền đi.
Mục tiêu của những loại mã độc nguy hiểm thời gian gần đây có thể bao gồm
quân sự, chính trị hay thu thập các thông tin tình báo kinh tế, làm gián đoạn các hoạt
động hoặc phá hủy các thiết bị công nghiệp. Malware Stuxnet cho phép kẻ tấn công
phá vỡ các hệ thống kiểm soát công nghiệp trong quá trình làm giàu Uranium của một
cơ sở công nghiệp cụ thể là một điển hình cho xu hướng phát triển của mã độc trong
tương lai.
Social engineering - một kỹ thuật cho phép kẻ tấn công lợi dụng yếu tố con
người để đánh bại hệ thống an ninh cũng được sử dụng nhiều hiện nay (yếu tố con
người luôn là điểm yếu nhất trong mọi phương án phòng vệ). Nhờ kỹ thuật này, kẻ tấn
công có thể xâm nhập sâu vào hệ thống an ninh của đối tượng. Dựa vào các thông tin
thu thập thông qua mạng xã hội hay các trang web thông tin truyền thông, kẻ tấn công
có thể tập hợp thông tin về mục tiêu cũng như một mạng lưới thông tin xung quanh
mục tiêu, từ đó các cuộc tấn công trở nên đáng tin cậy và có sức thuyết phục để dễ
dàng vượt qua hệ thống an ninh.
Tải bản FULL (74 trang): https://bit.ly/3UnGn61
Dự phòng: fb.com/TaiHo123doc.net
34
Ghi nhận đầu tiên về mã độc vào năm 1981 (xem 1.3 Lược sử về Malware) và
phát triển nhanh chóng theo xu hướng phát triển của công nghệ máy tính. Càng ngày,
mã độc càng trải qua những thay đổi đáng kể về đặc điểm, phân loại cũng như mục
đích sử dụng. Cùng với sự bùng nổ của mạng máy tính, thiết bị di động thông minh,
mã độc cũng tăng trưởng với tốc độ chóng mặt và kẻ tấn công liên tục biến đổi mã độc
để thích ứng với các công nghệ và nền tảng mới.
Nếu như ban đầu mục tiêu của những đoạn mã độc chỉ nhằm đến những máy
tính đơn lẻ, cơ chế lây lan hầu như không có và tác hại mang tính trêu chọc thì ngày
nay mã độc có thể gây ra những thiệt hại lớn đối với hệ thống máy tính, cơ chế lây lan
phức tạp, phá hoại hoặc đánh cắp dữ liệu, tấn công từ chối dịch vụ. Nghiêm trọn hơn,
mã độc có thể được phát triển phức tạp và thiết kế tinh vi với mục đích gián điệp, phá
hoại trên diện rộng bởi các tổ chức, chính phủ trên thế giới. Từ đó dẫn tới nguy cơ về
một cuộc chiến tranh mạng Cyberwar lan rộng.
Dựa vào thực tế sự phát triển mã độc hiện nay, một số dự đoán xu hướng phát
triển của mã độc trong tương lai:
- Các loại mã độc với các kỹ thuật chống phân tích được cải tiến.
- Mã độc trong các thiết bị di động bùng phát do xu hướng di động đã và
sẽ phát triển mạnh trong tương lai.
- Mã độc với những kỹ thuật được cải tiến đảm bảo sao cho chúng có thể
lây nhiễm trên diện rộng đồng thời trên nhiều nền tảng khác nhau.
- Mã độc được sử dụng như là một công cụ quan trọng trong chiến tranh
mạng giữa các tổ chức hay các quốc gia.
Cùng với sự bùng nổ của mạng máy tính, thiết bị di động cũng như sự phát triển
không ngừng của công nghệ thông tin, mã độc cũng liên tục phát triển và biến đổi để
phù hợp.
Chúng không ngừng cải tiến để chống lại sự phát hiện từ phía người sử dụng,
biến đổi để thích nghi với môi trường, nền tảng mới với mục tiêu lây nhiễm trên diện
rộng cho cùng một mục đích của người viết mã độc. Mã độc có thể coi là loại vũ khí
sắc bén của chiến tranh mạng trong tương lai.
6811916

More Related Content

Similar to Nghiên cứu phương pháp phân tích phần mềm mã độc.pdf

Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdf
Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdfNghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdf
Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdfTieuNgocLy
 
Luận văn thạc sĩ
Luận văn thạc sĩLuận văn thạc sĩ
Luận văn thạc sĩssuser499fca
 
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfNghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfHanaTiti
 
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdfCác giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdfTieuNgocLy
 
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...jackjohn45
 
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdfCá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdfHanaTiti
 
Luận văn thạc sĩ máy tính.
Luận văn thạc sĩ máy tính.Luận văn thạc sĩ máy tính.
Luận văn thạc sĩ máy tính.ssuser499fca
 
Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbotleeminhpark
 

Similar to Nghiên cứu phương pháp phân tích phần mềm mã độc.pdf (20)

Luận văn: Giải pháp tích hợp chữ ký số cho ứng dụng, HAY, 9đ
Luận văn: Giải pháp tích hợp chữ ký số cho ứng dụng, HAY, 9đLuận văn: Giải pháp tích hợp chữ ký số cho ứng dụng, HAY, 9đ
Luận văn: Giải pháp tích hợp chữ ký số cho ứng dụng, HAY, 9đ
 
Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdf
Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdfNghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdf
Nghiên cứu cải thiện tốc độ trích rút đặc trưng vân tay.pdf
 
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mởGiải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
 
Kế hoạch quản lý hàng đợi động cho truyền thông đa phương tiện
 Kế hoạch quản lý hàng đợi động cho truyền thông đa phương tiện Kế hoạch quản lý hàng đợi động cho truyền thông đa phương tiện
Kế hoạch quản lý hàng đợi động cho truyền thông đa phương tiện
 
Luận văn: Công nghệ ảo hóa Docker và ứng dụng tại ĐH Hải Phòng
Luận văn: Công nghệ ảo hóa Docker và ứng dụng tại ĐH Hải PhòngLuận văn: Công nghệ ảo hóa Docker và ứng dụng tại ĐH Hải Phòng
Luận văn: Công nghệ ảo hóa Docker và ứng dụng tại ĐH Hải Phòng
 
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đLuận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
 
Luận văn thạc sĩ
Luận văn thạc sĩLuận văn thạc sĩ
Luận văn thạc sĩ
 
Luận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBC
Luận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBCLuận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBC
Luận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBC
 
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdfNghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
Nghiên cứu phát triển cổng thông tin điện tử cho doanh nghiệp.pdf
 
luan van thac si ky thuat lap trinh thoi gian bang ngon ngu pp
luan van thac si ky thuat lap trinh thoi gian bang ngon ngu ppluan van thac si ky thuat lap trinh thoi gian bang ngon ngu pp
luan van thac si ky thuat lap trinh thoi gian bang ngon ngu pp
 
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdfCác giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
 
Phương pháp mật mã đảm bảo toàn vẹn dữ liệu trong trường học
Phương pháp mật mã đảm bảo toàn vẹn dữ liệu trong trường họcPhương pháp mật mã đảm bảo toàn vẹn dữ liệu trong trường học
Phương pháp mật mã đảm bảo toàn vẹn dữ liệu trong trường học
 
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
Xây dựng chatbot bán hàng dựa trên mô hình sinh luận văn thạc sĩ công nghệ th...
 
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdfCá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
 
Ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAY
Ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAYỨng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAY
Ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAY
 
Luận văn thạc sĩ máy tính.
Luận văn thạc sĩ máy tính.Luận văn thạc sĩ máy tính.
Luận văn thạc sĩ máy tính.
 
Luan van xay dung Chatbot
Luan van xay dung ChatbotLuan van xay dung Chatbot
Luan van xay dung Chatbot
 
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOTLuận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
 
Đề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đ
Đề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đĐề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đ
Đề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đ
 
Quản lý hàng đợi động Blue cho truyền thông đa phương tiện, 9đ
 Quản lý hàng đợi động Blue cho truyền thông đa phương tiện, 9đ Quản lý hàng đợi động Blue cho truyền thông đa phương tiện, 9đ
Quản lý hàng đợi động Blue cho truyền thông đa phương tiện, 9đ
 

More from HanaTiti

TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdfTRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdfHanaTiti
 
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdfTRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdfHanaTiti
 
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...HanaTiti
 
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...HanaTiti
 
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...HanaTiti
 
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdfNhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdfHanaTiti
 
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdfPháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdfHanaTiti
 
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...HanaTiti
 
The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...HanaTiti
 
Deteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdfDeteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdfHanaTiti
 
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdfPhát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdfHanaTiti
 
The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...HanaTiti
 
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdfQuản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdfHanaTiti
 
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdfSự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdfHanaTiti
 
An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...HanaTiti
 
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdfĐánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdfHanaTiti
 
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...HanaTiti
 
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...HanaTiti
 
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdfPHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdfHanaTiti
 
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdfENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdfHanaTiti
 

More from HanaTiti (20)

TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdfTRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
 
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdfTRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
 
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
 
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
 
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
 
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdfNhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
 
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdfPháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
 
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
 
The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...
 
Deteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdfDeteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdf
 
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdfPhát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
 
The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...
 
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdfQuản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
 
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdfSự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
 
An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...
 
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdfĐánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
 
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
 
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
 
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdfPHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
 
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdfENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
 

Recently uploaded

C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoidnghia2002
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...Nguyen Thanh Tu Collection
 
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàBài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàNguyen Thi Trang Nhung
 
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...lamluanvan.net Viết thuê luận văn
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...Nguyen Thanh Tu Collection
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem Số Mệnh
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdfxemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdfXem Số Mệnh
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdfltbdieu
 
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...VnTh47
 
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnKabala
 
Giới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vn
Giới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vnGiới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vn
Giới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vnKabala
 
bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhdangdinhkien2k4
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phươnghazzthuan
 
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họcChương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họchelenafalet
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...Nguyen Thanh Tu Collection
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfXem Số Mệnh
 
Logistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdfLogistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdfAnPhngVng
 
Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnpmtiendhti14a5hn
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
 
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàBài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
 
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
Luận văn 2024 Thực trạng và giải pháp nâng cao hiệu quả công tác quản lý hành...
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdfxemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
[123doc] - ao-dai-truyen-thong-viet-nam-va-xuong-xam-trung-quoc-trong-nen-van...
 
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận HạnTử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
Tử Vi Là Gì Học Luận Giải Tử Vi Và Luận Đoán Vận Hạn
 
Giới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vn
Giới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vnGiới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vn
Giới Thiệu Về Kabala | Hành Trình Thấu Hiểu Bản Thân | Kabala.vn
 
bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họcChương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
 
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdfxemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
 
Logistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdfLogistics ngược trong thương mại doa.pdf
Logistics ngược trong thương mại doa.pdf
 
Bài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiệnBài giảng môn Truyền thông đa phương tiện
Bài giảng môn Truyền thông đa phương tiện
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Nghiên cứu phương pháp phân tích phần mềm mã độc.pdf

  • 1. 1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGÔ QUANG HƯNG NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH PHẦN MỀM MÃ ĐỘC LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2014
  • 2. 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ---o0o--- NGÔ QUANG HƯNG NGHIÊN CỨU PHƯƠNG PHÁP PHÂN TÍCH PHẦN MỀM MÃ ĐỘC Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. PHÙNG VĂN ỔN Hà Nội – 2014
  • 3. 1 LỜI CAM ĐOAN Tôi xin cam đoan những kết quả đạt được trong luận văn này là do bản thân nghiên cứu, tổng hợp và thực hiện. Toàn bộ những điều được trình bày trong luận văn là của cá nhân hoặc được tham khảo và tổng hợp từ các nguồn tài liệu khác nhau. Tất cả các tài liệu tham khảo, tổng hợp đều được trích dẫn với nguồn gốc rõ ràng. Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình. Nếu có gì sai trái, tôi xin chịu mọi hình thức kỷ luật theo qui đinh. Hà Nội, tháng 10 năm 2014 Học viên Ngô Quang Hưng
  • 4. 2 LỜI CẢM ƠN Tôi muốn bày tỏ lòng biết ơn sâu sắc tới những người đã giúp đỡ tôi trong quá trình làm luận văn. Đặc biệt tôi xin cám ơn TS. Phùng Văn Ổn, với lòng kiên trì, thầy đã chỉ bảo tôi chi tiết, cho tôi những lời nhận xét quí báu và theo sát tôi trong từng bước làm luận văn. Đồng thời tôi cũng xin gửi lời cảm ơn tới các thầy cô giáo giảng dạy tại khoa Công nghệ thông tin – Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền đạt các kiến thức cho tôi trong suốt thời gian học tập và nghiên cứu vừa qua. Tôi cũng xin chân thành cảm ơn cơ quan, bạn bè, đồng nghiệp, gia đình và những người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để tôi hoàn thành nhiệm vụ học tập cũng như hoàn thành luận văn này. Hà nội, tháng 10 năm 2014 Học viên Ngô Quang Hưng
  • 5. 3 MỤC LỤC LỜI CẢM ƠN.................................................................................................... 2 MỤC LỤC ......................................................................................................... 3 DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT ..................................................5 DANH MỤC HÌNH VẼ, SƠ ĐỒ, BẢNG ..........................................................6 MỞ ĐẦU ...........................................................................................................7 CHƯƠNG 1-TỔNG QUAN VỀ MALWARE....................................................9 1.1 Khái niệm về Malware.............................................................................. 9 1.2 Phân loại Malware....................................................................................9 1.3 Lược sử về Malware ............................................................................... 13 1.4 Vai trò của việc phân tích Malware......................................................... 17 CHƯƠNG 2– CƠ CHẾ HOẠT ĐỘNG CỦA MALWARE.............................. 18 2.1 Tìm hiểu về cấu trúc PE file .................................................................. 18 2.2 Hình thức lây nhiễm.............................................................................. 19 2.2.1 Qua thiết bị lưu trữ......................................................................... 19 2.2.2 Qua mạng Internet.......................................................................... 20 2.3 Đối tượng lây nhiễm.............................................................................. 22 2.3.1 Các phần mềm: ................................................................................ 22 2.3.2 Đoạn mã (Script):............................................................................. 23 2.3.3 Shortcuts: ......................................................................................... 24 2.3.4 Một số loại tập tin khác:................................................................... 24 2.4 Khởi động cùng hệ thống ...................................................................... 25 2.5 Phá hoại và các hoạt động khác............................................................. 28 2.6 Cơ chế tự bảo vệ của mã độc................................................................. 29 2.6.1 Cơ chế tạo áo giáp (Armouring):.................................................... 29 2.6.2 Cơ chế chống theo dõi (Anti Heuristic):......................................... 29 2.6.3 Cơ chế chống phần mềm phân tích (Anti-Analysis software)......... 30 2.6.4 Chống gỡ rối và ảo hóa (Anti debugger & Virtual Machine).......... 30 2.7 Kỹ thuật đóng gói để che giấu mã độc................................................... 31 2.8 Xu hướng phát triển của Malware ......................................................... 33 CHƯƠNG 3- PHƯƠNG PHÁP PHÂN TÍCH MALWARE............................. 35 3.1 Qui trình phân tích Malware.................................................................. 35 3.2 Kiểm tra, phát hiện và lấy mẫu Malware ............................................... 35 3.2.1 Kiểm tra các phần mềm khởi động cùng hệ thống.......................... 35 3.2.2 Tiến trình trong Windows .............................................................. 36 3.2.3 Kiểm tra chuỗi (string) của các tiến trình ....................................... 37 3.2.4 Tiêm mã độc .................................................................................. 39 3.2.5 Phát hiện che giấu mã độc với phương pháp phân tích Entropy...... 39
  • 6. 4 3.2.6 Sử dụng hàm băm (Hash) để xác định phần mềm độc hại. ............. 41 3.2.7 Lấy mẫu Malware .......................................................................... 41 3.3 Thiết lập môi trường phân tích an toàn.................................................. 42 3.4 Phân tích tĩnh ........................................................................................ 44 3.4.1 Phân tích các hàm Windows API để phát hiện phần mềm nghi vấn 44 3.4.1.1API là gì :....................................................................................... 44 3.4.1.2Các thành phần của Windows API................................................. 44 3.4.1.3Tại sao phải tìm hiểu Windows API............................................... 44 3.4.2 Dịch ngược và phân tích mã Assembly .......................................... 45 3.4.3 Unpacking...................................................................................... 45 3.5 Phân tích động....................................................................................... 48 3.5.1 Sử dụng các công cụ Sandbox........................................................ 49 3.5.2 Giám sát hoạt động của tiến trình................................................... 50 3.5.3 Sử dụng các chương trình gỡ rối (Debugger) ................................. 50 3.5.4 Sử dụng Volatility để rà quét, phân tích mã độc trên RAM ............ 52 3.6 Một số tiêu chí đánh giá an ninh tiết trình............................................... 53 CHƯƠNG 4 – HỆ THỐNG HỖ TRỢ PHÂN TÍCH MALWARE................ 54 4.1 Hệ thống phân tích Malware tự động Cuckoo Sandbox .......................... 54 4.1.1 Giới thiệu hệ thống........................................................................... 54 4.1.2 Cài đặt hệ thống ............................................................................... 55 4.1.3 Sử dụng Cuckoo Sandbox để phân tích Malware ............................. 56 4.2 Xây dựng phần mềm đánh giá an ninh tiến trình..................................... 59 4.2.1 Giới thiệu phần mềm ........................................................................... 59 4.2.2 Biểu đồ Use case.................................................................................. 60 4.2.3 Một số kịch bản chính của phần mềm.................................................. 62 4.2.4 Chương trình........................................................................................ 63 KẾT LUẬN.................................................................................................. 66 TÀI LIỆU THAM KHẢO................................................................................ 67 PHỤ LỤC: MỘT SỐ HÀM WINDOWS CẦN CHÚ Ý KHI PHÂN TÍCH MALWARE.................................................................................................. 68
  • 7. 5 DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt AIM AOL Instant Messenger Tin nhắn nhanh của mạng AOL AOL America Online America Online CERT Computer emergency response team Đội phản ứng nhanh về máy tính DDoS Distributed denial-of-service Từ chối dịch vụ phân tán DUMP Dump Kế xuất EIP EIP Thanh ghi trỏ lệnh HTML Virtual Machine Máy ảo IAT Import Address Table Bảng địa chỉ hàm nhập khẩu IDE Integrated development environment Môi trường phát triển tích hợp IM Instant Messaging Tin nhắn nhanh Malware Malicious software Mã độc NIST National Institute of Standards and Technology Viện công nghệ và tiêu chuẩn quốc gia Hoa Kỳ NSRL National Software Reference Library Thư viện tham khảo phần mềm quốc gia Hoa Kỳ OEP Original Entry Point Điểm vào chương trình gốc OTP One Time Password Mậ khẩu một lần PC Personal computer Máy tính cá nhân PCAP Packet capture Bắt gói tin PE Portable Executable Thực thi khả chuyển RAT Remote Administration Tool Công cụ quản trị từ xa SMS Short Message Service Tin nhắn ngắn TCP Transmission Control Protocol Giao thức điều khiển truyền vận VCL Virus Creation Laboratory Phòng thí nghiệm tạo virus VM Virtual Machine Máy ảo VX Virus eXchange Trao đổi virus
  • 8. 6 DANH MỤC HÌNH VẼ, SƠ ĐỒ, BẢNG Hình 2.1: Cấu trúc cơ bản của PE ..............................................................................18 Hình 2.2 Đóng gói để che giấu mã độc ......................................................................32 Hình 3.1 Qui trình phân tích Malware........................................................................35 Hình 3.2 Kiểm tra các phần mềm khởi động cùng hệ thống .......................................36 Hình 3.3 Quản lý tiến trình và kiểm tra chữ ký file thực thi .......................................37 Bảng 3.1: Độ chính xác thống kê dựa trên Entropy....................................................41 Hình 3.4. Mô hình hệ thống ảo hóa............................................................................42 Hình 3.5: Xác định phần mềm đóng gói với PEID .....................................................46 Hình 3.6: Tìm OEP của phần mềm gốc......................................................................46 Hình 3.7: Lưu phần mềm gốc đã được giải đóng gói trên bộ nhớ...............................47 Hình 3.8: Kết xuất file .exe từ bộ nhớ........................................................................47 Hình 3.9: Sửa lại Import Address Table.....................................................................48 Bảng 3.2: Phát hiện tiến trình liệt kê các tập tin .doc bằng phương pháp giám sát......50 Bảng 3.3: Một số tiêu chí đánh giá an ninh tiến trình .................................................53 Hình 4.1 Sơ đồ hệ thống phân tích mã độc Cuckoo Sandbox .....................................55 Hình 4.2 UC01 - Tổng quan.......................................................................................60 Hình 4.3 UC02 – Kiểm tra tiến trình..........................................................................60 Hình 4.4 UC03 – Liệt kê kết nối mạng.......................................................................61 Hình 4.5 UC04 – Kiểm tra Hash................................................................................61 Hình 4.6 UC05 – Kiểm tra các hàm API....................................................................61 Hình 4.7 Chức năng kiểm tra tiến trình......................................................................63 Hình 4.8 Xác định các kết nối mạng ..........................................................................64 Hình 4.9 Kiểm tra mã Hash của tập tin ......................................................................64 Hình 4.10 Phân tích bảng Import Table và đưa ra các hàm nghi vấn..........................65
  • 9. 7 MỞ ĐẦU Thế giới đang chứng kiến những thay đổi lớn và có sự phát triển nhanh chóng về mọi mặt, nhất là trong ngành công nghệ thông tin; phần mềm mã độc cũng không nằm ngoài xu hướng đó. Từ thời điểm lý thuyết tự nhân bản của phần mềm máy tính được John von Neuman (1903-1957) đưa ra (năm 1941) đến khi xuất hiện virus đầu tiên phải mất hơn 3 thập kỷ, nhưng với sự bùng nổ của Internet mã độc cũng theo đó bùng nổ theo. Song song với việc ứng dụng công nghệ thông tin, mã độc cũng đã và đang len lỏi vào mọi mặt của đời sống, gây ra những thiệt hại vô cùng nghiêm trọng cả về kinh tế lẫn an ninh, quốc phòng. Khi nói về chống phần mềm độc hại, ta thường nói tới phần mềm chống virus nhưng không phải lúc nào phần mềm chống virus cũng có hiệu quả. Do đó, việc nâng cao ý thức cảnh giác để phòng ngừa và hơn thế nữa là phân tích, vô hiệu hoá phần mềm độc hại trở thành nhu cầu tất yếu. Vấn đề phân tích, chống phần mềm mã độc đã được vô số các hãng bảo mật trên thế giới tiến hành đầu tư nghiên cứu; từ các hãng lớn như Internet McAfee, Kaspersky, Norton … cho tới các nhóm phát triển phần mềm đơn lẻ. Một số ứng dụng điển hình có thể kể đến như: McAfee Antivirus, Kaspersky Antivirus, Norton Antivirus, Microsoft Security Essentials, AVG Anti-Virus … Tuy nhiên, do sự phát triển của phần mềm mã độc luôn đi trước các chương tình diệt virus một bước nên việc nghiên cứu, phân tích mã độc càng trở nên quan trọng và cấp thiết để làm sao hạn chế được tối đa những thiệt hại do phần mềm mã độc gây ra. Trên cơ sở kiến thức về an toàn thông tin, lý thuyết về hệ điều hành và nhu cầu thực tế, hướng tới xây dựng một chương trình đánh giá an ninh tiến trình nhằm hỗ trợ quá trình phát hiện mã độc. Ngoài ra, đề tài còn có thể được phát triển để ứng dụng phục vụ cho các cơ quan chính phủ (an ninh, quốc phòng…) cũng như các tổ chức, cá nhân có nhu cầu. Ngoài phần Mở đầu, Kết luận và Phụ lục, nội dung luận văn được chia làm 4 chương chính: Chương 1. Tổng quan về Malware: chương này giới thiệu những vấn đề cơ bản nhất về Malware, lịch sử và xu thế phát triển chúng. Chương 2. Cơ chế hoạt động Malware: chương này mô tả khái quát về các hàm API, cấu trúc file PE của Windows và một số kỹ thuật căn bản mà Malware sử dụng để lây nhiễm và duy trì sự tồn tại của chúng trên hệ thống.
  • 10. 8 Chương 3. Phương pháp phân tích Malware: chương này mô tả các bước trong phân tích Malware cũng như xây dựng một quy trình phân tích Malware. Chương 4. Xây dựng phần mềm hỗ trợ phân tích Malware: áp dụng lý thuyết đã đưa ra trong Chương 3 để xây dựng phần mềm hỗ trợ phân tích Malware. Giới thiệu hệ thống phân tích Malware tự động Cuckoo Sandbox. Phần Kết luận: trình bày tổng hợp các kết quả nghiên cứu của luận văn và định hướng nghiên cứu tiếp theo. Luận văn đã đạt được một số kết quả khả quan trong việc nghiên cứu kỹ thuật phân tích Malware, đưa ra được quy trình phân tích đồng thời xây dựng được một công cụ hỗ trợ phân tích hiệu quả. Tuy nhiên, luận văn không thể tránh khỏi những thiếu sót, vì vậy tôi rất mong nhận được những ý kiến đóng góp, nhận xét của thầy cô giáo và bạn đọc để kết quả nghiên cứu được ngày một hoàn thiện hơn.
  • 11. 9 CHƯƠNG 1-TỔNG QUAN VỀ MALWARE Các khái niệm và cách phân loại sau đây đều được trích dẫn theo định nghĩa đưa ra bởi Viện Tiêu chuẩn và Công nghệ quốc gia Hoa kỳ - National Institute of Standards and Technology (NIST). 1.1 Khái niệm về Malware Mã độc hại (Malware hay Maliciuos code) là một phần mềm được chèn một cách bí mật vào hệ thống với mục đích làm tổn hại đến tính bí mật, tính toàn vẹn hoặc tính sẵn sàng của hệ thống.[7, tr15] 1.2 Phân loại Malware Có nhiều cách phân loại mã độc khác nhau, dựa vào các tiêu chí khác nhau. Tuy nhiên, định nghĩa đưa ra bởi NIST là cách định nghĩa phổ biến nhất trong ngành khoa học máy tính ngày nay [7]. 1.2.1 Virus: Là một loại mã độc hại (Maliciuos code) có khả năng tự nhân bản và lây nhiễm chính nó vào các file, phần mềm hoặc máy tính. Như vậy, có thể suy ra virus máy tính phải luôn luôn bám vào một vật chủ (đó là file dữ liệu hoặc file ứng dụng) để lây lan. Các phần mềm diệt virus dựa vào đặc tính này để thực thi việc phòng chống/diệt virus, để quét các file trên thiết bị lưu hoặc quét các file trước khi lưu xuống ổ cứng, ... Điều này cũng giải thích vì sao đôi khi các phần mềm diệt virus tại PC đưa ra thông báo “phát hiện ra virus nhưng không diệt được” khi thấy có dấu hiệu hoạt động của virus trên PC, bởi vì “vật mang virus” lại nằm ở máy khác nên không thể thực thi việc xoá đoạn mã độc hại đó được. 1.2.2 Compiled Virus là virus mà mã thực thi của nó đã được dịch hoàn chỉnh bởi một trình biên dịch để nó có thể thực thi trực tiếp từ hệ điều hành. Các loại boot virus (như Michelangelo và Stoned), file virus (như Jerusalem) rất phổ biến trong những năm 80 là virus thuộc nhóm này, compiled virus cũng có thể được pha trộn bởi cả boot virus va file virus trong cùng một phiên bản. 1.2.3 Interpreted Virus là một tổ hợp của mã nguồn mà chỉ thực thi được dưới sự hỗ trợ của một ứng dụng cụ thể hoặc một dịch vụ cụ thể trong hệ thống. Một cách đơn giản, virus kiểu này chỉ là một tập lệnh, cho đến khi ứng dụng gọi thì nó mới được thực thi. Macro virus, scripting virus là các virus nằm trong dạng này. Macro virus rất phổ biến trong các ứng dụng Microsoft Office khi tận dụng
  • 12. 10 khả năng kiểm soát việc tạo và mở file để thực thi và lây nhiễm. Chúng ta phân biệt giữa macro virus và scripting virus như sau: macro virus là tập lệnh thực thi bởi một ứng dụng cụ thể, còn scripting virus là tập lện chạy bằng một service của hệ điều hành. Melisa là một ví dụ xuất sắc về macro virus, Love Stages là ví dụ cho scripting virus. 1.2.4 Worm cũng là một phần mềm có khả năng tự nhân bản và tự lây nhiễm trong hệ thống tuy nhiên nó có khả năng “tự đóng gói”, điều đó có nghĩa là worm không cần phải có “file chủ” để chứa nó khi đã nhiễm vào hệ thống. Như vậy, có thể thấy rằng chỉ dùng các phần mềm quét file sẽ không diệt được worm trong hệ thống vì worm không “bám” vào một file hoặc một vùng nào đó trên đĩa cứng. Mục tiêu của worm bao gồm cả việc làm lãng phí nguồn lực băng thông của mạng cũng như phá hoại hệ thống (xoá file, tạo backdoor, thả keylogger,..). Worm có đặc trưng là khả năng tấn công lan rộng cực kỳ nhanh chóng do không cần tác động của con người (như khởi động máy, sao chép file hay đóng/mở file). Nhìn chung, Worm có thể chia làm 2 loại: - Network Service Worm: Lan truyền bằng cách lợi dụng các lỗ hổng bảo mật của mạng, của hệ điều hành hoặc của ứng dụng. Sasser là ví dụ cho loại sâu này. - Mass Mailing Worm: Là một dạng tấn công qua dịch vụ mail, tuy nhiên nó tự đóng gói để tấn công và lây nhiễm chứ không bám vào vật chủ là email. Khi sâu này lây nhiễm vào hệ thống, nó thường cố gắng tìm kiếm sổ địa chỉ và tự gửi bản thân nó đến các địa chỉ thu nhặt được. Việc gửi đồng thời cho toàn bộ các địa chỉ thường gây quá tải cho mạng hoặc cho máy chủ mail. Netsky, Mydoom là ví dụ cho thể loại này. 1.2.5 Trojan Horse: Là loại mã độc hại được đặt theo sự tích “Ngựa thành Troa”. Trojan horse không tự nhân bản. Nó lây vào hệ thống với biểu hiện ban đầu rất ôn hoà nhưng thực chất bên trong có ẩn chữa các đoạn mã với mục đích gây hại. Trojan có thể lựa chọn một trong 3 phương thức để gây hại như sau: - Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, bên cạnh đó thực thi các hoạt động gây hại một cách riêng biệt (ví dụ như gửi một trò chơi dụ cho người dùng sử dụng, bên cạnh đó là một phần mềm đánh cắp password). - Tiếp tục thực thi các chức năng của phần mềm mà nó bám vào, nhưng sửa đổi một số chức năng để gây tổn hại (ví dụ như một trojan giả lập một cửa sổ login để lấy password) hoặc che giấu các hành động phá hoại
  • 13. 11 khác (ví dụ như trojan che dấu cho các tiến trình độc hại khác bằng cách tắt các hiển thị của hệ thống). - Thực thi luôn một phần mềm gây hại bằng cách núp dưới danh một phần mềm không có hại (ví dụ như một trojan được giới thiệu như là một trò chơi hoặc một tool trên mạng, người dùng chỉ cần kích hoạt file này là lập tức dữ liệu trên PC sẽ bị xoá hết). 1.2.6 Malicious Mobile Code: Là một dạng mã phần mềm có thể được gửi từ xa vào một hệ thống mà không cần đến lời gọi thực hiện của người dùng hệ thống đó. Malicious Mobile Code được coi là khác với virus, worm do đặc điểm không nhiễm vào file và không tìm cách tự phát tán . Thay vì khai thác một điểm yếu bảo mật xác định nào đó, kiểu tấn công này thường tác động đến hệ thống bằng cách tận dụng các quyền ưu tiên ngầm định để chạy mã từ xa. Các công cụ lập trình như Java, ActiveX, JavaScript, VBScript là môi trường tốt cho Malicious mobile code. Một trong những ví dụ nổi tiếng của kiểu tấn công này là Nimda, sử dụng JavaScript. Kiểu tấn công của Nimda thường được biết đến như một tấn công hỗn hợp (Blended Atatck). Cuộc tấn công bắt đầu khi người dùng mở một email độc bằng web-browser. Sau khi nhiễm vào máy, Nimda sẽ cố gắng sử dụng sổ địa chỉ email của máy đó để phát tán tới các máy khác. Mặt khác, từ máy đã bị nhiễm, Nimda cố gắng quét các máy khác trong mạng có thư mục chia sẻ mà không bảo mật, Nimda sẽ dùng dịch vụ NetBIOS như phương tiện để chuyển file nhiễm virus tới các máy đó. Đồng thời Nimda cố gắng dò quét để phát hiện ra các máy tính có cài dịch vụ IIS có điểm yếu bảo mật của Microsoft. Khi tìm thấy, nó sẽ copy bản thân nó vào server. Nếu một web client có điểm yếu bảo mật tương ứng kết nối vào trang web này, client đó cũng bị nhiễm (lưu ý rằng bị nhiễm mà không cần “mở email bị nhiễm virus”). Quá trình nhiễm virus sẽ lan tràn theo cấp số nhân. 1.2.7 Tracking Cookie: Là một dạng lạm dụng cookie để theo dõi hành động duyệt web của người sử dụng một cách bất hợp pháp. Cookie là một file dữ liệu chứa thông tin về việc sử dụng một trang web cụ thể nào đó của web-client. Mục tiêu của việc duy trì các cookie trong hệ thống máy tính nhằm căn cứ vào đó để tạo ra giao diện, hành vi của trang web sao cho thích hợp và tương ứng với từng web-client. Tuy nhiên tính năng này lại bị lạm dụng để tạo thành các phần mềm gián điệp (spyware) nhằm thu thập thông tin riêng tư về hành vi duyệt web của cá nhân.
  • 14. 12 1.2.8 Attacker Tool: Là những bộ công cụ tấn công có khả năng đẩy các phần mềm độc hại vào trong hệ thống. Các bộ công cụ này giúp kẻ tấn công truy nhập bất hợp pháp vào hệ thống hoặc làm cho hệ thống bị lây nhiễm mã độc hại. Khi được tải vào trong hệ thống bằng các đoạn mã độc hại, attacker tool có thể chính là một phần của đoạn mã độc đó (ví dụ như trong một trojan) hoặc nó sẽ được tải vào hệ thống sau khi nhiễm. Attacker tool thường gặp là backdoor và keylogger Backdoor là một thuật ngữ chung chỉ các phần mềm độc hại thường trú và đợi lệnh điều khiển từ các cổng dịch vụ TCP hoặc UDP. Phần lớn các backdoor cho phép kẻ tấn công thực thi một số hành động trên máy bị nhiễm như truyền file, dò mật khẩu, thực hiện mã lệnh,... Backdoor cũng có thể được xem xét dưới 2 dạng: Zoombie và Remote Administration Tool. - Zoombie (có thể đôi lúc gọi là bot): là một phần mềm được cài đặt lên hệ thống nhằm mục đích tấn công hệ thống khác. Kiểu thông dụng nhất của Zoombie là dùng các agent để tổ chức một cuộc tấn công DDoS. Kẻ tấn công có thể cài Zoombie vào một số lượng lớn các máy tính rồi ra lệnh tấn công cùng một lúc. Trinoo và Tribe Flood Network là hai Zoombie nổi tiếng. - Remote Administration Tool là các công cụ có sẵn của hệ thống cho phép thực hiện quyền quản trị từ xa. Tuy nhiên hacker cũng có thể lợi dụng tính năng này để xâm hại hệ thống. Tấn công kiểu này có thể bao gồm hành động theo dõi mọi thứ xuất hiện trên màn hình cho đến tác động vào cấu hình của hệ thống. Ví dụ về công cụ RAT là: Back Orifice, SubSeven,... Keylogger là phần mềm được dùng để bí mật ghi lại các phím đã được nhấn bằng bàn phím rồi gửi tới hacker. Keylogger có thể ghi lại nội dung của email, của văn bản, user name, password, thông tin bí mật...Một số ví dụ về keylogger: KeySnatch, Spyster, ... 1.2.9 Rootkits là tập hợp của các file được cài đặt lên hệ thống nhằm biến đổi các chức năng chuẩn của hệ thống thành các chức năng tiềm ẩn sự tấn công nguy hiểm. Ví dụ như trong hệ thống Windows, rootkit có thể sửa đổi, thay thế file, hoặc thường trú trong bộ nhớ rồi thay thế, sửa đổi các lời gọi hàm của hệ điều hành. Rootkit thường được dùng để cài đặt các công cụ tấn công như cài backdoor, cài keylogger. Ví dụ về rootkit là: LRK5, Knark, Adore, Hack Defender.
  • 15. 13 1.2.10 Web Browser Plug-in: là phương thức cài mã độc hại thực thi cùng với trình duyệt web. Khi được cài đặt, kiểu mã độc hại này sẽ theo dõi tất cả các hành vi duyệt web của người dùng (ví dụ như tên web site đã truy nhập) sau đó gửi thông tin ra ngoài. Một dạng khác là phần mềm gián điệp có chức năng quay số điện thoại tự động, nó sẽ tự động kích hoạt modem và kết nối đến một số điện thoại ngầm định mặc dù không được phép của chủ nhân. 1.2.11 Email Generator: là những phần mềm cho phép tạo ra và gửi đi một số lượng lớn các email. Mã độc hại có thể gieo rắc các email generator vào trong hệ thống. Các phần mềm gián điệp, spam, mã độc hại có thể được đính kèm vào các email được sinh là từ email generator và gửi tới các địa chỉ có trong sổ địa chỉ của máy bị nhiễm. 1.2.12 Attacker Toolkit: là các bộ công cụ có thể được tải xuống và cài vào hệ thống khi hệ thống đã bị khống chế bởi phần mềm độc hại. Các công cụ như các bộ dò quét cổng (port scanner), bộ phá mật khẩu (password cracker), bộ dò quét gói tin (Packet Sniffer) chính là các Attacker Toolkit thường hay được sử dụng. 1.2.13 Phishing là một hình thức tấn công thường có thể xem là kết hợp với mã độc hại. Phishing là phương thức dụ người dùng kết nối và sử dụng một hệ thống máy tính giả mạo nhằm làm cho người dùng tiết lộ các thông tin bí mật về danh tính (ví dụ như mật khẩu, số tài khoản, thông tin cá nhân...). Kẻ tấn công phishing thường tạo ra trang web hoặc email có hình thức giống hệt như các trang web hoặc email mà nạn nhân thường hay sử dụng như trang web của Ngân hàng, của công ty phát hành thẻ tín dụng, ... Email hoặc trang web giả mạo này sẽ đề nghị nạn nhân thay đổi hoặc cung cấp các thông tin bí mật về tài khoản, về mật khẩu... Các thông tin này sẽ được sử dụng để trộm tiền trực tiếp trong tài khoản hoặc được sử dụng vào các mục đích bất hợp pháp khác. 1.2.14 Virus Hoax là các cảnh báo giả về virus. Các cảnh bảo giả này thường núp dưới dạng một yêu cầu khẩn cấp để bảo vệ hệ thống. Mục tiêu của cảnh báo virus giả là cố gắng lôi kéo mọi người gửi cảnh báo càng nhiều càng tốt qua email. Bản thân cảnh báo giả là không gây nguy hiểm trực tiếp nhưng những thư gửi để cảnh báo có thể chữa mã độc hại hoặc trong cảnh báo giả có chứa các chỉ dẫn về thiết lập lại hệ điều hành, xoá file làm nguy hại tới hệ thống. Kiểu cảnh báo giả này cũng gây tốn thời gian và quấy rối bộ phận hỗ trợ kỹ thuật khi có quá nhiều người gọi đến và yêu cầu dịch vụ. 1.3 Lược sử về Malware Có nhiều quan điểm khác nhau về lịch sử phát triển của Malware, trong luận
  • 16. 14 văn này sẽ chỉ nêu vắn tắt những điểm chung nổi bật nhất. Năm 1949: Lý thuyết đầu tiên về phần mềm tự sao chép ra đời. John Von Neuman (1903-1957) phát triển nền tảng lý thuyết tự nhân bản của một phần mềm cho máy tính. Vào cuối thập niên 1960 đầu thập niên 1970, trên các máy Univax 1108 xuất hiện một phần mềm “Pervading Animal” mà tự nó có thể nối với phần sau của tập tin thực thi. Lúc đó chưa có khái niệm virus. Năm 1981: Các Malware đầu tiên xuất hiện trong hệ điều hành của máy tính Apple II. Đây cũng là những virus đầu tiên xuất hiện trên hệ điều hành của hãng Apple, chúng lây lan khắp hệ thống máy tính của công ty Texas A&M, thông qua các trò chơi không có bản quyền trên đĩa mềm. Những người đầu tiên phát hiện đã gọi chúng là Elk Cloner. Năm 1983: Fred Cohen đưa ra khái niệm đầu tiên về Virus: “Là một phần mềm máy tính có thể tác động những phần mềm máy tính khác bằng cách sửa đổi chúng dùng phương pháp đưa vào một bản sao của nó”. Fred Cohen luôn là cái tên đầu tiên được nhắc đến khi nói về lịch sử của Malware. Năm 1986: Virus “Brain” được phát hiện, đây là virus đầu tiên được phát hiện trên máy tính cá nhân. Virus này được tạo ra tại Pakistan bởi hai anh em lập trình viên là Basit Farooq Alvi và Amjad Farooq Alvi. Phần mềm này thay thế các mã thực hiện (Executable code) trong rãnh ghi khởi động (boot sector) của một đĩa mềm 360Kb bằng mã riêng của nó, với mục đích làm lây nhiễm tất cả các ổ đĩa mềm. Đây cũng là Virus MS-DOS xuất hiện sớm nhất. Năm 1987: Lehigh, một trong những Virus file đầu tiên xâm nhập các tập lệnh Command.com (Virus này sau đó tiến hóa thành Virus Jerusalem). Cũng trong năm này, Virus IBM Chrismast cũng được phát hiện, với tốc độ lây nhiễm cực nhanh tới hàng nghìn bản sao trên giờ, đây là cơn ác mộng thực sự đối với các máy tính lớn (mainframe) của Big Blue. Năm 1988: Virus Jerusalem, một trong những Virus phổ biến nhất xuất hiện, nó tấn công đồng loạt các trường đại học và các công ty trên nhiều quốc gia vào đúng thứ 6 ngày 13, Virus này tác động lên các file có đuôi .exe và .com, đây là loại virus hoạt động theo đồng hồ máy tính. Cùng năm này, Virus “MacMag and the Scores” gây ra đợt bùng phát lớn đầu tiên trên các máy Macintosh. Đây cũng là cuộc khủng hoảng Internet đầu tiên khiến một số lượng lớn máy tính bị tê liệt. Cũng từ đó, trung tâm điều phối phản ứng nhanh (CERT) đã ra đời để đối phó với những sự cố tương tự.
  • 17. 15 Năm 1989: Xuất hiện phần mềm Trojan có tên AIDS. Trojan này nổi tiếng vì có khả năng khống chế dữ liệu giống như con tin. Nó được gửi đi dưới dạng một phần mềm thông tin về bệnh suy giảm miễn dịch AIDS. Khi được kích hoạt Trojan AIDS sẽ mã hóa ổ cứng của nạn nhân và yêu cầu người sử dụng phải nộp tiền nếu muốn được giải mã. Năm 1990: Symantec phát triển công cụ Norton AntiVirus, một trong những phần mềm diệt Virus đầu tiên do công ty lớn phát triển. Cũng trong năm này, thị trường trao đổi mã độc đầu tiên (VX) được tung lên mạng từ Bulgaria. Tại đây, các tin tặc có thể buôn bán mã và giao lưu các ý tưởng về mã độc. Cuốn sách về Virus máy tính của tác giả Mark Ludwig được xuất bản cùng thời gian này. Năm 1991: Malware đa hình (Polymorphic Malware) ra đời, đầu tiên là Sâu “Tequilla”. Malware dạng này có khả năng tự thay đổi hình thức của nó, gây khó khăn cho các phần mềm chống Virus, nó khiến cho việc phát hiện và truy quét trở nên rất phức tạp. Năm 1992: Trong vòng 2 năm, đã ghi nhận được tổng số hơn 1.300 Malware đang tồn tại, tăng 420% so với tháng 12 năm 1990. Xuất hiện DAME (Dark Avenger Mutation Engine) - một bộ công cụ cho phép chuyển những mã độc thông thường thành những phần mềm có khả năng thay đổi hình dạng. Sau đó là VCL (Virus Creation Laboratory), một công cụ chế tạo Malware thực sự ra đời. Sự xuất hiện của Virus MichelLangelo làm dấy lên lời cảnh báo về thiệt hại quy mô lớn trên toàn cầu, mặc dù cuối cùng sự phá hoại của Virus này đã không xảy ra như lo ngại. Năm 1994: Xuất hiện OneHalf, đây là một virus máy tính đa hình trên nền DOS. Năm 1995: Macro Virus đầu tiên xuất hiện, có tên gọi “Concept”, chúng lây lan qua các ứng dụng MS-Office. Năm 1996: “Ply” - Virus đa hình phức tạp được xây dựng dựa trên công cụ hoán vị. Năm 1998: Phiên bản đầu tiên của virus CIH xuất hiện. Đây là virus đầu tiên được biết đến có khả năng xóa nội dung trong ROM BIOS. Năm 1999: Sâu Melissa đã được phát hiện, nhắm vào mục tiêu Microsoft Word và các hệ thống dựa trên Outlook, nó đã tạo ra mạng lưới lây nhiễm đáng kể. Cũng trong năm này, sâu Kak được phát hiện, đây sâu máy tính dùng mã Javascript và lây lan bằng cách khai thác một lỗi trong Outlook Express
  • 18. 16 Năm 2000: Sâu ILOVEYOU, còn được gọi là Love Letter hay Love Bug, sâu này được tạo ra bởi một sinh viên ngành khoa học máy tính của Philippines. Được viết bằng VBScript, nó lây nhiễm hàng triệu máy tính Windows trên toàn thế giới trong vòng vài giờ phát hành. Năm 2001: Trong năm này, phải kể đến Sâu Nimda (còn được gọi là quái vật đa đầu) vì nó là sự kết hợp hoàn hảo những điểm mạnh của 5 loại Malware khác nhau. Ngoài ra còn phải kể đến Virus Anna Kournikova, sâu Sadmind, sâu Sircam, sâu Code Red. Năm 2003: Sâu Slammer ra đời, đến nay sâu này vẫn được coi là sâu có sự phát tán nhanh nhất, hơn 75.000 máy tính bị nhiễm chỉ trong 10 phút. Năm 2005: Trojan Zlob, Trojan này giả dạng một video codec cần thiết trong các thành phần ActiveX của Microsoft Windows. Năm 2006: Lần đầu tiên phần mềm độc hại cho Mac OSX được phát hiện, Trojan OSX / Leap-A hoặc OSX / Oompa-A. Năm 2007: Storm Worm được xác định. Nó tấn công và tạo ra một mạng botnet Storm. Trong vòng 3 tháng, từ tháng 6 đến tháng 9/2007 đã có hơn 10 triệu máy tính bị nhiễm. Cùng năm này, Trojam Zeus được phát hiện, mục tiêu của nó là ăn cắp thông tin ngân hàng của người dùng trên Windows. Năm 2008: Phát hiện sâu Conficker, nó lây nhiễm đến hơn 15 triệu máy chạy hệ điều hành Windows, từ Windows 2000 đến Windows 7 Beta và được phát hiện ở khắp nơi, từ máy cá nhân đến máy chủ, từ bệnh viện Sheffield đến tàu ngầm của hải quân Anh. Microsoft đặt ra mức tiền thưởng $ 250,000 USD cho thông tin dẫn đến việc bắt giữ tác giả của sâu này. Năm biến thể chính của sâu Conficker được biết đến và đã được đặt tên là Conficker A, B, C, D và E. Năm 2009: Một cuộc tấn công mạng tầm cỡ quốc gia đầu tiên đã được diễn ra, công cụ là W32.Dozer và được nhắm vào hai nước Hoa Kỳ và Hàn Quốc. Năm 2010: Stuxnet được phát hiện. Đây là một ví dụ điển hình về malware được sử dụng như một thứ vũ khí ảo. Lây lan qua các thiết bị USB và một số phương pháp khác, virus này được thiết kế nhằm chiếm quyền điều khiển hoạt động của các hệ thống điều khiển công nghiệp chuyên dụng (nhắm trực tiếp đến hệ thống của hãng Siemen thiết kế). Mặc dù chưa có kết luận cuối cùng, nhưng chứng cứ mà các nhà nghiên cứu thu thập được cho thấy Stuxnet nhằm vào các máy ly tâm làm giàu Uranium trong phần mềm hạt nhân của Iran, sâu này làm cho máy ly tâm hoạt động
  • 19. 17 quá công suất thiết kế. Điều đặc biệt, đây cũng là lần đầu tiên một Malware có được chữ ký số hợp lệ, chữ ký đó là từ Realtek. Năm 2011: SpyEye và Zeus kết hợp để trở thành công cụ hiệu quả đánh cắp thông tin thanh toán ngân hàng hiệu quả, nó đánh cắp được cả mật khẩu ngân hàng và mật mã xác thực một lần (OTP – One Time Password) được gửi qua tin nhắn điện thoại, để tiến hành chuyển tiền một cách hợp lệ. Năm 2012: Flame, đây là phần mềm mà Kaspersky Lab đánh giá là Malware phức tạp nhất mà họ từng phân tích. Mục tiêu của phần mềm này là hoạt động gián điệp tại các nước trung đông. Một điều đáng nói là mặc dù được phát hiện năm 2012 nhưng người ta đã đưa ra một số bằng chứng cho thấy Flame lại là tiền thân của sâu gián điệp Stuxnet được phát hiện năm 2010 ở Iran. Năm 2013: CryptoLocker, đánh dấu sự trở lại của phần mềm bắt cóc dữ liệu (ransomeware), chúng mã hóa dữ liệu khi lây được vào hệ thống và ra điều kiện đòi tiền chuộc để giải mã dữ liệu đó. 1.4 Vai trò của việc phân tích Malware Với sự phát triển mạnh mẽ của Internet, vấn đề an ninh, bảo đảm an toàn cho các hệ thống thông tin ngày càng trở nên cấp thiết khi các hệ thống thông tin được kết nối với nhau và kết nối với mạng Internet, chúng ta phải đối diện với nhiều nguy cơ bị tấn công lấy cắp thông tin hoặc phá hoại hệ thống. Trong số các phương thức tấn công phá hoại hệ thống thông tin và mạng, các phần mềm độc hại là một trong các dạng gây nhiều thiệt hại nhất do khả năng lan truyền nhanh chóng. Câu hỏi đặt ra là liệu có cần phân tích mã độc không khi càng ngày những phần mềm đảm bảo an ninh máy tính càng phát triển. Câu trả lời luôn là có, vì các phần mềm độc hại được phát triển ngày càng tinh vi và rất khó phát hiện. Phần mềm đảm bảo an ninh mạnh nhất và được cập nhật cũng không thể loại bỏ được hết mã độc. Kết quả của quá trình phân tích Malware sẽ phát hiện được những phương thức lây lan, phá hoại, đánh cắp dữ liệu mới; đồng thời hạn chế sự lây lan, giảm thiểu thiệt hại do Malware gây ra bằng cách đưa các cảnh báo tới cộng đồng; là nguồn thông tin quan trọng để cập nhật mẫu cũng như chức năng cho phần mềm đảm bảo an ninh máy tính.
  • 20. 18 CHƯƠNG 2– CƠ CHẾ HOẠT ĐỘNG CỦA MALWARE 2.1 Tìm hiểu về cấu trúc PE file Một bước rất quan trọng khi tìm hiểu về mã độc là tìm hiểu về file PE vì gần như mọi mã thực thi được nạp bởi Windows đều có định dạng PE. Đây là dạng phổ biến bậc nhất của Malware và cũng là định dạng hay bị lây nhiễm mã độc nhất. Định dạng file PE được dùng cho những file thực thi, mã đối tượng và các DLL của Windows. Định dạng này là một cấu trúc dữ liệu bao gồm thông tin cần thiết để Windows OS Loader quản lý được mã thực thi trong nó. Để có thể thực thi trên máy tính, nội dung file PE được chia thành các thành phần và có mối liên hệ mật thiết với nhau. Nắm rõ cấu trúc PE sẽ giúp chúng ta hiểu được cơ chế thực thi của một phần mềm, từ việc tổ chức tới việc nạp lên bộ nhớ, các tài nguyên sử dụng… Hơn nữa, khi chúng ta muốn sửa đổi một file, ví dụ như thêm vào một số đoạn mã, chỉnh sửa một số thành phần nhưng vẫn muốn phần mềm thực thi bình thường, ví dụ trong trường hợp cần chỉnh sửa các công cụ phân tích để tránh bị phát hiện bởi Malware thì chúng ta cần phải nắm rõ cấu trúc PE file cũng như mối liên hệ giữa các thành phần trong file để có thể nhanh chóng thay đổi file và thoả mãn yêu cầu đề ra mà không ảnh hưởng tới chức năng cũng như hoạt động của file. Mặt khác, đối với các Malware sử dụng kỹ thuật tiêm mã vào các tiền trình đang có để che giấu sự tồn tại trên hệ thống, nếu chúng ta không hiểu rõ cấu trúc của file PE sẽ rất khó tìm ra tiến trình bị tiêm mã độc. Hình 2.1: Cấu trúc cơ bản của PE
  • 21. 19 Cấu trúc PE có thể gồm nhiều section, trong đó tối thiểu cần 2 section: data và code. Một số section thông dụng hay được gặp ở các phần mềm: 1. Executable Code Section, có tên là .text (Microsoft). 2. Data Sections, có tên nh .data, .rdata, .bss (Microsoft) hay DATA (Borland) 3. Resources Section, có tên là .rsrc 4. Export Data Section, có tên là .edata 5. Import Data Section. có tên là .idata 6. Debug Information Section, có tên là .debug Cấu trúc các section trên bộ nhớ và trên ổ đĩa là như nhau, tuy nhiên khi được nạp lên bộ nhớ, các Windows loader sẽ quyết định thứ tự và vị trí nạp các phần, do đó vị trí các phần trên ổ đĩa và trên bộ nhớ sẽ có sự khác biệt. 2.2 Hình thức lây nhiễm 2.2.1 Qua thiết bị lưu trữ Cách lây nhiễm phổ biến nhất của Malware trước đây là qua các thiết bị lưu trữ di động, dù là thời sử dụng đĩa mềm ngày xưa hay thẻ nhớ USB ngày nay. Hiện tại, thẻ nhớ trong các thiết bị di động thông minh, hay thiết bị ghi âm, ghi hình kỹ thuật số cũng là một vật trung gian hiệu quả cho việc lan truyền Malware. Các thiết bị di động thông minh thì hay phải nạp pin và phương thức nạp pin qua công USB lại rất tiện dụng, điều này tiềm ẩn nguy cơ rất lớn cho việc lây truyền Malware. Một số dạng lây nhiễm điển hình qua USB: - Lợi dụng chức năng Autorun Khi thiết bị lưu trữ có sử dụng giao tiếp USB được cắm vào máy tính đã nhiễm Malware, Malware sẽ phát hiện ra thiết bị có thể lây nhiễm được, sau đó tự sao chép bản thân mình vào một vị trí bí mật trên thiết bị đó. Tiếp theo, nó ghi một file autorun.inf có nội dung cơ bản như sau: [Autorun] OPEN=Đường dẫn virus trong đĩa USB Từ Windows Vista trở về trước, Windows sẽ mặc nhiên kiểm tra tập tin autorun.inf trong các thiết bị USB và thực thi các câu lệnh có trong đó. - Đánh lừa người dùng Trong nhiều trường hợp, các lây nhiễm sử dụng tập tin Autorun không hiệu quả, ví dụ như từ hệ điều hành Windows 7 trở về sau, chức năng này không còn hoạt
  • 22. 20 động nữa. Malware chuyển sang sử dụng cách đánh lừa người dùng để thực thi file mã độc đã lây nhiễm trên thẻ nhớ USB. Có thể kể đến như:  Ẩn thư mục trên USB và thay vào đó là các tập tin Malware có hình thư mục với tên tương tự các thư mục tồn tại ban đầu. Với cách này, Malware dễ dàng lừa được người dùng khởi chạy nó nếu trên hệ thống đang tắt chức năng hiển thị file ẩn và phần mở rộng file.  Chuyển các file .doc, .docx của người dùng vào vị trí bí mật trên thẻ nhớ USB thay thế vào đó là các file Malware có tên và hình đại diện (icon) là file doc, docx. Đồng thời sử dụng các khoảng trắng để kéo dài tên file tối đa, làm người dùng có để hiện tên file thì cũng có khả năng cao bị đánh lừa.  Ví dụ: Tập tin .doc gốc: TenVanBan.doc Tập tin Malware: TenVanBan.doc .exe Vì tên tập tin quá dài nên Windows sẽ rút ngắn lại khi hiển thị và để dấu hai chấm “..” cuối cùng, thể hiện là tên văn bản còn tiếp tục. Nhưng người dùng sẽ dễ dàng bỏ qua sự thể hiện này và chỉ nhìn lướt với tên hiển thị ngay đầu tiên nên dễ dàng bị đánh lừa. Cả 2 cách trên đối với người dùng thông thường đều rất khó nhận ra khi lỡ khởi chạy nhầm phải Malware, vì khi đã đạt được mục đích lây nhiễm, Malware vẫn mở thư mục hoặc tập tin như bình thường cho người dùng. Thậm chí, trong nhiều trường hợp, Malware còn khôi phục lại thẻ nhớ USB như chưa hề bị nhiễm để tránh sự phát hiện. 2.2.2 Qua mạng Internet 2.2.2.1 Lây nhiễm qua các phần mềm: Các phần mềm được viết ra có chứa sẵn mã độc, hoặc các phần mềm chính thống bị sửa đổi để thêm mã độc vào được phát tán tràn lan trên mạng Internet. Các phần mềm Crack (bẻ khóa) có tỉ lệ chứa mã độc trong đó rất cao. Nhiều khi vì chủ quan hay vì muốn dùng phần mềm mà không phải trả tiền, người dùng sẵn sàng bất chấp mọi nguy cơ bị lây nhiễm mã độc để dùng những phần mềm này. 2.2.2.2 Lây nhiễm qua các trang web Khi truy cập các trang web, hệ thống có thể bị nhiễm mã độc bất kỳ lúc nào, nhất là khi truy cập vào các trang không đáng tin cậy. Điều này có thể xảy ra ngày cả khi chúng ta chỉ mở trang web, vì các trình duyệt, đặc biệt là các thành phần của trình
  • 23. 21 duyệt được phát triển bởi hãng thứ 3 (plugin) ẩn chứa rất nhiều nguy cơ mất an toàn. Malware có thể lợi dụng những lỗ hổng này để lây nhiễm vào hệ thống. 2.2.2.3 Lây nhiễm qua thư điện tử Khi mà thư được sử dụng ngày càng rộng rãi thì đây là một nguồn lây nhiễm rất hiệu quả. Khi đã lây nhiễm vào máy nạn nhân, Malware có thể tự tìm ra danh sách các địa chỉ thư điện tử trong máy tính và nó tự gửi đi hàng loạt những thư đánh lừa được đính kèm bản thân nó hoặc các liên kết chứa mã độc. Khi người nhận không phát hiện ra thư bị nhiễm Malware thì khả năng cao sẽ bị nhiễm mã độc vào máy và từ máy này Malware lại tiếp tục lây nhiễm. Chính vì vậy, số lượng phát tán Malware có thể theo cấp số nhân khiến trong thời gian ngắn hàng triệu máy tính có thể bị lây nhiễm. Ngày nay, khi phần mềm quản lý thư điện tử kết hợp với phần mềm diệt Malware có thể khắc phục được hành động tự nhân bản hàng loạt để phát tán qua các địa chỉ thư điện tử trong danh bạ máy tính thì chủ nhân Malware có thể chuyển qua hình thức tự gửi thư phát tán Malware bằng các nguồn địa chỉ sưu tập được, các địa chỉ này cũng có thể là của chính Malware đó gửi về. Phương thức lây nhiễm qua thư điện tử bao gồm: - Lây nhiễm vào các file đính kèm: Với cách này, người dùng sẽ không bị nhiễm mã độc đến khi phần mềm đính kèm đó được kích hoạt. Malware cũng không dại gì chỉ gửi đúng mã độc của mình, mà chúng thường ẩn dưới bỏ bọc là các phần mềm miễn phí hay những phần mềm có nội dung nhạy cảm. - Lây nhiễm do mở một liên kết trong thư điện tử: Liên kết trong thư điện tử có thể dẫn tới một trang web được cài sẵn mã độc, các này thường khai thác lỗ hổng của trình duyệt hoặc các plugin (thành phần cài đặt thêm) của trình duyệt, ví dụ như trình FlashPlayer. - Lây nhiễm ngay khi mở để xem thư điện tử: Trường hợp này vô cùng nguy hiểm bởi chưa cần kích hoạt các file hay mở liên kết gì hệ thống đã bị nhiễm mã độc. Cách này thường là do mã độc khai thác lỗ hổng của hệ điều hành. Mặc dù vây, cách khai thác này cũng khó thực hiện hơn, do lỗ hổng trên hệ điều hành chưa bị phát hiện (zero day) sẽ ít hơn rất nhiều lỗ hổng trên trình duyệt và các plugin của nó. 2.2.2.4 Lây nhiễm qua mạng nội bộ Virus sẽ tìm tất cả các thư mục trong cùng mạng nội bộ (Của máy nạn nhân) xem có thư mục nào chia sẻ (Share) và cho phép sửa chữa chúng hay không. Sau đó chúng sẽ tự sao chép và chờ đợi một ai đó vô ý chạy chúng. 2.2.2.5 Lây nhiễm qua các dịch vụ IM
  • 24. 22 Nhắn tin nhanh (Instant Messaging), là dịch vụ cho phép hai người trở lên nói chuyện trực tuyến với nhau qua một mạng máy tính. Tương tự như lây nhiễm qua thư điện tử, Malware lây nhiễm qua IM cũng có những phương thức tương tự như gửi file hay gửi link chữa mã độc. Bên cạnh đó, Malware cũng sử dụng các giao thức thức XMPP (Jabber). Đây là giao thức mở, an toàn và máy chủ nào hỗ trợ giao thức này đều có thể kết nối được với nhau. Ứng dụng khách Jabber có khả năng truy cập mọi giao thức/mạng IM: MSN Messenger, Yahoo!, AIM, ICQ, ngay cả IRC và SMS. Chỉ một phần mềm Jabber có thể nói chuyện với bạn bè trên mọi mạng. Malware GirlXinhYM là một đại diện cho dòng này. 2.2.2.6 Lây nhiễm qua file Đây là cách lây nhiễm Malware đã tồn tại rất lâu. Cách thức lây nhiễm cơ bản là Malware sẽ thay đổi nội dung file mà sau đó khi chủ nhân máy tính hay người khác làm việc với file ấy thì sẽ nhiễm phải Malware. 2.3 Đối tượng lây nhiễm Một số định dạng tập tin có thể chứa mã hoặc các lệnh thực thi, do đó chúng có thể được mã độc sử dụng. Một tập tin dạng exe nguy hiểm bởi vì đây là định dạng của file thực thi mà có thể làm bất cứ điều gì (trong phạm vi quyền người dùng chạy nó) trong hệ thống. Một định dạng Media như JPEG, không phải luôn nguy hiểm vì chúng không chứa mã thực thi. Mặc dù vậy, trong nhiều trường hợp, những kẻ tấn công đã lợi dụng lỗ hổng của các phần mềm xem ảnh, đọc PDF,… để thực thi những đoạn mã nguy hiểm cho hệ thống bằng cách chèn mã độc vào trong các file tưởng như vô hại trên. Trong khuôn khổ nghiên cứu, luận văn chỉ đề cập tới những định dạng file có thể chứa mã thực thi hoặc chứa đoạn lệnh nguy hiểm mà mã độc hay lợi dụng: 2.3.1 Các phần mềm: .EXE – Executable File: Một phần mềm có khả năng thực thi, hầu hết các phần mềm chạy trên Windows là định dạng này. .PIF – Program Information File: Một tập tin thông tin phần mềm cho các phần mềm MS-DOS. Bình thường các file .PIF không chứa mã thực thi, nhưng khi nó chứa mã thực thi thì Windows sẽ xử lý như các tập tin EXE. .APPLICATION: Định dạng cài đặt ứng dụng triển khai với công nghệ Microsoft’s ClickOnce.
  • 25. 23 .GADGET: Một tập tin tiện ích trên màn hình Windows, công nghệ này được giới thiệu cùng Windows Vista. .MSI – Microsoft Installer File: Tập tin cài đặt ứng dụng trên Windows .MSP – Microsoft Installer Patch file: Được dùng để vá các phần mềm đã được triển khai bởi .MSI. .COM – Command file: Tệp thực thi. .SCR: Windows screen saver. .HTA – HTML application: Không giống như các ứng dụng chạy trong các trình duyệt HTML, các file .hta chạy như các ứng dụng đáng tin cậy mà không bị cô lập. .CPL – Control Panel file: Tất cả các tiện ích trong Windows Control Panel đều có dạng .CPL. .MSC – Microsoft Management Console file: Các ứng dụng dạng này như ứng dụng quản lý chính sách cho nhóm hay công cụ quản lý ổ đĩa. .JAR – executable Java code: Nếu chúng ta đã cài đặt Java runtime trên hệ thống thì, các tập tin dạng .JAR sẽ chạy như một phần mềm (tương tự dạng exe). 2.3.2 Đoạn mã (Script): .BAT – Batch File: Bao gồm một tập hợp các câu lệnh sẽ thực thi khi ta mở file dạng này. Nguyên thủy tập tin .BAT được dùng trong MS-DOS. .CMD – Batch File: Cũng tương tự như tập tin .BAT, nhưng định dạng này được giới thiệu lần đầu tiên trên Windows NT. .VB, .VBS – VBScript file: Tập hợp các mã lệnh viết bằng ngôn ngữ Visual Basic Script, chúng sẽ được thực thi nếu chúng ta mở file. .VBE – Encrypted VBScript file: Tương tự như VBScript file, nhưng các mã trong file đã được mã hóa để che giấu ý đồ tác động lên hệ thống.
  • 26. 24 .JS – JavaScript file: Các tập tin .JS thường được dùng trong các trang web và chúng sẽ an toàn nếu chỉ chạy trên trình duyệt web. Tuy nhiên, Windows cũng có thể chạy các tập tin .JS này bên ngoài trình duyệt và điểu đó gây nguy hiểm cho hệ thống. .JSE – Encrypted JavaScript file: Tập tin JavaScript đã được mã hóa .WS, .WSF: Windows Script file. .WSC, .WSH – Windows Script Component và Windows Script Host Control files: Các tập tin này được dùng cùng với Windows Script files. .PS1, .PS1XML, .PS2, .PS2XML, .PSC1, .PSC2 – Windows PowerShell script: Các lệnh Windows PowerShell. .MSH, .MSH1, .MSH2, .MSHXML, .MSH1XML, .MSH2XML – Monad script file: Monad sau đó được đổi thành PowerShell. 2.3.3 Shortcuts: .SCF – Windows Explorer command file. .LNK – Link: Liên kết chỉ tới một phần mềm nào đó. Một tập tin liên kết có khả năng chứa các dòng lệnh nguy hiểm, như copy một file từ chỗ này sang chỗ khác hay xóa một tập tin mà không cần hỏi. .INF – Một dạng tập tin văn bản được dùng bởi chức năng AutoRun có khả năng gọi thực thi một phần mềm. 2.3.4 Một số loại tập tin khác: .REG – Windows registry file: .REG chứa một danh sách các khóa registry sẽ được thêm vào hoặc gỡ bỏ nếu chạy chúng. Một tập tin REG độc hại có thể loại bỏ các thông tin quan trọng từ registry, thay thế nó bằng các dữ liệu rác, hoặc thêm dữ liệu độc hại hay tạo khóa khởi động cho Malware. .DOC, .XLS, .PPT – Microsoft Word, Excel, PowerPoint: Chúng có thể chứa mã độc dạng Macro, hoặc mã độc lợi dụng lỗ hổng của MS-Office.
  • 27. 25 .DOCM, .DOTM, .XLSM, .XLTM, .XLAM, .PPTM, .POTM, .PPAM, .PPSM, .SL DM: Định dạng tập tin mới được giới thiệu trong Office 2007 M ở cuối của phần mở rộng tập tin chỉ ra rằng tài liệu chứa Macros. Ví dụ, một tập tin DOCX không chứa macro, trong khi một tập tin .DOCM có thể chứa các macro. 2.4 Khởi động cùng hệ thống Việc Malware nhiễm vào máy tính không có nghĩa là nó có thể “sống” trong máy tính ấy. Các Malware khi muốn tiếp tục hoạt động để tiếp tục lây lan thì bắt buộc chúng phải tìm cách để sau khi người dùng tắt máy, vào lần bật máy sau thì Malware ấy sẽ được kích hoạt và tiếp tục làm việc. Để làm được điều này, các Malware thường tự ghi các giá trị vào một số địa chỉ nhất định trong registry để trong lần khởi động sau của hệ điều hành thì Malware ấy sẽ tiếp tục được gọi. Tiến trình khởi động của Windows (từ NT4/2000/XP trở về sau): 1. BootExecute HKLMSYSTEMCurrentControlSetControlSession ManagerBootExecute 2. Services 3. Người dùn nhập mật khẩu và truy cập vào hệ thống. 4. UserInit HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserInit 5. Shell HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell 6. All Users-RunOnce HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOn ce 7. All Users-Run HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun 8. All Users-RunOnceEx HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOn ceEx 9. All Users-RunEx HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunEx 10. Current User-RunOnce HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce 11. Current User-Run HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
  • 28. 26 12. Current User-RunOnceEx HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce Ex 13. Current User-RunEx HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunEx 14. Common Startup Folder 15. Startup Folder Malware có thể tấn công vào 1 trong những bước khởi động trên để khởi động cùng hệ thống Windows, sau đây là một vài trường hợp Malware lợi dụng quá trình khởi động của hệ thống để hoạt động. 2.4.1 Khởi động hợp pháp: 2.4.1.1 Sử dụng khóa registry Trong registry, có một số địa chỉ mà windows tạo ra để dễ dàng đưa phần mềm mình chạy sau khi máy được khởi động. Điều này cũng tương tự với một số file. Sở dĩ chúng ta có thể gọi nó đây là cách “hợp pháp” là vì với những giá trị (Chứa thông tin về file sẽ sẽ được khởi động) này thì phần mềm quản lý những phần mềm khởi động cùng hệ thống có sẵn trong Windows là System Configuration Utility có thể quản lý chúng. Ghi Key trong Regedit theo các địa chỉ sau : HKEY_LOCAL_MAHINESOFTWAREMicrosoftWindowsCurrentVersionRun HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun Đoạn code C# kiểm tra sự tồn tại của khóa khởi động và ghi vào registry nếu chưa có. RegistryKeyrkMalware = Registry.CurrentUser.OpenSubKey("SOFTWAREMicrosoftWindows CurrentVersionRun", true); if(!IsStartup()) // Nếu khóa khởi động chưa tồn tại //Tạo khóa khởi động cho Malware rkMalware.SetValue("MalwareName", Application.ExecutablePath.ToString()); private bool IsStartup() { RegistryKeyrkMalware=Registry.CurrentUser.OpenSubKey("SOFTWARE MicrosoftWindowsCurrentVersionRun",true);
  • 29. 27 if(rkMalware.GetValue("MalwareName ")==null) // Khóa khởi động chưa tồn tại returnfalse; else // Khóa khởi động đã có returntrue; } 2.4.1.2 Sử dụng thư mục khởi động Malware có thể đặt Shortcut hoặc bản thân mã độc bên trong thư mục khởi động cửa Windows. Khi Windows khởi động, Windows sẽ đọc thư mục Startup và chạy những phần mềm có trong đó. Đối với Windows 8, đường dẫn sẽ là: C:Users<Tên_người_dùng>AppDataRoamingMicrosoftWindowsStart_ MenuProgramsStartup 2.4.2 Khởi động bất hợp pháp: Khác với việc khởi động hợp pháp, khởi động bất hợp pháp sẽ khiến ta không biết được sự tồn tại của khóa khởi động của Malware với những trình quản lý khởi động thông thường. Sau đây là ví dụ về 2 khóa phổ biến mà Malware thường dùng, các khóa registry này sẽ được đọc và chạy phần mềm tương ứng ngay cả trong môi trường Safe Mode Khóa: HKEY_LOCAL_MAHINESOFTWAREMicrosoftWindows_NTCurrentVersionWinlo gonUserinit Giá trị: C:WindowsSystem32userinit.exe Khóa:HKEY_LOCAL_MAHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell Giá trị: C:WindowsSystem32explorer.exe Malware sẽ thay thay thế giá trị trong hai khóa này (có thể là 1 hoặc cả 2) thành: C:WindowsSystem32userinit.exe, Đường dẫn Malware C:WindowsSystem32explorer.exe, Đường dẫn Malware. Điều này đảm bảo hệ thống vẫn hoạt động bình thường và Malware cũng bí mật khởi động được.
  • 30. 28 Trong quá trình hoạt động, Malware có thể liên tục kiểm tra sự tồn tại khóa khởi động của nó. Do đó, khi chưa ngắt được hết các thành phần đang hoạt động của Malware, chúng ta có xóa khóa khởi động thì Malware lại lập tức tạo lại ngay. 2.5 Phá hoại và các hoạt động khác 2.5.1 Keylog Ghi lại chuỗi phím gõ của người dùng. Nó có thể hữu ích cho việc tìm nguồn gốc lỗi sai trong các hệ thống máy tính và đôi khi được dùng để đo năng suất làm việc của nhân viên văn phòng. Các phần mềm kiểu này rất hữu dụng cho ngành luật pháp và tình báo - ví dụ, cung cấp một phương tiện để lấy mật khẩu hoặc các khóa mật mã và nhờ đó qua mắt được các thiết bị an ninh. Tuy nhiên, các phần mềm keylogger được phổ biến rộng rãi trên Internet và bất cứ ai cũng có thể sử dụng cho mục đích lấy trộm mật khẩu và chìa khóa mã hóa. 2.5.2 BackDoor (Cửa hậu) Cửa hậu là một phương pháp vượt qua thủ tục chứng thực người dùng thông thường hoặc để giữ đường truy nhập từ xa tới một máy tính đồng thời cố gắng tránh bị phát hiện bởi việc giám sát thông thường. Cửa hậu có thể có hình thức một phần mềm được cài đặt, hoặc có thể là một sửa đổi đối với một phần mềm hợp pháp - đó là khi nó đi kèm với Trojan. Kỹ thuật này dựa vào sự kết nối giữa 2 máy tính với nhau (Với các ngôn ngữ bậc cao chúng ta có thể sử dụng control WinSock để thực hiện việc này dễ dàng). 2.5.3 Tống tiền Một số loại phần mềm ác tính sử dụng hệ thống mã hóa yếu (phá được) để mã hóa dữ liệu thuộc về một cá nhân và đòi tiền chuộc thì mới khôi phục lại. Phương thức thanh toán của kẻ điều khiển các loại virus này thường rất thông minh (Có một vài kẻ bắt buộc người dùng phải mua một số món hàng nhất định trên một địa chỉ nào đó mà kẻ điều khiển quy định). 2.5.4 BotNet Là một mạng lưới gồm nhiều máy tính đã bị nhiễm virus (Thường là worm, trojan) và bị điều khiển từ xa. Các BotNet thường được kẻ điều khiển sử dụng để tấn công từ chối dịch vụ (DDos) hay gửi thư rác (Spam) nhằm kiếm lợi cho mình. 2.5.5 Rootkit Là bộ công cụ phần mềm che giấu file nhưng thực ra nó vẫn tồn tại và hoạt động. Rootkit thường được bên thứ ba (thường là kẻ xâm nhập) dùng sau khi chiếm được quyền truy cập vào hệ thống máy tính. Các công cụ này thường che dấu dữ liệu hệ thống, tập tin hoặc tiến trình đang chạy, từ đó giúp cho kẻ xâm nhập duy trì quyền
  • 31. 29 truy cập vào hệ thống mà người dùng không biết. Rootkit có ở nhiều loại hệ điều hành như Linux, Solaris và các phiên bản Microsoft Windows. 2.6 Cơ chế tự bảo vệ của mã độc 2.6.1 Cơ chế tạo áo giáp (Armouring): Cơ chế này dựa trên công nghệ mã hóa kết hợp với việc sử dụng các lệnh CALL, JMP, … một cách lộn xộn tạo cho Malware một vỏ bọc có khả năng kháng lại các phần mềm an ninh hay việc phân tích mã Malware [8]. 2.6.2 Cơ chế chống theo dõi (Anti Heuristic): Một số phần mềm an ninh dựa trên hành vi của mã độc để phát hiện và tiêu diệt chúng. Công nghệ Anti Heuristic nhằm chống lại sự phát hiện của các phần mềm an ninh đó. Công nghệ này có một vài dạng như sau: - Chúng sử dụng các API không được Microsoft định nghĩa hoặc tạo ra các hàm dịch vụ ảo: Có một thực tế là Windows do Microsoft tạo ra có khá nhiều các API không được mô tả đầy đủ bao gồm cả các API quan trọng trong nhân hệ thống. Virus “Dark Avenger” là virus đầu tiên sử dụng thủ thuật gọi lệnh "Get List of Lists" với ngắt INT 21h, là lệnh bên trong hệ điều hành DOS. Lệnh này không được Microsoft mô tả trong bất cứ tài liệu nào, do đó rất khó khăn để hiểu những gì virus đã làm với hệ thống. Trên thực tế, với chức năng này, virus có thể truy vấn các trình điều khiển thiết bị trên hệ thống. Điều này vượt qua được các trình giám sát hệ thống, đồng thời cũng tạo khó khăn lớn cho việc phân tích virus. - Chúng chèn thêm các đoạn mã rác không gây ảnh hưởng đến cấu trúc logic phần mềm xen kẽ giữa các mã lệnh thực sự. - Chúng sử dụng công nghệ Tunneling: Malware dùng công nghệ này để cố gắng ngăn chặn các phần mềm chống mã độc phát hiện ra nó. Bằng cách nào đó, chúng cố gắng là phần mềm đầu tiên chiếm được ngắt hệ thống, từ thời điểm này, mọi ngắt khác được gọi sẽ được chuyển tới địa chỉ của mã độc, mã độc xử lý ngắt này sau đó trả về đúng chức năng mà ngắt được gọi cần xử lý. Trong quá trình xử lý ngắt đó, mã độc sẽ loại bỏ những ngắt ảnh hưởng tới nó. Việc này làm cho mã độc trong suốt với phần mềm an ninh. Để giải quyết vấn đề này, một số phần mềm Anti Malware sử dụng kỹ thuật “Đào hầm” của riêng mình, nhằm phát hiện ra mã độc ẩn chứa sâu trong bộ nhớ, điển hình như công cụ GMER.
  • 32. 30 2.6.3 Cơ chế chống phần mềm phân tích (Anti-Analysis software) Một số Malware dùng danh sách đen các công cụ phân tích để lập tức dừng hoạt động hoặc dừng các hành vi đáng ngờ của bản thân khi phát hiện các phần mềm này đang hoạt động trên hệ thống. Danh sách đen này chứa rất nhiều đặc trưng của phần mềm mà Malware thu thập được như: Tên, mã Hash, tổ chức phát hành, tiêu đề trong cửa sổ chính, các hàm API nghi vấn, … Do đó, để tránh bị Malware phát hiện, phần mềm dùng để phân tích Malware cũng cần được trang bị những cơ chế ngụy trang, che dấu nhất định. Đặc biệt, trong trường hợp có thể tự phát triển được công cụ thì chúng ta có thể lợi dụng các kỹ thuật mà Malware sử dụng để ẩn giấu, ngụy trang để đối phó nhằm ẩn giấu phần mềm phân tích. Còn nếu chỉ dừng ở mức sử dụng các phần mềm phân tích sẵn có, chúng ta cũng có thể tối thiểu hóa khả năng bị Malware phát hiện cho công cụ của mình bằng một số cách như: - Thay đổi tên tập tin thực thi, dẫn tới thay đổi tên tiến trình. - Thay đổi các thông số trong phần miêu tả tập tin thực thi. - Thay đổi tên, miêu tả trên cửa sổ chính, bằng cách sửa file nhị phân của phần mềm. Tất cả những điều trên sẽ làm thay đổi mã Hash của phần mềm giúp chúng khó bị Malware phát hiện hơn. 2.6.4 Chống gỡ rối và ảo hóa (Anti debugger & Virtual Machine) Một một số Malware sử dụng các kỹ thuật Anti debugger & Virtual Machine để tránh bị phân tích, dịch ngược. Nguyên tắc thực hiện là Malware sẽ phát hiện một số API dò Malware đang được chạy dưới các chương trình gỡ rối (debugger) hoặc môi trường máy ảo. Có rất nhiều tình huống có thể xảy ra trong trường hợp này nhưng nhìn chung phần mềm sẽ không thể chạy trên máy ảo hoặc không thể chạy thông qua debugger. Để vượt qua, ta có nhiều phương pháp khác nhau. Trước tiên cần kiểm tra thông tin về PE header xem có sự khác biệt lớn gì hay không. Sau đó cần tìm ra đoạn mã anti debugger, anti Virtual Machine và tiến hành chỉnh sửa để có thể vượt qua được đoạn mã đó. Hầu hết các phương pháp chống phân tích đều cố gắng tạo ra các Exception nếu không có debugger để EIP trỏ tới cấu trúc SEH được sắp xếp trước nhằm khôi phục quyền điều khiển, nếu có debugger thì ngoại lệ (Exception) sẽ không xảy ra và debugger bị phát hiện. Một số phương pháp sử dụng để phát hiện có debugger: - Sử dụng hàm IsDebuggerPresent. - Kiểm tra cờ NtGlocalFlag.
  • 33. 31 - Đặt cờ kiểm tra Hardware breakpoint. - Tìm lớp Windows của OllyDBG. - Phát hiện memory breakpoint sử dụng PAGE_GAURD. - Kiểm tra thông qua NtQueryInformationProcess. - Phát hiện thông qua các plugin của IDA: OllyInvisible, HideDebugger. - Phát hiện bằng cách tìm kiếm xâu OLLY. - Chống kết xuất tiến trình. - Tính toán chênh lệch thời gian khi thực thi 1 lệnh để xác định được quá trình debug. - Dựa vào LDR Module: nếu debug ở mức người dùng, bộ nhớ được cấp phát sẽ kết thúc bằng: 0xFEEEFEEE. - Thay đổi cờ EFLAGS sẽ có khả năng tạo ra ngoại lệ, thông qua đó có thể phát hiện được chương trình gỡ rối. 2.7 Kỹ thuật đóng gói để che giấu mã độc Ban đầu kỹ thuật đóng gói được phát triển nhằm tối ưu hóa bộ nhớ và băng thông trong suốt quá trình lưu trữ và truyền tệp tin. Hiện nay, vấn đề lưu trữ và băng thông đã được giải quyết, nhưng nhiều công ty phần mềm vẫn sử dụng kỹ thuật này để đóng gói các tệp thực thi phần mềm và các tệp thành phần để triển khai các phần mềm thương mại. Thuật toán sử dụng trong kỹ thuật đóng gói trở thành công cụ được kẻ viết mã độc hại cải tiến để tăng hiệu quả nhằm lẩn tránh sự phát hiện. Kỹ thuật đóng gói (bao gồm kỹ thuật nén và mã hóa) với mục đích che giấu mã độc được kẻ viết mã độc thường sử dụng để chuyển đổi mã thực thi nhị phân sang một định dạng khác nhằm thu gọn mã độc và biến dạng khác biệt hẳn so với ban đầu để tránh sự phát hiện của các phần mềm diệt virus dựa trên cơ sở mẫu nhận dạng. Trong nhiều trường hợp, kẻ viết mã độc hại tổ hợp đệ quy các kỹ thuật nén và mã hóa khác nhau để cùng một mã độc nhưng có thể nhanh chóng tạo ra một lượng lớn biến thể nhị phân thực thi của mã độc nhằm phát tán. Đoạn mã thực thi đóng gói được xây dựng với hai phần chính trong quy trình đóng gói bao gồm hai giai đoạn. Trong giai đoạn đầu tiên của quá trình đóng gói, đoạn mã thực thi gốc được nén và lưu giữ trong tệp thực thi nén như dữ liệu thông thường. Sau đó, modul giải nén được thêm vào tệp thực thi nén. Modul giải nén này sau này sẽ được sử dụng để phục hồi đoạn mã gốc. Quá trình mở gói thực hiện theo các bước có thứ tự ngược lại với quá trình đóng gói. Moule giải nén trước tiên được thực hiện và đoạn mã thực thi nhảy đến câu lệnh thực thi đầu tiên của mã giải nén. Sau khi phục hồi đoạn mã thực thi gốc, con trỏ
  • 34. 32 lệnh thực thi sẽ nhảy ra khỏi câu lệnh cuối cùng của module giải nén để nhảy đến điểm vào (entry point) của đoạn mã thực thi. Hình 2.2 Đóng gói để che giấu mã độc Đóng gói mã là kỹ thuật phổ biến sử dụng để che dấu mã độc. Kỹ thuật đóng gói xuất hiện trong phần lớn các mẫu malware, do đó điều này tạo ra một thách thức vô cùng lớn cho người phân tích mã, đặc biệt là khi sử dụng phương pháp phân tích tĩnh để phân tích một lượng lớn mẫu mã độc hại. Bởi vì, người phân tích cần phải xác định đoạn mã độc hại bị mã hóa hay nén để thực hiện việc giải nén cũng như giải mã một cách nhanh chóng và hiệu quả trước khi bắt tay vào thực hiện quá trình phân tích mã độc. Do nhiều mẫu virus vẫn duy trì trạng thái mã hóa và nén, người phân tích phải xác định chúng bằng phân tích thủ công hoặc sử dụng kỹ thuật phân tích ngược (reverse engineering). Yêu cầu đặt ra là cần phải xác định nhanh chóng và chính xác đoạn mã độc nén và giải nén. Phương pháp phân tích entropy là một kỹ thuật hỗ trợ cho người phân tích mã độc giải quyết được yêu cầu này. Mặc dù mã hóa có nhiều thuận lợi để mã độc ẩn giấu mã của chúng, nhưng cũng chính điều này lại làm chúng dễ bị phát hiện hơn. Vì, một phần mềm thông thường không có ý đồ lạ thì không cần phải nén hay mã hóa code. Nếu một tổ chức muốn bảo mật những đoạn mã nhạy cảm trong phần mềm của họ thì: một là tổ chức đó phải có chữ ký số kèm theo phần mềm, hai là họ phải thông báo công khai khi phát hành phần mềm để các phần mềm bảo vệ máy tính không cảnh báo nhầm và để người sử dụng phần mềm đó được biết. Điều này sẽ dẫn tới hệ quả, khi rà quét toàn bộ hệ thống, nếu phát hiện phần mềm nào nén, mã hóa code mà không có chữ ký số hay không được thông báo trước từ người sử dụng hệ thống thì sẽ mặc nhiên đưa vào dạng phần mềm độc hại. Tải bản FULL (74 trang): https://bit.ly/3UnGn61 Dự phòng: fb.com/TaiHo123doc.net
  • 35. 33 2.8 Xu hướng phát triển của Malware Có thể nhận thấy từ trc đến nay mã độc có xu hướng phát triển tăng dần cả về độ phức tạp cũng như mục tiêu mà chúng nhắm đến. Hiện nay, đa phần mã độc được thiết kế nhắm đến các mục tiêu được xác định từ trước, đó có thể là một cá nhân hoặc một tổ chức. Xuất phát từ mục đích đó, mã độc hiện nay được thiết kế sao cho có khả năng che dấu càng lâu càng tốt, sau đó chúng mới thực hiện các mục đích phá hoại, ăn cắp thông tin hay gián điệp. Một đặc tính nguy hiểm của mã độc hiện nay đó là nó được thiết kế với mục đích lây nhiễm dài hạn trên mục tiêu, điều đó có nghĩa là khi lây nhiễm vào máy mục tiêu, thay vì ngay lập tức có những hành vi phá hoại hay ăn cắp dữ liệu dễ bị phát hiện, chúng sẽ thực hiện một loạt sự chuẩn bị để tồn tại trong hệ thống lâu dài. Sau đó, mới thực thi các cuộc tấn công vào hệ thống lớn hơn, hay tấn công ra ngoài hệ thống đã bị lây nhiễm với sự đảm bảo rằng nếu cuộc tấn công thất bại, kẻ tấn công có thể sử dụng mã độc đó cho một cuộc tấn công khác vào thời gian sau đó với một hình thức hay cách tiếp cận khác. Trong những mã độc đã được phân tích, người ta còn nhận thấy xu hướng cải tiến phức tạp trong việc đánh cắp dữ liệu - một trong những mục đích quan trọng của mã độc. Cách thức mà mã độc sử dụng phải đảm bảo dữ liệu đánh cắp được không bị chặn hay bị phát hiện nhưng hành vi đánh cắp vẫn đảm bảo tính bí mật, điều này đòi hỏi kẻ tấn công phải sử dụng những kênh giao thức phổ biến cũng như mã hóa dữ liệu khi truyền đi. Mục tiêu của những loại mã độc nguy hiểm thời gian gần đây có thể bao gồm quân sự, chính trị hay thu thập các thông tin tình báo kinh tế, làm gián đoạn các hoạt động hoặc phá hủy các thiết bị công nghiệp. Malware Stuxnet cho phép kẻ tấn công phá vỡ các hệ thống kiểm soát công nghiệp trong quá trình làm giàu Uranium của một cơ sở công nghiệp cụ thể là một điển hình cho xu hướng phát triển của mã độc trong tương lai. Social engineering - một kỹ thuật cho phép kẻ tấn công lợi dụng yếu tố con người để đánh bại hệ thống an ninh cũng được sử dụng nhiều hiện nay (yếu tố con người luôn là điểm yếu nhất trong mọi phương án phòng vệ). Nhờ kỹ thuật này, kẻ tấn công có thể xâm nhập sâu vào hệ thống an ninh của đối tượng. Dựa vào các thông tin thu thập thông qua mạng xã hội hay các trang web thông tin truyền thông, kẻ tấn công có thể tập hợp thông tin về mục tiêu cũng như một mạng lưới thông tin xung quanh mục tiêu, từ đó các cuộc tấn công trở nên đáng tin cậy và có sức thuyết phục để dễ dàng vượt qua hệ thống an ninh. Tải bản FULL (74 trang): https://bit.ly/3UnGn61 Dự phòng: fb.com/TaiHo123doc.net
  • 36. 34 Ghi nhận đầu tiên về mã độc vào năm 1981 (xem 1.3 Lược sử về Malware) và phát triển nhanh chóng theo xu hướng phát triển của công nghệ máy tính. Càng ngày, mã độc càng trải qua những thay đổi đáng kể về đặc điểm, phân loại cũng như mục đích sử dụng. Cùng với sự bùng nổ của mạng máy tính, thiết bị di động thông minh, mã độc cũng tăng trưởng với tốc độ chóng mặt và kẻ tấn công liên tục biến đổi mã độc để thích ứng với các công nghệ và nền tảng mới. Nếu như ban đầu mục tiêu của những đoạn mã độc chỉ nhằm đến những máy tính đơn lẻ, cơ chế lây lan hầu như không có và tác hại mang tính trêu chọc thì ngày nay mã độc có thể gây ra những thiệt hại lớn đối với hệ thống máy tính, cơ chế lây lan phức tạp, phá hoại hoặc đánh cắp dữ liệu, tấn công từ chối dịch vụ. Nghiêm trọn hơn, mã độc có thể được phát triển phức tạp và thiết kế tinh vi với mục đích gián điệp, phá hoại trên diện rộng bởi các tổ chức, chính phủ trên thế giới. Từ đó dẫn tới nguy cơ về một cuộc chiến tranh mạng Cyberwar lan rộng. Dựa vào thực tế sự phát triển mã độc hiện nay, một số dự đoán xu hướng phát triển của mã độc trong tương lai: - Các loại mã độc với các kỹ thuật chống phân tích được cải tiến. - Mã độc trong các thiết bị di động bùng phát do xu hướng di động đã và sẽ phát triển mạnh trong tương lai. - Mã độc với những kỹ thuật được cải tiến đảm bảo sao cho chúng có thể lây nhiễm trên diện rộng đồng thời trên nhiều nền tảng khác nhau. - Mã độc được sử dụng như là một công cụ quan trọng trong chiến tranh mạng giữa các tổ chức hay các quốc gia. Cùng với sự bùng nổ của mạng máy tính, thiết bị di động cũng như sự phát triển không ngừng của công nghệ thông tin, mã độc cũng liên tục phát triển và biến đổi để phù hợp. Chúng không ngừng cải tiến để chống lại sự phát hiện từ phía người sử dụng, biến đổi để thích nghi với môi trường, nền tảng mới với mục tiêu lây nhiễm trên diện rộng cho cùng một mục đích của người viết mã độc. Mã độc có thể coi là loại vũ khí sắc bén của chiến tranh mạng trong tương lai. 6811916