1. Trang chủ
  2. » Luận Văn - Báo Cáo

phân tích phần mền độc hại và ứng dụng trong phòng chống hack game

38 640 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 1,83 MB

Nội dung

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í

Trang 1

ĐỀ TÀI THỰC TẬP

Phân tích phần mềm độc hại và ứng dụng trong phòng chống hack game

Giảng viên hướng dẫn: Đỗ Xuân Chợ

LỜI CẢM ƠN

Trang 2

Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc tới thạc sĩ Đỗ Xuân Chợ, người thầy đãtận tình hướng dẫn chỉ bảo em trong suốt thời gian thực tập Nhờ sự quan tâm và địnhhướng của thầy, em đã có nhiều thong tin bổ ích cũng như phương pháp hoàn thành tốtbáo cáo thực tập này.

Tiếp đến em xin chân thành cảm ơn các thầy, cô khoa công nghệ thông tin, Họcviện Công nghệ Bưu chính Viễn thông Hà Nội đã tận tình dạy dỗ, trang bị những kiếnthức bổ ích trong những năm học vừa qua

Em xin cảm ơn các anh, chị trong công ty VTC Intecom nói chung và các anh chịbên phòng RD sản phẩm nói riêng, những người đã giúp đỡ nhiệt tình cho em trong thờigian thực tập ở công ty

Em xin chân thành cảm ơn!

Hà Nội, ngày 25 tháng 07 năm 2015

MỤC LỤC

LỜI CẢM ƠN 2 MỤC LỤC 2

Trang 3

MỞ ĐẦU 3

CHƯƠNG I – TỔNG QUAN VỀ PHẦN MỀM ĐỘC HẠI 3

1 Định nghĩa về phần mềm độc hại 3

2 Phân loại phần mềm độc hại 3

2.1 Virus 3

2.2 Worm 3

2.3 Trojan Horse 3

2.4 Malicious Mobile Code 3

2.5 Blended attacks 3

2.6 Tracking Cookies 3

2.7 Attacker Tools 3

3 Tác hại của phần mềm độc hại 3

4 Mô tả bài toàn giải quyết 3

5 Kết chương 3

CHƯƠNG II – CÁC PHƯƠNG PHÁP PHÂN TÍCH PHẦN MỀM ĐỘC HẠI 3

1.Khái quát về phân tích phần mềm độc hại 3

2.Các phương pháp phân tích phần mềm độc hại 3

2.1 Phương pháp phân tích tĩnh 3

2.1.1.Giới thiệu 3

2.1.2.Các kỹ thuật phân tích tĩnh cơ bản 3

2.2 Phương pháp phân tích động 3

2.2.1 Giới thiệu 3

2.2.2 Các bước trong quá trình phân tích động 3

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

2.3.1.Giới thiệu 3

2.3.2.Các bước xây dựng hệ thống phân tích nhận dạng phần mềm độc hại dựa trên hành vi 3

2.4.So sánh các phương pháp phân tích phần mềm độc hại 3

2.5 Kết chương 3

CHƯƠNG III – XÂY DỰNG CÔNG CỤ CHỐNG HACK GAME ỨNG DỤNG PHƯƠNG PHÁP PHÂN TÍCH VÀ NHẬN DẠNG PHẦN MÊM ĐỘC HẠI DỰA TRÊN HÀNH VI 3

1 Game và lịch sử phát triển game 3

2.Hack game và các kỹ thuật cơ bản trong hack game 3

Trang 4

2.1 Hack game và lý do hack game 3

2.2 Kỹ thuật cơ bản trong hack game 3

3 Xây dựng công cụ chống hack game 3

KẾT LUẬN 3

TÀI LIỆU THAM KHẢO 3

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 máy tính ngày càng trở nên cấp thiết khi các hệ thống máy tính đượ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 máy tính và mạng, các phần mềm độc hại là một trong các tác nhân 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, nên rất

Trang 5

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 mẫu hoặ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 phân tíchhà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ầnmềm độc hại

để tránh các phương pháp phân tích nhận dạng truyền thống Đề tài thực tập này tập trungnghiê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

Đề tài bao gồm 3 chương với các nôi dung chính sau:

Chương 1: Tổng quan về phần mềm độc hại.

Giới thiệu tổng quan về các phần mềm độc hại, định nghĩa 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, lịch sử hình thành và phát triển của các phần mềm độc hại

Chương 2: Các phương pháp phân tích phần mềm độc hại.

Trình bày các phương pháp phân tích phần mềm độc hại: phân tích tĩnh, phân tích động

và phân tích hành vi Các bước thực hiện các phương pháp phân tích kể trên 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: Xây dựng công cụ chống hack game ứng dụng phương pháp phân tích và 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 và nhận dạng phần mềm độc hại dựa trên hành vi Chương này trình bày tổng quan về games, hành vi hack game cũng như kỹ thuật hack game cơ bản Ứng dụng 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 để xây dựng một công cụ chống hack game

Trang 6

CHƯƠNG I – TỔNG QUAN VỀ PHẦN MỀM ĐỘC HẠI

Chương 1 giới thiệu tổng quan về các phần mềm độc hại, định nghĩa 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, lịch sử hình thành và phát triển của các phần mềm độc hại

1 Định nghĩa về phần mềm độc hại

Phần mềm độc hại (tên tiếng anh là Malware viết tắt của từ Malicious Software) được định nghĩa là một loại phần mềm hay chương trình thường được bí mật đưa vào hệ thống với mục đích làm ảnh hưởng đến tính bí mật, tính toàn vẹn và tính sẵn sàng của dữ liệu, ứng dụng, hay hệ điều hành (OS) Trong những năm 80 của thế kỷ trước, phần mềm độc hại viết ra đôi khi gây khó chịu hoặc bất tiện cho các cá nhân và tổ chức nhưng đến ngày

Trang 7

hôm nay, phần mềm độc hại là mối đe dọa bên ngoài nguy hiểm nhất đối với hầu hết các

hệ thống, gây thiệt hại trên diện rộng và đòi hỏi sự nỗ lực làm việc phòng chống, phục hồi của hầu hết các tổ chức Không chỉ vậy các phần mềm độc hại tấn công vào các dữ liệu thông tin nhậy cảm, vi phạm quyền riêng tư của người dùng cũng đã trở thành một mối quan tâm lớn cho các tổ chức

2 Phân loại phần mềm độc hại

Đề tài này sẽ phân loại phần mềm độc hại theo NIST (National Institute of Standards and Technology : viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ) [1, pp 15 - 23] Theo đó các 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

Interpreted Virus Melisa

Worm

Sasser

Mass Mailing worm

Netsky, Mydoom

Trojan Horse

Trang 8

KeyLogger Pro Rootkits Hack Defender,

Adore

Web browser plus-inAttacker toolkit Post

scanner,Password cracker,Attacks Non-malware

Threats

Phishing

Virus HoaxesBảng 1.2 Phân loại phần mềm độc hại theo NIST

2.1 Virus

Virus hay virus máy tính được định nghĩa là những chương trình hay đoạn mã được thiết

kế để tự nhân bản và sao chép chính nó vào các đối tượng lây nhiễm khác (file, ổ đĩa, máy tính, ) Virus được chia làm 2 loại:

 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 của thế kỉ trước là virus thuộc nhóm này Ngoài ra compiled virus cũng có thể là pha trộn bởi cả boot virus và file virus trong cùng một phiên bản

Trang 9

 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 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 và scripting Virus là những Virus thuộc loại này Virus Melisa là một đại diện nôi bật cho loại Virus này.

2.2 Worm

Worm hay sâu máy tính tương tự như virus cũng là một chương trình có khả năng tựnhânbản và tự lây nhiễm trong hệ thống Tuy nhiên điểm khác biệt là worm có thể hoạt động

mà không cần có sự tác động của người dùng, điều đó có nghĩa là worm không cần phải

có file chủ để mang nó khi nhiễm vào hệ thống Mục tiêu của worm bao gồm làm lãng phí nguồn lực băng thông của mạng và phá hoại hệ thống như xoá file, tạo backdoor, cài đặt keylogger Tấn công của Worm có đặc trưng là lan rộng cực kỳ nhanh chóng do không cần tác động của con người 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ủamạng, của hệ điều hành hoặc của ứng dụng Một ví dụ điển hình cho loạiwormnày là Sasser

 Mass Mailing Worm là loại worm tập trung 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 Khisâ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ụ điển hình cho loại worm này

2.3 Trojan Horse

Trojan Horse là loại mã độc hại, tên của nó xuất phát từ điển tích nổi tiếng con ngựathànhTroy trong thần thoại Hi Lạp Khác với Virus hay Worm, Trojan horse không tựnhân bản, nó lây vào hệ thống với biểu hiện 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 thường ẩn mình dưới dạng một chương trình hữu ích và có những chức năng mong muốn, hay ít nhất chúng trông như có các tính năng này Một cách bí mật, nó lại tiến hành các thao tác khác không mong muốn Những chức năng mong muốn chỉ làphần

bề mặt giả tạo nhằm che giấu cho các thao tác này Trong thực tế, nhiều Trojan horse chứa đựng các phần mềm gián điệp nhằm cho phép máy tính thân chủ bị điều khiển từ xa qua hệ thống mạng

Trang 10

2.4 Malicious Mobile Code

Malicious Mobile Code là một dạng mã phần mềm có thể được gửi từ xa vào để chạytrên 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 đó Điểm khácbiệt của malicious mobile code với virus, worm là nó không nhiễm vào file và cũng không tìm cách tự phát tán Loại phần mềm độc hại này lại tập trung khai thác vào

cácđiểm yếu bảo mật của hệ thống, kiểu tấn công này thường tác động đến hệ thống bằngcá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ộttrong những ví dụ nổi tiếng của kiểu tấn công này là Nimda, sử dụng JavaScript

2.5 Blended attacks

Blended attacks là dạng tấn công hỗn hợp, nó sẽ sử dụng pha trộn nhiều hình thức

tấncông, nhiều phương thức lây nhiễm hay nhiều phương thức truyền dẫn từ các loại phần mềm độc hại khác nhau để sử dụng Sâu Nimda thực sự là một ví dụ kinh điển của loại phần mềm độc hại này, tuy được gọi là sâu Nimda nhưng thực tế nó là sự kết hợp củaworm, virus và malicious mobile code

2.6 Tracking Cookies

Tracking cookie là một phần mềm độc hại thông qua cookie để thực hiện việc theo dõi nắm bắt các hành vi duyệt web của người sử dụng Như đã biết cookie là một file dữ liệu được tạo ra bởi web browser lưu thông tin liên quan đến sử dụng trình duyệt web của người dùng như thông tin tài khoản, mật khẩu, lịch sử truy cập Cookie được chia thành

Attacker Tools đúng như cái tên nó là tập hợp các công cụ được sử dụng bởi

attackernhằm mục đích tấn công vào hệ thống của người dùng sau đó gài phần mềm độc hại lên đó Các công cụ này thể giúp cho attacker có thể truy nhập vào hệ thống một cách bất hợp pháp làm cho hệ thống bị lây nhiễm mã độc hại Attacker tool có thể nằm trong một đoạn mã nào đó của một phần mềm độc hại (ví dụ như được built-in trong một trojan) hoặc được tải vào sau khi phần mềm độc hại nằm trong hệ thống

Trang 11

Dưới đây là một số loại attacker tools thường gặp:

 Backdoor là một thuật ngữ chung chỉ các phần mềm độc hại thường trú và đợilệnhđiều khiển từ bên ngoài thông qua các port dịch vụ như TCP, UDP Đaphần các loại Backdoors sẽ cho phép một attacker thực thi các hành vi bất hợppháp trên hệ thống của nạn nhân như truyền file, dò mật khẩu, thực hiện mãlệnh,

 Keylogger hay có tên đầy đủ là Keystroke logger Keylogger được sử 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 attacker, phầnmềm này có thể ghi lại toàn bộ hoặc có chọn lọc những thông tin mà nạn nhânđã nhập, ngoài ra một số keyloggers còn có khả năng ghi lại các thông tin bổsung khác, như ảnh chụp màn hình Các keylogger nổi tiếng là KeySnatch,KeyLogger Pro

 Rootkits là tập hợp của các files được cài đặt lên hệ thống nhằm biến đổi cácchức năng chuẩn của hệ thống thành các chức năng tiềm ẩn các nguy cơ tấncông nguy hiểm

 Web Browser Plug-In là các phần mềm độc hại được cài đặt và thực thi tronglòng trình duyệt web Attacker sẽ lợi dụng các plug-in có thể được nạp tự độnglên web browser khi chúng khởi động sau đó mã độc hại sẽ được cài đặt lên web browser Nhờ loại mã độc hại này attacker sẽ có thể đánh cắp thông tin bímật thông qua việc theo dõi tất cả các hành vi duyệt web của người dùng

 Email Generators là một dạng chương trình cho phép tạo ra và gửi đi một sốlượnglớn các email Sau khi Email Generators được cài đặt vào hệ thống chúng sẽ làm nhiệm vụ gửi một lượng lớn các loại email nguy hiểm tới một vài địa chỉ định sẵn nào đó hoặc có thể là các địa chỉ trong máy tính nạn nhân.Trên email đó cũng có thể chứa các loại mã độc hại khác như worm, chươngtrình gián điệp

 Attacker Toolkit là tập hợp các công cụ có sẵn (có thể download được ở

trênmạng) hoặc do chính attacker lập trình nên trước đó (để tiện dùng cho

nhữnglần sau)

 Non-malware Threats :Phần này tập trung nói về 2 mối nguy cơ tiềm ẩn là

phishing và virus hoaxes,tuy bản chất chúng không phải là một phần mềm độc hại, nhưng khi kết hợpvới phần mềm độc hại sự ảnh hưởng của nó là rất lớn Hai hiểm họa này có tên gọi kỹ thuật chung gọi là Social Engineering, một thuật ngữ

ám chỉ kẻ tấn công dùng các phương thức để lừa mọi người tiết lộcác thông tin nhạy cảm hoặc thực hiện một hành động nào đó chẳng hạn nhưmở một email có chứa worm, một file một đường dẫn có chữa mã độc …

Trang 12

3 Tác hại của phần mềm độc hại

Như đã nêu ở phần định nghĩa mục tiêu chung của tất cả các loại phần mềm độc hại là gây tổn hại đến tính bí mật, tính toàn vẹn và tính sẵn sàng của hệ thống Một cách cụ thể hơn:

 Tiêu tốn tài nguyên, giảm hiệu năng hệ thống

Đa phần các máy tính bị nhiễm phần mềm độc hại đều gây tiêu tốn tài nguyên nhưCPU, RAM, bộ nhớ dũng lượng đĩa cứng, từ đó làm giảm hiệu năng xử lý, chương trình hệ điềuhành bị treo, báo lỗi lập đi lập lại Không mở được task manager, CPU RAM luôn bị sửdụng ở mức 80, 90%, thông báo lỗi hiện lên khắp nơi là dấu hiệu hiển nhiên cho thấy máy tính bạn đang bị nhiễm phần mềm độc hại Rõ ràng việc làm tiêu tốn tài nguyên, giảm hiểu năng hệ thống gây ảnh hưởng không nhỏ đến tínhsẵn sàng của hệ thống Nguy hiểm hơn một số phần mềm độc hại còn được thiết kếvới mục đích phá hoại hoặc làm ngưng hoạt động của hệ thống máy tính

 Phá hủy hệ thống, dữ liệu

Ở một mức độ nguy hiểm hơn một số loại phần mềm độc hại cố tình phá hủy hệ thống (phá hủy BIOS, làm giảm tuổi thọ của ổ cứng, ), một số khác khi được xâydựng thì người thiết kế nó không cố ý đưa vào các đoạn mã làm hỏng hệ thống, tuynhiên quá trình hoạt động của phần mềm độc hại trong thực tế đôi lúc ngoài dự kiếncủa họ, Phần mềm độc hại bắt đầu hoạt động bất ổn, thậm chí sinh ra những lỗi làm tê liệt hệ thống Từ đó, dẫn tới dữ liệu thông tin quan trong lưu trong hệ thống của bạn cũng có thể bị phá hủy, tính toàn vẹn và sẵn sàng của hệ thống cũng bị ảnh hưởngnghiêm trọng Tuy nhiên các loại phần mềm độc hại hiện nay thường không đơn giảnchỉ có vậy nó có thể thực hiện cáchành vi tinh vi hơn và thậm chí nạn nhân còn không hay biết là mình đã bị nhiễm phần mềm độc hại

 Đánh cắp dữ liệu thông tin bí mật

Như đã nói ở trên một trong những hành vi cực kì nguy hiểm gây hậu quả vô cùng tolớn

đó là đánh cắp thông tin qua các phần mềm độc hại Vô số phần mềm độc hạiđược thiết

kế với mục đích bí mật truy cập máy tính của bạn đánh cắp thông tin bímật Thông tin tài khoản mật khẩu, số chứng minh thư, tài khoản ngân hàng và vô vàn các thông tin nhạy cảm khác đều có thể bị đánh cắp Các hành vi trộm cắp thôngtin như vậy thường có lý do tài chính, nhưng kẻ trộm cũng có thể làm chứng minh thư giả với thông tin cá nhân của bạn Thông tin cá nhân trộm cắp có thể được sử dụng để xin hưởng các phúc lợi xã hội, khai hồ sơ thuế gian lận hoặc đơn giản là một ID giả để qua mặt cảnh sát khi bị bắt Từ

đó có thể thấy tính bí mật và toàn vẹn của hệ thống cũng sẽ không được đảm bảo Ở đây

Trang 13

chúng ta cũng nhận thấy một điềuhết sức rõ ràng, ban đầu các phần mềm độc hại chỉ nhằm mục đích chứng tỏ bản thân, rồi tiêu tốn tài nguyên, phá hủy hệ thống từ đó gây thiệt hại cho nạn nhân, nhưng saunày nó đã có một bước tiến mới không chỉ là gây thiệt hại cho nạn nhân mà còn có thể làm giàu cho kẻ tấn công.

 Thiệt hại tài chính

Hiển nhiên từ các tác hại trên dù trực tiếp hay gián tiếp chúng đều gây nên thiệt hại tài chính đối với nạn nhân, các công ty tổ chức và xã hội Theo thống kê của Bkav trong vòng 12 tháng từ cuối năm 2012 đến cuối năm 2013, người sử dụng ở Việt Namđã phải chịu tổn thất lên đến gần 8 nghìn tỷ đồng, khoảng 40 triệu USD [2] Đây không phải là một con số nhỏ với một nước đang phát triển như chúng ta, thiệt hại vềmặt tài chính mà phần mềm độc hại đem lại là vô cùng to lớn

4 Mô tả bài toàn giải quyết

Với sự phát triển mạnh mẽ của phần mềm độc hại cũng như tác hại to lớn mà chúng gây

ra, việc nghiên cứu các kỹ thuật phân tích nhận diện phần mềm độc hại là vô cùng quan trọng Đồ án này tập trung giải quyết các phần việc sau:

 Giới thiệu các phương pháp phân tích phần mềm độc hại tiêu biểu và đặc biệt sẽ đisâu nghiên cứu và tìm hiểu về phương pháp phân tích và nhận diện phần mềm độc hại dựa trên hành vi

 Ứng dụng phương pháp phân tích phần mềm độc hại dựa trên hành vi vào

xâydựng công cụ chống hack game

5 Kết chương

Chương 1 đề cập đến các khái niệm cơ bản về phần mềm độc hại, định nghĩa và phân loạiphần mềm độc hại, quá trình hình thành và phát triển của phần mềm độc hại cũng như táchại của chúng đối với hệ thống và người dùng Từ đó giúp cho chúng ta cónhững nhìn nhận ban đầu về phần mềm độc hại, sự nguy hiểm của nó đến chính chúng ta những người đã và đang hằng ngày sử dụng hệ thống máy tính, cũng như định hướng giải quyết,phòng ngừa và khắc phục hậu quả do phần mềm độc hại gây ra

Trang 14

CHƯƠNG II – CÁC PHƯƠNG PHÁP PHÂN TÍCH PHẦN MỀM

ĐỘC HẠI

Chương 2 trình bày khái quát về phân tích phần mềm độc hại, các phương pháp phân tíchphần mềm độc hại: phân tích tĩnh, phân tích động và phân tích hành vi Các bước thực hiện phương pháp phân tích trên 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

1.Khái quát về phân tích phần mềm độc hại

Phân tích phần mềm độc hại là quá trình thực hiện các biện pháp nghiệp vụ để thu thập, tìm hiểu nghiên cứu mọi thông tin về mã độc từ đó xác định đặc tính, hành vi của mãđộc, cũng như ảnh hưởng và tác hại của nó để đưa ra các biện pháp phòng chống và ngăn chặn

Mục đích của phân tích mã độc là để cung cấp các thông tin đầy đủ nhất về mãđộc, từ đó xây dựng biện pháp xử lý Cụ thể, phân tích phần mềm độc hại để xác địnhchính xác những gì đã xảy ra, chúng làm việc gì, gây ảnh hưởng thế nào đến hệ thốngđến máy tính

Các phương pháp phân tích phần mềm độc hại:

Trang 15

Có hai phương pháp cơ bản để phân tích phần mềm độc hại: phân tích tĩnh và phân tích động (static and dynamic analysis) Đúng như tên gọi, phân tích tĩnh sử dụngcác phương pháp kiểm tra danh sách các chuỗi kỹ tự, xác định các thuộc tính, sinh chữký cho phần mềm để thu thập thông tin liên quan đến các phần mềm độc hại mà không cần chạy nó Ngược lại phân tích động tìm hiểu phần mềm độc hại thông qua việc chạy nó.

Ngoài ra trong đồ án này còn tập trung nghiên cứu một phương pháp thứ 3 là phương pháp phân tích và nhận dạng phần mềm độc hại dựa trên hành vi Phương pháp này đầu tiên sẽ tập trung phân tích phần mềm nghi ngờ là phần mềm độc hại từ đó xác định các hành vi, phân cụm chúng và tạo thủ tục xử lý vùng nhiễm độc

2.Các phương pháp phân tích phần mềm độc hại

2.1 Phương pháp phân tích tĩnh

2.1.1.Giới thiệu

Phân tích tĩnh là phương pháp thu thập thông tin hữu ích về các phần mềm độc hại thông qua quá trình phân tích mã hoặc cấu trúc của một chương trình từ đó xác định chức năng của chúng, đây thường là bước đầu tiên trong việc nghiên cứu phần mềm độc hại

2.1.2.Các kỹ thuật phân tích tĩnh cơ bản

a Sử dụng các công cụ Anti-virus quét chữ ký của phần mềm độc hại

Quét chữ ký phần mềm độc hại dựa trên các công cụ Anti-virus là bước đầu tiên trongquátrình phân tích phần mềm độc hại nhằm mục đích thu thập các thông tin ban đầu về phần mềm độc hại nếu có Tuy nhiên, như chúng ta đã biết các công cụ chống virus chủ yếu dựa trên việc so sánh chữ ký của các phần mềm độc hại nằm trong bộ cơ sở dữ liệu nhận dạng của phần mềm Rõ ràng việc xác định phần mềm độc hại dựa trên các công cụ chống virus là không hoàn hảo, nó phụ thuộc quá nhiều vào cơ sở dữ liệu nhận dạng của phần mềm chưa kể đến việc các phần mềm độc hại ngày nay càng ngày càng tinh vi và được tích hợp khả năng biến hình từ đó việc thu thập một cơ sở dữ liệu chữ ký đầy đủ và cập nhật thường xuyên là không hề đơn giản

b Sử dụng hàm băm sinh chữ ký cho phần mềm được phân tích

Như đã nói ở trên mỗi một phần mềm độc hại thì sẽ có chữ ký tương ứng để nhận biết và phát hiện ra nó Hàm băm (hashing) là một phương pháp phổ biến được sử dụng

trongchương trình chống Virus để tạo ra chữ ký cho phần mềm độc hại Các nhà phân tích sẽ sử dụng một chương trình băm nào đó để tạo chữ ký cho phần mềm độc hại Một trong những thuật toán băm phổ biến nhất được sử dụng để lấy chữ ký phần mềm độc hại

Trang 16

là MD5 (The Message - Digest Algorithm 5) WinMD5 là ví dụ điển hình cho một

chươngtrình băm sử dụng thuật toán MD5

Hình 2.2-1 Chương trình hàm băm WinMD5

c Các kỹ thuật đóng gói và xáo trộn mã của phần mềm độc hại và các phương pháp vượt qua nó

Đa số các phần mềm chương trình hiện này đều được đóng gói hoặc xáo trộn (Packedand Obfuscated) để nhằm giảm thiểu các nguy cơ như là bị crack, bị hack, đánh cắp ýtưởng Tương tự các phần mềm độc hại cũng thường sử dụng đóng gói hoặc xáo trộn để tránh bị phát hiện cũng như gây khó khăn hơn trong việc phân tích thu thập thông tin Xáo trộn chương trình là cách thực hiện trộn lẫn các thông tin để làm khó, ẩn thông tin cần phân tích Chương trình đóng gói là một tập hợp con của chương trình xáo trộn mà trong đó

Trang 17

các chương trình độc hại được nén và không thể phân tích được Thông qua hai kỹ thuật này hiệu quả của phương pháp phân tích tĩnh giảm đi đáng kể.

Một điểm đáng chú ý là các phần mềm độc hại đã được đóng gói hoặc được xáo trộn chứa rất ít chuỗi, đôi khi là còn quá ít kể cả đối với một chương trình rất nhỏ Thông thường ta sẽ chỉ thấy được một phần của chuỗi Muốn phân tích và thu thập được nhiều thông tin hơn ta cần phải giải mã chương trình đó PEiD là một chương trình phát

hiệnđóng gói nổi tiếng và rất hiệu quả, nhưng nó đơn thuần sẽ chỉ làm nhiệm vụ phát hiện

và cho chúng ta một cái tên Sau đó việc giải mã chương trình còn phụ thuộc vào trình độcủa người phân tích cũng như là độ khó của thuật toán đóng gói và xáo trộn Tuy nhiênkể cả đối với những người không có nhiều kinh nghiệm trong việc giải mã chương trình cũng có thể thông qua google để tìm kiếm những công cụ được xây dựng sẵn hỗ trợ giải mã

d Thu thập thông tin về các hàm, các thư viện liên kết của phần mềm độc hại

90% các loại phần mềm độc hại được viết trên môi trường windows việc thu thập

cácthông tin về các hàm (function), các thư viện liên kết tĩnh (Static linking library), thưviện liên kết động (Dynamic Link Library), các hàm imports, các hàm exports là bướcrất quan trong trọng quá trình phân tích tĩnh Để thực hiện được bước này người phân tíchcần có kiến thức về nền tàng windows, cấu trúc tập tin PE file cũng như các thư viện liên kết, các hàm import,export

Trang 18

 Cấu trúc cơ bản PE file

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 chương trình:

 Executable Code Section, có tên là text (Micro$oft) hoặc là CODE

Trang 19

 Export Data Section, có tên là edata.

 Import Data Section có tên là idata

 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ạplê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ầntrên ổ đĩa và trên bộ nhớ sẽ có sự khác biệt

 Hàm và thư viện liên kết

Để hiểu rõ hơn về các hàm trong windows chúng ta cần tìm hiểu một số khái niệm cơ bảnliên quan

API - Application Programming Interface tạm dịch là giao diện lập trình ứng dụng API cung cấp hầu hết các tính năng thông dụng cho tất cả các chương trình chạy trên nền Window Hầu hết các hàm API thường được chứa trong file DLL trong thư mục hệ thốngWindow thường là C:\Windows\System

Các hàm (Function) là thành phần chính của Windows API, chúng được chứa trong các file DLL, và có thể được truy xuất một các dễ dàng bởi các chương trình trênnền

Window Hàm được chia làm 2 loại:

 Hàm import (Imported Functions): Các tiêu đề tập tin PE cũng bao gồm thông tin về các hàm cụ thể được sử dụng thực thi ở một chức năng trong chương trình Tên của các hàm Windows có thể cung cấp cho ta một ý tưởng về những gì chương trình thực thi Microsoft cung cấp tài liệu API Windows thông qua thư viện MSDN

 Hàm export (Exported Functions): Giống như các hàm imports, các hàm exports để tương tác với các chương trình khác Thông thường, một DLL thực hiện một hoặc nhiều hàm và exports để một tập tin thực thi có thể imports và sử dụng chúng

Ở đây có một khái niệm mới DLL nó là viết tắt của Dynamic linking library hay được dịch là thư viện liên kết động Trong lập trình windows hỗ trợ thư viện mã có thể liên kết tĩnh khi biên dịch, hoặc liên kết động khi thực hiện Thư viện liên kết là một trong những phần tử cấu trúc quan trong nhất trong windows Khi phân tích tĩnh phần mềm độc hại thư viện liên kết cũng là một phần rất quan trong hiểu rõ về nó chung ta có thể thu thập được những thông tin hết sức quan trong từ đó có thể xác định được các hàm (vì các hàm

Ngày đăng: 24/11/2015, 09:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w