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

Tìm hiểu và nghiên cứu hệ thống phần mềm phát hiện và phòng chống xâm nhập

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 (3.11 MB, 60 trang )

Đồ án tốt nghiệp CNTT

005.8
TRƯỜNG ĐẠI HỌC VINH

KHOA CÔNG NGHỆ THÔNG TIN
--------------------------

NGUYỄN TÙNG LÂM

BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Tên đồ án:
Tìm hiểu và nghiên cứu hệ thống phần mềm phát hiện và phòng chống xâm
nhập

Nghệ An, tháng 12 năm 2014

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT


Đồ án tốt nghiệp CNTT

LỜI CẢM ƠN
Sinh viên CNTT ngày nay phải không ngừng học hỏi, cập nhật những cái
mới và biết ứng dụng những kiến thức đã được học vào thực tiễn của cuộc sống. Đồ
án tốt nghiệp này chính là một trong những bước đầu tiên đi sâu vào tìm hiểu trong
lĩnh vực cơng nghệ thơng tin, trên cơ sở những kiến thức đã được học trong những
năm học vừa qua.
Để hoàn thành đợt thực tập tốt nghiệp này, ngoài sự cố gắng nỗ lực của bản
thân các thành viên trong nhóm là sự tận tình giúp đỡ và giảng dạy của các thầy, cô


giáo trong khoa CNTT Trường Đại Học Vinh.
Do thời gian và trình độ có hạn nên chắc chắn không tránh khỏi những sai
lầm, thiếu sót. Kính mong được sự đón nhận, ý kiến đóng góp của thầy cơ và các
bạn.
Chúng em xin chân thành cảm ơn Thầy giáo ThS. Lê Văn Thành đã hướng
dẫn tận tình và giúp đỡ chúng em trong quá trình làm đề tài. Xin kính chúc Thầy
giáo ThS. Lê Văn Thành cùng các thầy, cô giáo sức khỏe, thành công và tiếp tục
đạt nhiều thắng lợi trong nghiên cứu khoa học và sự nghiệp trồng người.

Nghệ An, ngày 15 tháng 12 năm 2014
SINH VIÊN THỰC HIỆN ĐỀ TÀI

Nguyễn Tùng Lâm

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT


Đồ án tốt nghiệp CNTT

MỤC LỤC
Trang
MỞ ĐẦU ....................................................................................................................1
CHƢƠNG I: TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP..........3
1.1. Tổng quan về các nguy cơ an ninh. ......................................................................3
1.1.1. Những kiểu tấn công nhằm vào điểm yếu của hệ thống. ..................................3
1.1.2. Vấn đề bảo mật hệ thống mạng. ........................................................................3
1.2. Tổng quan về hệ thống phát hiện và phòng chống xâm nhập. .............................4
1.2.1. Định nghĩa. ........................................................................................................4
1.2.2. Vai trò của hệ thống phát hiện xâm nhập IDPS. ...............................................5
1.2.3. Những ưu điểm và hạn chế của hệ thống. .........................................................6

1.2.4. Kiếm trúc chung của hệ thống phát hiện xâm nhập. .........................................6
CHƢƠNG II: HỆ THỐNG PHẦN MỀM PHÁT HIỆN XÂM NHẬP SNORT16
2.1. Tổng quan về Snort. ...........................................................................................16
2.1.1. Khái niệm. .......................................................................................................16
2.1.2. Các đặc tính. ....................................................................................................16
2.2. Các thành phần của Snort. ..................................................................................17
2.2.1. Bộ phận giải mã gói. .......................................................................................18
2.2.2. Bộ phận xử lí trước. ........................................................................................18
2.2.3. Bộ phận phát hiện............................................................................................19
2.2.4. Hệ thống ghi và cảnh báo. ...............................................................................20
2.2.5. Bộ phận đầu ra. ...............................................................................................20
2.3. Các chế độ làm việc của Snort. ..........................................................................21
2.3.1. Chế độ “lắng nghe” mạng. ............................................................................21
2.3.2. Chế độ phát hiện xâm nhập mạng. ..................................................................23
2.4. Làm việc với tập luật của Snort. ........................................................................24
2.4.1. Luật dở đầu tiên: ............................................................................................25
2.4.2. Cấu trúc chung của luật trong Snort................................................................25
CHƢƠNG III:TRIỂN KHAI SNORT BẢO VỆ HÊ THỐNG MẠNG..............35
3.1. Tiêu chí triển khai. .............................................................................................35
3.2 Chọn một hệ điều hành .......................................................................................35
3.3 Xây dựng snort bảo vệ hệ thống mạng................................................................36
3.3.1. Tham khảo một số mơ hình thực tế. ................................................................36

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT


Đồ án tốt nghiệp CNTT
3.3.2. Xây dựng mơ hình ...........................................................................................38
3.4 Cài đặt và cấu hình Snort-2.8.4.1 trên CentOS 6.5 .............................................39
3.4.1 Cài đặt snort .....................................................................................................39

3.4.2. Cài đặt tập rule cho SNORT ...........................................................................44
3.4.3. Cấu hình snort .................................................................................................45
3.4.4. Tạo CSDL snort với MySQL ..........................................................................47
3.4.5. Cài đặt BASE và ADODB ..............................................................................49
3.4.6. Mơ phỏng tình huống ......................................................................................52
KẾT LUẬN ..............................................................................................................55
TÀI LIỆU THAM KHẢO ......................................................................................56

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT


Đồ án tốt nghiệp CNTT

MỞ ĐẦU
Với nhu cầu trao đổi thông tin, bắt buộc các cơ quan, tổ chức phải hịa mình
vào mạng tồn cầu Internet. An tồn và bảo mật thông tin là một trong những vấn
đề quan trọng hàng đầu, khi thực hiện kết nối mạng nội bộ của các cơ quan, doanh
nghiệp, tổ chức với Internet. Ngày nay, các biện pháp an tồn thơng tin cho máy
tính cá nhân cũng như các mạng nội bộ đã được nghiên cứu và triển khai. Tuy
nhiên, vẫn thường xuyên có các mạng bị tấn cơng, có các tổ chức bị đánh cắp thông
tin, …gây nên những hậu quả vô cùng nghiêm trọng.
Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet,
các máy tính của các công ty lớn như Microsoft, IBM, các trường đại học và các cơ
quan nhà nước, các tổ chức quân sự, nhà băng, …một số vụ tấn công với quy mơ
khổng lồ (có tới 100.000 máy tính bị tấn cơng). Hơn nữa những con số này chỉ là
phần nổi của tảng băng trôi. Một phần rất lớn các vụ tấn cơng khơng được thơng báo
vì nhiều lý do, trong đó có thể kể đến nỗi lo mất uy tín hoặc chỉ đơn giản những
người quản trị dự án không hề hay biết những vụ tấn công nhằm vào hệ thống của họ.
Không chỉ các vụ tấn công tăng lên nhanh chóng mà các phương pháp tấn
cơng cũng liên tục được hồn thiện. Điều đó một phần do các nhân viên quản trị hệ

thống ngày càng đề cao cảnh giác. Vì vậy việc kết nối vào mạng Internet mà khơng
có các biện pháp đảm bảo an ninh thì cũng được xem là tự sát.
Từ nhu cầu phát triển, đòi hỏi các cơ quan, tổ chức phải hịa mình vào mạng
tồn cầu, mạng Internet song vẫn phải đảm bảo an tồn thơng tin trong quá trình kết
nối. Bởi vậy, em đã quyết định chọn đề tài”Tìm hiểu và nghiên cứu hệ thống
phần mềm phát hiện và phòng chống xâm nhập”, nhằm giám sát luồng thông tin
ra, vào và bảo vệ các hệ thống mạng khỏi sự tấn công từ Internet. Nội dung đề tài
này sẽ trình bày một cách khái quát về hệ thống phát hiện và phòng chống xâm
nhập(IDS&IPS), cách bảo vệ mạng bằng Snort, cách xây dựng Snort trên hệ thống
mã nguồn mở sao cho hệ thống vừa an toàn vừa tiết kiệm một cách tối đa.
Nội dung chính của đề tài gồm 3 chương như sau:

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

1


Đồ án tốt nghiệp CNTT
Chƣơng 1: Tổng quan về hệ thống phát hiện và phịng chống xâm nhập.
Chương này mơ tả khái niệm, vai trò và những ưu nhược điểm của hệ thống
phát hiện nhập, nghiên cứu mơ hình kiến trúc và hoạt động của hệ thống phát hiện
và phòng chống xâm nhập
Chƣơng 2: Cấu trúc snort, chức năng snort, luật snort.
Nghiên cứu về hệ thống Snort bao gồm: cấu trúc, các thành phần, chế độ làm
việc, tập luật của Snort.
Chƣơng 3: Triển khai snort trên một hệ thống mạng.
Phân tích và đánh giá hoạt động của Snort thơng qua mô phỏng một vài kiểu
tấn công mạng.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT


2


Đồ án tốt nghiệp CNTT
CHƢƠNG I
TỔNG QUAN VỀ HỆ THỐNG PHÁT HIỆN XÂM NHẬP
1.1. Tổng quan về các nguy cơ an ninh.
Ngày nay, nhu cầu trao đổi dữ liệu qua hệ thống mạng máy tính trở thành vơ
cùng quan trọng trong mọi hoạt động của xã hội. Vấn đề bảo đảm an ninh, an tồn
cho thơng tin trên mạng ngày càng là mối quan tâm hàng đầu của các công ty, các tổ
chức, các nhà cung cấp dịch vụ. Cùng với thời gian, các kỹ thuật tấn công ngày
càng tinh vi hơn khiến các hệ thống an ninh mạng trở nên mất hiệu quả. Các hệ
thống an ninh mạng truyền thống thuần túy dựa trên các tường lửa nhằm kiểm sốt
luồng thơng tin ra vào hệ thống mạng một cách cứng nhắc dựa trên các luật bảo vệ
cố định. Với kiểu phòng thủ này, các hệ thống an ninh sẽ bất lực trước kỹ thuật tấn
công mới, đặc biệt là các cuộc tấn công nhằm vào điểm yếu của hệ thống.
1.1.1. Những kiểu tấn công nhằm vào điểm yếu của hệ thống.
Có bốn kiểu tấn cơng đặc biệt là:
 Thăm dò.
 Truy cập.
 Từ chối dịch vụ (DoS).
 Ứng dụng web.
1.1.2. Vấn đề bảo mật hệ thống mạng.
Các vấn đề chung về bảo mật hệ thống mạng.
Đặc điểm chung của một hệ thống mạng là có nhiều người sử dụng chung và
phân tán về mặt địa lý nên việc bảo vệ tài nguyên (mất mát hoặc sử dụng không hợp
lệ) phức tạp hơn nhiều so với việc môi trường một máy tính đơn lẻ, hoặc một người
sử dụng.
Hoạt động của người quản trị hệ thống mạng phải đảm bảo các thông tin trên

mạng là tin cậy và sử dụng đúng mục đích, đối tượng đồng thời đảm bảo mạng hoạt
động ổn định không bị tấn công bởi những kẻ phá hoại.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

3


Đồ án tốt nghiệp CNTT
Nhưng trên thực tế là không một mạng nào đảm bảo là an toàn tuyệt đối, một
hệ thống dù được bảo vệ chắc chắn đến mức nào thì cũng có lúc bị vơ hiệu hóa bởi
những kẻ có ý đồ xấu.
1.2. Tổng quan về hệ thống phát hiện và phòng chống xâm nhập.
1.2.1. Định nghĩa.
a). Hệ thống phát hiện xâm nhập (Intrusion Detection System-IDS):
Kiểm soát tài nguyên và hoạt động của hệ thống hay mạng, sử dụng thông tin thu
thập được từ những nguồn này, thông báo cho những người có trách nhiệm khi nó
xác định được khả năng có sự xâm nhập. Nếu tường lửa đóng vai trị như nhân viên
bảo vệ cơ quan, kiểm tra mọi người đến và đi thì hệ thống kiểm tra xâm nhập giống
như có một mạng lưới cảm biến để thơng báo cho bạn biết khi có ai đó xâm nhập,
họ đang ở đâu và làm gì? Tường lửa "án ngữ" ở ngõ vào của mạng và chỉ làm việc
với những gói tin khi chúng đi vào và đi ra khỏi mạng. Một khi kẻ xâm nhập đã
vượt qua được tường lửa, người đó có thể tung hồnh tuỳ trên mạng. Ðó là lý do tại
sao hệ thống phát hiện xâm nhập có vai trị quan trọng.
Hệ thống phát hiện xâm nhập IDS là hệ thống phần mềm hay phần cứng tự
động thực hiện quy trình giám sát các sự kiện diễn ra trong hệ thống máy tính hay
mạng máy tính, phân tích để phát hiện ra những vấn đề an ninh cho hệ thống
b). Hệ thống phòng chống xâm nhập (Intrusion Prevention SystemIPS): Là một tiến trình giám sát các sự kiện xẩy ra trong một hệ thống hoặc mạng
máy tính và phân tích chúng để có thể tìm ra các dấu hiệu của sự việc bất thường,
đó là những sự vi phạm hay những đe dọa sắp xẩy ra vi phạm tới chính sách an ninh

máy tính, chính sách truy cập, hay hoạt động trái chính sách chuẩn. Những sự việc
bất thường đó do nhiều nguyên nhân như là:Malware (worms, spyware...), kẻ tấn
công đạt được sự truy cập trái phép vào hệ thống thông qua Internet, và những
người dùng hợp pháp lạm dụng quyền hay cố gắng thêm vào các quyền mà họ
không được phép. Mặc dù nhiều sự kiện là do bản chất, một số khác là khơng phải;
ví dụ: một người trong khi đánh sai địa chỉ của một máy tính và tình cờ thử kết nối
đến một hệ thống khơng được phép.
Hệ thống phịng chống xâm nhập IPS là một kỹ thuật an ninh mới, kết hợp
các ưu điểm của kỹ thuật tường lửa với hệ thống phát hiện xâm nhập IDS, có khả

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

4


Đồ án tốt nghiệp CNTT
nǎng phát hiện các cuộc tấn công và tự động ngăn chặn các cuộc tấn công cơng
nhằm vào điểm yếu của hệ thống
1.2.2. Vai trị của hệ thống phát hiện xâm nhập IDPS.
Hệ thống phát hiện xâm nhập IDS có các chức năng chính sau:
a). Phát hiện các nguy cơ tấn công và truy nhập an ninh trái phép. Đây
là vai trị chính của một hệ thống phát hiện xâm nhập IDPS, nó có nhiệm vụ xác
định những tấn công và truy nhập an ninh trái phép vào hệ thống mạng bên trong.
Hệ thống IDPS có khả năng hỗ trợ phát hiện các nguy cơ an ninh đe dọa mạng mà
các hệ thống khác(như bức tường lửa) khơng có khả năng phát hiện, kết hợp với hệ
thống ngăn chặn xâm nhập IDPS giúp cho hệ thống chặn đứng, hạn chế các cuộc
tấn công, xâm nhập từ bên ngồi.
b). Tăng khả năng hiểu biết về những gì đang hoạt động trên mạng.
IDPS cung cấp khả năng giám sát xâm nhập và khả năng mô tả an ninh để cung cấp
kiến thức tổng hợp về những gì đang chạy trên mạng từ góc độ ứng dụng cũng như

góc độ mạng cùng với khả năng liên kết với phân tích, điều tra an ninh nhằm đưa ra
các thơng tin về hệ thống nhờ đó giúp người quản trị nắm bắt và hiểu rõ những gì
đang diễn ra trên mạng.
c). Khả năng cảnh báo và hỗ trợ ngăn chặn tấn cơng. IDPS có thể hoạt
động trong các chế độ làm việc của một thiết bị giám sát thụ động (sniffer mode) hỗ
trợ cho các thiết bị giám sát chủ động hay như là một thiết bị ngăn chặn chủ động
(khả năng loại bỏ lưu lượng khả nghi). IDPS sẽ hỗ trợ cho các hệ thống an ninh đưa
ra các quyết định về lưu lượng dựa trên địa chỉ IP hoặc cổng của nguồn thơng tin
cũng như là đặc tính của tấn cơng ví dụ như mẫu tấn cơng hoặc bất thường về giao
thức hoặc lưu lượng tương tác đến từ những máy chủ khơng hợp lệ. IDS cịn có thể
cảnh báo và ghi chép các biến cố cũng như thực hiện bắt giữ gói lưu lượng khi phát
hiện tấn cơng để cung cấp cho nhà quản trị mạng các thông tin để phân tích và điều
tra các biến cố. Ngay sau khi các phép phân tích và điều tra được thực hiện, một
quy tắc loại bỏ lưu lượng sẽ được đưa ra dựa trên kết quả phân tích, điều tra đó.
Chính tổ hợp của những thuộc tính và khả năng này cung cấp cho nhà quản trị mạng
khả năng tích hợp IDPS vào mạng và tăng cường an ninh đến một mức độ mà trước
đây không thể đạt đến bằng các biện pháp đơn lẻ như bức tường lửa.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

5


Đồ án tốt nghiệp CNTT
1.2.3. Những ƣu điểm và hạn chế của hệ thống.
a). Ƣu điểm.
Có khả năng phát hiện và phịng chống các cuộc tấn cơng, xâm nhập từ bên
trong cũng như bên ngồi hệ thống.
Những thơng tin hệ thống IDPS cung cấp sẽ giúp chúng ta xác định phương
thức, và kiểu loại tấn cơng, xâm nhập từ đó giúp cho việc đề ra các phương án

phòng chống các kiểu tấn công tương tự xảy ra trong tương lai
b). Hạn chế.
Bên cạnh những ưu điểm, hệ thống phát hiện xâm nhập IDS vẫn còn tồn tại
những mặt hạn chế: Hệ thống IDPS là một hệ thống giám sát thụ động, cơ chế ngăn
chặn các cuộc tấn công, xâm nhập trái phép rất hạn chế như gửi tin báo cho tường
lửa để chặn các gói lưu lượng kế tiếp xuất phát từ địa chỉ IP của nguồn tấn công. Do
vậy, hệ thống IDPS thường đi kèm với hệ thống bức tường lửa. Phần lớn, hệ thống
IDPS sẽ đưa ra các cảnh báo khi các cuộc tấn công, xâm nhập đã ảnh hưởng tới hệ
thống do đó sẽ khơng hiệu quả trong việc ngăn chặn các cuộc tấn công.
1.2.4. Kiếm trúc chung của hệ thống phát hiện xâm nhập.
a. Phân loại hệ thống phát hiện xâm nhập IDPS.
Hệ thống phát hiện xâm nhập có thể được chia làm hai loại chính sau đây:Hệ
thống phát hiện xâm nhập trên máy trạm, hệ thống phát hiện xâm nhập trên mạng.
i. Hệ thống phát hiện và phát hiện và phòng chống xâm nhập trên máy
trạm(Host-based Instrusion Detection System-HIDS).

Hình 1: Hệ thống phát hiện xâm nhập dựa máy trạm.
Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

6


Đồ án tốt nghiệp CNTT
Hệ thống HIDS thực hiện thu thập các thơng tin từ một hệ thống máy tính
riêng biệt, từ đó thực hiện phân tích các hoạt động diễn ra trên máy trạm.
Ưu điểm của HIDS là có khả năng giám sát các tiến trình của hệ điều hành
chạy trên máy trạm và bảo vệ các nguồn tài nguyên quan trọng của hệ thống như
một số tệp dữ liệu cực kỳ quan trọng chỉ lưu trên một số máy trạm.
ii. Hệ thống phát hiện xâm nhập trên mạng (Network–based Instrusion
Detection System–NIDS).

NIDS sử dụng, triển khai các thiết bị theo dõi được gọi là bộ cảm ứng
(Sensor) để giám sát các lưu lượng và hoạt động trong một khu vực mạng. Các bộ
cảm ứng này sẽ kiểm tra các gói tin và nội dung bên trong nó để xác định sự tấn
cơng

Hình 2: Hệ thống phát hiện xâm nhập trên mạng.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

7


Đồ án tốt nghiệp CNTT
iii. So sánh giữa hệ thống HIDS và NIDS.
NIDS

HIDS

Áp dụng trong phạm vi rộng (theo dõi Áp dụng trong phạm vi một máy trạm
toàn bộ hoạt động của mạng)
Phát hiện tốt những tấn công, xâm Phát hiện tốt những tấn cơng, xâm
nhập từ bên ngồi

nhập từ bên trong.

Phát hiện dựa trên các dữ liệu, thông Phát hiện dựa trên thông tin, dữ liệu
tin thu thập trong toàn bộ mạng

trên máy trạm


Độc lập với hệ điều hành

Phụ thuộc vào hệ điều hành trên máy
trạm

Tiết kiệm kinh phí khi triển khai

Yêu cầu chi phí cao

Dễ dàng cài đặt, triển khai

Phức tạp khi cài đặt, triển khai

Bảng 1: So sánh HIDS và NIDS.
b. Mơ hình, cấu trúc và hoạt động của hệ thống.
Một hệ thống phát hiện xâm nhập IDPS được xem là thành công nếu chúng
hội tụ được các yếu tố: thực hiện nhanh, chính xác, phân tích được toàn bộ lưu
lượng và đưa ra các cảnh báo chuẩn xác về các cuộc tấn công và xâm nhập vào bên
trong hệ thống.
i. Mơ hình hệ thống phát hiện xâm nhập IDPS mức vật lý.

Hình 3: Mơ hình IDPS mức vật lý.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

8


Đồ án tốt nghiệp CNTT
Hệ thống phát hiện xâm nhập mức vật lý bao gồm ba thành phần chính sau

đây:
Bộ cảm ứng (Sensor): các sensor và agent sẽ theo dõi và hoạt động ghi lại.
Thuật ngữ sensor là tiêu biểu cho IDPS trong việc theo dõi mạng, bao gồm
network-base, wireless, và công nghệ NBA. Thuật ngữ agent sử dụng cho công
nghệ IDPS host-base.
Máy chủ lưu trữ dữ liệu trung tâm (Centralize database server): là thiết bị
trung tâm thu nhận thông tin từ Sensor hoặc Agent và quản lý chúng. Một số
Management Server thực hiện phân tích thơng tin do Sensor hoặc Agent cung cấp
và có thể xác định các sự kiện mà Sensor và Agent không phát hiện được. Làm cho
phù hợp các thông tin về sự kiện từ nhiều Sensor hoặc Agent, như là tìm ra sự nhiều
kiện gây ra bởi cùng một địa chỉ IP, biết đến như là sự tương quan. Management
servers có thể hoạt động cho cả thiết bị chuyên dụng cũng như các phần mềm. Một
số IDPS nhỏ không triển khai Management servers nhưng hầu hết các hệ thống
IDPS đều có. Trong các IDPS lớn thường triển khai nhiều Management servers,
trong một số trường hợp cịn có 2 lớp Management servers.
Giao diện người dùng (User Interface): là một chương trình cung cấp giao
diện cho người dùng hoặc người quản trị IDPS. Phần mềm console tiêu biểu được
cài đặt trên Desktop hoặc Laptop. Một số console chỉ dành riêng cho người quản trị,
như là cấu hình sensor hoặc agent, ứng dụng update các phần mềm, trong khi các
console khác hoàn toàn dành cho giám sát và phân tích. Một số console cung cấp cả
khả năng quản trị và giám sát.
Mơ hình trên cịn gọi là mơ hình 3 lớp, mơ hình này cung cấp cho nhà quản
trị mạng sự linh hoạt để truy cập vào hệ thống từ bất cứ đâu để thực hiện quản lý từ
xa. Máy chủ quản lý tập trung lưu giữ tất cả các bản ghi và thông tin trong một cơ
sở dữ liệu thuận tiện cho việc truy cập, quản lý. Các bản ghi, dữ liệu được thu thập
từ những bộ cảm biến độc lập được tập hợp lại nhằm phân tích, đánh giá để phát
hiện các nguy cơ đe dọa hệ thống từ bên ngoài.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT


9


Đồ án tốt nghiệp CNTT
ii. Cấu trúc và hoạt động bên trong hệ thống phát hiện xâm nhập IDS.

Hình 4: Hệ thống phát hiện xâm nhập IDS.
Hệ thống phát hiện xâm nhập bao gồm 3 modul chính:
Modul thu thập thơng tin, dữ liệu: Modul này có nhiệm vụ thu thập các gói
tin trên mạng để đem phân tích. Một vấn đề đặt ra trong thực tế là chúng ta cần triển
khai hệ thống phát hiện xâm nhập IDS ở vị trí nào trong mơ hình mạng của chúng
ta. Thơng thường chúng ta sẽ đặt IDS ở những nơi mà chúng ta cần giám sát. Có hai
mơ hình chính để thu thập dữ liệu đó là: mơ hình ngồi luồng và mơ hình trong
luồng. Phần tiếp theo dưới đây, chúng ta sẽ tìm hiểu chi tiết hai mơ hình triển khai
hệ thống IDS trong hệ thống mạng.
Mơ hình thu thập dữ liệu ngồi luồng. Trong mơ hình ngồi luồng khơng can
thiệp trực tiếp vào luồng dữ liệu. Luồng dữ liệu vào ra hệ thống mạng sẽ được sao
thành một bản và được chuyển tới modul thu thập dữ liệu . Với vị trí này, hệ thống
phát hiện xâm nhập IDS khơng làm ảnh hưởng tới tốc độ lưu thông của mạng.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

10


Đồ án tốt nghiệp CNTT

Hình 5: Mơ hình thu thập dữ liệu ngồi luồng.
Mơ hình thu thập dữ liệu trong luồng: Trong mơ hình này, hệ thống phát hiện
xâm nhập IDS được đặt trực tiếp vào luồng dữ liệu vào ra trong hệ thống mạng,

luồng dữ liệu phải đi qua hệ thống phát hiện xâm nhập IDS trước khi đi vào trong
mạng.

Hình 6: Mơ hình thu thập dữ liệu trong luồng.
Ưu điểm của mơ hình này, hệ thống phát hiện xâm nhập IDS nằm trên luồng
dữ liệu, nó trực tiếp kiểm soát luồng dữ liệu, đáp ứng được thời gian thực
(realtime). Tuy nhiên nó có nhược điểm là ảnh hưởng đáng kể đến tốc độ lưu thơng
của mạng.
Modul phân tích, phát hiện tấn công: Đây là modul quan trọng nhất trong hệ
thống có nhiệm vụ phát hiện các cuộc tấn cơng. Hệ thống phát hiện xâm nhập thực
hiện q trình phân tích dữ liệu trong modul này được chia thành các giai đoạn:
Tiền xử lý – Preprocessing.
Phân tích – Analysis.
Cảnh báo – Alter manager.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

11


Đồ án tốt nghiệp CNTT
Tiền xử lý – Preprocessing: Tiền xử lý là một chức năng quan trọng, một khi
dữ liệu được thu thập từ modul thu thập thông tin, dữ liệu. Trong bước này, dữ liệu
được sắp xếp theo từng phân loại, phân lớp. Giai đoạn này sẽ xác định định dạng
của của dữ liệu đưa vào. Khi dữ liệu được định dạng, chúng sẽ được chia nhỏ theo
từng phân loại. Ngồi ra, nó có thể tái định dạng gói tin (defragment), sắp xếp theo
chuỗi.
Phân tích – Analysis: Ngay sau khi quá trình tiền xử lý kết thúc, quá trình
phân tích sẽ bắt đầu diễn ra. Hiện nay, hệ thống phát hiện xâm nhập IDS dựa trên
hai phương pháp chính để phát hiện các cuộc tấn cơng, xâm nhập đó là:Phát hiện

dựa trên luật và phát hiện dựa trên bất thường.
Phát hiện dựa trên luật (Rule – Based Detection): Phát hiện dựa trên luật hay
còn gọi là phát hiện trên chữ ký, xét phù hợp mẫu hay phát hiện vi phạm, là phương
pháp đầu tiên sớm được sử dụng trong các hệ thống phát hiện xâm nhập. Phát hiện
dựa trên luật sử dụng so sánh mẫu để phát hiện các mẫu tấn cơng đã biết.
Ví dụ: để xác định xem có phải ai đó đang cố gắng đăng nhập vào một máy
chủ dưới danh nghĩa của một người sử dụng gốc (Root User), một hệ thống phát
hiện xâm nhập dựa trên luật sẽ phát cảnh báo bất cứ khi nào từ khóa “root” xuất
hiện trong luồng lưu lượng. Tuy nhiên nó có thể là một cảnh báo nhầm, để hạn chế
sự nhầm lẫn hệ thống sẽ chỉ tìm kiếm chuỗi ký tự “root” trong chuỗi ký tự đăng
nhập, và đó là một phương pháp phát hiện tấn cơng có độ chính xác cao. Một ví dụ
khác, chúng ta xem xét một kiểu tấn cơng Sendmail Wiz, đó là một dạng tấn công
cố gắng chiếm quyền truy nhập gốc đến máy chủ SMTP. Để thực hiện tấn công, kẻ
tấn công thiết lập một kết nối SMTP và gửi mẫu “wiz” trong kết nối điều khiển.
Một hệ thống phát hiện tấn công cần phải nhận dạng mẫu “wiz” để đưa ra cảnh báo.
Kiểu phát hiện này có ưu điểm là phát hiện các cuộc tấn cơng nhanh, chính
xác, khơng đưa ra các cảnh báo sai làm giảm khả năng hoạt động của hệ thống
mạng và giúp người quản trị xác định các lỗ hổng bảo mật trong hệ thống của mình.
Tuy nhiên, phương pháp này có nhược điểm là khơng phát hiện được các cuộc tấn
cơng, xâm nhập khơng có trong mẫu, các kiểu tấn công va xâm nhập mới do vậy hệ
thống luôn luôn phải cập nhật các mẫu mới.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

12


Đồ án tốt nghiệp CNTT
Phát hiện dựa trên bất thường (Anomaly Detection): Đây là kỹ thuật phát
hiện thông minh, kỹ thuật này giúp nhận dạng các hoạt động khơng bình thường của

mạng. Ban đầu, chúng lưu giữ các mô tả sơ lược các hoạt động bình thường của hệ
thống mạng. Các cuộc tấn công, xâm nhập sẽ gây ra các hoạt động bất thường và kỹ
thuật này sẽ nhận ra các bất thường đó. Một số kỹ thuật giúp thực hiện xác định sự
bất bình thường của hệ thống:
Phát hiện mức ngưỡng – (Threshold detection): Kỹ thuật này nhấn mạnh vào
việc đo đếm các hoạt động bình thường trên mạng. Các mức ngưỡng về các hoạt
động bình thường được thiết lập, khi có sự bất thường xảy ra như: đăng nhập vượt
quá số lần quy định, số lượng các tiến trình hoạt động trên máy chủ, số lượng một
loại gói tin vượt quá mức cho phép …. thì hệ thống có dấu hiệu bị tấn cơng hay bị
xâm nhập.
Phát hiện nhờ quá trình tự học – (Self Learning Detection): Kỹ thuật này bao
gồm hai bước, khi bắt đầu thiết lập, hệ thống phát hiện tấn công sẽ hoạt động ở chế
độ tự học và tạo ra một hồ sơ về cách cư xử của mạng với các hoạt động bình
thường. Sau thời gian khởi tạo, hệ thống sẽ hoạt động ở chế độ làm việc, tiến hành
theo dõi, phát hiện các hoạt động bất thường của mạng bằng cách so sánh với hồ sơ
đã thiết lập. Chế độ tự học có thể chạy song song với chế độ làm việc để cập nhật
hồ sơ của mình nhưng nếu dị ra có tín hiệu tấn cơng thì chế độ tự học phải dừng lại
cho tới khi cuộc tấn công kết thúc.
Phát hiện sự bất bình thường của các giao thức-(Anomaly Protocol
Detection): Kỹ thuật này căn cứ vào hoạt động của các giao thức, các dịch vụ của hệ
thống để phát hiện ra các gói tin khơng hợp lệ, tìm ra các giao thức mạng vi phạm
hay không đúng so với các giao thức chuẩn trong RFC, các hoạt động bất thường
vốn là dấu hiệu của sự xâm nhập hay tấn công. Kỹ thuật này rất hiệu quả trong việc
ngăn chặn các hình thức qt mạng, qt cổng để thu thập thơng tin của tin tặc.
Phương pháp phát hiện dựa trên bất thường của hệ thống rất hữu hiệu trong việc
phát hiện các cuộc tấn công kiểu từ chối dịch vụ (Denial of Service – DoS). Ưu
điểm của phương pháp này là có thể phát hiện ra các kiểu tấn cơng mới, cung cấp
các thơng tin hữu ích bổ sung cho phương pháp phát hiện dựa trên luật. Tuy nhiên,
phương pháp phát hiện dựa trên bất thường có nhược điểm thường tạo ra một số


Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

13


Đồ án tốt nghiệp CNTT
lượng cảnh báo sai làm giảm hiệu suất hoạt động của mạng. Phương pháp này sẽ là
hướng được nghiên cứu nhiều hơn trong tương lai nhằm khắc phục các nhược điểm
mắc phải, giảm số lần cảnh báo sai để hệ thống chạy chuẩn xác hơn.
Cảnh báo – (Manager Alter): Quá trình này thực hiện sinh ra các cảnh báo
tùy theo đặc điểm và loại tấn công, xâm nhập mà hệ thống phát hiện được.

Hình 7: Các phương thức cảnh báo.
Modul phản ứng: Đây là một điểm khác biệt giữa hệ thống phát hiện xâm
nhập IDS và một hệ thống ngăn chặn xâm nhập IPS. Đối với hệ thống IDS, chúng
thường chỉ có khả năng ngăn chặn rất hạn chế bởi vì chúng dựa trên cơ chế phản
ứng thụ động (passive response). Cơ chế phản ứng thụ động khơng thể ngăn chặn
được tổn thất vì nó chỉ được đưa ra sau khi mà tấn công đã ảnh hưởng tới hệ thống.
Khi có dấu hiệu của sự tấn công hoặc thâm nhập, modul phát hiện tấn công sẽ gửi
tín hiệu báo hiệu có sự tấn cơng hoặc thâm nhập đến modul phản ứng. Lúc đó
modul phản ứng gửi tín hiệu kích hoạt tường lửa thực hiện chức nǎng ngǎn chặn
cuộc tấn công hay cảnh báo tới người quản trị. Tại modul này, nếu chỉ đưa ra các
cảnh báo tới các người quản trị và dừng lại ở đó thì hệ thống này được gọi là hệ
thống phịng thủ bị động. Modul phản ứng này tùy theo hệ thống mà có các chức
nǎng và phương pháp ngǎn chặn khác nhau. Dưới đây là một số kỹ thuật ngǎn chặn:
Kết thúc tiến trình: Cơ chế của kỹ thuật này là hệ thống IDS gửi các gói tin
nhằm phá huỷ tiến trình bị nghi ngờ. Tuy nhiên phương pháp này có một số nhược

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT


14


Đồ án tốt nghiệp CNTT
điểm. Thời gian gửi gói tin can thiệp chậm hơn so với thời điểm tin tặc bắt đầu tấn
cơng, dẫn đến tình trạng tấn cơng xong rồi mới bắt đầu can thiệp. Phương pháp này
không hiệu quả với các giao thức hoạt động trên UDP như DNS, ngồi ra các gói tin
can thiệp phải có trường thứ tự đúng như các gói tin trong phiên làm việc của tiến
trình tấn cơng. Nếu tiến trình tấn cơng xảy ra nhanh thì rất khó thực hiện được
phương pháp này.
Huỷ bỏ tấn công: Kỹ thuật này dùng tường lửa để hủy bỏ gói tin hoặc chặn
đường một gói tin đơn, một phiên làm việc hoặc một luồng thông tin tấn cơng. Kiểu
phản ứng này là an tồn nhất nhưng lại có nhược điểm là dễ nhầm với các gói tin
hợp lệ.
Thay đổi các chính sách của tường lửa: Kỹ thuật này cho phép người quản trị
cấu hình lại chính sách bảo mật khi cuộc tấn công xảy ra. Sự cấu hình lại là tạm thời
thay đổi các chính sách điều khiển truy nhập bởi người dùng đặc biệt trong khi cảnh
báo tới người quản trị.
Cảnh báo thời gian thực: Gửi các cảnh báo thời gian thực đến người quản trị
để họ nắm được chi tiết các cuộc tấn công, các đặc điểm và thông tin về chúng.
Ghi lại vào tệp tin: Các dữ liệu của các gói tin sẽ được lưu trữ trong hệ thống
các tệp tin log. Mục đích để các người quản trị có thể theo dõi các luồng thông tin
và là nguồn thông tin giúp cho modul phát hiện tấn cơng hoạt động.

Hình 8: Một số phương pháp ngăn chặn tấn công.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

15



Đồ án tốt nghiệp CNTT
CHƢƠNG II
HỆ THỐNG PHẦN MỀM PHÁT HIỆN XÂM NHẬP SNORT
2.1. Tổng quan về Snort.
2.1.1. Khái niệm.
Snort là một hệ thống phát hiện xâm nhập mạng (NIDS) mã nguồn mở miễn
phí. NIDS là một kiểu của hệ thống phát hiện xâm nhập (IDS), được sử dụng để
quét dữ liệu di chuyển trên mạng. Cũng có các hệ thống phát hiện xâm nhập hostbased, được cài đặt trên một host cụ thể và chỉ để phát hiện các sự tấn cơng nhắm
đến host đó. Mặc dù tất cả các phương pháp phát hiện xâm nhập vẫn còn mới nhưng
Snort được đánh giá là hệ thống tốt nhất hiện nay.
2.1.2. Các đặc tính.
Nó hỗ trợ cho nhiều nhiều nền tảng hệ điều hành khác nhau như: Linux,
OpenBSD, Solaris, Window… Snort cung cấp một số đặc tính như:
Có khả năng phát hiện một số lượng lớn các kiểu thăn dò, xâm nhập khác
nhau như: buffer oveflow, CGI-Atack, Scan, ICMP, Virus…
Phát hiện nhanh các xâm nhập theo thời gian thực.
Cung cấp cho nhà quản trị các thông tin cần thiết để xử lý các sự cố khi bị
xâm nhập.
Giúp người quản trị tự đặt ra các dấu hiệu xâm nhập mới một cách dễ dàng.
Là phần mềm Open source và không tốn kém chi phí đầu tư.
Snort được xây dựng với mục đích thỏa mãn các tính năng cơ bản sau: Có hiệu
năng cao hơn, đơn giản và có tính uyển chuyển cao.

Hình 9: Sơ đồ khối của hệ thống cài đặt Snort.
Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

16



Đồ án tốt nghiệp CNTT
Sơ đồ khối của một hệ thống phát hiện xâm nhập bao gồm Snort, MySQL,
Apache, ACID, BASE, PHP, thư viện GD và PHPLOT. Theo hình trên, dữ liệu
được thu thập và phân tích bởi Snort. Sau đó, Snort lưu trữ dữ liệu trong cơ sở dữ
liệu MySQL bằng cách dùng output plug-in. Web server Apache với ACID, PHP,
thư viện GD và PHPLOT sẽ biểu diễn dữ liệu này trên trình duyệt khi một người
dùng kết nối đến server. Người dùng có tạo nhiều kiểu truy vấn khác nhau để phân
tích dữ liệu.
Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plug-in cũng tồn
tại để phát hiện sự bất thường trong các header của giao thức.
Snort sử dụng các luật được lưu trữ trong các file text, có thể được chỉnh sửa
bởi người quản trị. Các luật được nhóm thành các kiểu. Các luật thuộc về mỗi loại
được lưu trong các file khác nhau. File cấu hình chính của Snort là Snort.conf. Snort
đọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp các
luật để bắt giữ dữ liệu. Tìm ra các dấu hiệu và sử dụng chúng trong các luật là một
vấn đề đòi hỏi sự tinh tế, vì ta càng sử dụng nhiều luật thì năng lực xử lý càng được
địi hỏi để thu thập dữ liệu trong thực tế. Snort có một tập hợp các luật được định
nghĩa trước để phát hiện các hành động xâm nhập và ta cũng có thể thêm vào các
luật của chính ta. Ta cũng có thể xóa một vài luật đã được tạo trước để tránh việc
báo động sai.
2.2. Các thành phần của Snort.
Snort được chia thành nhiều thành phần. Những thành phần này làm việc với
nhau để phát hiện các cách tấn công cụ thể và tạo ra output theo một định dạng
được đòi hỏi. Một IDS dựa trên Snort bao gồm các thành phần chính sau đây:
Bộ phận giải mã gói (Packet Decoder).
Bộ phận xử lí trước (Preprocessor).
Bộ phận phát hiện (Dectection Engine).
Hệ thống ghi và cảnh báo (Logging và Alerting System).
Bộ phận đầu ra (Output Modules).


Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

17


Đồ án tốt nghiệp CNTT

Hình 10: Thành phần xử lý gói tin của snort.
2.2.1. Bộ phận giải mã gói.
Bộ phận giải mã gói lấy các gói từ các giao diện mạng khác nhau và chuẩn bị
cho việc gói tin được xử lí trước hoặc được gửi cho bộ phận phát hiện.
2.2.2. Bộ phận xử lí trƣớc.

Hình 11: Preprocessor của snort.
Bộ phận xử lí trước là những thành phần được sử dụng với Snort để sắp xếp
hoặc chỉnh sửa gói dữ liệu trước khi bộ phận phát hiện làm một vài xử lý để tìm ra
gói tin có được sử dụng bởi kẻ xâm nhập hay không. Một vài bộ phận xử lý trước

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

18


Đồ án tốt nghiệp CNTT
cũng thực thi việc phát hiện bằng cách tìm các dấu hiệu bất thường trong header của
gói tin và tạo ra các cảnh báo. Bộ phận xử lí trước là rất quan trọng trong bất kì IDS
nào, chúng chuẩn bị cho các gói dữ liệu được phân tích dựa trên các luật trong bộ
phận phát hiện. Kẻ tấn công sử dụng nhiều kĩ thuật khác nhau để lừa IDS theo nhiều
cách. Bộ phận xử lí trước cũng được sử dụng để tái hợp các gói tin. Trên IDS, trước
khi áp dụng bất kì luật nào, bạn phải tái hợp các gói tin lại để tìm ra các dấu hiệu.

Bộ phận xử lí trước trong Snort có thể tái hợp các gói tin, giải mã HTTP URI, ráp
lại các dòng TCP, v.v... Những chức năng này rất quan trọng trong hệ thống phát
hiện xâm nhập.
2.2.3. Bộ phận phát hiện.

Hình 12: Dectection Engine của snort.
Đây là phần quan trọng nhất của Snort. Trách nhiệm của nó là phát hiện có sự xâm
nhập tồn tại trong gói tin hay không. Bộ phận phát hiện sử dụng các luật của Snort
cho mục đích này. Nếu một gói tin khơng giống với bất kì gói tin bình thường nào
thì một hành động tương ứng sẽ được thực hiện. Những gói tin có dấu hiện bất
thường bị phát hiện, hành động phát hiện được mô tả băng những biểu thức bao
gồm các toán tử và các toán hang hay so sánh dùng để nhận dạng ra xâm nhập.

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

19


Đồ án tốt nghiệp CNTT
2.2.4. Hệ thống ghi và cảnh báo.

Hình 13: Logging và Alerting System của snort.
Phụ thuộc những đặc tính mà bộ phận phát hiện tìm thấy trong gói tin, gói
tin có thể được sử dụng để ghi lại các hành vi hoặc tạo ra một cảnh báo. Các thông
tin ghi lại được giữ trong các file text đơn giản hoặc các dạng khác.
Bộ phận này rất quan trọng nó khơng chỉ đảm nhận nhiệm vụ. Mà cịn có thể
cho chúng ta xem được các hành vi khi sự kiện được ghi lại, từ đó có thể để ý và
thấy sự bất thường ở những lần kế tiếp. Bộ phận này giúp ích cho những người làm
quản trị.
2.2.5. Bộ phận đầu ra.

Module đầu ra hoặc plug-in có thể hoạt động theo nhiều cách phụ thuộc vào
việc bạn muốn lưu các output được tạo ra bằng hệ thống ghi và tạo cảnh báo như
thế nào.
Tuỳ thuộc vào cấu hình, Output Modules có thể làm việc giống như:
Ghi nhật ký vào file /var/log/Snort/alerts.
Gửi ra SNMP traps.
Ghi vào cơ sở dữ liệu giống như MySQL or Oracle ....

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

20


Đồ án tốt nghiệp CNTT
2.3. Các chế độ làm việc của Snort.
2.3.1. Chế độ “lắng nghe” mạng.

Hình 14: Tính năng sniffer.
Các công cụ sniffer mạng như tcpdump, ethereal, và Tethereal có đầy đủ các
đặc tính và phân tích gói tin một cách xuất sắc, tuy nhiên, có lúc ta cần xem lưu
lượng mạng trên bộ cảm biến Snort. Trong trường hợp này, sử dụng Snort như là
một sniffer là khả thi. Kết quả xuất của chế độ Snort sniffer hơi khác so với các
sniffer dịng lệnh. Nó rất dễ để đọc và ta có thể thấy thích khả năng bắt giữ gói tin
nhanh của nó. Một đặc tính hay của chế độ này là việc tóm tắt lưu lượng mạng khi
kết thúc việc bắt giữ gói tin. Thỉnh thoảng, nó có thể là một cơng cụ gỡ rối hữu
dụng cho nhà quản trị.
Bật chế độ sniffer cho Snort bằng cờ -v:
# Snort –v
Trong lúc khởi động, Snort hiển thị chế độ, thư mục ghi log, và các giao diện
mà nó đang lắng nghe. Khi việc khởi động hoàn tất, Snort bắt đầu xuất các gói tin ra

màn hình. Kết quả xuất này khá cơ bản: nó chỉ hiển thị các header
IP,TCP/UDP/ICMP và một số cái khác. Để thoát chế độ sniffer, sử dụng Ctrl-C.
Snort thoát bằng cách tạo ra một bản tóm tắt các gói tin được bắt giữ, bao gồm các
giao thức, thống kê phân mảnh và tái hợp gói tin. Để xem dữ liệu ứng dụng, sử
dụng cờ -d. Tùy chọn này cung cấp các kết quả chi tiết hơn:
# Snort –vd
Dữ liệu ứng dụng có thể thấy được và ta có thể nhìn thấy các plain text trong
gói tin. Trong trường hợp này, văn bản gửi từ một server DNS được thể hiện dưới

Sinh viên thực hiện: Nguyễn Tùng Lâm. Lớp 51k2_CNTT

21


×