Tải bản đầy đủ (.pdf) (48 trang)

XÂY DỰNG và TRIỂN KHAI hệ THỐNG PHÁT HIỆN MALWARE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 48 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

HỒ VIẾT QUANG THẠCH

XÂY DỰNG VÀ TRIỂN KHAI
HỆ THỐNG PHÁT HIỆN
MALWARE
LUẬN VĂN THẠC SĨ
NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGUYỄN ANH TUẤN

TP.HỒ CHÍ MINH – Năm 2015


Luận văn tốt nghiệp
LỜI CAM ĐOAN
Tôi xin cam đoan:
a. Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn của
thầy TS. Nguyễn Anh Tuấn.
b. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực
tên tác giả, tên công trình, thời gian, địa điểm công bố.
c. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo tôi xin hoàn toàn chịu
trách nhiệm.
NGƯỜI CAM ĐOAN

Trang 1



Luận văn tốt nghiệp
MỤC LỤC
Lời cam đoan
Chương 1: Giới thiệu tổng quan về đề tài ............................................................... 3
1.1. Đặt vấn đề .................................................................................................... 3
1.2. Mục đích nghiên cứu ................................................................................... 4
1.3. Khảo sát các loại phần mềm phòng chống mã độc và IDS ......................... 5
1.4. Đối tượng và phạm vi nghiên cứu ............................................................... 7
1.5. Phương pháp nghiên cứu ............................................................................. 7
1.6. Ý nghĩa và khoa học thực tiễn ..................................................................... 8
Chương 2: Cơ sở lý thuyết........................................................................................ 9
2.1. Malware là gì? ............................................................................................. 9
2.2. Các loại malware thường thấy trên Android ............................................... 9
2.3. Kỹ thuật phát hiện malware....................................................................... 13
2.4. Phương pháp phát hiện dựa trên hành vi ................................................... 14
2.5. Giới thiệu về Snort .................................................................................... 15
Chương 3: Phương pháp nghiên cứu và xây dựng thực nghiệm ........................ 28
3.1. Mô hình nghiên cứu................................................................................... 31
3.2. Môi trường thực nghiệm............................................................................ 32
3.3. Các bước thực hiện .................................................................................... 33
Chương 4: Kết quả thực nghiệm và đánh giá....................................................... 40
4.1. Tổng hợp kết quả thực nghiệm .......................................................................... 40
4.2. Đánh giá hệ thống phát hiện malwae ................................................................. 41
Chương 5: Kết luận và hướng phát triển.............................................................. 43
5.1. Kết luận ..................................................................................................... 43
5.2. Hướng phát triển ........................................................................................ 45
Tài liệu tham khảo .................................................................................................. 46

Trang 2



Luận văn tốt nghiệp
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI
1.1 Đặt vấn đề
Trong thời đại ngày nay, số lượng người sử dụng Internet ngày càng phát triển. Tháng
01/2014, trang WeAreSocial đã đưa ra báo cáo về “Bối cảnh dữ liệu toàn cầu” với
những chỉ số phát triển rất đáng quan tâm. Cụ thể số liệu thống kê của WeAreSocial
cho thấy:
• Số lượng đăng kí sử dụng di động đang hoạt động vào khoảng 93% của dân số
thế giới
• Tỉ lệ người kết nối Internet toàn cầu đạt 35%, tương đương 2,5 tỉ người
• Các kênh Mạng xã hộ tiếp tục phát triển mạnh mẽ trong 12 tháng qua, khi đạt
tỉ lệ thâm nhập người dùng là 26%
Trong khi đó, tại khu vực Đông Nam Á, lượng người sử dụng các mạng xã hội và di
động đang ở con số cao trung bình và xấp xỉ nhau chiếm 9-10% trên tổng số người
dùng của toàn cầu..
Tại Việt Nam, Chỉ số về Internet trên di động tại Việt Nam năm 2014 (Nguồn: Theo
thống kê Cục Thương mại điện tử và công nghệ thông tin (VECITA) – Bộ Công
thương):
• Tỉ lệ truy cập Internet qua các thiết bị di đông: 36% tổng số dân
• Tỉ lệ truy cập Internet có tham gia mua sắm online 57%
• 1 người Việt Nam truy cập Internet 5,6 giờ/ngày, 6,4 ngày/tuần - Tổng số thời
gian 36 giờ/tuần
Với các thống kê trên cho thấy việc truy cập Internet của người dân đang tăng cao,
nhu cầu giao dịch trên mạng cũng ngày càng phát triển, đây chính là một môi trường
tốt để các hacker khai thác thông tin cũng như phá hoại các thông tin quan trọng của
người dùng và của toàn hệ thống mạng.

Trang 3



Luận văn tốt nghiệp
Với các nguy cơ như vậy, các công ty phát triển phần mềm cũng đã đưa ra nhiều cách
thức cảnh báo, triển khai nhiều biện pháp an ninh nhằm đảm bảo sản phẩm công nghệ
thông tin của họ được an toàn, tăng tính cạnh tranh trên thị trường. Tuy nhiên, các
nguy cơ về an toàn trên hệ thống mạng cũng như trong các sản phẩm công nghệ thông
tin vẫn không giảm đi, bởi do các hacker cũng lại tìm nhiều biện pháp tinh vi hơn,
phức tạp hơn để xâm nhập hệ thống.
Khi các phần mềm an ninh ngày càng phát triển, hệ thống phòng chống mã độc đã
được triển khai ngay từ cổng vào (gateway) của các hệ thống mạng, các hacker lại
thay đổi hình thức triển khai mã độc bằng các giải pháp tích hợp vào các phần mềm
hợp lệ để có thể ẩn mình trong hệ thống thiết bị của người dùng đầu cuối, để khi người
dùng truy cập ứng dụng, các chương trình mã độc mới được kích hoạt và thu thập
thông tin người dùng, gửi về cho chủ sở hữu.
Với việc các loại Malware thường xuyên gây nguy hại, làm mất an toàn an ninh thông
tin trong hệ thống, do đó cần phải có một hệ thống dùng để giám sát các loại Malware
để cảnh báo cho người dùng. Ý tưởng trong việc xây dựng một hệ thống giám sát từ
bên trong mạng nội bộ thông qua các cảm biến (sensor) mã độc, giúp phát hiện những
loại mã độc ẩn mình. Trong đề tài luận văn của em, em xin đề xuất đề tài Xây dựng
và triển khai hệ thống phát hiện Malware khi có dấu hiệu xuất hiện Malware trên hệ
thống mạng nội bộ.
1.2 Mục đích nghiên cứu
Trong đề tài này, em tìm hiểu các dạng tấn công khác nhau của hệ thống Malware,
dựa vào các dạng tấn công này, em xây dựng hệ thống cảm nhận các loại Malware và
thông báo cho người quản trị hệ thống biết để định hướng ngăn chặn Malware.

Trang 4


Luận văn tốt nghiệp

1.3 Khảo sát các loại phần mềm phòng chống mã độc và IDS
1.3.1. Khảo sát các loại phần mềm phòng chống mã độc
Khi đưa ra nghiên cứu về mã độc và các giải pháp để gửi cảnh báo về bộ phận quản
trị, tác giả đã nghiên cứu tìm hiểu nhiều phần mềm có khả năng phát hiện và ngăn
chặn mã độc. Nguyên lý cơ bản của các phần mềm phòng chống virus như sau:
-

Kiểm tra các tập tin để phát hiện các virus đã biết trong cơ sở dữ liệu nhận dạng
virus được các phần mềm diệt virus cập nhật.

-

Phát hiện các hành động của các phần mềm giống như các hành động của virus
hoặc các phần mềm độc hại.

Với cách thức so sánh với mẫu virus biết trước, nếu phát hiện một đoạn mã virus thì
tập tin đó có thể bị lây nhiễm virus và phần mềm thực hiện biện pháp loại bỏ virus
khỏi tập tin bị lây nhiễm. Kỹ thuật so sánh mẫu virus khiến cho các phần mềm liên
tục phải cập nhật cơ sở dữ liệu để có khả năng nhận biết các loại virus mới cùng các
biến thể của nó. Có hai dạng cập nhật cơ sở dữ liệu:
-

Cập nhật bằng hình thức tải file từ Internet: Hình thức này có thể tải một lần
file cập nhật để có thể cập nhật cho nhiều máy khác nhau, tuy nhiên kích thước
file tải lớn.

-

Cập nhật trực tiếp bằng tính năng tự động cập nhật của phần mềm diệt virus:
hần mềm chỉ tải các cơ sở dữ liệu của các loại virus mới nên mỗi lần cập nhật

chỉ cần tải xuống một dung lượng thấp.

Với cách thức phát hiện các hành động của các phần mềm giống như hành động của
virus hoặc các phần mềm độc hại, việc phát hiện mã độc bằng cách thức này là hình
thức nâng cao, các chương trình phòng chống mã độc sẽ theo dõi thường xuyên các
phần mềm được cài đặt trong hệ thống máy tính, thường xuyên theo dõi hành vi của
các phần mềm này, nếu cách thức hoạt động của các phần mềm này tương tự như các
loại virus đã biết, phần mềm phòng chống virus sẽ gửi cảnh báo đến người dùng.

Trang 5


Luận văn tốt nghiệp
Hiện nay, có rất nhiều phần mềm phòng chống virus khác nhau như:
-

Kaspersky Antivirus

-

AVG Antivirus

-

Avast! Antivirus

-

Avira Antivirus


-



1.3.2. IDS – Intrusion Detection System
Bên cạnh đó, trong quá trình nghiên cứu, tác giả cũng đã khảo sát các loại phần mềm
phát hiện xâm nhập (IDS – Intrusion Detection System) như:
-

Snort: đây là sản phẩm được hỗ trợ rất lớn từ cộng đồng mạng, tuy ban đầu sản
phẩm phát triển không nhằm mục tiêu trở thành một IDS, nhưng trong quá
trình phát triển, sản phẩm đã trở thành chuẩn mực cho các hệ thống IDS, IPS
sau này. Đây là sản phẩm được thử nghiệm và kiểm tra nhiều nhất.

-

Suricata: đây cũng là một phiên bản IDS, nó cũng được cải tiến rất nhiều, cho
phép vận dụng sử dụng nhiều lõi CPU đồng thời để khai thác thế mạnh của
CPU trong việc xử lý thông tin, cho phép kiểm tra các tập tin tải về xem có bị
đính kèm mã độc hay không.

-

Bro: còn hay được gọi là Bro-IDS, đây là một công cụ được đánh giá rất mạnh,
có kiến trúc rất mở rộng, nó dần hình thành được cộng đồng trao đổi lớn hơn
và ngày càng phát triển hơn, với Bro-IDS còn có một ngôn ngữ làm việc riêng
giúp tăng cường sức mạnh và linh hoạt hơn cho Bro-IDS (ngôn ngữ BroScript). Với công cụ này, chúng ta có thể tự động hóa các công việc. Tuy nhiên,
việc triển khai Bro phức tạp, rất khó trong việc xây dựng một hệ thống IDS
hoàn chỉnh.


Với kho dữ liệu Malware Dataset được Yajin Zhou thu thập, tác giả sẽ phân tích hoạt
động của các loại malware này, sau đó rút trích ra các đặc trưng và mô tả vào trong
các luật của phần mềm.

Trang 6


Luận văn tốt nghiệp
Sau khi khảo sát, tác giả lựa chọn phần mềm Snort và cách thức mô tả luật trong phần
mềm Snort giúp phát hiện các loại malware (tạo một cơ sở dữ liệu được mô tả trước
giúp phát hiện các loại malware trong kho dữ liệu Malware Dataset).
1.4 Đối tượng và phạm vi nghiên cứu
1.4.1. Đối tượng nghiên cứu:
Nghiên cứu, tìm hiểu các dạng tấn công mới, tìm hiểu về các dạng Malware mới và
cách thức để phát hiện Malware.
Tìm hiểu chi tiết về hệ thống Snort, các nguyên tắc thiết lập luật để lọc các gói tin trên
Snort. Dựa trên những tìm hiểu về các dạng Malware mới, tạo ra tập các luật mới và
mô tả vào trong Snort.
Xây dựng hệ thống các loại cảm biến mã độc được tích hợp vào hệ thống AP (Access
Point) sử dụng phần mềm Snort, khi các thiết bị di động sử dụng hệ điều hành Android
kết nối đến hệ thống AP, nếu trên thiết bị bị nhiễm mã độc, hệ thống sẽ cảnh báo cho
người quản trị biết.
1.4.2. Phạm vi nghiên cứu:
Công trình nghiên cứu cách thức nhận dạng các gói tin bị nhiễm Malware thông qua
các dấu hiệu nhận biết, sử dụng cách thức phân loại gói tin thông qua Rule Based
System, để đưa ra quyết định gói tin đó có thực sự nhiễm Malware hay không?
1.5 Phương pháp nghiên cứu:
Phương pháp lý thuyết: tìm hiểu về nguyên lý hoạt động của các loại Malware, cách
thức Malware lây nhiễm vào hệ thống dữ liệu, thiết bị. Dựa trên nguyên lý hoạt động,
đưa ra phương pháp để phát hiện và ngăn chặn xâm nhập.

Phương pháp thực nghiệm: cài đặt các ứng dụng đã nhiễm Malware vào thiết bị di
động, sử dụng chương trình bắt gói tin để đọc và phân tích gói tin được gửi ra từ ứng
dụng, từ đó xác định được dấu hiệu nhận dạng Malware.

Trang 7


Luận văn tốt nghiệp
Hướng tiếp cận giải quyết: sử dụng phần mềm Snort, khai thác tính năng mô tả luật
bổ sung vào phần mềm giúp kiểm soát gói tin, thông qua tính năng IDS của phần mềm
để cảnh báo cho người quản trị.
1.6 Ý nghĩa khoa học và thực tiễn:
Về mặt khoa học, luận văn giúp tổng hợp và phân loại được các dạng Malware khác
nhau, các phương pháp khác nhau Malware sử dụng để khai thác thông tin của người
sử dụng thiết bị di động.
Về mặt thực tiễn, luận văn giúp định hướng phát triển xây dựng hệ thống phát hiện
Malware trong hệ thống mạng thông qua các cảm biến được lắp đặt trong hệ thống
mạng, giúp phát hiện các Malware ngụy trang đi qua hệ thống tường lửa của hệ thống
mạng, sau đó hoạt động trong hệ thống mạng nội bộ.

Trang 8


Luận văn tốt nghiệp
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Malware là gì?
Malware (Malicious Software) được hiểu là một phần mềm mã độc. Các loại virus,
worm, trojan hay các phần mềm gián điệp, phần mềm quảng cáo,… cũng được hiểu
là malware. Khi các hacker sử dụng malware để khai thác thông tin của người dùng
trong mạng, trong hầu hết các trường hợp, các hacker này sử dụng malware như mà

một công cụ để kiếm tiền bất hợp pháp. Khi một hệ thống bị nhiễm malware, có rất
nhiều nguy cơ sẽ xảy ra, cụ như như:
• Các thông tin cá nhân được lưu trên máy tính sẽ bị malware đánh cắp và gửi
về cho hacker.
• Máy tính bị nhiễm malware sẽ chạy chậm hơn các máy tính bình thường khác.
• Thông qua máy tính bị nhiễm, malware sẽ mở rộng vùng khai thác, gửi thông
tin cho các máy tính khác trong mạng nhằm lây lan vùng ảnh hưởng.
2.2. Các loại malware thường thấy trên Android
2.2.1. Phần mềm trừ tiền trong tài khoản điện thoại
Trong năm 2011, người dùng thiệt bị Android bị mất tiền trong tài khoản điện thoại
một cách âm thầm khi họ sử dụng một số phần mềm được cung cấp miễn phí trên kho
dữ liệu của Android. Các phần mềm này chủ yếu xuất phát từ Việt Nam. Khi người
sử dụng cài đặt phần mềm, mặc định sẽ được coi như người dùng đã đăng ký sử dụng
dịch vụ do phần mềm cung cấp, và định kỳ, phần mềm sẽ tự động gửi tin nhắn đến
tổng đài được cung cấp sẵn, và cứ mỗi tin nhắn như thế, họ sẽ bị tự động trừ tiền trong
tài khoản với số tiền gấp nhiều lần số tiền phải trả cho một tin nhắn.
Ngoài ra, các phần mềm miễn phí còn thu thập thông tin danh bạ trong điện thoại của
người dùng, tự động gửi về cho chủ nhân phần mềm. Những ngày sau đó, người sử
dụng (và những người trong danh bạ) sẽ bị nhận rất nhiều tin nhắn quảng cáo bởi danh

Trang 9


Luận văn tốt nghiệp
bạ mà phần mềm thu thập được đã được cung cấp cho các công ty quảng cáo qua tin
nhắn điện thoại.
Một nghiên cứu chung giữa Kaspersky và INTERPOL vào tháng 10 năm 2014 còn
cho thấy rằng Việt Nam nằm trong nhóm các nước dễ bị tấn công bằng phần mềm mã
độc SMS với tỉ lệ 2,41%. Một số quốc gia khác cũng nằm trong nhóm này bao gồm
Kazakhstan (5.71%), Ukraine (3.32%), Tây Ban Nha (3.19%), Anh Quốc (3.02%),

Malaysia (2.3%), Đức (2%), Ấn Độc (1.55%) và Pháp (1.32%).

Hình 2.1. Các loại Android dùng để tấn công thiết bị di động (08/2013 – 07/2014)

Trang 10


Luận văn tốt nghiệp
2.2.2. Ransomware
Đây là loại malware được sử dụng để khóa thiết bị điện thoại sử dụng hệ điều hành
Android. Loại phần mềm này xuất hiện vào năm 2014 ban đầu với tên gọi Svpeng.
Nếu người dùng vô tình bị nhiễm loại mã độc này, người dùng buộc phải thanh toán
một khoản tiền cho kẻ phát tán để được tiếp tục sử dụng thiết bị.

Hình 2.2. Hình minh họa phần mềm khóa thiết bị di động
Với cách thức yêu cầu chủ nhân điện thoại phải điền vào thông tin thẻ tin dụng, các
hacker sẽ chiếm đoạt thông tin tài khoản của chủ sở hữu và chiếm đoạt tiền từ tài
khoản này.

Trang 11


Luận văn tốt nghiệp
2.2.3. Lỗ hổng WebView
Webview là một thành phần trong hệ điều hành Android, cho phép các ứng dụng có
thể hiển thị trang web ngay bên trong nó mà không cần phải mở trình duyệt. Với tính
tiện dụng này, Webview giúp cho các lập trình viên dễ dàng khi xây dựng ứng dụng.
Tuy nhiên, với tính tiện dụng này có thể bị hacker lợi dụng để thực thi các đoạn mã
độc hại khi người dùng truy cập vào các trang web độc hại.
Tuy nhiên, lỗ hổng này chỉ có trên phiên bản Android 4.3 trở xuống, từ Android 4.4

trở lên, Google đã đưa ra một thành phần khác để thay thế.
2.2.4. PowerOfHijack
Đây là một ứng dụng làm cho người sử dụng lầm tưởng là thiết bị đã tắt nguồn rồi,
nhưng thực chất là chưa tắt. PowerOfHijack can thiệp vào quá trình tắt thiết bị
Android. Khi thiết bị chưa bị tắt, PowerOfHijack sẽ lén thực hiện cuộc gọi, chụp ảnh
và làm nhiều công việc khác mà người sử dụng không hề hay biết.
Tuy nhiên, đây là một ứng dụng không có trên kho ứng dụng của Google, do đó để có
thể sử dụng, người dùng phải “root” máy và cài đặt thủ công. Do đó nếu là người dùng
thông thường thì khả năng bị lây nhiễm malware này rất khó xảy ra.
2.2.5. Ứng dụng ẩn chứa mã độc.
Đây là một loại mã độc vô cùng độc hại. Hacker sẽ xây dựng một ứng dụng cực kỳ
thân thiện, tiện ích với người dùng, tạo cho người dùng sự thích thú khi sử dụng. Khi
số lượt tải tăng cao, các Hacker khi đó sẽ tiến hành cập nhật phiên bản mới, trong
phiên bản này sẽ đính kèm mã độc và người dùng chẳng hề hay biết. Khi đó mã độc
mới phát huy tác dụng, thu thập thông tin cá nhân trên thiết bị, hay thậm chí nó sẽ yêu
cầu người dùng cung cấp thông tin thẻ tín dụng để có thể mua thêm các tiện ích trên
ứng dụng. Trong một số trường hợp khác, ứng dụng này sẽ kích hoạt và đề nghị cài
đặt thêm nhiều ứng dụng khác nữa.

Trang 12


Luận văn tốt nghiệp
2.2.6. Android Installer Hijacking
Android Installer Hijacking là cách mà các Hacker hay sử dụng để lén cài đặt thêm
các ứng dụng bất hợp pháp trong khi một ứng dụng hợp pháp đang được cài đặt. Tuy
nhiên các ứng dụng bị “nhúng” mã độc này sẽ không tồn tại trên kho ứng dụng của
Google, do đó người dung hoàn toàn an tâm nếu không cài đặt ứng dụng trực tiếp vào
điện thoại không thông qua kho ứng dụng Google.
2.3. Kỹ thuật phát hiện Malware

Chúng ta thấy rằng các chương trình backdoor thường được sử dụng trong các hệ
thống Android để truyền tải thông tin bằng cách sử dụng HTTP-POST (ví dụ,
Angry_Birds, Space_War_HD, và Oubliette_PRG) [1]. Vì vậy, việc phân tích lưu
lượng dữ liệu có thể phát hiện ra các vấn đề bất thường. Ví dụ, HTTP-Botnet có thể
được phát hiện thông qua số lượng lớn lưu thông mạng, nó tạo ra nhiều nạn nhân có
quan hệ mật thiết với nhau được ngụy trang hay sử dụng HTTP GET để truyền tải
thông tin và tránh bị phát hiện [2]. Chúng tôi sử dụng các công cụ phân tích gói tin
miễn phí Wireshark để phân tích lưu lượng dữ liệu trên mạng Internet để thu thập các
gói tin mạng và phân tích thông tin chi tiết và tổng quan của các gói tin [3]. Chúng tôi
định nghĩa hai đặc điểm kết nối bất thường của các cuộc tấn công botnet:
(1) một thiết bị di động không được xem như một máy tính cá nhân, bởi vì có khả
năng nó sẽ được sử dụng như là một máy chủ. Vì vậy, đa phần các kết nối
mạng là các lưu thông từ mạng trong ra ngoài và ngược lại có khả năng là các
malware được nhận lệnh.
(2) Theo giao thức TCP, khi hay trạm di động kết nối nhau (hay trao đổi dữ liệu),
chúng sẽ thiết lập kết nối sử dụng bắt tay ba bước trước khi trao đổi gói tin.
Kết nối được ngắt sau khi truyền thông. Tuy nhiên, nếu thiết bị bị nhiễm
malware, nó có thể duy trì kết nối thường xuyên [4].

Trang 13


Luận văn tốt nghiệp
2.4. Phương pháp phát hiện dựa trên hành vi
Có nhiều phương pháp nghiên cứu đã tổng hợp và phân loại các mẫu Malware. Chiang
và Tsaur [5] đã đề xuất một phân tích hành vi dựa trên ontology dành cho các malware
trên thiết bị di động. Amanra et al. [6] đã phân loại malware trên thiết bị di động vào
một cấu trúc phân loại theo hành vi, phương pháp phân tích và đại diện malware.
Elfattah et al. đã đưa ra lý thuyết về gom nhóm malare, và La Polla et al. [7] đã phân
loại malware dựa trên các quy tắc phát hiện, kiến trúc hệ thống, dữ liệu được chọn

lọc, các hệ điều hành và các mô hình phát hiện xâm nhập. Shabtai et al. [8] đã thông
qua các phương pháp máy học để học các mẫu hành vi bình thường và sau đó phát
hiện các mẫu bất thường. Các phương pháp phát hiện dựa trên hành vi có thể được
phân làm 4 loại, được mô tả như sau:
(1) Các phương pháp kiểm tra các nền tảng hệ điều hành xác định: các phương
pháp này được phát triển đặc biệt giúp phát hiện malware trên một hệ điều
hành cụ thể. Nó không dễ dàng được áp dụng đến các nền tảng khác.
(2) Phân tích tĩnh: phân tích tĩnh có hiệu quả cho việc phân tích hành vi của các
virus đã biết trên mạng nhưng thường không hiệu quả trong mẫu không biết.
[9]
(3) Phân tích động: phân tích động, chẳng hạn như thời gian chạy thử nghiệm và
thực thi biểu tượng, có thể phát hiện phần mềm độc hại không biết nhưng với
thời gian lâu. Việc phân tích động này không phù hợp cho việc phân tích nhanh
hệ thống.
(4) IDS: xây dựng một IDS có thể bảo vệ và phòng chống nâng cao, đặc biệt khi
honeypots được triển khai; trong honeypots, các hoạt động của kẻ xâm nhập
có thể được giám sát và phân tích. Tuy nhiên, phương pháp này phức tạp và
không thực tế cho việc quét nhanh.
Như chúng ta đã biết, điện thoại di động là thiết bị thuận tiện và thường xuyên sử
dụng. Phần mềm diệt virus có thể bảo vệ một cách hiệu quả thiết bị di động từ các
virus đã biết. Đối với các loại virus mới, tự cập nhật, virus biến hình, cách phát hiện
Trang 14


Luận văn tốt nghiệp
mã độc dựa trên hành vi có thể được áp dụng. Khi phát triển các hệ thống đảm bảo an
toàn an ninh thông tin trên thiết bị di động, các nhà phát triển phải quan tâm tới các
đặc điểm chính của các ứng dụng bảo mật di động, đó là dễ cấu hình và tính tiện dụng.
2.5. Giới thiệu về Snort [10]
2.5.1. Giới thiệu

Trên thế giới hiện nay có rất nhiều thiết bị phần cứng và phần mềm sử dụng để phát
hiện xâm nhập của các hacker vào trong hệ thống mạng. Có những sản phẩm được
thương mại hóa (như các sản phẩm phần cứng của Cisco, Fortinet, Juniper,… hay các
sản phẩm phần mềm như Microsoft Forefront TMG, UAG,…) hay các sản phẩm miễn
phí (như Snort,…). Có rất nhiều sản phẩm được sử dụng để phát hiện xâm nhập theo
dạng host-based (HIDS – Host Intrusion Detection System) hoặc dạng Network-based
(NIDS – Network Intrusion Detection System) nhưng Snort vẫn được đánh giá là một
hệ thống phát hiện xâm nhập tốt nhất hiện nay. Tất cả dữ liệu được Snort thu thập
được lưu trong cơ sở dữ liệu MySQL và người quản trị có thể tạo nhiều kiểu truy vấn
khác nhau để phân tích dữ liệu đã thu thập được.
Trên hệ thống Snort, người quản trị phải cấu hình tập tin snort.conf và mô tả các thông
tin cần thiết để Snort có thể hoạt động được. Sau khi mô tả trong tập tin cấu hình
snort.conf, hệ thống Snort sẽ được khởi tạo, và trong quá trình vận hành, Snort sẽ đọc
các luật đã được mô tả trong các tập tin phụ trợ và tiến hành phát hiện các cuộc xâm
nhập của hacker. Với Snort, đây là một hệ thống hoạt động theo dạng IDS (Intrusion
Detection System) sẽ đọc và phân tích cấu trúc gói tin để phát hiện ra các bất thường
trong các gói tin trao đổi trên mạng. Để làm tăng khả năng xử lý của Snort, đòi hỏi
người quản trị phải mô tả càng chi tiết các luật, càng chi tiết, Snort hoạt động càng
hiệu quả.

Trang 15


Luận văn tốt nghiệp
2.5.2. Các thành phần của Snort:
Để có thể kiểm soát các gói tin trong hệ thống mạng, Snort đã tách hệ thống của mình
thành nhiều thành phần khác nhau, mỗi thành phần sẽ đóng vai trò cụ thể trong hệ
thống. Một IDS dựa trên Snort bao gồm các thành phần chính sau đây:
• Packet Decoder.
• Preprocessor.

• Dectection Engine.
• Logging và Alerting System.
• Output Modules.

Packet Decoder (Thành phần giải mã gói)
Đây là một thành phần sẽ đọc các gói tin nhận được từ card mạng, sau đó chuyển cho
thành phần bên trong phân tích và đánh giá gói tin.
Preprocessor (Thành phần xử lí trước)
Đây là một thành phần rất quan trọng. Thành phần này sẽ tập hợp đầy đủ gói tin (nếu
gói tin bị phân tách ra thành nhiều phần nhỏ trong quá trình truyền thông), sau đó
kiểm tra gói tin nhận được nhằm phát hiện xem gói tin đó có bị sử dụng bởi hacker
hay không bằng cách tìm ra các dấu hiệu bất thường trong phần header của gói tin và
gửi cảnh báo về cho người quản trị.

Trang 16


Luận văn tốt nghiệp
Dectection Engine (Thành phần phát hiện):
Đây cũng là một thành phần quan trọng trong hệ thống Snort. Nhiệm vụ của thành
phần này là phát hiện có dấu hiệu của sự xâm nhập hệ thống tồn tài trong gói tin nhận
được hay không. Thành phần này sẽ phân tích cấu trúc gói tin nhận được, kiểm tra với
các luật đã được mô tả trong Snort, nếu phù hợp, hành động tương ứng được mô tả
trong luật sẽ được thực thi. Khả năng xử lý các gói tin của thành phần này phụ thuộc
vào các yếu tố sau:
• Số lượng các luật
• Sức mạnh của bộ máy mà Snort đang chạy
• Tốc độ của bus được sử dụng
• Lưu lượng trên mạng
Logging và Alerting System (Hệ thống ghi và cảnh báo) :

Đây là một thành phần trong hệ thống Snort được sử dụng để ghi nhận lại các thông
tin mà Detection Engine phát hiện ra trong các gói tin nhận được. Các thông tin được
xuất ra màn hình hoặc lưu vào trong các file văn bản đơn giản, hoặc lưu vào trong cơ
sở dữ liệu để dễ dàng truy vấn khi cần thiết.
Output Modules (Bộ phận đầu ra) :
Đây là một thành phần trên Snort cho phép nhiều định dạng và thể hiện mềm dẻo hơn
để cung cấp cho người dùng. Bộ phận này sẽ hoạt động khi các cảnh báo và các hệ
thống con của Snort được truy xuất.
2.5.3. Tập tin cấu hình chính snort.conf
Trong Snort, để có thể giúp hệ thống hoạt động, người quản trị phải cấu hình tập tin
Snort.conf. Tập tin này điều khiển mọi hoạt động trên hệ thống Snort như cần kiểm
tra gì, cần ghi nhận lại sự kiện như thế nào,…

Trang 17


Luận văn tốt nghiệp
Tập tin snort.conf được tổ chức thành nhiều phần, bên trong tập tin cũng được mô tả
chức năng của từng thành phần giúp người dùng dễ cấu hình. Các thành phần trong
snort.conf gồm có:
• Các biến cấu hình
• Cấu hình bộ giải mã và bộ phận phát hiện của Snort
• Cấu hình tiền xử lí
• Cấu hình xuất thông tin
• Các file kèm theo
2.5.4. Cách thiết lập luật
Trong hệ thống snort, các luật được mô tả trong một tập tin riêng, và tập tin này được
chỉ định trong tập tin snort, giúp snort biết rút trích thông tin phù hợp.
Alert ip any any -> any any (msg : IP Packet detected)
Với luật trên, hệ thống sẽ ghi nhận bất kỳ gói tin nào được gửi đến hế thống snort.

Với cách mô tả này sẽ nhanh chóng làm đầy không gian đĩa. Thông thường luật này
được sử dụng để kiểm tra khả năng hoạt động của Snort.
Một ví dụ khác về cách tạo luật trên Snort, với luật này, hệ thống sẽ cảnh báo có gói
ICMP được gửi đến hệ thống snort.
Alert icmp any any -> any any (msg : “ICMP Packet found”)
2.5.5. Cấu trúc của một luật
Trong hệ thống Snort, một luật của Snort gồm hai thành phần chính: header và options.
Phần header chứa các thông tin về hành động mà luật sẽ thực hiện. Nó cũng chứa các
tiêu chuẩn về việc so sánh một luật trên một gói tin. Phần option thường chứa một
thông điệp cảnh báo và thông tin về phần nào của gói tin được sử dụng để tạo ra cảnh
báo. Một luật có thể phát hiện một hoặc nhiều kiểu xâm nhập.

Trang 18


Luận văn tốt nghiệp
Header của luật Snort
Cấu trúc tổng quát của phần header như sau:
Action

Protocol

Address

Port

Direction

Address


Port

Trong đó :
• Action: hành động cần thực hiện khi một luật được mô tả thỏa mãn.
• Protocol: được sử dụng để quy định giao thức cần kiểm tra trong một luật, các
giao thức này có thể được mô tả là TCP, UDP, ICMP hoặc là IP.
• Address: mô tả địa chỉ nguồn và đích của gói tin cần kiểm soát..
• Port: được sử dụng để chỉ định cổng dịch vụ tương ứng (nếu sử dụng giao thức
TCP/UDP)
• Direction: xác định hướng xử lý của luật
Ví dụ:
Xét một luật sau đây. Luật này sẽ tạo ra một thông điệp cảnh báo bất cứ khi
nào nó phát hiện một gói tin ping ICMP (ICMP ECHO REQUEST) với TTL là 100,
như sau:
alert icmp any any -> any any (msg: "Ping with TTL=100"; ttl: 100;)
Phần trước dấu ngoặc đơn là header của luật, phần trong dấu ngoặc đơn là phần option.
Phần header chứa các thông tin như sau:
• Rule action: trong câu lệnh mô tả là “alert”, sẽ cảnh bảo khi có gói ICMP có
TTL là 100.
• Protocol: ICMP. Nếu các gói tin không phải là ICMP sẽ không bị xử lý tại luật
này.
• Địa chỉ nguồn và cổng nguồn : trong câu lệnh mô tả là any, nghĩa là chấp nhận
mọi địa chỉ nguồn và đích.

Trang 19


Luận văn tốt nghiệp
• Direction: trong luật mô tả hướng mũi tên từ trái sang phải, có nghĩa là luật bên
trái là nguồn, luật bên phải là đích.

Options của luật Snort
Phần Options trong một luật của Snort được mô tả trong dấu ngoặc đơn. Người quản
trị có thể mô tả một hoặc nhiều tùy chọn, được cách nhau bằng dấu “,”. Tất cả các
Option trong snort được định nghĩa bằng các từ khóa.
Ví dụ:
msg: "Detected confidential";
Trong option này thì msg là từ khóa và "Detected confidential" là đối số của từ khóa
2.5.6. Các từ khóa được sử dụng trong phần option của luật Snort.
ack
Cấu trúc: ack: < number>;
TCP header chứa một trường Acknowledgement Number dài 32 bit. Trường này chỉ
ra rằng sequence number kế tiếp của người gửi được mong đợi. Trường này chỉ có ý
nghĩa khi cờ flag trong trường TCP được thiết lập.
classtype
Các luật có thể được phân loại và xếp thứ tự ưu tiên vào trong một nhóm. Mỗi dòng
trong đó sẽ có cú pháp như sau :
Cấu trúc: config classification: name,description,priority
• name: tên được sử dụng cho việc phân loại. Tên được sử dụng với từ khóa
classtype trong luật Snort.
• Description: mô tả ngắn về kiểu phân loại
• Priority: thứ tự ưu tiên mặc định cho sự phân loại, có thể được chỉnh sửa bằng
từ khóa priority. Priority càng thấp thì độ ưu tiên càng cao.

Trang 20


Luận văn tốt nghiệp
content
Được sử dụng để tìm ra các dấu hiệu trong các gói tin nhận được.
Cấu trúc: content: <straight text>; content: <hex data>;

offset
Cấu trúc: offset: < value>;
Từ khóa offset được sử dụng kết hợp với từ khóa content. Sử dụng từ khóa này, bạn
có thể bắt đầu tìm kiếm từ một vị trí xác định so với vị trí bắt đầu của gói tin.
depth
Cấu trúc: depth: < value>;
Từ khóa depth cũng được sử dụng kết hợp với từ khóa content để xác định giới hạn
trên của việc so sánh mẫu. Sử dụng từ khóa này, bạn có thể xác định một vị trí so với
vị trí bắt đầu. Dữ liệu sau vị trí này sẽ không được tìm kiếm để so mẫu. Nếu bạn dùng
cả hai từ khóa offset và depth thì bạn có thể xác định một khoảng dữ liệu thực hiện
việc so sánh mẫu.
nocase
Cấu trúc: nocase;
Từ khóa nocase được sử dụng kết hợp với từ khóa content. Nó không có đối số. Mục
đích của nó là thực hiện việc tìm kiếm trong trường hợp vô tình.
content-list
Cấu trúc: content_list: < filename>;
Từ khóa content-list được sử dụng với tên của một tập tin như là đối số của từ khóa
này.

Trang 21


Luận văn tốt nghiệp
dsize
Cấu trúc: dsize: [<|>] < number>;
Từ khóa dsize được sử dụng để tìm chiều dài một phần dữ liệu của gói tin.
flags
Cấu trúc: flags: < flags>;
Từ khóa flags được sử dụng để tìm ra bit flag nào được thiết lập trong header TCP

của gói tin. Mỗi flag có thể được sử dụng như một đối số của từ khóa flags trong luật
Snort.
fragbits
Cấu trúc: fragbits: < flag_settings>;
Sử dụng từ khóa này, bạn có thể tìm ra những bit RB (Reserved Bit), DF(Don't
Fragment Bit), MF(More Fragments Bit) trong header IP có được bật lên hay không.
icmp_id
Cấu trúc: icmp_id: < number>;
Option icmp_id được sử dụng để phát hiện một ID cụ thể được sử dụng với một gói
tin ICMP.
icmp_seq
Cấu trúc: icmp_seq: < hex_value>;
Option icmp_seq giống như từ khóa icmp_id.
Itype
Cấu trúc: itype: < number>;
Header ICMP nằm sau header IP và chứa trường type. Từ khóa itype được sử dụng
để phát hiện các cách tấn công sử dụng trường type trong header ICMP của gói tin.
Trang 22


Luận văn tốt nghiệp
icode
Cấu trúc: icode: < number>;
Trong gói tin ICMP, header ICMP đi sau header IP. Nó chứa một trường code. Từ
khóa icode được sử dụng để phát hiện trường code trong header gói tin ICMP.
id
Cấu trúc: id: < number>;
Từ khóa id được sử dụng để đối chiếu trường fragment ID của header gói tin IP. Mục
đích của nó là phát hiện các cách tấn công sử dụng một số ID cố định.
ipopts

Cấu trúc: ipopts: < ip_option>;
Header IPv4 cơ bản dài 20 byte. Bạn có thể thêm các tùy chọn vào header này ở cuối.
Chiều dài của phần tùy chọn này có thể lên đến 40 byte. Các tùy chọn được sử dụng
cho các mục đích khác nhau, bao gồm:
• Record Route (rr)
• Time Stamps (ts)
• Loose Source Routing (lsrr)
• Strict Source Routing (ssrr)
ip_proto
Cấu trúc: ip_proto: [!] < name or number>;
Từ khóa ip_proto sử dụng plug-in IP Proto để xác định số giao thức trong header IP.
Từ khóa này cần một con số giao thức là đối số. Bạn cũng có thể sử dụng tên giao
thức nếu nó có thể phân giải bằng file /etc/protocols.

Trang 23


Luận văn tốt nghiệp
logto
Cấu trúc: logto: < file_name>;
Từ khóa logto được sử dụng để ghi log các gói tin vào một file đặc biệt.
msg
Cấu trúc: msg: < sample message>;
Từ khóa msg được sử dụng để thêm một chuỗi kí tự vào việc ghi log và cảnh báo. Bạn
có thể thêm một thông điệp trong hai dấu ngoặc kép sau từ khóa này.
priority
Cấu trúc: priority: < priority integer>;
Từ khóa priority gán độ ưu tiên cho một luật.
react
Cấu trúc: react: <react_basic_modifier[, react_additional_modifier...]>;

Từ khóa react được sử dụng với một luật để kết thúc một phiên, khóa một vài vị trí
hoặc dịch vụ. Không phải tất cả các option với từ khóa này hoạt động. Để sử dụng từ
khóa react, bạn nên biên dịch Snort với lệnh --enable-flexresp trong script cấu hình.
reference
Cấu trúc: reference : <id system>,<id>;
Từ khóa reference có thể thêm một sự tham khảo đến thông tin tồn tại trên các hệ
thống khác trên mạng. Nó không đóng một vai trò nào trong cơ chế phát hiện. Có
nhiều hệ thống để tham khảo như CVE và Bugtraq. Những hệ thống này giữ các thông
tin thêm về các kiểu tấn công đã được biết. Bằng việc sử dụng từ khóa này, bạn có thể
kết nối đến các thông tin thêm trong thông điệp cảnh báo.

Trang 24


×