You are on page 1of 7

Các kiểu tấn công DDoS phổ biến hiện nay:

SYN Flood:
SYN Flood khai thác điểm yếu trong chuỗi kết nối TCP, được gọi là bắt tay ba chiều.
Máy chủ sẽ nhận được một thông điệp đồng bộ (SYN) để bắt đầu "bắt tay". Máy chủ
nhận tin nhắn bằng cách gửi cờ báo nhận (ACK) tới máy lưu trữ ban đầu, sau đó
đóng kết nối. Tuy nhiên, trong một SYN Flood, tin nhắn giả mạo được gửi đi và kết
nối không đóng => dịch vụ sập.
UDP Flood:
User Datagram Protocol (UDP) là một giao thức mạng không session. Một UDP
Flood nhắm đến các cổng ngẫu nhiên trên máy tính hoặc mạng với các gói tin UDP.
Máy chủ kiểm tra ứng dụng tại các cổng đó nhưng không tìm thấy ứng dụng nào.
HTTP Flood:
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.
Ping of Death:
Ping of Death điều khiển các giao thức IP bằng cách gửi những đoạn mã độc đến
một hệ thống. Đây là loại DDoS phổ biến cách đây hai thập kỷ nhưng đã không còn
hiệu quả vào thời điểm hiện tại.
Smurf Attack:
Smurf Attack khai thác giao thức Internet (IP) và ICMP (Internet Control Message
Protocol) sử dụng một chương trình phần mềm độc hại gọi là smurf. Nó giả mạo một
địa chỉ IP và sử dụng ICMP, sau đó ping các địa chỉ IP trên một mạng nhất định.
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.
Slowloris:
Slowloris cho phép kẻ tấn công sử dụng nguồn lực tối thiểu trong một cuộc tấn công
và các mục tiêu trên máy chủ web. Khi đã kết nối với mục tiêu mong muốn, Slowloris
giữ liên kết đó mở càng lâu càng tốt với HTTP tràn ngập. Kiểu tấn công này đã được
sử dụng trong một số DDoSing kiểu hacktivist (tấn công vì mục tiêu chính trị) cao
cấp, bao gồm cuộc bầu cử tổng thống Iran năm 2009. Việc giảm thiểu ảnh hưởng
với loại hình tấn công này là rất khó khăn.
Application Level Attacks:
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.
NTP Amplification:
NTPAmplification 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.

Advanced Persistent DoS (APDoS):


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.
Zero-day DDoS Attacks:
Zero-day DDoS Attacks là tên được đặt cho các phương pháp tấn công DDoS mới,
khai thác các lỗ hổng chưa được vá.

Làm thế nào để tránh vấn đề trên?


Thực sự không có một biện pháp cụ thể nào để tránh trở thành nạn nhân của DoS
hay DDoS. Tuy nhiên chúng tôi sẽ giới thiệu cho các bạn vài bước với mục đích
giảm bớt phần nào kiểu tấn công mà sẽ sử dụng máy tính của bạn đế đi tấn công
máy tính khác.
 Cài đặt và duy trì phần mềm chống virus.
 Cài đặt tường lửa và cấu hình nó để giới hạn lưu lượng đến và đi từ máy tính của bạn.
 Làm theo các hướng dẫn thực hành an toàn về phân phối địa chỉ email của bạn.
 Dùng các bộ lọc email để giúp bạn quản lý lưu lượng không mong muốn.
Nhận biết các cuộc tấn công Dos và DDos
Không phải sự sập đổ hoàn toàn nào của dịch vụ cũng là kết quả của một tấn công
từ chối dịch vụ. Có nhiều vấn đề kỹ thuật với một mạng hoặc với các quản trị viên
đang thực hiện việc bảo trì và quản lý. Mặc dù thế nhưng với các triệu chứng dưới
đây bạn có thể nhận ra tấn công DoS hoặc DdoS:
 Thực thi mạng chậm một cách không bình thường (mở file hay truy cập website)
 Không vào được website bạn vẫn xem
 Không thể truy cập đến bất kỳ một website nào
 Số lượng thư giác tăng một cách đột biến trong tài khoản của bạn.

TCP SYN Flood, Established Bit, TCP Intercept

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.

Phía kẻ tấn công sẽ khởi tạo nhiều TCP, trong mỗi kết nối chỉ để cờ TCP SYN. Máy chủ sẽ gửi lại trả
lời vớI TCP SYN và ACK. Nhưng sau đó máy tấn công đơn giản là không trả lời thông điệp thứ ba
như mong đợi của server theo tiến trình bắt tay ba chiều. Server lúc này sẽ tốn bộ nhớ và tài nguyên
trong khi chờ các phiên TCP timeouts hoặc trước khi các kết nối đang thiết lập dang dở được dọn
dẹp.

Máy server lúc này có thể từ chối các kết nối TCP khác và các thiết bị cân bằng tải trong các server
farm lúc này có thể chia tải không cân bằng. Các firewall có hỗ trợ cơ chế stateful có thể ngăn ngừa
kiểu tấn công TCP SYN attack này.

Kiểu tấn công SYN flood vẫn hiệu quả ngày nay là nhờ ba nguyên nhân:

- Các gói tin SYN là một phần của lưu lượng bình thường, hàng ngày. Vì vậy rất khó cho các thiết bị
có thể lọc kiểu lưu lượng này.
- Các gói tin SYN thường không yêu cầu nhiều băng thông để khởi động tấn công bởi vì kích thước
khá nhỏ.
- Các gói tin SYN có thể bị spoofed bởi vì không cần các thông điệp trả lời gửi ngược về đích. Kết
quả là, bạn có thể chọn các địa chỉ IP ngẫu nhiên để khởi động tấn công, làm cho các tay quản trị
càng khó lọc bỏ các gói tin này.

Phát hiện kiểu tấn công DoS

Việc phát hiện kiểu tấn công DoS thì thường dễ thấy, nhưng các kiểu tấn công này thường khó phát
hiện lúc đầu. Các triệu chứng thường là:

- Các hoạt động mạng tăng cao.


- CPU của router tăng cao.
- Không trả lời từ các host.
- Các máy bị treo ở vài thời điểm.

Một cách để ngăn ngừa kiểu tấn công SYN attack là đơn giản loại bỏ các gói TCP header trong đó
chỉ có cờ SYN được thiết lập. Nói cách khác, loại bỏ tất cả các gói tin đầu tiên trong một kết nối TCP
mới. Trong nhiều trường hợp, một router không nên cho phép các kết nối TCP được thiết lập bởi
client. Trong trường hợp này, việc lọc các TCP segment ban đầu giúp ngăn ngừa SYN attack.

Cisco IOS ACLs không thể match trực tiếp cờ TCP SYN. Tuy nhiên một ACL có thể dùng từ khóa
establised để tìm ra những tcp segment có cờ ACK được thiết lập. Từ khóa established có thể match
tất cả các TCP segment ngoại trừ TCP segment đầu tiên trong một kết nối mới. Cấu hình dưới đây sẽ
dùng trên R1 để từ chối những yêu cầu kết nối mới từ Internet đi vào mạng bên trong ASN1.

Dòng ACE đầu tiên sẽ lựa ra các phân đoạn TCP không phảI là segment đầu tiên và cho phép các
segment này. Dòng ACE thứ hai sẽ lựa ra tất cả các TCP segment, nhưng vì tất các các segment
không phảilà đầu tiên đã dính vớI dòng đầu tiên, dòng thứ hai này sẽ chỉ so trùng vớI các segment
đầu tiên.

ip access-list extended prevent-syn


permit tcp any 1.0.0.0 0.255.255.255 established
deny tcp any 1.0.0.0 0.255.255.255
permit (whatever)
!
interface s0/0
ip access-group prevent-syn in

ACL hoạt động tốt khi client nằm bên ngoài mạng không được phép tạo kết nối TCP vào mạng bên
trong. Tuy nhiên trong những trường hợp các kết nối TCP vào bên trong là được phép, ACL này
không thể được dùng. Một đặc điểm khác của CiscoIOS được gọi là TCP intercept cho phép các kết
nối TCP đi vào mạng nhưng giám sát các kết nối này để chống kiểu tấn công TCP SYN. TCP
Intercept hoạt động trong hai chế độ. Trong chế độ watch, nó theo dõi thông tin trạng thái của kết nốI
TCP match với một ACL. Nếu kết nối TCP không hoàn bắt tay hai chiều trong một khoảng thời gian,
TCP intercepts sẽ gửi một thông điệp TCP reset đến máy server, dọn dẹp kết nối. Nó cũng sẽ đến số
kết nối mới trong một khoảng thời gian và nếu có một số lớn kết nối trong một giây (“lớn” có giá trị
mặc định là 1100), router sẽ tạm thời lọc các yêu cầu thiết lập TCP mới.

Trong chế độ intercept, router sẽ trả lời đến các yêu cầu thiết lập TCP thay vì chuyển các yêu cầu
này về server. Sau đó, nếu quá trình bắt tay 3 lần hoàn thành, router sẽ tạo ra một kết nối giữa nó và
server. Ở thời điểm này, router đã nối chặt hai kết nối với nhau. Chế độ này làm tốn nhiều tải nhưng
bảo vệ tốt hơn cho server.

Các lệnh dưới đây sẽ bật cơ chế TCP intercept cho những gói tin so trùng với ACL match-tcp-from-
internet. Ngoài ra, chế độ được thiết lập là chế độ watch, còn chế độ mặc định là intercept. Cuối
cùng, lệnh watch timeout đã được đưa về chế độ mặc định là 30 giây. Nếu kết nối TCP vẫn trong tình
trạng không hoàn tất, cơ chế TCP intercept sẽ khởi động việc hủy kết nối.

ip tcp intercept-list match-tcp-from-internet


ip tcp intercept mode watch
ip tcp intercept watch-timeout 20

ACL sẽ lựa ra tất cả các gói tin gửi đến địa chỉ 1.0.0.0/8 và dùng TCP. ACL này sẽ tham chiếu đến
các lệnh ip tcp intercept-list ở trên.

DoS attack sử dụng TCP SYN Flood


SYN Flood là phương thức ddos khá phổ biến hiện nay. Hôm nay tôi sẽ giới thiệu cho các bạn
về phương thức tấn công này.
Tổng quan về giao thức TCP
TCP là giao thức hướng kết nối connection-oriented nghĩa là nó thiết lập kênh kết nối trước khi
truyền dữ liệu đi. TCP thiết lập kết nối bằng quá trình bắt tay 3 bước:

- Bước 1: Đầu tiên client gửi một gói tin mang cờ SYN tới server yêu cầu kết nối.
- Bước 2: Sau khi nhận được gói tin SYN, server phản hồi lại client bằng 1 gói tin SYN/ACK và
chờ xác nhận lại từ client.
- Bước 3: Client nhận được gói tin SYN/ACK thì sẽ trả lời server bằng gói tin ACK báo với server
biết rằng nó đã nhận được gói tin SYN/ACK, kết nối đã được thiết lập và sẵn sàng trao đổi dữ
liệu.

Kịch bản tấn công


Như vậy ở bước thứ 2, sau khi server gửi gói tin SYN/ACK nó sẽ phải đợi cho đến khi client trả
lời hoặc hết thời gian timeout. Bằng việc gửi liên tiếp nhiều gói tin SYN đến server mà không
phản hồi lại bằng gói tin ACK buộc server phải đưa các kết nối này vào trong hàng đợi và chờ
đợi. Do giao thức TCP sử dụng các khối TCB (Tranmission control block) là cấu trúc dữ liệu của
giao thức vận chuyển chứa toàn bộ thông tin của kết nối. Dung lượng tối thiểu của 1 TCB là
280bytes, trong 1 số hệ thống hiện nay con số này còn lên tới 1,300 bytes. Với việc phải chờ đợi
các client dẫn đến không gian lưu trữ TCB dần dần cạn kiệt và không thể phục vụ những client
hợp lệ khác.

Có 3 kiểu tấn công chính


- Tấn công trực tiếp: kẻ tấn công sẽ gửi trực tiếp các gói tin SYN đến server.
- Tấn công giả mạo: kẻ tấn công sẽ giả mạo IP và gửi gói tin SYN đến server sau đó server sẽ
gửi các gói tin phản hồi SYN/ACK tới những IP bị giả mạo, trong trường hợp này những IP đó
chính là nạn nhân thứ 2 của cuộc tấn công.
- Tấn công phân tán trực tiếp: kẻ tấn công sẽ điểu khiển một mạng lưới máy tính đồng loạt gửi
các gói tin SYN đến server chiếm băng thông và gây cạn kiệt tài nguyên hệ thống.
Tiến hành tấn công
Ở đây tôi sử dụng Tool hping3 để thực hiện tấn công Syn Flood.
· Tấn công trực tiếp: Sử dụng IP 192.168.1.44 tấn công trực tiếp đến server 192.168.2.45

Gói tin bắt dc trên IP 192.168.1.44:

· Tấn công gián tiếp: Từ Server 192.168.1.44 IP 192.168.1.50 tấn công SYN Flood tới Web
Server 192.168.2.45, tuy nhiên trong gói tin SYN đã bị thay đổi Source IP thành 192.168.1.50
Kết quả bắt gói tin trên Server 192.168.1.44:

Kết quả bắt gói tin trên Server 192.168.1.50:


Giải pháp khắc phục
- Micro blocks: quản trị viên lưu trữ thông tin quan trọng của kết nối trong một ô nhớ giới hạn
thay vì lưu trữ toàn bộ thông tin về kết nối trong khi chờ đợi phản hồi từ client. Việc này nhằm
tiết kiệm bộ nhớ làm giảm khả năng gây tràn hàng đợi của server.
- SYN cookies: Server lưu lại tất cả những kết nối vào bảng hash với các thông số: IP, port, và
những thông tin khác. Server chỉ cấp bộ nhớ cho kết nối khi nhận được gói tin thứ 3 của quá
trình bắt tay 3 bước.
- RST cookies: khi nhận được gói tin SYN từ client, server cố tình gửi một gói tin không đúng với
gói SYN /ACK mà client đang chờ đợi, thông thường client sẽ gửi lại server gói tin RST thông
báo rằng nó không nhận được gói tin mong muốn và yêu cầu server gửi lại gói tin trước đó. Như
vậy nếu nhận được phản hồi RST từ client thì client này vô hại và server bắt đầu thiết lập kết nối
với client.
- Stack tweaking: quản trị hệ thống có thể nâng cấp không gian hàng đợi để giảm thiểu hậu quả
của cuộc tấn công SYN Flood cũng như làm giảm thời gian chờ đợi.

You might also like