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ương mạ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ấn cô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ổn thấ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ức hoạ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ường mạng internet phải kể đến đó là DDoS (Distributed Denial of Service Kiểu tấn cô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 website trên thế giới phải “điêu đứng”. Ngày 732000, website www.yahoo.com phải ngưng 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ánh chị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ệu request đế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ạt các website trong đó có những website đã quá nổi tiếng trên thể giới như hãng tin CNN, amazon.com, buy.com, Zden.com, Etrade.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, nhưng 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ển mộ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ác website 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ạp chí, 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 (www.hvaforum.net) và VietHacker.org vào cuối năm 2005 khiến các website bị 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ử www.vietco.com của công ty cổ phần Việt Cơ đã phải hứng chịu một cuộc tấn 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ạn hoạ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ông DDoS 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.Từ những dẫn chứng cụ thể trên cũng đủ để cho chúng ta thấy tấn công kiể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ống DDoS, 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.
Trang 1Lờ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ơng mạ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ấn cô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ổn thấ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ức hoạ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ờng mạng internet phải kể đến đó là DDoS (Distributed Denial of Service - Kiểu tấn cô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 website trên thế giới phải “điêu đứng” Ngày 7/3/2000, website www.yahoo.com phải ngng 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ánh chị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ệu request đế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ạt các website trong đó có những website đã quá nổi tiếng trên thể giới nh hãng tin CNN, 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ển mộ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ác website 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ạp chí, 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 (www.hvaforum.net) và VietHacker.org vào cuối năm 2005 khiến các website bị
Trang 2tê 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ử
www.vietco.com của công ty cổ phần Việt Cơ đã phải hứng chịu một cuộc tấn 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ạn hoạ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ông…DDoS 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
Từ những dẫn chứng cụ thể trên cũng đủ để cho chúng ta thấy tấn công kiể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ống DDoS, 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
Trang 3Chơ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ầm lẫ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ạng Botnet) để 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 nhng theo 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
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ới
Trang 4mụ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ống cung 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ửi packet
đến hệ thống dịch vụ của mục tiêu Phơng pháp này làm gia tăng traffic không cần thiết, làm suy giảm băng thông của mục tiêu
1.2.1.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ái hoạ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ẽ đẩy toàn bộ hệ thống đến ngỡng tới hạn
- 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êu phả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ông sẵn sàng thì hệ thống mục tiêu sẽ gửi ra một ICMP packet loại “destination port unreachable” Thông thờng các Agent software sẽ dùng địa chỉ IP giả để che giấ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ối xung 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 ECHO
Trang 5REQUEST đến hệ thống mục tiêu thì hệ thống này phải reply một lợng tơng ứng Packet để 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.1.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àn subnet bên nhận thay vì nhiều địa chỉ Router sẽ có nhiệm vụ gửi đến tất cả địa chỉ 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ố Agent nhằ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:
- 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ạn nhân Thông thờng những packet đợc dùng là ICMP ECHO REQUEST, các packet 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 REPLY packet Network amplifier sẽ gửi đến ICMP ECHO REQUEST packet đến tất cả
Trang 6các hệ thống thuộc địa chỉ broadcast và tất cả các hệ thống này sẽ REPLY packet 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 đến chargen port (port 19/UNIX) của mục tiêu, với địa chỉ bên gửi là echo port (port 7/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ộc tấ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 echo củ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 Attack nguy 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ấn cô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ác tà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.1.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 khi truyề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ằng SYN/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
Trang 7Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK nhng không nhận đợc ACK packet cuối cùng sau một khoảng thời gian quy định thì
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 địa chỉ 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 gian timeout 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ồn dậ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 đầy bằng cách gửi một packet với cờ PUSH và ACK mang giá trị là 1 Những packet này làm cho hệ thống của nạn nhân unload tất cả dữ liệu trong TCP buffer ngay lậ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ớn packet gửi đến và sẽ bị treo
1.2.1.4 Malformed Packet Attack
Malformed Packet Attack là cách tấn công dùng các Agent để gửi các packet 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
Trang 8Có 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ạn nhâ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ý
- 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ách
Trang 9attacker cấu hình mạng Botnet, các Agent sẽ chịu sự quản lý của một hay nhiều Handler.
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ợi dụng trong các cuộc tấn công DDoS, do họ không đủ kiến thức hoặc các chơng trình Backdoor Agent chỉ sử dụng rất ít tài nguyên hệ thống làm cho hầu nh không thể thấy ảnh hởng gì đến hiệu năng của hệ thống
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ồm nhiề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
Trang 10- 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à message trên channel Tuy nhiên, nếu user ngoài channel dùng một số lệnh channel locator 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ình nà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
- Không cần phải duy trì danh sách các Agent, hacker chỉ cần logon vào
IRC server là đã có thể nhận đợc report về trạng thái các Agent do các channel 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át tá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ác attacker, 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
Trang 11Hì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ình Agent lên các máy khác nhằm thiết lập mạng tấn công kiểu Agent-Handler hay IRC-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ìm kiế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
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ại trê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àng cho 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ời
Trang 12viết mà ngời dùng không thể biết đợc Có thể dùng Trojan nh một chơng trình Agent.
- 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ình Agent
* 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ạo một trang web mang nội dung tiềm ẩn những code và lệnh để đặt bẫy user Khi user truy cập nội dung của trang web, thì trang web download và cài đặt chơng trình Agent một cách bí mật Microsoft Internet Explorer (IE) thờng là mục tiêu củ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ễm chơng trình Agent software Một trong những kỹ thuật phổ biến là đặt tên file rất dà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ên attacker 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ển thị 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…
* 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 13ph-ơ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 )
- Trinoo là một công cụ tấn công từ chối dịch vụ bằng kĩ thuật UDP
Flood đợc kết hợp từ nhiều nguồn
- Một cuộc tấn công DDoS bằng Trinoo đợc thực hiện bởi kết nối của
attacker đến một hay nhiều Trinoo Master và chỉ dẫn cho Master phát động tấn công DDoS đến một hoặc nhiều mục tiêu Master sẽ liên lạc với các daemons để
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
Trang 14- Daemon -> Master : port 31335/UDP
- Deamon -> UDP Flood đến mục tiêu (random port)
1.5.1.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
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.1.4 Trinity
Trinity có hầu hết các kỹ thuật tấn công bao gồm: UDP, TCP SYN, TCP ACK, TCP fragment, TCP NULL, TCP RST, TCP random flag, TCP ESTABLISHED packet flood Nó có sẵn khả năng ngẫu nhiên hóa địa chỉ bên gởi Trinity cũng hỗ trợ TCP flood packet với khả năng ngẫu nhiên tập CONTROL FLAG Trinity có thể nói là một trong số các công cụ DDoS nguy hiểm nhất
1.5.1.5 Shaft
Shaft có các kĩ thuật tấn công UDP, ICMP và TCP flood Có thể tấn công phố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ình trạ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 :
Trang 15- Client > handler(s): port 20432/tcp
- Handler -> agent(s): port 18753/udp
- Agent -> handler(s): port 20433/udp
1.5.1.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ấn cô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ấn cô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ức bấ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
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ùng là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”
Trang 16- 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ông tạ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êu cầu tới web server dạng HTTP Request ( yêu cầu dạng POST hay GET) với một tố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
Hình 1-: Mô hình mạng X-Flash DDoS
Flash DDOS có một số đặc tính khiến cho việc ngăn chặn và phát hiện
gần nh là không thể Do mạng lới tấn công phức tạp và tự hình thành :
- Không cần thiết phải nắm quyền điều khiển và cài DDOS software vào
các infected agent Thay vào đó mọi user với một trình duyệt có hỗ trợ nội dung Flash (có Flash Player) sẽ trở thành công cụ tấn công
- Số lợng attack agent tùy thuộc vào số lợng user truy xuất các trang web
đã 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
Trang 17- 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ệnh lệnh
Ngời dùng truy xuất trang web , load nội dung flash về trình duyệt và Flash player thực thi nội dung flash thì ngay lập tức máy của họ trở thành một attack agent-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ình hacker lợi dụng đợc 10 trang web và mỗi trang web này có số lợng truy xuất khoảng 100 user tại một thời điểm thì tổng số request mà server nạn nhân phải hứ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ệu kinh 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ết quả thờng là hệ thống tê liệt ngay lập tức
Tuy nhiên, hiện nay chơng trình Flash player mới nhất đã đợc fix lỗi, cách tấ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ấn cô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ọn vẹ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ục xuất hiện theo thời gian song song với các giải pháp đối phó, tuy nhiên cuộc đua vẫ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ới bả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óa cá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ộc tấ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
Trang 18- Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và rút kinh
nghiệm
Hình 1-: Các giai đoạn chi tiết trong phòng chống DDoS
1.6.1.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ống khá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ành nế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 thực hiện các quá trình bảo mật trên máy vi tính của mình Họ phải tự kiểm tra
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ới nhữ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à update liê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.1.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à
Trang 19Agent 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ác Agent trong mạng Botnet.
1.6.1.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ôn biế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ệm giả 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ến thiê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 Protocol ICMP, UDP và TCP ta sẽ có khả năng phát hiện đợc thời điểm bắt đầu của cuộc tấn công để tạo “quỹ thời gian vàng” cho việc xử lý tình huống
1.6.1.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ộc tấ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ể đợc dùng để ngăn chặn khả năng DDoS traffic không cho user truy cập dịch vụ Hạn chế 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 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
Trang 20- 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ũng giớ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.1.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ào khi 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ác cơ 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 Honeyspots thì khả năng bị triệt tiêu toàn bộ mạng Botnet là rất cao
1.6.1.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ích nà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ểm soá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ật Traceback 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
Trang 21Nhữ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 DDoS làm cho nó khó khắc phục là “DDoS đánh vào nhân tố yếu nhất của hệ thống thông tin – con ngời” Từ đặc điểm này của DDoS làm phát sinh rất nhiều các vầ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ế :
1.6.1.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ơng thứ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 đều giá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 ISP trê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ăng broadcast 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.1.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ủa mì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ọi ngờ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
Trang 22Đề 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ên thiết lập khả năng phản ứng nhanh và chuyên nghiệp để hỗ trợ các tổ chức trong việ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ủa cá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ới mọ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áo cáo đến bộ phận tơng ứng để xử lý
- Giám sát chi tiết về luồng dữ liệu ở cấp ISP để cảnh cáo về cuộc tấn
cô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ừ security policy,
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ính nă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
Trang 23- 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ừ đó
đa ra các cảnh báo
- Góp ý kiến để xây dựng nội quy chung cho tất cả các thành phần có liên
quan đến Internet
- Thiết lập mạng lới thông tin thời gian thực giữa những ngời chịu trách
nhiệm về hoạt động của hệ thống thông tin nhằm cộng tác-hỗ trợ-rút kinh nghiệm khi có một cuộc tấn công quy mô xảy ra
- 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ằm
trừ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 an toàn
Trang 24Chơng 2 Hệ THốNG PHáT HIệN Và CHốNG XÂM NHậP CHốNG XÂM
NHậP 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ông DDoS 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ới DDoS không phải chuyện đơn giản Cùng với thời gian, các kỹ thuật tấn công ngày càng tinh vi hơn khiến các hệ thống an ninh mạng trở nên mất hiệu 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ằm kiể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ên các luật bảo vệ cố định Với kiểu phòng thủ này, các hệ thống an ninh sẽ bất lực trớc kỹ thuật tấn công mới, đặc biệt là các cuộc tấn công nhằm vào điểm yếu của
hệ thống Hệ thống phòng chống thâm nhập IPS là một kỹ thuật an ninh mới, kết hợp các u điểm của kỹ thuật tờng lửa với hệ thống phát hiện xâm nhập IDS, có khả 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át hiệ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ác phầ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ẩn của hệ thống) để tìm ra các dấu hiệu khác thờng
Trang 25Khá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ích chú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
đợc định nghĩa là sự cố gắng tìm mọi cách để xâm hại đến tính toàn vẹn, tính sẵn sàng, tính có thể tin cậy hay là sự cố gắng vợt qua các cơ chế bảo mật của hệ thống máy tính hay mạng đó Việc xâm nhập có thể là xuất phát từ một kẻ tấn công nào đó trên mạng Internet nhằm giành quyền truy cập hệ thống, hay cũng
có thể là một ngời dùng đợc phép trong hệ thống đó muốn chiếm đoạt các quyền khác mà họ 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.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ám sá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ết lậ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ạng hoạ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 động
ờ mức cao
Trang 26Hình 2-: Mô hình NIDS
* Một số sản phẩm NIDS:
- Cisco IDS.
- Dragon# IDS/IPS.
2.1.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ơn nhiề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ển khai trên nhiều máy tính trong hệ thống mạng HIDS có thể đợc cài đặt trên nhiề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ách tay 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.
Trang 27- Nhợc điểm : Đa số chạy trên hệ điều hành Window Tuy nhiên cũ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ác cơ chế xử lý khác nhau cũng đợc sử dụng cho dữ liệu đối với một IDS
- Hệ thống Expert (Expert systems): Hệ thống này làm việc trên một tậ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à đợc dị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ản ghi(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ện kiể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 đợc
Trang 28trong 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ủa dữ 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ản chung 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, Emerald eXpert-BSM(Solaris))
- Phân biệt ý định ngời dung (User intention identification): Kỹ thuật nà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ời dùng) Các nhiệm vụ đó thờng cần đến một số hoạt động đợc điều chỉnh sao cho hợ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át hiệ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ái phiê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 đáp trả 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ác thuộ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ập ngờ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, Chu kỳ nâng cấp có thể thay đổi từ một…và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 đơn giả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 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ác biế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ùng ngắ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ịp
Trang 29vớ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ông thờ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ểm chung, do đó hệ thống IDS và IPS có thể đợc gọi chung là IDP-Intrusion Detection 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ên
firewall 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 đI quachúng
trớc khi tới firewall Điểm khác chính so với OOB IPS là có thêm chức năng traffic-blocking Điều đó làm cho IPS có thể ngăn chặn luồng giao thông nguy 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 động theo 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ấn cô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 đã đợc thực hiện xong và hệ thống IPS là vô nghĩa
Trang 30Cá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ện tấn công, modul phản ứng Dới đây ta xét cụ thể các modul đó:
- 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ì 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ện các cuộc tấn công, xâm nhập: Misuse Detection (dò sự lạm dụng) và Anomaly Detection (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 cho ngờ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ấy rằ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ệc xá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ấn cô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ấn cô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 quy luật do nhà Quản trị định sẵn
Trang 31IDS 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êm cá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ấn cô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ủa IDS 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ời gian 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ấn cô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ính xác của IPS là cao hơn so với IDS
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ất hiệ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ấn cô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 đến má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 đôi khi 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, nh vậ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ộc tấ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ển khai 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
Trang 32Chơ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ện Snort 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 động củ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ập host-based, đợc cài đặt trên một host cụ thể và chỉ để phát hiện các sự tấn công nhắm đến host đó Mặc dù tất cả các phơng pháp phát hiện xâm nhập vẫn còn mới 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ũng tồn tại để phát hiện sự bất thờng trong các header của giao thức
Snort sử dụng các luật đợc lu trữ trong các file text, có thể đợc chỉnh sửa bởi ngời quản trị Các luật đợc nhóm thành các kiểu Các luật thuộc về mỗi loại
đợc lu trong các file khác nhau File cấu hình chính của Snort là snort.conf
Snort đọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp các luật để bắt giữ dữ liệu Tìm ra các dấu hiệu và sử dụng chúng trong các luật là một vấn đề đòi hỏi sự tinh tế, vì 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ác luậ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ạo trớ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ệc với nhau để phát hiện các cách tấn công cụ thể và tạo ra output theo một định
Trang 33dạ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
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
Trang 34Hì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 con trỏ để chỉ rõ vị trí của từng loại dữ liệu Ví dụ nh đâu là Ethernet header, Ip header, TCP header, payload…
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ặc chỉnh sửa gói dữ liệu trớc khi bộ phận phát hiện làm một vài xử lý để tìm ra gói tin có đợc sử dụng bởi kẻ xâm nhập hay không Một vài bộ phận xử lý trớc cũng thực thi việc phát hiện bằng cách tìm các dấu hiệu bất thờng trong header của gói tin và tạo ra các cảnh báo Bộ phận xử lí trớc là rất quan trọng trong bất kì IDS nào, chúng chuẩn bị cho các gói dữ liệu đợc phân tích dựa trên các luật trong bộ phận phát hiện Kẻ tấn công sử dụng nhiều kĩ thuật khác nhau để lừa IDS theo nhiều cách Bộ phận xử lí trớc cũng đợc sử dụng để tái hợp các gói tin Trên IDS, trớc khi áp dụng bất kì luật nào, bạn phải tái hợp các gói tin lại để tìm
ra các dấu hiệu Bộ phận xử lí trớc trong Snort có thể tái hợp các gói tin, giải mã HTTP URI, ráp lại các dòng TCP, v.v Nói tóm lại, chức năng của Preprocessors là để sắp xếp hoặc modify lại packet trớc khi đi vào detection
Trang 35engine Một số module này có khả năng phát hiện các packet dị thờng trong 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ình trong 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ác Preprocessors cơ bản:
Trang 36Hì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ác luậ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ột hành động tơng ứng sẽ đợc thực hiện
Hình 3-: Cách detection engine làm việc
Trang 37Detection 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
đế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 ma trậ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òn OTN 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
Trang 38Sau 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.
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ựa và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 lu lợ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ợng trê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.
Trang 39- 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ản khác nhau của Snort Trong tất cả phiên bản 1.x của Snort, bộ phận phát hiện dừ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ới nhiề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 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ột cả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ỗi luậ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át hiệ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 so với các phiên bản trớc đây
Output Plugin:
Module này cho phép định dạng các thông báo (alert, logs) cho ngời sử dụng bằng nhiều cách khác nhau (console, extern files, database ) …
- Các output plug-ins cơ bản:-Alert_fast – khởi tạo cảnh báo vào cái file
một dòng, sử dụng khi muốn hệ thông hoạt động nhanh
- Alert_full – tạo một th mục cho mỗi địa chỉ IP và khởi tạo cảnh báo
cũng nhue các dữ liệu vào th mục
- 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 file
format
- CSV – outputs to a comma delimited file, for easy import to
spreadsheet or database applications.- XML – có thể truy cập tới SNML (Simple Network Markup Language)
Trang 40- 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ần xem 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ới cá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ữ 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ợng mạng khi kết thúc việc bắt giữ gói tin Thỉnh thoảng, nó có thể là một công cụ gỡ rối hữu dụng cho nhà quản trị.Bật chế độ sniffer cho Snort bằng cờ -v
# snort –v
Trong lúc khởi động, Snort hiển thị chế độ, th mục ghi log, và các giao diện mà nó đang lắng nghe Khi việc khởi động hoàn tất, Snort bắt đầu xuất các gói tin ra màn hình Kết quả xuất này khá cơ bản : nó chỉ hiển thị các header IP,TCP/UDP/ICMP và một số cái khác Để thoát chế độ sniffer, sử dụng Ctrl-C Snort thoát bằng cách tạo ra một bản tóm tắt các gói tin đợc bắt giữ, bao gồm cá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 text trong gói tin Trong trờng hợp này, văn bản gửi từ một server DNS đợc thể hiện dới dạng plain text Để xem đợc chi tiết hơn, bao gồm các header lớp liên kết dữ