Báo cáo phân tích mã độc dựa trên phân tích động sử dụng mã nguồn mở cuckoo sandbox
BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
BÁO CÁO THỰC TẬP
CƠ SỞ CHUYÊN NGÀNH
ĐỀ TÀI: PHÁT HIỆN MÃ ĐỘC DỰA TRÊN PHÂN TÍCH
ĐỘNG SỬ DỤNG MÃ NGUỒN MỞ CUCKOO SANDBOX
Chuyên ngành: An toàn thông tin
Sinh viên thực hiện:
Phạm Ngọc Vân – Lớp L04
Đỗ Thị Vân – Lớp L01
Giảng viên hướng dẫn:
Thầy Phạm Văn Hưởng
Khoa Công nghệ thông tin – Học viện Kỹ thuật Mật mã
Hà Nội, 2018
1
MỤC LỤC
MỤC LỤC......................................................................................................................2
DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT..............................................................4
DANH MỤC HÌNH.......................................................................................................5
LỜI CẢM ƠN................................................................................................................7
LỜI MỞ ĐẦU................................................................................................................8
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC..................................................................10
1.1. Tổng quan về mã độc.......................................................................................10
1.1.1. Khái niệm về mã độc.................................................................................10
1.1.2. Tình hình mã độc tại Việt Nam và trên thế giới........................................10
1.2. Phân loại mã độc..............................................................................................13
1.2.1. Virus..........................................................................................................13
1.2.2. Worm.........................................................................................................13
1.2.3. Trojan horse...............................................................................................14
1.2.4. Rootkits.....................................................................................................14
1.2.5. Spyware.....................................................................................................14
1.2.6. Adware......................................................................................................15
1.2.7. Fileless Malware.......................................................................................15
1.2.8. Ransomware..............................................................................................15
1.3. Vai trò của việc phân tích mã độc...................................................................16
1.4. Kết luận chương 1...........................................................................................16
CHƯƠNG 2: CƠ CHẾ HOẠT ĐỘNG CỦA MÃ ĐỘC...............................................17
2.1. Tìm hiểu về cấu trúc PE file...............................................................................17
2.2. Các hình thức tấn công của mã độc [3][5].........................................................19
2.2.1. Qua thiết bị lưu trữ.......................................................................................19
2.2.2. Qua mạng Internet.......................................................................................21
2.2.2.1. Phát tán qua các phần mềm.................................................................21
2.2.2.2. Phát tán qua các trang web..................................................................21
2.2.2.3. Phát tán qua thư điện tử.......................................................................22
2.2.2.4. Phát tán qua mạng nội bộ....................................................................24
2
2.2.2.5. Phát tán qua các dịch vụ IM................................................................24
2.4. Hành vi của mã độc............................................................................................26
2.5. Xu hướng phát triển của mã độc........................................................................26
2.6. Kết luận chương 2..............................................................................................28
CHƯƠNG 3: PHƯƠNG PHÁP PHÂN TÍCH ĐỘNG TRONG PHÁT HIỆN MÃ ĐỘC
SỬ DỤNG SANDBOX.................................................................................................29
3.1. Quy trình phân tích mã độc [3]..........................................................................29
3.2. Khái niệm về phân tích động.............................................................................30
3.3. Tìm hiểu về Sandbox [4]....................................................................................31
3.3.1. Khái niệm về Sandbox.................................................................................31
3.3.2. Vai trò của Sandbox.....................................................................................32
3.3.3. Ưu điểm của Sandbox..................................................................................35
3.3.4. Nhược điểm của Sandbox............................................................................35
3.4. Kết luận chương 3..............................................................................................36
CHƯƠNG 4: THỰC NGHIỆM...................................................................................37
4.1. Mô tả thực nghiệm.............................................................................................37
4.1.1. Mô hình thực nghiệm...................................................................................37
4.1.1.1. Giới thiệu hệ thống..............................................................................37
4.1.1.2. Cài đặt hệ thống..................................................................................38
4.1.2. Dữ liệu thực nghiệm....................................................................................39
4.2. Triển khai thực nghiệm......................................................................................40
4.2.1. Thiết lập Cuckoo Host và uỷ quyền người dùng sử dụng Cuckoo..............41
4.2.2. Khởi động Virtualbox..................................................................................42
4.2.3. Khởi động Cuckoo Sandbox........................................................................42
4.2.4. Thực hiện phân tích động mã độc Locky trên Cuckoo Sandbox.................45
4.2.5. Kết quả phân tích.........................................................................................47
4.3. Đánh giá kết quả thực nghiệm...........................................................................52
KẾT LUẬN..................................................................................................................54
TÀI LIỆU THAM KHẢO............................................................................................55
3
DANH MỤC CÁC KÝ HIỆU, TỪ VIẾT TẮT
Từ viết tắt
API
Tiếng Anh
Tiếng Việt
Aplication Programming
Interface
AV-TEST
Giao diện lập trình ứng dụng
Tổ chức kiểm định và đánh giá
độc lập về các phần mềm diệt
Virus cho Windows và Android
Hệ thống phát hiện xâm nhập
Các dịch vụ dành cho máy chủ
chạy trên nền hệ điều hành
Window
IPS
Intrusion prevention system
IIS
Internet Information Services
IDS
Intrusion detection system
Hệ thống ngăn ngừa xâm nhập
National Institute of Standards
and Technology
Personal computer
Viện tiêu chuẩn - công nghệ
quốc gia Hoa kỳ
Máy tính cá nhân
NIST
PC
PE File
Format
Portable Executable File Format Định dạng file thực thi cơ bản
VNCERT
Vietnam Computer Emergency
Response Team
HTML
HyperText Markup Language
IM
Instant Messaging
Trung tâm ứng cứu khẩn cấp
máy tính Việt Nam
Ngôn ngữ đánh dấu siêu văn
bản
Tin nhắn nhanh
Malware
Malicious software
Mã độc
4
DANH MỤC HÌ
Hình 1.1. Số lượng mã độc trên toàn thế giới trong vòng 5 năm gần đây (Nguồn:
AV-TEST)....................................................................................................................10
Hình 1.2: Các vùng bị ảnh hưởng bởi mã độc WannaCry (Nguồn: VnExpress)........11
Hình 1.3. Số liệu thống kê virus phát tán qua email tính đến quý 2 năm 2018 trên
trang statista.com..........................................................................................................12
Y
Hình 2.1. Cấu trúc cơ bản của PE................................................................................18
Hình 2.2: Mã độc phát tán qua USB............................................................................20
Hình 2.3: Phần mềm Keygen bẻ khoá có nguy cơ lây nhiễm mã độc.........................21
Hình 2.4: Phát tán mã độc trên các trang web độc hại................................................22
Hình 2.5: Nội dung email giả mạo Thủ tướng được gởi đến người dùng Việt Nam
năm 2015 (Nguồn: nld.com.vn)...................................................................................23
Hình 2.6: Thư điện tử kèm liên kết độc hại.................................................................24
Hình 2.7: Mã độc trên Facebook Messenger được phát tán vào tháng 12/2017
(Nguồn: Vietnamnet.vn)..............................................................................................25
Hình 3.1: Quy trình phân tích mã độc khi chưa có hệ thống phân tích tự động..........29
Hình 3.2: Quy trình phân tích mã độc khi có hệ thống phân tích tự động..................30
Hình 3.3: Hình ảnh minh hoạ về Sandbox (Google Sandbox)....................................31
Hình 3.4: Sandbox là giải pháp cho cả doanh nghiệp lẫn quản lý...............................32
Hình 4.1. Mô hình hệ thống phân tích mã độc Cuckoo Sandbox................................37
Hình 4.2. Trang thanh toán của Locky phiên bản mới nhất........................................40
Hình 4.3. Địa chỉ ip máy ảo cuckoo1 (Window 7 OS)................................................40
Hình 4.4. Địa chỉ ip với interface của VirtualBox VM (vboxnet0) trên Ubuntu........41
Hình 4.5. Thiết lập chế độ Host-only cho vboxnet0 và uỷ quyền người dùng sử dụng
Cuckoo.........................................................................................................................41
Hình 4.6. Giao diện phần mềm tạo máy ảo VirtualBox 5.2........................................42
Hình 4.7. Thực hiện lệnh khởi động Cuckoo Sandbox...............................................43
Hình 4.8. Thực hiện lệnh khởi động hệ thống phân tích mã độc Cuckoo Sandbox....43
5
Hình 4.9. Giao diện chính hệ thống phân tích mã độc Cuckoo Sandbox....................44
Hình 4.10. Chọn chương trình mã độc Locky thực hiện phân tích.............................45
Hình 4.11. Máy ảo cuckoo1 thực hiện chạy chương trình agent.py............................46
Hình 4.12. Thông tin cơ bản về mã độc Locky Ransomware.....................................47
Hình 4.13. Tổng quan phân tích tĩnh...........................................................................47
Hình 4.14. Thông tin về phần mềm Pack và một số section của PE file mã độc........48
Hình 4.15. Một số thư viện, hàm API của mã độc......................................................48
Hình 4.16. Tổng quan mục phân tích động.................................................................49
Hình 4.17. Các khoá Registry bị tác động...................................................................50
Hình 4.18. Hệ thống mạng bị mã độc tác động...........................................................50
Hình 4.19. Tệp PIPE\lsarpc bị sửa đổi........................................................................51
Hình 4.20. URLs được tìm thấy trong Process Memory của mã độc..........................52
6
LỜI CẢM ƠN
Trước hết tôi xin cảm ơn sâu sắc tới Thầy Phạm Văn Hưởng, đã định hướng
cho tôi trong việc lựa chọn đề tài, đưa ra những nhận xét quý giá và trực tiếp hướng
dẫn nhóm tôi trong quá trình làm thực tập cơ sở chuyên ngành.
Xin cảm ơn tất cả mọi người đã tạo những điều kiện tốt nhất để nhóm tôi hoàn
thành thực tập cơ sở chuyên ngành.
Hà Nội, tháng 10 năm 2018
Nhóm sinh viên
Phạm Ngọc Vân
Đỗ Thị Vân
7
LỜI MỞ ĐẦU
Phát tán mã độc (Malware) đã thực sự trở thành một ngành “công nghiệp ”
trong các hoạt động gián điệp và phá hoại hệ thống, phần mềm hiện nay. Theo thống
kê từ các cơ quan, tổ chức, doanh nghiệp chuyên về An ninh, an toàn thông tin, hoạt
động phát tán mã độc không chỉ tồn tại ở những nước phát triển mà ngay tại các nước
đang phát triển như Việt Nam cũng trở thành mảnh đất màu mỡ cho các Hacker tấn
công. Mã độc được phát tán tại hầu hết các cơ quan quan trọng từ các cơ quan Chính
phủ, Quốc hội tới các cơ quan tài chính như ngân hàng, viện nghiên cứu, trường đại
học,…. Các phần mềm chứa mã độc được tồn tại dưới rất nhiều hình thức và có khả
năng lây lan vô cùng lớn.
Không dừng lại ở đó, mã độc hiện tại đã lây lan đa nền tảng và hiện tại không
chỉ giới hạn ở máy tính cá nhân mà còn lây lan sang các thiết bị thông minh như
smartphone. Với tốc độ phát triển của nền kinh tế, hiện nay hầu hết mọi cá nhân đều
sở hữu một thiết bị thông minh hay máy tính cá nhân, vì vậy môi trường hoạt động
dành cho mã độc ngày càng rộng lớn và thiệt hại chúng gây ra cho chúng ta là vô
cùng lớn. Theo thống kê của Trung tâm ứng cứu khẩn cấp máy tính Việt Nam
(VNCERT) sự cố tấn công về mã độc đang có chiều hướng gia tăng với thủ đoạn
ngày càng tinh vi.
Nhằm góp phần hiểu rõ về hoạt động hành vi của mã độc cũng như tác hại của
việc phát tán mã độc trên hệ thống, các thiết bị thông minh,… Báo cáo đã tìm hiểu và
nghiên cứu về “Phát hiện mã độc dựa trên phân tích động sử dụng mã nguồn mở
Cuckoo Sandbox”. Mục tiêu của Báo cáo gồm các nội dung chính:
Chương 1. Tổng quan về mã độc: chương này giới thiệu những vấn đề cơ bản
nhất về mã độc và vai trò của việc phân tích mã độc.
Chương 2. Cơ chế hoạt động của mã độc: chương này mô tả khái quát về cấu
trúc file PE của Windows; các hình thức tấn công, hành vi của mã độc và xu hướng
phát triển của mã độc.
Chương 3. Phương pháp phân tích động trong phát hiện mã độc trên môi
trường Sandbox: chương này mô tả các bước trong quá trình phân tích mã độc và
tìm hiểu về Sandbox.
8
Chương 4. Thực nghiệm: Giới thiệu hệ thống phân tích mã độc tự động
Cuckoo Sandbox. Áp dụng lý thuyết đưa ra trong Chương 3 để phân tích mã độc.
Phần Kết luận: trình bày tổng hợp các kết quả báo cáo.
Bài báo cáo đã đạt được một số kết quả khả quan trong việc nghiên cứu kỹ
thuât phân tích mã độc dựa trên phân tích động, đưa ra được quy trình phân tích. Tuy
nhiên, báo cáo không thể tránh khỏi những thiếu sót, vì vậy nhóm rất mong nhận
được những ý kiến đóng góp, nhận xét của thầy cô giáo để kết quả bài báo cáo được
hoàn thiện hơn.
9
CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC
1.1. Tổng quan về mã độc
1.1.1. Khái niệm về mã độc
Theo quan điểm của Viện tiêu chuẩn – công nghệ quốc gia Hoa Kỳ (NISTNational Institute of Standard and Technology) về định nghĩa và phân loại trong lĩnh
vực “Virus máy tính”, mã độc (Malware) hay còn gọi là malicious code đề cập đến
một chương trình được chèn vào hệ thống một cách bí mật, với mục đích làm tổn hại,
làm gián đoạn tính bí mật, tính toàn vẹn hoặc tính khả dụng của dữ liệu, ứng dụng
hoặc hệ điều hành (OS) của nạn nhân [2].
Malware là thuật ngữ đại diện cho tất cả các phần mềm có mục đích là gây độc
hại tự nhiên. Có nhiều loại Malware khác nhau. Một số loại phổ biến là virus, worms,
trojans, backdoors, rootkits, bots và spyware.
1.1.2. Tình hình mã độc tại Việt Nam và trên thế giới
Kể từ khi mã độc đầu tiên xuất hiện vào năm 1984 đến nay, theo viện nghiên
cứu độc lập về an toàn thông tin AV-TEST (www.av-test.org), đã có khoảng hơn 150
triệu mã độc được phát tán. Đặc biệt, trong vòng 5 năm gần đây, số lượng mã độc
phát triển nhanh chóng trên toàn thế giới đã đặt ra nhiều vấn đề về an ninh thông tin
cho toàn bộ những người sử dụng Internet trên toàn cầu.
10
Hình 1.1. Số lượng mã độc trên toàn thế giới trong vòng 5 năm gần đây (Nguồn: AV-TEST)
Chủng loại mã độc cũng đa dạng và phong phú hơn về cả hành vi và mục đích
phát tán. Các lĩnh vực mà mã độc nhằm đến bao gồm kinh tế, chính trị, tôn giáo và
nhiều lĩnh vực quan trọng khác. Trong năm 2017, thế giới bị rúng động bởi sự hoành
hành của mã độc tống tiền WannaCry gây lây nhiễm trên 250.000 máy tính ở 150
quốc gia trên thế giới.
Hình 1.2: Các vùng bị ảnh hưởng bởi mã độc WannaCry (Nguồn: VnExpress)
Tại Việt Nam, xu hướng tấn công, phát tán phần mềm có mã độc vào các cơ
quan, doanh nghiệp là hình thái mới của giới tội phạm mạng mang tính chất quốc gia
11
và đã xuất hiện tại Việt Nam. Bên cạnh các loại mã độc phổ biến thì cũng xuất hiện
các dạng mã độc mới, như mã độc đính kèm trong tập tin văn bản. Hầu hết người
nhận được email đã mở tập tin văn bản đính kèm và bị nhiễm mã độc khai thác lỗ
hổng của phần mềm Microsoft Office (bao gồm cả Word, Excel và PowerPoint). Khi
xâm nhập vào máy tính, mã độc này âm thầm kiểm soát toàn bộ máy tính nạn nhân,
mở cổng hậu (Backdoor), cho phép tin tặc điều khiển máy tính nạn nhân từ xa. Chúng
cũng nhận lệnh tin tặc tải các mã độc khác về máy tính để ghi lại thao tác bàn phím,
chụp màn hình, lấy cắp tài liệu.
Trong vòng 8 tháng đầu năm 2018, Việt Nam nằm trong số 20 quốc gia bị lây
nhiễm mã độc nhiều nhất thế giới, đồng thời dẫn đầu Đông Nam Á với hơn 86 triệu
email có nội dung đe dọa tấn công được phát hiện, theo hãng bảo mật Trend Micro.
Hình 1.3. Số liệu thống kê virus phát tán qua email tính đến quý 2 năm 2018 trên trang
statista.com
Trước sự gia tăng mạnh mẽ về số lượng và mục đích tấn công của mã độc cũng
có nhiều biện pháp nhằm ngăn chặn và phòng ngừa mã độc như sử dụng các chương
trình diệt Virus, sử dụng các hệ thống tường lửa, IDS, IPS để bảo vệ hệ thống,.. Tuy
nhiên các biện pháp này chỉ phần nào ngăn chặn được các loại Virus đã được biết đến
rộng rãi, còn các biến thể mã độc hoặc các mã độc mới được sinh ra ngày càng nhiều
thì hầu như vô hình trước các biện pháp bảo vệ trên.
12
Số liệu cho thấy, trong 5 tháng đầu năm 2018, có tới 735.000 máy tính tại Việt
Nam bị nhiễm virus đào tiền ảo. Các virus này không xóa dữ liệu nhưng chiếm quyền
điều khiển và biến máy tính thành máy đào. Với phần mềm gián điệp, khi máy tính bị
lây nhiễm, nó sẽ ăn cắp dữ liệu cá nhân, cookie, tài khoản email và tài khoản ngân
hàng. Các dữ liệu cá nhân bị đánh cắp sẽ được sử dụng với mục đích xấu hoặc bán
cho các công ty quảng cáo.
Không kém phần nguy hiểm là mã độc tấn công có chủ đích APT (thuật ngữ
dùng để mô tổ một chiến dịch tấn công, thường do một nhóm các kẻ tấn công, sử
dụng những kỹ thuật tấn công nâng cao để có thể hiện diện và tồn tại lâu dài trên
mạng Internet nhằm khai thác dữ liệu có độ nhạy cảm cao). Đây là hình thức tấn công
bằng email chứa file văn bản. Kẻ xấu giả làm người quen và gửi email kèm file văn
bản. Khi người dùng mở file đính kèm, máy tính sẽ vô tình bị nhiễm mã độc.
1.2. Phân loại mã độc
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 [1].
1.2.1. Virus
Là một phần mềm độc hại 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. Virus thường được kích hoạt thông qua sự tương
tác của người dùng, chẳng hạn như mở tệp hoặc chạy chương trình.
Virus có thể được chia thành 2 loại sau:
- 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 virus được biên dịch bao gồm file infector virus, chúng tự gắn vào các
chương trình thực thi; boot sector virus, lây nhiễm vào bản ghi khởi động
chính của ổ đĩa cứng hoặc các chương trình khởi động của thiết bị lưu trữ di
động và multipartite virus, kết hợp các đặc tính của file infector và boot
sector virus.
- Interpreted Virus: Là virus được thực thi bởi một ứng dụng. 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 khả năng kiểm soát việc
13
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ệnh chạy bằng một service của hệ điều
hành.
1.2.2. Worm
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”, thường tự thực thi mà không cần sự can thiệp của
người dùng. Worm có thể chia làm 2 loại sau:
- Network Service Worm: Lan truyền bằng cách lợi dụng các lỗ hổng bảo
mật trong một dịch vụ mạng để tự lan truyền và lây nhiễm sang các máy chủ
khác.
- 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.
1.2.3. Trojan horse
Trojan là một chương trình độc lập, không tự nhân bản. Nó lây vào hệ thống
với biểu hiện ban đầu là lành tính 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. Thuật ngữ này bắt nguồn từ câu chuyện Hy Lạp cổ đại “ Ngựa
thành Troy”. 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.
- 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 hoặc che giấu các hành động phá hoại khác.
- 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.
1.2.4. Rootkits
Rootkit là thuật ngữ được dùng để chỉ tập hợp các chương trình hay mã lệnh có
khả năng kiểm soát hệ thống nhưng không bị phát hiện theo cách bình thường. Nói
cách khác rootkit là những mã lệnh hay chương trình có khả năng kiểm soát ở cấp độ
14
quản trị phổ thông một hệ thống máy tính mà người dùng không bao giờ hoặc khó có
thể phát hiện ra được. Tuy nhiên rootkit không thể tự lan truyền hay nhân bản được.
1.2.5. Spyware
Spyware là phần mềm gián điệp chuyên thu thập các thông tin từ các máy chủ
(thông thường vì mục đích thương mại) qua mạng Internet mà không có sự nhận biết
và cho phép của chủ máy. Một cách điển hình, spyware được cài đặt một cách bí mật
như là một bộ phận kèm theo của các phần mềm miễn phí (freeware) và phần mềm
chia sẻ (shareware) mà người ta có thể tải về từ Internet. Một khi đã cài đặt, spyware
điều phối các hoạt động của máy chủ trên Internet và lặng lẽ chuyển các dữ liệu thông
tin đến một máy khác (thường là của những hãng chuyên bán quảng cáo hoặc của các
tin tặc). Phần mềm gián điệp cũng thu thập tin tức về địa chỉ thư điện tử và ngay cả
mật khẩu cũng như là số thẻ tín dụng.
15
1.2.6. Adware
Adware là phần mềm quảng cáo thường hay có ở trong các chương trình cài đặt
tải từ trên mạng. Một số phần mềm vô hại, nhưng một số có khả năng hiển thị thông
tin lên màn hình, cưỡng chế người dùng.
1.2.7. Fileless Malware
Fileless malware là một phần mềm độc hại không sao chép bất cứ tệp tin và thư
mục nào vào ổ đĩa cứng khi thực thi, Thay vào đó, dữ liệu độc hại được đưa trực tiếp
vào bộ nhớ của tiến trình đang chạy và mã độc thực thi ngay trên RAM. Việc điều tra
số và lần vết mã độc trở nên khó khăn do bộ nhớ sẽ được giải phóng khi máy tính
khởi động lại.
1.2.8. Ransomware
Là mã độc tống tiền bao gồm nhiều lớp phần mềm với chức năng hạn chế truy
cập đến hệ thống máy tính mà đã lây nhiễm, và đòi hỏi một khoản tiền cho người đã
tạo ra mã độc đó nhằm mục đích xoá bỏ việc hạn chế truy cập mà nó đã tạo ra trước
đó. Một vài dạng của ramsomware mã hoá tệp tin, dữ liệu trên ổ đĩa cứng (nhằm tống
tiền), trong khi một vài dạng khác thì đơn giản hơn, chúng khoá hệ thống lại và hiển
thị một thông báo để thuyết phục người bị hại trả tiền.
16
1.3. Vai trò của việc phân tích mã độc
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 mã độc 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 mã
độc 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.
1.4. Kết luận chương 1
Trong chương này báo cáo đã nghiên cứu các kiến thức cơ bản về mã độc, tổng
quan về tình hình mã độc hiện nay tại Việt Nam và trên thế giới. Nội dung báo cáo đã
trình bày được các loại mã độc hiện nay và vai trò của việc phân tích mã độc.
Trong chương tiếp theo, báo cáo sẽ nghiên cứu đến cơ chế hoạt động, hành vi
của mã độc và xu hướng phát triển của mã độc hiện nay.
17
CHƯƠNG 2: CƠ CHẾ HOẠT ĐỘNG CỦA MÃ ĐỘC
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 mã độc 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 mã
độc 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 mã 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.
18
Hình 2.1. Cấu trúc cơ bản của PE
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 [3]:
1. Executable Code Section, có tên là .text (Microsoft).
2. Data Sections, có tên là .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.
19
2.2. Các hình thức tấn công của mã độc [3][5]
Hiện nay có rất nhiều hình thức phát tán mã độc hại, có thể thông qua email,
thông qua các phần mềm và gắn mã độc vào bên trong, thông qua các đường link
trang web, thông qua việc chia sẻ file USB…
2.2.1. Qua thiết bị lưu trữ
Cách phát tán phổ biến nhất của mã độc 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 mã độc. 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 mã độc.
Một số dạng phát tán đ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
mã độc, mã độc 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
động nữa. Mã độc 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 mã độc 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, mã độc 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.
20
- Xem thêm -