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

Tìm hiểu tấn công ddos

96 1 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 đề Tìm Hiểu Tấn Công DDoS
Tác giả Đỗ Văn Tú
Người hướng dẫn ThS. Hoàng Sỹ Tơng
Trường học Trường Đại Học
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 96
Dung lượng 3,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

Những packetnày làm cho hệ thống của nạn nhân unload tất cả dữ liệu trong TCP buffer ngaylập tức và gửi một ACK packet trở về khi thực hiện xong điều này, nếu quá trình đợc diễn ra liên

Trang 1

Lời nói đầu

Ngày nay, khi Internet đợc phổ biến rộng rãi, các tổ chức, cá nhân đều cónhu cầu giới thiệu thông tin của mình trên xa lộ thông tin, các giao dịch thơngmại điện ngày càng trở lên gần gũi với mọi ngời Vấn đề này nảy sinh khi phạm

vi ứng dụng của các ứng dụng web ngày càng mở rộng thì khả năng xuất hiện lỗi

và bị tấn công ngay càng cao, trở thành đối tợng tấn công cho nhiều ngời tấncông với mục đích khác nhau Những cuộc tấn công này không chỉ gây ra tổnthất về mặt tài chính mà còn làm ảnh hởng nặng nền đến uy tín của các tổ chứchoạt động trên internet Một hình thức tấn công mà nó đã và đang là nỗi lo âu,khiếp sợ của các website thơng mại điện tử, các tổ chức hoạt động trên môi trờngmạng internet phải kể đến đó là DDoS (Distributed Denial of Service - Kiểu tấncông từ chối dịch vụ phân tán)

Kể từ khi xuất hiện vào mùa thu năm 1999, DDoS đã khiến các websitetrên thế giới phải “điêu đứng” Ngày 7/3/2000, website www.yahoo.com phảingng phục vụ hàng trăm triệu ngời dùng trên thế giới trong vài giờ do phải gánhchịu một đợt tấn DDoS với quy mô vài ngàn máy tính liên tục gửi hàng triệurequest đến các server dịch vụ làm cho các server này không thể phục vụ ngời sửdụng thông thờng khác Vài ngày sau, một sự kiện tơng tự diễn ra với hàng loạtcác website trong đó có những website đã quá nổi tiếng trên thể giới nh hãng tinCNN, amazon.com, buy.com, Zden.com, E-trade.com, Ebay.com Tổng thiệt hại

do các cuộc tấn đó gây ra lên đến 1.2 triệu USD, nhng không đáng kể bắng sựmất lòng tin từ phía khách hàng, uy tín của các công ty là không thể tính đợc

ở Việt Nam trong một vài năm trở lại đây, tấn công kiểu DDoS phát triểnmột cách chóng mặt Mục tiêu “yêu thích” của các cuộc tấn công này là cácwebsite thơng mại điện tử, các website nổi tiếng (có lợng truy cập nhiều), các tạpchí, báo điện tử, các cơ quan, tổ chức chính phủ và phi chính phủ Điển hình làcác vụ tấn công vào các website bảo mật lớn nhất Việt Nam là HVA

tê liệt hoàn toàn trong vài ngày Vào đầu năm 2006 website thơng mại điện tử

công với qui mô hàng nghìn máy tính khiến công ty phải tạm thời bị gián đoạnhoạt động và đứng trớc nguy cơ phá sản…Và còn hàng trăm các cuộc tấn côngVà còn hàng trăm các cuộc tấn côngDDoS khác đang diễn ra từng ngày, từng giờ với kỹ thuật ngày càng tinh vi vàkhó lờng, thiệt hại gây ra là không thể kể hết

Trang 2

Từ những dẫn chứng cụ thể trên cũng đủ để cho chúng ta thấy tấn côngkiểu DDoS có sức nguy hiểm nh thế nào Đồ án này đợc thực hiện nhằm mục

đích nghiên cứu, tìm hiểu về cách thức hoạt động và các biện pháp phòng chốngDDoS, giúp mọi ngời có cái nhìn tổng quan về kiểu tấn công nguy hiểm này

Chơng 1 TổNG

QUAN Về DDOS 1.1 Giới thiệu chung về DDoS:

DDoS (distributed denial-of-service attack) là một kiểu tấn công đa một hệthống cung cấp dịch vụ đến mức hoạt động tới hạn về tài nguyên, hay gây nhầmlẫn logic dẫn đến hệ thống ngừng hoạt động

Khác với DoS (denial-of-service attack) là chỉ cần một máy để tấn công,DDoS sử dụng nhiều máy tính bị chiếm quyền điều khiển kết nối với nhau (mạngBotnet) để tấn công nên sức hủy hoại là rất lớn

1.2 Phân loại các kiểu tấn công DDoS

Nhìn chung, có rất nhiều cách để phân loại các kiểu tấn công DDoS nhngtheo em cách phân loại theo mục đích tấn công là khá đầy đủ, đơn giản và dễhiểu Dới đây là sơ đồ mô tả sự phân loại các kiểu tấn công DDoS dựa theo mục

đích tấn công: làm cạn kiệt băng thông và làm cạn kiệt tài nguyên hệ thống

Trang 3

Hình 1-: Phân loại các kiểu tấn công DDoS

Tấn công làm cạn kiệt băng thông

Tấn công làm cạn kiệt băng thông (BandWith Depletion Attack) đợc thiết

kế nhằm làm tràn ngập mạng mục tiêu với những traffic không cần thiết, vớimục địch làm giảm tối thiểu khả năng của các traffic hợp lệ đến đợc hệ thốngcung cấp dịch vụ của mục tiêu

Có hai loại tấn công làm cạn kiệt băng thông :

- Flood attack: Điều khiển các Agent gửi một lợng lớn traffic đến hệ

thống dịch vụ của mục tiêu, làm dịch vụ này bị hết khả năng về băng thông

- Amplification attack: Điều khiển các Agent hay Client tự gửi

packet đến một địa chỉ IP broadcast, làm cho tất cả các máy trong subnet này gửipacket đến hệ thống dịch vụ của mục tiêu Phơng pháp này làm gia tăng traffickhông cần thiết, làm suy giảm băng thông của mục tiêu

1.2.1 Flood attack:

Trong phơng pháp này, các Agent sẽ gửi một lợng lớn IP traffic làm hệthống dịch vụ của mục tiêu bị chậm lại, hệ thống bị treo hay đạt đến trạng tháihoạt động bão hòa Làm cho những ngời dùng thực sự của hệ thống không sửdụng đợc dịch vụ

Ta có thể chia Flood Attack thành hai loại:

- UDP Flood Attack: do tính chất connectionless của UDP, hệ thống

nhận UDP message chỉ đơn giản nhận vào tất cả các packet mình cần phải xử lý.Một lợng lớn các UDP packet đợc gửi đến hệ thống dịch vụ của mục tiêu sẽ đẩytoàn bộ hệ thống đến ngỡng tới hạn

Trang 4

- Các UDP packet này có thể đợc gửi đến nhiều port tùy ý hay chỉ duy

nhất một port Thông thờng là sẽ gửi đến nhiều port làm cho hệ thống mục tiêuphải căng ra để xử lý phân hớng cho các packet này Nếu port bị tấn công khôngsẵn sàng thì hệ thống mục tiêu sẽ gửi ra một ICMP packet loại “destination portunreachable” Thông thờng các Agent software sẽ dùng địa chỉ IP giả để chegiấu hành tung, cho nên các packet trả về do không có port xử lý sẽ dẫn đến một

địa chỉ IP khác UDP Flood attack cũng có thể làm ảnh hởng đến các kết nốixung quanh mục tiêu do sự hội tụ của packet diễn ra rất mạnh

- ICMP Flood Attack: đợc thiết kế nhằm mục đích quản lý mạng cũng

nh định vị thiết bị mạng Khi các Agent gửi một lợng lớn ICMP ECHOREQUEST đến hệ thống mục tiêu thì hệ thống này phải reply một lợng tơng ứngPacket để trả lời, sẽ dẫn đến nghẽn đờng truyền Tơng tự trờng hợp trên, địa chỉ

IP của các Agent có thể bị giả mạo

1.2.2 Amplification Attack:

Amplification Attack nhắm đến việc sử dụng các chức năng hỗ trợ địa chỉ

IP broadcast của các router nhằm khuyếch đại và hồi chuyển cuộc tấn công.Chức năng này cho phép bên gửi chỉ định một địa chỉ IP broadcast cho toànsubnet bên nhận thay vì nhiều địa chỉ Router sẽ có nhiệm vụ gửi đến tất cả địachỉ IP trong subnet đó packet broadcast mà nó nhận đợc

Attacker có thể gửi broadcast packet trực tiếp hay thông qua một số Agentnhằm làm gia tăng cờng độ của cuộc tấn công Nếu attacker trực tiếp gửi packet,thì có thể lợi dụng các hệ thống bên trong broadcast network nh một Agent

Hình 1-: Amplification Attack

Có thể chia amplification attack thành hai loại, Smuft và Fraggle attack:

Trang 5

- Smuft attack: trong kiểu tấn công này attacker gửi packet đến network

amplifier (router hay thiết bị mạng khác hỗ trợ broadcast), với địa chỉ của nạnnhân Thông thờng những packet đợc dùng là ICMP ECHO REQUEST, cácpacket này yêu cầu yêu cầu bên nhận phải trả lời bằng một ICMP ECHO REPLYpacket Network amplifier sẽ gửi đến ICMP ECHO REQUEST packet đến tất cảcác hệ thống thuộc địa chỉ broadcast và tất cả các hệ thống này sẽ REPLYpacket về địa chỉ IP của mục tiêu tấn công Smuft Attack

- Fraggle Attack: tơng tự nh Smuft attack nhng thay vì dùng ICMP

ECHO REQUEST packet thì sẽ dùng UDP ECHO packet gửi đến mục tiêu Thật

ra còn một biến thể khác của Fraggle attack sẽ gửi đến UDP ECHO packet đếnchargen port (port 19/UNIX) của mục tiêu, với địa chỉ bên gửi là echo port (port7/UNIX) của mục tiêu, tạo nên một vòng lặp vô hạn Attacker phát động cuộctấn công bằng một ECHO REQUEST với địa chỉ bên nhận là một địa chỉbroadcast, toàn bộ hệ thống thuộc địa chỉ này lập tức gửi REPLY đến port echocủa nạn nhân, sau đó từ nạn nhân một ECHO REPLY lại gửi trở về địa chỉbroadcast, quá trình cứ thế tiếp diễn Đây chính là nguyên nhân Flaggle Attacknguy hiểm hơn Smuft Attack rất nhiều

Tấn công làm cạn kiệt tài nguyên

Tấn công làm cạn kiệt tài nguyên (Resource Deleption Attack) là kiểu tấncông trong đó Attacker gửi những packet dùng các protocol sai chức năng thiết

kế, hay gửi những packet với dụng ý làm tắt nghẽn tài nguyên mạng làm cho cáctài nguyên này không phục vụ những ngời dùng thông thờng khác đợc

1.2.3 Protocol Exploit Attack

- TCP SYN Attack: Transfer Control Protocol hỗ trợ truyền nhận với độ

tin cậy cao nên sử dụng phơng thức bắt tay giữa bên gửi và bên nhận trớc khitruyền dữ liệu Bớc đầu tiên, bên gửi gửi một SYN REQUEST packet(Synchronize) Bên nhận nếu nhận đợc SYN REQUEST sẽ trả lời bằngSYN/ACK packet Bớc cuối cùng, bên gửi sẽ truyên packet cuối cùng ACK vàbắt đầu truyền dữ liệu

Hình 1-: Ba bớc kết nối TCP/IP

Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK nhng

Trang 6

nó sẽ gửi lại SYN/ACK cho đến hết thời gian timeout Toàn bộ tài nguyên hệthống “dự trữ” để xử lý phiên giao tiếp nếu nhận đợc ACK packet cuối cùng sẽ

bị “phong tỏa” cho đến hết thời gian timeout

Hình 1-: Trờng hợp IP nguồn giả

Nắm đợc điểm yếu này, attacker gửi một SYN packet đến nạn nhân với địachỉ bên gửi là giả mạo, kết quả là nạn nhân gửi SYN/ACK đến một địa chỉ khác

và sẽ không bao giờ nhận đợc ACK packet cuối cùng, cho đến hết thời giantimeout nạn nhân mới nhận ra đợc điều này và giải phóng các tài nguyên hệthống Tuy nhiên, nếu lợng SYN packet giả mạo đến với số lợng nhiều và dồndập, hệ thống của nạn nhân có thể bị hết tài nguyên

- PUSH và ACK Attack: Trong TCP protocol, các packet đợc chứa

trong buffer, khi buffer đầy thì các packet này sẽ đợc chuyển đến nơi cần thiết.Tuy nhiên, bên gửi có thể yêu cầu hệ thống unload buffer trớc khi buffer đầybằng cách gửi một packet với cờ PUSH và ACK mang giá trị là 1 Những packetnày làm cho hệ thống của nạn nhân unload tất cả dữ liệu trong TCP buffer ngaylập tức và gửi một ACK packet trở về khi thực hiện xong điều này, nếu quá trình

đợc diễn ra liên tục với nhiều Agent, hệ thống sẽ không thể xử lý đợc lợng lớnpacket gửi đến và sẽ bị treo

1.2.4 Malformed Packet Attack

Malformed Packet Attack là cách tấn công dùng các Agent để gửi cácpacket có cấu trúc không đúng chuẩn nhằm làm cho hệ thống của nạn nhân bịtreo

Có hai loại Malformed Packet Attack:

- IP address attack: dùng packet có địa chỉ gửi và nhận giống nhau làm

cho hệ điều hành của nạn nhân không xử lý nổi và bị treo

- IP packet options attack ngẫu nhiên hóa vùng OPTION trong IP

packet và thiết lập tất cả các bit QoS lên 1, điều này làm cho hệ thống của nạnnhân phải tốn thời gian phân tích, nếu sử dụng số lợng lớn Agent có thể làm hệthống nạn nhân hết khả năng xử lý

Trang 7

- Handler: Là một phần mềm trung gian giữa Agent và Client.

- Agent: Là một phần mềm thực hiện sự tấn công mục tiêu, nhận điều

khiển từ Client thông quan các Handler

Attacker sẽ từ Client giao tiếp với Handler để xác định số lợng các Agent

đang online, điều chỉnh thời điểm tấn công và cập nhật các Agent Tuỳ theo cáchattacker cấu hình mạng Botnet, các Agent sẽ chịu sự quản lý của một hay nhiềuHandler

Thông thờng Attacker sẽ đặt các Handler trên một Router hay Server có ợng lu thông lớn Việc này nhằm làm cho các giao tiếp giữa Client, Handler vàAgent khó bị phát hiện Các giao thức này thờng diễn ra trên các giao thức TCP,UDP hay ICMP Chủ nhân thực sự của các Agent thờng không biết họ bị lợidụng trong các cuộc tấn công DDoS, do họ không đủ kiến thức hoặc các chơngtrình Backdoor Agent chỉ sử dụng rất ít tài nguyên hệ thống làm cho hầu nhkhông thể thấy ảnh hởng gì đến hiệu năng của hệ thống

Trang 8

l-Sơ đồ IRC Base

Hình 1-: Sơ đồ IRC Base

Internet Relay Chat(IRC) là một hệ thống online chat nhiều ngời IRC

cho phép ngời sử dụng tạo một kết nối đến nhiều điểm khác với nhiều ngời sửdụng khác nhau và chat thời gian thực Kiến trúc cũ của IRC network bao gồmnhiều IRC server trên khắp Internet, giao tiếp với nhau trên nhiều kênh

(channnel) IRC network cho phép user tao ba loại channel: Public, Private và

Secrect Trong đó :

- Public channel: Cho phép user của channel đó thấy IRC name và

nhận đợc message của mọi user khác trên cùng channel

- Private channel: Đợc thiết kế để giao tiếp với các đối tợng cho

phép.Không cho phép các user không cùng channel thấy IRC name và messagetrên channel Tuy nhiên, nếu user ngoài channel dùng một số lệnh channellocator thì có thể biết đợc sự tồn tại của private channel đó

- Secrect channel: Tơng tự private channel nhng không thể xác định

bằng channel locator

Mạng IRC-based cũng tơng tự nh mạng Agent-Handler nhng mô hìnhnày sử dụng các kênh giao tiếp IRC làm phơng tiện giao tiếp giữa Client vàAgent (không sử dụng Handler) Sử dụng mô hình này, attacker còn có thêm một

Trang 9

- Không cần phải duy trì danh sách các Agent, hacker chỉ cần logonvào IRC server là đã có thể nhận đợc report về trạng thái các Agent do cácchannel gửi về.

- Sau cùng: IRC cũng là một môi trờng chia sẻ file tạo điều kiện pháttán các Agent code lên nhiều máy khác

1.4 Các phơng pháp xây dựng tài nguyên tấn

công

Có rất nhiều điểm chung của các công cụ DDoS attack Có thể kể ra một

số điểm chung nh: cách cài chơng trình Agent, phơng pháp giao tiếp giữa cácattacker, Handler và Agent, điểm chung về loại hệ điều hành hỗ trợ các công cụnày Sơ đồ sau mô tả sự so sánh tơng quan giữa các công cụ tấn công DDoS này

Hình 1-: Các phơng pháp xây dựng tài nguyên tấn côngCách thức cài đặt DDoS

Agent

Attacker có thể dùng phơng pháp active và passive để cài đặt chơng trìnhAgent lên các máy khác nhằm thiết lập mạng tấn công kiểu Agent-Handler hayIRC-based

* Các cách cài đặt sử dụng phơng pháp active nh:

- Scaning: dùng các công cụ nh Nmap, Nessus để tìm những sơ hở trên

các hệ thống đang online nhằm cài đặt chơng trình Agent Chú ý, Nmap sẽ trả vềnhững thông tin về một hệ thống đã đợc chỉ định bằng địa chỉ IP, Nessus tìmkiếm từ những địa chỉ IP bất kỳ về một điểm yếu biết trớc nào đó

- Backdoor: sau khi tìm thấy đợc danh sách các hệ thống có thể lợi dụng,

attacker sẽ tiến hành xâm nhập và cài chơng trình Agent lên các hệ thống này

Trang 10

Có rất nhiều thông tin sẵn có về cách thức xâm nhập trên mạng, nh site của tổchức Common Vulnerabilities and Exposures (CVE), ở đây liệt kê và phân loạitrên 4.000 loại lỗi của tất cả các hệ thống hiện có Thông tin này luôn sẵn sàngcho cả giới quản trị mạng lẫn hacker.

- Trojan: là một chơng trình thực hiện một chức năng thông thờng nào

đó, nhng lại có một số chức năng tiềm ẩn phục vụ cho mục đích riêng của ngờiviết mà ngời dùng không thể biết đợc Có thể dùng Trojan nh một chơng trìnhAgent

- Buffer Overflow: tận dụng lỗi buffer overflow, attacker có thể làm cho

chu trình thực thi chơng trình thông thờng bị chuyển sang chu trình thực thi

ch-ơng trình của hacker (nằm trong vùng dữ liệu ghi đè) Có thể dùng cách này đểtấn công vào một chơng trình có điểm yếu buffer overflow để chạy chơng trìnhAgent

* Cách cài đặt sử dụng passive:

- Bug trình duyệt web: attacker có thể lợi dụng một số lỗi của trình

duyệt web để cài chơng trình Agent vào máy của user truy cập Attacker sẽ tạomột trang web mang nội dung tiềm ẩn những code và lệnh để đặt bẫy user Khiuser truy cập nội dung của trang web, thì trang web download và cài đặt chơngtrình Agent một cách bí mật Microsoft Internet Explorer (IE) thờng là mục tiêucủa cách cài đặt này, với các lỗi của ActiveX có thể cho phép trình duyệt IE tự

động download và cài đặt code trên máy của ngời dùng duyệt web

- Corrupted file: một phơng pháp khác là nhúng code vào trong các file

thông thờng Khi user đọc hay thực thi các file này, máy của họ lập tức bị nhiễmchơng trình Agent software Một trong những kỹ thuật phổ biến là đặt tên file rấtdài, do mặc định của các hệ điều hành chỉ hiển thị phần đầu của tên file nênattacker có thể gửi kèm theo email cho nạn nhân file nh sau:iloveyou.txt_hiiiiiii_NO_this_is_DDoS.exe, do chỉ thấy phần “Iloveyou.txt” hiểnthị nên user sẽ mở file này để đọc và lập tức file này đợc thực thi và Agent code

đợc cài vào máy nạn nhân Ngoài ra còn nhiều cách khác nh ngụy trang file,ghép file…Và còn hàng trăm các cuộc tấn công

* Giao tiếp trên mạng Botnet

Protocol: giao tiếp trên mạng Botnetcó thể thực hiện trên nền các protocol

TCP, UDP, ICMP

Mã hóa các giao tiếp: một vài công cụ DDoS hỗ trợ mã hóa giao tiếp trên

toàn bộ mạng Botnet Tùy theo protocol đợc sử dụng để giao tiếp sẽ có các

Trang 11

ph-ơng pháp mã hóa thích hợp Nếu mạng Botnet ở dạng IRC-based thì private vàsecrect channel đã hỗ trợ mã hóa giao tiếp.

Cách kích hoạt Agent: có hai phơng pháp chủ yếu để kích hoạt Agent.

Cách thứ nhất là Agent sẽ thờng xuyên quét thăm dò Handler hay IRC channel

để nhận chỉ thị (active Agent) Cách thứ hai là Agent chỉ đơn giản là “nằm vùng”chờ chỉ thị từ Handler hay IRC Channel

1.5 Một số kiểu tấn công DDoS và các công cụ tấn công DDoS

Một số kiểu tấn công DDoS

Bên cạnh việc phân loại các kiểu tấn công theo mục đích tấn công, ta còn

có thể phân loại theo cách tấn công vào giao thức Dới đây là phân loại một sốcách tấn công DDoS theo giao thức : (Tham khảo từ http://www.cisco.com )

ra lệnh cho các daemons gửi các UDP packet đến mục tiêu

Mô hình :

- Attacker(s) >Master(s) >daemon(s) >victim(s)

- Attacker -> Master : port 27665/TCP

- Master -> Deamons : port 27444/UDP

- Daemon -> Master : port 31335/UDP

- Deamon -> UDP Flood đến mục tiêu (random port)

1.5.2 Tribe Flood Network (TFN/TFN2K)

Tơng tự nh Trinoo nhng Tribe Flood Network còn cho phép attacker sửdụng thêm ICMP flood, SYN flood và Smurf

Mô hình :

Attacker(s) >client(s) >daemon(s) >victim(s)

Trang 12

1.5.3 Stacheldraht

Stacheldraht là sự kết hợp các tính năng của Trinoo và TFN, bên cạnh đócòn thêm khả năng mã hóa giao tiếp giữa attacker và stacheldraht masters

Stacheldraht cung cấp cho attacker khá nhiều phơng thức tấn công từ chối dịch

vụ : ICMP flood, SYN flood, UDP flood và Smurf

Mô hình :

Client(s) >handler(s) >agent(s) >victim(s)

- Client -> handler(s) : port 16660/tcp

- Handler < > agent(s): port 65000/tcp, ICMP ECHO REPLY

1.5.4 Trinity

Trinity có hầu hết các kỹ thuật tấn công bao gồm: UDP, TCP SYN, TCPACK, TCP fragment, TCP NULL, TCP RST, TCP random flag, TCPESTABLISHED packet flood Nó có sẵn khả năng ngẫu nhiên hóa địa chỉ bêngởi Trinity cũng hỗ trợ TCP flood packet với khả năng ngẫu nhiên tậpCONTROL FLAG Trinity có thể nói là một trong số các công cụ DDoS nguyhiểm nhất

1.5.5 Shaft

Shaft có các kĩ thuật tấn công UDP, ICMP và TCP flood Có thể tấn côngphối hợp nhiều kiểu cùng lúc Có thống kê chi tiết cho phép attacker biết tìnhtrạng tổn thất của nạn nhân, mức độ quy mô của cuộc tấn công để điều chỉnh sốlợng Agent

Mô hình :

Client(s) >handler(s) >agent(s) >victim(s)

- Client > handler(s): port 20432/tcp

- Handler -> agent(s): port 18753/udp

- Agent -> handler(s): port 20433/udp

1.5.6 X-flash

Vấn đề then chốt của hacker tấn công bằng hình thái cổ điển là nắm quyền

điều khiển càng nhiều máy tính càng tốt, sau đó anh ta sẽ trực tiếp phát động tấncông hàng loạt từ xa thông qua một kênh điều khiển Với quy mô mạng lới tấncông bao gồm vài trăm nghìn máy, hình thái này có thể đánh gục ngay lập tứcbất cứ hệ thống nào Phối hợp với khả năng giả mạo địa chỉ IP, kiểu tấn công này

sẽ rất khó lần theo dấu vết

Trang 13

Hình 1-: Mô hình mạng Classic DDoS

Tuy nhiên, mô hình này có một số nhợc điểm:

- Mạng lới tấn công là cố định và tấn công xảy ra đồng loạt nên rất dễ

điều tra ngợc tìm manh mối

- Software cài lên các Infected Agent là giống nhau và có thể dùnglàm bằng chứng kết tội hacker

- Phía nạn nhân có thể điều chỉnh hệ thống phòng vệ để ngăn chặn vìmạng lới tấn công là “khả kiến”

- Hacker buộc phải trực tiếp kết nối đến mạng lới các máy tấn côngtại thời điểm tấn công để điều khiển nên rất dễ lần ra thủ phạm

X-Flash xuất hiện sau khi DantruongX và nhóm BeYeu phát hiện ra những

lỗ hổng bảo mật của IE và Flash Player Nó chỉ bằng cách đơn giản là gửi yêucầu tới web server dạng HTTP Request ( yêu cầu dạng POST hay GET) với mộttốc độ cực kì nhanh kiến web services bị crash

Cách tấn công : Hacker treo một file flash trên một trang web trung gian

có nhiều ngời truy xuất, ngời dùng truy xuất trang web này file flash sẽ đợc tải

về máy và đợc chơng trình Flash thực thi Từ đây vô số các yêu cầu truy xuất sẽgởi đến trang web mục tiêu

Trang 14

- Số lợng attack agent tùy thuộc vào số lợng user truy xuất các trangweb đã bị hacker “nhúng” nội dung flash, số lợng này thay đổi theo thời gian vàhoàn toàn không thể nhận biết địa chỉ IP nguồn, vì đây là các user thông thờng.

- Không hề có quá trình gởi lệnh và nhận báo cáo giữa hacker vàmạng lới tấn công, toàn bộ lệnh tấn công đợc “nhúng” trong nội dung flash vàhacker không cần nhận báo cáo do đây là mô hình tấn công bất đồng bộ

- Tấn công bất đồng bộ: Việc tấn công diễn ra không cần có mệnhlệnh Ngời dùng truy xuất trang web , load nội dung flash về trình duyệt và Flashplayer thực thi nội dung flash thì ngay lập tức máy của họ trở thành một attackagent-liên tục gởi hàng trăm request đến máy chủ web nạn nhân

- Quy mô tấn công phụ thuộc vào số lợng trang web bị lợi dụng và sốlợng ngời dùng thờng xuyên truy xuất các trang web này Chỉ tính trung bìnhhacker lợi dụng đợc 10 trang web và mỗi trang web này có số lợng truy xuấtkhoảng 100 user tại một thời điểm thì tổng số request mà server nạn nhân phảihứng chịu tại một thời điểm lên đến con số vài chục ngàn Đây là một số liệukinh hoàng với bất kỳ ai làm quản trị hệ thống của bất cứ trang web nào và kếtquả thờng là hệ thống tê liệt ngay lập tức

Trang 15

Tuy nhiên, hiện nay chơng trình Flash player mới nhất đã đợc fix lỗi, cáchtấn công Flash đã phần nào đợc hạn chế.

1.6 Phòng chống DDoS

Phòng chống DDoS

Có rất nhiều giải pháp và ý tởng đợc đa ra nhằm đối phó với các cuộc tấncông kiểu DDoS Tuy nhiên không có giải pháp và ý tởng nào là giải quyết trọnvẹn bài toán Phòng chống DDoS Các hình thái khác nhau của DDoS liên tụcxuất hiện theo thời gian song song với các giải pháp đối phó, tuy nhiên cuộc đuavẫn tuân theo quy luật tất yếu của bảo mật máy tính: “Hacker luôn đi trớc giớibảo mật một bớc”

Có ba giai đoạn chính trong quá trình Phòng chống DDoS:

- Giai đoạn ngăn ngừa: tối thiểu hóa lợng Agent, tìm và vô hiệu hóacác Handler

- Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộctấn công, làm suy giảm và dừng cuộc tấn công, chuyển hớng cuộc tấn công

- Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và rútkinh nghiệm

Hình 1-: Các giai đoạn chi tiết trong phòng chống DDoS 1.6.1 Tối thiểu hóa lợng Agent

Từ phía ngời dùng: một phơng pháp rất tốt để ngăn ngừa tấn công DDoS

là từng ngời dùng Internet sẽ tự đề phòng không để bị lợi dụng tấn công hệ thốngkhác Muốn đạt đợc điều này thì ý thức và kỹ thuật phòng chống phải đợc phổbiến rộng rãi cho mọi ngời dùng Mạng lới Botnet sẽ không bao giờ hình thànhnếu không có ngời nào bị lợi dụng trở thành Agent Mọi ngời dùng phải liên tục

Trang 16

sự hiện diện của Agent trên máy của mình, điều này là rất khó khăn đối vớinhững ngời dùng thông thờng Một giải pháp đơn giản là nên cài đặt và updateliên tục các software nh antivirus, antitrojan và các bản patch của hệ điều hành.

Từ phía Network Service Provider: Thay đổi cách tính tiền dịch vụ truy

cập theo dung lợng sẽ làm cho user lu ý đến những gì họ gửi, nh vậy về mặt ýthức tăng cờng phát hiện DDoS Agent sẽ tự nâng cao ở mỗi ngời dùng

1.6.2 Tìm và vô hiệu hóa các Handler:

Một nhân tố vô cùng quan trọng trong mạng Botnet là Handler, nếu có thểphát hiện và vô hiệu hóa Handler thì khả năng Phòng chống DDoS thành công làrất cao Bằng cách theo dõi các giao tiếp giữa Handler và Client hay Handler vàAgent ta có thể phát hiện ra vị trí của Handler Do một Handler quản lý nhiều,nên triệt tiêu đợc một Handler cũng có nghĩa là loại bỏ một lợng đáng kể cácAgent trong mạng Botnet

1.6.3 Phát hiện dấu hiệu của cuộc tấn công:

Có nhiều kỹ thuật đợc áp dụng:

- Agress Filtering: Kỹ thuật này kiểm tra xem một packet có đủ tiêu

chuẩn ra khỏi một subnet hay không dựa trên cơ sở gateway của một subnet luônbiết đợc địa chỉ IP của các máy thuộc subnet Các packet từ bên trong subnet gửi

ra ngoài với địa chỉ nguồn không hợp lệ sẽ bị giữ lại để điều tra nguyên nhân.Nếu kỹ thuật này đợc áp dụng trên tất cả các subnet của Internet thì khái nhiệmgiả mạo địa chỉ IP sẽ không còn tồn tại

- MIB statistics: trong Management Information Base (SNMP-Simple

Network Management Protocol ) của route luôn có thông tin thống kể về sự biếnthiên trạng thái của mạng Nếu ta giám sát chặt chẽ các thống kê của ProtocolICMP, UDP và TCP ta sẽ có khả năng phát hiện đợc thời điểm bắt đầu của cuộctấn công để tạo “quỹ thời gian vàng” cho việc xử lý tình huống

1.6.4 Làm suy giảm hay dừng cuộc tấn công

Dùng các kỹ thuật sau:

- Load balancing: Thiết lập kiến trúc cân bằng tải cho các server trọng

điểm sẽ làm gia tăng thời gian chống chọi của hệ thống với cuộc tấn công DDoS.Tuy nhiên, điều này không có ý nghĩa lắm về mặt thực tiễn vì quy mô của cuộctấn công là không có giới hạn

- Throttling: Thiết lập cơ chế điều tiết trên router, quy định một khoảng

tải hợp lý mà server bên trong có thể xử lý đợc Phơng pháp này cũng có thể đợcdùng để ngăn chặn khả năng DDoS traffic không cho user truy cập dịch vụ Hạnchế của kỹ thuật này là không phân biệt đợc giữa các loại traffic, đôi khi làm

Trang 17

dịch vụ bị gián đoạn với user, DDoS traffic vẫn có thể xâm nhập vào mạng dịch

vụ nhng với số lợng hữu hạn

- Drop request: Thiết lập cơ chế drop request nếu nó vi phạm một số quy

định nh: thời gian delay kéo dài, tốn nhiều tài nguyên để xử lý, gây deadlock Kỹthuật này triệt tiêu khả năng làm cạn kiệt năng lực hệ thống, tuy nhiên nó cũnggiới hạn một số hoạt động thông thờng của hệ thống, cần cân nhắc khi sử dụng

1.6.5 Chuyển hớng cuộc tấn công

Honeyspots: Một kỹ thuật đang đợc nghiên cứu là Honeyspots.

Honeyspots là một hệ thống đợc thiết kế nhằm đánh lừa attacker tấn công vàokhi xâm nhập hệ thống mà không chú ý đến hệ thống quan trọng thực sự

Honeyspots không chỉ đóng vai trò “Lê Lai cứu chúa” mà còn rất hiệu quảtrong việc phát hiện và xử lý xâm nhập, vì trên Honeyspots đã thiết lập sẵn cáccơ chế giám sát và báo động

Ngoài ra, Honeyspots còn có giá trị trong việc học hỏi và rút kinh nghiệm

từ Attacker, do Honeyspots ghi nhận khá chi tiết mọi động thái của attacker trên

hệ thống Nếu attacker bị đánh lừa và cài đặt Agent hay Handler lên Honeyspotsthì khả năng bị triệt tiêu toàn bộ mạng Botnet là rất cao

1.6.6 Giai đoạn sau tấn công

Trong giai đoạn này thông thờng thực hiện các công việc sau:

- Traffic Pattern Analysis: Nếu dữ liệu về thống kê biến thiên lợng

traffic theo thời gian đã đợc lu lại thì sẽ đợc đa ra phân tích Quá trình phân tíchnày rất có ích cho việc tinh chỉnh lại các hệ thống Load Balancing và Throttling.Ngoài ra các dữ liệu này còn giúp quản trị mạng điều chỉnh lại các quy tắc kiểmsoát traffic ra vào mạng của mình

- Packet Traceback: bằng cách dùng kỹ thuật Traceback ta có thể truy

ngợc lại vị trí của Attacker (ít nhất là subnet của attacker) Từ kỹ thuậtTraceback ta phát triển thêm khả năng Block Traceback từ attacker khá hữu hiệu

- Bevent Logs: Bằng cách phân tích file log sau cuộc tấn công, quản trị

mạng có thể tìm ra nhiều manh mối và chứng cứ quan trọng

Những vấn đề có liên quan

DDoS là một kiểu tấn công rất đặc biệt, điểm cực kỳ hiểm ác của DDoSlàm cho nó khó khắc phục là “DDoS đánh vào nhân tố yếu nhất của hệ thốngthông tin – con ngời” Từ đặc điểm này của DDoS làm phát sinh rất nhiều cácvần đề mà mọi ngời trong cộng đồng Internet phải cùng chung sức mới có thểgiải quyết

Sau đây là các yếu điểm mà chúng ta cần phải hạn chế :

Trang 18

1.6.7 Thiếu trách nhiệm với cộng đồng

Con ngời thông thờng chỉ quan tâm đầu t tiền bạc và công sức cho hệthống thông tin của “chính mình” DDoS khai thác điểm này rất mạnh ở phơngthức giả mạo địa chỉ và Broadcast amplification

- IP spoofing: một cách thức đơn giản nhng rất hiệu quả đợc tận

dụng tối đa trong các cuộc tấn công DDoS Thực ra chống giả mạo địa chỉ không

có gì phức tạp, nh đã đề cập ở phần trên, nếu tất cả các subnet trên Internet đềugiám sát các packet ra khỏi mạng của mình về phơng diện địa chỉ nguồn hợp lệthì không có một packet giả mạo địa chỉ nào có thể truyền trên Internet đợc

Đề nghị: “Tự giác thực hiện Egress Filtering ở mạng do mình quản lý”.

Hi vọng một ngày nào đó sẽ có quy định cụ thể về vấn đề này cho tất cả các ISPtrên toàn cầu

- Broadcast Amplification: tơng tự IP spoofing, nó lợi dụng toàn bộ một

subnet để flood nạn nhân Vì vậy, việc giám sát và quản lý chặt chẽ khả năngbroadcast của một subnet là rất cần thiết Quản trị mạng phải cấu hình toàn bộ hệthống không nhận và forward broadcast packet

1.6.8 Sự im lặng

Hầu hết các tổ chức đều không có phản ứng hay im lặng khi hệ thống củamình bị lợi dụng tấn công hay bị tấn công Điều này làm cho việc ngăn chặn vàloại trừ các cuộc tấn công trở nên khó khăn Mọi việc trở nên khó khăn khi mọingời không chia sẻ kinh nghiệm từ các cuộc tấn công, trong khi giới hacker thìchia sẻ mã nguồn mở của các công cụ, một cuộc chơi không cân sức

Đề nghị:

Mỗi tổ chức có liên quan nên thiết lập quy trình xử lý xâm nhập vào tổchức, nhóm chuyên trách với trách nhiệm và quy trình thật cụ thể Các ISP nênthiết lập khả năng phản ứng nhanh và chuyên nghiệp để hỗ trợ các tổ chức trongviệc thực hiện quy trình xử lý xâm nhập của mình

Khuyến khích các quản trị mạng gia nhập mạng lới thông tin toàn cầu củacác tổ chức lớn về bảo mật nhằm thông tin kịp thời và chia sẻ kinh nghiệm vớimọi ngời

Tất cả các cuộc tấn công hay khuyết điểm của hệ thống đều phải đợc báocáo đến bộ phận tơng ứng để xử lý

Trang 19

hỏi một cái nhìn và thái độ đúng đắn của cộng đồng Internet Cần phải có nhữngnghiên cứu thêm về mặt quy định bắt buộc và pháp lý nhằm hỗ trợ chúng tac giảiquyết các vấn đề mà kỹ thuật không thực hiện nỗi Một số vấn đề cần thực hiệnthêm trong tơng lai:

- Giám sát chi tiết về luồng dữ liệu ở cấp ISP để cảnh cáo về cuộc tấncông

- Xúc tiến đa IPSec và Secure DNS vào sử dụng

- Khẳng định tầm quan trọng của bảo mật trong quá trình nghiên cứu

và phát triển của Internet II

- Nghiên cứu phát triển công cụ tự động sinh ra ACL từ securitypolicy, router và firewall

- ủng hộ việc phát triển các sản phẩm hớng bảo mật có các tínhnăng: bảo mật mặc định, tự động update

- Tài trợ việc nghiên cứu các protocol và các hạ tầng mới hỗ trợ khảnăng giám sát, phân tích và điều khiển dòng dữ liệu thời gian thực

- Phát triển các router và switch có khả năng xử lý phức tạp hơn

- Nghiên cứu phát triển các hệ thống tơng tự nh Intrusion Dectection,hoạt động so sánh trạng thái hiện tại với định nghĩa bình thờng củ hệ thống từ đó

- Phát triển hệ điều hành bảo mật hơn

- Nghiên cứu các hệ thống tự động hồi phục có khả năng chống chọi,ghi nhận và hồi phục sau tấn công cho các hệ thống xung yếu

- Nghiên cứu các biện pháp truy tìm, công cụ pháp lý phù hợp nhằmtrừng trị thích đáng các attacker mà vẫn không xâm phạm quyền tự do riêng t cánhân

- Đào tạo lực lợng tinh nhuệ về bảo mật làm nòng cốt cho tính antoàn của Internet

- Nhấn mạnh yếu tố bảo mật và an toàn hơn là chỉ tính đến chi phíkhi bỏ ra xây dựng một hệ thống thông tin

Nhận xét:

Trang 20

Thông qua chơng này, ta có thể thấy DDoS thực sự là “Rất dễ thực hiện,hầu nh không thể tránh, hậu quả rất nặng nề.” Chính vì vậy việc đấu tranh phòngchống DDoS là công việc không chỉ của một cá nhân, một tập thể hay một quốcgia mà là công việc của toàn thế giới nói chung và cộng đồng sử dụng mạngInternet nói riêng

Chơng 2 Hệ

THốNG PHáT HIệN Và CHốNG XÂM NHậP CHốNG XÂM

NHậP – IDS & IPS IDS & IPS

Qua chơng 1 chúng ta có thể thấy rõ mối nguy hiểm từ các cuộc tấn côngDDoS Việc phát hiện và nhất là công việc phòng tranh cũng nh đối phó lại vớiDDoS không phải chuyện đơn giản Cùng với thời gian, các kỹ thuật tấn côngngà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 qủa.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ằmkiểm soá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êncá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ựctrớ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 Hệ thống phòng chống thâm nhập IPS là một kỹ thuật an ninh mới, kếthợ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ả 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

đó

Trong chơng này chúng ta sẽ tìm hiểu về vai trò, chức năng và cơ chế hoạt

động của hệ thống IPS và IPS trong việc phát hiện và phòng chống tấn công từchối dịch vụ DDoS

2.1 IDS (Intrusion Detection System):

Định nghĩa:

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

thống giám sát lu thông mạng, các hoạt động khả nghi và cảnh báo cho hệ thống,nhà quản trị

IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong (từnhững ngời trong công ty) hay tấn công từ bên ngoài (từ các hacker) IDS pháthiện dựa trên các dấu hiệu đặc biệt về các nguy cơ đã biết (giống nh cách cácphần mềm diệt virus dựa vào các dấu hiệu đặc biệt để phát hiện và diệt virus)hay dựa trên so sánh lu thông mạng hiện tại với baseline (thông số đo đạc chuẩncủa hệ thống) để tìm ra các dấu hiệu khác thờng

Khái niệm “Phát hiện xâm nhập”: 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íchchúng để tìm ra các dấu hiệu “xâm nhập bất hợp pháp” Xâm nhập bất hợp pháp

Trang 21

đợ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ẵnsà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ấncô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ềnkhác mà họ cha đợc cấp phát

Phân loại IDS:

Có 2 loại IDS là Network Based IDS (NIDS) và Host Based IDS (HIDS)

2.1.1 Network IDS hoặc NIDS :

Đợc đặt giữa kết nối hệ thống mạng bên trong và mạng bên ngoài để giámsát toàn bộ lu lợng vào ra Có thể là một thiết bị phần cứng riêng biệt đợc thiếtlập sẵn hay phần mềm cài đặt trên máy tính Chủ yếu dùng để đo lu lợng mạng

đợc sử dụng.Tuy nhiên có thể xảy ra hiện tợng nghẽn cổ chai khi lu lợng mạnghoạt động ở mức cao

- Ví trí: mạng bên trong (NIDS - mạng bên ngoài)

- Loại: hardware (phần cứng) hoặc software (phần mềm)

- Nhiệm vụ: Chủ yếu giám sát lu lợng ra vào mạng

- Nhợc điểm : Có thể xảy ra hiện tợng nghẽn khi lu lợng mạng hoạt

Trang 22

2.1.2 Host IDS hoặc HIDS:

Đợc cài đặt cục bộ trên một máy tính làm cho nó trở nên linh hoạt hơnnhiều so với NIDS Kiểm soát lu lợng vào ra trên một máy tính, có thể đợc triểnkhai trên nhiều máy tính trong hệ thống mạng HIDS có thể đợc cài đặt trênnhiều dạng máy tính khác nhau cụ thể nh các máy chủ, máy trạm, máy tính xáchtay HIDS cho phép bạn thực hiện một cách linh hoạt trong các đoạn mạng màNIDS không thể thực hiện đợc Lu lợng đã gửi tới máy tính HIDS đợc phân tích

và chuyển qua nếu chúng không chứa mã nguy hiểm HIDS đợc thiết kế hoạt

động chủ yếu trên hệ điều hành Windows , mặc dù vậy vẫn có các sản phẩm hoạt

động trong nền ứng dụng UNIX và nhiều hệ điều hành khác

- Ví trí : cài đặt cục bộ trên máy tính và dạng máy tính nên linh hoạt hơn NIDS.

- Loại : software (phần mềm).

- Nhiệm vụ : phân tích lu lợng ra vào mạng chuyển tới máy tính cài đặt HIDS

- Ưu điểm :

- Cài đặt trên nhiều dạng máy tính : xách tay, PC,máy chủ

- Phân tích lu lợng mạng rồi mới forward

- Nhợc điểm : Đa số chạy trên hệ điều hành Window Tuy nhiêncũng đã có 1 số chạy đợc trên Unix và những hệ điều hành khác

Hình 2-: Mô hình HIDS

* Một số sản phẩm HIDS:

- Snort (Miễn phí, mã nguồn mở)

- GFI EventsManager 7

Các kỹ thuật xử lý dữ liệu đợc sử dụng trong các hệ thống phát hiện xâm nhập:

Phụ thuộc vào kiểu phơng pháp đợc sử dụng để phát hiện xâm nhập, cáccơ chế xử lý khác nhau cũng đợc sử dụng cho dữ liệu đối với một IDS

Trang 23

- Hệ thống Expert (Expert systems): Hệ thống này làm việc trên mộttập các nguyên tắc đã đợc định nghĩa từ trớc để miêu tả các tấn công Tất cả các

sự kiện có liên quan đến bảo mật đều đợc kết hợp vào cuộc kiểm định và đợcdịch dới dạng nguyên tắc if-then-else Lấy ví dụ Wisdom & Sense vàComputerWatch (đợc phát triển tại AT&T)

- Phát hiện xâm nhập dựa trên luật (Rule-Based Intrusion Detection):Giống nh phơng pháp hệ thống Expert, phơng pháp này dựa trên những hiểu biết

về tấn công Chúng biến đổi sự mô tả của mỗi tấn công thành định dạng kiểm

định thích hợp Nh vậy, dấu hiệu tấn công có thể đợc tìm thấy trong các bảnghi(record) Một kịch bản tấn công có thể đợc mô tả, ví dụ nh một chuỗi sự kiệnkiểm định đối với các tấn công hoặc mẫu dữ liệu có thể tìm kiếm đã lấy đợctrong cuộc kiểm định Phơng pháp này sử dụng các từ tơng đơng trừu tợng củadữ liệu kiểm định Sự phát hiện đợc thực hiện bằng cách sử dụng chuỗi văn bảnchung hợp với các cơ chế Điển hình, nó là một kỹ thuật rất mạnh và thờng đợc

sử dụng trong các hệ thống thơng mại (ví dụ nh: Cisco Secure IDS, EmeraldeXpert-BSM(Solaris))

- Phân biệt ý định ngời dung (User intention identification): Kỹ thuậtnày mô hình hóa các hành vi thông thờng của ngời dùng bằng một tập nhiệm vụmức cao mà họ có thể thực hiện đợc trên hệ thống (liên quan đến chức năng ngờidùng) Các nhiệm vụ đó thờng cần đến một số hoạt động đợc điều chỉnh sao chohợp với dữ liệu kiểm định thích hợp Bộ phân tích giữ một tập hợp nhiệm vụ cóthể chấp nhận cho mỗi ngời dùng Bất cứ khi nào một sự không hợp lệ đợc pháthiện thì một cảnh báo sẽ đợc sinh ra

- Phân tích trạng thái phiên (State-transition analysis): Một tấn công

đợc miêu tả bằng một tập các mục tiêu và phiên cần đợc thực hiện bởi một kẻxâm nhập để gây tổn hại hệ thống Các phiên đợc trình bày trong sơ đồ trạng tháiphiên Nếu phát hiện đợc một tập phiên vi phạm sẽ tiến hành cảnh báo hay đáptrả theo các hành động đã đợc định trớc

- Phơng pháp phân tích thống kê (Statistical analysis approach): Đây

là phơng pháp thờng đợc sử dụng Hành vi ngời dùng hay hệ thống (tập cácthuộc tính) đợc tính theo một số biến thời gian Ví dụ, các biến nh là: đăng nhậpngời dùng, đăng xuất, số tập tin truy nhập trong một khoảng thời gian, hiệu suất

sử dụng không gian đĩa, bộ nhớ, CPU,…Và còn hàng trăm các cuộc tấn công Chu kỳ nâng cấp có thể thay đổi từ mộtvài phút đến một tháng Hệ thống lu giá trị có nghĩa cho mỗi biến đợc sử dụng

để phát hiện sự vợt quá ngỡng đợc định nghĩa từ trớc Ngay cả phơng pháp đơngiản này cũng không thế hợp đợc với mô hình hành vi ngời dùng điển hình Các

Trang 24

phơng pháp dựa vào việc làm tơng quan thông tin về ngời dùng riêng lẻ với cácbiến nhóm đã đợc gộp lại cũng ít có hiệu quả Vì vậy, một mô hình tinh vi hơn

về hành vi ngời dùng đã đợc phát triển bằng cách sử dụng thông tin ngời dùngngắn hạn hoặc dài hạn Các thông tin này thờng xuyên đợc nâng cấp để bắt kịpvới thay đổi trong hành vi ngời dùng Các phơng pháp thống kê thờng đợc sửdụng trong việc bổ sung trong IDS dựa trên thông tin hành vi ngời dùng thôngthờng

2.2 IPS (Intrusion Detection System):

Định nghĩa:

IPS (Intrusion Detection System- hệ thống phát hiện xâm nhập) là một hệ

thống chống xâm nhập ( Intrusion Prevention System –IPS) đợc định nghĩa làmột phần mềm hoặc một thiết bị chuyên dụng có khả năng phát hiện xâm nhập

và có thể ngăn chặn các nguy cơ gây mất an ninh IDS và IPS có rất nhiều điểmchung, do đó hệ thống IDS và IPS có thể đợc gọi chung là IDP-IntrusionDetection and Prevention

Phân loại:

Có hai kiểu chính khi triển khai IPS là out-of-band IPS và in-line IPS:

- Out-of-band IPS (OOB IPS): hệ thống IPS đứng “dạng chân” trênfirewall Nh vậy luồng dữ liệu vào hệ thống mạng sẽ cùng đI qua firewall và IPS.IPS có thể kiểm soát luồn dữ liệu vào, phân tích và phát hiện các dấu hiệu của sựxâm nhập, tấn công Với vị trí này, OOB IPS có thể quản lý firewall, chỉ dẫn nóchặn lạI các hành động nghi ngờ

- In-line IPS: Vị trí IPS nằm trớc firewall, luồng dữ liệu phảI đIquachúng trớc khi tới firewall Điểm khác chính so với OOB IPS là có thêm chứcnăng traffic-blocking Điều đó làm cho IPS có thể ngăn chặn luồng giao thôngnguy hiểm nhanh hơn so với OOB IPS Tuy nhiên vị trí này sẽ làm cho tốc độluồng thông tin qua ra vào mạng chậm hơn

Với mục tiêu ngăn chặn các cuộc tấn công, hệ thống IPS phải hoạt độngtheo thời gian thực Tốc độ họat động của hệ thống là một yếu tố rất quan trọng.Qua tằinh phát hiện xâm nhập phải đủ nhanh để có thể ngăn chặn các cuộc tấncông ngay lập tức Nếu không đáp ứng đợc điều này thì các cuộc tấn công đã đợcthực hiện xong và hệ thống IPS là vô nghĩa

Các thành phần chính của IPS

Hệ thống IPS gồm 3 modul chính: modul phân tích gói, modul phát hiệntấn công, modul phản ứng Dới đây ta xét cụ thể các modul đó:

Trang 25

- Modul phân tích gói(packet analyzer): Modul này có nhiệm vụ phân

tích cấu trúc thông tin trong các gói tin Card mạng (NIC) của máy giám sát đợc

đặt ở chế độ promiscuous mode, tất cả các gói tin qua chúng đều đợc copy lại vàchuyển lên lớp trên Bộ phân tích gói đọc thông tin từng trờng trong gói tin, xác

định chúng thuộc kiểu gói tin nào, dịch vụ gì…Và còn hàng trăm các cuộc tấn công Các thông tin này đợc chuyển

đến modul phát hiện tấn công

- Modul phát hiện tấn công: Đây là modul quan trọng nhất trong hệ

thống, có khả năng phát hiện các cuộc tấn công Có hai phơng pháp để phát hiệncác cuộc tấn công, xâm nhập: Misuse Detection (dò sự lạm dụng) và AnomalyDetection (dò sự không bình thờng)

- Misuse Detection: Phơng pháp này phân tích các hoạt động của hệ

thống, tìm kiếm các sự kiện giống với cá

2.3 So sánh giữa IDS và IPS:

Hiện nay, Công nghệ của IDS đã đợc thay thế bằng các giải pháp IPS Nếu

nh hiểu đơn giản, ta có thể xem nh IDS chỉ là một cái chuông để cảnh báo chongời quản trị biết những nguy cơ có thể xảy ra tấn công Dĩ nhiên ta có thể thấyrằng, nó chỉ là một giải pháp giám sát thụ động, tức là chỉ có thể cảnh báo màthôi, việc thực hiện ngăn chặn các cuộc tấn công vào hệ thống lại hoàn toàn phụthuộc vào ngời quản trị Vì vậy yêu cầu rất cao đối với nhà quản trị trong việcxác định các lu lợng cần và các lu lợng có nghi vấn là dấu hiệu của một cuộc tấncông Và dĩ nhiên công việc này thì lại hết sức khó khăn Với IPS, ngời quản trịkhông nhũng có thể xác định đợc các lu lợng khả nghi khi có dấu hiệu tấn công

mà còn giảm thiểu đợc khả năng xác định sai các lu lợng Với IPS, các cuộc tấncông sẽ bị loại bỏ ngay khi mới có dấu hiệu và nó hoạt động tuân theo một quyluật do nhà Quản trị định sẵn

IDS hiện nay chỉ sử dụng từ một đến 2 cơ chế để phát hiện tấn công Vìmỗi cuộc tấn công lại có các cơ chế khác nhau của nó (Có thể tham khảo thêmcác bài viết về DoS của tui), vì vậy cần có các cơ chế khác nhau để phân biệt.Với IDS, do số lợng cơ chế là ít nên có thể dẫn đến tình trạng không phát hiện ra

đợc các cuộc tấn công với cơ chế không định sẵn, dẫn đến khả năng các cuộc tấncông sẽ thành công, gây ảnh hởng đến hệ thống Thêm vào đó, do các cơ chế củaIDS là tổng quát, dẫn đến tình trạng báo cáo nhầm, cảnh báo nhầm, làm tốn thờigian và công sức của nhà quản trị Với IPS thì đợc xây dựng trên rất nhiều cơ chếtấn công và hoàn toàn có thể tạo mới các cơ chế phù hợp với các dạng thức tấncông mới nên sẽ giảm thiểu đợc khả năng tấn công của mạng, thêm đó, độ chínhxác của IPS là cao hơn so với IDS

Trang 26

Nên biết rằng với IDS, việc đáp ứng lại các cuộc tấn công chỉ có thể xuấthiện sau khi gói tin của cuộc tấn công đã đi tới đích, lúc đó việc chống lại tấncông là việc nó gửi các yêu cầu đến các máy của hệ thống để xoá các kết nối đếnmáy tấn công và máy chủ, hoặc là gửi thông tin thông báo đên tờng lửa( Firewall) để tờng lửa thực hiện chức năng của nó, tuy nhiên, việc làm này đôikhi lại gây tác động phụ đến hệ thống Ví dụ nh nếu Attacker giả mạo (sniffer)của một đối tác, ISP, hay là khách hàng, để tạo một cuộc tấn công từ chối dịch

vụ thì có thể thấy rằng, mặc dù IDS có thể chặn đợc cuộc tấn công từ chối dịch

vụ nhng nó cũng sẽ Block luôn cả IP của khách hàng, của ISP, của đối tác, nhvậy thiệt hại vẫn tồn tại và coi nh hiệu ứng phụ của DoS thành công mặc dù cuộctấn công từ chối dịch vụ thất bại Nhng với IPS thì khác nó sẽ phát hiện ngay từ

đầu dấu hiệu của cuộc tấn công và sau đó là khoá ngay các lu lợng mạng này thìmới có khả năng giảm thiểu đợc các cuộc tấn công

2.4 Kết luận:

Trên đây chúng ta đã tìm hiểu tổng quan về vai trò, chức năng của hệthống IDS – IPS, trong các chơng sau chúng ta sẽ đi sâu nghiên cứu và triểnkhai một hệ thống IDS-IPS dựa trên các nền tảng mã nguồn mở đang đợc sửdụng rộng rãi hiện nay

Chơng 3 TổNG

QUAN Về SNORT

Với khả năng phát hiện và cảnh báo các cuộc tấn công trên mạng, hiệnSnort là một IDS khá xuất sắc trong việc phát hiện các cuộc tấn công DDoS.Trong chơng này chúng ta sẽ nghiên cứu chi tiết về vai trò, chứa năng hoạt độngcủa snort

3.1 GIớI THIệU SNORT:

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ậphost-based, đợc cài đặt trên một host cụ thể và chỉ để phát hiện các sự tấn côngnhắ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ònmới nhng Snort đợc đánh giá là hệ thống tốt nhất hiện nay

Snort chủ yếu là một IDS dựa trên luật, tuy nhiên các input plug-in cũngtồ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 lu trữ trong các file text, có thể đợc chỉnh sửabở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 lu trong các file khác nhau File cấu hình chính của Snort là snort.conf.

Trang 27

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 để cungcấ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ácluật là một vấn đề đòi hỏi sự tinh tế, vì bạn 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ácluật đợc định nghĩa trớc để phát hiện các hành động xâm nhập và bạn cũng cóthể thêm vào các luật của chính bạn Bạn cũng có thể xóa một vài luật đã đợc tạotrớc để tránh việc báo động sai

3.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ệcvới nhau để phát hiện các cách tấn công cụ thể và tạo ra output theo một địnhdạ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

Trang 28

Packet Decoder 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 Bộ phận này

sẽ đọc packet, nhận biết các trờng trong packet

Hình 3-: Packet Decoder

Khi Decoder nhận đợc các gói dữ liệu (data blob) nó sẽ khởi tạo các contrỏ để chỉ rõ vị trí của từng loại dữ liệu Ví dụ nh đâu là Ethernet header, Ipheader, TCP header, payload…Và còn hàng trăm các cuộc tấn công

Hình 3-: Cầu trúc của packet sau khi đợc decoded

Preprocessors

Preprocessors là những thành phần đợc sử dụng với Snort để sắp xếp hoặcchỉ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óitin 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 cũngthự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ủagó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ậttrong bộ phận phát hiện Kẻ tấn công sử dụng nhiều kĩ thuật khác nhau để lừaIDS 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 Nói tóm lại, chức năng củaPreprocessors là để sắp xếp hoặc modify lại packet trớc khi đi vào detectionengine Một số module này có khả năng phát hiện các packet dị thờng trong

Trang 29

header và sinh ra alert Ngoài ra, nó có thể tái định dạng gói tin (defragment),sắp xếp lại chuỗi.

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

Có nhiều Preprocessor khác nhau trong không cấu trúc của Snort Khi cómột packet xuất hiện, các Preprocessors này đợc tải theo trình tự đợc cấu hìnhtrong Snort.conf

Hình 3-: Order of preprocessors that packet is processed

Các gói tin sẽ đợc kiểm tra qua tất cả các Preprocessor Dới đây là cácPreprocessors cơ bản:

Trang 30

Hình 3-: Gói tin đợc xử lý thông qua multimedia classification preprocessor

Detection Engine:

Đâ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ácluật của Snort cho mục đích này.Nếu một gói tin giống với bất kì lậut nào, mộthành động tơng ứng sẽ đợc thực hiện

Hình 3-: Cách detection engine làm việc

Detection Engine sử dụng một link list hai chiều để so sánh các gói tin.Khi một packet đợc đa vào Detection Engine, dựa vào giao thức, nó sẽ đợc gửi

Trang 31

đến các rule tree phù hợp rồi so sánh với mỗi Rule Tree Node từ trái qua phải,nếu phù hợp nó lại tiếp tục so sánh với Option Tree Node Link List là một matrận bao gồm hai hai cấu trúc: Rule Tree Node (RTN) và Option Tree Node(OTN).

RTN dùng để kiểm tra header của gói tin với header trong tập luật, cònOTN dùng để so sánh phần option của tập luật (mỗi tập luật gồm hai phần chính

là header và option) Dới đây là quy trình của gói tin khi đi qua RTN và OTN

Hình 3-: Compare header of packet happening in RTN

Hình 3-: Compare option part of packet happening in OTN

Sau khi các rule đã đợc phân tích cú pháp, nó đợc lu trữ trong RTN vàOTN để thuận tiện cho các quy trình tiếp theo

Trang 32

Hình 3-: Rules after comparing are kept stored in RTN và OTN

Rule List là một con trỏ dùng để trỏ tới danh sách liên kết RuleListNode,mỗi node này lại co một ListHead lu trữ các loại rule khác nhau nh Alert,Dynamic, Log, Pass, Activattion Trong mỗi ListHead sẽ bao gồm thông tin vềbốn loại giao thức: TCP, UDP, IP và ICMP

Detection Engine là bộ phận then chốt về thời gian thực thi của Snort Dựavào bộ máy của bạn mạnh nh thế nào và bao nhiêu luật bạn định nghĩa mà nó cóthể tốn những khoảng thời gian khác nhau đối với các gói tin khác nhau Nếu l ulợng trên mạng là quá lớn khi Snort đang hoạt động trong chế độ NIDS, bạn cóthể mất một vài gói tin và có thể thời gian đáp ứng không chính xác Lu lợngtrên bộ phận phát hiện phụ thuộc vào các yếu tố sau:

- Số lợng các luật.

- Sức mạnh của bộ máy mà Snort đang chạy.

- Tốc độ của bus đợc sử dụng.

- Lu lợng trên mạng

Bộ phận phát hiện hoạt động theo những cách khác nhau ở các phiên bảnkhác nhau của Snort Trong tất cả phiên bản 1.x của Snort, bộ phận phát hiệndừng việc xử lí gói tin khi phù hợp với một luật Dựa vào luật, bộ phận phát hiện

sẽ có các hành động tơng ứng Điều này có nghĩa là nếu một gói tin phù hợp vớinhiều luật, chỉ có luật đầu tiên đợc áp dụng mà không xem xét đến các luật còn

Trang 33

lại Điều này làm nảy sinh một vấn đề Một luật có độ u tiên thấp sẽ tạo ra mộtcảnh báo có độ u tiên thấp, nếu một luật có độ u tiên cao bị xếp sau trong chuỗiluật Vấn đề này đợc giải quyết trong Snort phiên bản 2, khi mà tất cả các luật đ-

ợc so sánh trên một gói tin trớc khi tạo ra một cảnh báo Sau khi so sánh tất cảcác luật, luật có độ u tiên cao nhất sẽ đợc chọn để tạo cảnh báo Vì bộ phận pháthiện trong phiên bản 2 đã đợc viết lại hoàn toàn nên nó nhanh hơn rất nhiều sovới các phiên bản trớc đây

- Alert_smb – gửi SMB messages tới máy chủ

- Alert_unixsock – Thiết lập một establishes a UNIX domain socket

và gửi cảnh báo tới đó

- Log_tcpdump – truy cập các gói bằng định dạng file tcpdump fileformat

- CSV – outputs to a comma delimited file, for easy import tospreadsheet or database applications.- XML – có thể truy cập tới SNML(Simple Network Markup Language)

- Database – truy cập trực tiếp tới các dữ liệu có liên quan (hỗ trợMySQL, PostgreSQL, Oracle, UNIXODBC)

3.3 CƠ CHế HOạT ĐộNG CủA SNORT:

Snort hoạt động ở 4 cơ chế cơ bản:

- Sniffer (snort -v)

- Packet logger (snort -l)

- Network Intrusion Detection System (snort -A hoặc snort -c

<path_to_conf_file>).

Snort là một 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 bạn cầnxem lu 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ớicác sniffer dòng lệnh Nó rất dễ để đọc và bạn có thể thấy thích khả năng bắt giữ

Trang 34

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 lu lợngmạ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 giaodiện mà nó đang lắng nghe Khi việc khởi động hoàn tất, Snort bắt đầu xuất cácgó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 headerIP,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ồmcácgiao 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à bạn có thể nhìn thấy các plain texttrong gói tin Trong trờng hợp này, văn bản gửi từ một server DNS đợc thể hiệndới dạng plain text Để xem đợc chi tiết hơn, bao gồm các header lớp liên kết dữliệu, sử dụng cờ -e Việc sử dụng cả hai tùy chọn –d và –e sẽ cho hiển thị hầu

nh tất cả các dữ liệu trong gói tin:

# snort –vde

Các chuỗi thập lục phân hiển thị nhiều dữ liệu hơn Có địa chỉ MAC và địachỉ IP Khi thực hiện kiểm tra trên một mạng hoặc bắt giữ dữ liệu bằng Snort,việc bật –vde cung cấp nhiều thông tin nhất

Để lu lại trong logfile thay vì xuất ra console, sử dụng:

snort -dve > temp.log.

Tóm lại, đây là các tùy chọn có thể sử dụng với chế độ sniffer của Snort:Những tùy chọn này có thể chạy độc lập hoặc kết hợp với cái khác

Snort là một Packet Logger:

Bớc tiếp theo sau khi sniffing các gói tin là ghi log chúng Việc ghi log chỉ

đơn giản bằng cách thêm tùy chọn –l, theo sau đó là th mục mà bạn muốn lu trữcác log Th mục mặc định trong Snort là /var/log/snort Nếu bạn xác định một thmục không tồn tại thì Snort sẽ báo một thông điệp lỗi Bạn có thể sử dụng cáctùy chọn –d, -a và –e để điều khiển số lợng thông tin sẽ đợc ghi log cho mỗigói tin Trong ví dụ sau đây, th mục log đợc thiết lập là /usr/local/log/snort, vàcác logfile bao gồm các payload gói tin:

# snort -l /usr/local/log/snort –d

Khi chạy trong chế độ này, Snort thu thập mỗi gói tin nó thấy và lu chúngtrong th mục log theo kiểu phân cấp Nói cách khác, một th mục mới đợc tạo racho mỗi địa chỉ đợc bắt giữ và dữ liệu liên quan đến địa chỉ này đợc lu trong th

Trang 35

mục đó.Snort lu các gói tin thành các file ASCII, với tên file đợc tạo ra từ giaothức và số cổng Cách tổ chức này làm cho nhà quản trị có thể dễ dàng thấy đợc

ai đang kết nối với mạng, số cổng và giao thức họ đang sử dụng (sử dụng ls –R

để liệt kê th mục log) Hãy nhớ xác định biến mạng của bạn (trong file cấu hìnhhoặc sử dụng -h ) để xác định chỉ ghi log cho mạng của bạn

Cách tổ chức phân cấp này hữu dụng khi một số giới hạn các host đợcquan tâm hoặc bạn muốn xem thoáng qua các địa chỉ IP của các host đợc bắtgiữ Tuy nhiên, th mục log có thể ngày càng nhiều vì sự gia tăng th mục và cácfile Nếu bạn ghi log tất cả lu lợng trên một mạng lớn thì có thể sẽ bị tràn inodes( Unix giới hạn tổng số file trong một file hệ thống) trớc khi bị tràn bộ nhớ Nếumột ngời nào đó thực hiện việc quét mạng của bạn và ánh xạ tất cả 65536 cổngTCp cũng nh 65536 cổng UDP, bạn sẽ đột ngột có hơn 131000 file trong một thmục đơn Sự bùng nổ file này có thể là một thử thách lớn cho bất kì một máynào, và rất dễ trở thành cách tấn công DoS Việc ghi log theo kiểu nhị phân cóthể đọc đợc bởi Snort, tcpdump hoặc ethereal Cách này làm tăng tốc độ và khảnăng vận chuyển của việc bắt giữ gói tin Hầu hết các hệ thống có thể bắt giữ vàghi log với tốc độ 100 Mbps mà không có vấn đề gì Để ghi log các gói tin theokiểu nhị phân, sử dụng –b switch Ví dụ:

# snort -b -l /usr/local/log/snort/temp.log

Khi bạn đã thực hiện việc bắt giữ gói tin, bạn có thể đọc lại các file vừatạo ra bằng khóa –r Kết quả giống nh sniffer của Snort Lu ý rằng –r khôngthể sử dụng với –C

độ này) Vị trí mặc định của file này là /etc/snort.conf Nếu bạn muốn đặt ở một

vị trí khác, bạn phải sử dụng khóa –c kèm với vị trí đặt file Các cảnh báo đợc

đặt trong file alert trong th mục log (mặc định là (/var/log/snort) Snort sẽ thoát

ra với với một lỗi nếu file cấu hình hoặc th mục log không tồn tại

Các cài đặt mặc định cho hầu nh tất cả các mục trong file này là khá tốt(mặc dù sẽ có các cảnh báo nhầm) Biến duy nhất chúng ta mới thiết lập là biến

Trang 36

RULE_PATH, chỉ cho Snort nơi của các file luật File cảnh báo nằm trong thmục /var/log/snort File này chứa các cảnh báo đợc tạo ra khi Snort đang chạy.Các cảnh báo Snort đợc phân loại theo kiểu cảnh báo Một luật Snort cũng xác

định một mức độ u tiên cho một cảnh báo.Điều này cho phép bạn lọc các cảnhbáo có độ u tiên thấp

Các tùy chọn câu lệnh, file cấu hình và các luật của Snort sẽ đợc trình bàytrong các phần tiếp theo

Các tùy chọn câu lệnh của Snort:

Trớc khi chúng ta tìm hiểu các cơ chế hoạt động của Snort, đầu tiên hãyxem xét các tùy chọn của dòng lệnh Một vài tùy chọn có thể đợc xác định trongfile cấu hình thay vì ở dòng lệnh Nếu bạn chỉ muốn thử một vài thứ, xác địnhcác cài đặt trong dòng lệnh Nếu bạn dự định sẽ giữ các cài đặt này trong mộtkhoảng thời gian, thiết lập chúng trong file cấu hình

Các luật của Snort

Giống nh virut, hấu hết các hành vi xâm nhập đều có một vài dấu hiệu.Thông tin về các dấu hiệu này đợc sử dụng để tạo ra các luật của Snort Bạn cóthể sử dụng honeypot để biết kẻ xâm nhập đang làm gì và thông tin về các công

cụ và kĩ thuật của chúng Ngoài ra, có các sơ sở dữ liệu về các điểm yếu mà kẻxâm nhập muốn khai thác Những cách tấn công đã biết này cũng có thể đợc sửdụng nh là các dấu hiệu để phát hiện một ngời nào đó muốn tấn công hệ thốngcủa bạn.Các dấu hiệu có thể tồn tại trong header của các gói tin Hệ thống pháthiện xâm nhập dựa trên Snort thì dựa trên các luật Các luật của Snort có thể đ ợc

sử dụng để kiểm tra nhiều phần khác nhau của gói tin.Một luật có thể đợc sửdụng để tạo ra một thông điệp cảnh báo, ghi lại một thông điệp ,hoặc trongSnort là “pass” gói tin Hầu hết các luật của Snort đợc viết theo từng dòng đơn.Tuy nhiên, bạn cũng có thể mở rộng các luật thành nhiều dòng bằng cách sửdụng kí tự gạch chéo ngợc tại cuối dòng Các luật thờng đợc đặt trong file cấu

hình, thờng là snort.conf Bạn cũng có thể sử dụng nhiều file bằng cách gom

chúng lại trong một file cấu hình chính

3.4 RULE – IDS & IPS CấU TRúC LUậT CủA SNORT

Luật dở đầu tiên

Thật ra, đây có thể là luật tệ nhất đã từng đợc viết, nhng nó kiểm tra rất tốtnếu Snort đang hoạt động tốt và có thể tạo ra các cảnh báo

Alert ip any any -> any any (msg : IP Packet detected)

Bạn có thể dùng luật này vào cuối mỗi file snort.conf khi bạn cài đặt Snortlần đầu tiên Luật này sẽ tạo ra cảnh báo cho mỗi gói tin Ip bắt đợc Nó sẽ làm

đầy không gian đĩa một cách nhanh chóng nếu nh bạn vẫn để nó ở đó Luật này

Trang 37

dở vì nó không truyền đạt bất kì thông tin gì.Tại sao ta sử dụng luật này? Đó cóthể là lần đầu tiên bạn kiểm tra để đảm bảo Snort đã đợc cài đặt đúng Trong cáclần tiếp theo, bạn sẽ thấy thông tin về các phần khác nhau của luật Snort.Luật kếtiếp tạo ra cảnh báo cho tất cả các gói tin ICMP.

Alert icmp any any -> any any (msg : “ICMP Packet found”)

Cấu trúc của một luật

Tất cả các luật Snort đều có hai phần chính : header và options Phần

header chứa các thông tin về hành động mà luật sẽ thực hiện Nó cũng chứa các

tiêu chuẩn về việc so sánh một luật trên một gói tin Phần option thờng chứa một

thông điệp cảnh báo và thông tin về phần nào của gói tin đợc sử dụng để tạo racảnh báo Một luật có thể phát hiện một hoặc nhiều kiểu xâm nhập

Header của luật Snort

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

Trong đó :

- Action : xác định kiểu hành động đợc thực hiện khi một tiêu chuẩn đợc

so trùng và một luật giống với gói tin dữ liệu Hành động điển hình là việc tạo racác cảnh báo hoặc ghi lại các thông điệp log

- Protocol : đợc sử dụng để áp dụng luật trên gói tin cho một giao thức

cụ thể Phần protocol đợc sử dụng để áp dụng luật trên các gói tin chỉ đối vớimột giao thức cụ thể Đây là tiêu chuẩn đầu tiên đợc đề cập trong luật Một vàigiao thức đợc sử dụng nh là IP, ICMP, UDP

- Address : xác định đại chỉ nguồn và địa chỉ đích Địa chỉ có thể là của

một host, nhiều host hoặc là địa chỉ mạng Lu ý rằng trong một luật sẽ có 2 địachỉ : địa chỉ nguồn và địa chỉ đích

- Port : đợc áp dụng trong trờng hợp TCP hay UDP, xác định cổng nguồn

và đích của một gói tin mà luật đợc áp dụng Trong trờng hợp giao thức lớpmạng là IP và ICMP, số port là không có ý nghĩa

- Direction : của luật xác định địa chỉ và cổng nào đợc sử dụng nh là

nguồn hay là đích

- Ví dụ: xét một luật sau đây Luật này sẽ tạo ra một thông điệp cảnh

báo bất cứ khi nào nó phát hiện một gói tin ping ICMP (ICMP ECHOREQUEST) với TTL là 100, nh sau:

alert icmp any any -> any any(msg:"PingwithTTL=100";\ttl: 100)

Phần trớc dấu ngoặc đơn là header của luật, phần trong dầu ngoặc đơn là phầnoption Phần header chứa các thông tin nh sau:

Trang 38

- Rule action (Phần thực thi của luật): trong luật này, kiểu thực thi của

luật là “alert”, nghĩa là một cảnh báo sẽ đợc tạo ra khi trùng với một dấu hiệu xn.Nhớ rằng gói tin sẽ đợc ghi log một cách mặc định khi cảnh báo đợc tạo ra Phụthuộc vào phần action, phần option của luật có thể chứa các tiêu chuẩn thêm vàotrong luật

- Protocol (Giao thức) : trong luật này, giao thức là ICMP, nghĩa là luật

này chỉ đợc áp dụng trên các gói tin ICMP Trong bộ phận phát hiện của Snort,nếu giao thức của một gói tin không phải là ICMP, phần còn lại của gói tin sẽkhông đợc quan tâm để tiết kiệm thời gian CPU Phần protocol đóng một vai tròqian trọng khi bạn muốn áp dụng luật Snort chỉ trên những gói tin với nhữngkiểu cụ thể

- Địa chỉ nguồn và cổng nguồn : trong ví dụ này, cả hai phần này đều là

“any”, nghĩa là luật đợc áp dụng cho tất cả các gói tin đến từ một nguồn bất kì

Dĩ nhiên số cổng không liên quan gì đến gói tin ICMP Số cổng chỉ liên quan khigiao thức đợc sử dụng là TCP hoặc UDP

- Direction : Trong trờng hợp này direction đợc thiết lập là từ trái qua

phải sử dụng kí hiệu -> Điều này chỉ ra rằng số địa chỉ và cổng ở phía bên trái lànguồn và ở phía bên phải là của đích Nó cũng có nghĩa là luật này sẽ đợc ápdụng trên các gói tin di chuyển từ nguồn tới đích Bạn cũng có thể sử dụng kíhiệu <- để đảo lại ý nghĩa của nguồn và đích Lu ý rằng kí hiệu <> cũng có thể

đợc sử dụng để áp dụng luật trên cả hai hớng

- Địa chỉ đích và cổng đích : trong ví dụ này, cả hai phần này đều là

“any”, nghĩa là luật đợc áp dụng cho tất cả các gói tin đến từ một đích bất kì.Phần direction trong luật này không đóng một vai trò gì cả vì luật đợc áp dụngtrên tất cả các gói tin ICMP di chuyển theo bất kì hớng nào, vì từ khóa “any” ởcả phần nguồn và đích

Rule Options

Rule option theo sau rule header và đợc đóng gói trong dấu ngoặc đơn Có thể cómột hoặc nhiều option, đợc cách nhau bởi dấu phẩy Nếu bạn sử dụng nhiềuoption, những option hình thành phép logic AND Một action trong rule headerchỉ đợc thực hiện khi tất cả các option đều đúng Tất cả các option đợc địnhnghĩa bằng các từ khóa Một vài option cũng chứa các tham số Thông thờng,một option có thể có 2 phần : từ khóa và đối số Các đối số đợc phân biệt với từkhóa bằng dấu hai chấm

Ví dụ:

msg: "Detected confidential";

Trang 39

Trong option này thì msg là từ khóa và "Detected confidential" là đối số của từ

khóa

Phần tiếp theo là các từ khóa đợc sử dụng trong phần option của luật Snort

ack:

ack: < number>;

TCP header chứa một trờng Acknowledgement Number dài 32 bit Trờng này chỉ

ra rằng sequence number kế tiếp của ngời gửi đợc mong đợi Trờng này chỉ có ýnghĩa khi cờ flag trong trờng TCP đợc thiết lập

classtype

config classification: name,description,priority

- name: tên đợc sử dụng cho việc phân loại.Tên đợc sử dụng với từ

khóa classtype trong luật Snort

- Description : mô tả ngắn về kiểu phân loại.

- Priority : thứ tự u tiên mặc định cho sự phân loại, có thể đợc chỉnh

sửa bằng từ khóa priority.Priority càng thấp thì độ u tiên càng cao.Các luật có thể

đợc phân loại và xếp thứ tự u tiên vào trong một nhóm

- Để có thể hiểu hơn về từ khóa classtype, hãy xem fileclassification.config trong snort.conf Mỗi dòng trong đó sẽ có cú pháp nh sau :

Content

content: <straight text>; content: <hex data>;

Một đặc tính quan trọng của Snort là khả năng tìm thấy một mẫu dữ liệu trongmột gói tin Mẫu đó có thể tồn tại dới dạng một chuỗi ASCII hoặc là các kí tựthập lục phân Giống nh virut, những kẻ xâm nhập cũng có các dấu hiệu và từkhóa content để có thể tìm ra các dấu hiệu trong các gói tin Vì Snort phiên bản1.x không hỗ trợ các giao thức ở lớp ứng dụng nên từ khóa này, cùng với từ khóaoffset, cũng có thể đợc sử dụng để xem xét header của lớp ứng dụng

Offset:

offset: < value>;

Từ khóa offset đợc sử dụng kết hợp với từ khóa content Sử dụng từ khóa này,bạn có thể bắt đầu tìm kiếm từ một vị trí xác định so với vị trí bắt đầu của góitin Sử dụng một con số nh là đối số của từ khóa này

Depth

depth: < value>;

Từ khóa depth cũng đợc sử dụng kết hợp với từ khóa content để xác định giớihạn trên của việc so sánh mẫu Sử dụng từ khóa này, bạn có thể xác định một vịtrí so với vị trí bắt đầu Dữ liệu sau vị trí này sẽ không đợc tìm kiếm để so

Trang 40

mẫu.Nếu bạn dùng cả hai từ khóa offset và depth thì bạn có thể xác định mộtkhoảng dữ liệu thực hiện việc so sánh mẫu.

fragbits

fragbits: < flag_settings>;

Sử dụng từ khóa này, bạn có thể tìm ra những bit RB (Reserved Bit), DF(Don'tFragment Bit), MF(More Fragments Bit) trong header IP có đợc bật lên haykhông

Ngày đăng: 29/08/2023, 16:29

HÌNH ẢNH LIÊN QUAN

Hình 1-: Phân loại các kiểu tấn công DDoS - Tìm hiểu tấn công ddos
Hình 1 : Phân loại các kiểu tấn công DDoS (Trang 3)
1.3. Sơ đồ mạng Botnet - Tìm hiểu tấn công ddos
1.3. Sơ đồ mạng Botnet (Trang 7)
Sơ đồ IRC Base - Tìm hiểu tấn công ddos
ase (Trang 8)
Hình 1-: Các phơng pháp xây dựng tài nguyên tấn côngCách thức cài đặt DDoS - Tìm hiểu tấn công ddos
Hình 1 : Các phơng pháp xây dựng tài nguyên tấn côngCách thức cài đặt DDoS (Trang 9)
Hình 1-: Mô hình mạng Classic DDoS - Tìm hiểu tấn công ddos
Hình 1 : Mô hình mạng Classic DDoS (Trang 13)
Hình 1-: Mô  hình mạng X-Flash DDoS - Tìm hiểu tấn công ddos
Hình 1 : Mô hình mạng X-Flash DDoS (Trang 14)
Hình 1-: Các giai đoạn chi tiết trong phòng chống DDoS - Tìm hiểu tấn công ddos
Hình 1 : Các giai đoạn chi tiết trong phòng chống DDoS (Trang 15)
Hình 3-: Gói tin đợc xử lý thông qua multimedia classification preprocessor - Tìm hiểu tấn công ddos
Hình 3 : Gói tin đợc xử lý thông qua multimedia classification preprocessor (Trang 30)
Hình 3-: Cách detection engine làm việc - Tìm hiểu tấn công ddos
Hình 3 : Cách detection engine làm việc (Trang 30)
Hình 3-: Rules after comparing are kept stored in RTN và OTN - Tìm hiểu tấn công ddos
Hình 3 : Rules after comparing are kept stored in RTN và OTN (Trang 32)
Hình 4-: Mô hình Iptables/netfilter - Tìm hiểu tấn công ddos
Hình 4 : Mô hình Iptables/netfilter (Trang 54)
Hình 4-: Mô  tả đờng đi của gói dữ liệu. - Tìm hiểu tấn công ddos
Hình 4 : Mô tả đờng đi của gói dữ liệu (Trang 56)
Bảng 4-: Miêu tả các target mà Iptables thờng dùng nhất - Tìm hiểu tấn công ddos
Bảng 4 : Miêu tả các target mà Iptables thờng dùng nhất (Trang 58)
Hình 5-: Cơ chế hoạt động của Snort Inline - Tìm hiểu tấn công ddos
Hình 5 : Cơ chế hoạt động của Snort Inline (Trang 61)
Hình 5-: Luồng dữ liệu đi đến Web Server - Tìm hiểu tấn công ddos
Hình 5 : Luồng dữ liệu đi đến Web Server (Trang 62)

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

TÀI LIỆU LIÊN QUAN

w