Tấn công DoS là một kiểu tấn công mà một người làm cho một hệ thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải
Trang 1KHOA CÔNG NGHÊ THÔNG TIN
BÁO CÁO HỌC PHẦN
BẢO MẬT THÔNG TIN
Thanh phô Hô Chi Minh, 02/2023
Nghành: CÔNG NGHỆ THÔNG TIN
Giảng viên: Nguyễn Thị Yến
Sinh viên thực hiện:
1 Lê Hoàng Phong MSSV: 2011061762 Lớp: 20DTHJA2
2 Nguyễn Tiến Dũng MSSV: 2011068254 Lớp: 20DTHJA2
3 Nguyễn Bảo Quyền MSSV: 2011065307 Lớp: 20DTHJA2
Đề tài: “Tìm hiểu về phương pháp tấn công mạng dùng kỹ thuật DOS DDOS (Denial , of Service, Distributed Denial Of Service ) công và
cụ hỗ trợ tấn công”
Trang 22
PHẦN I : DOS
I LỊCH S T N CÔNG C A DOS Ử Ấ Ủ
Ngày 15 tháng 8 năm 2003: Microsoft đã chịu đợt tấn công DoS cực mạnh và làm gián đoạn websites trong vòng 2 giờ
Ngày 27 tháng 3 năm 2003: toàn bộ phiên bản tiếng anh của website Al-Jazeera bị tấn công làm gián đoạn trong nhiều giờ
II ĐỊNH NGHĨA VỀ TẤN CÔNG DOS
Tấn công DoS là kiểu tấn công vô cùng nguy hiểm mà chúng ta cần phải nắm
rõ định nghĩa của DoS và các dạng tấn công DoS nếu muốn sử dụng Tấn công DoS là một kiểu tấn công mà một người làm cho một hệ thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống Tấn công Denial of Service (DoS): nếu người tấn công không có khả năng thâm nhập được vào hệ thống, thì họ sẽ cố gắng tìm cách làm cho hệ thống đó sụp đổ và không có khả năng phục vụ người dùng bình thường
Trang 33
1 Các mục đích của tấn công DoS
Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood), khi
đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho người dùng bình thường
Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập vào dịch vụ
Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó
Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy cập vào
Khi tấn công DoS xảy ra người dùng có cảm giác khi truy cập vào dịch vụ đó như bị:
- Disable Network - Tắt mạng
- Disable Organization - Tổ chức không hoạt động
2 Mục tiêu mà kẻ tấn công thường sử dụng
Tài nguyên chúng thường sử dụng để tấn công là gì:
- Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên
- Băng thông của hệ thống mạng (Network Bandwidth), bộ nhớ, ổ đĩa, và CPU Time hay cấu trúc dữ liệu đều là mục tiêu của tấn công DoS
- Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ thống điều hoà, hệ thống điện, hệt hống làm mát và nhiều tài nguyên khác của doanh nghiệp
- Phá hoại hoặc thay đổi các thông tin cấu hình
- Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều hoà…
Trang 44
III Các dạng tấn công DoS
1 Tấn công Smurf
Là thủ phạm sinh ra cực nhiều giao tiếp ICMP (ping) tới địa chỉ Broadcast của nhiều mạng với địa chỉ nguồn là mục tiêu cần tấn công
2 Tấn công Buffer overflow
Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ
Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình và đánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguy hiểm
Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 ký tự có thể
sẽ xảy ra quá trình tràn bộ nhớ đệm
3 Tấn công Ping of Death
Kẻ tấn công gửi những gói tin IP lớn hơn số lương bytes cho phép của tin IP
là 65.536 bytes
Quá trình chia nhỏ gói tin IP thành những phần nhỏ được thực hiện ở layer II Quá trình chia nhỏ có thể thực hiện với gói IP lớn hơn 65.536 bytes Nhưng
hệ điều hành không thể nhận biết được độ lớn của gói tin này và sẽ bị khởi động lại, hay đơn giản là sẽ bị gián đoạn giao tiếp
Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho phép thì tương đối dễ dàng
4 Tấn công Teardrop
Gói tin IP rất lớn khi đến Router sẽ bị chia nhỏ làm nhiều phần nhỏ
Kẻ tấn công sử dụng sử dụng gói IP với các thông số rất khó hiểu để chia ra các phần nhỏ (fragment)
Nếu hệ điều hành nhận được các gói tin đã được chia nhỏ và không hiểu được, hệ thống cố gắng build lại gói tin và điều đó chiếm một phần tài nguyên
hệ thống, nếu quá trình đó liên tục xảy ra hệ thống không còn tài nguyên cho các
Trang 55
ứng dụng khác, phục vụ các user khác
5 Tấn công SYN
Kẻ tấn công gửi các yêu cầu (request ảo) TCP SYN tới máy chủ bị tấn công
Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối
IV Công cụ hỗ trợ tấn công
1 Low Orbit Ion Cannon (LOIC)
Low Orbit Ion Cannon (LOIC) là tool mã nguồn mở trợ giúp trong việc thử nghiệm khả năng chịu tải của dịch vụ mạng bằng các cuộc tấn công DoS, viết bằng C# LOIC ban đầu được phát triển bởi Praetox Technologies và sau đó đã được phát hành public dưới dạng mã nguồn mở
LOIC thực hiện một cuộc tấn công DoS theo kiểu flooding với gói tin TCP và UDP làm gián đoạn dịch vụ của máy chủ mục tiêu
Một số tính năng chính:
- Cho phép tùy chỉnh sử dụng 3 loại gói tin để tấn công khác nhau TCP, UDP, HTTP
- Sử dụng hình thức DoS, mở ra nhiều kết nối tới máy chủ mục tiêu và gửi liên tục các thông điệp
- Cho phép tùy chỉnh tốc độ và số thread để sinh gói tin phù hợp với việc test tải của website
2 Demo tấn công:
Công cụ và tool hỗ trợ tấn công:
- LOIC ( Low Orbit Ion Cannon ): La mô t công cu phô biên giup cho ta co thê test stress mô t website cua m nh hoi ă c mô t site nao đo
- Wireshark: Giup ta theo d i cuo ô c t n công dâ ưa trên giao thưc va kiêu tân công nao dưa vao quan sat cac goi tin đươ c gưi đi trong ma ng
Trang 66
Các bước tấn công:
Bước 1 : Chạy phần mềm
Bước 2: Nhập URL (Hoặc địa chỉ IP) của trang web trong trường URL và click vào Lock on
Sau khi xac đi nh xong mu c tiêu, ơ Modul nay no se đươc hiên thi d y IP ca ua muc tiêu ta i đây:
Sau đó chọn phương pháp tấn công (TCP, UDP hoặc HTTP) Ở đây sẽ bắt đầu với TCP:
Time Out: s le a thơi gian tôi đa đê chơ phia na n nhân gưi la i response đơn vi
se tinh b ng giây ă
HTTP Subsite: Se xac đi nh subsite nao la mu c tiêu
Trang 77
TCP/ UDP: Dư liê u đươc send trong chê đô TCP/ UDP
Port: S hiô ê u port bên phai ma n nhân ma ta se nhăm tơi, ma c đi nh s le a 80
Method: Se la kiêu phương thưc tân công (TCP/ UDP/ HTTP)
Threads: Đây se la sô luông user ma ta se gia lâ p dung đê tân công vao na n nhân
Wait for reply: Se không ng t phiên k t n i cho tă ê ô ơi khi nao đươc phan h ôi
Thanh trươt: Se điêu ch nh tôc đô gưi request lên na n nhân, t nh b ng giây i i ă
Idle: Se hiên thi sô lương threads không hoa t đông
Connecting: la sô lương bao nhiêu luông đang cô ă g ng k t n i tê ô ơi na n nhân
Requesting: Sô lương bao nhiêu threads đang gưi request data vê phia server
Downloading: Sô lương threads đang tai dư liê u tư server gưi vê
Downloaded: S lô ân đươc download
Requested: S lô ân đa request
Failed: Tông sô l n server không thâ ê phan h i lô a i S cô ang cao thi chưng to server cang bi gian đoa n
Bước 3: Thay đổi các thông số theo sự lựa chọn của người dùng hoặc để mặc định sau đó nhấn vào “IMMA CHARGIN MAH ”
Trang 88
Attacker gư i mô t lương lơn gon HTTP GET v ph a Server trong mê i ô t thơi điêm
Attacker ti p tê u c gưi la i mô t lương lơn goi vơi cơ RST, ACK vê phai Server đê yêu c u gâ ưi la i dư liê u
V Kết luận
Khi sử dụng một Tool tấn công DoS tới một máy chủ đôi khi không gây ảnh hưởng gì cho máy chủ Nhưng bạn hãy tưởng tượng có 1000 người như bạn cùng một lúc tấn công vào máy chủ kia khi đó toàn bộ băng thông của 1000 người cộng lại tối đa đạt 3Gbps và tốc độ kết nối của máy chủ là 100 Mbps vậy kết quả sẽ ra sao
Trang 99
PHẦN II : DDOS-BOT-BOTNET
I GIỚ I THI U V BOT VÀ DOTNET Ệ Ề
Bot là viết tắt của robot, tức các chương trình tự động hoá thường xuyên được sử dụng trong thế giới Internet Người ta định nghĩa spider được dùng bởi các công cụ tìm kiếm trực tuyến, ánh xạ website và phần mềm đáp ứng theo yêu cầu trên IRC là robot Các chương trình tự động phản ứng khi gặp sự kiện ngoài mạng nội bộ cũng được gọi là robot Trong bài này, chúng ta sẽ quan tâm tới một kiểu robot cụ thể (hay bot như tên tắt vẫn thường được gọi) là IRC bot
1 IRC
IRC là tên viết tắt của Internet Relay Chat Đó là một giao thức được thiết
kế cho hoạt động liên lạc theo kiểu hình thức tán gẫu thời gian dựa trên kiến trúc client-server Hầu hết mọi server IRC đều cho phép truy cập miễn phí, không kể đối tượng sử dụng Người dùng IRC có thể liên lạc với cả hai theo hình thức công cộng (trên các kênh) hoặc riêng tư (một đối một) Có hai mức truy cập cơ bản vào kênh IRC: mức người dùng (user) và mức điều hành (operator) Người dùng nào tạo một kênh liên lạc riêng sẽ trở thành người điều hành Một điều hành viên có nhiều đặc quyền hơn (tuỳ thuộc vào từng kiểu chế độ do người điều hành ban đầu thiết lập ) so với người dùng thông thường
2 Bot và các ứng dụng của chúng
I DdoS
Tấn công DDoS là một biến thể của Foolding DoS (Tấn công từ chối dịch
vụ tràn) Mục đích của hình thức này là gây tràn mạng đích, sử dụng tất cả băng thông có thể Kẻ tấn công sau đó sẽ có toàn bộ lượng băng thông khổng lồ trên mạng để làm tràn website đích
2 Spamming (phát tán thư rác)
Botnet là một công cụ lý tưởng cho các spammer (kẻ phát tán thư rác) Chúng đã, đang và sẽ được dùng vừa để trao đổi địa chỉ e mail thu thập được,
Trang 10-10
vừa để điều khiển cơ chế phát tán thư rác theo cùng một cách với kiểu tấn công DDoS Thư rác được gửi tới botnet, sau đó phân phối qua các bot và từ đó phát tán tới máy tính đang bị chiếm quyền điều khiển Tất cả spammer đều lấy tên nặc danh và mọi hậu quả thì máy tính bị phá hoại gánh chịu
Các bot cũng có thể được sử dụng một cách hiệu quả để nâng cao nghệ thuật cổ điển của hoạt động sniffing Nếu theo dõi lưu lượng dữ liệu truyền đi, bạn có thể xác định được con số khó tin lượng thông tin được truyền tải Đó có thể là thói quen của người dùng, trọng tải gói TCP và một số thông tin thú vị khác (như mật khẩu, tên người dùng)
Các phương thức được đề cập ở trên cho phép kẻ tấn công điều khiển botnet để thu thập một lượng thông tin cá nhân khổng lồ Những dữ liệu có thể được dùng để xây dựng nhân dạng giả mạo, sau đó lợi dụng để có thể truy cập tài khoản cá nhân hoặc thực hiện nhiều hoạt động khác (có thể là chuẩn bị cho nhiều cuộc tấn công khác) mà người gánh chịu hậu quả không ai khác chính là chủ nhân của các thông tin đó
Các máy tính bị tấn công theo kiểu bot có thể được dùng như một kho lưu trữ động tài liệu bất hợp pháp (phần mềm ăn cắp bản quyền, tranh ảnh khiêu dâm,…) Dữ liệu được lưu trữ trên ổ cứng trong khi người dùng ADSL không
hề hay biết
II CÁC KI U BOT KHÁC NHỂ AU
1 GT -Bot
Tất cả các bot GT (Global Threat) đều dựa trên kiểu client IRC phổ biến dành cho Windows gọi là mIRC Cốt lõi của các bot này là xây dựng tập hợp script (kịch bản) mIRC, được dùng để điểu khiển hoạt động của hệ thống từ xa
2 Agobot
Agobot là một trong những kiểu bot phổ biến nhất thường được các tay bẻ
Trang 1111
khoá (craker) chuyên nghiệp sử dụng Chúng được viết trên nền ngôn ngữ C++
và phát hành dưới dạng bản quyền GPL Điểm thú vị ở Agobot là mã nguồn Được modul hoá ở mức cao, Agobot cho phép thêm chức năng mới vào dễ dàng Nó cũng cung cấp nhiều cơ chế ẩn mình trên máy tính người dùng Thành phần chính của Agobot gồm: NTFS Alternate Data Stream (Xếp luân phiên dòng dữ liệu NTFS), Antivirus Killer (bộ diệt chương trình chống virus) và Polymorphic Encryptor Engine (cơ chế mã hoá hình dạng) Agobot cung cấp tính năng sắp xếp và sniff lưu lượng
3 DSNX
Dataspy Network X (DSNX) được viết trên nền ngồn ngữ C++ và mã nguồn dựa trên bản quyền GPL
4 SDBot
SDBot được viết trên nền ngôn ngữ C và cũng sử dụng bản quyền GPL Không giống như Agobot, mã nguồn của kiểu bot này rất rõ ràng và bản thân phần mềm có một lượng giới hạn chức năng
III Các dạng tấn công DDOS
1 Ping of Death
- Tấn công UDP là một cuộc tấn công DDoS làm ngập mạng nạn nhân với các gói Giao thức Dữ liệu Người dùng (UDP)
2 Ping Flood
- Giống như một cuộc tấn công lũ lụt UDP, một cuộc tấn công lũ lụt ping sử dụng ICMP Echo Request hoặc các gói ping để làm trật bánh dịch vụ của mạng
3 SYN Flood
- Các cuộc tấn công SYN Flood là một kiểu tấn công DoS khác trong đó kẻ tấn công sử dụng trình tự kết nối TCP để làm cho mạng của nạn nhân không khả dụng
4 Slowloris
- Slowloris là một loại phần mềm tấn công DDoS ban đầu được phát triển bởi Robert Hansen hoặc RSnake để đánh sập các máy chủ web
Trang 1212
5 HTTP Flood
- Trong một cuộc tấn công HTTP Flood, kẻ tấn công yêu cầu người dùng HTTP GET hoặc POST khởi động một cuộc tấn công trên một máy chủ web hoặc ứng dụng riêng lẻ
6 Zero-Day Attacks
- Các cuộc tấn công Zero-Day là các cuộc tấn công khai thác các lỗ hổng chưa được phát hiện Đây là một thuật ngữ chung cho các cuộc tấn công có thể phải đối mặt trong tương lai
IV Kết luận
- Các quản trị viên thường phải cập nhật liên tục thông tin về những lỗ hổng mới nhất, cũng như đọc thường xuyên về tài nguyên bảo mật trên Internet mỗi ngày Điều này có thể giúp phát hiện ra lưu lượng bất thường, một dấu hiệu của sự hiện diện bot và nhờ đó có biện pháp ngăn chặn kịp thời
- Tất cả các biện pháp dường như đều quen thuộc và không mấy khó khăn, nhưng mọi người thường quên, hoặc bỏ qua chúng
- Nhưng dù công cụ hỗ trợ là gì đi chăng nữa, biện pháp phòng chống và bảo vệ tốt nhất trước các cuộc tấn công botnet là bản thân người dùng và nhận thức của
họ
Trang 1313