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

TTCN Đồ án tấn công từ chối dịch vụ DDoS

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 (2.06 MB, 46 trang )

1


MỤC LỤC
NGHIÊN CỨU CÁC GIẢI PHÁP PHÒNG TRÁNH TẤN CÔNG TỪ CHỐI DỊCH VỤ
...........................................................................................................................................................................1

Chương 1: Tổng quan về tấn công dịch vụ.....................................................................................4
1.1: Tấn công từ chối dịch vụ DoS:.................................................................................4
1.2: Tấn công từ chối dịch vụ phân tán (DDoS):.............................................................5
1.3: Phân loại tấn công DDoS..........................................................................................6
1.4 : Mục tiêu của các cuộc tấn công từ chối dịch vụ......................................................8
Chương 2: Các phương pháp tấn công từ chối dịch vụ...........................................................10
2.1. UDP Flood.............................................................................................................. 10
2.2. SYN Flood.............................................................................................................. 11
2.3. Ping of Death..........................................................................................................12
2.4. Smurf Attack...........................................................................................................13
2.5. Slowloris.................................................................................................................14
2.6. HTTP Flood Attack.................................................................................................15
2.7. Fraggle Attack........................................................................................................16
2.8. Application Level Attacks......................................................................................16
2.9. Advanced Persistent DoS (APDoS):.......................................................................16
2.10. NTP Amplification................................................................................................17
2.11. HTTP Get.............................................................................................................19
Chương 3: Các công nghệ phòng chống tấn công từ chối dịch vụ......................................21
3.1: Biện pháp ngăn chặn..............................................................................................21
3.1.1.Dựa trên vị trí triển khai....................................................................................21
3.1.2.Dựa trên giao thức mạng...................................................................................22
2



3.2: Giai đoạn ngăn ngừa...............................................................................................23
3.3: Giai đoạn đối đầu với cuộc tấn công......................................................................24
3.4: Các dạng tấn công DDoS........................................................................................24
3.5. Hạn chế và giảm thiểu............................................................................................27
3.5.1. Một vài bước mục đích giảm bớt kiểu tấn công từ chối dịch vụ.......................27
3.5.2. Một số phương thức tấn công:..........................................................................28
3.6. Hạn chế DoS và DDoS với Apache server :............................................................30
3.6.1. Với một máy chủ riêng ( máy chủ ảo và máy chủ thật )...................................30
3.6.2. Chặn DDOS với mod_rewrite (htaccess).........................................................31
3.7. Một số phương pháp phòng tránh tấn công từ chối dịch vụ....................................34
Chương 4: Tìm hiểu về Cloudflare...................................................................................................37
4.1. Tổng quan về Cloudflare........................................................................................37
4.2. Ưu điểm và nhược điểm của CloudFlare................................................................37
4.3. Cài đặt....................................................................................................................38
KẾT LUẬN................................................................................................................................................43
TÀI LIỆU THAM KHẢO....................................................................................................................44
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN..........................................................................45

3


Chương 1: Tổng quan về tấn công dịch vụ
1.1: Tấn công từ chối dịch vụ DoS:
DoS (Denial of Service) từ chối dịch vụ. Tấn công từ chối dịch vụ DoS là một sự kiện
bảo mật xảy ra khi kẻ tấn công có hành động ngăn cản người dùng hợp pháp truy cập hệ
thống máy tính, thiết bị hoặc các tài nguyên mạng khác.
Trong tấn công từ chối dịch vụ, kẻ tấn công nhằm vào các máy tính và sử dụng mạng
máy tính mà bạn đang dùng để ngăn cản truy cập email, website, tài khoản trực tuyến và các
dịch vụ khác.
Một kiểu Dos rõ ràng và phổ biến nhất là kẻ tấn công "tuồn" ồ ạt traffic vào máy chủ,

hệ thống hoặc mạng, làm cạn kiệt tài nguyên của nạn nhân, khiến người dùng hợp pháp gặp
khó khăn hoặc thậm chí không thể sử dụng chúng. Cụ thể hơn, khi bạn nhập vào URL của
một website vào trình duyệt, lúc đó bạn đang gửi một yêu cầu đến máy chủ của trang này để
xem. Máy chủ chỉ có thể xử lý một số yêu cầu nhất định trong một khoảng thời gian, vì vậy
nếu kẻ tấn công làm gửi ồ ạt nhiều yêu cầu đến máy chủ sẽ làm nó bị quá tải và yêu cầu của
bạn không được xử lý. Đây là kiểu “từ chối dịch vụ” vì nó làm cho bạn không thể truy cập
đến trang đó.

Hình 1. Cách thức DoS hoạt động
4


Cách thực hiện: Kẻ tấn công có thể sử dụng thư rác để thực hiện các tấn công tương tự
trên tài khoản email của bạn. Dù bạn có một tài khoản email được cung cấp bởi nhân viên
của bạn hay có sẵn qua một dịch vụ miễn phí như Yahoo hay Hotmail thì vẫn bị giới hạn số
lượng dữ liệu trong tài khoản. Bằng cách gửi nhiều email đến tài khoản của bạn, kẻ tấn công
có thể tiêu thụ hết phần nhận mail và ngăn chặn bạn nhận được các mail
1.2: Tấn công từ chối dịch vụ phân tán (DDoS):
DDoS (Distributed Denial of Service Attack) là nhiều máy tính hoặc nhiều hệ thống máy
tính cùng yêu cầu tài nguyên trên máy đích làm cho máy đích không đủ tài nguyên để phục
vụ, hậu quả là có thể treo (mất khả năng phục vụ) và khởi động lại.
Hacker thường tấn công từ chối dịch vụ thường nhắm vào các trang tin tức mạng hay
máy chủ của các ngân hàng, cổng thanh toán thẻ tín dụng v.v.

Hình 2: Cách thức DDos hoạt động
Cách thực hiện: Hacker có thể lợi dụng các máy chủ Free Proxy trên thể giới hoặc sử
dụng BOTNET để điều khiển của tấn công, hoặc viết các tools upload lên các diễn đàn để
rồi các tools tự động gửi các yêu cầu tới các máy chủ cần tấn công.
5



 Hệ thống chống DDOS
Đối với Cloud Server và Cloud Desktop được cấu hình trực tiếp trên windows và cài soft
chống DDOS lên.
Đối với Cloud Datacenter có hệ thống chống DDOS vật lý và của VMware.
Chạy HA (High Availability): dự phòng, khi một server này gặp vấn đề, server khác sẽ
được active, người dùng sẽ không nhận thấy bất cứ sự gián đoạn nào của dịch vụ.
1.3: Phân loại tấn công DDoS
 Tấn công vào băng thông mạng
Trong phương pháp này kẻ tấn công điều khiển mạng lưới Agent đồng loạt gửi các gói tin
ICMP hay UDP đến nạn nhân làm cho băng thông mạng của nạn nhân bị quá tải và không
thể phục vụ được. Ví dụ như trong trường hợp ICMP flood, nạn nhân sẽ phải gửi trả lại các
gói tin ICMP_REPLY tương ứng. Do số lượng của Agent gửi đến nạn nhân rất lớn nên
việc gửi lại các gói ICMP_REPLY dẫn đến nghẽn mạng. Trong trường hợp UDP flood cũng
tương tự.
Phương pháp tấn công này đặc biệt nguy hiểm do không những băng thông mạng của nạn
nhân bị quá tải mà còn ảnh hưởng đến các mạng lân cận. Hiện nay, với sự phát triển của các
công cụDdos, hầu hết đều hỗ trợ giả mạo địa chỉ IP.
 Tấn công vào giao thức
Điển hình của phương pháp tấn công này là TCP SYN flood. Kẻ tấn công lợi dụng quá
trình bắt tay 3 bước trong giao thức TCP. Kẻ tấn công liên tục khởi tạo kết nối TCP. Nạn
nhân sẽ tiến hành gửi lại trả lời với SYN và ACK để chờ ACK từ phía máy khách.
Tuy nhiên, kẻ tấn công sẽ không gửi ACK đến nạn nhân hay nói cách khác là sẽ không
làm gì cả như quá trình bắt tay 3 bước. Cứ như vậy, nạn nhân sẽ tốn nhiều tài nguyên và
bộ nhớ để chờ các phiên TCP. Do vậy nạn nhân sẽ không thể phục vụ được do tốn bộ nhớ đề
chờ các kết nối ảo do kẻ tấn công khởi tạo.

6



 Tấn công bằng những gói tin khác thường
Trong phương pháp này, kẻ tấn công dựa vào các điểm yếu của giao thức mạng. Ví dụ
khi tấn công Ping of Death. Kẻ tấn công sẽ gửi một số gói tin ICMP có kích thước lớn hơn
kích thước giới hạn. Gói tin sẽ bị chia nhỏ, khi nạn nhân ghép lại nhận thấy rằng là gói tin
quá lớn để xử lý.
Kết quả là hệ thống không thể xử lý được tình trạng bất thường này và sẽ bị treo. Một
trường hợp khác như tấn công Lan Attack. Kẻ tấn công sẽ gửi các gói tin TCP SYN có địa
chỉ nguồn, địa chỉ đích và số cổng giống nhau. Nạn nhân sẽ liên tục khởi tạo và kết nối với
chính nó. Do vậy hệ thống sẽ bị treo hoặc bị chậm lại.
 Tấn công qua phần mềm trung gian
Trong phương pháp tấn công này, kẻ tấn công sẽ sử dụng một phần mềm hợp lệ trên
máy nạn nhân. Khai thác một số thuật toán và tiến hành đưa tham số trong trường hợp xấu
nhất. Do vậy, máynạn nhân sẽ phải xử lý quá trình này và có thể bị treo. Đây là phương
pháp tấn công khá đơn giản nhưng lại có hiệu quả rất cao. Nhưng nguy hiểm hơn cả là kẻ
tấn công đã đột nhập được vào máy nạn nhân để có thể ăn cắp các thông tin cá nhân của nạn
nhân
 Các cuộc tấn công từ chối dịch vụ
 1998 Chương trình Trinoo Distributed Denial of Service (DDoS) được viết bởi Phifli.
 Tháng 5 – 1999 Trang chủ của FBI đã ngừng họat động vì cuộc tấn công bằng (DDOS) .
 Tháng 6 – 1999 Mạng Trinoo đã được cài đặt và kiểm tra trên hơn 2000 hệ thống.
 Cuối tháng 8 đầu tháng 9 năm 1999, Tribal Flood Network đầu tiên ra đời. Cuối tháng 9
năm 1999.
 Ngày 21 tháng 10 năm 1999 David Dittrich thuộc trường đại học Washington đã làm
những phân tích về công cụ tấn công từ chối dịch vụ .
 Ngày 21 tháng 12 năm 1999 Mixter phát hành Tribe Flood Network 2000 ( TFN2K ).

7


 7 – 2 -2000 Yahoo! ( Một trung tâm nổi tiếng ) đã bị tấn công từ chối dịch vụ và ngưng

trệ hoạt động trong vòng 3 giờ đồng hồ. Web site Mail Yahoo và GeoCities đã bị tấn công
từ 50 địa chỉ IP khác nhau với nhửng yêu cầu chuyễn vận lên đến 1 gigabit/s.
 8-2 nhiều Web site lớn như Buy.com, Amazon.com, eBay, Datek, MSN, và CNN.com bị

tấn công từ chối dịch vụ.
 Lúc 7 giờ tối ngày 9-2/2000 Website Excite.com là cái đích của một vụ tấn công từ chối

dịch vụ, dữ liệu được luân chuyễn tới tấp trong vòng 1 giờ cho đến khi kết thúc, và gói
dữ liệu đó đã hư hỏng nặng.
Qua đó ta có thể thấy rõ những vụ tấn công từ chối dịch vụ (Denial Of Services Attack )
và những cuộc tấn công về việc gửi nhửng gói dữ liệu tới máy chủ (Flood Data Of Services
Attack) tới tấp là những mối lo sợ cho nhiều mạng máy tính lớn và nhỏ hiện nay.
Khi một mạng máy tính bị Hacker tấn công nó sẽ chiếm một lượng lớn tài
nguyên trên server như dung lượng ổ cứng, bộ nhớ, CPU, băng thông …. Lượng tài
nguyên này tùy thuộc vào khả năng huy động tấn công của mỗi Hacker. Khi đó Server
sẽ không thể đáp ứng hết những yêu cầu từ những client của những người sử dụng và
từ đó server có thể sẽ nhanh chóng bị ngừng hoạt động, crash hoặc reboot.
Tấn công từ chối dịch vụ có rất nhiều dạng như Ping of Death, Teardrop, Aland
Attack, Winnuke, Smurf Attack, UDP/ICMP Flooding, TCP/SYN Flooding, Attack
DNS.
1.4 : Mục tiêu của các cuộc tấn công từ chối dịch vụ
 Làm tiêu tốn tài nguyên của hệ thống,có thể làm hết băng thong,đầy dung lượng lưu trữ
trên đĩa hoặc tăng thời gian xử lý.
 Phá vỡ các thành phần vật lý của mạng máy tính.

8


 Làm tắc nghẽn thông tin liên lạc bên ra bên ngoài.
 Phá vỡ các thông tin cấu hình như thông tin định tuyến

 Phá vỡ các trạng thái thông tin như việc tự động reset lại các phiên TCP.
 Làm quá tải năng lực xử lý,dẫn đến hệ thống không thể thực thi bất kỳ một công việc
nào khác.
 Những lỗi gọi tức thì trong microcode của máy tính.
 Những lỗi gọi tức thì trong chuỗi chỉ thị,dẫn đến máy tính rơi vào tình trạng hoạt động
không ổn định hoặc bị đơ
 Những lỗi có thể khai thác được ở hệ điều hành dẫn đến việc thiếu thốn tài nguyên hoặc
bị tharshing.Ví dụ như sử dụng tất cả các năng lực có sẵn dẫn đến không một công việc
thực tế nào có thể hoàn thành được.
 Gây crash hệ thống
Tấn công từ chối dịch vụ IFrame:Trong một trang HTML, có thể gọi đến một trang web
nào đó với rất nhiều yêu cầu và trong rất nhiều lần cho đến khi băng thông của trang web đó
bị quá hạn.

9


Chương 2: Các phương pháp tấn công từ chối dịch vụ
2.1. UDP Flood

Hình 3. UDP Flood Attack
UDP (User Datagram Protocol) là một giao thức kết nối không tin cậy. Một cuộc tấn công
gây ngập lụt UDP có thể được bắt đầu bằng cách gửi một số lượng lớn các gói tin UDP tới
cổng ngẫu nhiên trên một máy chủ từ xa và kết quả là các máy chủ ở xa sẽ :


Kiểm tra các ứng dụng với cổng (Check for the application listening at that port)




Thấy rằng không có ứng dụng nghe ở cổng (See that no application listens at that
port)



Trả lời với một ICMP Destination Unreachable gói (Reply with an ICMP Destination
Unreachable packet)

Như vậy, hệ thống nạn nhân sẽ bị buộc nhận nhiều gói tin ICMP, dẫn đến mất khả năng xử
lý các yêu cầu của các khách hàng thông thường. Những kẻ tấn công cũng có thể giả mạo
địa chỉ IP của gói tin UDP, đảm bảo rằng ICMP gói trở lại quá mức không tiếp cận họ, và
nặc danh hóa vị trí mạng của họ. Hầu hết các hệ điều hành sẽ giảm nhẹ một phần của cuộc
tấn công bằng cách hạn chế tốc độ phản ứng ICMP được gửi đi.
10


Công cụ hay dùng để tấn công UDP flood:
 Low Orbit Ion Cannon
 UDP Unicorn

2.2. SYN Flood

Hình 4. SYN Flood attack
Kiểu tấn công TCP SYN flood là một kiểu tấn công trực tiếp vào máy chủ bằng cách tạo ra
một số lượng lớn các kết nối TCP nhưng không hoàn thành các kết nối này.
Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request TCP SYN và
lúc này máy chủ không còn khả năng đáp lại – kết nối không được thực hiện.


Đầu tiên các khách hàng gửi gói tin yêu cầu SYN với số thứ tự x đến các máy chủ.




Các máy chủ đáp ứng bằng cách gửi một thông báo nhận (ACK – SYN) .
Với cờ SYN = y và cờ ACK = x + 1 .
Khi khách hàng nhận được, khách hàng sẽ gửi một thông báo nhận (ACK) với cờ y +


1.

SYN Flood là một loại tấn công website bằng DDOS. Ở đây, kẻ tấn công gửi các yêu cầu
SYN vĩnh viễn để ăn tài nguyên máy chủ nhiều nhất có thể. Hacker không bao giờ trả lời
11


SYN-ACK hoặc thậm chí nếu nó trả lời nó sử dụng một địa chỉ IP giả. Vì vậy, các máy chủ
không bao giờ nhận được các gói tin trả lời thậm chí chờ đợi cho đến khi hết thời gian chờ.

2.3. Ping of Death

Hình 5. Ping of Death attack
Đây cũng là một kiểu tấn công khá dễ hiểu. Khi một máy tính nhận một gói ICMP có
kích thước dữ liệu quá lớn, nó có thể bị crash. Kiểu tấn công này rất thường gặp trong các
hệ điều hành Windows NT trở xuống. Đối với các hệ điều hành đời mới thì việc tấn công
này trở nên khó khăn hơn. Tuy nhiên đôi khi các lỗi này vẫn xuất hiện trong các gói phần
mềm. Điển hình như Windows IIS Web Server – ‘Ping of Death’ exploit (CVE-2015-1635)
trên các máy chủ Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012,
Windows 8.1 và Windows Server 2012 R2 sử dụng IIS Web Server.
Đây là 1 kiểu tấn công khá nguy hiểm vào những năm 1996 nhưng ngày nay thì nó
không thực sự hiệu quả. Hầu hết các ISP chặn được gói tin ICMP hoặc gói tin ping ngay tại

tường lửa. Tuy nhiên, có rất nhiều hình thức khác của cuộc tấn công này nhằm vào đích là
12


các phần cứng hoặc 1 ứng dụng duy nhất. Đôi lúc nó còn được gọi với những cái tên khác
như:”Teardrop”, “Bonk”, và “Boink”
Một số công cụ thực hiện tấn công : Jolt, Sping, ICMP Bug, IceNewk.

13


2.4. Smurf Attack

Hình 6. Sumurf Attack
Gồm 3 phần:
1. Attacker: Thực hiện ra lệnh tấn công
2. Mạng khuếch đại: Nghe lệnh của attacker
3. Victim: Nạn nhân bị tấn công
Cách thức hoạt động:
Attacker gửi gói tin ICMP echo request với địa chỉ broadcast (của một mạng khuếch đại)
và địa chỉ nguồn là địa chỉ của Victim. Theo đó thì tất cả các máy nằm trong mạng khuếch
đại sẽ đồng loạt trả lời về địa chỉ nguồn ( Victim) bằng gói tin ICMP echo reply với đích là
máy Victim.
Kết quả là máy tính này sẽ không thể xử lý kịp thời một lượng lớn thông tin và dẫn tới bị
treo máy. Như vậy chỉ cần một lượng nhỏ các gói tin ICMP đi đến mạng khuếch đại sẽ
khuếch đại lượng gói tin lên gấp bội. Tỷ lệ khuếch đại phụ thuộc vào số máy tính trong
mạng khuếch đại. Vì thế hacker chiếm được càng nhiều hệ thống mạng hoặc router cho
phép chuyển trực tiếp các gói tin đến địa chỉ broadcast không qua chỗ lọc địa chỉ nguồn ở
các đầu ra của gói tin thì cuộc tấn công càng dễ dàng hơn.


14


2.5. Slowloris

Hình 7. Slowloris
Là một tool DoS http. Nó được viết trên ngôn ngữ Python. Bot sẽ gửi liên tục các HTTP
Request mỗi 15 giây một lần để giữ cho kết nối luôn mở và chỉ đóng khi server sập (gây cạn
kiệt tài nguyên).
Cách hoạt động :
1. Kẻ tấn công trước tiên mở nhiều kết nối đến máy chủ được nhắm mục tiêu bằng cách
gửi nhiều tiêu đề yêu cầu http một phần
2. Mục tiêu mở một luồng cho mỗi yêu cầu đến, với mục đích đóng luồng sau khi kết
nối hoàn tất. Để có hiệu quả, nếu kết nối mất quá nhiều thời gian, máy chủ sẽ hết thời
gian kết nối quá dài, giải phóng chuỗi cho yêu cầu tiếp theo.
3. Để ngăn chặn mục tiêu hết thời gian kết nối, kẻ tấn công định kỳ gửi các tiêu đề yêu
cầu một phần đến mục tiêu để giữ cho yêu cầu tồn tại. Thực chất, “nói tôi vẫn ở đây!
Tôi chỉ chậm thôi, làm ơn đợi tôi.”
4. Máy chủ được nhắm mục tiêu không bao giờ có thể phát hành bất kỳ kết nối một
phần mở nào trong khi chờ kết thúc yêu cầu. Khi tất cả các luồng có sẵn đang được
sử dụng, máy chủ sẽ không thể đáp ứng các yêu cầu bổ sung được thực hiện từ lưu
lượng truy cập thông thường, dẫn đến từ chối dịch vụ.

15


2.6. HTTP Flood Attack

Hình 8. HTTP Flood Attack
HTTP Flood gần giống như các yêu cầu GET hoặc POST hợp pháp được khai thác bởi

một hacker. Nó sử dụng ít băng thông hơn các loại tấn công khác nhưng nó có thể buộc máy
chủ sử dụng các nguồn lực tối đa.
Cách thức tấn công:
Trong HTTP flood, các máy khách HTTP như trình duyệt web tương tác với một ứng dụng
hoặc máy chủ để gửi các yêu cầu HTTP. Yêu cầu có thể là GET hoặc POST. Mục đích của
cuộc tấn công là khi bắt buộc máy chủ phân bổ càng nhiều tài nguyên càng tốt để phục vụ
cuộc tấn công, do đó từ chối người dùng hợp pháp truy cập vào tài nguyên của máy chủ.
GET flood:
Yêu cầu GET được sử dụng để truy xuất nội dung tĩnh như hình ảnh. Thông thường, điều
này gây ra việc low load trên máy chủ cho mỗi yêu cầu.
POST flood:
Các yêu cầu POST có nhiều khả năng yêu cầu máy chủ thực hiện một số loại xử lý, chẳng
hạn như tìm kiếm các mục trong cơ sở dữ liệu. Do đó, các cuộc tấn công HTTP POST flood
thường áp đặt tải cao hơn cho máy chủ theo yêu cầu.

16


2.7. Fraggle Attack
Fraggle Attack sử dụng một lượng lớn lưu lượng UDP vào mạng phát sóng của router. Nó
giống như một cuộc tấn công Smurf, sử dụng UDP nhiều hơn là ICMP.

2.8. Application Level Attacks

Hình 9. Application Level Attacks
Application level attacks nhằm vào mục tiêu là các ứng dụng có nhiều lỗ hổng. Thay vì
cố gắng lụt toàn bộ máy chủ, một kẻ tấn công sẽ tập trung tấn công vào một hoặc một vài
ứng dụng. Các ứng dụng email dựa trên web, WordPress, Joomla và phần mềm diễn đàn là
những ví dụ điển hình về các mục tiêu cụ thể của ứng dụng.
Cách hoạt động:

Hiệu quả cơ bản của hầu hết các cuộc tấn công DDoS xuất phát từ sự chênh lệch giữa
lượng tài nguyên cần có để khởi động một cuộc tấn công so với lượng tài nguyên cần có để
hấp thụ hoặc giảm thiểu một tài nguyên. Mặc dù đây vẫn là trường hợp của các cuộc tấn
công L7, hiệu quả của việc ảnh hưởng đến cả máy chủ được nhắm mục tiêu và mạng đòi hỏi
tổng băng thông ít hơn để đạt được hiệu ứng gây rối tương tự; một cuộc tấn công lớp ứng
dụng tạo ra nhiều thiệt hại hơn với tổng băng thông ít hơn.

2.9. Advanced Persistent DoS (APDoS):
17


Advanced Persistent DoS (APDoS) là một loại tấn công được sử dụng bởi hacker với
mong muốn gây ra những thiệt hại nghiêm trọng. Nó sử dụng nhiều kiểu tấn công được đề
cập trước đó HTTP Flood, SYN Flood, v.v...) và thường nhắm tấn công theo kiểu gửi hàng
triệu yêu cầu/giây. Các cuộc tấn công của APDoS có thể kéo dài hàng tuần, phụ thuộc vào
khả năng của hacker để chuyển đổi các chiến thuật bất cứ lúc nào và tạo ra sự đa dạng để
tránh các bảo vệ an ninh.

2.10. NTP Amplification

Hình 10. NTP Amplification
NTP Amplification khai thác các máy chủ NTP (Network Time Protocol), một giao thức
được sử dụng để đồng bộ thời gian mạng, làm tràn ngập lưu lượng UDP. Đây là reflection
attack bị khuếch đại. Trong reflection attack bất kỳ nào đều sẽ có phản hồi từ máy chủ đến
IP giả mạo, khi bị khuếch đại, thì phản hồi từ máy chủ sẽ không còn tương xứng với yêu cầu
ban đầu. Vì sử dụng băng thông lớn khi bị DDoS nên loại tấn công này có tính phá hoại và
volumne cao.
Cách hoạt động:
Tất cả các cuộc tấn công khuếch đại đều khai thác sự chênh lệch về bandwidth cost
giữa kẻ tấn công và tài nguyên web được nhắm mục tiêu. Khi chênh lệch về cost được

phóng to qua nhiều yêu cầu, khối lượng lưu lượng truy cập có thể phá vỡ cơ sở hạ tầng
mạng. Bằng cách gửi các truy vấn nhỏ dẫn đến phản hồi lớn, hacker có thể nhận được nhiều
18


hơn từ các truy vấn đó. Khi nhân độ phóng đại này bằng cách cho mỗi bot trong botnet thực
hiện các yêu cầu tương tự, kẻ tấn công vừa bị che khuất khỏi việc phát hiện và gặt hái
những lợi ích của lưu lượng tấn công tăng lên rất nhiều. Khuếch đại NTP, giống như khuếch
đại DNS.
Các cuộc tấn công DNS flood khác với các cuộc tấn công khuếch đại DNS. Không
giống như DNS flood, các cuộc tấn công khuếch đại DNS phản ánh và khuếch đại lưu lượng
ra khỏi các máy chủ DNS không bảo mật nhằm che giấu nguồn gốc của cuộc tấn công và
tăng hiệu quả của nó. Các cuộc tấn công khuếch đại DNS sử dụng các thiết bị có kết nối
băng thông nhỏ hơn để thực hiện nhiều yêu cầu đến các máy chủ DNS không bảo mật. Các
thiết bị thực hiện nhiều yêu cầu nhỏ đối với các bản ghi DNS rất lớn, nhưng khi thực hiện
các yêu cầu, kẻ tấn công giả mạo địa chỉ trả về là địa chỉ của nạn nhân dự định. Việc khuếch
đại cho phép kẻ tấn công lấy ra các mục tiêu lớn hơn chỉ với các tài nguyên tấn công hạn
chế.
Giao thức thời gian mạng được thiết kế để cho phép các thiết bị được kết nối internet
đồng bộ hóa đồng hồ bên trong của chúng và phục vụ một chức năng quan trọng trong kiến
trúc internet. Bằng cách khai thác lệnh monlist được kích hoạt trên một số máy chủ NTP, kẻ
tấn công có thể nhân lưu lượng yêu cầu ban đầu của chúng, dẫn đến phản hồi lớn. Lệnh này
được bật theo mặc định trên các thiết bị cũ hơn và đáp ứng với 600 địa chỉ IP nguồn cuối
cùng của các yêu cầu đã được thực hiện cho máy chủ NTP. Yêu cầu danh sách từ một máy
chủ có 600 địa chỉ trong bộ nhớ của nó sẽ lớn hơn 206 lần so với yêu cầu ban đầu. Điều này
có nghĩa là một kẻ tấn công có 1 GB lưu lượng truy cập internet có thể cung cấp một cuộc
tấn công hơn 200 gigabyte - một sự gia tăng lớn trong lưu lượng tấn công kết quả.
Một cuộc tấn công khuếch đại NTP có thể được chia thành bốn bước:
1. Kẻ tấn công sử dụng botnet để gửi các gói UDP có địa chỉ IP giả mạo đến máy chủ
NTP có lệnh monlist được kích hoạt. Địa chỉ IP giả mạo trên mỗi gói chỉ đến địa

chỉ IP thực của nạn nhân.
2. Mỗi gói UDP tạo một yêu cầu đến máy chủ NTP bằng lệnh monlist của nó, dẫn đến
một phản hồi lớn.
19


3. Sau đó, máy chủ trả lời địa chỉ giả mạo với dữ liệu kết quả.
4. Địa chỉ IP của mục tiêu nhận được phản hồi và cơ sở hạ tầng mạng xung quanh trở
nên quá tải với lưu lượng truy cập, dẫn đến việc từ chối dịch vụ.

2.11. HTTP Get
HTTP GET là một kiểu tấn công lớp ứng dụng (Application Layer attack), quy mô nhỏ
hơn và được nhắm tới những mục tiêu hơn. Application Level Attacks khai thác lỗ hổng
trong các ứng dụng. Mục tiêu của loại tấn công này không phải là toàn bộ máy chủ, mà là
các ứng dụng với những điểm yếu được biết đến. Kiểu tấn công này sẽ nhắm vào Lớp thứ 7
trong mô hình OSI. Đây là lớp có lưu lượng mạng cao nhất, thay vì hướng vào lớp thứ 3
thường được chọn làm mục tiêu trong các cuộc tấn công Bulk Volumetric.
HTTP GET khai thác quy trình trình của một trình duyệt web hoặc ứng dụng HTTP nào đó
và yêu cầu một ứng dụng hoặc máy chủ cho mỗi yêu cầu HTTP, đó là GET hoặc POST.
HTTP Flood gần giống như các yêu cầu GET hoặc POST hợp pháp được khai thác bởi một
hacker. Nó sử dụng ít băng thông hơn các loại tấn công khác nhưng nó có thể buộc máy chủ
sử dụng các nguồn lực tối đa. Rất khó để chống lại kiểu tấn công này vì chúng sử dụng các
yêu cầu URL tiêu chuẩn, thay vì các tập lệnh bị hỏng hoặc khối lượng lớn.

2.12. Zero-day DDoS Attacks

Hình 11. Zero Day DDoS Attacks
20



Nói chung, thuật ngữ Zero Day Attack được áp dụng cho các cuộc tấn công sử dụng các lỗ
hổng bảo mật phần mềm mới, trong đó cộng đồng vẫn chưa biết. Có thể mất khá nhiều thời
gian kể từ thời điểm malefactor phát hiện lỗ hổng cho đến khi phát hành và cài đặt bản vá
mới. Trong suốt thời gian này, lỗ hổng sẽ được sử dụng tích cực để chặn tài nguyên và đánh
cắp thông tin. Chẳng hạn, để tổ chức một cuộc tấn công DDoS thành công, tin tặc cần tổ
chức một mạng botnet trong một thời gian ngắn, tốt nhất là sử dụng các máy chủ không bị
mất uy tín trước đó. Chiến thuật dễ bị tổn thương Zero Day là một lựa chọn hoàn hảo cho
mục đích này. Do đó phương pháp này đạt được sự phổ biến với các tin tặc trên toàn thế
giới. Để đạt được mục tiêu của mình, các malefactors phải truy cập vào một máy chủ chạy
phần mềm có lỗ hổng 0-day. Máy chủ sau đó có thể được sử dụng cho loại tấn công này.
Điều này cũng có nghĩa là không cần sử dụng số lượng lớn bot.

21


Chương 3: Các công nghệ phòng chống tấn công từ chối
dịch vụ
3.1: Biện pháp ngăn chặn
Do tính chất nghiêm trọng của tấn công DDoS, nhiều giải pháp phòng chống đã được
nghiên cứu và đề xuất trong những năm qua. Tuy nhiên, cho đến hiện nay gần như chưa có
giải pháp nào có khả năng phòng chống DDoS một cách toàn diện và hiệu quả do tính chất
phức tạp, quy mô lớn và tính phân tán rất cao của tấn công DDoS.
Thông thường, khi phát hiện tấn công DDoS, việc có thể thực hiện được tốt nhất là ngắt
hệ thống nạn nhân khỏi tất cả các tài nguyên do mọi hành động phản ứng lại tấn công đều
cần đến các tài nguyên trong khi các tài nguyên này đã bị tấn công DDoS làm cho cạn kiệt.
Sau khi hệ thống nạn nhân được ngắt khỏi các tài nguyên, việc truy tìm nguồn gốc và nhận
dạng tấn công có thể được tiến hành.
Nhiều biện pháp phòng chống tấn công DDoS đã được nghiên cứu trong những năm gần
đây thành tựu chung có thể chia các biện pháp phòng chống tấn công DDoS thành 3 dạng
theo 3 tiêu chí chính:

 Dựa trên vị trí triển khai.
 Dựa trên giao thức mạng.
 Dựa trên thời điểm hành động.
3.1.1.Dựa trên vị trí triển khai
Các biện pháp phòng chống tấn công DDoS được phân loại vào dạng này dựa trên vị trí
cài đặt và tiếp tục được chia nhỏ thành 3 dạng con
1) Triển khai ở nguồn tấn công:
- Các biện pháp phòng chống tấn công DDoS được triển khai ở gần nguồn của tấn công.
- Phương pháp này nhằm hạn chế các mạng người dùng tham gia tấn công DDoS.
22


Một số biện pháp cụ thể bao gồm:
 Thực hiện lọc các gói tin sử dụng địa chỉ giả mạo tại các bộ định tuyến ở cổng mạng;
 Sử dụng các tường lửa có khả năng nhận dạng và giảm tần suất chuyển các gói tin hoặc
yêu cầu không được xác nhận.
2) Triển khai ở đích tấn công: Các biện pháp phòng chống tấn công DDoS được triển khai
ở gần đích của tấn công, tức là tại bộ định tuyến ở cổng mạng hoặc bộ định tuyến của hệ
thống đích. Các biện pháp cụ thể có thể gồm:
 Truy tìm địa chỉ IP: Gồm các kỹ thuật nhận dạng địa chỉ và người dùng giả mạo.
 Lọc và đánh dấu các gói tin: Các gói tin hợp lệ được đánh dấu sao cho hệ thống nạn
nhân có thể phân biệt các gói tin hợp lệ và gói tin tấn công. Một số kỹ thuật lọc và đánh
dấu gói tin được đề xuất gồm: Lọc IP dựa trên lịch sử, Lọc dựa trên đếm hop, Nhận
dạng đường dẫn,…
3) Triển khai ở mạng đích tấn công: Các biện pháp phòng chống tấn công DDoS được triển
khai ở các bộ định tuyến của mạng đích dựa trên lọc gói tin, phát hiện và lọc các gói tin độc
hại.
3.1.2.Dựa trên giao thức mạng
Các biện pháp phòng chống tấn công DDoS được chia nhỏ theo tầng mạng: IP, TCP và
ứng dụng :

1) Phòng chống tấn công DDoS ở tầng IP bao gồm một số biện pháp:
 Pushback: Là cơ chế phòng chống tấn công DDoS ở tầng IP cho phép một bộ định
tuyến yêu cầu các bộ định tuyến liền kề phía trước giảm tần suất truyền các gói tin.
 SIP defender: Một kiến trúc an ninh mở cho phép giám sát luồng các gói tin giữa các
máy chủ SIP và người dùng và proxy bên ngoài với mục đích phát hiện và ngăn chặn
tấn công vào các máy chủ SIP.
23


 Các phương pháp dựa trên ô đố chữ: Gồm các phương pháp dựa trên ô đố chữ mật mã
để chống lại tấn công DDoS ở mức IP.
 Phòng chống tấn công DDoS ở tầng TCP bao gồm một số biện pháp:
 Sử dụng các kỹ thuật lọc gói tin dựa trên địa chỉ IP.
 Tăng kích thước Backlogs giúp tăng khả năng chấp nhận kết nối mới của hệ thống đích.
 Giảm thời gian chờ xác nhận yêu cầu kết nối TCP-SYN giúp máy chủ hủy bỏ các yêu
cầu kết nối không được xác nhận trong khoảng thời gian ngắn hơn, giải phóng tài
nguyên các kết nối chờ chiếm giữ.
 Sử dụng SYN cache giúp duy trì Backlogs chung cho toàn máy chủ thay vì Backlogs
riêng cho mỗi ứng dụng. Nhờ vậy có thể tăng số lượng kết nối đang chờ xác nhận.
 Sử dụng SYN Cookies cho phép chỉ cấp phát tài nguyên cho kết nối khi nó đã được xác
nhận. Các yêu cầu SYN sẽ bị hủy nếu không được xác nhận trước khi được chuyển cho
máy chủ đích. Phương pháp này có thể giúp phòng chống tấn công SYN Flood hiệu
quả.
 Sử dụng tường lửa hoặc proxy để lọc các gói tin hoặc thực thi các chính sách an ninh đã
xác lập trước.
 Phòng chống tấn công DDoS ở tầng ứng dụng có thể bao gồm:
 Tối thiểu hóa hành vi truy nhập trang để phòng chống tấn công gây ngập lụt HTTP.
 Sử dụng các phương pháp thống kê để phát hiện tấn công DDoS ở mức HTTP.
 Giám sát hành vi của người dùng trong các phiên làm việc để phát hiện tấn công.
3.2: Giai đoạn ngăn ngừa

 Giai đoạn chuẩn bị
Chuẩn bị công cụ quan trọng của cuộc tấn công, công cụ này thông thường hoạt động
theo mô hình client-server. Hacker có thể viết phần mềm này hay down load một cách dễ
24


dàng, theo thống kê tạm thời có khoảng hơn 10 công cụ DDoS được cung cấp miễn phí trên
mạng (các công cụ này sẽ phân tích chi tiết vào phần sau)
Kế tiếp, dùng các kỹ thuật hack khác để nắm trọn quyền một số host trên mạng. tiến hành
cài đặt các software cần thiết trên các host này, việc cấu hình và thử nghiệm toàn bộ attacknetword (bao gồm mạng lưới các máy đã bị lợi dụng cùng với các software đã được thiết lập
trên đó, máy của hacker hoặc một số máy khác đã được thiết lập như điểm phát động tấn
công) cũng sẽ được thực hiện trong giai đoạn này.
3.3: Giai đoạn đối đầu với cuộc tấn công
 Giai đoạn xác định mục tiêu và thời điểm
- Sau khi xác định mục tiêu lấn cuối, hacker sẽ có hoạt động điều chỉnh attack-netword
chuyển hướng tấn công về phía mục tiêu.
- Yếu tố thời điểm sẽ quyết định mức độ thiệt hại và tốc độ đáp ứng của mục tiêu đối với
cuộc tấn công.
3.4: Các dạng tấn công DDoS
3.4.1. Dạng tấn công layer 3 ( mô hình OSI )
Với các kiểu tấn công ở layer 3, ta sẽ sử dụng iptables ( công cụ mã nguồn mở và có sẵn
trên linux ) để giới hạn các gói tin từ kẻ tấn công gửi tới.
- Kiểu tấn công ICMP Flood: ta sẽ thiết lập các rule trên iptables để limit các gói tin
icmp. Ví dụ dòng lệnh chỉ cho phép 1 gói tin icmp/1s từ 1 nguồn, các gói tin còn lại
vượt ngưỡng sẽ bị loại bỏ.
Mã:

quangvinh-a@boyd:~$ sudo iptables -N icmp_flood
quangvinh-a@boyd:~$ sudo iptables -A INPUT -p icmp -i eth0 -j icmp_flood
quangvinh-a@boyd:~$ sudo iptables -A icmp_flood -i eth0 -p icmp -m limit --limit 1/s -j ACCEPT

quangvinh-a@boyd:~$ sudo iptables -A icmp_flood -i eth0 -p icmp -m limit --limit 1/s -j LOG
--log-prefix "iptables: limit icmp"
quangvinh-a@boyd:~$ sudo iptables -A icmp_flood -i eth0 -p icmp -j DROP
quangvinh-a@boyd:~$ sudo iptables -A OUTPUT -p icmp -j ACCEPT

- Kiểu tấn công UDP Flood: ta sẽ thiết lập các rule trên iptables để limit các gói tin udp.
Ví dụ: Đoạn code giới hạn 10 gói tin udp/1s từ 1 nguồn, các gói tin vượt quá sẽ bị drop.
25


×