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

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

1

Pikachu.

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

2

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

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

3

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.

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.

4

 Giám sát mạng khi chạy phần mềm nghi ngờ độc hại.

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

+ Không thực hiện chạy mã độc, giảm + Khó phân tích khi phần nguy cơ lây lan phá hoại hệ thống. Phân tích tĩnh mềm nghi ngờ độc hại bị + Dựa trên cấu trúc tệp tin thực thi nén, mã hóa. (PE file) để phân tích

5

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

Ưu điểm Nhược điểm

phần mềm độc hại khi thực hiện trên mềm độc hại làm cho hệ

hệ thống. thống đối mặt với những

+ Đánh giá được các ảnh hưởng thực rủi ro về an ninh,an toàn

tế đến hệ thống. 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.

+ Cũng cần thực hiện phần + Giám sát các tác động của phần mềm độc hại như phân tích mềm độc hại nên hệ thống, đưa ra động nên cũng có nhiều rủi Phân tích hành vi đánh giá các rủi ro, cách khắc phục hệ ro về an ninh, an toàn thống khi bị nhiễm độc. 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

6

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.

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

7

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

Chạy game

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.

Nạp module giám sát hành vi Kiểm tra hành vi

Có hành vi can thiệp vào game

Thoát game

Nếu không thì lặp lại kiểm tra

8

Hình 3.6 Mô hình hoạt động của module chống hack.

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

9

khi triển khai ngoài cộng đồng.

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

10

mềm độc hại.