Với sự phát triển mạnh mẽ của Internet, vấn đề an ninh, an toàn 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à với mạng
Internet, chúng 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 tác nhân tấn công phá hoại các 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ác phần mềm độc hại được phát triển ngày càng tinh vi, rất khó phát hiện với các
kỹ thuật nhận dạng thông thường, như kỹ thuật phân tích tĩnh và phân tích động. Các kỹ
thuật phân tích tĩnh và phân tích động giúp chúng ta phân tích, nhận dạng được các phần
mềm độc hại dựa trên các đặc trưng của chúng dưới dạng các chữ kí. Tuy nhiên, khi các kỹ
thuật viết chương trình ngày càng phát triển, các phần mềm độc hại có khả năng tự biến đổi
thành một dạng mới rất khó phân tích, nhận dạng.
Dựa trên các đặc tính, tính chất của các phần mềm độc hại, phương pháp tiếp cận
phân tích hành vi tỏ ra có lợi thế trong nhận dạng và phòng ngừa các nguy cơ do các phần
mềm độc hại gây ra, đặc biệt khi có những sự biến đổi của kỹ thuật viết chương trình phần
mềm độc hại để tránh các phương pháp phân tích nhận dạng truyền thống. Luận văn này tập
trung nghiên cứu phương pháp phân tích, nhận dạng các phần mềm độc hại dựa trên hành vi
với mục đích nâng cao khả năng nhận dạng các phần mềm độc hại.
Luận văn bao gồm ba chương chính với nội dung như sau:
+ Chương 1: Giới thiệu tổng quan về các phần mềm độc hại: khái niệm chung về
phần mềm độc hại, phân loại chúng theo NIST, tác hại của phần mềm độc hại đối với
hệ thống và người dùng, quá trình hình thành và phát triển của phần mềm độc hại.
+ Chương 2: Trình bày các phương pháp phân tích phần mềm độc hại: phương pháp
phân tích tĩnh, phương pháp phân tích động, phương pháp phân tích hành vi. So sánh
ưu nhược điểm của các phương pháp phân tích phần mềm độc hại.
+ Chương 3: Nội dung trình bày tổng quan về games, quá trình hình thành và phát
triển của game trên thế giới và Việt Nam. Ứng dụng phân tích hành vi trong chống
hack game. Minh họa ứng dụng dụng phân tích hành vi chống hack cho game
Pikachu.
12 trang |
Chia sẻ: tuandn | Lượt xem: 3243 | Lượt tải: 7
Bạn đang xem nội dung tài liệu Tóm tắt luận văn Phát hiện các phần mềm độc hại dựa trên phân tích hành vi và ứng dụng trong chống hack game, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
ĐỖ ANH TUẤN
PHÁT HIỆN CÁC PHẦN MỀM ĐỘC HẠI DỰA TRÊN PHÂN TÍCH HÀNH
VI VÀ ỨNG DỤNG TRONG CHỐNG HACK GAME
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2013
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: Tiến sĩ HOÀNG XUÂN DẬU.
Phản biện 1: ……………………………………………………………………………………………
Phản biện 2: ……………………………………………………………………………………………
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính
Viễn thông
Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm ...............
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
1
MỞ ĐẦU
Với sự phát triển mạnh mẽ của Internet, vấn đề an ninh, an toàn 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à với mạng
Internet, chúng 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 tác nhân tấn công phá hoại các 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ác phần mềm độc hại được phát triển ngày càng tinh vi, rất khó phát hiện với các
kỹ thuật nhận dạng thông thường, như kỹ thuật phân tích tĩnh và phân tích động. Các kỹ
thuật phân tích tĩnh và phân tích động giúp chúng ta phân tích, nhận dạng được các phần
mềm độc hại dựa trên các đặc trưng của chúng dưới dạng các chữ kí. Tuy nhiên, khi các kỹ
thuật viết chương trình ngày càng phát triển, các phần mềm độc hại có khả năng tự biến đổi
thành một dạng mới rất khó phân tích, nhận dạng.
Dựa trên các đặc tính, tính chất của các phần mềm độc hại, phương pháp tiếp cận
phân tích hành vi tỏ ra có lợi thế trong nhận dạng và phòng ngừa các nguy cơ do các phần
mềm độc hại gây ra, đặc biệt khi có những sự biến đổi của kỹ thuật viết chương trình phần
mềm độc hại để tránh các phương pháp phân tích nhận dạng truyền thống. Luận văn này tập
trung nghiên cứu phương pháp phân tích, nhận dạng các phần mềm độc hại dựa trên hành vi
với mục đích nâng cao khả năng nhận dạng các phần mềm độc hại.
Luận văn bao gồm ba chương chính với nội dung như sau:
+ Chương 1: Giới thiệu tổng quan về các phần mềm độc hại: khái niệm chung về
phần mềm độc hại, phân loại chúng theo NIST, tác hại của phần mềm độc hại đối với
hệ thống và người dùng, quá trình hình thành và phát triển của phần mềm độc hại.
+ Chương 2: Trình bày các phương pháp phân tích phần mềm độc hại: phương pháp
phân tích tĩnh, phương pháp phân tích động, phương pháp phân tích hành vi. So sánh
ưu nhược điểm của các phương pháp phân tích phần mềm độc hại.
+ Chương 3: Nội dung trình bày tổng quan về games, quá trình hình thành và phát
triển của game trên thế giới và Việt Nam. Ứng dụng phân tích hành vi trong chống
hack game. Minh họa ứng dụng dụng phân tích hành vi chống hack cho game
Pikachu.
2
CHƯƠNG 1 - TỔNG QUAN VỀ CÁC PHẦN MỀM ĐỘC HẠI
1.1 Định nghĩa phần mềm độc hại
Phần mềm độc hại (tiếng Anh: malware là sự ghép của hai chữ malicious và
software) là một loại phần mềm hệ thống do các tin tặc hoặc các lập trình viên tạo ra nhằm
gây hại cho các máy tính và người dùng. Tùy theo cách thức mà tin tặc sử dụng, sự nguy hại
của các loại phần mềm độc hại là khác nhau. Một số phần mềm độc hại chỉ đơn giản hiển thị
các thông điệp không mong muốn, gây khó chịu cho người dùng. Tuy nhiên, nhiều phần
mềm độc hại hỗ trợ tin tặc tấn công, đột nhập đánh cắp thông tin, chiếm quyền điều khiển
máy tính. Nhiều phần mềm độc hại có khả năng lây lan sang các máy tính khác tương tự
như virus trong cơ thể các sinh vật.
1.2 Phân loại
Theo NIST(National Institute of Standards and Technology : viện tiêu chuẩn và công
nghệ quốc gia Hoa Kỳ). Phần mềm độc hại được chia thành tám nhóm chính, bao gồm: Virus,
Trojan horse, Worm, Malicious mobile code, Blended attack, Tracking cookies, Attacker tools
và Non-Malware Threats.
1.3 Tác hại của phần mềm độc hại
Dựa trên các loại phần mềm độc hại khác nhau mà tác hại của chúng đối với hệ thống
của chúng ta là khác nhau, nhưng cơ bản có những tác hại chính sau:
Giảm hiệu năng máy tính
Thiệt hại tài chính
Mất thông tin cá nhân
Ảnh hưởng tới hoạt động sản xuất
1.4 Lịch sử phát triển phần mềm độc hại
1.5 Kết chương
Chương 1 của luận văn đề cập tới khái niệm cơ bản về phần mềm độc hại, phân loại
phần mềm độc hại theo viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ, lịch sử hình thành
và phát triển từ trước tới nay, các tác hại đối của phần mềm độc hại đối với chúng ta.
Với những tác hại của phần mềm độc hại đối với hệ thống cũng chính là vấn đề đặt ra
cho luận văn phát triển một giải pháp phân tích phần mềm độc hại dựa trên phân tích hành
3
vi, giúp chúng ta đánh giá được tác động ảnh hưởng của phần mềm độc hại đối với hệ thống
cũng như đưa ra giải pháp phòng ngừa khắc phục hậu quả do phần mềm độc hại gây ra.
4
CHƯƠNG 2 - CÁC PHƯƠNG PHÁP PHÂN TÍCH, NHẬN DẠNG
PHẦN MỀM ĐỘC HẠI
2.1Các phương pháp phân tích, nhận dạng phần mềm độc hại
2.1.1 Phương pháp phân tích tĩnh
2.1.1.1 Giới thiệu
Phương pháp phân tích tĩnh là phương pháp trích xuất thông tin về các phần mềm
độc hại từ tập tin mã nhị phân của chúng mà không thực hiện các mã nhị phân này. Phân
tích tĩnh bao gồm việc kiểm tra danh sách các chuỗi, sinh chữ ký cho mỗi phần mềm được
phân tích, xác định thuộc tính và trình biên dịch được sử dụng và một số đặc điểm khác
2.1.1.2 Quét chữ ký phần mềm độc hại dựa trên các công cụ Anti-virus
2.1.1.3 Phân tích các phần mềm độc hại đã áp dụng đóng gói và xáo trộn mã
2.1.1.4 Phân tích các phần mềm độc hại trên nền hệ điều hành Windows
2.1.2 Phương pháp phân tích động
2.1.2.1 Giới thiệu
Phương pháp phân tích động là phân tích, kiểm tra các phần mềm độc hại khi chúng
đang được thực thi. Phân tích động là bước thứ hai trong quá trình phân tích phần mềm độc
hại. Phân tích động thường được thực hiện sau khi hoàn tất quá trình phân tích tĩnh. Phân
tích động liên quan đến việc giám sát phần mềm độc hại khi chúng đang được thực thi, kiểm
tra các hệ thống sau khi đã thực hiện các phần mềm độc hại.
Khi phân tích một phần mềm độc hại bằng phương pháp phân tích động cần thực
hiện các bước sau :
Thiết lập môi trường phân tích.
Chạy phần mềm nghi ngờ độc hại.
Giám sát tiến trình của phần mềm nghi ngờ độc hại.
Giám sát mạng khi chạy phần mềm nghi ngờ độc hại.
5
2.1.2.2 Thiết lập môi trường phân tích
2.1.2.3 Chạy phần mềm độc hại
2.1.2.4 Giám sát tiến trình của phần mềm nghi ngờ độc hại
2.1.2.5 Giám sát mạng khi chạy phần mềm nghi ngờ độc hại
2.2 Phương pháp phân tích, nhận dạng phần mềm độc hại dựa trên hành vi
Phương pháp phân tích phần mềm độc hại dựa trên hành vi là việc khai thác thông tin
liên quan về một chương trình bị nghi ngờ, bằng cách giám sát các hoạt động, hành động
của nó trong hệ thống .
Trong phần này, luận văn tập trung đưa ra một ví dụ về phân tích hành vi và mô hình
hóa nó. Mục đích của việc phân tích hành vi phần mềm độc hại giúp đánh giá các ảnh
hưởng, tác động đến hệ thống khi một phần mềm độc hại được thực thi. Do vậy, một hệ
thống phân tích sử dụng phương pháp phân tích hành vi cần có 3 thành phần chính :
1. Giám sát hành vi ứng dụng ở mức thấp tổng hợp để hình thành hành vi cấp
cao.
2. Phân cụm các hành vi thu được ở phần giám sát.
3. Khắc phục các ảnh hưởng tới hệ thống bị nhiễm độc, dựa vào các dữ liệu hành
vi thu được.
2.2.1 Mô tả vấn đề
2.2.2 Khai thác hành vi cấp cao
2.2.3 Phân cụm hành vi
2.2.4 Khái quát hành vi
2.2.5 Tạo thủ tục xử lý vùng nhiễm độc
2.3 So sánh các phương pháp phân tích phần mềm độc hại.
Bảng 2.3 So sánh ưu nhược điểm các phương pháp phân tích phần mềm độc hại.
Ưu điểm Nhược điểm
Phân tích tĩnh
+ Không thực hiện chạy mã độc, giảm
nguy cơ lây lan phá hoại hệ thống.
+ Dựa trên cấu trúc tệp tin thực thi
(PE file) để phân tích
+ Khó phân tích khi phần
mềm nghi ngờ độc hại bị
nén, mã hóa.
Phân tích động + Giám sát được các hành động của + Khi thực hiện chạy phần
6
Ưu điểm Nhược điểm
phần mềm độc hại khi thực hiện trên
hệ thống.
+ Đánh giá được các ảnh hưởng thực
tế đến hệ thống.
mềm độc hại làm cho hệ
thống đối mặt với những
rủi ro về an ninh,an toàn
thông tin.
+ Đôi khi rất khó có thể
thực thi được phần mềm
độc hại do cần tham số
thực thi.
Phân tích hành vi
+ Giám sát các tác động của phần
mềm độc hại nên hệ thống, đưa ra
đánh giá các rủi ro, cách khắc phục hệ
thống khi bị nhiễm độc.
+ Cũng cần thực hiện phần
mềm độc hại như phân tích
động nên cũng có nhiều rủi
ro về an ninh, an toàn
thông tin.
2.4 Kết chương
Chương 2 trình bày chi tiết về các phương pháp phân tích phần mềm độc hại. Phương pháp
phân tích tĩnh không yêu cầu thực thi phần mềm độc hại giảm khả năng lây nhiễm sang hệ
thống khác. Phương pháp phân tích động theo dõi các hoạt động của phần mềm độc hại khi
thực thi trong hệ thống. Phương pháp phân tích hành vi phát triển dựa trên phương pháp
phân tích động với khái niệm hành vi tương ứng với các hành động xảy ra trong hệ thống
khi thực thi phần mềm độc hại. Mục tiêu cuối cùng đối với chúng ta là xây dựng một hệ
thống tự động phân tích phần mềm độc hại, tổng hợp dữ liệu đưa ra các đánh giá để có được
thủ tục khắc phục an toàn và hiệu quả.
Để cài đặt phương pháp phân tích hành vi trên hệ thống thực cần mở rộng thêm nhiều hành
vi cần giám sát để sát với thực tế cũng như môi trường thực của hệ điều hành.
7
CHƯƠNG 3 – ỨNG DỤNG PHÂN TÍCH HÀNH VI TRONG
CHỐNG HACK GAMES
3.1 Game và lịch sử phát triển
3.1.1 Tổng quan về game
Video game gọi tắt là game là một dạng trò chơi điện tử liên quan đến tính tương tác
với một giao diện người sử dụng để tạo ra một phản hồi hình ảnh trên một thiết bị hiển thị.
Từ Video trong Video game là cách gọi truyền thống cho một thiết bị hiển thị. Tuy nhiên,
với sự phổ biến của thuật ngữ “Video game”, giờ đây nó ngụ ý tất cả các dạng thiết bị hiển
thị. Hệ thống thiết bị điện tử sử dụng để chơi Video game được gọi là các hệ máy, ví dụ như
máy tính cá nhân hay các hệ máy console. Những hệ máy này có kích thước từ chiếc máy
tính đồ sộ cho đến những thiết bị nhỏ gọn cầm tay.
3.1.2 Lịch sử phát triển của game
3.2Sử dụng các phần mềm độc hại trong hack games
3.2.1 Lý do hack games
Những lý do chính mà người chơi sử dụng công cụ để hack games :
Để tăng điểm kinh nghiệm chơi game
Để thách thức bản thân, cũng như nhà phát triển games
Vui chơi giải trí
Gây sự chú ý
Quảng cáo
3.2.2 Kỹ thuật cơ bản để hack games
Để hack games có rất nhiều cách tiếp cận khác nhau nhưng cơ bản là có 2 bước chính
sau :
Sử dụng các công cụ phần mềm để kiểm tra, khai thác các lỗ hổng để tấn công game.
Sau khi đã khai thác được game thu thập được các dữ liệu về game thì hacker có thể
sử dụng để hack game thay đổi các dữ liệu, hoặc lập trình viết thành các công cụ
hack game để phát tán rộng ra bên ngoài.
3.3 Ứng dụng phân tích hành vi trong chống hack games
3.3.1 Khai thác hành vi hack game Pikachu
8
Trong phần ứng dụng phân tích hành vi tập trung vào hai hành vi debug và chèn mã
để chống hack game cho game Pikachu.
Hành vi debug gồm có :
Hành vi debug với ngắt INT 3h.
Hành vi truy vấn để debug NtQueryInformationProcess.
Hành vi kiểm tra tiến trình debug CheckRemoteDebuggerPresent.
Hành vi chèn mã can thiệp về thời gian hoạt động của game Pikachu:
Hành vi thay đổi bộ đếm thời gian GetTickCount.
Hành vi truy vấn bộ đếm thời gian QueryPerformanceCounter.
3.3.2 Phân cụm hành vi hack game Pikachu
Với các hành vi debug và chèn mã được khai thác trong phần 3.3.1, sử dụng thuật
toán 1 trong phần 2.2.3 để phân cụm hành vi. Ta sẽ được hai cụm được đặt tên là Debug và
Inject.
3.3.3 Cài đặt chương trình chống hack cho game Pikachu
Do chương trình game Pikachu là một chương trình game độc lập đã được đóng gói,
để nạp được module giám sát hành vi vào game Pikachu cần có chương trình thực hiện gọi
là Loader. Chương trình “Loader.exe” sẽ làm nhiệm vụ thực thi game Pikachu và nạp
module giám sát hành vi vào tiến trình chính của game Pikachu.
Module giám sát hành vi “Behaviour.dll” khi thực hiện sẽ liên tục kiểm tra các hành
vi can thiệp vào game để phân tích và đưa ra thông báo và thoát game khi phát hiện hack.
Hình 3.6 Mô hình hoạt động của module chống hack.
Nạp module giám
sát hành vi
Kiểm tra
hành vi
Thoát game
Có hành vi can thiệp vào
game
Nếu không thì lặp lại kiểm
tra
Chạy game
9
Trên hình 3.6, là mô hình hoạt động của module chống hack. Sau khi nạp module
giám sát hành vi vào chạy cùng với game. Module giám sát hành vi sẽ liên tục kiểm tra các
hành vi trong hai cụm Debug và Inject. Đó là các hành vi INT 3h,
NtQueryInformationProcess, CheckRemoteDebuggerPresent, GetTickCount,
QueryPerformanceCounter.
3.4 Kết chương
Chương 3 đã giới thiệu tổng quan về game, lịch sử phát triển game với nhiều mốc
phát triển của game trên thế giới. Chương cũng nêu vấn đề và các lý do dẫn đến việc hack
games, các kỹ thuật cơ bản để hack game, và minh họa với game Pikachu. Chương cũng
trình bày kết quả ứng dụng kỹ thuật phân tích hành vi chống hack cho game Pikachu.
Việc ứng dụng kỹ thuật phân tích hành vi vào chống hack game giúp phát hiện hack
game, làm hạn chế các tác động tiêu cực đến game, đảm bảo sự phát triển ổn định cho game
khi triển khai ngoài cộng đồng.
10
KẾT LUẬN
Phân tích phần mềm độc hại nhằm thu được thông tin để sử dụng khai thác trong việc
điều tra, khám phá, loại bỏ các phần mềm độc hại và khắc phục các ảnh hưởng tác động đến
hệ thống khi bị nhiễm độc. Đề tài tập trung nghiên cứu phương pháp phân tích hành vi để
phân tích phần mềm độc hại, trên cơ sở đó đề ra được phương pháp phòng chống, khắc phục
hậu quả do phần mềm độc hại gây ra. Một số kết quả đạt được của luận văn:
Giới thiệu các khái niệm về phần mềm độc hại, lịch sử hình thành và phát triển của
chúng.
Đưa ra được các phương pháp cơ sở để phân tích phần mềm độc hại.
Đưa ra được mô hình và thuật toán cho phương pháp phân tích hành vi.
Xây dựng được một ứng dụng minh họa cho việc sử dụng phương pháp phân tích
hành vi vào chống hack game Pikachu.
Một số hướng nghiên cứu phát triển luận văn trong tương lai:
Triển khai thử nghiệm kỹ thuật phân tích hành vi nhắm chống hack cho các games
trực tuyến trong môi trường thực.
Nghiên cứu sâu hơn theo hướng học máy và ứng dụng cho phân tích, nhận dạng phần
mềm độc hại.