Tải bản đầy đủ (.pdf) (26 trang)

Tài liệu DoS Attack docx

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 (934.22 KB, 26 trang )


1
MỤC LỤC



I. GIỚI THIỆU 2

1.1 Khái niệm 2
1.2 Lịch sử của DoS attack 2

II. PHÂN LOẠI 4

2.1 Winnuke 4
2.2 Ping of Death 4
2.3 Teardrop 5
2.4 Smurt Attack 6
2.5 Fraggle Attack 8
2.6 SYN flood Attack 8
2.7 Land Attack 12
2.8 UDP Flood 13
2.9 Tấn công DNS 13
2.10 DDoS Attack 13
2.11 DRDoS Attack 14

III.CÁC CÔNG CỤ TẤN CÔNG DoS PHỔ BIẾN 15

IV. BIỆN PHÁP PHÒNG CHỐNG DoS ATTACK 21

4.1 Chính sách chung phòng chống DoS Attack 21
4.2 Các kỹ thuật Anti – DDoS 23



V. TỔNG KẾT 25

NHẬN XÉT CỦA GIẢNG VIÊN 26




2
I. GIỚI THIỆU

1.1 Khái niệm

Denial of Service Attack là một dạng tấn công mà người thực hiện có thể dung để khiến cho
một hệ thống không sử dụng được hoặc làm chậm hệ thống lại, khiến nó không thể phục vụ cho các
users. Nguyên lý hoạt động cơ bản của nó là làm quá tải tài nguyên của hệ thống.

Mục tiêu của DoS Attack không phải là để chiếm quyền truy cập vào máy tính hay dữ liệu mà
là để ngăn cản những người sử
dụng (users) sử dụng dịch vụ đó (sử dụng máy tính hay truy cập dữ
liệu)

Kẻ tấn công có thể cố thực hiện những việc sau:

- Làm ngập (flood) một network, do vậy sẽ làm nghẽn việc lưu thông trên network đó

- Làm gián đoạn sự kết nối giữa hai máy tính, do vậy sẽ ngăn cản việc truy cập, sử dụng dịch vụ

- Cố gắng ngă
n chặn một cá nhân nào đó truy cập, sử dụng dịch vụ


- Cố gắng làm gián đoạn việc cung cấp dịch vụ đến một hệ thống hay một người nào đó


1.2 Lịch sử của DoS attack

Tấn công DoS đã có cuối những năm 90 của thế kỷ trước. Hoạt động này bắt nguồn từ khi một
số chuyên gia bảo mật, trong quá trình phát hiện khiếm khuyết hệ thống trên hệ điều hành Windows
98, đã phát hiện ra rằng chỉ cần gửi một gói dữ liệu ping có dung lượng lớn cũng đủ để làm tê liệt một
server mục tiêu.

Phát hiện này sau đó ngay lập tức
được giới hacker sử dụng để triệt tiêu những đối tượng mà
họ có ý định tấn công. Từ đây, hình thức sơ khai của DoS (Denial of Service) đã ra đời. Trong khi đó,
dạng DDoS (Distributed Denial of Service) thì dựa vào việc gửi một lệnh ping tới một danh sách gồm
nhiều server (kiểu này gọi là amplifier, tức là khuếch đại độ rộng mục tiêu), giả dạng là một gói ping
để địa chỉ IP gốc được trá hình với IP của mục tiêu n
ạn nhân. Các server khi trả lời yêu cầu ping này
khi đó sẽ làm “lụt” nạn nhân với những phản hồi (answer) gọi là pong.

Cách hoạt động: Một lệnh truy cập được gửi tới server. Server xác thực và rồi chờ lệnh đó
khẳng định việc xác thực nói trên trước khi cho phép máy tính của người sử dụng truy nhập.

Trong các cuộc tấn công DDoS, server bị ngập bởi các lệnh truy cập của một lượng kết nố
i
khổng lồ từ những địa chỉ không có thực và điều đó có nghĩa là server không thể tìm thấy người sử
dụng có nhu cầu truy cập đích thực. Khi số lệnh truy cập lớn quá, server bị lụt và không thể xử lý được
số lệnh mà nó đang được yêu cầu giải quyết.

Một số loại virus và sâu mạng cũng đã gây tấn công DDoS. Các trường hợp đầu tiên là những

virus phát tán e-mail s
ố lượng lớn như Loveletter, Melissa, làm lụt mail server khiến các máy chủ
không thể xử lý những yêu cầu hợp lệ. Hiện nay, nhiều loại sâu Internet lợi dụng lỗi trong máy tính (ví
dụ virus Sasser năm 2004) để làm lụt các máy tính chạy Windows có khiếm khuyết, khiến PC không
thể tải về các bản vá lỗi.


3
Nói chung, kẻ tấn công thường khống chế một máy tính từ xa bằng cách khai thác một khiếm
khuyết nào đó. Máy tính này (về sau sẽ trở thành mầm của mạng lưới máy tính bị khống chế phục vụ
tấn công DDoS, gọi là botnet) sẽ được cài đặt một quy trình ẩn nhằm đảm bảo nó luôn được kết nối
trong một phòng chat bí mật, nơi mà tác giả ra lệnh cho nó. Máy tính này cũng đồng thời tìm cách quét
trên Internet để tìm những computer khác có lỗ h
ổng, lây nhiễm phần mềm điều khiển từ xa vào chúng
để tất cả những máy mới bị không chế sẽ cùng gia nhập vào chatroom nói trên và sẵn sàng nhận lệnh
của hacker hoặc tham gia tìm kiếm trên Internet những PC có lỗi khác.

Nói chung, chỉ trong vài ngày, mạng máy tính ma này sẽ tăng từ một cái lên hàng trăm hoặc
hàng nghìn thành viên. Đến thời điểm lực lượng này đủ hùng hậu, chúng sẽ đồng loạt được sử dụng để
th
ực hiện lệnh tấn công vào mục tiêu theo ý muốn của tác giả. Mục tiêu sẽ biến mất khỏi mạng, tức là
offline hoàn toàn. Đồng thời tất cả những hoạt động tương tác trên môi trường Internet của nạn nhân
cũng ngừng luôn.

Một dạng riêng nguy hiểm hơn của DoS attack là DDoS (Distributed Denial of Service)
attack

DDoS attack là dạng tấn công trong đó nhiều hệ thống tấn công một hệ thống duy nhất, khiến
users của hệ
thống mục tiêu không thể sử dụng dịch vụ. Luồng dữ liệu được gửi tới quá lớn sẽ làm

ngập (flood) hệ thống mục tiêu nhanh chóng, buộc nó phải shutdown và ngưng cung cấp dịch vụ cho
người sử dụng.

DDoS attack nguy hiểm hơn DoS attack thông tường vì nó là tấn công trên diện rộng (large-
scale) , có sự phối hợp (coordinated) trong đó hệ thống bị tấn công là “nạn nhân chính” còn những hệ
thống bị hacker dùng
để triển khai tấn công vào hệ thống mục tiêu là “nạn nhân phụ”. Điều này cũng
làm DDoS khó ngăn chặn hơn vì việc tấn công xuất phát từ nhiều địa chỉ IP khác nhau, và nó dễ thành
công hơn DoS attack thông thường (ví dụ như một địa chỉ IP tấn công vào website của một công ty, nó
có thể dễ dàng bị ngăn chặn bởi các biện pháp an ninh của công ty này, nhưng nếu 30000 địa chỉ IP
cùng tấn công vào công ty này trong một lúc thì lại là chuyện khác)

• 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 tiiên ra đời, Chương trình được
Mixter Phát triển.

• Cuối tháng 9 năm 1999, Công cụ Stacheldraht đã bắt đầu xuất hiện trên những hệ thống của Châu âu
và Hoa kỳ.

• 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 ).


• 10 : 30 / 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ụ.

4

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

II. PHÂN LOẠI

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.


2.1 Winnuke:

DoS attack loại này chỉ có thể áp dụng cho các máy tính đang chạy Windows9x . Hacker sẽ gởi
các gói tin với dữ liệu ``Out of Band`` đến cổng 139 của máy tính đích.( Cổng 139 chính là cổng
NetBIOS, cổng này chỉ chấp nhận các gói tin có cờ Out of Band được bật ) . Khi máy tính của victim
nhận được gói tin này, một màn hình xanh báo lỗi sẽ được hiển thị lên với nạn nhân do chương trình
của Windows nhận được các gói tin này nhưng nó lại không biết phản ứng với các dữ liệu Out Of
Band nh
ư thế nào dẫn đến hệ thống sẽ bị crash.



2.2 Ping of Death:

Ping of death (POD) là send 1 gói ping malformed tới máy tính đích.

1 gói ping thông thường là 64 bytes (84 bytes nếu tính đến IP header).

Nhiều hệ thống máy tính không thể xu li được 1 gói ping lớn hơn kích cỡ gói IP lớn nhất
(2^16-1=65,535 bytes), vì vậy send gói ping với kích cỡ lớn như vậy có thể làm crash máy tính đích.

5
Nói chung, send 1 gói ping có kích cỡ quá lớn là bất hợp pháp về mặt giao thức mạng nhưng
có thể thực hiện được nếu chia gói ping ra làm nhiều phần (phân mảnh - fragment) để gởi đi.

Khi máy tính đích nhận được gói ping đã bị phân mảnh nó phải hợp lại các mảnh đó thành gói
ban đầu, việc này có thể gây ra lỗi tràn bộ đệm và làm crash máy tính đích.

Ping of death ảnh hưởng rất lớn đến các hệ điều hành như Unix, Linux, Mac, Windows và các

thiết bị như printer và router.

Bạn có thể thực hiện ping of Death trong linux bằng cách dùng lệnh “ping –f –x 65537 <IP>”.
Chú ý từ khóa –f. Từ khóa này ra lệnh cho máy gửi ra các gói tin càng nhanh càng tốt.

Tấn công PofD thường không chỉ là tổng lưu lượng hay kích thước lưu lượng mà còn là tốc độ
mà ở đó gói tin gửi đến máy đích. Bạn có thể thực hiện các công cụ sau để thực hiện tấn công Ping of
Death.

• Jolt
• SPing
• ICMP Bug
• IceNewk

Khoảng năm 1997-1998, lỗi nãy đã được fix, vì v
ậy bây giờ nó chỉ mang tính lịchsử. Đối với
các máy chưa fix lỗi nếu tổng của 2 "trường": "Fragment Offset" and "Total length" trong IP header
của mỗi IP fragment lớn hơn 65,535 thì packet bất hợp lệ và IP fragment bị bỏ qua > có thể thực hiện
bằng cách cấu hình Firewall. Cách khác là dùng vùng nhớ đệm có kích thước > 65,535 bytes cho việc
"hợp gói", tuy nhiên điều này vi phạm các đặc tả của giao thức mạng.

Ping flooding: dùng lệnh Ping gởi 1 lượng lớn packet chiếm hết băng thông c
ủa victim khiến
các gói tin bình thường không đến được.Chỉ có hiệu quả khi có sự chênh lệc băng thông lớn giữa
hacker và victim. Ví dụ: ADSL vs Dial

2.3 Tear Drop:

Tất cả các dữ liệu chuyển đi trên mạng từ hệ thống nguồn đến hệ thống đích đều phải trải qua 2
quá trình sau: dữ liệu sẽ được chia ra thành các mảnh nhỏ ở hệ thống nguồn, mỗi mảnh đều phải có

một giá trị offset nhất định để xác định vị trí của mảnh đó trong gói dữ liệu được chuyển đi. Khi các
mảnh này
đến hệ thống đích, hệ thống đích sẽ dựa vào giá trị offset để sắp xếp các mảnh lại với nhau
theo thứ tự đúng như ban đầu.

Ví dụ, có một dữ liệu gồm 4000 bytes cần được chuyển đi, giả sử rằng 4000 bytes này được
chia thành 3 gói nhỏ(packet):

packet thứ nhất sẽ mang các 1bytes dữ liệu từ 1 đến 1500
packet thứ hai sẽ mang các bytes dữ liệu từ 1501
đến 3000
packet thứ ba sẽ mang các bytes dữ liệu còn lại, từ 3001 đến 4000

Khi các packets này đến đích, hệ thống đích sẽ dựa vào offset của các gói packets để sắp xếp
lại cho đúng với thứ tự ban đầu: packet thứ nhất -> packet thứ hai -> packet thứ ba

Trong tấn công Teardrop, một loạt gói packets với giá trị offset chồng chéo lên nhau được gởi
đến hệ thống đích. Hệ thống đích sẽ không thể nào sắp xế
p lại các packets này, nó không điều khiển

6
được và có thể bị crash, reboot hoặc ngừng hoạt động nếu số lượng packets với giá trị offset chồng
chéo lên nhau quá lớn!

Hãy xem lại ví dụ trên, đúng ra các packet được gởi đến hệ thống đích có dạng như sau: (1-
>1500 bytes đầu tiên) (1501->3000 bytes tiếp theo) (3001->4000 bytes sau cùng), trong tấn công
Teardrop sẽ có dạng khác: (1->1500 bytes) (1501->3000 bytes) (1001->4000 bytes). Gói packet thứ ba
có lượng dữ liệu sai!

2.4 Smurt Attack







Hai nhân tố chính trong Smuft Attack là là các ICMP echo request packets và chuyển trực tiếp
các packets đến các địa chỉ broadcast.

+ Giao thức ICMP thường dùng để xác định một máy tính trên mạng Internet có còn hoạt
động(alive) hay không. Để xác định một máy có alive không, bạn cần gởi một ICMP echo request đến
máy đó. Khi máy nhận được packet này, nó sẽ gởi trả lại bạn một ICMP echo reply packet. Trong
trường hợp bạn không nhận được ICMP echo reply packet, điều này có nghĩa là máy đó không còn
hoạt động(not alive). Đây cũng chính là cách hoạt
động của các chương trình ping.


7
+ Mỗi mạng máy tính đều có địa chỉ địa chỉ broadcast và địa chỉ mạng. Địa chỉ broadcast có
các bit host đều bằng 0 và địa chỉ broadcast có các bit host đều bằng 1. Ví dụ địa chỉ ip lớp B
140.179.220.200 sẽ có địa chỉ mạng là 140.179.0.0 và địa chỉ broadcast mặc định là 140.179.0.0. Khi
một packet được gởi đến địa chỉ broadcast, lập tức packet này sẽ được chuyển đến tất cả các máy
trong mạng.

Trong Smurf Attack, cần có ba thành phần: hacker(ng
ười ra lệnh tấn công), mạng khuếch
đại(sẽ nghe lệnh của hacker) và dĩ nhiên là hê thống nạn nhân.

Hacker sẽ gởi các ICMP echo request packets đến địa chỉ broadcast của mạng khuếch đại. Điều
đặc biệt là các ICMP echo request packets này có địa chỉ ip nguồn chính là địa chỉ ip của nạn nhân.

Khi các packets đó đến được địa chỉ broadcast của mạng khuếch đại, lập tức tất cả các máy tính trong
mạng khuếch đại sẽ
nhận được các packets này. Các máy này tưởng rằng máy tính nạn nhân đã gởi
ICMP echo request packets đến(do hacker đã làm giả địa chỉ ip nguồn), lập tức chúng sẽ đồng loạt gởi
trả lại hệ thống nạn nhân các ICMP reply echo request packets. Hệ thống máy nạn nhân sẽ không chịu
nỗi một khối lượng khổng lồ các packets này và nhanh chóng bị ngừng hoạt động, crash hoặc reboot.

Như vậy, bạn có thể thấy rằng hacker chỉ cần g
ởi một lượng nhỏ các ICMP echo request
packets đi, và hệ thống mạng khuếch đại sẽ khuếch đại lượng ICMP echo request packets này lên gấp
bội. Tỉ lệ khuếch đại phụ thuộc vào số mạng tính có trong mạng khuếch đại. Nhiệm vụ của các hacker
là cố chiếm được càng nhiều hệ thống mạng hoặc routers cho phép chuyển trực tiếp các packets đến
địa chỉ broadcast và không lọc địa chỉ nguồn của các outgoing packets. Có
được các hệ thống này,
hacker sẽ dễ dàng tiến hành Smurf Attack trên các hệ thống cần tấn công.

Các công cụ cho Smurt attack:
Nemesis
Spike
Aggressor


8
Giải pháp:

Thực ra đối phó là cả một vấn đề vì không một cá nhân nào làm được mà yêu cầu phải là một
cộng đồng ( một cây làm chẳng nên non - 3 cây chụm lại nên hòn núi cao )

Từng cá nhân,công ty,tổ chức phải biết config máy tính,hệ thống của mình để không bị biến
thành mạng khuếch đại.


Khi bị tấn công các công ty,cá nhân cần phải phối hợp với ISP nhằm giới hạn lưu lựong
ICMP,tăng cườ
ng biện pháp đối phó

Theo rõi cuộc tấn công như kiểu này là rất khó nhưng không phải là không được

Để không bị biến thành mang khuếch đại bạn nên vô hiệu hóa chức năng
directed broadcast tại bộ định tuyến:

+Đối với bộ định tuyến của Cisco: vô hiệu hóa bằng lênh
no ip directed-broadcast

+ Đối với thiết bị khác bạn nên tham khảo tài liệu

+Solaris: bổ sung thêm dòng sau vào:/etc/rc2.d/S69inet
ndd -set /dev/ip ip_respond_to_echo_broadcast 0

+Linux :Áp dụng bức tường lửa ở
cấp độ nhân thông qua ipfw.Nhớ biên dịch bức tường lửa
sang nhân rồi thi hành các lênh sau:
ipfwadm -I -a deny -P icmp -D 10.10.10.0 -S 0/0 0 8
ipfwadm -I -a deny -P icmp -D 10.10.10.255 -S 0/0 0 8

2.5 Fraggle Attack:

Tương tự như Smurt attack nhưng thay vì dùng ICMP ECHO REQUEST packet thì sẽ dùng
UDP ECHO packet gởi đếm mục tiêu. Thật ra còn một biến thể khác của Fraggle attack sẽ gửi đến
UDP ECHO packet đến chargen port (port 19/UNIX) của mục tiêu, với địa chỉ bên gửi là echo port
(port 7/UNIX) của mục tiêu, tạo nên một vòng lặp vô hạn.


Attacker phát động cuộc tấn công bằng một ECHO REQUEST với địa chỉ bên nhận là một địa
chỉ broadcast, toàn bộ hệ thống thuộc địa chỉ này l
ập tức gửi REPLY đến port echo của nạn nhân, sau
đó từ nạn nhân một ECHO REPLY lại gửi trở về địa chỉ broadcast, quá trình cứ thế tiếp diễn. Đây
chính là nguyên nhân Flaggle Attack nguy hiểm hơn Smurt attack rất nhiều.

2.6 SYN flood attack:

Đó là chữ viết tắt của The Synchronous Idle Character nghĩa là ký tự đồng bộ hoá.

SYN flood attack (SFA). PANIX là một ví dụ điển hình về khả năng tàn phá của SFA.

Khi hai hệ thống kết nối TCP với nhau,chúng sẽ phải bắt tay nhau qua 3 bước (phương pháp
bắt tay 3 bước)



9

client1. SYN gửi từ client > server
client2. < SYN/ACK gửi từ server server
client3. ACK gửi từ client > server













10
Đầu tiên, A sẽ gửi cho B yêu cầu kết nối và chờ cho B trả lời. Sau khi B nhận được yêu cầu
này sẽ trả lời lại A là “đã nhận được yêu cầu từ A” (ACK) và “đề nghị trả lời lại để hoàn thành kết
nối” (SYN).

Đến lúc này, nếu A trả lời lại “đồng ý” (SYN) thì kết nối sẽ được tạo.

Đây chính là điểm mà SYN flooding hoạt động.

Sau khi nhận được SYN packet đầ
u tiên từ A, B sẽ trả lời cho A và chờ một thời gian để nhận
một SYN packet khác từ A. Nếu A không trả lời, kết nối không hoàn thành, ta gọi đó là nửa kết nối
(half-connection).

Hệ thống quản lý các nửa kết nối thông qua cấu trúc đặc biệt. Cấu trúc này có kích thước giới
hạn. Do đó, nếu số lượng nửa kết nối vượt qua giới hạn này, hệ thống sẽ tự
động bỏ các yêu cầu kết
nối tới sau cho đến khi số lượng nửa kết nối giảm xuống mức tối đa.

Sau một thời gian chờ không nhận được SYN packet thứ hai từ A, nửa kết nối đó sẽ bị bỏ,
nhường chỗ cho các yêu cầu kết nối sau, dẫn tới DoS. Thời gian chờ đó gọi là timeout. Đây cũng
chính là lý do cách thức này được gọi là SYN flooding. A chỉ
gửi đi các packet SYN yêu cầu kết nối
mà không quan tâm đến việc nhận SYN/ACK từ B cũng như trả lời lại để hoàn thành kết nối.


Số lượng nửa kết nối có thể tồn tại nhiều nhất phụ thuộc vào hệ thống (số lượng tối đa này còn
gọi là backlog). Cách nay khoảng năm năm, Linux có khoảng sáu, BSD thì khoảng năm. Như vậy, chỉ
cần một đườ
ng truyền rất nhỏ, khoảng 3600bps cũng đủ để flood, làm tê liệt một ISP lớn.

Ngoài ra, để chắc chắn, số này được này dư ra khoảng ba phần hai.
Có nghĩa là real_backlog = backlog * 3 / 2 + 1

Cộng một là dành cho socket có thể tạo được kết nối cho dù backlog bằng không. Thời gian
chờ cũng tùy thuộc vào hệ thống. Thời gian chờ càng lớn thì SYN flooding càng hiệu quả vì backlog
dễ bị đầy hơn. Solaris có thời gian chờ tương đối cao hơn các h
ệ thống khác.

Ngoài việc gây ra DoS, SYN flooding còn có thể làm hệ thống khởi động lại.

Để viết một chương trình thực hiện SYN flooding đòi hỏi kỹ thuật giả IP. Việc giả IP không
chỉ nhằm che dấu vết mà còn làm cho cuộc tấn công thêm hiệu quả. Việc chọn IP không tồn tại hoặc
không tới được (none reachable, non routable) cũng cần được thực hiện.

Sau khi nhận được SYN từ A, B sẽ gửi tr
ả SYN/ACK. Nếu SYN/ACK này tới được A thì có
hai trường hợp xảy ra. Một là A sẽ gửi trả SYN hoặc hai là A sẽ gửi trả RST (reset).

Trường hợp đầu tiên xảy ra khi A thật sự muốn kết nối tới B, trường hợp hai khi A không phải
là người yêu cầu kết nối. Tất cả đều do hệ thống đảm nhiệm. Khi nhận được RST, B sẽ huỷ bỏ nửa kết
nối đó. Do
đó, để cho SYN flooding hiệu quả, trường hợp đầu tiên phải được chọn. Để thực hiện việc
này ta phải chọn IP giả cho A sao cho SYN/ACK từ B gửi lại A sẽ không tới được A.

Để giả IP, sử dụng SOCK_RAW là điều tất yếu, và hiểu biết về cấu trúc một TCP/IP packet

cũng cần thiết. Bài viết này không đề cập tới cấu trúc một TCP/IP, chỉ nói về kỹ thuật s
ử dụng
SOCK_RAW. Trên môi trường Unix, libnet cung cấp một thư viện các hàm tiện lợi cho việc tạo các
packet cấp thấp (tới link layer, tạo các ICMP packet). Cũng may mắn là libnet đã được chuyển sang
môi trường Windows cho nên code viết cho môi trường Unix không cần thay đổi nhiều khi chuyển
sang Windows. Phần này viết code cho môi trường Unix:


11
#include
char *target = “localhost”;
void main() {
int packet_size, network;
u_long src_ip, dst_ip, src_p, dst_p;
char *packet;

dst_ip = libnet_name_resolve(target, LIBNET_RESOLVE);
src_ip = 0x0A000001; // note: big-endian 10.0.0.1
// can use any bogus number
src_p = 128;
dst_p = 80;
packet_size = LIBNET_IP_H + LIBNET_TCP_H;
libnet_init_packet(packet_size, &packet);
if (packet == NULL) {
libnet_error(LIBNET_ERR_FATAL, “failed init\n”);
}
network = libnet_open_raw_sock(IPPROTO_RAW);
if (network == -1) {
libnet_error(LIBNET_ERR_FATAL, “network err\n”);
}

libnet_build_ip(LIBNET_TCP_H,
IPTOS_LOWDELAY,
0x01, // IP ID
0,
16,
IPPROTO_IP,
src_ip,
dst_ip,
NULL,
0,
packet);
libnet_build_tcp(src_p,
dst_p,
1, // SYN number
1, // ACK number
TH_SYN,
1024,
0,
NULL,
0,
packet + LIBNET_IP_H);
if (libnet_packet_do_checksum(packet, IPPROTO_TCP,
LIBNET_TCP_H) == -1) {
libnet_error(LIBNET_ERR_FATAL, “checksum”);
}
libnet_write_ip(network, packet, packet_size);
libnet_destroypacket(&packet);
libnet_close_raw_sock(network);
return;
}



12
Đoạn code trên thực hiện việc gửi một SYN packet tới port 80 ở dst_ip, localhost. Cơ bản thì
hai hàm libnet_build_ip và libnet_build_tcp thực hiện việc tạo packet packet. Để viết tiếp một chương
trình thực hiện SYN Flooding hoàn chỉnh, ta chỉ việc thêm vào một vòng lặp ở libnet_build_ip,
libnet_build_tcp, libnet_do_checksum và libnet_write_ip.

Điều quan trọng là số SYN ở libnet_build_tcp phải được tăng dần/thay đổi trong mỗi lần lặp.
Nên thay đổi cả số ACK và IP ID. Việc sửa chữa này người đọ
c có thể dễ dàng thực hiện.

Giải pháp:

Muốn biết mình có bị tấn công SYN flood không ban có thể dùng lênh:
Netstat –a

Nếu thấy nhiều kết nối trong tình trạng SYN_RECV thì có nghĩa bạn đang bi tấn công.

Một số giải pháp:

- Tăng kích thước hàng đợi kết nối
-Giảm khoảng thời gian thiết lập kết nối
-tránh né tấn công syn flood bằng phần mềm
-IDS mạng

2.7 Land Attack :

Land Attack cũng gần giống như SYN Attack, nhưng thay vì dùng các địa chỉ ip không có
thực, hacker sẽ dùng chính địa chỉ ip của hệ thống nạn nhân.


Trong kiểu tấn công này, một gói tin TCP SYN sẽ được gửi với cùng địa chỉ nguồn, địa chỉ
đích và số cổng. Khi một host nhận được dạng lưu lượng bất thường này, host thường sẽ chậm lại hoặc
treo hoàn toàn vì nó cố gắng khởi tạo kế
t nối với chính nó trong một vòng lặp bất tận. Mặc dù đây là
một kiểu tấn công cũ, cả Windows XP với SP2 và Windows server 2003 đều bị ảnh hưởng với kiểu
tấn công này. Bạn có thể dùng chương trình Hping để tạo ra các gói tin có cùng địa chỉ nguồn và địa
chỉ đích.

Điều này sẽ tạo nên một vòng lặp vô tận giữa trong chính hệ thống nạn nhân đó, giữa một bên
cần nhậ
n thông tin phản hồi còn một bên thì chẳng bao giờ gởi thông tin phản hồi đó đi cả .

Một số cách chống nhưng hầu hết không chống được một cách triệt để:

1. Khi bạn phát hiện máy chủ mình bị tấn công hãy nhanh chóng truy tìm địa chỉ IP đó và cấm
không cho gửi dữ liệu đến máy chủ.

2. Dùng tính năng lọc dữ liệu của router/firewall để loại bỏ các packet không mong muốn, giảm
l
ượng lưu thông trên mạng và tải của máy chủ.

3. Sử dụng các tính năng cho phép đặt rate limit trên router/firewall để hạn chế số lượng packet
vào hệ thống.

4. Nếu bị tấn công do lỗi của phần mềm hay thiết bị thì nhanh chóng cập nhật các bản sửa lỗi
cho hệ thống đó hoặc thay thế.

5. Dùng một số cơ chế, công cụ, phần mềm để chống lại TCP SYN Flooding.


13

6. Tắt các dịch vụ khác nếu có trên máy chủ để giảm tải và có thể đáp ứng tốt hơn. Nếu được có
thể nâng cấp các thiết bị phần cứng để nâng cao khả năng đáp ứng của hệ thống hay sử dụng thêm các
máy chủ cùng tính năng khác để phân chia tải.

7. Tạm thời chuyển máy chủ sang một địa chỉ khác.

2.8 UDP flood

Hacker gửi gói tin UDP echo với địa chỉ IP nguồn là cổng loopback của chính mục tiêu cần tấn
công hoặc của một máy tính trong cùng mạng. Với mục tiêu sử dụng cổng UDP echo (port 7) để thiết
lập việc gửi và nhận các gói tin echo trên 2 máy tính (hoặc giữa mục tiêu với chính nó nếu mục tiêu có
cấu hình cổng loopback), khiến cho 2 máy tính này dần dần sử dụng hết băng thông của chúng, và cản
trở hoạt động chia sẻ tài nguyên mạng củ
a các máy tính khác trong mạng.

Cách tấn công UDP đòi hỏi phải có 2 hệ thống máy cùng tham gia. Hackers sẽ làm cho hệ
thống của mình đi vào một vòng lặp trao đổi các dữ liệu qua giao thức UDP. Và giả mạo địa chỉ ip của
các gói tin là địa chỉ loopback ( 127.0.0.1 ) , rồi gởi gói tin này đến hệ thống của nạn nhân trên cổng
UDP echo ( 7 ). Hệ thống của nạn nhân sẽ trả lời lại các messages do 127.0.0.1( chính nó ) gởi đến ,
kết quả là nó sẽ đi vòng m
ột vòng lặp vô tận. Tuy nhiên, có nhiều hệ thống không cho dùng địa chỉ
loopback nên hacker sẽ giả mạo một địa chỉ ip của một máy tính nào đó trên mạng nạn nhân và tiến
hành ngập lụt UDP trên hệ thống của nạn nhân . Nếu bạn làm cách này không thành công thì chính
máy của bạn sẽ bị đấy.

UDP/ICMP Flooding: Hacker thực hiện bằng cách gửi 1 số lượng lớn các gói tin UDP/ICMP có
kích thước lớn đến hệ thống mạng, khi hệ thố
ng mạng chịu phải sự tấn công này sẽ bị qua tải và chiếm

hết băng thông đường truyền đi ra bên ngòai của mạng này, vì thế nó gây ra nhửng ảnh hưởng rất lớn
đến đường truyền cũng như tốc độ của mạng, gây nên những khó khăn cho khách hàng khi truy cập từ
bên ngoài vào mạng này.

2.9 Tấn công DNS
Hacker có thể đổi một lối vào trên Domain Name Server của hệ thống nạn nhân rồi cho chỉ đến
một website nào đó của hacker. Khi máy khách yêu cầu DNS phân tích địa chỉ bị xâm nhập thành địa
chỉ ip, lập tức DNS ( đã bị hacker thay đổi cache tạm thờI ) sẽ đổi thành địa chỉ ip mà hacker đã cho
chỉ đến đó . Kết quả là thay vì phải vào trang Web muốn vào thì các nạn nhân sẽ vào trang Web do
chính hacker tạo ra . Một cách tấn công từ chối dịch v
ụ thật hữu hiệu !

2.10 Dạng riêng của DoS – DDoS attack

Đây là cách thức tấn công rất nguy hiểm. Hacker xâm nhập vào các hệ thống máy tính, sau đó
cài lên các hệ thống này chương trình DDOS server(như Trinoo,Tribe flood network-
TFN,Wintrinoo,TFN2K )., và sẽ kích hoạt đồng thời các chương trình này vào cùng một thời điểm để
đồng loạt tấn công vào một mục tiêu. Với DDoS, các hacker có thể huy động tới hàng trăm thậm chí
hàng ngàn máy tính cùng tham gia tấn công cùng một thời điểm (tùy vào sự chuẩn bị trước đó của
hacker) và có thể “ngốn” hết bă
ng thông của mục tiêu trong nháy mắt.


14
DDoS yêu cầu phải có ít nhất vài hackers cùng tham gia. Đầu tiên các hackers sẽ cố thâm nhập
vào các mạng máy tính được bảo mật kém, sau đó cài lên các hệ thống này chương trình DDoS server.
Bây giờ các hackers sẽ hẹn nhau đến thời gian đã định sẽ dùng DDoS client kết nối đến các DDoS
servers, sau đó đồng loạt ra lệnh cho các DDoS servers này tiến hành tấn công DDoS đến hệ thống nạn
nhân.
Một số tool dùng để thực hiện DDoS:Trinoo, Tribe Flood Network, Shaft…

Vd: Tribal flood network




2.11 DRDoS

Đây có lẽ là kiểu tấn công lợi hại nhất và làm boot máy tính của đối phương nhanh gọn nhất .
Cách làm thì cũng tương tự như DDos nhưng thay vì tấn công bằng nhiều máy tính thì ngườI tấn công
chỉ cần dùng một máy tấn công thông qua các server lớn trên thế giới . Vẫn với phương pháp giả mạo
địa chỉ IP của victim , kẻ tấn công sẽ gởi các gói tin đến các server mạnh nhất , nhanh nhất và có
đường truyền rộng nhất nh
ư Yahoo .v.v… , các server này sẽ phản hồi các gói tin đó đến địa chỉ của
victim . Việc cùng một lúc nhận được nhiều gói tin thông qua các server lớn này sẽ nhanh chóng làm
nghẽn đường truyền của máy tính nạn nhân và làm crash , reboot máy tính đó . Cách tấn công này lợi
hại ở chỗ chỉ cần một máy có kết nối Internet đơn giản với đường truyền bình thường cũng có thể
đánh bật được hệ thống có đường truyền tốt nhất th
ế giớI nếu như ta không kịp ngăn chặn .



15


III. CÁC CÔNG CỤ TẤN CÔNG DoS PHỔ BIẾN

- Jolt2

- Bubonic.c


- Land and LaTierra

- Targa

- Blast20

- Nemesy

- Panther2

- Crazy Pinger

- Some Trouble

- UDP Flood

- FSMax










16
1. Tools DoS – Jolt2




- Cho phép kẻ tấn từ chối dịch vụ (DoS) lên các hệ thống trên nền tảng Windows

- Nó là nguyên nhân khiên máy chủ bị tấn công có CPU luôn hoạt động ở mức độ 100%, CPU không
thể xử lý các dịch vụ khác.

- Không phải trên nền tảng Windows như Cisco Router và một số loại Router khác cũng có thể bị lỗ
hổng bảo mật này và bị tools này tấn công.

2. Tools DoS: Bubonic.c

- Bubonic.c là một tools DoS dựa vào các lỗ hổng bảo mật trên Windows 2000

- Nó hoạt động bằng cách ngẫu nhiên gửi các gói tin TCP với các thiết lập ngẫu nhiên làm cho máy
chủ tốn rất nhiều tài nguyên để xử lý vấn đề này, và từ đó sẽ xuất hiện những lỗ hổng bảo mật.

- Sử dụng bubonic.c bằng cách gõ câu lệnh: bubonic 12.23.23.2 10.0.0.1 100

17



3. Tools DoS: Land and LaTierra

- Giả mạo địa chỉ IP được kết hợp với quá trình mở các kết nối giữa hai máy tính.

- Cả hai địa chỉ IP, địa chỉ nguồn (source) và địa chỉ IP đích, được chỉnh sửa thành một địa chỉ của IP
đích khi đó kết nối giữa máy A và máy B đang được thực hiện nếu có tấn công này xảy ra thì kết nối
giữa hai máy A và B sẽ bị ngắt kết nối.


- K
ết quả này do địa chỉ IP nguồn và địa chỉ IP đích của gói tin giống nhau và gói tin không thể đi đến
đích cần đến.

4. Tools DoS: Targa

- Targa là một chương chình có thể sử dụng 8 dạng tấn công DoS khác nhau.

- Nó được coi như một bộ hướng dẫn tích hợp toàn bộ các ảnh hưởng của DoS và thường là các phiên
bản của Rootkit.

- Kẻ tấn công sử dụng một trong các phương thức tấn công cụ thể tới một hệ thống bao giờ đạt được
mục đích thì thôi.

- Targa là một chương trình đầy sức mạnh và nó có khả
năng tạo ra một sự nguy hiểm rất lớn cho hệ
thống mạng của một công ty.

5. Tools DoS Blast 2.0

- Blast rất nhỏ, là một công cụ dùng để kiểm tra khả năng của dịch vụ TCP nó có khả năng tạo ra một
lưu lượng rất lớn gói TCP và có thể sẽ gay nguy hiểm cho một hệ thống mạng với các server yếu.

- Dưới đây là cách sử dụng để tấn công HTTP Server sử dụng Blast2.0

+ Blast 192.168.1.219 80 40 50 /b "GET /some" /e "url/ HTTP/1.0" /nr /dr /v

18
- Tấn công máy chủ POP


+ Blast 192.168.1.219 110 15 20 /b "user te" /e "d" /v

6. Tools DoS – Nemesys



- Đây là một chương trình sinh ra những gói tin ngẫu nhiên như (protocol, port, etc. size, …)

- Dựa vào chương trình này kẻ tấn công có thể chạy các đoạn mã nguy hiểm vào máy tính không được
bảo mật.

7. Tool DoS – Panther2.



- Tấn công từ chối dịch vụ dựa trên nền tảng UDP Attack được thiết kế dành riêng cho kết nối 28.8 –
56 Kbps.

- Nó có khả năng chiếm toàn bộ băng thông của kết nối này.

- Nó có khả năng chiếm băng thông mạng bằng nhiều phương pháp ví như thực hiện quá trình Ping
cực nhanh và có thể gây ra tấn công DoS




19
8. Tool DoS – Crazy Pinger


- Công cụ này có khả năng gửi những gói ICPM lớn tới một hệ thống mạng từ xa.



9. Tool DoS – Some Trouble



- SomeTrouble 1.0 là một chương trình gây nghẽn hệ thống mạng

- SomeTrouble là một chương trình rất đơn giản với ba thành phần

+ Mail Bomb (tự có khả năng Resole Name với địa chỉ mail có)

20
+ ICQ Bomb
+ Net Send Flood
10. DoS Tools – UDP Flood



- UDPFlood là một chương trình gửi các gói tin UDP

- Nó gửi ra ngoài những gói tin UDP tới một địac hỉ IP và port không cố định

- Gói tin có khả năng là một đoạn mã văn bản hay một số lượng dữ liệu được sinh ngẫu nhiên hay từ
một file

- Được sử dụng để kiểm tra khả năng đáp ứng của server


11. Tools DoS – FSMAX

- Kiểm tra hiệu năng đáp ứng của máy chủ.

- Nó tạo ra một file sau đó chạy trên Server nhiều lần lặp đi lặp lại một lúc.

- Tác dụng của tools này là tìm cách tấn công làm chàn bộ nhớ đệm và tấn công DoS tới máy chủ.


21


IV. BIỆN PHÁP PHÒNG CHỐNG DoS ATTACK

4.1 Chính sách chung phòng chống DoS attack:

Một cách chung nhất, có 7 phạm trù các tổ chức cần xem xét khi đối phó với các mối đe dọa về
DoS như sau:

1. Phòng ngừa các điểm yếu của ứng dụng (Application Vulnerabilities)


Các điểm yếu trong tầng ứng dụng có thể bị khai thác gây lỗi tràn bộ đệm dẫn đến dịch vụ bị
chấm đứt. Lỗi chủ yếu được tìm thấy trên các ứng dụng mạng nội bộ của Windows, trên các chương
trình webserver, DNS, hay SQL database. Cập nhật bản vá (patching) là một trong những yêu cầu
quan trọng cho việc phòng ngừa.Trong thời gian chưa thể cập nhật toàn bộ mạng, hệ thố
ng phải được
bảo vệ bằng bản vá ảo (virtual patch). Ngoài ra, hệ thống cần đặc biệt xem xét những yêu cầu trao đổi
nội dung giữa client và server, nhằm tránh cho server chịu tấn công qua các thành phần gián tiếp (ví
dụ SQL injection).


2. Phòng ngừa việc tuyển mộ zombie


Zombie là các đối tượng được lợi dụng trở thành thành phần phát sinh tấn công. Một số trường
hợp điển hình như thông qua rootkit (Sony hay Symantec), hay các thành phần hoạt động đính kèm
trong mail, hoặc trang web, ví dụ như sử dụng các file jpeg khai thác lỗi của phần mềm xử lý ảnh, các
đoạn mã đính kèm theo file flash, hoặc trojan cài đặt theo phishing, hay thông qua việc lây lan worm
(Netsky, MyDoom, Sophos). Để phòng chống, hệ thống mạng cần có những công cụ theo dõi và lọc
bỏ nội dung (content filtering) nh
ằm ngăn việc tuyển mộ zombie của hacker.

3. Ngăn ngừa kênh phát động tấn công sử dụng công cụ


Có rất nhiều các công cụ tự động tấn công DoS, chủ yếu là tấn công phân tán DDoS như TFN,
TFN2000 (Tribe Flood Network) tấn công dựa trên nguyên lý Smurf, UDP, SYN, hay ICMP; Trinoo
cho UDP flood; Stacheldraht cho TCP ACK, TCP NULL, HAVOC, DNS flood, hoặc tràn ngập TCP
với packets headers ngẫu nhiên. Các công cụ này có đặc điểm cần phải có các kênh phát động để

22
zombie thực hiện tấn công tới một đích cụ thể. Hệ thống cần phải có sự giám sát và ngăn ngừa các
kênh phát động đó.

4. Ngăn chặn tấn công trên băng thông


Khi một cuộc tấn công DdoS được phát động, nó thường được phát hiện dựa trên sự thay đổi
đáng kể trong thành phần của lưu lượng hệ thống mạng. Ví dụ một hệ thống mạng điển hình có thể có
80% TCP và 20% UDP và ICMP. Thống kê này nếu có thay đổi rõ rệt có thể là dấu hiệu của một cuộc

tấn công. Slammer worm sẽ làm tăng lưu lượng UDP, trong khi Welchi worm sẽ tạo ra ICMP flood.
Việc phân tán lưu lượ
ng gây ra bởi các worm đó gây tác hại lên router, firewall, hoặc cơ sở hạ tầng
mạng. Hệ thống cần có những công cụ giám sát và điều phối băng thông nhằm giảm thiểu tác hại của
tấn công dạng này.

5. Ngăn chặn tấn công qua SYN


SYN flood là một trong những tấn công cổ nhất còn tồn tại được đến hiện tại, dù tác hại của nó
không giảm. Điểm căn bản để phòng ngừa việc tấn công này là khả năng kiểm soát được số lượng yêu
cầu SYN-ACK tới hệ thống mạng.

6. Phát hiện và ngăn chặn tấn công tới hạn số kết nối


Bản thân các server có một số lượng tới hạn đáp ứng các kết nối tới nó. Ngay bản thân firewall
(đặc biệt với các firewall có tính năng stateful inspection), các kết nối luôn được gắn liền với bảng
trạng thái có giới hạn dung lượng. Đa phần các cuộc tấn công đều sinh số lượng kết nối ảo thông qua
việc giả mạo. Để phòng ngừa tấn công dạng này, hệ thống cần phân tích và chố
ng được spoofing. Giới
hạn số lượng kết nối từ một nguồn cụ thể tới server (quota).

7. Phát hiện và ngăn chặn tấn công tới hạn tốc độ thiết lập kết nối


Một trong những điểm các server thường bị lợi dụng là khả năng các bộ đệm giới hạn giành cho
tốc độ thiết lập kết nối, dẫn đến quá tải phải chịu sự thay đổi đột ngột về số lượng sinh kết nối. Ở đây
việc áp dụng bộ lọc để giới hạn số lượng kết nối trung bình rất quan tr
ọng. Một bộ lọc sẽ xác định

ngưỡng tốc độ kết nối cho từng đối tượng mạng. Thông thường, việc này được đo bằng số lượng kết
nối trong thời gian nhất định để cho phép sự dao động trong lưu lượng.

 Các phân tích ở trên được dựa trên những ngầm định cơ bản sau trong việc bảo vệ hệ thống.

1. Đó là các thiế
t bị bảo vệ cần được đặt trên luồng thông tin và thực hiện trực tiếp việc ngăn
ngừa. Điều này xuất phát từ lý do cho tốc độ của một cuộc tấn công (ví dụ khoảng 10.000 đăng ký
thành viên trên 1s hướng tới 1 server, hoặc phát tán worm với tốc độ 200s trên hệ thống mạng Ethernet
100M). Với tốc độ như vậy, cách thức phòng ngừa dạng phát hiện thông báo ngăn chặn (Host Shun và
TCP Reset) không còn phù hợp.

2. Các cuộc tấn công từ chối dịch vụ chủ yếu nhắm tới khả năng xử lý của hệ thống mạng mà
đầu tiên là các thiết bị an ninh thông tin. Năng lực xử lý của IPS hoặc các thành phần content filtering
là một trong những điểm cần chú ý, đặc biệt ở sự ổn định trong việc xử lý đồng thời các loại lưu lượng
hỗn tạp với kích thước gói tin thay
đổi.

3. Các cuộc tấn công luôn được tích hợp (blend attacks) với sự tổng hợp các phương thức khác
nhau. Chính vì vậy, tầm quan trọng của việc phòng ngừa những dấu hiệu lây nhiễm đơn giản là bước
đầu tiên để ngăn chặn những cuộc tấn công từ chối dịch vụ.


23
Trong hệ thống tổng thể về security, để đối phó với các cuộc tấn công từ chối dịch vụ, thì thành
phần IPS được coi là quan trọng nhất ở tính trong suốt với người dùng, nên việc phân tích các luồng
thông tin trao đổi giữa server và người dùng không bị ảnh hưởng bởi các luồng tấn công hướng thẳng
đến nó.

4.2 Các kỹ thuật Anti-DDoS:


Có rất nhiều giải pháp và ý tưởng được đưa ra nhằm đối phó với các cuộc tấn công kiểu DDoS.
Tuy nhiên không có giải pháp và ý tưởng nào là giải quyết trọn vẹn bài toán Anti-DDoS. Các hình thái
khác nhau của DDoS liên tục xuất hiện theo thời gian song song với các giải pháp đối phó, tuy nhiên
cuộc đua vẫn tuân theo quy luật tất yếu của bảo mật máy tính: “Hacker luôn đi trước giới bảo mật một
bước”.

Có ba giai đoạn chính trong quá trình Anti-DDoS:
- Giai đoạn ng
ăn ngừa: tối thiểu hóa lượng Agent, tìm và vô hiệu hóa các Handler
- Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộc tấn công, làm suy giảm và dừng
cuộc tấn công, chuyển hướng cuộc tấn công.
- Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và rút kinh nghiệm

Các giai đoạn chi tiết trong phòng chống DDoS:

1/ Tối thiểu hóa số lượng Agent
:

y Từ phía User: một phương pháp rất tốt để năng ngừa tấn công DDoS là từng internet user sẽ tự
đề phòng không để bị lợi dụng tấn công hệ thống khác. Muốn đạt được điều này thì ý thức và kỹ thuật
phòng chống phải được phổ biến rộng rãi cho các internet user. Attack-Network sẽ không bao giờ hình
thành nếu không có user nào bị lợi dụng trở thành Agent. Các user phải liên tục thực hiện các quá trình
bả
o mật trên máy vi tính của mình. Họ phải tự kiểm tra sự hiện diện của Agent trên máy của mình,
điều này là rất khó khăn đối với user thông thường.

Một số giải pháp tích hợp sẵn khả năng ngăn ngừa việc cài đặt code nguy hiểm thông ào
hardware và software của từng hệ thống. Về phía user họ nên cài đặt và updat liên tục các software
như antivirus, anti_trojan và server patch của hệ điều hành.


y Từ phía Network Service Provider: Thay đổi cách tính tiền d
ịch vụ truy cập theo dung lượng
sẽ làm cho user lưu ý đến những gì họ gửi, như vậy về mặt ý thức tăng cường phát hiện DDoS Agent
sẽ tự nâng cao ở mỗi User.

2/ Tìm và vô hiệu hóa các Handler
:

Một nhân tố vô cùng quan trọng trong attack-network là Handler, nếu có thể phát hiện và vô hiệu
hóa Handler thì khả năng Anti-DDoS thành công là rất cao. Bằng cách theo dõi các giao tiếp giữa
Handler và Client hay handler va Agent ta có thể phát hiện ra vị trí của Handler. Do một Handler quản
lý nhiều, nên triệt tiêu được một Handler cũng có nghĩa là loại bỏ một lượng đáng kể các Agent trong
Attack – Network.

3/ Phát hiện dấu hiệu của một cuộc tấn công
:

Có nhiều kỹ thuật được áp dụng:

y Agress Filtering: Kỹ thuật này kiểm tra xem một packet có đủ tiêu chuẩn ra khỏi một subnet
hay không dựa trên cơ sở gateway của một subnet luôn biết được địa chỉ IP của các máy thuộc subnet.

24
Các packet từ bên trong subnet gửi ra ngoài với địa chỉ nguồn không hợp lệ sẽ bị giữ lại để điều tra
nguyên nhân. Nếu kỹ thuật này được áp dụng trên tất cả các subnet của internet thì khái nhiệm giả
mạo địa chỉ IP sẽ không còn tồn tại.

y MIB statistics: trong Management Information Base (SNMP) của route luôn có thông tin thống
kể về sự biến thiên trạng thái của mạng. Nếu ta giám sát chặt chẽ các thống kê của protocol mạng. N

ếu
ta giám sát chặt chẽ các thống kê của Protocol ICMP, UDP và TCP ta sẽ có khả năng phát hiện được
thời điểm bắt đầu của cuộc tấn công để tạo “quỹ thời gian vàng” cho việc xử lý tình huống.

4/ Làm suy giàm hay dừng cuộc tấn công
:

Dùng các kỹ thuật sau:

y Load balancing: Thiết lập kiến trúc cân bằng tải cho các server trọng điểm sẽ làm gia tăng thời
gian chống chọi của hệ thống với cuộc tấn công DDoS. Tuy nhiên, điều này không có ý nghĩa lắm về
mặt thực tiễn vì quy mô của cuộc tấn công là không có giới hạn.

y Throttling: Thiết lập cơ chế điều tiết trên router, quy định một kho
ảng tải hợp lý mà server bên
trong có thể xử lý được. Phương pháp này cũng có thể được dùng để ngăn chặn khả năng DDoS traffic
không cho user truy cập dịch vụ. Hạn chế của kỹ thuật này là không phân biệt được giữa các loại
traffic, đôi khi làm dịch vụ bị gián đoạn với user, DDoS traffic vẫn có thể xâm nhập vào mạng dịch vụ
nhưng với số lượng hữu hạn.

y Drop request: Thiế
t lập cơ chế drop request nếu nó vi phạm một số quy định như: thời gian
delay kéo dài, tốn nhiều tài nguyên để xử lý, gây deadlock. Kỹ thuật này triệt tiêu khả năng làm cạn
kiệt năng lực hệ thống, tuy nhiên nó cũng giới hạn một số hoạt động thông thường của hệ thống, cần
cân nhắc khi sử dụng.

5/ Chuyển hướng của cuộc tấn công
:

- Honeyspots: Một kỹ thuật đang được nghiên cứu là Honeyspots. Honeyspots là một hệ thống

được thiết kế nhằm đánh lừa attacker tấn công vào khi xâm nhập hệ thống mà không chú ý đến hệ
thống quan trọng thực sự.

- Honeyspots không chỉ đóng vai trò “Lê Lai cứu chúa” mà còn rất hiệu quả trong việc phát hiện
và xử lý xâm nhập, vì trên Honeyspots đã thiết lập sẵn các cơ chế giám sát và báo động.

- Ngoài ra Honeyspots còn có giá trị trong việc học hỏi và rút kinh nghi
ệm từ Attacker, do
Honeyspots ghi nhận khá chi tiết mọi động thái của attacker trên hệ thống. Nếu attacker bị đánh lừa và
cài đặt Agent hay Handler lên Honeyspots thì khả năng bị triệt tiêu toàn bộ attack-network là rất cao.

6/ Giai đoạn sau tấn công
:

Trong giai đoạn này thông thường thực hiện các công việc sau:

y Traffic Pattern Analysis: Nếu dữ liệu về thống kê biến thiên lượng traffic theo thời gian đã
được lưu lại thì sẽ được đưa ra phân tích. Quá trình phân tích này rất có ích cho việc tinh chỉnh lại các
hệ thống Load Balancing và Throttling. Ngoài ra các dữ liệu này còn giúp Quản trị mạng điều chỉnh
lại các quy tắc kiểm soát traffic ra vào mạng của mình.

y Packet Traceback: bằng cách dùng kỹ thuật Traceback ta có th
ể truy ngược lại vị trí của
Attacker (ít nhất là subnet của attacker). Từ kỹ thuật Traceback ta phát triển thêm khả năng Block

25
Traceback từ attacker khá hữu hiệu. gần đây đã có một kỹ thuật Traceback khá hiệu quả có thể truy
tìm nguồn gốc của cuộc tấn công dưới 15 phút, đó là kỹ thuật XXX.

y Event Logs: Bằng cách phân tích file log sau cuộc tấn công, quản trị mạng có thể tìm ra nhiều

manh mối và chứng cứ quan trọng.

V. TỔNG KẾT

- Tấn công DoS attack là dạng tấn công làm cho người sử dụng không thể truy cập hay sử dụng dịch
vụ bằng cách làm quá tải tài nguyên của hệ thống.

- Hậu quả của DoS attack rất nghiêm trọng, nó có thể ngưng trệ lưu thông trên mạng, làm tê liệt các
công ty, tổ chức dẫn đến mất mát lớn về tài chính và niềm tin của người sử dụng dịch vụ mạng

- Smurt, Buffer Overflow, Ping od Death, Teardrop, SYN là một số dạng tấn công DoS ph
ổ biến. Một
số công cụ thường được sử sụng cho tấn công DoS là Winnuke, Targa, Land, Bubonic.c …

- DDoS attack là dạng nguy hiểm hơn của DoS attack, nó là tấn công trên diện rộng, khó ngăn chặn
hơn DoS thông thường. Một số công cụ tấn công DDoS phổ biến là Trinoo, TFN, Shaft, Trinity…

- Biện pháp phòng chống DoS attack là phát hiện và vô hiệu hóa các handler, ngăn chặn trước,
migrating hoặc deflecting sự tấn công DoS, hay trong trường hợp của DDoS đó là ngăn chặn việc hình
thành các secondary victims (những hệ thống máy bị
hacker dùng để triển khai DDoS attack)






























Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×