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

Hiện thực hệ thống phát hiện xâm nhập mạng bằng sự kết hợp linh động giữa phần cứng và phần mềm

58 18 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

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

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

Nội dung

TÊN ĐỀ TÀI: Hiện thực hệ thống phát hiện xâm nhập mạng bằng sự kết hợp linh động giữa phần cứng và phần mềm II.. Qua quá trình nghiên cứu phát hiện xâm nhập mạng bằng phần cứng và phần

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA 

CỘNG HÒA XàHỘI CHỦ NGHĨA VIỆT NAM  Độc lập ‐ Tự do ‐ Hạnh phúc               

NHIỆM VỤ LUẬN VĂN THẠC SĨ

 

Họ tên học viên: Võ Bảo Hùng MSHV: 09070441 Ngày, tháng, năm sinh: 28/07/1983 Nơi sinh: Huế Chuyên ngành: Khoa học máy tính Mã số:

 

I TÊN ĐỀ TÀI:

Hiện thực hệ thống phát hiện xâm nhập mạng bằng sự kết hợp linh động giữa phần cứng và phần mềm

II NHIỆM VỤ VÀ NỘI DUNG:

‐ Tìm hiểu giải pháp phát hiện xâm nhập mạng bằng phần cứng và phần mềm

‐ Tìm hiểu chức năng của phần mềm Snort

‐ Tìm hiểu và sử dụng NetThread trên NetFPGA board

‐ Hiện thực phần mềm Snort chạy trên NetFPGA board

III NGÀY GIAO NHIỆM VỤ : 25/01/2011

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 30/12/2011

V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên):

Trang 3

Lời cảm ơn

Đầu tiên, cho tôi gởi lời cảm ơn chân thành đến TS.Trần Ngọc Thịnh và TS.Đinh Đức Anh Vũ, những người Thầy đã tận tình hướng dẫn tôi trong suốt quá trình Cao học cũng như tạo mọi điều kiện để tôi hoàn thành luận văn này

Bên cạnh đó, tôi cũng xin cảm ơn sự giúp đỡ nhiệt tình của bạn bè và đồng nghiệp ở phòng máy tính C5, công ty thiết kế Renesas và nhóm tác giả nghiên cứu NetThread ở trường đại học Toronto Sự hỗ trợ của các bạn đã tạo nguồn động lực lớn cho tôi trong quá trình hiện thực đề tài

Thành phố Hồ Chí Minh, tháng 11 năm 2011

Trang 4

Lời cam đoan

Tôi cam đoan rằng, ngoài những tài liệu tham khảo và các tài liệu khác đã chú thích đính kèm thì toàn bộ nội dung trong báo cáo này đều do tôi tự soạn thảo và chưa từng xuất hiện trong bất cứ tài liệu nào khác tính đến thời điểm trước khi công bố bản luận văn

Thành phố Hồ Chí Minh, tháng 1 năm 2012

Trang 5

TÓM TẮT LUẬN VĂN

Cùng với sự phát triển mạnh mẽ về tốc độ đường truyền Internet, vấn đề bảo mật trong hệ thống mạng ngày một trở nên quan trọng khi số lượng gói tin ra vào hệ thống tăng lên đáng kể

Qua quá trình nghiên cứu phát hiện xâm nhập mạng bằng phần cứng và phần mềm,

đề tài đề nghị một sự kết hợp của hai giải pháp trên nhằm đảm bảo các gói tin có thể xử lí

ở tốc độ cao cũng như giữ vững tính linh hoạt, uyển chuyển của hệ thống trước những yêu cầu thay đổi của người dùng

Trong quá trình hiện thực, đề tài lựa chọn NetFPGA board, multithread processor NetThread, hiện thực những chức năng chính của phần mềm Snort nhằm phát hiện các xâm nhập vào hệ thống

Trang 6

soft-Mục Lục nội dung

‐‐‐W X‐‐‐ 

Chuyên ngành: Khoa học máy tính i

LUẬN VĂN THẠC SĨ i

Phần 1 GIỚI THIỆU ĐỀ TÀI 2

1 Tổng quan 2

2 Mục tiêu của đề tài 3

3 Giới hạn của đề tài 4

4 Cấu trúc luận văn 4

Phần 2 Giải pháp cho hệ thống IDS và các nghiên cứu liên quan 6

1 Giải pháp phần mềm 6

1.1 OSSEC 6

1.1.1 Giới thiệu 6

1.1.2 Đặc điểm 6

1.2 SNORT 8

1.2.1 Giới thiệu 8

1.2.2 Đặc điểm 9

1.2.3 Phân loại 9

2 Giải pháp phần cứng 10

2.1 Network Processor 10

3 Các nghiên cứu về sự kết hợp giữa phần mềm và phần cứng 12

3.1 Hardware/Software cooperation 12

3.2 Hardware header 13

Phần 3 Mô hình đề nghị và các thành phần chính của hệ thống 15

1 Mô hình đề nghị 15

2 SNORT 17

2.1 Packet decoder 18

2.2 Tiền xử lí (Preprocessor) 19

2.3 Detection Engine 21

Trang 7

2.5 Output modules 21

3 NetFPGA 22

3.1 Giới thiệu 22

3.2 Thành phần chính 23

4 NetThread 23

4.1 MIPS architecture 24

4.2 Soft‐processor in FPGA 26

4.3 Đặc điểm của NetThread 26

Phần 4 HIỆN THỰC HỆ THỐNG 28

1 Giới thiệu hệ thống 28

a Sniffer mode 29

b Filter mode 30

c NIDS mode 32

2 Flow chart của hệ thống 33

3 Cấu trúc thư mục của hệ thống 34

4 Cách nạp chương trình snort_netthred 34

5 Một số hàm chính của hệ thống 35

a Hàm giao tiếp trên đường truyền mạng 35

b Hàm xử lí gói tin trong hệ thống 38

6 Mô hình mở rộng của hệ thống 40

Phần 5 Kết quả thực nghiệm và đánh giá hệ thống 42

1 Kết quả thực nghiệm 42

a Sniffer mode 43

b Filter mode 43

c NIDS mode 45

2 Đánh giá hệ thống 45

a Thay đổi số lượng threads trong quá trình hoạt động 45

b Thay đổi số lượng gói tin vào hệ thống 46

Phần 6 KẾT LUẬN 48

1 Tổng kết 48

2 Những đóng góp của đề tài 48

Trang 8

TÀI LIỆU THAM KHẢO 49

Trang 9

Mục lục hình

-o0o -

Hình  1. OSSEC – Host‐based Instrusion Detection System (HIDS) 7

Hình  2. SNORT – Network Instrusion Detection System (NIDS) 8

Hình  3. Mô hình Hardware/Software cooperation 13

Hình  4. Mô hình Hardware header 14

Hình  5. Mô hình điều khiển hệ thống NIDS 15

Hình  6. Snort – Packet Decoder 18

Hình  7. Snort – Preprocessor 19

Hình  8. NetFPGA 22

Hình  9. Thành phần của NetFPGA 23

Hình  10. MIPS architecture 25

Hình  11. Đánh giá soft‐processor trên FPGA 26

Hình  12. NetThread 27

Hình  13. Hiện thực hệ thống 28

Hình  14. Hoạt động cơ bản của hệ thống 28

Hình  15. Chế độ hoạt động ở Sniffer mode 29

Hình  16. Chế độ hoạt động ở Filter mode 30

Hình  17. Chế độ hoạt động ở NIDS mode 32

Hình  18. Flow chart của hệ thống 33

Hình  19. Mô hình mở rộng 1 40

Hình  20. Mô hình mở rộng 2 41

Hình  21. Kết quả chương trình ở hệ thống Sniffer mode 43

Hình  22. Hệ thống ở chế độ Filter mode (IP nguồn = 10.0.0.1) 44

Hình  23. Hệ thống ở chế độ Filter mode (UDP protocol) 44

Hình  24. Hệ thống ở chế độ NIDS mode trong tấn công ARP 45

Hình  25. Thời gian thực thi của hệ thống ở 3 chế độ hoạt động 47

Trang 10

Mục lục bảng

-o0o -

Bảng 1. Cấu trúc thư mục của hệ thống 34 

Bảng 2. Hàm xử lí gói tin trong hệ thống  38 

Bảng 3. Gói tin kiểm tra chức năng hệ thống  42 

Bảng 4. Hệ thống với sự thay đổi số thread thực thi chương trình  46 

Bảng 5. Hệ thống với sự thay đổi số lượng gói tin đầu vào 46 

Trang 11

Phần 1 GIỚI THIỆU ĐỀ TÀI

1 Tổng quan

Trong những năm gần đây, vấn đề an toàn trong hệ thống mạng (network security) ngày càng được quan tâm và phát triển Bức tường lửa (firewall) đã không còn hiệu quả trước những đợt tấn công tinh vi và phức tạp, do đó cần nhiều phương pháp khác để bảo vệ hệ thống mạng Hệ thống phát hiện xâm nhập (Intrusion Detection System – IDS) là những công cụ để theo dõi những sự kiện xảy ra trên hệ thống máy tính và hệ thống mạng, bên cạnh đó phát hiện những dấu hiệu bất thường có thể gây nguy hiểm cho hệ thống Hệ thống chống xâm nhập (Intrusion Prevention System – IPS) ngoài việc phát hiện bất thường còn có thể chủ động ngăn chặn những nguy hiểm mà hệ thống phát hiện được

Hệ thống phát hiện xâm nhập trên mạng (Network Intrusion Detection System – NIDS) thông qua việc theo dõi mạng nhận biết những cuộc tấn công từ chối dịch

vụ (DoS), quét cổng (port scan),… qua đó phát hiện được những sự nguy hiểm tấn công nguy hiểm vào hệ thống máy tính Hệ thống NIDS đọc tất cả những gói tin đầu vào, tìm kiếm những mẫu đáng ngờ đã được định nghĩa theo những luật (rule) trước đó SNORT được biết đến như là một trong những phần mềm mã nguồn mở nổi tiếng được sử dụng rộng rãi trong hệ thống NIDS

Cùng với sự phát triển và mở rộng hệ thống mạng, những yêu cầu được đặt ra cho NIDS ngày càng tăng Đã có nhiều kiến trúc và giải thuật được đề nghị nhằm tăng hiệu quả cho hệ thống Tuy nhiên tốc độ đường truyền mạng tăng một cách

Trang 12

đáng kể từ OC-48(2.4Gbs) lên đến OC-192(10Gbs) và dự kiến có thể đạt đến tốc

độ OC-763(40Gbs) Giải pháp phần mềm không thể xử lí hiệu quả khi chạy với tốc độ cao và kết quả là hệ thống sẽ không thể kiểm tra tất cả đường truyền trên mạng cũng như phát hiện ra những mối nguy hại cho hệ thống

Giải pháp phần cứng cũng được đưa ra và đạt được hiệu quả cao so với phần mềm Tuy nhiên giá thành trở nên rất cao khi hệ thống thiết kế một tập luật lớn (khoảng 100.000 luật) Ngoài ra khả năng mềm dẻo, linh hoạt của hệ thống trở nên thấp mỗi khi cần cập nhật những luật mới cần thiết cho hệ thống

Đề tài được xây dựng nhằm giải quyết những hạn chế nêu trên của hệ thống NIDS, đưa ra giải pháp xây dựng một hệ thống NIDS phù hợp với đường truyền mạng tốc độ cao, đồng thời đạt được các yêu cầu về hiệu quả và linh hoạt

2 Mục tiêu của đề tài

Mục tiêu của đề tài là xây dựng mô hình cho hệ thống NIDS bằng cách đề nghị một kiến trúc kết hợp giải pháp giữa phần cứng và phần mềm Hệ thống chạy trên NetFPGA board bao gồm các module được thiết kế bằng phần cứng trong việc so trùng chuỗi và phần mềm Snort chạy trên Multithread Soft-processor NetThread (đã được tích hợp trên NetFPGA) Việc hiện thực phần cứng và phần mềm trên cùng một board sẽ góp phần tăng tốc cũng như sự ổn định của hệ thống NIDS Bên cạnh đó, Soft-processor NetThread sẽ được phát huy được tính linh động, mềm dẻo của hệ thống trong việc thay đổi chương trình

Trang 13

Khả năng của hệ thống:

- Theo dõi hoạt động của đường truyền: đọc gói tin trên mạng, sau đó

hiển thị lên màn hình hoặc lưu trữ vào log file Hệ thống có chức năng lọc gói tin theo protocol tuỳ thuộc vào yêu cầu của người dùng

- Phát hiện những xâm nhập vào hệ thống: các truy cập trái phép; phát

hiện các loại virus, worm Những xâm nhập trái phép này sẽ được lưu trữ cũng như gởi cảnh báo đến nhà quản trị

3 Giới hạn của đề tài

Trong quá trình phát triển hệ thống, đề tài tập trung vào việc xây dựng kết nối giữa phần cứng và phần mềm, hiện thực phần mềm Snort chạy bằng NetThread trên NetFPGA board Hiện thực phần cứng trong việc so trùng chuỗi được nghiên cứu bởi những nhóm khác và không nằm trong phạm vi của đề tài này

4 Cấu trúc luận văn

Luận văn được tổ chức theo cấu trúc như sau:

Phần 2 mô tả những nghiên cứu phát hiện xâm nhập mạng bằng phần cứng và phần mềm Bên cạnh đó, một số mô hình kết hợp giữa phần cứng và phần mềm cũng được đưa ra thảo luận và phân tích

Trang 14

Ở phần 3, luận văn xây dựng mô hình cho hệ thống, đồng thời giải thích chức năng cơ bản của các thành phần chính Phần 4 mô tả chức năng và hiện thực của

hệ thống

Cuối cùng, phần 5 mô tả các tiêu chí đánh giá của hệ thống và phần 6 nêu lên một số kết luận khi thực hiện đề tài

 

Trang 15

Phần 2 Giải pháp cho hệ thống IDS và các nghiên cứu

OSSEC hỗ trợ công cụ phân tích mạnh, có thể phân tích log file từ nhiều thiết

bị với nhiều định dạng khác nhau: FTP server, mail server, database…

Ở hình 2.1: Trong hệ thống HIDS, việc phát hiện sự xâm nhập được cài đặt trên các máy, các máy sẽ được bảo vệ kĩ hơn cho dù có kết nối với hệ thống mạng hay không

1.1.2 Đặc điểm

- File integrity checking: Mục tiêu của các tấn công phổ biến vào máy tính là

thay đổi hệ thống bằng một cách nào đó File intergrity checking (hoặc FIM –

Trang 16

file integrity monitoring) phát hiện những sự thay đổi này và cảnh báo khi chúng xảy ra Những thay đổi có thể là một cuộc tấn công, sự sai sót của người dùng, thậm chí là sự điều khiển hệ thống của admin: mỗi một file, thư mục hay registry thay đổi đều có sự cảnh báo để bảo đảm an toàn cho hệ thống

- Log monitoring: Hệ điều hành, chương trình ứng dụng, các thiết bị trong hệ

thống mạng thông báo trạng thái của hệ thống chủ yếu dựa vào log file OSSEC làm nhiệm vụ tổng hợp và phân tích log file và sẽ cảnh báo người dùng khi có cuộc tấn công hoặc lỗi của hệ thống

Hình 1 OSSEC – Host-based Instrusion Detection System (HIDS)

Trang 17

1.2 SNORT

1.2.1 Giới thiệu

Snort là một hệ thống phát hiện và ngăn chặn xâm nhậm mạng (IDS/IPS) được

phát triển bởi sourcefire – một tổ chức phát triển bảo mật cả phần cứng lẫn phần mềm

Snort được đánh giá là một trong những hệ thống tốt nhất hiện nay với hàng triệu lượt

download và gần 400,000 thành viên đăng kí sử dụng Bằng sự kết hợp phát hiện xâm

nhập dựa trên các tín hiệu xâm nhập mạng cũng như các phát hiện bất thường trong

hệ thống, Snort thực sự đã trở thành một chuẩn thực tế cho IDS/IPS ([5],[7])

Hình 2 SNORT – Network Instrusion Detection System (NIDS)

Trang 18

1.2.2 Đặc điểm

- Snort sử dụng các luật được lưu trữ ở dạng file text, có thể được chỉnh sửa bởi nhà quản trị File cấu hình chính của Snort là snort.conf: Snort đọc những luật này lúc khởi tạo và xây dựng cấu trúc dữ liệu để bắt dữ liệu trên đường truyền

- Snort chủ yếu là một IDS dựa trên luật, tuy nhiên Snort vẫn hỗ trợ các

plug-in để phát hiện sự bất thường trong các header của giao thức

- Snort xây dựng 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 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 những file khác nhau Nhận ra các dấu hiệu và xây dựng các luật đòi hỏi sự tinh tế, nỗ lực trong việc thu thập dữ liệu trong thực tế Nhà quản trị có thể thêm một số luật dựa vào yêu cầu của hệ thống, cũng có thể xoá một vài luật đã tạo trước đó để tránh việc báo động sai

1.2.3 Phân loại

a Phân loại theo cách sử dụng

- Inline: khi ở chế độ Inline mode, Snort hoạt động như IPS (Intrusion

Prevention System): cho phép các luật có thể loại bỏ gói tin

- Passive: khi ở chế độ Passive mode, Snort hoạt động như IDS (Intrusion

Detection System): không thực hiện các luật loại bỏ gói tin

Trang 19

- Inline-test: Inline-test mode mô phỏng hoạt động Inline của Snort, cho

phép đánh giá hoạt động của inline nhưng không ảnh hưởng đến đường truyền Các luật loại bỏ gói tin chỉ được sử dụng dưới dạng cảnh báo

b Phân loại theo chế độ hoạt động

- Sniffer: được dùng để xem lưu lượng mạng bằng cách đọc các gói tin

trên đường truyền và hiển thị chúng lên màn hình Một trong những đặc tính hay của chế độ Sniffer là khả năng tóm tắt lưu lượng mạng khi bắt giữ các gói tin hay việc lưu trữ kết quả vào log file Thỉnh thoảng Snort sniffer là công cụ gỡ rối hữu dụng cho nhà quản trị

- NIDS: Snort là một công cụ chống xâm nhập tuyệt vời Ở chế độ NIDS,

Snort phân tích đường truyền dựa trên tập luật được định nghĩa bởi người dùng, sau đó thực hiện một số tác động dựa vào kết quả phân tích Chúng

ta sẽ tìm hiểu kĩ hơn về chế độ NIDS thông qua các thành phần chính của

Trang 20

trình được (như general purpose processor), góp phần cải thiện việc xử lí các gói thông tin một cách uyển chuyển và hiệu quả

Network processor được sử dụng rất nhiều trong sản xuất các thiết bị trong hệ thống mạng:

Router và switch

Firewall

Intrusion detection/prevention devices

Network monitoring system

Một số chức năng chủ yếu của Network processor:

Pattern matching: tìm kiếm mẫu bit hoặc byte cho trước trong packet

stream

Key lookup (address lookup): truy tìm thông tin trong cơ sở dữ liệu Từ

địa chỉ có được trên gói dữ liệu, network processor phải tìm kiếm thông tin về đường đi của gói dữ liệu trên một cách nhanh chóng

Computation: thao tác trên dữ liệu ở dạng bit

Control processing: liên lạc và quản lí giữa nhiều node khác nhau trong

hệ thống

Trang 21

3 Các nghiên cứu về sự kết hợp giữa phần mềm và phần cứng

Có hai dạng kết hợp giữa phần cứng và phần mềm trong hệ thống NIDS:

Hardware/Software cooperation và Hardware header

3.1 Hardware/Software cooperation

Hệ thống NIDS được chia làm 2 thành phần chính ([1],[2]):

packet classification: phân tích các gói dữ liệu đầu vào

payload matching: so trùng gói dữ liệu với tập luật được định nghĩa bởi

user để đưa ra hành động thích hợp cho hệ thống

Đã có nhiều nghiên cứu về packet classification và đạt được thành công nhất định Tuy nhiên, yêu cầu đặt ra payload matching ngày một tăng và trở thành vấn đề quan trọng trong việc ngăn chặn những cuộc tấn công do virus cũng như hacker

Hệ thống là sự tương tác giữa software và hardware: trong quá trình xử lí gói

dữ liệu, phần mềm (Snort) sẽ nhận và phân chia các gói dữ liệu trước Những công việc tốn thời gian CPU như so trùng chuỗi sẽ được chuyển xuống phần cứng nhằm tăng hiệu quả của hệ thống Một số giải thuật được sử dụng trong việc so trùng (Signature based)

Shift and compare

Aho-Corasick algorithm

Hashing memory

Cuckoo hashing

Trang 23

có thể chuyển cho hệ thống phần mềm những gói dữ liệu thông thường (với một xác suất nhỏ) Hệ thống phần mềm sẽ kiểm tra lại những gói dữ liệu ‘false possitive’ và loại bỏ những gói dữ liệu thông thường này

Sau khi driver đã làm nhiệm vụ tiền xử lí, các gói dữ liệu được cho là nguy hiểm sẽ được kiểm tra bởi Snort Các gói dữ liệu sẽ được đưa vào phần giải mã (decoder) Tại đây các thông tin ở mức liên kết được loại bỏ Tiếp theo Snort sẽ tiếp tục kiểm tra các gói dữ liệu dựa trên các tập luật (rules) và mẫu chữ kí (pattern or signature) của Snort

Khi phát hiện dữ liệu nghi ngờ, Snort sinh ra các cảnh báo như là “drop this packet” hay “log this packet”

Trang 24

Hình 5 Mô hình điều khiển hệ thống NIDS

Mô hình hệ thống NIDS dựa trên sự kết hợp giữa phần cứng và phần mềm Các module phần cứng hiện thực việc so trùng chuỗi nhằm đáp ứng đường truyền mạng với tốc độ cao Về mặt phần mềm, hệ thống sử dụng soft-processor NetThread thực thi chương trình Snort Hệ thống sẽ nhận các gói tin từ đường truyền mạng, thông qua

Trang 25

quá trình tiền xử lí, so trùng chuỗi, sau đó sẽ phát hiện những gói tin xâm nhập mạng

và gởi cảnh báo đến nhà quản trị

Ưu điểm của hệ thống:

Do chương trình Snort không cài đặt trên máy tính như các mô hình trước đây mà được thực thi trên NetFPGA thông qua soft-processor NetThread

Từ đó hệ thống NIDS xây dựng sẽ trở nên nhỏ gọn, di chuyển dễ dàng và

có thể thương mại hóa

Hệ thống kết hợp được khả năng tính toán của phần cứng cũng như sự linh động, uyển chuyển của phần mềm trên cùng một FPGA board: chức năng tổng quát sẽ hiện thực bằng phần mềm trong khi chức năng cần hiệu quả cao sẽ được hiện thực bằng phần cứng

Để kiểm tra lợi ích của một tính năng mới trong hệ thống, chúng ta có thể hiện thực chức năng bằng phần mềm trước do quá trình phát triển nhanh Sau đó, thông qua quá trình đánh giá sự hiệu quả, tốc độ đáp ứng chúng ta

sẽ quyết định việc hiện phần cứng hoặc phần mềm cho tính năng này

Những khó khăn trong quá trình hiện thực hệ thống:

Trong quá trình hiện thực, việc chọn lựa soft-processor được cần được cân nhắc kĩ lưỡng dựa trên những tính năng cũng như sự hỗ trợ trên

Trang 26

FPGA board NetThread được đánh giá cao do sử dụng kiến trúc MIPS, hiện thực đánh giá hiệu suất của pipeline stage trong quá trình phát triển processor Ngoài ra, NetThread còn có sự hỗ trợ tốt về tool trong việc biên dịch từ ngôn ngữ cấp cao (ngôn ngữ C) sang file thực thi, từ đó nhiều chương trình xử lí gói tin đã được phát triển trên NetThread

Bên cạnh đó, Snort là một hệ thống lớn (gần 100.000 code line với nhiều option tùy chọn), dẫn đến khó khăn trong quá trình lựa chọn những tính năng của Snort cài đặt trên NetThread Việc chọn lựa phải được dựa trên chức năng cần thiết cho hệ thống cùng với việc xem xét tài nguyên trên NetFPGA board

Cuối cùng, do chạy hoàn toàn trên nền FPGA, quá trình debug hệ thống trong giai đoạn đầu phát triển gặp phải một số trở ngại nhất định cho đến khi hệ thống dần đi vào sự ổn định

2 SNORT

Snort trong hệ thống được chia thành nhiều phần Những thành phần này phối hợp 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 NIDS dựa trên Snort bao gồm các thành phần chính sau đây:

Packet decoder

Preprocessor

Trang 27

Hình 6 Snort – Packet Decoder

Trang 28

2.2 Tiền xử lí (Preprocessor)

Quá trình Tiền xử lí nhằm mục đích “chuẩn hoá” đường truyền, đảm bảo các packet Snort đang theo dõi sẽ có cơ hội tốt nhất để so sánh với các tín hiệu nhận dạng (singnatures) mà Snort được trang bị Một chức năng khác trong quá trình tiền xử lí là tự phòng thủ Trong các cuộc tấn công, attacker có thể chia nhỏ gói tin tấn công hoặc dùng phương pháp tấn công ARP (Address Resolution Protocol) Chức năng frag2 và arpspoof của tiền xử lí có chức năng chính để chống lại các phương pháp này

arpspoof

Hình 7 Snort – Preprocessor

Trang 29

frag2: Khi một gói tin đi từ mạng này sang mạng khác, nó thường được

phân mảnh thành các gói tin nhỏ hơn (do mạng thứ 2 sẽ giới hạn kích thước của gói tin hơn mạng đầu tiên), sau đó các gói tin sẽ được sắp xếp lại khi đến nơi Một trong những phương pháp tấn công là tạo ra một dãy các gói tin nhỏ chỉ chứa vài byte của gói tin Ví dụ: luật của Snort đang dò tìm chuỗi “/users.pwd” trong các section của packet, một attacker có thể tạo ra 2 phân mảnh nhỏ: mảnh đầu tiên chứa “/user” và phân mảnh 2 chứa

“s.pwd” Các gói tin này sẽ không bị kích hoạt báo động do không vi phạm luật nào cả Tuy nhiên, frag2 của tiền xử lí sẽ tổng hợp phân mảnh

này và phát hiện sự ẩn dấu đó

arpspoof: arpspoof có chức năng phát hiện những tấn công mạng dựa

trên lỗ hổng của giao thức arp Trong quá trình truyền nhận trong mạng LAN, các máy tính cần phải biết địa chỉ MAC của các máy khác, việc trao đổi thông tin địa chỉ MAC thông qua giao thức ARP Kẻ tấn công có thể tạo một gói ARP giả báo cho máy tính A địa chỉ máy tính B tương ứng với địa chỉ MAC của mình Từ đó, khi máy tính A cần truyền nội dung đến máy tính B, dữ liệu đều được đi qua máy tính của kẻ tấn công

Để phòng chống việc tấn công ARP spoof, hệ thống cần phải có thông tin

về địa chỉ các máy tính trong mạng và địa chỉ MAC tương ứng Preprocessor sẽ đọc và so sánh những thông tin này trong gói tin ARP để phát hiện sự tấn công

Ngày đăng: 28/01/2021, 15:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Ryan Proudfoot, Kenneth Kent, Eric Aubanel, and Nan Chen, "Flexible Software-Hardware Network Intrusion Detection System", 2008 The 19th IEEE/IFIP International Symposium on Rapid System Prototyping Sách, tạp chí
Tiêu đề: Flexible Software-Hardware Network Intrusion Detection System
[2] Toshihiro KATASHITA, Yoshinori YAMAGUCHI, Atusi MAEDA, Kenji TODA, "FPGA- Based Intrusion Detection System for 10 Gigabit Ethernet", IEICE TRANS.INF.&SYST., VOL.E90-D, NO.12 DECEMBER 2007 Sách, tạp chí
Tiêu đề: FPGA-Based Intrusion Detection System for 10 Gigabit Ethernet
[3] Nicholas Weaver, Vern Paxson, and Jos`e M.Gonz`alez, "The shunt: and fpga-based accelerator for network intrusion prevention" In FPGA, pages 199-206, 2007 Sách, tạp chí
Tiêu đề: The shunt: and fpga-based accelerator for network intrusion prevention
[5] Intrusion Detection using Open Source Tools (Jack TIMOFTE - 2008) [6] SNORT homepage: www.snort.org Sách, tạp chí
Tiêu đề: Intrusion Detection using Open Source Tools
[8] LABRECQUE, M., JEFFREY, M., AND STEAFFAN, J.G. Application-specific signatures for transactional memory in soft processor. In Proc. of ArC (2010) Sách, tạp chí
Tiêu đề: Application-specific signatures for transactional memory in soft processor
[9] LABRECQUE, M., AND STEFFAN, J. G. Improving pipelined soft processors with multithreading. In Proc. of FPL ’07 (August 2007), pp. 210–215 Sách, tạp chí
Tiêu đề: Improving pipelined soft processors with multithreading
[10] LABRECQUE, M., AND STEFFAN, J. G. Fast critical sections via thread scheduling for FPGA-based multithreaded processors. In Proc. of 19th International Conference on Field Programmable Logic and Applications (FPL) (Prague, Czech Republic, Sept. 2009) Sách, tạp chí
Tiêu đề: Fast critical sections via thread scheduling for FPGA-based multithreaded processors
[12] LABRECQUE, M., AND STEFFAN, J. G. NetTM: Faster and easier synchronization for soft multicores via transactional memory. In International Symposium on Field-Programmable Gate Arrays (FPGA) (Monterey, Ca, US, February 2011) Sách, tạp chí
Tiêu đề: Faster and easier synchronization for soft multicores via transactional memory
[13] Prentice Hall, Intrusion Detection Systems with Snort, 2003 [14] Snort User manual 2.1 Sách, tạp chí
Tiêu đề: Intrusion Detection Systems with Snort
[11] LABRECQUE, M., AND STEFFAN, J. G. NetTM. http://www.netfpga.org/foswiki/bin/view/NetFPGA/OneGig/NetTM, February 2011 Link

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

TÀI LIỆU LIÊN QUAN

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

w