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

Nghiên cứu và xây dựng hệ quản lý luật hỗ trợ phát hiện tấn công mạng cho mã nguồn mở OSSEC

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.74 MB, 35 trang )

i

MỤC LỤC

LỜI CẢM ƠN
ĐỀ MỤC

————————

TRANG

Để thực hiện được luận văn này, tôi đã nhận được rất nhiều sự hướng dẫn,
giúp đỡ và góp ý quý báu từ quý thầy cô, bạn bè và đồng nghiệp.
Trước hết, tôi xin gửi lời cảm ơn chân thành đến thầy TS. Đàm Quang Hồng
Hải đã định hướng và tận tình hướng dẫn giúp đỡ tôi hoàn thành luận văn này.

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT .............................................. iv
DANH MỤC CÁC BẢNG ............................................................................................... v
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ ............................................................... vi

Tôi xin chân thành cảm ơn anh Hồng Đình Châu, anh Nguyễn Quốc Vạn,

MỞ ĐẦU..............................................................................................................................1

anh Đinh Nam Long và Trung tâm điện toán truyền số liệu khu vực 2 đã tạo điều

Chương 1 .............................................................................................................................3

kiện cho tôi được sử dụng hệ thống máy chủ và những dữ liệu quý báu đóng góp

TỔNG QUAN .....................................................................................................................3



vào quá trình phân tích hình thành nghiên cứu của tôi.

1.1 Lịch sử hệ thống phát hiện xâm nhập ....................................................................3

Nhân đây, tôi xin tỏ lòng biết ơn sâu sắc tới quý thầy cô Học viện Công nghệ

1.2 Các vấn đề cần giải quyết luận văn.........................................................................6

Bưu chính Viễn thông đã truyền cho tôi những kiến thức quý báu trong những năm

1.3 Các phương pháp nghiên cứu của luận văn..........................................................7

học vừa qua.

1.4 Những đóng góp chính của luận văn ......................................................................8

Đồng thời, tôi xin cảm ơn các bạn học viên lớp CH10CNT02, xin cám ơn gia

1.5 Bố cục của luận văn ....................................................................................................8

đình, bạn bè đã ủng hộ, góp ý và giúp đỡ tôi trong quá trình thực hiện đề tài nghiên

1.6 Kết luận chương ....................................................................................................... 10

cứu của mình.

Chương 2 .......................................................................................................................... 11

Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nỗ lực nhưng do hạn


NGHIÊN CỨU CÔNG CỤ PHÁT HIỆN XÂM NHẬP MÃ NGUỒN MỞ

chế về thời gian, chắc chắn luận văn vẫn còn những thiếu sót, rất mong nhận được

OSSEC .............................................................................................................................. 11

những đóng góp quý báu của thầy cô và các bạn.

2.1

Hệ thống phát hiện xâm nhập......................................................................... 11

2.1.1

Phân loại hệ thống phát hiện xâm nhập ............................................................ 11

TP. Hồ Chí Minh, tháng 6 năm 2015

2.1.1.1 Một số định nghĩa ....................................................................................................................... 11

Người thực hiện

2.1.1.2 Phân loại IDS ................................................................................................................................ 14

Đinh Như Khoa

2.1.1.2 So sánh HIDS và NIDS .................................................................................................................. 16

2.1.2


Mô hình và các kỹ thuật triển khai IDS ............................................................ 20
2.1.2.1 Triển khai Host-based IDS .......................................................................................................... 21
2.1.2.2 Triển khai Netwo rk-based IDS .................................................................................................. 22

2.1.3

Chính sách IDS .................................................................................................... 23

2.2

Công cụ phát hiện xâm nhập mã nguồn mở ossec ..................................... 24


ii

iii

2.2.1

Giới thiệu về OSSEC .......................................................................................... 24

THỰC NGHIỆM ............................................................. Error! Bookmark not defined.

2.2.2

Các thành phần của OSSEC ............................................................................ 24

4.1


Giao diện chức năng quản lý địa chỉ truy cập ............................................ 59

2.2.3

Các luật trong OSSEC ....................................................................................... 26

4.1.1

Quản lý cấu hình thông số IAD ......................................................................... 59

2.2.4

Kiểm tra tính toàn vẹn của hệ thống và phát hiện rootkit ........................... 32

4.1.2

Bảng danh sách địa chỉ truy cập mới nhất ........................................................ 60

2.2.5

Phản ứng chủ động trong OSSEC .................................................................. 32

4.2

Biểu đồ kết quả phân tích phát hiện tấn công DDOS ............................... 61

2.2.5.1

Cấu hình các dòng lệnh .......................................................................................................... 33


2.2.5.2

Cấu hình phản ứng.................................................................................................................. 34

Chương 3 .......................................................................................................................... 36
PHẦN MỀM QUẢN LÝ LUẬT VÀ CHỨC NĂNG PHÁT HIỆN TẤN CÔNG
DDOS DỰA TRÊN MÃ NGUỒN MỞ OSSEC ....................................................... 36
3.1

Phần mềm quản lý luật dựa trên ossec ......................................................... 36

3.1.1

Cơ sở lý luận và thực tiễn ................................................................................... 36

3.1.2

Cách tiếp cận vấn đề............................................................................................ 38

3.1.3

Thiết kế cơ sở dữ liệu.......................................................................................... 38

3.1.4

Mô hình chức năng hoạt động............................................................................ 40

3.1.5

Giao diện của chương trình quản lý .................................................................. 41


3.2

Chức năng phát hiện tấn công ddos .............................................................. 44

3.2.1

Cơ sở lý luận và thực tiễn ................................................................................... 44

3.2.1.1 Các yêu cầu đối với môt hệ thống phát hiện DDos ......................................... 44
3.2.1.2 Phân tích phát hiện các cuộc tấn công DDos ................................................... 45
3.2.1.3 Một số thuật toán phát hiện DDos ..................................................................... 45
3.2.2

Các thuật toán áp dụng cho chức năng phát hiện tấn công DDOS ............... 50

3.2.2.1 Cơ chế kiểm tra địa chỉ nguồn ........................................................................... 50
3.2.2.2 Kỹ thuật phát hiện tấn công DDOS theo thuật toán CUSUM ....................... 52
3.2.3

Hiện thực cá chức năng của chương trình ........................................................ 53

3.2.3.1

Quản lý các địa chỉ đã truy cập..................................................................... 53

3.2.3.2

Phân tích tấn công, cảnh báo và ngăn chặn các địa chỉ tấn công ............. 57


Chương 4 .......................................................................................................................... 59

TÀI LIỆU THAM KHẢO ............................................................................................... 62


iv

v

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
IDS
HIDS

Hệ thống phát hiện xâm nhập
Hệ thống phát hiện xâm nhập dựa trên
máy chủ

NIDS

Hệ thống phát hiện xâm nhập dựa trên
mạng máy tính

Log

Nhật ký truy nhập

File

Tập tin


Registry

Bản đăng ký hệ thống

Rootkit

Chương trình có khả năng chiếm quyền
kiểm soát hệ thống

Signatures

Dấu hiệu

Pattern

Mẫu thử

TCP

Giao thức điều khiển truyền vận

UDP

Giao thức gửi gói tin cho người dùng

Blowfish

Thuật toán mã hóa sử dụng khóa đối xứng

URL


Universal Resource Locator

IAD

Cơ sở dữ liệu lưu trữ địa chỉ IP

DANH MỤC CÁC BẢNG
Bảng 2.1: Bảng phân tích so sánh giữa HIDS và NIDS ....................................... 17


vi

1

MỞ ĐẦU
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ

Cùng với tiến trình phát triển chung của nền kinh tế toàn cầu, Internet ra đời

Hình 1.1: Các dòng sản phẩm IDS của Cisco ..................................................................9

được ví như một cuộc cách mạng trong thế giới kinh doanh và truyền thông.

Hình 1.2: Các dòng sản phẩm IDS của ISS......................................................................9

Internet đã và đang thay đổi mọi quan điểm về học tập, kinh doanh và đưa chúng ta

Hình 1.3: Các dòng sản phẩm IDS của Symatec .............................................................9


đến với thời đại mới - thời đại công nghệ số. Internet trở thành một môi trường kinh

Hình 1.4: Các dòng sản phẩm IDS của Enterasys ........................................................ 10

doanh xoá đi mọi ranh giới quốc gia và tạo ra một thị trường lớn nhất trong lịch sử

Hình 2.2: Một số vị trí đặt IDS trong hệ thống mạng .................................................. 17

nhận loại, cùng với nó là sự phát triển như vũ bão của mạng toàn cầu tại Việt Nam.
Bên cạnh những thành tựu to lớn của mạng Internet mang lại cho nhân loại mà
chúng ta đang đạt được, nỗi lo về an toàn thông tin ngày càng được quan tâm hơn.
Hàng ngày chúng ta được nghe rất nhiều thông tin về các cuộc tấn công vào các hệ
thống thông tin quan trọng với những thiệt hại rất lớn về tài chính, thông tin riêng tư
của các cá nhân và các tổ chức. Mục tiêu của các cuộc tấn công mạng thì rất đa
dạng, từ những vấn đề cá nhân, những mục đích xấu trong kinh doanh cho đến mục
tiêu chính trị với tầm ảnh hưởng trên nhiều quốc gia. Tội phạm an ninh mạng ngày
càng phát triển cả về số lượng, quy mô và mức độ nguy hiểm. Do vậy vấn đề bảo
mật, an ninh mạng luôn luôn được bất cứ cá nhân, công ty hay tổ chức đặt lên hàng
đầu.
Với khả năng kết nối nhiều máy tính và mạng, bảo mật trở thành vấn đề lớn và
khó khăn hơn bao giờ hết trong môi trường doanh nghiệp. Hacker và những kẻ xâm
nhập đã dễ dàng đạt được nhiều mục đích trong việc phá hủy hệ thống mạng và dịch
vụ web. Rất nhiều hãng có uy tín về bảo mật đã có nhiều giải pháp để hạn chế sự
tấn công trên mạng và những phương thức đã được triển khai trong nỗ lực bảo vệ hạ
tầng mạng và truyền thông qua mạng internet bao gồm firewall, các phương thức
mã hóa, và các mạng riêng ảo,…
Phát hiện xâm nhập cũng là một kỹ thuật liên quan được áp dụng. Các phương
thức phát hiện xâm nhập xuất hiện vài năm gần đây. Với các phương pháp này
người quản trị có thể thu thập và sử dụng thông tin từ các dạng tấn công chưa được
biết hoặc phát hiện cuộc tấn công đang diễn ra. Những thông tin thu thập được sẽ



2

3

giúp người quản trị gia cố an ninh mạng, đưa ra các chính sách an toàn cho hệ thống

Chương 1

nhằm giảm thiểu những tấn công bất hợp pháp.

TỔNG QUAN

Hệ thống phát hiện xâm nhập IDS (Intrusion Detection System) được sử dụng
để tạo sự bảo mật đối với các gói vào và ra trong mạng. IDS thường được sử dụng

Trong chương này luận văn giới thiệu tổng quan về hệ thống phát hiện xâm

để phát hiện gói mạng bằng việc cung cấp cho người quản trị một sự hiểu biết về

nhập và ứng dụng mã nguồn mở OSSEC. Đồng thời luận văn cũng trình bày

những gì đang thực sự xảy ra trong mạng. Các hệ thống IDS được chia thành các

các phương pháp nghiên cứu và những đóng góp chính của luận văn. Bố cục

loại sau:

của luận văn cũng được giới thiệu cho người đọc cái nhìn khái quát trước khi


Host-based IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm đơn để

đi vào chi tiết.

phát hiện xâm nhập.
Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thông mạng,
cùng với dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm nhập.

1.1 Lịch sử hệ thống phát hiện xâm nhập
Quá trình ra đời hệ thống phát hiện xâm nhập gắn liền với sự bùng nổ

Với mục tiêu tìm hiểu và xây dựng hệ quản lý luật nhằm phát hiện và ngăn

internet và các mạng doanh nghiệp.Việc đảm bảo môi trường doanh nghiệp về an

chặn tấn công các máy chủ đặt tại Trung tâm điện toán truyền số liệu khu vực 2

toàn thông tin trở nên cấp bách hơn bao giờ hết, đặc biệt trước các cuộc tấn công

(VDC2), tác giả chọn đề tài “Nghiên cứu và xây dựng hệ quản lý luật hỗ trợ

của hacker-những kẻ xâm nhập.

phát hiện tấn công mạng cho mã nguồn mở OSSEC” cho luận văn tốt nghiệp của
mình.

Phát hiện xâm nhập là tiến trình theo dõi các sự kiện xảy ra trên một hệ
thống máy tính hay hệ thống mạng, phân tích chúng để tìm ra các dấu hiệu bất
thường và không hợp pháp. Xâm nhập bất hợp pháp được định nghĩa là sự cố gắng

tìm mọi cách để xâm hại đến tính toàn vẹn, tính sẵn sàng, tính có thể tin cậy hay là
sự cố gắng vượt qua các cơ chế bảo mật của hệ thống máy tính hay mạng đó. Việc
xâm nhập có thể là xuất phát từ một kẻ tấn công nào đó trên mạng Internet nhằm
giành quyền truy cập hệ thống, hay cũng có thể là một người dùng được phép trong
hệ thống đó muốn chiếm đoạt các quyền khác mà họ chưa được cấp phát.
Ý tưởng về phát hiện xâm nhập được James Anderson nêu ra lần đầu tiên
vào năm 1980. Khi đó người ta cần IDS với mục đích là dò tìm và nghiên cứu các
hành vi bất thường và thái độ của người sử dụng trong mạng, phát hiện ra các việc
lạm dụng đặc quyền để giám sát tài sản hệ thống mạng. Các nghiên cứu về hệ thống
phát hiện xâm nhập được nghiên cứu chính thức từ năm 1983 đến năm 1988. Cho
đến tận năm 1996, các khái niệm IDS vẫn chưa được phổ biến, một số hệ thống IDS
chỉ được xuất hiện trong các phòng thí nghiệm và viện nghiên cứu. Vài năm sau đó,


4

5

Cisco nhận ra tầm quan trọng của IDS và đã mua lại một công ty cung cấp giải pháp
IDS là Wheel Group. Thị trường IDS bùng nổ mạnh từ sau năm 2000, sau đó tiếp
tục phát triển đến ngày nay.
Một số nhà cung cấp sản phẩm IDS hiện nay là Cisco cung cấp các dòng sản
IDS 4210, 4230 và tích hợp trong Switch Catalyst 6000. HID (Host Intrusion
Detection )sử dụng công nghệ Entercept trong Standard Edition, WEB Edition

Hình 1.4 Các dòng sản phẩm IDS của Enterasys
Tại Việt Nam có rất nhiều các giải pháp bảo mật sử dụng IDS, tuy nhiên hầu
hết các giải pháp này đều sử dụng các sản phẩm appliance là các sản phẩm phần
cứng đã được tích hợp IDS, phổ biến nhất là các dòng sản phẩm của CISCO. Đối
với các hệ thống ngân hàng lớn, thường sử dụng dòng sản phẩm ISS Proventia, đây

là IDS được xếp loại cao nhất trong số các sản phẩm IDS phần cứng. Tuy nhiên đối

Hình 1.1 Các dòng sản phẩm IDS của Cisco

với các tổ chức có mô hình mạng nhỏ thì đây không phải là một giải pháp thực sự
kinh tế, vì chi phí cho các sản phẩm này khá cao.
Bên cạnh những dòng IDS dùng phần cứng, cũng có rất nhiều IDS dùng

Internet Security Systems (ISS) cung cấp cả NID và HID trong đó có NID
với công nghệ Gigabit

phần mềm. Theo Insecure.org ( OSSEC là một số hệ
thống phát hiện xâm nhập bằng phần mềm có khả năng rất mạnh và được các nhà
cung cấp dịch vụ Internet hay các trung tâm dữ liệu sử dụng . OSSEC là một sản
phẩm IDS mã nguồn mở đã được hãng bảo mật TREND Micro mua lại, nó hoạt
động dựa trên các tập luật được định nghĩa với 15 mức độ ưu tiên khác nhau, phân
tích nhật ký truy nhập (log), tính toàn vẹn tập tin (file) và Bản đăng ký hệ thống

Hình 1.2 Các dòng sản phẩm IDS của ISS
Symantec bao gồm các sản phẩm ITA và NetPower

(registry) để theo dõi, thực thi các chính sách, phát hiện rootkit nhằm cảnh báo và
phản ứng tích cực.
Thực tế là trong mấy năm gần đây đã có xu hướng sử dụng các sản phẩm
IDS phần mềm thay cho các giải pháp phần cứng, điển hình là sản phẩm mã nguồn
mở OSSEC. Bởi vì, có hai yêu cầu chính khi triển khai một IDS đó là chi phí cùng
với khả năng đáp ứng linh họat của nó trước sự phát triển nhanh chóng của công

Hình 1.3 Các dòng sản phẩm IDS của Symantec
Enterasys với Dragon NID và Squire HID system


nghệ thông tin và OSSEC có thể đáp ứng rất tốt cả hai yêu cầu này. Ngòai ra
OSSEC còn là một sản phẩm mã nguồn mở và có một cộng đồng phát triển đông
đảo được quản lí chặt chẽ cho nên khi có những dạng xâm nhập mới được phát hiện
thì ngay lập tức được các nhà phát triển cảnh báo và cập nhật các luật một cách


6

7

nhanh chóng và các doanh nghiệp có thể thay đổi mã nguồn cho phù hợp với yêu

Vấn đề thứ hai là xây dựng công cụ phát hiện và cảnh báo tấn công DDOS

cầu của mình. Vì vậy OSSEC là phần mềm IDS mạnh mẽ và được dùng nhiều hiện

một cách tự động nhằm cảnh báo sớm cho người quản trị bằng cách nghiên cứu các

nay trên thế giới trong vấn đề phát hiện xâm nhập.

giải thuật phát hiện tấn công DDOS, cải tiến các giải thuật để tối ưu nhằm tăng tỉ lệ

Một hướng phát triển xa hơn trong bảo mật mạng là có thể phát triển IDS

phát hiện tấn công và giảm tỉ lệ cảnh báo giả.

thành một IPS (Intrusion Prevention System) là một kỹ thuật an ninh mới, kết hợp

Từ những lý do trên, mục tiêu chính của luận văn là xây dựng được hệ thống


các ưu điểm của kỹ thuật firewall với hệ thống phát hiện xâm nhập IDS có khả năng

ứng dụng quản trị các luật và tích hợp với hệ thống OSSEC giúp người dùng theo

phát hiện sự xâm nhập, các cuộc tấn công và tự động ngăn chặn các cuộc tấn công

dõi hệ thống nhanh và chính xác hơn. Bên cạnh đó luận văn cũng tìm hiểu một số

đó.

phương pháp để phát hiện tấn công từ chối dịch vụ phân tán một cách nhanh chóng
Nghĩa là, IPS không đơn giản chỉ dò các cuộc tấn công, chúng có khả năng

ngăn chặn hoặc cản trở các cuộc tấn công đó. Chúng cho phép tổ chức ưu tiên, thực
hiện các bước để ngăn chặn lại sự xâm nhập. Phần lớn hệ thống IPS được đặt ở
vành đai mạng, đủ khả năng bảo vệ tất cả các thiết bị trong mạng.
Công cụ mã nguồn mở OSSEC đã được xây dựng và phất triển rất lâu, mục
đích là gọn nhẹ và hiệu quả, bên cạnh đó chủ yếu phục vụ cho người quản trị có am

để người quản trị sớm có những quyết định chống lại các tấn công nguy hiểm này.

1.3 Các phương pháp nghiên cứu của luận văn
Luận văn nghiên cứu các phương pháp phát hiện tấn công từ chối dịch vụ phân
tán của các tác giả trước đó. Ứng dụng những phương pháp phù hợp nhất cho hệ
thống của mình, đề xuất các cải tiến trong quá trình nghiên cứu. Một số phương
pháp được luận văn sử dụng bao gồm:

hiểu về hệ thống rất cao. Các giao diện cho người dùng rất khó dùng và chỉ thể hiệ n


 Phương pháp theo dõi địa chỉ nguồn : Lữu trữ những địa chỉ đã truy cập để

những lịch sử truy nhập dạng thô, và để cấu hình những luật mới hay chỉnh sửa phải

phân tích và phân loại nhằm quyết định xem địa chỉ truy cập đó có phải là địa chỉ

dùng lệnh rất dài để cấu hình trong hệ điều hành Linux hoặc chỉnh sửa các tập tin

hợp lệ hay không.

XML được định nghĩa sẵn. Những khó khăn này làm cho hệ thống bớt hiệu quả bởi
người quản trị phải luôn xem lịch sử truy cập và phải tự phân tích rất nhiều, ngoài ra
việc chỉnh sửa hay thêm bớt các luật không được thuận tiện làm cho người quản trị
cảm thấy không thoải mái. Chính vì vậy, vấn đề cần thiết của việc xây dựng ứng
dụng quản lý các luật của OSSEC một cách trực quan sẽ giúp cho người quản trị rất
nhiều trong quá trình khai thác các điểm mạnh của OSSEC.

1.2 Các vấn đề cần giải quyết trong luận văn
Vấn đề đầu tiên là tạo được công cụ quản trị một cách trực quan bằng cách
xây dựng một chương trình có giao diện thân thiện, dễ sử dụng với những chức
năng cho phép cập nhật tương tác tích hợp với hệ thống OSSEC. Hệ thống cho phép
Phải hiển thị được các cảnh báo dạng biểu đồ để người quản trị dễ giám sát hệ
thống.

 Phương pháp CUSUM (phương pháp tổng tích lũy) : Xây dựng ngưỡng giới
hạn để xác định tấn công.


8


9

bằng phần mềm mã nguồn mở OSSEC, qua đó cũng phân tích các lý do

1.4 Những đóng góp chính của luận văn

cần phải hoàn thiện để tận dụng các thế mạnh của OSSEC trong việc

Luận văn đã tìm hiểu và xây dựng một hệ thống quản trị các luật và tích hợp

phát hiện xâm nhập.

với hệ thống OSSEC ứng dụng giúp người dùng tương tác với hệ thống OSSEC dễ
dàng hơn, cho phép cập nhật, chỉnh sửa các luật, theo dõi lịch sử truy cập hệ thống
trực quan dạng biểu đồ.
Luận văn đã tìm hiểu các phương pháp của các nghiên cứu trước đó. Chọn lọc

 Chương 3: Hệ thống Phần mềm quản lý luật và chức năng phát hiện tấn
công DDOS dựa trên tích hợp với mã nguồn mở OSSEC và chức năng
phát hiện tấn công DDOS (sửa lại tên chương 3)
Đây là chương quan trọng nhất của luận văn. Trong chương này

và ứng dụng các giải thuật phù hợp cho nghiên cứu của mình. Đồng thời luận văn

luận văn trình bày cơ sở lý luận và thực tiễn là tiền đề cho việc phát

đề xuất một số phương pháp sau đây:
 Dùng giải thuật SIM (Source IP Address Monitoring) để lưu trữ các địa chỉ

triển Hệ thống ứng dụng quản lý luật nhằm mang lại công cụ quản trị


truy cập hệ thống. Nhưng không cần phải lưu các thông số như số lần truy cập của

thuận tiện cho người dùng. Bên cạnh đó luận văn cũng phát triển một

địa chỉ cũng như số gói tin của địa chỉ truy cập.

chức năng nhằm phát hiện sớm tấn công DDOS để cảnh báo đến người
quản trị và đưa ra hướng giải quyết nhằm ngăn chặn tấn công DDOS.

 Dựa vào lý thuyết thuật toán CUSUM để xây dựng các thông số cần tính
toán nhằm đưa ra quyết định cảnh báo hoặc ngăn chặn khi có tấn công DDOS thông
qua các cấu hình của người quản trị.

 Chương 4: Đánh giá kết quả đạt được Thực nghiệm (sửa lại tên chương
3)
Trong chương này luận văn trình bày những kết quả thực nghiệm

1.5 Bố cục của luận văn
Luận văn gồm các phần sau.
 Mở đầu
 Chương 1: Tổng quan
Chương này luận văn giới thiệu tổng quan về hệ thống phát hiện
xâm nhập và ứng dụng mã nguồn mở OSSEC. Đồng thời luận văn cũng
trình bày các phương pháp nghiên cứu và những đóng góp chính của
luận văn. Bố cục của luận văn cũng được giới thiệu cho người đọc cái
nhìn khái quát trước khi đi vào chi tiết.

áp dụng vào thực tế để phân tích dữ liệu và kết quả đạt được của ứng
dụng quản lý luật và đặc biệt là kết quả thực tế trong quá trình phân tích

tấn công DDOS dựa trên cải tiến giải thuật CUSUM. Luận văn cũng
trình bày kết quả những cải tiến so với giải thuật CUSUM.
 Kết luận
Phần này tổng quát lại những đóng góp của luận văn, những kết
quả đạt được trong quá trình nghiên cứu của tác giả.
 Kiến nghị các hướng nghiên cứu tiếp theo
Phần này đề xuất cho những nghiên cứu tiếp theo để hoàn thiện

 Chương 2: Nghiên cứu công cụ phát hiện xâm nhập mã nguồn mở
OSSEC
Chương hai luận văn giới thiệu rõ hơn về hệ thống phát hiện xâm
nhập. Bên cạnh đó cũng giới thiệu chi tiết công cụ phát hiện xâm nhập

phần mềm quản lý luật và phát hiện tấn công từ chối dịch vụ phân tán.


10

11

1.6 Kết luận chương
Chương này Luận văn đã giới thiệu tổng quan về phát hiện xâm nhập và các

Chương 2

vấn đề luận văn cần quan tâm. Trong đó quan trọng nhất là cải tiến tỉ lệ phát hiện
tấn công DDOS. Điều này đòi hỏi cần giảm bớt độ phức tạp của thuật giải nhưng

HỆ THỐNG PHÁT HIỆN XÂM NHẬP MÃ


vẫn đảm bảo độ chính xác của hệ thống. Ngoài ra Chương này cũng trình bày các

NGUỒN MỞ OSSEC

phương pháp thực hiện của luận văn.. Bố cục luận văn cũng được giới thiệu cho
người đọc cái nhìn tổng quát trước khi đi sâu vào chi tiết.

Trong chương này luận văn giới thiệu rõ hơn về hệ thống phát hiện xâm
nhập. Bên cạnh đó cũng giới thiệu chi tiết công cụ phát hiện xâm nhập bằng
phần mềm mã nguồn mở OSSEC, qua đó cũng phân tích các lý do cần phải
hoàn thiện để tận dụng các thế mạnh của OSSEC trong việc phát hiện xâm
nhập.

2.1 Hệ thống phát hiện xâm nhập
Hệ thống phát hiện xâm nhập là một công cụ chủ yếu đóng góp vào bộ bảo
mật như tường lửa hoặc phần mềm chống virus. Các công cụ đó sẽ không có hiệu
quả nếu được sử dụng tách biệt nhau. Chính vì vậy chúng ta cần kết hợp các công
nghệ tin cậy và kiểm tra chặt chẽ, bảo đảm rằng ứng dụng IDS được sử dụng một
cách hiệu quả. [1]
Nhiều chuyên gia bảo mật mạng biết rằng tường lửa là một thành phần cơ
bản đối với kế hoạch bảo mật toàn diện. Họ cũng nhận thấy rằng IDS là một sản
phẩm bổ sung hữu hiệu để thực hiện tốt được chiến lược bảo mật của công ty. Vấn
đề là chọn lựa mô hình nào để triển khai cho phù hợp với nhu cầu thực tế.

2.1.1 Phân loại hệ thống phát hiện xâm nhập
2.1.1.1 Một số định nghĩa
Trước khi đi vào chi tiết của phát hiện xâm nhập, chúng ta cần có một số
định nghĩa liên quan đến bảo mật. Đây là các khái niệm thường được sử dụng nhất
trong lĩnh vực IDS.



12

13

Signatrue(dấu hiệu) là một mẫu (pattern) nhận dạng có thể tìm thấy trong

IDS
Hệ thống phát hiện xâm nhập (Intrusion Detection System - IDS) là phần

một gói tin. Một signature được dùng để phát hiện ra một hoặc nhiều loại tấn công.

mềm hoặc phần cứng hoặc kết hợp của cả hai được dùng để phát hiện các hành vi

Ví dụ sự có mặt của “scripts/iisadmin” trong gói tin được gởi đến web server có thể

xâm nhập vào mạng. Mục đích của nó là phát hiện và ngăn ngừa các hành động phá

là một hành động tấn công.

hoại đối với vấn đề bảo mật hệ thống, hoặc những hành động trong tiến trình tấn

Signature có thể hiện diện trong một số phần khác nhau của một gói tin phụ

công như sưu tập, quét các cổng. Tính năng chính của hệ thống này là cung cấp

thuộc vào ý đồ tấn công. Ví dụ có thể tìm thấy signature trong IP header, transport

thông tin nhận biết về những hành động không bình thường và đưa ra các cảnh báo


layer header (TCP hoặc UDP header), application layer header hoặc trong phần

cho quản trị viên mạng khóa các kết nối đang tấn công này. Thêm vào đó công cụ

payload.

IDS cũng có thể phân biệt giữa những tấn công từ bên trong tổ chức (từ chính nhân

Thường thì IDS dựa vào signature để tìm ra hoạt động của người tấn công.

viên hoặc khách hàng) và tấn công bên ngoài (tấn công từ hacker). OSSEC là một

Một vài nhà cung cấp IDS yêu cầu phải cập nhật các signature mới trực tiếp từ nhà

IDS mã nguồn mở phổ biến và được giới thiệu trong khóa luận này. Một IDS có

cung cấp khi có một kiểu tấn công mới được tìm ra. Trong một số IDS khác, chẳng

nhiều chức năng hay không là phụ thuộc vào sự phức tạp và tinh vi trong các thành

hạn như Snort, ta có thể tự cập nhật các signature do mình tự định nghĩa, như vậy

phần của nó. IDS appliances là sản phẩm kết hợp cả phần cứng và phần mềm, hầu

người dùng có thể linh động hơn khi sử dụng.

hết đều là các sản phẩm thương mại. Như đã đề cập ở trên, một IDS có thể sử dụng

Alerts


kỹ thuật signature, anomaly-based hoặc cả hai.
Network-based IDS (NIDS)

Alerts là bất kỳ các hình thức thông báo cho người dùng về một hoạt động
tấn công. Khi IDS phát hiện ra một kẻ tấn công, nó dùng các hình thức alert để

NIDS dùng để bắt các gói tin từ môi trường mạng (cables hoặc wireless) để

thông báo cho người quản trị bảo mật. Alerts có thể là cửa sổ pop-up, màn hình

so sánh dữ liệu thu thập được với cơ sở dữ liệu đã biết của các dấu hiệu tấn công

console, gởi email … Alerts có thể được chứa trong file log hoặc database để được

vào hệ điều hành và ứng dụng. Khi phát hiện được nguy cơ bị tấn công, NIDS có

sử dụng trong công tác phân tích của các chuyên gia bảo mật.

thể phản ứng lại bằng cách log gói tin vào cơ sở dữ liệu, cảnh báo cho nhà quản trị

Logs

hoặc đưa vào firewall.
Host-based IDS (HIDS)
HIDS được cài đặt như một agent trên một host cụ thể. HIDS phân tích log
của hệ điều hành hoặc các ứng dụng so sánh sự kiện với cơ sở dữ liệu đã biết về các
vi phạm bảo mật và các chính sách đã được đặt ra. Nếu thấy có vi phạm HIDS có
thể phản ứng lại bằng cách ghi lại các hành động đó, cảnh báo cho nhà quản trị và
có thể ngừng hành động lại trước khi nó xảy ra.
Signatures


Các thông báo log thường được lưu vào file. Mặc định OSSEC lưu trữ ở
/var/ossec/log. OSSEC có nhiều loại log khác nhau bao gồm log ossec, log alert, log
firewall, log active response. OSSEC có công cụ ossec-webui dùng để phân tích
log.
False Alarm
False Alarm là những cảnh báo về một cuộc tấn công nhưng thực tế đó
không phải là hành động tấn công. Ví dụ như IDS phát hiện ra một cuộc tấn công
vào IIS server nhưng thực tế bên trong hệ thống mạng của bạn không hề có IIS


14

15

server.. Để tránh cảnh báo sai cần phải thay đổi và điều chỉnh các luật mặc định.
Trong một số trường hợp phải gở bỏ đi một số luật để tránh cảnh báo sai.
Sensor/Agent
Là một máy tính hoặc thiết bị mà trên đó đang chạy một hệ thống phát hiện

Integrity monitors - Công cụ giám sát tính toàn vẹn sẽ nhìn vào cấu trúc chủ
yếu để phát hiện sự thay đổi. Ví dụ như, một hệ thống giám sát tính toàn vẹn cơ bản
sử dụng một file hệ thống hoặc một khóa trong registry để ghi lại các thay đổi bởi
một kẻ xâm nhập.

xâm nhập (IDS), nó được gọi là sensor vì nó được dùng để giám sát và phân tích các

Công cụ dùng để giám sát tính toàn vẹn phổ biến nhất là Tripwire

hoạt động network. “Sensor” thường được dùng cho dạng Network-base IDS/IPS trong


() (có cả phiên bản cho Linux và Windows), và AIDE là

khi “Agent” thường được dùng cho dạng Host-base IDS/IPS.

một phiên bản phát triển trên nền của Tripwire. Các công cụ này đều hoạt động chủ

2.1.1.2 Phân loại IDS

yếu dựa trên sự theo dõi bảng băm (hash) để kiểm tra tính toàn vẹn của tập tin.

Nhìn chung có nhiều cách để phân loại IDS, tuy nhiên cách phân loại tổng
quát nhất vẫn là phân loại thành Host-based và Network-based.
Host-based IDS
HIDS là dạng IDS lấy thông tin cục bộ từ một host, nơi nó được cài đặt.
HIDS có thể được sử dụng trong một số dạng như dùng để theo dõi log (logfile
monitors), giám sát tính toàn vẹn (integrity monitors), phát hiện hiện xâm nhập ở
mức kernel (kernel module).
Logfile monitors - Đây là dạng IDS đơn giản nhất, thiết bị này sẽ cố gắng phát
hiện những sự xâm nhập bằng cách phân tích log các sự kiện của hệ thống. Công
nghệ HIDS bị giới hạn bởi hệ thống ghi log. Nếu ứng dụng không hỗ trợ hoặc hỗ trợ
giới hạn việc ghi log thì sẽ hạn chế khả năng hoạt động của HIDS rất nhiều. Ngoài
ra đối với hacker có kinh nghiệm thì có khả năng qua mặt hệ thống HIDS bằng cách
tạo nhiều sự kiện ghi log giả mạo (false positive) khiến quản trị viên tắt bỏ alert
hoặc thậm chí tắt bỏ cả HIDS trên một agent. Đối với hacker có kinh nghiệm thì còn
có một số lỗ hổng trong ứng dụng không ghi log và hacker có thể khai thác. HIDS
mà không có log thì sẽ không hoạt động đúng chức năng như đã được thiết kế.

Ngoài ra các công cụ này còn theo dõi một số thuộc tính như :







Việc thêm, xóa và sửa đổi file
Cờ trạng thái của file (hidden, read-only, archive, …)
Thời gian truy cập cuối cùng
Thời gian ghi cuối cùng
Kích thước file
Lưu ý : Điểm mấu chốt khi triển khai các hệ thống này là phải thiết lập trước

một hệ thống thực sự an toàn (“known safe”) trước khi hệ thống kiểm tra sự toàn
vẹn hoạt động và được kết nối vào hệ thống mạng.
Kernel-based IDS - Các hệ thống kiểm tra ở mức kernel chủ yếu được phát
triển chủ yếu cho hệ điều hành Linux. Một số công cụ phổ biến như LIDS, Open
Wall. Đặc điểm của hệ thống dạng này là tăng cường bảo mật cho một số điểm yếu
còn thiếu sót của hệ thống hiện tại, khóa các truyền thông bất thường. Điểm đặc biệt
là nó có thể khóa một số quyền hạn của tài khoản root.
Network-based IDS
Network IDS có thể được phân chia thành 2 loại : signatured-based (dựa vào
các dấu hiệu nhận dạng được định nghĩa trước) và anomaly-based (dựa vào các dấu

Công cụ giám sát log file nổi tiếng nhất là Simple Watcher (Swatch). Công

hiệu bất thường). Ngoài ra còn có các hệ thống phát hiện xâm nhập “lai” (Hybrid

cụ này cho phép phát hiện những xâm nhập được phân tích từ log file dựa trên cấu

IDS) là sự kết hợp ưu điểm của mỗi loại IDS. Trong thực tế, các sản phẩm NIDS


hình trong file script.

thương mại hiện đại đều sử dụng một số kỹ thuật của anomaly-based để tăng cường


16

17

cho cấu trúc chính của nó là signature-based engine. Một số dòng sản phẩm tiêu

nguy hiểm và giá trị chính của nó là cho biết điều gì sắp xảy ra, giúp cho người

biểu như ISS RealSecure, Cisco IDS, và Enterasys Dragon.

quản trị có những chính sách hợp lý cho mạng và cho host.

Signature matchers - Giống như các phầm mềm quét virus truyền thống, phần

Sự khác nhau chủ yếu giữa HIDS và NIDS là nơi mà nó sẽ tìm kiếm dữ liệu

lớn các IDS đều cố gắng phát hiện tấn công dựa trên cơ sở dữ liệu về các dấu hiện

để phát hiện xâm nhập. NIDS nhìn vào toàn cảnh luồng dữ liệu trên mạng, trong khi

của các tấn công. Ví dụ như Ossec là một signature-based IDS miễn phí, chạy được

đó HIDS quan sát các host, hệ điều hành và các hoạt động của ứng dụng. Như vậy


trên rất nhiều hệ điều hành.

NIDS phát hiện ra những cuộc tấn công tiềm năng, trong khi đó HIDS chỉ phát hiện

Bởi vì Ossec là một phần mềm mã nguồn mở nên nó có một tiềm năng phát
triển cơ sở dữ liệu signature rất nhanh từ cộng đồng bảo mật rất lớn trên thế giới.
Anomaly detectors - Phát hiện dấu hiệu bất thường (anomaly detection) liên
quan đến việc thiết lập một nền móng cơ bản của một hệ thống bình thường (normal

những cuộc tấn công đã thành công. Bởi vậy có thể nói rằng NIDS mang tính tiên
phong (proactive) hơn so với HIDS. Tuy nhiên HIDS lại hoạt động hiệu quả hơn
trong môi trường chuyển mạch, mã hóa và tốc độ cao (high-traffic environment),
trong khi đó NIDS rất khó hoạt động trong môi trường này.

system) hoặc là các hoạt động trên mạng (network activity) và sau đó cảnh báo cho

Tóm lại, để lựa chọn công nghệ IDS thích hợp cần phải dựa vài chính sách

cho chúng ta khi có những hoạt động bất thường xảy ra. Tuy nhiên kỹ thuật này chỉ

IDS đã đề cập ở trên và có thể dựa vào một phương pháp thống kê gọi là Bayesian

hoạt động tốt trên môi trường mạng ít thay đổi, còn trong một số mạng có cấu trúc

analysis.

đặc biệt như mạng quân đội hoặc mạng giao tiếp tình báo thì kỹ thuật này sẽ cho

Bảng 2.1 Bảng phân tích so sánh giữa HIDS và NIDS[1]


những cảnh báo sai. Trong lĩnh vực anomaly-based, người ta áp dụng một số kỹ
thuật của trí tuệ nhân tạo (Artificial Intelligence - AI), độ chính xác của nó đang
được nghiên cứu.

2.1.1.2 So sánh HIDS và NIDS

Chức năng
Bảo vệ trong
mạng LAN

HIDS

NIDS

****

****

****

-

****

****

****

**


***

*

Các đánh giá
Cả hai đều bảo vệ bạn khi trong
mạng LAN

Trong phần trước đã nói sơ lược về khái niệm Host-based IDS (HIDS) và
Network-based IDS (NIDS). Trong phần này sẽ cho chúng ta cái nhìn cụ thể về
những điểm mạnh, yếu của chúng. Như đã nói ở trên, NIDS đôi khi được coi như
một sniffer trong mạng, còn HIDS thường làm những công việc như phân tích log
(log analyzer), kiểm tra tính toàn vẹn của hệ thống, …. Tuy nhiên có một điểm
chung của các IDS là bản thân nó không tự chống các cuộc tấn công hoặc ngăn chặn
những khai thác lỗi thành công. Hiện nay sự phát triển mới của IDS là hệ thống
ngăn chặn xâm nhập (Intrusion Prevention System - IPS) đã có thể thực hiện nhiều
vai trò hơn và có thể ngăn chặn các cuộc tấn công khi nó xảy ra, thậm chí có thể tấn
công ngược lại đối phương. Thực tế thì IDS chỉ cho chúng ta biết mạng đang bị

Bảo vệ ngoài
mạng LAN
Dễ dàng cho
việc quản trị
Tính
hoạt
Giá thành

linh

Chỉ có HIDS

Tương đương như nhau xét về bối
cảnh quản trị chung
HIDS là hệ thống linh hoạt hơn
HIDS là hệ thống ưu tiết kiệm hơn
nếu chọn đúng sản phẩm


18

Dễ

19

dàng

trong

việc

bổ

Chế độ quét
****

****

Cả hai tương đương nhau

thanh ghi cục bộ


****

-

***

***

***

***

sung
Đào tạo ngắn
hạn cần thiết
Tổng

giá

thành

****

**

cầu

trong

***


**

0

2

LAN
1

overhead

2

yêu

cầu

**

**

(Internet)

NIDS sử dụng băng tần LAN rộng,

Quét PAN

về cổng mở rộng


****

cho

các

rộng cổng để đảm bảo lưu lượng LAN
của bạn được quét

Chu kỳ nâng
****

-

client

tin
thức

HIDS nâng cấp tất cả các client với

nền

ứng

trung

****

***


****

cảnh báo cho từng cá nhân và quản trị

hiệu hóa các hệ

Chỉ có HIDS quét các vùng mạng
cá nhân của bạn
Chỉ các tính năng NIDS mới có
phương thức này

khi cài đặt và sử dụng NIDS đối với
toàn bộ vấn đề bảo mật mạng của bạn

**

***

*

****

số rủi ro

NIDS có chiếm ưu thế hơn

NIDS có hệ số rủi ro nhiều hơn so
với HIDS
Rõ ràng khả năng nâng cấp phần

mềm là dễ hơn phần cứng. HIDS có thể

***

***

NIDS có khả năng thích nghi trong
các nền ứng dụng hơn

bản ghi

Cần nhiều kiến thức chuyên môn

Khả năng vô

nhật
**

****

một file mẫu trung tâm

năng

thích nghi trong

-

chuyên môn


Khả năng cập

Khả

-

cập nhật kịp thời các file mẫu
NIDS yêu cầu phải kích hoạt mở

-

****

đối với bất kỳ mạng LAN nào
Cả hai đều cần băng tần Internet để

Cả hai hệ thống đề có chức năng

Cả hai hệ thống đều có chức năng

còn HIDS thì không
NIDS cần 2 yêu cầu băng tần mạng

kiểu quét này

viên

Quản lý tập

Các yêu cầu


dụng

cảnh báo

Kiến

Băng tần cần

các

HIDS tiêu tốn của bạn ít hơn

năng

Loại bỏ gói

Network

cấp

HIDS yêu cầu việc đào tạo ít hơn
NIDS

Chức

Băng tần cần
yêu

Bản ghi


Chỉ HIDS mới có thể thực hiện các

được nâng cấp thông qua script được
tập trung

Các nút phát
hiện nhiều đoạn

****

**

HIDS có khả năng phát hiện theo
nhiều đoạn mạng toàn diện hơn


20

21

2.1.2.1 Triển khai Host-based IDS

mạng LAN

HIDS có hai điểm khác biệt khi triển khai so với NIDS. HIDS chỉ theo dõi
được host mà nó đang được cài đặt và card mạng hoạt động ở trạng thái bình
Theo bảng phân tích so sánh giữa 2 mô hình, mỗi mô hình triển khai đều có

thường là non-promiscuous (hay còn gọi là trạng thái active).


ưu và nhược điểm, vì vậy tùy thuộc vào mục đích và quy mô mà chúng ta chọn mô
hình triển khai cho phù hợp.

2.1.2 Mô hình và các kỹ thuật triển khai IDS
Phụ thuộc vào mô hình mạng, có thể đặt IDS ở một hoặc nhiều vị trí. Tùy
thuộc vào loại xâm nhập muốn phát hiện, có thể là bên trong, bên ngoài, hoặc cả
hai. Ví dụ, nếu cần phát hiện một tấn công từ bên ngoài, có một router kết nối ra
Internet, thì nơi tốt nhất cần đặt IDS là nên trong Router hoặc tường lửa. Nếu bạn có
nhiều đường ra Internet, bạn có thể cần mỗi IDS tại mỗi điểm kết nối đó. Tuy nhiên
nếu cần phát hiện các nguy cơ từ bên trong, tốt nhất cần đặt IDS tại mỗi phân đoạn
mạng (network segment).
Hình 1.5 thể hiện một số vị trí cần đặt IDS, IDS được đặt ở phía sau các
firewall và router.

Hình 2.2 Mô hình triển khai Host-based IDS
Khi triển khai theo mô hình HIDS có một số điểm thuận lợi như sau:
IDS

Local
Network



Card mạng chỉ cần hoạt động ở chế độ bình thường nên không cần

phải trang bị thêm card mạng mới, bởi vì không phải tất cả các card mạng đều có
khả năng chuyển sang trạng thái promiscuos. Khi hoạt động ở chế độ bình thường
sẽ không yêu cầu nhiều xử lý của CPU so với trạng thái promiscuous.


Firewall

Internet

IDS

Local
Network



Do chỉ theo dõi cho một host cụ thể nên HIDS có thể theo dõi sâu hơn

về những thông tin của hệ thống như system calls, những thay đổi trong file hệ
thống, system logs.

Router



Người quản trị có thể linh động cấu hình tập hợp các rule cho từng

host cụ thể. Ví dụ như không cần phải sử dụng rule để phát hiện tấn công
Hình 2.1 Một số vị trí đặt IDS trong hệ thống mạng

DNS(Domain Name System) trong khi một máy tính không chạy dịch vụ DNS. Do


22


đó có thể giảm bớt những rule không cần thiết, giúp tăng cường hiệu suất và giảm

23



Có một số giải pháp để giải quyết vấn đề giúp NIDS có thể bắt được

thiểu những xử lý quá tải.

toàn bộ dữ liệu trên đoạn mạng như: sử dụng Hub, Network Tap và công nghệ

2.1.2.2 Triển khai Network-based IDS

Switch Port Analyzer (SPAN) của Cisco.

2.1.3 Chính sách IDS
Trước khi cài đặt IDS, phải có một một chính sách dò tìm kẻ xâm nhập và
các hành động phản ứng lại khi tìm thấy một hành động xâm nhập. Một chính sách
phải đề ra các luật và làm thế nào để áp dụng chúng.
Phụ thuộc vào IDS, bạn có cơ chế cảnh báo để cung cấp thông tin về hành
động của kẻ xâm nhập. Hệ thống cảnh báo có thể được xuất ra dưới dạng file text,
hoặc phức tạp hơn, có thể hợp nhất thành một hệ thống quản lý trung tâm như HP
OpenView hoặc MySQL Database. Một vài người cần hiển thị các hành động của
kẻ xâm nhập, do đó cần phải có chính sách cho những người chịu trách nhiệm. Các
hành động xâm nhập có thể được theo dõi trong thời gian thực và được hiển thị ở
dạng cửa sổ pop-up hoặc giao diện web.
Hình 2.3 Mô hình triển khai Network-based IDS
Không giống với HIDS, trong mô hình triển khai NIDS ở hình 4.2, mỗi
NIDS theo dõi toàn bộ dữ liệu trên từng đoạn mạng mà nó được cài đặt. Trong mô

hình trên sử dụng 3 NIDS để theo dõi luồng dữ liệu trên 3 đoạn mạng khác nhau là
các public server và hệ thống mạng bên trong.
Như đã nói trong các phần trước, đặc trưng của NIDS là làm sao để từng
NIDS có thể theo dõi được tất cả các dữ liệu được trao đổi trên từng đoạn mạng. Do
đó cần phải có một số yêu cầu đặc biệt về mặt kỹ thuật để triển khai NIDS:


Card mạng của NIDS cần phải hỗ trợ chế độ promiscuous để NIDS có

thể nhận được các gói tin có destination MAC không gửi cho nó. Tuy nhiên đây chỉ
là điều kiện cần để NIDS nhận được dữ liệu trên mạng, vấn đề chính là làm sao để
toàn bộ dữ liệu trên đoạn mạng có thể đổ dồn vào NIDS.

Và như tất cả các hệ thống khác, bạn cần có cơ chế bảo trì IDS nhằm bảo
đảm hệ thống được vận hành tốt.
Nếu không có biến cố, không cần có điểm thiết lập IDS. Tùy thuộc vào biến
cố, bạn cần liên hệ với những cơ quan chính quyền liên quan.
Các báo cáo : những báo cáo được phát sinh cho biết điều gì xảy ra trong
tuần, trong ngày, hoặc trong tháng.
Cập nhật các signature : các hacker tiếp tục tạo ra các kiểu tấn công mới. IDS
chỉ có thể phát hiện ra những kiểu tấn công nếu nó đã biết trước dựa trên các dấu
hiệu nhận dạng. Bởi vì các tấn công liên tục thay đổi, do đó phải thường xuyên cập
nhật các signature mới.
Lập tài liệu cho mỗi dự án IDS : chính sách IDS mô tả kiểu tấn công được
phát hiện và ghi vào tài liệu như thế nào. Tài liệu có thể đơn giản chỉ là một file log
hoặc là một bản khi hoạt động của kẻ tấn công đã kết thúc.


24


25

Như vậy, dựa trên chính sách về IDS sẽ cho ta ý tưởng cần bao nhiêu sensor

/ var/ossec/rules: Lưu trữ các rule của ossec

và những tài nguyên nào cho hệ thống mạng. Với những thông tin này, ta có thể

/ var/ossec/stats: Lưu trữ các lịch sử trạng thái của OSSEC

tính chi phí cho một IDS chính xác hơn.

/ var/ossec/tmp: Lưu trữ xử lý tạm thời của hệ thống

2.2 Công cụ phát hiện xâm nhập mã nguồn mở ossec
2.2.1 Giới thiệu về OSSEC

Để xây dựng hệ thống OSSEC, trên máy chủ ossec chúng ta cần khai báo
tường minh các agent (các host được ossec bảo vệ). Mỗi host được khai báo sẽ được

OSSEC là ứng dụng Host-based IDS mã nguồn mở miễn phí và cho phép

cấp một khóa (key). Khóa này được agent sử dụng để trao đổi thông tin được mã

phát triển các tính năng. Là công cụ với nhiều khả năng mạnh như : phân tích log,

hóa trên đường truyền với máy chủ ossec. Giao thức mạng dùng để liên lạc giữa

kiểm tra tính toàn vẹn của tập tin, giám sát registry của Windows, phát hiện rootkit,


agent và server là UDP cổng 1514 và thuật toán mã hóa được dùng là blowfish.

cảnh báo thời gian thực, và phản ứng tích cực. OSSEC chạy trên hầu hết các hệ điều

Agent

hành, bao gồm cả Linux, OpenBSD, FreeBSD, Mac OS X, Sun Solaris và Microsoft

Vai trò của agent là tập hợp thông tin của host và gửi về ossec-server.

Windows. [2]

Cấu trúc thư mục khi cài đặt Ossec với vai trò làm máy cần theo dõi:

2.2.2 Các thành phần của OSSEC
OSSEC có 2 thành phần chính: Server và Agent. Chúng ta có thể cài ở hầu
hết trên các hệ điều hành, tuy nhiên, ở hệ điều hành Windows chỉ có thể cài đặt
Agent, có nghĩa là để bảo vệ máy chủ chạy hệ điều hành Windows với OSSEC
HIDS luôn phải cài một Server trên một trong những hệ điều hành khác. [2]
Server

Linux:
/ var/ossec/active-response : Chứa các kịch bản để phản ứng động
/ var/ossec/bin: Lưu trữ các file thực thi của OSSEC
/ var/ossec/etc: Lưu trữ các file cấu hình
/ var/ossec/logs: Lưu trữ lịch sử truy nhập
/ var/ossec/queue: Lưu trữ hàng đợi cho xử lý lịch sử truy nhập

Vai trò của máy chủ làm server là sẽ nhận tất cả các thông tin log, thông tin
hệ thống từ các agent gửi về, sau đó phân tích và triển khai các chính sách.

Thư mục mặc định cài đặt ở chế đệ máy chủ được đặt ở thư mục /var/ossec
và chúng ta hoàn toàn có thể thay đổi mặc định này.
Cấu trúc thư mục khi cài đặt xong Ossec với vai trò làm máy chủ:
/ var/ossec/active-response : Chứa các kịch bản để phản ứng động
/ var/ossec/agentless : Chứa các kịch bản điều khiển của các thiết bị
không thể cài làm máy theo dõi như Router,Switch…
/ var/ossec/bin: Lưu trữ các file thực thi của OSSEC
/ var/ossec/etc: Lưu trữ các file cấu hình
/ var/ossec/logs: Lưu trữ log của toàn bộ hệ thống ossec
/ var/ossec/queue: Lưu trữ hàng đợi cho phân tích và xử lý của ossec

Windows:
Các thư mục được cài đặt trọng thư mục C:/Program Files/ossec-agent


26

Hình 2.5 : Các thành phần hoạt động của OSSEC [2]

2.2.3 Các luật trong OSSEC
OSSEC làm việc dựa trên các luật được định nghĩa sẵn trong các file. Các
file được đặt trong thư mục /var/ossec/rules/. Mỗi rule được định nghĩa trong các
file XML đã được phân loại . Ví dụ, tất cả các rule liên quan đến Apache HTTP
Server được lưu trong file có tên là apache_rules.xml, hay tất cả các luật dành cho
Cisco PIX firewall được lưu trong file pix_rules.xml. Khi cài đặt mặc định OSSEC
chứa 43 file rule được mô tả như bên dưới:
Bảng 2.2 : Các tập tin định nghĩa luật trong OSSEC
Index
1
2

3
4
5
6
7
8
9
10
11

Rule Name
apache_rules.xml
arpwatch_rules.xml
attack_rules.xml
cisco-ios_rules.xml
courier_rules.xml
fi rewall_rules.xml
ftpd_rules.xml
hordeimp_rules.xml
ids_rules.xml
imapd_rules.xml
local_rules.xml

Description
Apache HTTP server rules
Arpwatch rules
Common attack rules
Cisco IOS fi rmware rules
Courier mail server rules
Common fi rewall rules

Rules for the ftpd daemon
Horde Internet Messaging Program rules
Common IDS rules
Rules for the imapd daemon
OSSEC HIDS local, user-defi ned rules

27

12
13
14
15
16
17
18
19
20

mailscanner_rules.xml
msauth_rules.xml
ms-exchange_rules.xml
netscreenfw_rules.xml
ms_ftpd_rules.xml
mysql_rules.xml
named_rules.xml
ossec_rules.xml
pam_rules.xml

21
22

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

pix_rules.xml
policy_rules.xml
postfi x_rules.xml
postgresql_rules.xml
proftpd_rules.xml
pure-ftpd_rules.xml
racoon_rules.xml
rules_confi g.xml
sendmail_rules.xml
squid_rules.xml
smbd_rules.xml

sonicwall_rules.xml
spamd_rules.xml
sshd_rules.xml
symantec-av_rules.xml
symantec-ws_rules.xml
syslog_rules.xml
telnetd_rules.xml
vpn_concentrator_rules.x
ml
vpopmail_rules.xml

41
42
43

vsftpd_rules.xml
web_rules.xml
zeus_rules.xml

Common mail scanner rules
Microsoft Authentication rules
Microsoft Exchange server rules
Juniper Netscreen fi rewall rules
Microsoft FTP server rules
MySQL database rules
Rules for the named daemon
Common OSSEC HIDS rules
Pluggable Authentication Module (PAM)
rules
Cisco PIX fi rewall rules

Policy specifi c event rules
Postfi x mail transfer agent rules
PostgerSQL database rules
ProFTPd FTP server rules
Pure-FTPd FTP server rules
Racoon VPN device rules
OSSEC HIDS Rules confi guration rules
Sendmail mail transfer agent rules
Squid proxy server rules
Rules for the smbd daemon
SonicWall fi rewall rules
Rules for the spamd spam-deferral daemon
Secure Shell (SSH) network protocol rules
Symantec Antivirus rules
Symantec Web Security rules
Common syslog rules
Rules for the telnetd daemon
Cisco VPN Concentrator rules
Rules for the vpopmail virtual mail domain
application
Rules for the vsftpd FTP server
Common web server rules
Zeus web server rules

Mỗi file chứa nhiều luật được định nghĩa cho ứng dụng hoặc cho thiết bị.
Cung cấp trên 600 rule cho các loại từ ProFTPD log cho tới Snort NIDS, Cisco
VPN, kiểm tra tính toàn vẹn OSSEC HIDS và dò tìm rootkit.


28


29

Cùng với các rule, chúng ta có các bộ giải mã, được định nghĩa trong file

- Event: Khi có một sự kiện đến hệ thống bắt đầu quá trình tiền xử lý là

decoders.xml trong thư mục /var/ossec/etc. Bộ giải mã được thiết kế để trích xuất

giải mã và trích xuất bất kỳ thông tin liên quan từ nó. Sau khi dữ liệu này

dữ liệu từ các sự kiện được nhận từ nhiều nguồn.

được chiết xuất, các công cụ phù hợp với quy tắc được gọi để kiểm tra nếu

Mỗi một luật được gán 1 chỉ số duy nhất khi nó được tạo ra. Đối với mỗi loại

một cảnh báo hệ thống cần cảnh báo.

luật, một dãy các chỉ số được gán để đảm bảo OSSEC HIDS bộ giải mã phát hành

- Pre-decoding : Quá trình của tiền giải mã đơn giản là chỉ trích xuất
thông tin tĩnh từ các cột thông tin. Nó thường được sử dụng với những thông

không bị lỗi ghi đè.
Trong hệ thống OSSEC, các rule được người dùng tạo ra được gọi là Local

điệp đăng nhập theo giao thức phổ dụng như lịch sử truy nhập hệ thống. Các

rule. Các local rule nằm trong khoảng từ 100.000 đến 119.999. Nếu bạn chọn một


thông tin được trích trong giai đoạn này thường là các thông tin về thời gian,

chỉ số khác, sẽ gây ra xung đột với các luật của OSSEC.

ngày tháng, chương trình, tên máy tên, và thông điệp đăng nhập.
- Decoding : Mục tiêu của giải mã để trích xuất thông tin không tĩnh từ

Quy định cụ thể dãy chỉ số như sau:


Từ 00000-50799 : các chỉ số được định nghĩa của hệ thống

các sự kiện mà chúng ta có thể sử dụng các luật trong quá trình sau này. Nói



Từ 60000-99999 : dành để mở rộng cho hệ thống

chung, chúng ta sẽ trích xuất thông tin địa chỉ, tên người dùng, và dữ liệu



Từ 100000: 109999: do người dùng định nghĩa

tương tự.

2.2.3.1

- Rule matching : Giai đoạn này sẽ kiểm tra xem có khớp với các luật


Quy trình xử lý phân tích của OSSEC HIDS

đã được định nghĩa hay không để đưa ra quyết định xử lý.
- Alerting : Tùy vào kết quả sau khi xem xét, có thể sẽ được lưu vào cơ
sở dữ liệu hoặc cảnh báo qua thư điện tử hoặc phản ứng lại.

2.2.3.2 Phương thức hoạt động của luật trong OSSEC
OSSEC HIDS đánh giá các luật để xem nếu các sự kiện nhận được thuộc vào
cảnh báo nào và được sắp xếp tăng dần.
Có hai loại quy tắc OSSEC HIDS quy tắc: nguyên tử (atomic) và kết hợp
(composite). Quy định nguyên tử được dựa trên các sự kiện duy nhất, mà không có
sự tương quan nào.Ví dụ, nếu bạn nhìn thấy một một xác thực thất bại, bạn có thể
cảnh báo rằng sự kiện duy nhất. Các quy tắc tổng hợp được dựa trên nhiều sự
kiện.Ví dụ, nếu bạn muốn một cảnh báo sau 10 thất bại chứng thực, từ cùng một
nguồn địa chỉ IP, lúc đó một nguyên tắc tổng hợp sẽ được yêu cầu.
Hình : Sơ đồ quá trình xử lý luật trong OSSEC [2]
Chi tiết quá trình xử lý như sau:

Atomic
Các luật được định nghĩa bằng cách sử dụng thẻ các <rule> </ rule> và phải
có ít nhất hai thuộc tính, chỉ số và mức độ . Chỉ số là một định danh duy nhất cho


30

31

chữ ký và mức độ là mức độ nghiêm trọng của cảnh báo.Trong ví dụ sau đây, chúng
tôi sẽ tạo ra hai luật với mỗi luật sẽ khác nhau về chỉ số và mức độ [2]:


Cho biết là một con sâu máy tính hoặc một vi-rút không có mối đe dọa cho
các hệ thống như một con sâu hệ điều hành Windows tấn công một máy chủ Linux.


<group name=“syslog,sshd,”>

Bao gồm các nỗ lực để đăng nhập như một người sử dụng không rõ hoặc

<rule id=“100120” level=“5”>
</rule>
<rule id=“100121” level=“6”>
</rule>

Cấp 9: Lỗi từ nguồn không hợp lệ

không hợp lệ nguồn. Các tin nhắn có thể có sự liên quan đến bảo mật đặc biệt là nếu
lặp đi lặp lại. Chúng cũng bao gồm các lỗi liên quan đến các tài khoản admin hoặc
root.


</group>

Cấp 10: Lỗi phát sinh từ người dùng nhiều lần

Bao gồm nhiều mật khẩu sai, nhiều lần đăng nhập thất bại, Chúng có thể cho
OSSEC HIDS phân làm 15 cấp độ từ 0-15 thể hiện cấp độ nghiêm trọng của
các dữ kiện được cho là nguy hiểm.



Cấp 0: Bỏ qua, không có hành động

Sử dụng chủ yếu để tránh báo động giả. Những luật này được quét trước tất
cả những luật khác và bao gồm các sự kiện không có liên quan đến bảo mật.


Cấp 2: Hệ thống thông báo ưu tiên thấp

Hệ thống thông báo hoặc thông báo trạng thái không có liên quan đến bảo

biết là một cuộc tấn công, hoặc nó có thể là chỉ là một người sử dụng quên mật khẩu
của họ.


Cấp 12: Sự kiện quan trọng – cấp độ cao

Bao gồm các lỗi hoặc tin nhắn cảnh báo từ hệ thống, hạt nhân, …Chúng có
thể cho biết một cuộc tấn công chống lại một ứng dụng cụ thể nào đó.


Cấp 13: Lỗi bất thường (Quan trọng – cấp độ cao)

Các mẫu tấn công phổ biến như một cố gắng tràn bộ đệm, lịch sử truy nhập
lớn hơn so với bình thường, hoặc một chuỗi URL (Universal Resource Locator-

mật.


Cấp 3: Các sự kiện thành công / được xác thực


Các cố gắng đăng nhập thành công, các sự kiện được tường lửa cho phép,...


Cấp 4: Hệ thống lỗi ưu tiên thấp

Lỗi liên quan đến cấu hình sai hoặc các thiết bị, ứng dụng không sử dụng.
Chúng không có liên quan đến bảo mật và thường được tạo ra bởi các cài đặt mặc
định hoặc phần mềm thử nghiệm.


Cấp 5: Lỗi do người dùng tạo

Mật khẩu lỗi, các hành động bị từ chối, ... Các thông điệp này thường không
có bảo mật thích hợp.


Cấp 6: Các cuộc tấn công có liên quan thấp

Tham chiếu tới một tài nguyên mạng) lớn hơn so với bình thường.


Cấp 14: Sự kiện bảo mật (Quan trọng _ cấp độ cao)

Thông thường kết quả của mối tương quan của các quy tắc tấn công nhiều và
mang tính chất của một cuộc tấn công.


Cấp 15: Tấn công thành công

Khả năng báo động giả là rất thấp. Cấp bách cần xử lý gấp

Composite
Các quy tắc tổng hợp có nghĩa là phải phù hợp với sự kiện hiện tại với những
luật đã nhận được bởi các OSSEC HIDS. Các tùy chọn tần số quy định cụ thể bao
nhiêu lần một sự kiện / mẫu phải xảy ra trước khi quy tắc tạo ra một cảnh báo. Ví
dụ, bạn có thể tạo ra một quy tắc hỗn hợp, tạo ra một cảnh báo mức độ nghiêm


32

33

trọng cao hơn sau khi mật khẩu không thành công trong một khoảng thời gian 10

trong quá trình cho phép máy chủ cho giải pháp (VPN) mạng riêng ảo hoặc một giải

phút.

pháp điều khiển truy cập mạng (NAC). Tuy nhiên, một máy chủ được cấp trước đó
có thể được cách ly dựa trên hành vi vi phạm mới. Mục tiêu chung với một hành

2.2.4 Kiểm tra tính toàn vẹn của hệ thống và phát hiện rootkit

động kiểm dịch để chuyển hướng các máy chủ để một phân mạng con ở đó các dịch

Kiểm tra tính toàn vẹn là một phần tất yếu của tất cả các công nghệ HIDS và

vụ có sẵn để khắc phục vi phạm. Nếu một máy chủ không đáp ứng được yêu cầu

thường được thực hiện bằng cách so sánh checksum của tập tin so với checksum


bản vá lỗi, bản vá dành riêng một máy chủ trên mạng con kiểm dịch có thể có sẵn

của tập tin sau khi đã được chỉnh sửa. OSSEC HIDS kiểm tra những thay đổi trong

để cung cấp các bản vá lỗi. Sau khi nó được khắc phục, máy chủ có thể được phép

checksum MD5/SHA1 của các tập tin trong hệ thống và các khóa registry của

truy cập vào toàn bộ mạng. Mạng con kiểm duyệt cũng là một nguồn tài nguyên có

Windows. Các agent sẽ quét hệ thống định kỳ theo mỗi giờ hoặc theo khoảng thời

giá trị để điều tra sâu và kẻ tấn công tự động chống lại mạng của bạn. Honeypots có

gian do bạn chỉ định sau đó nó gửi checksum về máy chủ OSSEC. Máy chủ sẽ lưu

thể được cấu hình trên mạng con kiểm duyệt, mô phỏng các máy chủ của bạn, để

các checksum và tìm kiếm những thay đổi bằng cách so sánh những checksum mới

xem làm thế nào kẻ tấn công tương tác với các máy chủ. Thông tin này cung cấp

nhận với bản đã lưu . Một cảnh báo sẽ được gửi đi nếu có sự thay đổi.

công cụ có giá trị khi nó đến thời gian để điều chỉnh các quy tắc của các thiết bị bảo

Kiểm tra tính toàn vẹn cũng đảm bảo rằng các ứng dụng độc hại không thể

mật của bạn trên toàn mạng của bạn.



thay thế các file hệ thống quan trọng và sửa đổi bản sao. Các ứng dụng độc hại, khi

Biểu diễn lưu lượng : Hành động này chỉ hữu ích cho Worm, từ chối

cài đặt thường để lại dấu vết trên hệ thống bởi quá trình cài đặt. Các phần mềm độc

dịch vụ, từ chối dịch vụ phân tán (DdoS) kiểu tấn công mà không muốn ngăn chặn

hại thường cố gắng phá vỡ các hoạt động bình thường của hệ thống. Rootkit là ví dụ

hoàn toàn dịch vụ


điển hình của phần mềm độc hại hoạt động theo cách này. Rootkit thường được

Khóa tài khoản: hành động này được sử dụng nếu vi phạm có thể

thiết kế để sao chép các file thực thi của hệ thống

được quy cho một người dùng cụ thể nào đó mà quyền của người dùng đó dùng để

2.2.5 Phản ứng chủ động trong OSSEC

truy cập dịch vụ mạng hoặc truy cập một máy chủ có thể bị thu hồi bằng cách khóa

Phản ứng chủ động nhằm ngăn chặn và kiểm soát để tránh khỏi các tấn công.
Các vi phạm không chỉ là các dấu hiệu mang hình thức một cuộc tấn công, nó có thể
là hành động vi phạm chính sách hoặc đơn giản là một truy cập trái phép.
Các hành động phản ứng thường trong các trường hợp sau:



Ngăn chặn hoặc hủy bỏ trong tường lửa : Hành động này là cách đơn

giản nhất để từ chối truy cập tới máy chủ hoặc thiết bị. Tùy thuộc vào các thông tin
hành vi vi phạm, điều này có thể ngăn chặn một địa chỉ IP hoàn toàn hoặc có thể
ngăn chặn truy cập đến dịch vụ đặc biệt nào đó.


Đưa vào dạng cần kiểm duyệt: Đặc điểm của hành động này là hạn

chế truy cập một phân mạng được cô lập. Thông thường, điều này được thực hiện

hoặc vô hiệu hóa đăng nhập.
Cấu hình phản ứng chủ động
Cấu hình phản ứng chủ động được chia làm hai phần. Phần thứ nhất là cấu
hình những dòng lệnh mà chúng ta muốn thực thi. Phần thứ hai là kết hợp các dòng
lệnh với các luật hoặc các sự kiện.

2.2.5.1

Cấu hình các dòng lệnh

Trong cấu hình các dòng lệnh chúng ta cần tạo các dòng lệng mới được dùng
để phản ứng. Chúng ta có thể có nhiều dòng lệnh nếu muốn. Mỗi một dòng lệnh
được đặt trong thẻ “command”
<command>

như ví dụ bên dưới: [2]



34

<name>The name (A-Za-Z0-9)</name>
<executable>The command to execute (A-Za-z0-9.-)</executable>

35

<timeout>Time to block</timeout>
</active-response>

<expect>Comma separated list of arguments (A-Za-z0-9)</expect>
<timeout_allowed>yes/no</timeout_allowed>
</command>



Thẻ disabled: Vô hiệu hóa phản ứng chủ động nếu được thiết lập là
“yes”.



Thẻ name: Dùng để liên kết dòng lệnh với phản ứng.



Thẻ executable: Phải là 1 tập tin có quyền thực thi trong thư mục
“/var/ossec/active-response/bin”. Chúng ta không cần phải cung cấp
chi tiết thư mục


2.2.5.2



Thẻ expect: Các đối số của lệnh .



Thẻ timeout_allowed: Chỉ định nếu lệnh nảy hỗ trợ thời gian chờ

Cấu hình phản ứng

Trong phần cấu hình phản ứng chủ động, Chúng ta cần kết hợp các dòng



Thẻ command: Được dùng để liên kết các phản ứng với dòng lệnh.



Thẻ location: Nơi dòng lệnh được thực thi. Ta có 4 chọn lựa:

-

local: đặt trên máy khách mà phát sinh ra sự kiện.

-

server: đặt trên máy chủ OSSEC


-

defined-agent: đặt trên một máy khách đặc biệt (khi sử dụng chọn lựa
này cần khai báo chỉ số định danh của máy khách)



Thẻ agent_id: Định danh của máy khách thực thi phản ứng



Thẻ level: Phản ứng sẽ thực thi trên bất cứ sự kiện nào với mức này
hoặc cao hơn.

lệnh đã được tạo với các sự kiện. Chúng ta có thể có nhiều phản ứng nếu muốn. Mỗi
phản ứng được khai báo bên trong thẻ “active-response”. Ví dụ :[2]
<active-response>
<disabled>Completely disables active response if "yes"</disabled>
<command>The name of any command already created</command>
<location>Location to execute the command</location>

<agent_id>ID of an agent (when using a defined agent) </agent_id>
<level>The lower level to execute it (0-9)</level>
<rules_id>Comma separated list of rules id (0-9)</rules_id>
<rules_group>Comma separated list of groups (A-Za-z0-9)</rules_group>

all: bất cứ nơi nào cũng được.




Thẻ timeout: Thời gian cho đến khi lệnh được thực thi ngược lại (ví
dụ là gỡ bỏ ngăn cấm địa chỉ mạng)


36

37

Chương 3

PHÂN HỆ MỞ RỘNG HỖ TRỢ QUẢN LÝ LUẬT VÀ
CHỨC NĂNG PHÁT HIỆN TẤN CÔNG DDOS DỰA
TRÊN MÃ NGUỒN MỞ OSSEC
Trong chương này luận văn trình bày cơ sở lý luận và thực tiễn là tiền đề
cho việc phát triển ứng dụng hệ thống quản lý luật tích hợp với mã nguồn mở
OSSEC nhằm mang lại công cụ quản trị thuận tiện cho người dùng. Bên cạnh
đó luận văn cũng phát triển một chức năng nhằm phát hiện sớm tấn công
DDOS để cảnh báo đến người quản trị và đưa ra hướng giải quyết nhằm ngăn
chặn tấn công DDOS.
Hình 3. Giao diện người dùng OSSEC
Hệ thống OSSEC được xây dựng bằng ngôn ngữ PHP và lưu trữ cơ sở dữ
liệu bằng MySQL, đó cũng là lợi thế rất nhiều cho việc phát triển thêm các chức

3.1 Hệ thống quản lý luật Công cụ mở rộng hỗ trợ quản lý luật cho
OSSEC ossec
3.1.1 Cơ sở lý luận và thực tiễn
Phát sinh từ nhu cầu thực tế của việc sử dụng hệ thống OSSEC trong quá
trình cài đặt hệ thống IDS đòi hỏi phải có nhiều kiến thức về hệ thống như khả năng
cấu hình lệnh trên hệ điều hành như Linux để cấu hình các thông số từ các máy cần
giám sát đến cấu hình trên máy chủ, công cụ quản lý theo dõi hệ thống cũng đơn

giản chỉ là thể hiện lịch sử truy nhập qua giao diện thô sơ và rất khó cho người quản
trị trong quá trình cập nhật, theo dõi hệ thống.

năng cần thiết cho hệ thống.
Bên cạnh đó, OSSEC có khả năng phản ứng động nhanh và hiệu quả sẽ giúp
cho việc xử lý tình huống kịp thời với các tấn công có hiệu lực cấp thì. Như chúng
ta đã biết, việc chống tấn công DDOS rất phức tạp, đã có rất nhiều hãng đã đưa ra
các giải pháp phần cứng cũng như phần mềm để giải quyết vấn đề, nhưng hiệu quả
của ngăn chặn tấn công phải tính toán nhằm ngăn chặn kịp thời và giảm thiểu ngăn
chặn cả những truy cập không phải với mục đích xấu, vì vậy ngăn chặn triệt để
dường như là bất khả thi. Vì vậy luận văn cũng nghiên cứu để dựa vào các luật của
OSSEC để xây dựng chức năng phát hiện tấn công DDOS nhằm cảnh báo cho
người quản trị tức bằng cách kết hợp với phản ứng nhanh của OSSEC thông qua các


38

39

giải thuật, ngoài ra cũng cần kiến thức của người quản trị để thiết lập các thông số
phù hợp với hệ thống cần kiểm soát, lúc đó sẽ có được kết quả tốt hơn.

3.1.2 Cách tiếp cận vấn đề
Để thực hiện mục tiêu như trên, kiến thức về hệ thống là rất quan trọng, do
đó tác giả phải xây dựng mô hình OSSEC trên thực tế để tìm hiểu rõ về hoạt động
và đặc biệt là những ưu điểm của hệ thống so với các hệ thống khác. Ngoài ra tác
giả cũng nghiên cứu các giải thuật phát hiện tấn công DDOS và chọn lựa giải thuật
để phát triển chức năng cho ứng dụng.
Máy chủ OSSEC
- Hệ điều hành Linux

- Cơ sở dữ liệu; MySQL
- Dịch vụ web; Apache
- Địa chỉ: 123.30.109.93

Máy khách cần giám sát
(Windows):
- Địa chỉ: 123.30.109.94

Máy khách cần giám sát
(Linux):
- Địa chỉ: 123.30.109.92

`

`

Hình 3. Mô hình triển khai OSSEC

3.1.3 Thiết kế cơ sở dữ liệu

Trong cơ sở dữ liệu trên, chức năng các table như sau:

Mô hình thiết kế cơ sở dữ liệu của phần mềm quản lý luật dựa trên ossec

Rule



Table Signature: lưu thông tin chi tiết của rule




Table Category : danh mục nhóm rule



Table Signature_Category_Mapping : liên kết giữa Rule và nhóm


40

41



Table Server : Lưu trữ thông tin các server ossec

Quản lý các agent



Table Location : thông tin log tương ứng với các agent, ví dụ 1 đoạn

Quản lý và phân quyền người dùng

log: (nixagent01) 123.30.109.192->/var/log/secure


Thống kê, báo cáo…


Table Data : Thông tin mô tả log, ví dụ: Mar 29 17:44:26 host2

sshd[4464]: Failed password for root from 203.162.100.19 port 1425 ssh2


Table Alert : chi tiết log của ossec

3.1.5 Giao diện của hệ thống chương trình quản lý luật



Table Agent : danh sách các Agent của Ossec

(chú ý chỉ dùng thống nhất một cách gọi là hệ thống quản lý luật thay cho



Table Admin : lưu thông tin người dùng của hệ thống

các từ “chương trình” “ứng dụng”)



Table IAD : Lưu trữ thông tin IP truy cập



Table Iid_Config : Lưu trữ các thông số của IP truy cập

3.1.4 Mô hình chức năng hoạt động

Phần mềm quản lý tương tác với Ossec là dạng ứng dụng web hoạt động dựa
trên cơ chế tương tác với dữ liệu của Ossec server.

Chương trình được viết bằng ngôn ngữ PHP và cơ sở dữ liệu My SQL. Trang
chính của chương trình sẽ thống kê thời gian thực về các cảnh báo của hệ thống để
người quản trị có thể theo dõi trực quan nhằm phát hiện nhanh chóng các lỗi hoặc
các tấn công.

Tất cả các thông tin log truy cập của người dùng được các ossec agent truyền
về cho ossec server và lưu trữ vào các table tương ứng với cơ sở dữ liệu đã trình bày
ở trên. Ứng dụng web sẽ tương tác với cơ sở dữ liệu này để phân tích, thống kê, báo
cáo…
Ngoài ra, ứng dụng quản lý sẽ tương tác với tất cả các rules được định nghĩa
sẵn của ossec cũng như là các rules mà người quản trị định nghĩa thêm thông qua
giao diện web của ứng dụng và lưu trữ vào các file rules theo định dạng xml mà
ossec server lưu trữ.
Các chức năng chính của ứng dụng bao gồm:
Quản lý log: hiển thị, tìm kiếm, lọc danh sách log theo nhiều tiêu chí khác
nhau…
Thống kê log dạng đồ thị trong vòng 15 ngày mới nhất
Quản lý rule: danh mục, danh sách rule, thêm mới, hiệu chỉnh, kiểm tra trùng
lắp rules…(để đảm bảo an toàn cho hệ thống, tính năng xóa rule sẽ rất hạn chế sử
dụng)

Hình 3.1: Giao diện bảng thông tin chính của ứng dụng


42

43


Để tiện cho người quản trị trong việc cập nhật, chỉnh sửa và theo dõi các luật,
chương trình có chức năng liệt kê các luật và người dùng có thể thêm xóa sửa các
luật một cách nhanh chóng.

Hình 3.2 : Danh sách luật của hệ thống
Hình 3.3: Giao diện chỉnh sửa, thêm mới luật


×