Tải bản đầy đủ (.docx) (35 trang)

CSATTT 16 tìm hiểu kỹ thuật tấn công từ chối dịch vụ dos

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.92 MB, 35 trang )

BAN 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 tin
Chun ngành: An tồn
thơng tin

Sinh viên thực hiện:
Nguyễn Huy Mừng
Hạ Văn Mạnh
Vũ Ngọc Minh

Người hướng dẫn:
ThS. Vũ Thị Vân
Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã


Hà Nội, 2021


LỜ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ật
Mật Mã đã đào tạo, trau dồi cho chúng em những kiến thức thật bổ ích trong thời
gian qua.


Chúng em xin cảm ơn cô ThS. Vũ Thị Vân đã hướng dẫn chúng em hồn
thành bài báo cáo mơn học. Cảm ơn cơ đã định hướng, hướng dẫn, truyền đạt
nhữ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. Trong
thời gian từ khi bắt đầu đăng ký môn học đến nay chúng em đã nhận được rất
nhiều sự quan tâm, giúp đỡ từ quý Thầy Cô. Nếu như không có những lời hướng
dẫ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ất
khó có thể hồn thiện được. Một lần nữa, chúng em xin chân thành cảm ơn
cơ.Trong q 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 hồn thiện hơn
nữa.
Chúng em kính chúc cơ Vũ Thị Vân cũng như tất cả thầy cơ trong Khoa An
tồ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ều
thành công trong sự nghiệp.


MỤ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

1


DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
ACK
APDOS
ARP
DOS
HTTP
ICMP
IP
NTP
OSI
SYN
TCP

UDP
VPS
WAF

Acknowledgement
Advanced Persistent Denial-of-service
Address Resolution Protocol
Denial-of-service
Hypertext Transfer Protocol
Internet Control Message Protocol
Internet Protocol
Network Time Protocol
Open Systems Interconnection
Synchronous Idle Character
Transmission Control Protocol
User Datagram Protocol
Virtual Private Server
Web Application Firewall

2


LỜ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ặc
mạng, khiến người dùng khác không thể truy cập vào máy chủ/mạng đó. Kẻ tấn
cơ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ích
hoạt sự cố đến máy chủ, hệ thống hoặc mạng mục tiêu, từ đó khiến người dùng
hợ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ài
nguyê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. Tuy
nhiên tấn cộng mạng vấn đề khó lường và phức tạp, thời gian thực
hiện tương đối ngắn nên chắc chắn khơng tránh khỏi thiếu sót. Rất
mong được sự góp ý của các thầy cô, cũng như các bạn học viên bài
báo cáo này được hoàn thiện hơn.

3


CHƯƠ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ình
thườ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áy
tí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 q tải
khiế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 DoS
thườ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ại
làm gián đoạn các dịch vụ mà hệ thống đó cung cấp khiến uy tín doanh nghiệp
giả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ấp
nữ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ính
duy 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ăn

chặn.

Hình 1-1 Minh họa tấn cơng DoS.

1


1.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ử. Ngồi ra, 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 cũng có thể là mục
tiê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àm
má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 doanh
nghiệ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 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
 Phá hoại hoặc thay đổi các thơng tin cấu hình.

2


CHƯƠ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ếu
trong giao thức kết nối mạng TCP (quá trình bắt tay 3 bước). Theo phương thức
giao 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ết
nố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ác gó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ời với
một ICMP Destination Unreachable (gói tin khơng tìm thấy). Khi số lượng u cầ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ụ.
3



Hì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 GET
hoặ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ơng
hơ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
4


2.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ến
bằ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 chia
thà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 hồ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 IP là 65.536 bytes.

Q 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.

Hình 2-5 Minh họa Ping of Death Attack
2.1.5. Teardrop Attact
Tấn công Teardrop
5


- 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 q trình đó liên tục xảy ra hệ thống khơng cịn tài ngun 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ượng
truy 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ấn
cô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 đố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 (echoreply messages) dùng để Ping các thiết bị trong mạng nhằm mục đính chẩn đốn
tì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ủa
thiế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ạng
vớ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 được
tă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
bị 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ải
che 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.
6


Bước 1: Kẻ tấn công gửi nhiều packets echo-request ICMP đến server mục
tiê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.

7


CHƯƠ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ất

trong lĩnh vực hacking/sercurity được swur dụng bởi cả người mới và các
chuyê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ên
bản. Hai phiên bản professional và express là hai phiên bản thương mại,
ngồi ra cịn bản community là bản mã nguồn mở.
Metasploit có các tính năng chính :
- Qt 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ần
mề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.

8


Hình 3-1 Cơng cụ Metasploit.
b) Hping3.

9


c) Hping


comman
d-line
hướng
kết nối
LOICHping3.

10


Hping3 là một công cụ đầu cuối dành cho Linux nên sẽ cho phép
chúng ta dễ dàng phân tách và lắp ráp các packet được gửi qua giao thức
TCP/IP, để chúng ta có thể điều chỉnh chúng theo nhu cầu. Cùng với việc
phân tích gói tin thì cơng cụ này cũng có thể được sử dụng cho mục đích
bảo mật. Nhưng trong bài này chúng ta sẽ dùng HPing3 để thực hiện các
cuộ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.

11


+ Wireshark trên máy thật để kiểm tra gói tin được gửi đi trong
quá trình thực nghiệm.
- Kịch bản triển khai.
Kịch bản ở đây là kẻ tấn công(attacker) và nạn nhân(victim) ở
trong cùng một mạng LAN. Attacker sẽ dùng các công cụ là Hping3
và Metasploit để thực hiện các tấn công như SYN Flood, UDP
Flood, Ping Flood và Slowloris để thực hiện cuộc tấn công DoS.

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ành
Kali Linux địa chỉ 10.10.10.5 và máy nạn nhân sử dụng hệ điều hành Windows
Server 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ưa
thự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.

12


Hì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.

13


Hì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ấy
má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ói
SYN/ACK REPLY gửi trả về cho máy nguồn (bên gửi SYN) nhưng sẽ không bao
giờ nhận được gói ACK trả lời từ máy đó. Cho đến hết thời gian time-out 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. Vì 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 sẽ bị hết

tài nguyên.

14


Hì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ức
ban đầu) và các gói tin cũng khơng được gửi đi nữa.

15


Hì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ều
hành Kali Linux địa chỉ 10.10.10.5 và máy nạn nhân sử dụng hệ điều hành
Windows Server 2008 địa chỉ 10.10.10.3.

Hình 3-8 Tấn cơng UDP Flood.
16


Trướ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.

17



Hì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 tin
UDP đượ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 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.

18


Hình 3-11 Tấn cơng UDP Flood.

Hình 3-12 Tấn cơng UDP Flood.
19


×