Kẻ tấncông thực hiện điều này bằng cách "tuồn" ồ ạt traffic hoặc gửi thông tin có thể kíchhoạt sự cố đến máy chủ, hệ thống hoặc mạng mục tiêu, từ đó khiến người dùnghợp pháp nhân viên, t
Trang 1BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
BÁO CÁO BÀI TẬP LỚN
TÌM HIỂU VỀ KỸ THUẬT TẤN CÔNG TỪ CHỐI DỊCH VỤ
(Denial of Service – DoS)
Ngành: Công nghệ thông tinChuyên ngành: An toàn thông tin
Sinh viên thực hiện:
Trang 2Hà Nội, 2021
Trang 3LỜI CẢM ƠN
Trước hết, chúng em xin chân thành gửi lời cảm ơn đến Học viện Kỹ ThuậtMật Mã đã đào tạo, trau dồi cho chúng em những kiến thức thật bổ ích trong thờigian qua
Chúng em xin cảm ơn cô ThS Vũ Thị Vân đã hướng dẫn chúng em hoànthành bài báo cáo môn học Cảm ơn cô đã định hướng, hướng dẫn, truyền đạtnhững kiến thức bổ ích, cũng như cung cấp tài liệu để chúng em có thể hoàn thành
đồ án thực tập Cảm ơn sự nhiệt tình, tận tâm của thầy đối với chúng em
Trên thực tế, không có sự thành công nào mà không gắn liền với những sự
hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trongthời gian từ khi bắt đầu đăng ký môn học đến nay chúng em đã nhận được rấtnhiều sự quan tâm, giúp đỡ từ quý Thầy Cô Nếu như không có những lời hướngdẫn, dạy bảo của cô thì chúng em nghĩ bài báo cáo học phần này của chúng em rấtkhó có thể hoàn thiện được Một lần nữa, chúng em xin chân thành cảm ơncô.Trong quá trình thực hiện, không tránh khỏi những thiếu sót là điều chắc chắn,chúng em mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô vàcác bạn học để kiến thức của chúng em trong lĩnh vực này được hoàn thiện hơnnữa
Chúng em kính chúc cô Vũ Thị Vân cũng như tất cả thầy cô trong Khoa Antoàn thông tin Học viện Kỹ thuật Mật mã dồi dào sức khỏe, gặt hái được nhiềuthành công trong sự nghiệp
Trang 4MỤC LỤC
Contents
Lời cảm ơn 2
MỤC LỤC i
Danh mục kí hiệu và viết tắt ii
Lời nói đầu iii
Chương 1 Tổng quan VỀ DoS 1
1.1 Khái niệm DoS 1
1.2 Đối tượng của cuộc tấn công DoS 2
1.3 Mục đích 2
Chương 2 KỸ THUẬT TẤN CÔNG DoS 3
2.1 Một số loại tấn công DoS 3
2.1.1 SYN Flood Attack 3
2.1.2 UDP Flood Attack 3
2.1.3 HTTP Flood Attack 4
2.1.4 Ping of Death Attack 5
2.1.5 Teardrop Attact 6
2.1.6 Ping (ICMP) Flood 6
Chương 3 TẤN CÔNG DOS 8
3.1 Công cụ hỗ trợ triển khai tấn công DoS 8
3.2 Tấn công thực nghiệm DoS 10
3.3 Các giải pháp chống tấn công DOS 24
3.4 Một số công cụ phòng chống tấn công DOS 25
KẾT LUẬN 27
Trang 5DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
APDOS Advanced Persistent Denial-of-service
Trang 6LỜI NÓI ĐẦU
Tấn công từ chối dịch vụ là cuộc tấn công nhằm làm sập một máy chủ hoặcmạng, khiến người dùng khác không thể truy cập vào máy chủ/mạng đó Kẻ tấncông thực hiện điều này bằng cách "tuồn" ồ ạt traffic hoặc gửi thông tin có thể kíchhoạt sự cố đến máy chủ, hệ thống hoặc mạng mục tiêu, từ đó khiến người dùnghợp pháp (nhân viên, thành viên, chủ tài khoản) không thể truy cập dịch vụ, tàinguyên họ mong đợi
Nội dung chính của báo cáo được trình bày trong 3 chương :
Chương 1 Tổng quan về DoS
Trong chương 1 này, trình bày tổng quan về DoS bao gồm: khái niệm, mục đích, đối tượng tấn công.
Chương 2 Kỹ thuật tấn công DoS và giải pháp phòng chống:
Trong chương 2, giới thiệu chi tiết các cuộc tấn công điển hình như: SYN Flood, UDP Flood, Ping of Death, Slowloris
Chương 3 Tấn công DoS
Sau thời gian thực hiện, các mục tiêu về cơ bản đã đạt được Tuynhiên tấn cộng mạng vấn đề khó lường và phức tạp, thời gian thựchiện tương đối ngắn nên chắc chắn không tránh khỏi thiếu sót Rấtmong được sự góp ý của các thầy cô, cũng như các bạn học viên bàibáo cáo này được hoàn thiện hơn
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ DOS
1.1 Khái niệm DoS
Khái niệm Dos: Dos là viết tắt của Denial of Service nghĩa là từ chối dịch
vụ Dos là một kiểu tấn công mạ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ìnhthường, bằng cách làm quá tải tài nguyên của hệ thống đó Đây là kiểu tấn côngđơn giản nhất Thường thì tin tặc sẽ tạo ra một lượng rất lớn các truy cập đến máytính mục tiêu, khiến nó không kịp xử lý các tác vụ cần kíp, từ đó dẫn đến quá tảikhiến máy mục tiêu bị chậm hoặc không thể sử dụng được Các cuộc tấn công DoSthường không có khả năng truy cập vào các dữ liệu thực của hệ thống nhưng nó lạilàm gián đoạn các dịch vụ mà hệ thống đó cung cấp khiến uy tín doanh nghiệpgiảm sút hoặc người dùng có thể không sử dụng dịch vụ do hệ thống đó cung cấpnữa Tuy nhiên, các cuộc tấn công DoS đặc trưng bởi việc sử dụng một máy tínhduy nhất để bắt đầu một cuộc tấn công vì thế nên nó khá dễ để theo dõi và ngănchặn
Hình 1-1 Minh họa tấn công DoS.
Trang 81.2 Đối tượng của cuộc tấn công DoS
Các cuộc Tấn công Từ chối Dịch vụ thường nhắm vào các máy chủ ảo(VPS) hay Web Server của các doanh nghiệp lớn như ngân hàng, chính phủ hoặc làcác trang thương mại điện tử Ngoài ra, băng thông của hệ thống mạng (NetworkBandwidth), bộ nhớ, ổ đĩa, và CPU Time hay cấu trúc dữ liệu cũng có thể là mụctiêu của tấn công DoS
Không chỉ vậy, kẻ tấn công còn có thể nhắm vào các 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ệ thống làmmát và nhiều tài nguyên khác của doanh nghiệp Những hệ thống này có thểtrực tiếp ảnh hưởng đến hoạt động của máy chủ và gây ra thiệt hại cho doanhnghiệp sở hữu
1.3 Mục đích
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 chongườ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ậpvà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 truycậ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
Phá hoại hoặc thay đổi các thông tin cấu hình
Trang 9CHƯƠNG 2 KỸ THUẬT TẤN CÔNG DOS
2.1 Một số loại tấn công DoS
2.1.1 SYN Flood Attack
SYN Flood là hình thức tấn công được thực hiện để khai thác điểm yếutrong giao thức kết nối mạng TCP (quá trình bắt tay 3 bước) Theo phương thứcgiao tiếp internet thông thường thì máy chủ sẽ nhận 1 thông điệp nội bộ (SYN) đểtiến hành “bắt tay” (handshake) Khi đã nhận được thông điệp, máy chủ sẽ gửi cờbáo nhận (ACK) tới máy lưu trữ ban đầu và đóng kết nối Nhưng một khi tin tặc đãtấn công SYN Flood, các thông điệp giả mạo sẽ được gửi đi liên tục, dẫn đến kếtnối không được đóng lại và dịch vụ bị đánh sập
Hình 2-2 Minh họa SYN Flood Attack
2.1.2 UDP Flood Attack
UDP (User Datagram Protocol) được hiểu là giao thức kết nối không tin cậy.Theo đó, UDP Flood sẽ tấn công gây ngập lụt UDP
Khi thực hiện phương thức tấn công này, tin tặc sẽ gửi một lượng lớn cácgói tin UDP tới một số cổng ngẫu nhiên trên server Máy chủ kiểm tra và trả lờivới một ICMP Destination Unreachable (gói tin không tìm thấy) Khi số lượng yêucầu UDP vượt quá ngưỡng cho phép, máy chủ sẽ mất khả năng xử lý request, dẫnđến tình trạng từ chối dịch vụ
Trang 10Hình 2-3 Minh họa UDP Flood Attack
2.1.3 HTTP Flood Attack
HTTP Flood tấn công, gây quá tải bằng cách gửi hàng loạt yêu cầu GEThoặc POST hợp pháp đến máy chủ Phương pháp này tuy tiêu tốn ít băng thônghơn các kiểu tấn công từ chối dịch vụ khác nhưng vẫn có thể buộc máy chủ sửdụng nguồn tài nguyên tối đa để xử lý tác vụ
Hình 2-4 Minh họa HTTP Flood Attack
Trang 112.1.4 Ping of Death Attack
Ping of Death là kỹ thuật tấn công làm quá tải hệ thống máy chủ trực tuyếnbằng cách gửi đến các gói tin ICMP có kích thước trên 65.536 byte đến mục tiêu.Bởi kích thước tệp vượt quá mức cho phép của gói tin IP nên chúng sẽ được chiathành từng phần nhỏ và gửi đến hệ thống máy đích Khi đến nơi, các phần này sẽđược phép lại thành một gói tin hoàn chỉnh vượt quá khả năng xử lý của hệ thống,gây tràn bộ nhớ đệm và khiến máy chủ bị treo
Đặc điểm của Ping of Death Attack:
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
Để 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
Hình 2-5 Minh họa Ping of Death Attack
Trang 122.1.5 Teardrop Attact
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ứng dụng khác, phục vụ các user khác
2.1.6 Ping (ICMP) Flood
Cuộc tấn công Ping (ICMP) flood là gì?
Là cuộc tấn công Ddos, trong đó kẻ tấn công cố gắng áp đảo một thiết bịmục tiêu bằng các yêu cầu packets ICMP , khiến mục tiêu không thể có lưu lượngtruy cập bình thường Khi lưu lượng tấn công đến từ nhiều thiết bị, cuộc tấn công
sẽ trở thành một tấn công DDoS hoặc tấn công Ddos phân tán
Làm thế nào để tấn công Ping (ICMP) flood?
Internet Control Message Protocol (ICMP) được sử dụng trong một cuộc tấncông Ping Flood, là một giao thức internet được sử dụng bởi các thiết bị mạng đểliên lạc Các công cụ chẩn đoán mạng traceroute và ping đều sử dụng bằng ICMP.Thông thường, ICMP gửi các tin nhắn đến (echo-request) và phản hồi đi (echo-reply messages) dùng để Ping các thiết bị trong mạng nhằm mục đính chẩn đoántình trạng sức khỏe và kết nối của thiết bị, kết nối giữa người gửi và thiết bị
Một yêu cầu ICMP cần một số tài nguyên server để xử lý từng yêu cầu vàgửi phản hồi Yêu cầu cũng cần tổng lưu lượng trên cả tin nhắn đến (echo-request)
và phản hồi đi (echo-reply) Cuộc tấn công Ping Flood nhằm áp đảo khả năng củathiết bị mục tiêu để phản hồi với số lượng yêu cầu cao hoặc quá tải kết nối mạngvới lưu lượng ảo Bằng cách có nhiều thiết bị mạng botnet nhắm vào cùng một cơ
sở hạ tầng hoặc cơ sở hạ tầng với các ICMP requests, lưu lượng tấn công đượctăng lên đáng kể, có khả năng dẫn đến gián đoạn hoạt động mạng bình thường.Trong lịch sử, những kẻ tấn công thường giả mạo một địa chỉ IP để che giấu thiết
Trang 13bị gửi Với các cuộc tấn công botnet hiện đại, hiếm khi thấy các kẻ xấu cần phảiche giấu IP của bot, và thay vào đó dựa vào một mạng lưới lớn các bot không giảmạo để bão hòa công suất của mục tiêu tấn công.
Bước 1: Kẻ tấn công gửi nhiều packets echo-request ICMP đến server mụctiêu bằng nhiều thiết bị
Bước 2: Sau đó, máy chủ mục tiêu sẽ gửi packets echo-reply ICMP đến từngđịa chỉ IP của thiết bị yêu cầu phản hồi
Trang 14CHƯƠNG 3 TẤN CÔNG DOS
3.1 Công cụ hỗ trợ triển khai tấn công DoS
a) Metasploit Framework.
Metasploit là một công cụ khai thác được sử dụng rộng rãi nhấttrong lĩnh vực hacking/sercurity được swur dụng bởi cả người mới và cácchuyên gia Metaspoit được phát triển vào năm 2003 như một dự án mãnguồn mở bởi H.D Moore Ban đầu nó được viết bằng Perl và sau đó đãđược nhóm phát triển viết lại bằng Ruby vào năm 2007 Hai năm sau,Rapid7 đã mua lại nó và Metasploit Framework được chia thành 3 phiênbản Hai phiên bản professional và express là hai phiên bản thương mại,ngoài ra còn bản community là bản mã nguồn mở
Metasploit có các tính năng chính :
- Quét cổng để xác định các dịch vụ đang hoạt động trên server
- Xác định các lỗ hổng dựa trên phiên bản của hệ điều hành và các phầnmềm cài đặt trên hệ điều hành đó
- Thử nghiệm khai thác các lỗ hổng đã được xác định
Trang 15Hình 3-1 Công cụ Metasploit.
b) Hping3.
Trang 16c) Hping
là
comman d-line
hướng
kết nối
LOICHping3.
Trang 17Hping3 là một công cụ đầu cuối dành cho Linux nên sẽ cho phépchúng ta dễ dàng phân tách và lắp ráp các packet được gửi qua giao thứcTCP/IP, để chúng ta có thể điều chỉnh chúng theo nhu cầu Cùng với việcphân tích gói tin thì công cụ này cũng có thể được sử dụng cho mục đíchbảo mật Nhưng trong bài này chúng ta sẽ dùng HPing3 để thực hiện cáccuộc tấn công DoS.
Hình 3-2 HPing3 trên Kali Linux.
3.2 Tấn công thực nghiệm DoS a) Mô hình mạng thực hiện tấn công DoS
- Các phần mềm và công cụ hỗ trợ
+ VMware Workstation 15x
+ Máy ảo Kali linux 2021(máy tấn công)
+ Máy ảo windowserver 2008 và ubuntu 20.10(máy nạn nhân).+ công cụ HPing3 và Metasploit chạy trên máy kali
Trang 18+ Wireshark trên máy thật để kiểm tra gói tin được gửi đi trongquá trình thực nghiệm.
b) Tấn công SYN Flood
Mô triển khai tấn công SYN Flood Với máy tấn công sử dụng hệ điều hànhKali Linux địa chỉ 10.10.10.5 và máy nạn nhân sử dụng hệ điều hành WindowsServer 2008 địa chỉ 10.10.10.3
Hình 3-3 Mô hình tấn công SYN Flood.
Ở mục này ta sẽ sử dụng HPing3 để gửi một loạt các gói tin với cờSYN để thực hiện bắt tay 3 bước với máy nạn nhân nhưng không phản hồi
Thực hiện kiểm tra các lưu lượng mạng trên máy nạn nhân ta thấy, khi chưathực hiện tấn công, không có bất cứ tín hiệu mạng nào trong một thời gian dài
Trang 19Hình 3-4 Tấn công SYN Flood.
Mở cửa sổ terminal trên máy attacker lên và nhập vào dòng lênh
Hping3 -S 10.10.10.3 -a 10.10.10.5 -p 80 –flood rồi enter để bắt đầu gửi các
request đến máy nạn nhân
Trang 20Hình 3-5 Tấn công SYN Flood.
Máy nạn nhân khi bị tấn công Ta thấy lưu lượng nhận tăng lên đột ngột Đó
là do hàng loạt SYN packet từ máy tấn công gửi đến liên tục Cùng với đó ta thấymáy nạn nhân liên tục gửi đi các gói tin có cùng kích thước.Đó là các góiSYN/ACK REPLY gửi trả về cho máy nguồn (bên gửi SYN) nhưng sẽ không baogiờ nhận được gói ACK trả lời từ máy đó Cho đến hết thời gian time-out nạn nhânmới nhận ra được điều này và giải phóng các tài nguyên hệ thống Vì lượng SYNpacket 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 sẽ bị hếttài nguyên
Trang 21Hình 3-6 Tấn công SYN Flood.
Sau khi ta dừng việc tấn công, lưu lượng mạng sẽ đột ngột giảm(trở về mứcban đầu) và các gói tin cũng không được gửi đi nữa
Trang 22Hình 3-7 Tấn công SYN Flood.
c) Tấn công UDP Flood
Mô hình triển khai tấn công UDP Flood Với máy tấn công sử dụng hệ điềuhành Kali Linux địa chỉ 10.10.10.5 và máy nạn nhân sử dụng hệ điều hànhWindows Server 2008 địa chỉ 10.10.10.3
Hình 3-8 Tấn công UDP Flood.
Trang 23Trước khi tấn công ta kiểm tra máy nạn nhân thì thấy tín hiệu mạng ổn định.
Hình 3-9 Tấn công UDP Flood.
Mở terminal trên máy attacker và nhập dòng lệnh hping3 -2 –flood 10.10.10.3 để bắt đầu thực hiện tấn công.
Trang 24Hình 3-10 Tấn công UDP Flood.
Máy nạn nhân khi bị tấn công Ta thấy lưu lượng nhận tăng lên đột ngột Sửdụng Wireshark bắt gói tin trên đường truyền ta thấy một lượng lớn các gói tinUDP được gửi tới một số cổng ngẫu nhiên trên máy nạn nhân Máy này kiểm tra
và trả lời với một ICMP Destination Unreachable (gói tin không tìm thấy) Khi sốlượng yêu cầu UDP vượt quá ngưỡng cho phép, máy nạn nhân sẽ mất khả năng xử
lý Request
Trang 25Hình 3-11 Tấn công UDP Flood.
Hình 3-12 Tấn công UDP Flood.
Trang 26d) Tấn công Slowloris
Mô hình triển khai tấn công Slowloris Với máy tấn công địa chỉ 10.10.10.5
và máy nạn nhân sử dụng hệ điều hành Ubuntu 2021 địa chỉ 10.10.10.4 và đã càiđặt máy chủ Apache ver2
Hình 3-13 Tấn công Slowloris.
Trước tấn công ta vẫn truy cập bình thường tới trang web của máy nạn nhân
Hình 3-14 Tấn công Slowloris.
Trang 27Mở cửa sổ terminal trên máy Kali rồi nhập dòng lệnh msfconsole để khởiđộng Metasploit.
Hình 3-15 Tấn công Slowloris.
Dùng lệnh search slowloris để tìm một payload thực hiện tấn công slowloris
Ở đây ta tìm thấy một payload là auxiliary/dos/http/slowloris ta sử dụng lệnh
“use auxiliary/dos/http/slowloris” để vào payload và dùng show options để
hiển thị các cài đặt