1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP

45 48 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

Tiêu đề Snort – Phát Hiện Xâm Nhập
Tác giả Nguyễn Mạnh Tâm - B17DCAT159, Trần Đức Nhân - B17DCAT136, Nguyễn Văn Kỳ - B17DCAT108, Nguyễn Văn Quang - B17DCAT148, Hoàng Đăng Khôi - B17DCAT107
Người hướng dẫn ThS. Hoàng Mạnh Thắng
Trường học Học viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kỹ Thuật Theo Dõi & Giám Sát Mạng
Thể loại Bài Tập Lớn
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 45
Dung lượng 2,81 MB

Cấu trúc

  • CHƯƠNG I: TÌM HIỂU VỀ IDS (7)
    • 1.1. Hệ thống IDS (7)
    • 1.2. Chức năng của IDS (8)
      • 1.2.1. Giám sát (8)
      • 1.2.2. Phân Tích (8)
      • 1.2.3. Bảo vệ và cảnh báo (8)
    • 1.3. Quy trình hoạt động của IDS (8)
      • 1.3.1. Quy trình (8)
      • 1.3.2. Phân loại IDS (9)
    • 1.4. Mô hình chung (12)
      • 1.4.1. Mô hình (12)
      • 1.4.2. Cơ chế hoạt động (13)
      • 1.4.3. Phát hiện bất thường (13)
      • 1.4.4. Phát hiện xâm nhập lạm dụng (14)
  • CHƯƠNG II: GIỚI THIỆU SNORT (16)
    • 2.1. Tổng quan về Snort (16)
    • 2.2. Các chế độ hoạt động của Snort (17)
      • 2.2.1. Sniffer mode (chế độ đánh hơi) (17)
      • 2.2.2. Packet logger mode (chế độ ghi log gói tin) (17)
      • 2.2.3. NIDS mode (Network Intrusion Detection System Mode) (18)
    • 2.3. Các thành phần của Snort (19)
      • 2.3.1. Packet Decoder (20)
      • 2.3.2. Preprocessor (20)
      • 2.3.3. Detection Engine (21)
      • 2.3.4. Logging and Alert System (22)
      • 2.3.5. Ouput (22)
    • 2.4. Rule (22)
      • 2.4.1. Tổng quan về Rule (22)
      • 2.4.2. Cấu trúc của Rule (23)
  • CHƯƠNG III: CÀI ĐẶT VÀ THỬ NGHIỆM (28)
    • 3.1. Cài đặt và cấu hình (28)
    • 3.2. Demo và thử nghiệm (31)
      • 3.2.1. Chuẩn bị (31)
      • 3.2.2. Tấn công ICMP FLOOD (33)
      • 3.2.3. Tấn công SYN FLOOD (37)
      • 3.2.4. Tấn công XSS (41)

Nội dung

TÌM HIỂU VỀ IDS

Hệ thống IDS

Hệ thống IDS (Intrusion Detection System) là một công cụ giám sát lưu lượng mạng, có thể được triển khai dưới dạng phần cứng hoặc phần mềm Hệ thống này có khả năng phát hiện các hoạt động đáng ngờ và hành động xâm nhập trái phép trong quá trình tấn công mạng, như FootPrinting, Scanning và Sniffer IDS cung cấp thông tin quan trọng và đưa ra cảnh báo cho hệ thống và quản trị viên, giúp bảo vệ an toàn cho mạng.

Hệ thống IDS thu thập và phân tích thông tin từ nhiều nguồn trong hệ thống bảo vệ, nhằm phát hiện xâm nhập trái phép và cung cấp cảnh báo phù hợp.

Các hệ thống IDS có thể được đặt trước hoặc sau tường lửa, tùy theo mục đích sử dụng

Hình 1: Các hệ thống phát hiện tấn công xâm nhập

Chức năng của IDS

Giám sát dữ liệu mạng là một phần quan trọng trong việc phát hiện và ngăn chặn các hoạt động khả nghi Điều này bao gồm việc theo dõi các thiết bị và dịch vụ mạng, cũng như giám sát tài nguyên của hệ thống để đảm bảo an toàn và hiệu suất tối ưu.

Hệ thống giám sát lưu lượng giúp quản trị mạng theo dõi lưu lượng trao đổi giữa các thiết bị mạng như Router, Switch và Server Hoạt động trong thời gian thực, hệ thống này cung cấp thông tin về lưu lượng giao tiếp và tình trạng hoạt động của CPU, RAM thông qua các đồ thị trực quan Nhờ đó, người quản trị mạng có thể phân tích hiệu suất và tình trạng hoạt động của các thiết bị trong hệ thống một cách dễ dàng và hiệu quả.

Phân tích các gói tin mà firewall cho phép là bước quan trọng trong việc phát hiện và ngăn chặn tấn công mạng Bằng cách tìm kiếm các dấu hiệu tấn công đã biết hoặc phân tích các sự kiện bất thường, hệ thống có thể chủ động ngăn chặn các cuộc tấn công trước khi chúng gây ra hậu quả nghiêm trọng cho mạng.

1.2.3 Bảo vệ và cảnh báo

Hệ thống báo động đóng vai trò quan trọng trong việc giám sát mạng, giúp nhà quản trị nắm bắt tình trạng hoạt động của hệ thống mạng một cách hiệu quả Việc theo dõi và báo cáo tình trạng mạng là cần thiết để đảm bảo sự ổn định và an toàn cho hạ tầng công nghệ thông tin.

Cảnh báo có thể được lưu trữ trong file log hoặc cơ sở dữ liệu để nhà quản trị mạng dễ dàng theo dõi Ngoài ra, cảnh báo cũng có thể hiển thị trên màn hình khi đăng nhập, gửi qua email, tin nhắn điện thoại và nhiều phương thức khác.

Quy trình hoạt động của IDS

Bước 1: một host tạo ra gói tin mạng

Bước 2: các cảm biến trong mạng đọc gói tin trong khoảng thời gian trước khi nó được gửi ra khỏi mạng cục bộ

Bước 3: chương trình phát hiện nằm trong bộ cảm biến kiểm tra xem các gói tin nào có dấu hiệu vi phạm hay không

Bước 4: khi giao diện lệnh điều khiển nhận được cảnh báo nó sẽ gửi thông báo cho một người hoặc một nhóm đã được chỉ định từ trước

Bước 5: phản hồi được khởi tạo theo quy định ứng với xâm nhập này

Bước 6: cảnh báo được lưu lại để tham khảo trong tương lai

Bước 7: một báo cáo chi tiết của các sự cố được tạo ra

Bước 8: cánh báo được so sánh với các dữ liệu khác để xác định xem đây có phải cuộc tấn côn hay không

Hệ thống phát hiện xâm nhập dựa trên mạng (NIDS) là một công cụ quan trọng trong việc bảo vệ an ninh mạng, hoạt động bằng cách kiểm tra các luồng dữ liệu và giám sát nhiều máy trạm NIDS kết nối với các Hub và Switch để bắt các gói tin, phân tích nội dung của chúng và từ đó đưa ra các cảnh báo về các hoạt động đáng ngờ trong mạng.

Hình 2: Ví trí của NIDS trong hệ thống

1.3.3 Ưu điểm, Nhược Điểm của NIDS

 Quản lý được cả một network segment (gồm nhiều host)

 Cài đặt và bảo trì đơn giản, không ảnh hưởng đến mạng

 Tránh DOS ảnh hưởng tới một host nào đó

 Có khả năng xác định lỗi ở tang Network

 Có thể sảy ra trường hợp báo động giả

 không thể phân tích dữ liệu được mã hóa (VD: SSH, SSL, …)

 NIDS đòi hỏi phải được cập nhật các singture mới nhất để thực sự an toàn

 Có độ trễ giữa thời điểm bị tấn công và thời điểm phát hiện báo động

 Hạn chế lớn nhất là giới hạn băng thông

Hệ thống phát hiện xâm nhập dựa trên máy chủ (HIDS) kiểm tra lưu lượng mạng đến máy trạm, bảo vệ máy trạm bằng cách ngăn chặn các gói tin nghi ngờ độc hại HIDS có khả năng theo dõi hoạt động đăng nhập, phát hiện các hành vi bất thường như dò tìm mật khẩu, leo thang đặc quyền và truy cập trái phép vào cơ sở dữ liệu Hệ thống này rất hiệu quả trong việc phát hiện người dùng truy cập sai tài nguyên, và nếu có hành vi không hợp pháp, HIDS sẽ nhanh chóng phát hiện và thu thập thông tin cần thiết.

Hình 3: Ví trí của HIDS trong hệ thống

1.3.4 Ưu điểm, Nhược Điểm của HIDS

 Có khả năng xác định user liên quan đến event

 Có khả năng phát hiện tấn công diễn ra trên một máy, NIDS thì không

 Có thể phân tích dữ liệu mã hóa

 Cung cấp các thông tin về host trong lúc cuộc tấn công diễn ra trên host này

 Thông tin từ HIDS là không đáng tin cậy ngay khi sự tấn công vào host này thành công

 Khi OS bị sập do tấn công, đồng thời HIDS cũng sập

 HIDS phải được thiết lâp trên từng host cần giám sát

 HIDS không có khả năng phát hiện các cuộc dò quét mạng (Nmap, Netcap,

 HIDS cần tài nguyên trên host để hoạt động

 HIDS có thể không hiệu quả khi bị DOS

Mô hình chung

Cấu trúc hệ thống IDS phụ thuộc vào kiểu phương pháp được sử dụng để phát

Cấu trúc hệ thống của IDS được xác định bởi phương pháp phát hiện xâm nhập được áp dụng, với các cơ chế xử lý đa dạng cho từng IDS Mô hình cấu trúc chung cho các hệ thống IDS sẽ phản ánh những yếu tố này.

Hình 4: Mô hình của hệ thống IDS

Cảm biến (sensor) đóng vai trò quan trọng trong việc phát hiện các sự kiện có thể đe dọa an ninh mạng Chúng thực hiện chức năng tiếp nhận và quét nội dung các gói tin trong mạng, so sánh với các mẫu có sẵn để nhận diện dấu hiệu tấn công.

Giao diệm (console) là bộ phận quan trọng giúp người quản trị tương tác, nhận lệnh để điều khiển hoạt động của Sensor và Engine, đồng thời thông báo về các cuộc tấn công.

Khối xử lý (engine) có chức năng ghi nhận tất cả các báo cáo từ các cảm biến về các sự kiện được phát hiện, lưu trữ chúng vào cơ sở dữ liệu Hệ thống này sử dụng các luật đã được định nghĩa để phân tích dữ liệu và từ đó đưa ra cảnh báo về các sự kiện an ninh cho hệ thống hoặc người quản trị.

Cơ chế hoạt động gồm hai cơ chế

 Phát hiện xâm nhập dựa trên các bất thường (Anomaly instrusion detection)

 Phát hiện xâm nhập dựa trên chữ ký hoặc phát hiện sự lạm dụng

(Signature-based / misuse instrusion detection)

Phương pháp này dựa trên giả thiết: các hành vi xâm nhập thường có quan hệ chặt chẽ với các hành vi bất thường

Quá trình xây dựng gồm hai giai đoạn:

Để xây dựng hồ sơ cho chế độ làm việc bình thường, cần tiến hành giám sát đối tượng trong điều kiện bình thường trong một khoảng thời gian đủ dài nhằm thu thập dữ liệu huấn luyện một cách hiệu quả.

 Giám sát hành vi hiện tại của hệ thống và cảnh báo nếu có khác biệt rõ nét giữa hành vi hiện tại và hồ sơ của đối tượng

 Phát hiện các cuộc tấn công biết trước

 Phát hiện các cuộc tấn công nội gián hoặc đánh cắp tài khoản dễ dàng

Hệ thống được thiết kế với các cấu hình tùy chỉnh, điều này khiến cho kẻ tấn công khó xác định chính xác hoạt động nào sẽ kích hoạt cảnh báo và hoạt động nào không.

 Phát hiện xâm nhập thông qua học máy

 Phương pháp phát hiện bất thường yêu cầu tập dữ liệu huấn luyện lớn

 Phát hiện bất thường tạo ra một số lượng lớn về cảnh báo sai đối với các hành vi chưa được dự đoán của người dung hay của mạng

 Tỷ lệ cảnh báo sai tương đối cao so với phương pháp dựa trên lam dụng

Các phương pháp phát hiện bất thường

 Máy trạng thái hữu hạn (Finite state machine)

 Kĩ thuật khai phá dữ liệu (data mining)

1.4.4 Phát hiện xâm nhập lạm dụng

Bằng cách so sánh dấu hiệu các đối tượng đang quan sát với các dấu hiệu các hình thức xâm nhập đã biết trước

Hệ thống phát hiện xâm nhập lạm dụng xác định sự xâm nhập bằng cách kết hợp các sự kiện thu thập được với các mẫu hoặc dấu hiệu của các cuộc tấn công.

 Có khả năng phát hiện tấn công, xâm nhập một cách hiệu quả

 Tốc độ cao, yêu cầu tài nguyên tính toán tương đối thấp

 Không có khả năng phát hiện tấn công, xâm nhập mới, do chữ ký của chúng chưa có trong cơ sở dữ liệu các chữ ký

 Đòi hỏi nhiều công thức xây dựng và cập nhật cớ sở dữ liệu chữ ký/dấu hiệu tấn công, xâm nhập

GIỚI THIỆU SNORT

Tổng quan về Snort

Snort là một hệ thống IDS/IPS dạng NIDS, được Martin Roesch nghiên cứu và phát triển từ năm 1998 Kể từ năm 2013, Cisco đã mua lại Snort và tiếp tục phát triển công cụ này Snort là phần mềm mã nguồn mở, miễn phí, có thể cài đặt trên nhiều hệ điều hành phổ biến như Linux/Unix, Ubuntu, MacOS và Windows Kiến trúc của Snort được thiết kế theo kiểu module, cho phép người dùng dễ dàng thêm hoặc viết mới các module Hiện tại, Snort sở hữu hàng nghìn rule và được cập nhật thường xuyên bởi cộng đồng người dùng đông đảo.

Việc xác định vị trí đặt các hệ thống IDS như Snort phụ thuộc vào cấu trúc mạng và loại hoạt động xâm nhập mà chúng ta muốn phát hiện.

- Nếu chúng ta muốn phát hiện các hoạt động xâm nhập từ bên ngoài và ta chỉ có 1 bộ định tuyến  đặt IDS ở trong Router hoặc FireWall

- Nếu chúng ta có nhiều đường dẫn đến Internet  Đặt IDS tại mỗi điểm vào

- Vừa phát hiện cả ở bên trong và bên ngoài  Đặt IDS tại mọi phân đoạn (network segment

Việc đặt nhiều IDS có thể dẫn đến chi phí cao và yêu cầu bảo trì phức tạp Do đó, số lượng và vị trí lắp đặt các IDS cần được xác định dựa trên mục đích sử dụng và chính sách của công ty.

Hình 5: Các vị trí điển hình để cài đặt Snort

Các chế độ hoạt động của Snort

2.2.1 Sniffer mode (chế độ đánh hơi) Đây là chế độ cơ bản nhất của mọi hệ thống NIDS Khi ở trong chế độ này, Snort sẽ phát hiện và hiển thị header của các gói tin: TCP, ICMP, UDP, IP, … Ra màn hình Chúng ta sử dụng lệnh: snort -v

Hiển thị thêm cả dữ liệu của người dùng: snort -vd

Hiển thị thêm cả header của lớp data link thì sử dụng tập lệnh: snort -vde

2.2.2 Packet logger mode (chế độ ghi log gói tin) Đây là chế độ làm việc mà Snort sẽ thực hiện ghi log lại các gói tin đã phát hiện được rồi sau đó lưu trữ lại trong kho lưu trữ log của Snort hoặc một ví trí lưu trữ khác mà người dùng cấu hình chỉ định Việc ghi log lại sẽ giúp cho chúng ta thực hiện theo dõi và truy vết sau này Snort sẽ tự động ghi lại log và lưu lại trong thư mục log (mặc định) khi chúng ta sử dụng lệnh sau: snort -dev -l/snort/log

là tên file log).

Sử dụng câu lệnh sau để thự hiện đọc lại file log đã được lưu: snort -r /snort/log/***.log (*** là tên file log)

2.2.3 NIDS mode (Network Intrusion Detection System Mode) Ở chế độ này, Snort không ghi lại từng gói tin đã bắt được như Sniffer mode Thay vào đó Snort áp dụng các quy tắc trên tất cả các gói được bắt Nếu một gói không khớp với bất kỳ quy tắc nào, gói tin đó sẽ bị loại bỏ (drop) và sẽ không thực hiện ghi lại log của gói này Khi sử dụng chế độ này trong Snort, chúng ta sẽ phải tùy chỉnh các cấu hình trong file snort.conf file này nằm trong folder etc của Snort File conf này sẽ chứa các các thông tin cấu hình về rule hoặc reference của Snort

Các thành phần của Snort

Bên trong Snort sẽ bao gồm module sau:

 Packet Decoder (giải mã gói tin)

 Detection Engine (công cụ phát hiện)

 Logging and Alerting System (ghi log và cảnh báo)

 Output Module (lưu trữ dữ liệu)

Hình 7: Thành phần của Snort

Khi các gói tin từ Internet đi vào hệ thống, chúng sẽ được xử lý qua nhiều module trong Snort Đầu tiên, gói tin sẽ được giải mã bởi module Packet Decoder Tiếp theo, các gói tin sẽ trải qua quá trình tiền xử lý tại module Preprocessors Sau khi hoàn tất, gói tin sẽ được kiểm tra bởi module Detection Engine, nơi mà quyết định về việc cho phép gói tin tiếp tục hay loại bỏ sẽ dựa vào cấu hình và các tập rule đã thiết lập Nếu gói tin được cho phép lưu thông, module Logging and Alerting System sẽ hiển thị cảnh báo và ghi log về các gói tin này Cuối cùng, module Output Module sẽ lưu trữ các cảnh báo đã được xác định.

Trước khi sử dụng Snort, chúng ta nên cài đặt các thư viện pcap để bắt mọi gói tin trên mạng lưu thông qua hệ thống

Hình 8: Thành phần của Snort

Mục tiêu của module này là xử lý dữ liệu trong các gói tin để hỗ trợ cho công cụ phát hiện (Detection Engine) Các nhiệm vụ chính của module bao gồm việc phân tích và xử lý thông tin để đảm bảo hiệu quả trong việc phát hiện các mối đe dọa.

Khi gửi một lượng dữ liệu lớn, thông tin không được đóng gói thành một gói tin duy nhất mà cần phải phân mảnh thành nhiều gói tin nhỏ hơn Snort, khi nhận các gói tin này, sẽ thực hiện quá trình ghép nối để tái tạo lại dữ liệu nguyên gốc.

Snort có các module tiền xử lý quan trọng giúp giải mã và chuẩn hóa giao thức, đảm bảo thông tin đầu vào được chỉnh sửa và sắp xếp hợp lý để phục vụ cho công cụ phát hiện (detection Engine) mà không bỏ sót thông tin nào Hiện tại, Snort hỗ trợ giải mã và chuẩn hóa cho nhiều giao thức mạng phổ biến như arp, rpc, http và telnet.

Module tiền xử lý phát hiện xâm nhập bất thường bằng cách so sánh các gói tin với các plug-in như RPC, HTTP và port scanning Các gói tin sẽ được kiểm tra hành vi để xác định xem có phù hợp với các hành vi đã được định nghĩa trong plug-in hay không Nếu gói tin khớp với hành vi đã nêu, chúng sẽ được chuyển đến module phát hiện để xử lý tiếp.

Module này phân tích các gói tin và so sánh với các dấu hiệu hoặc cấu hình trong các quy tắc đã được định nghĩa trước Dựa trên kết quả phân tích, module quyết định xem gói tin sẽ bị loại bỏ, tiếp tục hoặc có dấu hiệu xâm nhập Đây là module xương sống quan trọng của hệ thống IDS Snort.

Hệ thống của chúng ta nhận được nhiều thông tin từ lưu lượng mạng thông thường, điều này có thể ảnh hưởng đến hiệu suất hoạt động của Snort Ngoài ra, hiệu suất của Snort còn bị tác động bởi các yếu tố khác như số lượng quy tắc, tải trên mạng và khả năng của hệ thống cài đặt Snort.

2.3.4 Logging and Alert System Đầu vào của module này chính là đầu ra của các gói tin trong module trước nó Tùy thuộc vào việc module Detection Engine có nhận dạng gói tin này là gói tin xâm nhập hay không Nếu là gói tin xâm nhập, module sẽ thực hiện việc ghi log hoặc là đưa ra cảnh báo Snor phân loại 3 định logging như sau:

- Decoded: Dạng này log sẽ được xử lý thô nhằm tiết kiệm thời gian và cho phép thực hiện nhanh

Nhị phân tcpdump là một loại log được xử lý giống như tcpdump, cho phép ghi vào đĩa một cách nhanh chóng Loại log này rất phù hợp cho các hệ thống yêu cầu hiệu suất cao.

Cây thư mục IP là một cách tổ chức log theo cấu trúc cây, giúp sắp xếp thông tin một cách hệ thống Việc này không chỉ làm cho log trở nên dễ đọc mà còn giúp người dùng dễ dàng hiểu và truy cập thông tin hơn.

2.3.5 Ouput Đây là module cuối cùng trong cấu trúc các thành phần của Snort Mục tiêu của module này là lưu trữ các dữ liệu cuối cùng khi các gói tin vào trong Snort Tùy thuộc vào mong muốn cũng như cấu hình của chúng ta Module này sẽ thực hiện các nhiệm vụ như: Ghi log và lưu log vào cơ sở dữ liệu tập trung, Ghi log File, …

Rule

Tập rule trong Snort rất dễ viết, đọc hiểu và áp dụng, nhưng lại có sức mạnh lớn trong việc phát hiện hầu hết các xâm nhập vào mạng hệ thống Snort sẽ so sánh các gói tin đi vào với các quy tắc trong tập rule và thực hiện các hành động tương ứng để bảo vệ mạng.

 Log: Tuỳ theo dạng ghi log mà ta chọn thì các gói tin sẽ được ghi log theo dạng đó

 Alert: Sinh ra một cảnh báo tùy theo thông điệp (msg) mà ta muốn hiển thị khi cảnh báo

 Pass: Snort cho phép gói tin đó đi qua và đi vào trong mạng của hệ thống

Tất cả các rule của Snort có cấu tạo đều gồm 2 phần: Header và Option:

Header chứa thông tin về hành động mà quy tắc sẽ thực hiện khi phát hiện xâm nhập trong gói tin, đồng thời bao gồm các tiêu chuẩn áp dụng quy tắc cho gói tin đó Trình tự ưu tiên của các hành động trong Snort là: kích hoạt (activation) → động (dynamic) → cảnh báo (alert) → bỏ qua (pass) → ghi log (log).

Option bao gồm một thông điệp cảnh báo (msg) cùng với thông tin về các phần của gói tin cần thiết để tạo ra cảnh báo Bên cạnh đó, Option cũng chứa các tiêu chuẩn phụ để đối chiếu luật với gói tin.

Hình 9: Thành phần của Snort

Hình 10: Thành phần của một rule

Trong Snort tồn tại 4 Option chính:

 General rule options (các tùy chọn quy tắc chung)

Hình 11: Thành phần của một rule

 Payload detection rule options (các tùy chọn quy tắc phát hiện payload)

Hình 12: Thành phần của một rule

 Non payload detection rule options (các tùy chọn quy tắc phát hiện không payload)

Hình 13: Thành phần của một rule

 Post-Detection rule options (tùy chọn quy tắc sau phát hiện)

Hình 14: Thành phần của một rule

CÀI ĐẶT VÀ THỬ NGHIỆM

Cài đặt và cấu hình

Để Snort hoạt động như một hệ thống IDS/IPS, trước tiên cần cấu hình file snort.conf trong thư mục Snort\etc\snort.conf sau khi tải Snort từ trang chủ.

Để bảo vệ hệ thống, trước tiên cần thiết lập địa chỉ mạng, bao gồm việc thay đổi "any" thành địa chỉ IP hoặc dải địa chỉ của máy cần bảo vệ.

Hình 15: Đổi địa chỉ IP

 Thiết lập đường dẫn đến thư mục chứa các tập rule

Hình 16: Thiết lập đường dẫn đến thư mục chứa các tập rule

 Thiết lập đường dẫn đến thư mục chứa các file ghi log

Hình 17: Thiết lập đường dẫn đến thư mục chứa các tập rule

 Thiết lập đường dẫn tới các thư mục dynamicpreprocessor với dynamicengine

Hình 18: Thiết lập đường dẫn đến thư mục dynamicpreprocessor với dynamicengine

 Comment những dòng sau khi chạy Snort ở chế độ IDS

Hình 19: Thiết lập đường dẫn đến thư mục dynamicpreprocessor với dynamicengine

 Xác định interface number của máy chạy Snort, sử dụng câu lệnh: snort -W

Hình 20: Thiết lập đường dẫn đến thư mục dynamicpreprocessor với dynamicengine

Hình 21: Xác định interface number của máy chạy Snort

 Chạy Snort ở chế độ IDS/IPS với câu lệnh: snort -i 6 -c c:\Snort\etc\snort.conf -A console (6 là interface number mạng của hệ thống chạy Snort)

Hình 22: Chạy Snort ở chế độ IDS thành công.

Demo và thử nghiệm

To set up a virtual machine with Kali Linux, configure the IP address to 192.168.0.109 Install Snort for network intrusion detection and utilize the slowhttptest tool to execute a SYN flood DOS attack Additionally, employ Hping3 to carry out an ICMP flood DOS attack Ensure to modify the snort.config file for optimal performance.

 Máy nạn nhân o Ip: 192.168.0.104 o Cài đặt xampp, bật máy chủ server Apache

Hình 24: Máy chủ Apache nạn nhân

Do sử dụng máy ảo để làm nên ở nhóm em sẽ demo trên máy kali cài Snort

Khi Snort đã sẵn sàng để chạy, điều quan trọng là phải tải các quy tắc cần thiết Để phát hiện một cuộc tấn công DoS, chúng ta cần viết các quy tắc phù hợp Bạn có thể mở tệp local.rules trong trình soạn thảo văn bản với quyền root bằng lệnh: sudo gedit /etc/snort/rules/local.rules.

Sau đó, chúng tôi nhập như sau: alert icmp any any -> $HOME_NET any (msg:"ICMP flood"; sid:1000001; rev:1; classtype: icmp-event; detection_filter:track by_dst, count 500, seconds 3;)

Hình 25: Cài rule cho IDS IMCP Flood Đây là quy tắc của câu lệnh này

 alert: Hành động quy tắc Snort sẽ tạo cảnh báo khi điều kiện đã đặt được đáp ứng

 any: IP nguồn Snort sẽ xem xét tất cả các nguồn

 any: Cổng nguồn Snort sẽ xem xét tất cả các cổng

 - >: Phương hướng Từ nguồn đến đích

 $HOME_NET: IP đích Chúng tôi đang sử dụng giá trị HOME_NET từ tệp snort conf

 any: Cảng đích Snort sẽ xem xét tất cả các cổng trên mạng được bảo vệ Rule Options

 msg:” ICMP flood”: Snort sẽ bao gồm thông báo này cùng với cảnh báo

ID quy tắc ngắn bắt đầu từ 1000001, vì tất cả các số nhỏ hơn 1.000.000 đều được đặt trước Bạn có thể sử dụng bất kỳ số nào miễn là nó lớn hơn 1.000.000.

 rev:1: Số sửa đổi Tùy chọn này cho phép duy trì quy tắc dễ dàng hơn

 classtype: icmp-event: Phân loại quy tắc dưới dạng “icmp-event”, một trong các danh mục Snort được xác định trước Tùy chọn này giúp tổ chức quy tắc

 detection_filter: track by_dst: Snort theo dõi địa chỉ IP đích để phát hiện

 count 500: Nếu trong khoảng thời gian lấy mẫu, Snort phát hiện hơn 500 yêu cầu thì chúng tôi sẽ nhận được cảnh báo

 seconds 3: thời gian lấy mẫu được đặt thành 3 giây

Bây giờ, hãy bắt đầu Snort ở chế độ IDS và yêu cầu nó hiển thị cảnh báo cho bảng điều khiển: sudo snort -A console -c /etc/snort/snort.conf -i eth0

Chúng ta đang chạy Snort với tệp cấu hình được chỉ định (-c) và giao diện mạng (-i eth0) để giám sát ICMP Tùy chọn -A cho phép hiển thị cảnh báo ra đầu ra tiêu chuẩn Tuy nhiên, không có đầu ra nào được hiển thị khi lệnh được nhập vì Snort không phát hiện hoạt động nào theo quy tắc đã thiết lập Để kiểm tra tính hiệu quả của quy tắc, chúng ta tạo ra một số hoạt động và khởi động máy ảo của mình.

Sau đó ta sử dụng công cụ Hping3 để tiến hành tấn công IMCP flood trên máy nạn nhân bằng lệnh: hping3 -1 flood -a 192.168.0.109 192.168.0.104

Hình 27: Thực hiện tấn công máy nạn nhân

Các cảnh báo sẽ được tạo ra cho mọi yêu cầu phản hồi ICMP khi số lượng vượt quá giá trị đã chỉ định trong khoảng thời gian lấy mẫu, kèm theo thông báo mà chúng ta đã thiết lập trong tùy chọn tin nhắn.

Hình 28: Snort xuất cảnh báo ICMP Flood

Chúng tôi cũng có thể thấy địa chỉ IP nguồn của máy chủ chịu trách nhiệm về hoạt động tạo cảnh báo

In the updated local.rules file, a new rule has been implemented to detect potential Denial of Service (DoS) attacks, specifically SYN flood attacks The rule triggers an alert for TCP traffic directed towards port 80 within the home network, activating when 20 SYN packets are received within a 10-second interval This proactive measure enhances network security by monitoring for unusual traffic patterns indicative of SYN flood attempts.

Hình 30: Rule cho cảnh báo SYN Flood

Trong quy tắc này, giao thức đã được thay đổi thành TCP với cổng đích là 80 Cờ từ khóa kiểm tra sự hiện diện của cờ TCP cụ thể (cờ SYN) Thời gian lấy mẫu được thiết lập là 10 giây, và nếu trong khoảng thời gian này phát hiện hơn 20 yêu cầu, chúng tôi sẽ nhận được cảnh báo.

Chạy snort như bước ở trên Ở đây ta sẽ sử dụng công cụ slowhttptest thực hiện tấn công bằng lệnh:

- c là số lượng kết nối

- i là khoảng thời gian truyền giữa các dữ liệu

- r là kết nối mỗi giây

- x độ dài ngân nhiên gửi đi trên header hoặc body của request

- p thời gian chờ phản hồi HTTP trên kết nối thăm dò, sau đó máy chủ được coi là không thể truy cập được sudo slowhttptest -c 140 -H -g -o /output_file -i 10 -r 200 -t GET -u http://192.168.0.104/ -x 24 -p 2

Kết quả từ việc sử dụng slowhttptest cho thấy dịch vụ của máy chủ nạn nhân vẫn hoạt động và có thể truy cập được Tuy nhiên, khi tăng số lượng kết nối lên 500, người dùng không thể truy cập vào trang máy chủ Lệnh sử dụng để thực hiện thử nghiệm này là: sudo slowhttptest -c 500 -H -g -o /output_file -i 10 -r 200 -t GET -u http://192.168.0.104/ -x 24 -p 2.

Hình 32: Tấn công làm ngừng service của nạn nhân

Ta thu được kết quả tại bên màn console của snort thông báo tấn công SYN Flood

Hình 33: Kết quả thu được của snort phát hiện SYN Flood

Kết quả thu được của snort phát hiện SYN Flood

Ta sẽ thêm một file rules mới có tên là XSS-injection.rules trong folder fules với các luật như sau:

Hình 34 Luật trong rules XSS-injection

Chạy lệnh snort để bắt đầu ở chế độ IDS:

“snort -c C:\Snort\etc\snort.conf -A console -i 6”

Để khởi chạy Snort với các quy tắc mới, chúng ta cần chỉ định tệp cấu hình bằng tùy chọn (-c) và giao diện mạng bằng (-i eth0) Tùy chọn -A sẽ hiển thị cảnh báo ra đầu ra tiêu chuẩn Trong lần chạy đầu tiên, không có đầu ra nào xuất hiện vì Snort không phát hiện hoạt động nào theo quy tắc đã định Để kiểm tra hiệu quả của các quy tắc, chúng ta thực hiện tấn công XSS vào webserver và theo dõi màn hình cảnh báo Trong demo này, chúng ta sẽ sử dụng DVWA được cài đặt trên máy Snort để giám sát, sau đó vào XAMPP để bật Apache và MySQL Cuối cùng, mở cmd và gõ ipconfig để xem địa chỉ IP của máy Snort.

Hình 36 IP của máy cài snort Ở máy ảo Ubuntu thực hiện vào trang DVWA trên máy snort và chọn XSS( Reflected)

Hình 37 Khởi chạy DVWA trên máy ubuntu

Thực hiện nhập “?name=alert("XSS");” trên máy

Ubuntu ta sẽ có kết quả như sau:

Hình 38 Kết quả sau khi tấn công XSS trên máy Ubuntu

Và đây là các cảnh báo được snort đưa ra:

Ngày đăng: 23/10/2021, 06:48

HÌNH ẢNH LIÊN QUAN

Hình 1: Các hệ thống phát hiện tấn công xâm nhập -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 1 Các hệ thống phát hiện tấn công xâm nhập (Trang 7)
Hình 2: Ví trí của NIDS trong hệ thống -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 2 Ví trí của NIDS trong hệ thống (Trang 10)
Hình 3: Ví trí của HIDS trong hệ thống -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 3 Ví trí của HIDS trong hệ thống (Trang 11)
Hình 4: Mô hình của hệ thống IDS -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 4 Mô hình của hệ thống IDS (Trang 12)
Hình 5: Các vị trí điển hình để cài đặt Snort -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 5 Các vị trí điển hình để cài đặt Snort (Trang 17)
Hình 6: file snort.conf -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 6 file snort.conf (Trang 18)
Hình 7: Thành phần của Snort -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 7 Thành phần của Snort (Trang 19)
Hình 8: Thành phần của Snort -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 8 Thành phần của Snort (Trang 20)
Hình 11: Thành phần của một rule -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 11 Thành phần của một rule (Trang 24)
Hình 12: Thành phần của một rule -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 12 Thành phần của một rule (Trang 25)
Hình 13: Thành phần của một rule -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 13 Thành phần của một rule (Trang 26)
Hình 14: Thành phần của một rule -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 14 Thành phần của một rule (Trang 27)
Hình 20: Thiết lập đường dẫn đến thư mục dynamicpreprocessor với dynamicengine -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 20 Thiết lập đường dẫn đến thư mục dynamicpreprocessor với dynamicengine (Trang 30)
Hình 22: Chạy Snort ở chế độ IDS thành công. -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 22 Chạy Snort ở chế độ IDS thành công (Trang 31)
Hình 23: Config Snort -  CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
Hình 23 Config Snort (Trang 32)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w