Trong đó có cácthủ thuật như: lợi dụng các lỗ thủng của software quản lý server hay database,… đểphá từ bên trong máy chủ, gửi spam làm tràn ngập hộp thư điện tử e-mail, dùngDoS hay DDoS
Trang 1Trước tiên em xin gửi lời cảm ơn chân thành và sâu sắc nhất tới các thầy cô giáotrong trường Đại học Duy Tân nói chung và các thầy cô giáo trong khoa Công nghệ thôngtin, bộ môn Kỹ thuật mạng nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiếnthức, kinh nghiệm quý báu trong suốt thời gian qua.
Đặc biệt, em xin gửi lời cảm ơn đến thầy giáo Võ Nhân Văn, thầy đã tận tình giúp
đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp này Trongthời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà cònhọc tập được tinh thần làm việc, thái độ nghiên cứu nghiêm túc, hiệu quả, đây là nhữngđiều rất cần thiết cho em trong quá trình học tập và công tác sau này
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đốnggóp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành đồán tốt nghiệpnày
Mặc dù đã rất cố gắng, nhưng trong một khoảng thời gian cho phép, cũng như hạnchế về mặt kiến thức của bản thân, cuốn đồ án này không thể tránh khỏi nhiều thiếu sót.Chính vì vậy, em rất mong nhận được sự góp ý của các thầy giáo, cô giáo cũng như củabạn bè và những người có quan tâm đến lĩnh vực mà cuốn đồ án này đã được trình bày
Đà Nẵng, ngày 20 tháng 10 năm 2013
NGÔ THÀNH LONG
Trang 2sử dụng những công cụ “thô” Qua thời gian, những công cụ scanning được cải thiện
và những chức năng của nó đã tích hợp và tự động Như chúng ta từng nghe nóiđến về worm, một trong những hình thức tự động scanning
Blended threat đầu tiên cũng là những chương trình đơn thuần hoặc một
nhóm các chương trình cung cấp nhiều dịch vụ, nó là những tập lệnh và điều khiển sử
dụng một IRC bot và scanning lỗ hổng.
Flooding thường được dùng trong cuộc tấn công từ chối dịch vụ (DoS) Nó tạo ra
một số lượng rất lớn các gói tin vào hệ thống mục tiêu, khiến hệ thống bị sụp đỗ
ODBC cung cấp một chuẩn bằng phương thức client kết nối vào một CSDL Để
biết nhiều thông tin về ODBC, vào http://odb c o r g
Cleartext là dạng thông điệp chứa những ký tự mà khi nhìn vào nó, ta có thể
hiểu đầy đủ ý nghĩa của những chuỗi ký tự này
Attacker: người tấn công vào hệ thống máy tính, đồng nghĩa với intruder, craker, hacker.
Master: cũng thường gọi là handler,client là hệ thống bị cài phần mền xâm
nhập,chịu sự quản lý của attacker
Daemon: hay còn gọi là agent, bcast (broadcast) program, hay zombie Là hệ
thống bị cài đặt phần mềm giúp attacker tấn công Nó chịu sự quản lý của master
Victim: nạn nhân bị tấn công.
Signature: dấu hiệu Mỗi một cuộc tấn công hay xâm nhập vào tổ chức mạng đều
mang một dấu hiệu đặc trưng Nhờ đó, người ta mới rút ra được những luật định và xâydựng thành những tập luật riêng
Rule hay Ruleset: tập luật luôn được sử dụng trong các hệ thống phát hiện xâm
nhập (IDS) hay các hệ thống ngăn chặn xâm nhập (IPS, Firewall) nhằm phát hiện và ngănchặn các hành động hay dấu hiệu xâm phạm vào hệ thống
False Posities: khi nhận ra những định dạng xuất loại này, tức là hệ thống IDS
đã sinh ra những cảnh báo mà thực chất lưu lượng nó “bắt được” là những lưu lượng
“bình thường” (không phải lưu lượng nguy hiểm)
Tcpdump là một chương trình, tiện ích tích hợp sẵn trên các hệ thống Linux, Unix.
Sử dụng tcpdump cũng giống như các chương trình bắt gói tin
C
ác t ừ ng ữ vi ế t t ắ t:
- IDS - Intrusion Detection System: Hệ thống phát hiện xâm nhập
- IPS – Intrusion Prevention System: Hệ thống ngăn chặn xâm nhập
- Snort: là một chương trình IDS
- Firewall: tường lửa
- DoS - Denial of Service Từ chối dịch vụ
Trang 3- DDoS - Distribute Denial of Service Từ chối dịch vụ phân tán.
- IRC – Internet Relay Chat
- ISP - Internet Service Provider Nhà cung cấp dịch vụ internet
- DNS - Domain Name Service Dịch vụ tên miền
- TFN - Tribe Flood Network Một công cụ tấn công DDoS
- TFN2K - Tribe Flood Network 2000
- FTP- File Transfer Protocol Giao thức truyền tập tin
- SNMP - Simple Network Managerment Protocol
- TCP – Transfer Control Protocol: giao thức điều khiển truyền vận
- UDP – User Datagram Protocol: giao thức dữ liệu người dùng
- ICMP – Internet Control Message Protocol: giao thức thông điệpđiều khiển internet
- IP – Internet Protocol: giao thức internet
- TTL – Time To Live
- ToS – Time of Service
- ACID - Analysis Console for Intrusion Databases
- BASE – Basic Analysis and Security Engine
- HTTP – HyperText Trasfer Protocol
- HTML – HyperText Mark Language
Trang 4PHẦN 1 MỞ ĐẦU
Việc tin tặc tấn công các trang web đã xẩy ra từ nhiều năm nay Trong đó có cácthủ thuật như: lợi dụng các lỗ thủng của software quản lý server hay database,… đểphá từ bên trong máy chủ, gửi spam làm tràn ngập hộp thư điện tử (e-mail), dùngDoS hay DDoS,… để tấn công từ bên ngoài, ăn cắp mật khẩu (bằng cách cài mộtphần mềm gián điệp vào máy PC cá nhân), tên miền, chiếm đoạt hộp thư,…
Website có lượt truy cập cao là mong muốn của hầu hết những khách hàng thiết kếwebsite Tuy nhiên, có đôi lúc con số thống kê số lượng truy cập không chính xácbởi sự tấn công của những kẻ phá hoại Sự tấn công này làm giảm khả năng đápứng yêu cầu từ người dùng và làm ngập lụt hệ thống, khiến website không thể trảlại thông tin theo truy vấn của khách hàng và rõ ràng đây là việc mà không nhàquản trị website nào mong muốn
Và một trong những cách mà tin tặc dùng để tấn công các trang web là Dos hayDDos Trong bài viết này tôi sẻ trình bày một cách tổng quát nhất có thể, về cáchthức tấn công các trang web của hình thức này Từ đó đưa ra những giải pháp tốtnhất để phòng chống cách thức tấn công này
- Hiểu rõ đặc điểm và cách thức tấn công của DoS & DDoS
- Nắm vững các lỗ hổng mà DoS & DDoS dựa vào để tấn công
- Cách thức triển khai 1 mạng BOTNET
- Cách thức phòng chống thông qua IDS
Nghiên cứu lý thuyết về DoS & DDoS, tìm hiểu cách thức phòng chống của hệthống IDS, từ đó đưa ra các giải pháp phòng thủ trước các cuộc tấn công của DoS
& DDoS
- Tìm hiểu về đặc điểm và cách thức tấn công của DoS & DDoS
- Tìm hiểu cách thức xây dựng và hoạt động của 1 mạng BOTNET
- Tìm hiểu các thành phần chức năng của IDS và đưa ra giải pháp phòng thủ
Trang 5Hiện nay, bất kỳ một nhà quảng trị mạng nào cũng phải luôn đề cao cảnh giác vớicác loại hình tấn công các trang web do mình quảng trị Mà loại hình tấn công nguyhiểm nhất là dùng Dos (tấn công từ chối dịch vụ) hay Ddos (phân bố tấn công từchối dịch vụ)
Để thuận lợi cho công việc sau này, tôi muốn đi sâu tìm hiểu về cách thức tấn côngcủa loại này từ đó có những giải pháp khả dỉ nhất để phòng chống
Thông qua bài viết này, tôi cũng muốn những ai chưa biết nhiều về sự nguy hiểmcũng như nguy cơ tiềm ẩn của hệ thống có thể bị tấn công Dos hay Ddos sẽ có sựchuẩn bị tốt nhất cho hệ thống, giảm tối thiểu các ảnh hưởng của các cuộc tấn công
Trang 6PHẦN 2.NỘI DUNG CHI TIẾT
Trong bối cảnh tiến trình hội nhập, vấn đề an ninh mạng và bảo mật dữ liệuđang trở nên rất được quan tâm Khi cơ sở hạ tầng và các công nghê mangj đã đápứng các yê cầu về băng thong, chất lượng dịch vụ, đồng thời thực trạng tấn côngtrên mạng đang ngày một gia tăng thì vấn đề bảo mật càng được chú trọng hơn.Không chỉ các nhà cung cấp dịch vụ Internet, các cơ quan chính phủ mà các doanhnghiệp, tổ chức cũng có ý thức hơn về an toàn thong tin
1.2.1 Lổ hổng:
Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sựngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truynhập không hợp pháp vào hệ thống Các lỗ hổng cũng có thể nằm ngay các dịch vụcung cấp như sendmail, web, ftp Ngoài ra các lỗ hổng còn tồn tại ngay chính tại
hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc trong các ứngdụng mà người sử dụng thương xuyên sử dụng như Word processing, Các hệdatabases
Có nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biêt.Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệthống được chia như sau:
- Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức
tấn công theo DoS (Dinal of Services - Từ chối dịch vụ) Mức độ nguy hiểm thấp,chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn hệ thống;không làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp
- Lổ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền
trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ Mức độ nguy hiểmtrung bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thểdẫn đến mất hoặc lộ thông tin yêu cầu bảo mật
Trang 7- Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể
truy nhập vào hệ thống bất hợp pháp Lỗ hổng rất nguy hiểm, có thể làm phá hủytoàn bộ hệ thống
1.2.2 Các kỹ thuật tấn công trên mạng:
Giả mạo địa chỉ
Giả mạo địa chỉ có thể được thực hiện thông qua sử dụng khả năng dẫnđường trực tiếp Với cách tấn công này kẻ tấn công gửi các gói tin tới mạng khácvới một địa chỉ giả mạo, đồng thời chỉ rõ đường dẫn mà các gói tin phải đi Thí dụngười nào đó có thể giả mạo địa chỉ của bạn để gửi đi những thông tin có thể làmảnh hưởng xấu tới bạn
Vô hiệu hoá các chức năng của hệ thống
Đây là kiểu tấn công làm tê liệt hệ thống, làm mất khả năng cung cấp dịch
vụ (Denial of Service - DoS) không cho hệ thống thực hiện được các chức năng mà
nó được thiết kế Kiểu tấn công này rất khó ngăn chặn bởi chính những phương tiệndùng để tổ chức tấn công lại chính là những phương tiện dùng để làm việc và truycập thông tin trên mạng Một thí dụ về trường hợp có thể xảy ra là một người trênmạng sử dụng chương trình đẩy ra những gói tin yêu cầu về một trạm nào đó Khinhận được gói tin, trạm luôn luôn phải xử lý và tiếp tục thu các gói tin đến sau chođến khi bộ đệm đầy, dẫn tới tình trạng những nhu cầu cung cấp dịch vụ của cácmáy khác đến trạm không được phục vụ
Điều đáng sợ là các kiểu tấn công DoS chỉ cần sử dụng những tài nguyêngiới hạn mà vẫn có thể làm ngưng trệ dịch vụ của các site lớn và phức tạp Do vậyloại hình tấn công này còn được gọi là kiểu tấn công không cân xứng (asymmetric
Trang 8attack) Chẳng hạn như kẻ tấn công chỉ cần một máy tính PC thông thường với mộtmodem tốc độ chậm vẫn có thể tấn công làm ngưng trệ các máy tính mạnh haynhững mạng có cấu hình phức tạp
Tấn công vào các yếu tố con người
Đây là một hình thức tấn công nguy hiểm nhất nó có thể dẫn tới những tổnthất hết sức khó lường Kẻ tấn công có thể liên lạc với người quản trị hệ thống thayđổi một số thông tin nhằm tạo điều kiện cho các phương thức tấn công khác
Ngoài ra, điểm mấu chốt của vấn đề an toàn, an ninh trên mạng chính là người sửdụng Họ là điểm yếu nhất trong toàn bộ hệ thống do kỹ năng, trình độ sử dụngmáy tính, bảo mật dữ liệu không cao Chính họ đã tạo điều kiện cho những kẻ pháhoại xâm nhập được vào hệ thống thông qua nhiều hình thức khác nhau như quaemail hoặc sử dụng những chương trình không rõ nguồn gốc, thiếu độ an toàn
Với kiểu tấn công như vậy sẽ không có bất cứ một thiết bị nào có thể ngănchặn một cách hữu hiệu chỉ có phương pháp duy nhất là hướng dẫn người sử dụngmạng về những yêu cầu bảo mật để nâng cao cảnh giác Nói chung yếu tố conngười là một đIểm yếu trong bất kỳ một hệ thống bảo vệ nào và chỉ có sự hướngdẫn của người quản trị mạng cùng với tinh thần hợp tác từ phía người sử dụng mới
có thể nâng cao độ an toàn của hệ thống bảo vệ
Từ những thông tin này, hacker bắt đầu xác định được dạng và phiên bản của hệđiều hành Hacker tiến hành đánh cắp dữ liệu hoặc phá huỷ hệ điều hành của mạng.Các hình thức tấn công dạng này bao gồm: packet sniffers, port scans, ping sweeps,internet information queries
a) Packet sniffers:
Là phần mềm ứng dụng dùng một card adapter với promiseous mode để bắtgiữ tất cả các gói tin gởi xuyên qua một mạng LAN Kỹ thuật này chỉ thực hiệnđược trên cùng một collision domain
Trang 9Packet sniffers sẽ khai thác những thông tin được truyền ở dạng clear text.Những giao thức truyền ở dạng clear text bao gồm: Telnet, FTP, SNMP, POP,HTTP…
POP - Post Office Protocol
Line 1: PASS secretpass
Ta nhận thấy password được truyền đi ở dạng clear text là secrectpass
Bởi vì packet được truyền đi không được mã hoá như trên, nó có thể bị xử lýbởi bất kỳ ai sử dụng kỹ thuật packet sniffers
Những công cụ sau được dùng ngăn cản packet sniffers gồm: authentication,switched infrastrutured, antisniffer va cryptography
b) Authentication:
Trang 10Kỹ thuật xác thực này được thực hiện phổ biến như one-type password(OTPs) Kỹ thuật này được thực hiện bao gồm hai yếu tố: personal identificationnumber ( PIN ) và token card để xác thực một thiết bị hoặc một phần mềm ứngdụng
Token card là thiết bị phần cứng hoặc phần mềm sản sinh ra thông tin một cáchngẫu nhiên ( password ) tai một thời điểm, thường là 60 giây
Khách hàng sẽ kết nối password đó với một PIN để tạo ra một password duynhất Giả sử một hacker học được password đó bằng kỹ thuật packet sniffers, thôngtin đó cũng không có giá trị vì nó đã hết hạn
c) Switched infrastructured:
Kỹ thuật này có thể dùng để ngăn chặn packet sniffers trong môi trườngmạng Vd: nếu toàn bộ hệ thống sử dụng switch ethernet, hacker chỉ có thể xâmnhập vào luồng traffic đang lưu thông tại 1 host mà hacker kết nối đến Kỹ thuậtnày không làm ngăn chặn hoàn toàn packet sniffer nhưng nó có thể giảm được tầmảnh hưởng của nó
Antisniffer tools:
Là những phần mềm và phần cứng được thiết kế để ngăn chặn sniffer Thật
sự những ứng dụng này không ngăn chặn được hoàn toàn nguy cơ bị sniffer nhưngcũng giống như những công cụ khác, nó là một phần của toàn bộ hệ thống
Cryptography:
Kỹ thuật mã hoá này giúp cho dữ liệu được truyền đi qua mạng ma không
ở dạng clear text Giả sử hacker có bắt được dữ liệu thì cũng không thể giải mãđược thông tin
Phương pháp này có hiệu lực hơn so với việc dò tìm và ngăn cản sniffer.Nếu như một kênh truyền được mã hoá, dữ liệu mà packet sniffer dò tìm được cũngkhông có giá trị và không phải là thông tin chính xác ban đầu
Hệ thống mã hóa của Cisco dựa trên kỹ thuật IPSec, giao thức mã hóa “đường hầm” dựa trên địa chỉ IP Những giao thức gồm: Secure Sell Protocol( SSH ) và Secure Socket Layer ( SSL )
d) Port scans va ping sweeps:
Trang 11 Kỹ thuật này được tiến hành nhằm những mục đích như sau:
Kỹ thuật IDS được dùng để cảnh báo cho nhà quản trị khi có reconnaissanceattacks như là port scans va ping sweeps IDS giúp nhà quản trị có sự chuẩn bị tốtnhằm ngăn cản hacker
e) Internet information queries:
DNS queries có thể chỉ ra nhiều thông tin như là người sở hữu một domainnào đó và range địa chỉ nào được ấn định cho domain đó
Hacker sử dụng công cụ này để “ trinh sát” tìm ra các thông tin trên mạng Cùng với port scans và ping sweeps, sau khi tìm ra được những thông tinđầy đủ như các port active, các giao thức chạy trên port đó, hacker tiến hành kiểmtra những đặc trưng của các ứng dụng này để tìm ra điểm yếu và bắt đầu tấn công
1.2.3.2 Access attacks:
Trong phương pháp này, kẻ xâm nhập điển hình tấn công vào mạng nhằm:đánh cắp dữ liệu, giành lấy quyền access, và giành lấy những đặc quyền access saunày
Access attacks có thể bao gồm:
Trang 12Hacker có thế xâm nhập hệ thống dùng các kỹ thuật brute-force attacks,trojan horce, IP spoofing và packet sniffer
Thường một cuộc tấn công brute-force attack được thực hiện dùng 1 chutrình chạy xuyên qua mạng và cố gắng xen vào chia sẻ môi trường Khi hackergiành được quyền access đến một nguồn tài nguyên, hacker cùng với user cùngchia sẻ quyền lợi Nếu như có đủ tài nguyên thì hacker sẽ tạo ra một của sổ kín cholần access sau
Hacker có thể làm thay đổi bảng định tuyến trong mạng Điều đó sẽ làmchắc chắn rằng tất cả các gói tin sẽ được gởi đến hacker trước khi được gởi đếnđích cuối cùng
Trong một vài trường hợp, hacker có thể giám sát tất cả các traffic, thật sựtrở thành một man in the middle
Ta có thể hạn chế password attack bằng những cách sau:
Không cho phép user dùng cùng password trên các hệ thống
Làm mất hiệu lực account sau một vài lần login không thành công Bước kiểm tranày giúp ngăn chặn việc rà soát password nhiều lần
Không dùng passwords dạng clear text: dùng kỹ thuật OTP hoặc mã hoá passwordnhư đã trình bày phần trên
Dùng “strong” passwords: Dạng password này dùng ít nhất 8 ký tự, chứa cácuppercase letters, lowercase letters, những con số và những ký tự đặc biệt
Trang 13Là một dạng khác của trust exploitation attack mà nó sử dụng một host thoảhiệp nhằm lấy giấy phép ra vào firewall
Ta có thể tượng như là một firewall với 3 interface và mỗi interface kết nốivới 1 host Host ở bên ngoài có thể hướng đến host ở public services ( thường đượcgọi là demilitanized zone- DMZ ) Và host ở public services có thể hướng tới cảhost ở bên trong hay bên ngoài firewall.Hacker làm cho host ở public service trởthành 1 host thoả hiệp Hacker đặt một phần mềm tại host này nhằm tạo ra mộttraffic trực tiếp từ host outside đến host inside Kết nối này sẽ ko thực hiện thôngqua firewall Như vậy, host bên ngoài giành được quyền kết nối với host bên trongthông qua qui trình port redirection tại host trung tâm ( public services host )
d) Man in the middle attack:
Kỹ thuật man in the middle được thực hịên bao gồm:
- Netword packet sniffers
- Giao thức routing và transport
- Tấn công man in the middle nhằm mục đích:
- Đánh cắp dữ liệu
- Giành lấy một phiên giao dịch
- Phân tích traffic trong mạng
- Phá hỏng dữ liệu được truyền
Một ví dụ của man in the middle attack đó là: một người làm việc cho ISP
và cố gắng access đến tất cả các gói dữ liệu vận chuyển giữa ISP và bất kỳ mộtmạng nào khác
Ta có thể ngăn chặn hình thức tấn công này bằng kỹ thuật mã hoá: mã hoátraffic trong một đường hầm IPSec, hacker sẽ chỉ nhìn thấy những thông tin không
có giá trị
Trang 14Là thông qua việc đánh giá các thành phần hê thống phần trong hệ thống củakhách hàng về khía cạnh bảo mật, bao gồm:
1 Hệ thống mạng/ cơ sở dữ liệu liên quan ứng dụng
2 Các máy chủ ứng dụng
3 Các ứng dụng, đặc biệt là các ứng dụng trên nền web/ ứng dụng chophép giao dịch trực tuyến như e-banking, các trang web thương mại điện tử
1.3.2 Cơ chế bảo mật (Security Mechanish):
Phần trên đã trình bày các hình thức tấn công, một hệ truyền tin được gọi là
an toàn và bảo mật thì phải có khả năng chống lại được các hình thức tấn công trên.Như vậy hệ truyền tin phải có các đặt tính sau:
1) Tính bảo mật (Confidentiality): Ngăn chặn được vấn đề xem trộm thông điệp
2) Tính chứng thực (Authentication): Nhằm đảm bảo cho Bob rằng thông điệp màBob nhận được thực sự được gửi đi từ Alice, và không bị thay đổi trong quá trìnhtruyền tin Như vậy tính chứng thực ngăn chặn các hình thức tấn công sửa thôngđiệp, mạo danh, và phát lại thông điệp
3) Tính không từ chối (Nonrepudiation):
1.3.3 Tấn công bảo mật (Security Attack):
Security Attack – Tấn công bảo mật: Đây là hành động nhằm tiết lộ bí mậtthông tin
• Interruption: Tấn công vào availability – Sự khả dụng của dịch vụ
• Interception: Tấn công vào confidentiality – Thông tin không bị tiết lộ
• Modification: Tấn công vào integrity – Sự bảo toàn của thông tin, không bị thayđổi
• Fabrication: Tấn công vào authenticity – Xác thực
IDS
Trang 15Ngày 7/3/2000, yahoo.com đã phải ngưng phục vụ hàng trăm triệu user trêntoàn thế giới nhiều giờ liền Vài giờ sau, Yahoo đã tìm ra nguyên nhân gây nên tìnhtrạng này, họ đang phải gánh chịu một đợt tấn công DDoS với quy mô vài ngànmáy tính liên tục gửi hàng triệu request đến các server dịch vụ làm các server nàykhông thể phục vụ các user thông thường khác
Vài ngày sau, một sự kiện tương tự diễn ra nhưng có phần “ồn ào” hơn domột trong các nạn nhân mới là hãng tin CNN, amazon.com, buy.com, Zdnet.com,E-trade.com, Ebay.com Tất cả các nạn nhân là những gã khổng lồ trên internetthuộc nhiều lĩnh vực khác nhau Theo Yankke Group, tổng thiệt hại do cuộc tấncông lên đến 1.2 triệu USD, nhưng không đáng kể bằng sự mất mát về lòng tin củakhách hàng, uy tín của các công ty là không thể tính được
Làm đảo lộn mọi dự tính, thủ phạm là một cậu bé 15 tuổi người Canada, vớinickname “mafiaboy” Lại là một thiên tài bẩm sinh như Kevin Mitnick xuất hiện?Không Mafiaboy chỉ tìm tòi và download về một số chương trình công cụ của cáchacker Cậu đã dùng một công cụ DDos có tên là TrinOO để gây nên các cuộc tấncông kiểu DDoS khủng khiếp trên Một điểm đáng lưu ý khác là Mafiaboy bị bắt
do tự khoe khoang trên các chatroom công cộng, không ai tự truy tìm được dấu vếtcủa cậu bé này
Còn rất nhiều gã khổng lồ khác đã gục ngã dưới các cuộc tấn công kiểuDDoS sau đó, trong đó có cả Microsodt Tuy nhiên cuộc tấn công trên là điển hìnhnhất về DDoS, nó nói lên một đặc điểm chết người của DDoS: “Rất dễ thực hiện,hầu như không thể tránh, hậu quả rất nặng nề”
DoS (Denial of Service) có thể mô tả như hành động ngăn cản những ngườidùng hợp pháp của một dịch vụ nào đó truy cập và sử dụng dịch vụ đó Nó baogồm cả việc làm tràn ngập mạng, làm mất kết nối với dịch vụ… mà mục đích cuốicùng là làm cho server không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ cácclient DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ, thậmchí cả một hệ thống mạng rất lớn Thực chất của DoS là kẻ tấn công sẽ chiếm dụngmột lượng lớn tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử
lý các yêu cầu dịch vụ đến từ các client khác
Trang 162.1.1 Những khả năng bị tấn công bằng Dos:
Hầu hết các hệ thống đều có vài trăm MB không gian chuyển đổi (swapspace) để phục vụ cho những yêu cầu từ máy khách Swap space thường dung chocác tiến trình con có thời gian ngắn nên DoS có thể được dựa trên phương thức làmtràn đầy swap space
Phần băng thông dành cho mỗi hệ thống là giới hạn, vì thế nếu hacker cùnglúc gửi nhiều yêu cầu đến hệ thống thì phần băng thông không đủ đáp ứng cho mộtkhối lượng dữ liệu lớn đó và dẫn đến hệ thống bị phá vỡ
Tấn công Dos chiếm 1 khoảng lớn của RAM cũng có thể gây ra các vấn đềphá hủy hệ thống Kiểu tấn công BufferOverflow là một ví dụ cho cách phá hủynày (xem kĩ hơn trong nội dung chương )
Một kiểu tấn công cổ điển là làm đầy đĩa cứng Đĩa cứng có thể bị tràn vàkhông thể được sử dụng nữa
2.2 Các kỹ thật tấn công:
2.2.1 Khái niệm TCP bắt tay ba chiều:
Đầu tiên, để tìm hiểu phương pháp tấn công DoS , luận văn sẽ trình bày cơchế làm việc “tcp bắt tay ba chiều”
Gói dữ liệu TCP chứa flag bits (cờ) để mô tả nội dung và mục đích của gói dữ liệu
Ví dụ 1-1:
• Gói dữ liệu TCP với cờ SYN (synchoronize) dùng để bắt đầu 1 kết nối
• ACK (acknowledgement)
• FIN (finish) dùng để cắt 1 kết nối
Cách hoạt động của gói TCP:
Trang 17Hình 2.1: Cơ chế thiết lập kết nối trước khi truyền số liệuBuớc 1: Máy con gửi gói tin SYN yêu cầu kết nối
Bước 2: Nếu máy chủ chấp nhận kết nối, máy chủ sẽ gửi gói tin SYN/ACK Serverbắt buộc phải gửi thông báo lại bởi vì TCP là chuẩn tin cậy nên nếu máy con khôngnhận được thông báo thì sẽ nghĩ rằng packet đã bị lạc và gửi lại một packet mới
Bước 3: Máy con gửi hồi đáp bằng gói tin ACK Báo cho máy chủ biết rằng máycon đã nhận được SYN/ACK packet và lúc này kết nối đã được thiết lập
2.2.2 Lợi dụng TCP thực hiện phương pháp SYN flood truyền thống:
Hình 2.2: Tấn công DoS truyền thốngNhư đã đề cập về vấn đề thiết lập kết nối trong phần 1, bất cứ 1 gói tin SYN,máy chủ cũng phải để 1 phần tài nguyên của hệ thống như bộ nhớ đệm để nhận vàtruyền dữ liệu cho đường truyền đó Tuy nhiên, tài nguyên của hệ thống là có hạn
Trang 18và hacker sẽ tìm mọi cách để hệ thống tràn qua giới hạn đó ( Đây còn được gọi làhalf-open connection vì máy khách mở kết nối giữa chừng)
Theo hình 2-1: Nếu máy chủ sau khi gửi trả một gói tin SYN/ACK để thôngbáo chấp nhận kết nối cho máy yêu cầu nhưng nếu địa chỉ IP của máy yêu cầu này
là giả mạo thì gói tin không thể đến được đích, nên máy chủ vẫn phải dành tàinguyên cho yêu cầu đó Sau một thời gian không nhận được phản hồi từ máykhách, máy chủ lại tiếp tục gửi một gói tin SYN/ACK để xác nhận lần nữa và cứnhư vậy, kết nối vẫn tiếp tục mở
Nếu như hacker gửi nhiều gói tin SYN đến máy chủ đến khi máy chủ khôngthể tiếp nhận thêm 1 kết nối nào nữa thì lúc này hệ thống đã bị phá vỡ
Kết luận: Chỉ với một đường truyền băng thông nhỏ, hacker đã có thể phá
vỡ một hệ thống Thêm vào đó, địa chỉ IP của hacker có thể được sửa đổi nên việcxác định thủ phạm là một vấn đề hết sức khó khăn
2.2.3 Tấn công vào băng thông
Hacker hoàn toàn có khả năng làm ngập hệ thống vì băng thông của hacker lớn hơn băng thông của máy đích Kiểu tấn công này không bị hạn chế bởi tốc độ truyền mạng
Trang 19Hình 2.3: Kiểu tấn công DoS vào băng thôngTheo hình 3-1, tất cả các gói tin đi vào 1 mạng máy tính qua 1 "Big-Pipe"(ống dẫn lớn), sau đó được router chia ra những "Small Pipe" (ống dẫn nhỏ) chonhiều máy tính con tùy theo địa chỉ IP của gói tin
Nhưng nếu toàn bộ "Big-Pipe" bị làm ngập bằng những gói tin chỉ hướngđến 1 máy nhất định trong mạng máy tính con này, router đành phải chấp nhận loại
bỏ phần lớn các packet để chỉ còn lại số lượng vừa đủ đi qua "Small Pipe" của máytính đó Kiểu tấn công này sẽ loại máy đích ra khỏi Internet
Đây là phương pháp tấn công kiểu từ chối dịch vụ nhưng không là DoS màgọi là DDoS (kiểu từ chối dịch vụ phân tán), nghĩa là cùng một lúc nhiều máy sẽđược phát động để gửi gói tin đến máy đích (mặc dù đường truyền của mỗi máykhông cao nhưng nhiều đường truyền lại hợp thành một ống dẫn “ Big Pipe”), làmcho máy đích không còn khả năng tiếp nhận gói tin và bị loại khỏi mạng Internet
2.2.4 Kiểu tấn công vào tài nguyên hệ thống:
Đây là kiểu tấn công nhằm vào tài nguyên hệ thống hơn là tài nguyên mạngnhư CPU, bộ nhớ, file hệ thống, tiến trình… Hacker là một người dùng hợp lệ của
hệ thống, và được một lượng tài nguyên giới hạn trên hệ thống Tuy nhiên, hacker
sẽ lạm dụng quyền truy cập này để yêu cầu thêm tài nguyên Như vậy, hệ thống haynhững người dùng hợp lệ sẽ bị từ chối sử dụng tài nguyên chia sẻ
Trang 20Kiểu tấn công sẽ khiến cho hệ thống không thể sử dụng được vì tài nguyên đã bị sửdụng hết, không còn tiến trình để thực thi nữa.
Tấn công từ chối dịch vụ (DoS) nhằm mục đích ngăn cản người dùng truycập hợp pháp vào hệ thống máy tính hay hệ thống mạng của victim Tấncông từ chối dịch vụ phân tán(DDoS) mang tính rộng lớn hơn, tập trung tấncông trên những dịch vụ sẵn có của tài nguyên hệ thống máy tính hay tài nguyênmạng, mở trực tiếp thông qua nhiều máy tính cùng tham gia trên Internet Dịch vụdưới hình thức tấn công được gọi là “nạn nhân chính”, trong khi các máy tính cùngtham gia tấn công gọi là “nạn nhân phụ” Những nạn nhân phụ cung cấp choattacker khả năng tiến hành rộng hơn và tấn công mạnh hơn, lợi dụng những nạnnhân phụ sẽ rất khó khăn lần ra dấu vết của attacker Tổ chức bảo mật World
Wide Web định nghĩa: Một cuộc tấn công DDoS sử dụng những máy tính nhằm
mở ra tập trung tấn công DoS hướng vào một hay nhiều mục tiêu Bằng cách sử dụng công nghệ client/server, thủ phạm có thể nhân đôi tính hiệu lực của DoS tới một mức độ to lớn bằng cách khai thác nguồn tài nguyên của những máy tính“tòng phạm” (những máy tính này có thể vô tình bị attacker điều khiển, phục
Trang 21Đặc biệt, những máy tính này thường nằm trong các trường đại học, các
tổ chức chính phủ Ở đó họ không được bảo mật tốt, không có tường lửa,
do đó nó rất dễ bị thỏa hiệp (compromised) Ngày nay với sự xuất hiện cáckết nối cao như DSL (Digital Subscriber Line) dành cho doanh nghiệp và vănphòng luôn “túc trực” kết nối Internet, đã cung cấp một “tiềm năng rất lớn” choattcker để họ tuyển dụng cho mục đích tấn công DDoS của mình Sự thay đổi vềcấu trúc các máy tính agent đồng nghĩa với việc cần phải thay đổi công cụ tấncông phù hợp, nếu như trước đây hầu như các hệ thống đều chạy hệ điều hànhUnix, thì ngày nay là Windows, do đó mã nguồn (source code) cũng cần phải biêndịch lại cho phù hợp
Tiến trình tìm kiếm các máy tính chứa lỗ hỗng gọi là scanning Hình 4-1
mô tả đơn giản tiến trình scanning Attacker gửi một số gói tin (packet) để chọnmục tiêu, xem chúng có tồn tại hay có “chổ hỡ” nào không Nếu có, attcker nổ lựcxâm nhập vào đó
Hình 2.4: Tiến trình Scanning
Trang 22Có một thuật ngữ mà “dân DDoS” hay nói là bot Một bot (viết tắt của từ
“robot”) là một chương trình client chạy trên nền của một máy tính bịcompromise, và nó “nhìn” vào chuỗi ký tự hiển thị trong một kênh IRC.Những chuỗi ký tự này là những lệnh đã mã hóa để chương trình bot thựcthi, chẳng hạn như bot mời một ai đó tham gia vào một kênh IRC, cấp quyền hoạtđộng cho người dùng, scanning khối địa chỉ (netblock) hay thực hiện một cuộc
tấn công DDoS Nói về Netblock, ví dụ như bot Power[3], bằng cách chỉ định
một số octet đầu tiên (ví dụ: 192.168 có nghĩa là quét tất cả đoạnmạng từ 192.168.0.0 đến 192.168.255.255) Khi một bot lấy danh sách của
những máy tính có lỗ hổng, chúng thông báo cho attacker đang sử dụng botnet
(một mạng bot, ở đó tất cả đều đồng bộ thông qua giao tiếp trong một kênh IRC).Attacker nhận tập tin từ bot và thêm nó (các máy tính có lỗ hổng) vào danh sách
Có một một số chương trình tự động thực hiện việc này, bằng cách đó nó sẽ tạothành một mạng tấn công Công việc scanning cho một đoạn mạng thườngattacker chothực hiện ngẫu nhiên Sau đó attacker sẽ chọn ra những máy tính
“béo bở” trong danh sách của họ (chẳng hạn như những máy thuộc khuôn viêntrường đại học thì vẫn tốt hơn những máy thuộc tổ chức chính phủ hay quân sự)
Quá trình scanning có thể được thực hiện với những chương trình riêng biệt,
gọi là những“plugged in” được chèn vào tool kit như chương trình Phatbot, được
xây dựng thành mộtmodule với nhiều tính năng) Một IRC bot scanning mô phỏngnhư sau:
Trang 23Hình 2.5: IRC bot ScanningMột chương trình khác cũng thực hiện công việc scanning mà ta thường
biết đến đó là Internet worm Những Internet worm là những chương trình tự
động lây lan từ host này qua host khác, nó giống như virus đời thường trong
cuộc sống (chẳng hạn như worm fly) Một worm có 3 chức năng chính riêng biệt:
(1) scanning; (2) exploitation – khai thác, thỏa hiệp và xác lập điều khiển từ xa; (3)
Trang 24một payload (nội dung packet) – đó là mã thực thi được ra lệnh để tấn công chẳnghạn Khi một worm truyền đi, nó “nhiễm” vào một máy nào đó, nó sẽ quét và lâynhiễm đến máy khác (quá trình cứ lặp đi lặp lai) Phần payload chỉ đơn giản đó làmộtbản sao của worm Ngày nay Internet worm phát triển như là mộtphương pháp phổ biến trong quá trình “tuyển nạp” những DDoS agent, vì thếworm payload thường chứa đoạn mã tấn công DDoS.
c Phát động tấn công :
Đúng thời điểm đã định, hacker phát động tấn công từ máy của mình, lệnhtấn công này có thể đi qua nhiều cấp mói đến host thực sự tấn công Toàn bộattack-network (có thể lên đến hàng ngàn máy), sẽ gửi request đến máy nạn nhân,làm hệ thống nạn nhân phải huy động hết tài nguyên để reply lại nên không thể đápứng lại truy vấn của client hợp pháp, tệ hơn nữa là có thể tê liệt toàn bộ hệ thống
d.Xóa dấu vết
Sau một khoảng thời gian tấn công thích hợp, hacker tiến hành xóa mọi dấuvết có thể truy ngược đến mình, việc này đòi hỏi trình độ khác cao và không tuyệtđối cần thiết
Trang 25DDoS attack-network
Client – Handler
Communication
Secret/private channel Public channel
Client – Handler Communication
2.3.2 Kiến trúc tổng quan của DDos attack-network:
Nhìn chung DDoS attack-network có hai mô hình chính
+ Mô hình Agent – Handler+ Mô hình IRC – Based
Hình 2.6: Dưới đây là sơ đồ chính phân loại các kiểu tấn công DDoS
2.3.3 Mô hình Agent – Handler:
Theo mô hình này, attack-network gồm 3 thành phần: Agent, Client và Handler
Client : là software cơ sở để hacker điều khiển mọi hoạt động của network
attack- Handler : là một thành phần software trung gian giữa Agent và Client
Agent : là thành phần software thực hiện sự tấn công mục tiêu, nhận điều khiển
từ Client thông qua các Handler
Trang 26Attacker Attacker
Victim
Hình 2.7: Kiến trúc attack-network kiểu Agent – HandlerAttacker sẽ từ Client giao tiếp với cc1 Handler để xác định số lượng Agentđang online, điều chỉnh thời điểm tấn công và cập nhật các Agent Tùy theo cáchattacker cấu hình attack-network, các Agent sẽ chịu sự quản lý của một hay nhiềuHandler
Thông thường Attacker sẽ đặt Handler software trên một Router hay mộtserver có lượng traffic lưu thông nhiều Việc này nhằm làm cho các giao tiếp giữaClient, handler và Agent khó bị phát hiện Các gia tiếp này thông thường xảy ratrên các protocol TCP, UDP hay ICMP Chủ nhân thực sự của các Agent thôngthường không hề hay biết họ bị lợi dụng vào cuộc tấn công kiểu 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àinguyê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
2.3.4 Mô hình IRC – Based:
Internet Relay Chat (IRC) là một hệ thống online chat multiuser, IRC chophép User tạo một kết nối đến multipoint đến nhiều user khác và chat thời gian
Trang 27 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à message trênchannel 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 nhưng không thể xác địnhbằng channel locator
Kiến trúc attack-network của kiểu IRC-Base
Hình 2.8: Kiến trúc attack-network của kiểu IRC-Base
IRC – Based net work cũng tương tự như Agent – Handler network nhưng
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êmmột số lợi thế khác như:
+ Các giao tiếp dưới dạng chat message làm cho việc phát hiện chúng là vôcùng khó khăn
+ IRC traffic có thể di chuyển trên mạng với số lượng lớn mà không bị nghingờ
Trang 28+ Không cần phải duy trì danh sách các Agent, hacker chỉ cần logon vàoIRC server là đã có thể nhận được report về trạng thái các Agent do các channel gửivề.
+ Sau cùng: IRC cũng là một môi trường file sharing tạo điều kiện phát táncác Agent code lên nhiều máy khác
2.4.1 Những kiểu tấn công làm cạn kiệt băng thông:
Nhìn chung, có rất nhiều biến thể của kỹ thuật tấn công DDoS nhưng nếunhìn dưới góc độ chuyên môn thì có thể chia các biến thề này thành hai loại dựatrên mụch đí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 Dưới đây là sơ đồ mô tả sự phân loại các kiểu tấn công DDoS
BandWith Depletion Attack được thiết kế nhằm làm tràng ngập mạng mục tiêu vớinhững traffic không cần thiết, với mục địch làm giảm tối thiểu khả năng của cáctraffic hợp lệ đến được hệ thống cung cấp dịch vụ của mục tiêu
Có hai loại BandWith Depletion Attack:
+ Flood attack: Điều khiển các Agent gởi một lượng lớn traffic đến hệ thốngdị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 message đến một địa chỉ IP broadcast, làm cho tất cả các máy trong subnet này gửi message đế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
Trang 29DDoS attack
Bandwith DeleptionDeleption Resource Deleption
Flood Attack Amplification Attack
Protocol Exploit Attack
Malformed Paclket attack
Flaggle Attack
Direct Attack
Loop Attack
TCP SYS
Attack
Spoof source Attack
PUSH +ACK SYN Attack
IP @ Attack
IP Packet Options Attack
Spoof source Attack
Spoof source Attack
Spoof source Attack
Hình 2.9: Những kiểu tấn công DDoS
2.4.1.1 Flood attack:
Trong một cuộc tấn công làm lụt DDoS, các zombie sẽ gửi một số lượng lớn
các gói tin đến máy victim làm khả năng thực thi, chậm máy hay tràn ngập băng
thông mạng Điều này khiến cho người dùng hệ thống hợp pháp bị cản trở truy
cập vào hệ thống victim
Tấ
n c ôn g n g ậ p lụt b ằ ng UD P:
UDP (User Datagram Protocol – giao thức dữ liệu người dùng) là một
giao thức hướng không kết nối Có nghĩa là khi những gói tin truyền bằng giao
thức này, không có một cơ chế bắt tay nào giữa bên gửi và bên nhận, và hệ
thống bên nhận khi nhận được gói tin sẽ phải xử lý nó Khi gửi một số lượng lớn
các gói tin UDP đến hệ thống nạn nhân có thể gây ra tràn ngập mạng, làm suy yếu
mạng
Khi tấn công DDoS dạng UDP, những gói tin UDP được gửi qua những
port ngẫu nhiên hoặc được chỉ định một port nào đó Thường thì công việc thực
hiện là những port ngẫu nhiên để nó bao quát toàn diện hơn Kết quả là victim sẽ
phải xử lý những gói đi vào nó để cố gắng xác định xem có ứng dụng nào yêu
Trang 30thống victim sẽ gửi gửi một gói ICMP đến nơi gửi với thông điệp là “destinationport unreachable”.
Thông thường, công cụ tấn công DDoS sẽ giả địa chỉ IP nguồn của gói dữliệu Vì thế nó làm ẩn danh hệ thống máy nạn nhân phụ, do đó các gói trả về từmáy victim sẽ không đến được zombie, mà nó đến một máy tính khác nào đó
Đôi khi tấn công ngập lụt UDP cũng có thể làm đầy băng thông của nhữngkết nối xung quanh hệ thống victim (phụ thuộc vào kiến trúc mạng và tốc độ đườngtruyền) Vì thế có thể những hệ thống kết nối gần hệ thống victim gặp vấn đề trongkết nối của họ
Tấ
n c ôn g n g ậ p lụt b ằ ng I CMP:
Những gói tin ICMP (Internet Control Message Protocol – giao thức thôngđiệp vận chuyển Internet) được thiết kế cho tính năng quản lý chẳng hạn như xácđịnh thiết bị mạng và xác định số hop (hop là thuật ngữ nói lên gói tin sẽ đi quamột thiết bị định tuyến chẳng hạn như qua một router thì router gọi là hop) haythời gian di chuyển từ nguồn đến đích Ví dụ, gói tin ICMP_ECHO_REPLY(ping) cho phép người dùng gởi yêu cầu đến hệ thống đích và nhận đáp ứng vớithời gian đã đi đến đích
Tấn công DDoS làm ngập ICMP xuất hiện khi zombie gởi số lượng lớn cácgói tin ICMP_ECHO_REPLY đến hệ thống nạn nhân Dấu hiệu của những gói tinnày là phản hồi (reply) Cũng giống như tấn công làm ngập UDP, địa chỉ IP nguồn
bị giả mạo
2.4.1.2 Amplification Attack:
Amplification Attack nhắm đến việc sử dụng các chức năng hỗ trợ địa chỉ IPbroadcast của các router nhằm khuyếch đại và hồi chuyển cuộc tấn công Chứcnăng này cho phép bên gửi chỉ định một địa chỉ IP broadcast cho toàn subnet bênnhận thay vì nhiều địa chỉ Router sẽ có nhiệm vụ gửi đến tất cả địa chỉ IP trongsubnet đó packet broadcast mà nó nhận được
Attacker có thể gửi broadcast message 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 message,thì có thể lợi dụng các hệ thống bên trong broadcast network như một Agent
Trang 31Attacker/Agent VICTIM
Amplifier
Amplifier Network System
Hình 2.10: Amplification Attack
Có thể chia amplification attack thành hai loại, Smuft va Fraggle attack:
+ Smuft attack: trong kiểu tấn công này attacker gởi packet đến networkamplifier (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 packetnà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ả các hệthống thuộc địa chỉ broadcast và tất cả các hệ thống này sẽ REPLY packet về địachỉ IP của mục tiêu tấn công Smuft Attack
+ Fraggle Attack: tương tự như Smuft attack nhưng thay vì dùng ICMPECHO REQUEST packet thì sẽ dùng UDP ECHO packet gởi đếm 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 (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ấncô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 SmuftAttack rất nhiều
Trang 32Service Port 1-1023
SYS
ACK
SYN/ACK
80
2.4.2 Những kiểu tấn công làm cạn kiệt tài nguyên:
Theo định nghĩa: 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ữngpacket 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àykhông phục vụ user thông thường khác được
2.4.2.1 Protocol Exploit Attack:
+ TCP SYS Attack: Transfer Control Protocol hỗ trợ truyền nhận với độ tincậ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 REPLYpacket 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 2.11: Protocol Exploit AttackNếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK REPLYnhưng không nhận được ACK packet cuối cùng sau một khoảng thời gian quy địnhthì nó sẽ resend lại SYN/ACK REPLY cho đến hết thời gian timeout Toàn bộ tàinguyên hệ thống “dự trữ” để xử lý phiên giao tiếp nếu nhận được ACK packet cuốicùng sẽ bị “phong tỏa” cho đến hết thời gian timeout
Trang 33TCP
Client
Victim TCP Server
SYS packet with a deliberately fraudulent (spoofed) source IP return address
Hình 2.12: Protocol Exploit AttackNắ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 REPLY đến một địa chỉkhá 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
Hình 2.13: Protocol Exploit Attack+ PUSH = ACK Attack: Trong TCP protocol, các packet được chứa trongbuffer, khi buffer đầy thì các packet này sẽ được chuyển đến nơi cần thiết Tuynhiên, bên gởi có thể yêu cầu hệ thống unload buffer trước khi buffer đầy bằngcách gởi một packet với PUSH và ACK mang giá trị là 1 Những packet này làmcho 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 raliê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
Trang 34DDoS software Tool
Agent Setup Attack NetworkComminication OS supported
Instalation Hide with rootkit
Protocol Encruption Agent Activation
Methods
Unix Solaris Linux
Actively Poll Live&wait TCP UDP ICMP
TrojanBuffer Overlfow
Windows
Agent Handlerl
IRC Basedl
Client Handlerl
Agent Handlerl
None
YES Private/Serect
No Public
2.4.2.2 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
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ạn nhân phải tốnthờ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ânhết khả năng xử lý
Có rất nhiều điểm chung về mặt software của các công cụ DDoS attack Cóthể kể ra một số điểm chung như: cách cài Agent software, phương pháp giao tiếpgiữa các attacker, handler và Agent, điểm chung về loại hệ điều hành hỗ trợ cáccông cụ này Sơ đồ mô tả sự so sánh tương quan giữa các công cụ tấn công DDoSnày
Hình 2.14: So sánh tương quan giữa các công cụ tấn công DDoS
Trang 352.5.1 Cách thức cài đặt DDoS Agent
Attacker có thể dùng phương pháp active và passive để cài đặt agentsoftware lên các máy khác nhằm thiết lập attack-network kiểu Agent-Handler hayIRC-based
- Cách cài đặt Active:
+ 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 Agentsoftware Chú ý, Nmap sẽ trả về nhữngthô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 Agentsoftware lên các hệ thống này Có rấtnhiề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ứcCommon Vulnerabilities and Exposures (CVE), ở đây liệt kê và phân loại trên4.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
đó, nhưng 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 Agentsoftware
+ buffer Overflow: tận dụng lỗi buffer overflow, attacker có thể làm cho chutrình thực thi chương trình thông thường bị chuyển sang chu trình thực thi chươngtrình của hacker (nằm trong vùng dữ liệu ghi đè) Có thể dùng cách này để tấn côngvào một chương trình có điểm yếu buffer overflow để chạy chương trình Agentsoftware
- Cách cài đặt passive:
+ Bug Website: attacker có thể lợi dụng một số lỗi của web brower để càiAgent software vào máy của user truy cập Attaker sẽ tạo một website mang nộidung tiềm ẩn những code và lệnh để đặt bẫy user Khi user truy cập nội dung củawebsite, thì website download và cài đặt Agent software một cách bí mật.Microsoft Internet Explorer web browser thường là mục tiêu của cách cài đặt này,
Trang 36với các lỗi của ActiveX có thể cho phép IE brower tự động download và cài đặtcode trên máy của user duyệt web.
+ Corrupted file: một phương pháp khác là nhúng code vào trong các filethô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ễmAgent software Một trong những kỹ thuật phổ biến là đặt tên file rất dài, do defaultcủ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èmtheo 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…
- Rootkit: là những chương trình dùng để xóa dấu vết về sự hiện diện củaAgent hay Handler trên máy của nạn nhân Rootkit thường được dùng trên Handersoftware đã được cài, đóng vai trò xung yếu cho sự hoạt động của attack-networkhay trên các môi trường mà khả năng bị phát hiện của Handler là rất cao Rootkitrất ít khi dùng trên các Agent do mức độ quan trọng của Agent không cao và nếu
có mất một số Agent cũng không ảnh hưởng nhiều đến attack-network
2.5.2 Giao tiếp trên Attack-Network:
- Protocol: giao tiếp trên attack-network có thể thực hiện trên nền cácprotocol 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êntoàn bộ attack-network Tùy theo protocol được sử dụng để giao tiếp sẽ có cácphương pháp mã hóa thích hợp Nếu attack-network ở 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
2.5.3 Các nền tảng hỗ trợ Agent:
Các công cụ DDoS thông thường được thiết kế hoạt động tương thích vớinhiều hệ điều hành khác nhau như: Unix, Linux, Solaris hay Windows Các thành
Trang 37phần của attack-network có thể vận hành trên các môi trường hệ điều hành khácnhau.
Thông thường Handler sẽ vận hành trên các hệ chạy trên các server lớn nhưUnix, Linux hay Solaris Agent thông thường chạy trên hệ điều hành phổ biến nhất
là windows do cần số lượng lớn dễ khai thác
2.5.4 Phân tích hai công cụ về DoS (Smurf attack) và DDoS (TFN attack):
2.5.4.1 Chương trình DoS điển hình:
Chương trình còn có tên gọi Smurf attack Nó xuất hiện vào năm 1997, với
ý tưởng xử dụng mạng khuếch đại (amplifier), nhằm tăng dòng lưu lượng lên
nhiều lần bằng cách lợi dụng gói tin broadcast gởi đến router để nó truyền đến tất
cả các máy tính trong cùng một broadcast domain Với địa chỉ IP nguồn (sourceIP) của gói tin giả mạo là máy nạn nhân (victim) Khi đó các máy tính nằm trongcùng một broadcast domain sẽ đồng loạt gửi gói tin đáp trả (reply) đến victim
Sau đây minh họa một chương trình nguồn mở (open source) smurf attack:
Hình 2.15: Minh họa công cụ DoS – Smurf attack
Chương trình chỉ có một tập tin smurf.c Sau khi biên dịch, thực thi sẽ có
các thông số như trên:
<target>: địa chỉ mục tiêu cần tấn công, đây cũng là địa chỉ dùng để giảmạo trong gói tin ICMP ECHO_REQUEST
<bcast file>: vị trí của tập tin chứa danh sách các địa chỉ broadcast, dùng
để gởi đến router