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

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

48 164 1

Đ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 48
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

MÃ SỐ: 60.48.01.01

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS NGUYỄN ANH TUẤN

Trang 2

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 3

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 4

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 5

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 6

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 7

Hiện nay, có rất nhiều phần mềm phòng chống virus khác nhau như:

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ữ Bro-Script) 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 8

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

Trang 9

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 10

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

• 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 11

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 12

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 13

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

Trang 14

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 15

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

Trang 16

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 17

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 (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 18

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

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 19

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ó:

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 20

Header của luật Snort

Cấu trúc tổng quát của phần header như sau:

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 21

• 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 22

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

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 23

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 24

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

Ngày đăng: 23/12/2018, 06:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] S.-S. C.-Z. S.-C.Tseng, "Security Analysis of Android Applications Detecting Risks of Backdoor Threats," 2011. [Online]. Available:http://www.cse.yzu.edu.tw/project/100035.pdf. [Accessed 12 06 2013] Sách, tạp chí
Tiêu đề: Security Analysis of Android Applications Detecting Risks of Backdoor Threats
[2] J. Y. Y. Y. N.F.Huang, "The design and implementation of NIDS rule automatic generating system for HTTP-like bot net detection," TAIS International Conference, 2011 Sách, tạp chí
Tiêu đề: The design and implementation of NIDS rule automatic generating system for HTTP-like bot net detection
[4] P. C.-C. S.-C.Lin, "A novel method of mining network flow to detect P2P botnets," Vols. Peer-to-Peer Network. Appl.7, pp. 645-654, 2014 Sách, tạp chí
Tiêu đề: A novel method of mining network flow to detect P2P botnets
[5] W. H.-S.Chiang, "Mobile malware behavioral analysis and preventive strategy using ontology," vol. IEEE Second International Conference on Social Computing, pp.1080-1085, 2010 Sách, tạp chí
Tiêu đề: Mobile malware behavioral analysis and preventive strategy using ontology
[6] C. J. A.Amamra, "Smartphone malware detection: from a survey towards taxonomy," vol. 7th International Conference on Malicious and Unwanted Software, pp. 79-86, 2012 Sách, tạp chí
Tiêu đề: Smartphone malware detection: from a survey towards taxonomy
[7] A. E. M.M.A.Elfattah, "Handsets malware threats and facing techniques," vol. Int. J. Adv. Comput.Sci.Appl.2, pp. 42-48, 2011 Sách, tạp chí
Tiêu đề: Handsets malware threats and facing techniques
[8] L.-C. D. L. B. Y. A.Shabtai, "Mobile malware detection through analysis of deviations in application network behavior," vol. Comput. Secur.43, pp. 1-18, 2014 Sách, tạp chí
Tiêu đề: Mobile malware detection through analysis of deviations in application network behavior
[9] R.Sangeetha, "Detection of malicious code in user mode," vol. International Conference on Information Communication and Embedded Systems (ICICES), pp.146-149, 2013 Sách, tạp chí
Tiêu đề: Detection of malicious code in user mode
[10] C. a. i. affiliates, "The Snort Project," 2014. [Online]. Available: http://manual.snort.org Sách, tạp chí
Tiêu đề: The Snort Project
[11] U. Document, "Ubuntu Desktop Guide," [Online]. Available: https://help.ubuntu.com/stable/ubuntu-help/net-wireless-adhoc.html Sách, tạp chí
Tiêu đề: Ubuntu Desktop Guide
[12] U. Document, "Ask Ubuntu," [Online]. Available: http://askubuntu.com/questions/307280/how-do-i-install-applications-in-ubuntu Sách, tạp chí
Tiêu đề: Ask Ubuntu
[13] Snort, "Snort Document," [Online]. Available: https://www.snort.org/documents Sách, tạp chí
Tiêu đề: Snort Document
[14] Wireshark, "Wireshark Document," [Online]. Available: https://www.wireshark.org/docs/ Sách, tạp chí
Tiêu đề: Wireshark Document
[15] "Zimperlich sources," [Online]. Available: http://c-skills.blogspot.com/2011/02/ Sách, tạp chí
Tiêu đề: Zimperlich sources
[16] P. S. L. S.-C. &amp;. S. C.-H. Chen, "Simple and effective method for detecting abnormal internet behaviors of mobile devices," vol. Information Sciences, pp. 193- 204, 2015 Sách, tạp chí
Tiêu đề: Simple and effective method for detecting abnormal internet behaviors of mobile devices
[17] Y. &amp;. J. X. Zhou, "Dissecting Android malware: Characterization and evolution," Proceedings - IEEE Symposium on Security and Privacy, 2012 Sách, tạp chí
Tiêu đề: Dissecting Android malware: Characterization and evolution

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w