Kỹ thuật phát hiện nguồn gốc tấn công từ chối dịch vụ

1. Tổng quan về tấn công từ chối dịch vụ

Cùng với sự phát triển nhanh chóng của Internet, tấn công từ chối dịch vụ (Denial of

Service -DoS) đã trở nên rất phổ biến. Mục đích của kiểu tấn công này là phá vỡ các dịch vụ mà

nạn nhân đang cung cấp. Trong quá trình tấn công đang diễn ra, nạn nhân không thể cung cấp

các dịch vụ của họ. Có 2 hình thức tấn công từ chối dịch vụ chính:

Tấn công DoS thông thường – Normal DoS: thường được sinh ra từ một máy trạm hoặc

một số lượng nhỏ các máy tính ở cùng địa điểm.

Tấn công DoS phân tán – Distributed DoS: thường sinh ra từ một số lượng rất lớn các

máy tính

pdf 5 trang yennguyen 5440
Bạn đang xem tài liệu "Kỹ thuật phát hiện nguồn gốc tấn công từ chối dịch vụ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Kỹ thuật phát hiện nguồn gốc tấn công từ chối dịch vụ

Kỹ thuật phát hiện nguồn gốc tấn công từ chối dịch vụ
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008 
 104
KỸ THUẬT PHÁT HIỆN NGUỒN GỐC TẤN CÔNG TỪ CHỐI DNCH VỤ 
Ngô Hải Anh - Nguyễn Văn Tam (Viện Công nghệ thông tin – Viện KH&CN Việt Nam) 
1. Tổng quan về tấn công từ chối dịch vụ 
Cùng với sự phát triển nhanh chóng của Internet, tấn công từ chối dịch vụ (Denial of 
Service -DoS) đã trở nên rất phổ biến. Mục đích của kiểu tấn công này là phá vỡ các dịch vụ mà 
nạn nhân đang cung cấp. Trong quá trình tấn công đang diễn ra, nạn nhân không thể cung cấp 
các dịch vụ của họ. Có 2 hình thức tấn công từ chối dịch vụ chính: 
Tấn công DoS thông thường – Normal DoS: thường được sinh ra từ một máy trạm hoặc 
một số lượng nhỏ các máy tính ở cùng địa điểm. 
Tấn công DoS phân tán – Distributed DoS: thường sinh ra từ một số lượng rất lớn các 
máy tính. 
2. Các kiểu tấn công 
Tấn công ứng dụng – Các tấn công loại này sẽ khai thác những lỗ hổng đã biết trong các 
ứng dụng, gửi những yêu cầu bất thường đến để phá hoại ứng dụng. 
Tấn công hệ điều hành – Tấn công kiểu này thường khai thác các kẽ hở trong cài đặt 
chồng IP, gửi các gói tin IP bất thường để phá hoại hệ điều hành. 
Tấn công lỗ hổng mạng - Khai thác những lỗ hổng trong thiết kế mạng để tấn công. 
Tấn công thiết bị mạng –Thông thường tấn công kiểu này sẽ cố gắng làm kiệt sức nguồn lực 
phần cứng trên các thiết bị mạng (router, firewall), chẳng hạn làm tràn bộ đệm của bộ nhớ hoặc CPU. 
Tấn công làm quá tải (Flood hay Overload attacks) – là các tấn công bằng cách gửi số 
lượng rất lớn các kiểu lưu lượng khác nhau đến nạn nhân (có thể thông qua các lỗ hổng đã nói ở 
trên) làm cho họ quá tải khả năng xử lý. 
3. Tìm ra nguồn gốc của tấn công 
Việc truy tìm thủ phạm gây ra tấn công DoS thực sự khó khăn, lý do chính là các tấn 
công đến từ rất nhiều địa chỉ IP nguồn khác nhau, các địa chỉ đó đều đã bị giả mạo. Vì vậy để 
tìm ra nơi thực sự xuất phát tấn công, chúng ta cần một cơ chế có thể đi ngược lại từ vị trí nạn 
nhân đến nơi xuất phát tấn công. Có một số phương pháp thực hiện yêu cầu này. Ví dụ có thể sử 
dụng cách tìm qua các router hoặc các bước truyền (hop). 
Ý tưởng thực hiện phương pháp này như sau: tìm tới nơi mà “cơn lũ” dữ liệu đang đi vào 
router để từ đó tìm ra bước truyền ngay trước đó. 
Cách thực hiện gồm các bước sau: 
• Xuất phát tại giao diện mà ở đó luồng dữ liệu đi vào router 
• Tìm ra router đã kết nối tại đầu bên kia của liên kết 
• Lặp lại thao tác trên bất kỳ router nào dọc đường đi 
• Router cuối cùng trong dây chuyền này là chính là luồng dữ liệu tấn công 
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008 
 105
Rất nhiều router cung cấp các công cụ cho phép người quản trị mạng làm công việc trên. 
Ví dụ các router của hãng Cisco hỗ trợ một tính năng mang tên NetFlow [1], đây là tính năng 
cho phép thu thập thông tin theo thời gian thực về tất cả các luồng đi qua router. 
Tuy nhiên, phương pháp trên có một số nhược điểm. Bởi vì cuộc tấn công nào cũng có 
thể sẽ đi ngang một vài “hệ tự quản” (autonomous systems – AS), mỗi AS đều thuộc một nhà 
cung cấp khác nhau, do đó để hoàn tất một quá trình dò vết, nạn nhân sẽ phải cần đến sự phối 
hợp của một số các nhà cung cấp dịch vụ, quá trình này có thể sẽ rất phức tạp và mất thời gian. 
Một hạn chế khác của việc dò vết là luồng tấn công phải hoạt động trong suốt quá trình theo dõi 
ngược. Nếu như vì lý do gì đó mà tấn công “tạm dừng”, quá trình theo dõi sẽ không thể tiếp tục 
được nữa. Phần tiếp theo của bài viết sẽ đề cập đến một phương pháp tối ưu hơn. 
4. Phương pháp đánh dấu gói tin theo xác suất 
Để lần ngược lại nơi bắt đầu tấn công, có thể lấy thông tin từ các router trên đường luồng 
dữ liệu tấn công “đi qua”, khi đó sẽ cho phép tại đích đến (chính là nạn nhân) có thêm thông tin 
để dựng lại đường đi của luồng tấn công, qua đó có thể thực sự tìm ra nguồn gốc của cuộc tấn 
công. Savage, Wetherall, Karlin và Anderson đã phát minh ra một phương pháp gọi là “dò 
ngược” (traceback) [2]. Phương pháp này đòi hỏi các router trên đường đi của một luồng dữ liệu 
sẽ cho thêm thông tin vào các gói tin khi chúng đang trên đường chuyển tiếp hướng về nạn 
nhân. 
Một xác suất p được định nghĩa tại tất cả các router, mỗi gói tin sẽ được đánh dấu với 
thông tin thêm bằng cách sử dụng giá trị của p. Đường đi của tấn công sẽ được xây dựng lại 
bằng cách theo dõi ngược các gói tin IP đã được đánh dấu này. Để tăng thêm hiệu quả, cách 
đánh dấu có thể không cố định mà được hiệu chỉnh theo xác suất (adjusted probabilistic). Như 
vậy vấn đề đặt ra là việc đánh dấu sẽ diễn ra như thế nào, và phần nào trong khuôn dạng của một 
gói tin IP sẽ được “đánh dấu”? Header của một gói tin IPv4 có khuôn dạng như sau: 
Trường IP identification có độ dài 16 bits. Đối với mục đích dò ngược, chúng ta cần sử 
dụng vừa vặn 16 bits này cho các giá trị “đánh dấu” và giá trị “khoảng cách”. Thực tế cho thấy 
rằng hầu hết đường đi trên Internet đều không quá 30 bước truyền. Do đó năm bits (tương ứng 
với khoảng cách 32 bước truyền) sẽ đủ để đáp ứng giá trị khoảng cách. Còn lại 11 bits (có thể 
cung cấp 211 = 2048 giá trị có thể) sẽ được sử dụng cho việc đánh dấu. 
Một hàm băm h(.) được sử dụng để ánh xạ giữa 32-bit địa chỉ IP của router với 11-bit giá 
trị đánh dấu. Hàm này là một hàm thống kê ngẫu nhiên đáng tin cậy, có nghĩa là đối với bất kỳ 
đầu vào của một địa chỉ IP, tất cả 211 = 2048 giá trị đánh dấu đều có thể dùng làm đầu ra. 
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008 
 106
Có một nghiên cứu đã đề nghị một xác suất đánh dấu pd = 1/d [3] với d là khoảng cách 
(số các bước truyền) của một router so với nguồn xuất phát của gói tin. Giả sử độ dài đường đi 
của một tấn công có độ dài là k. Điều đó có thể cho phép nói rằng có k router tham gia vào lược 
đồ đánh dấu giữa điểm xuất phát và đích đến. 
Giá trị xác suất đánh dấu sẽ là: 
pd = 
cd +−1
1
 (1) 
ở đó d – 1 là giá trị trường khoảng cách của gói tin được nhận từ một router cách d bước truyền 
so với nguồn của tấn công, c ≥ 1, c ∈ R. Chúng ta sẽ thấy rằng đối với một router nhận một gói 
tin với trường khoảng cách có giá trị bằng không, chúng ta cần đảm bảo các giá trị xác suất luôn 
nhỏ hơn hoặc bằng 1. Do đó c ≥ 1. 
Gọi α d là xác suất mà nạn nhân nhận được một gói tin đã đánh dấu bởi một router cách 
d bước truyền từ kẻ tấn công. Khi đó: 
α d = pd . ∏
+=
k
di 1
(1 – pi) (2) 
Kết hợp với (1), ta tính đuợc: 
α d = 





+− ck 1
1
 (3) 
Do đó chúng ta thấy rằng xác suất của việc nhận một gói tin đã được đánh dấu bởi bất kỳ 
router nào dọc đường đi của tấn công sẽ phụ thuộc vào độ dài của đường đi chứ không phụ 
thuộc vào vị trí của router. 
4.1. Thuật toán đánh dấu gói tin 
Một router dọc theo đường đi của một gói tin sẽ đọc giá trị khoảng cách trong trường IP 
identification. Sau đó router sẽ tìm đến bảng chứa các giá trị khoảng cách và xác suất đánh dấu 
tương ứng. Quyết định sẽ được thực hiện như sau: router sinh ra một số ngẫu nhiên, nếu số ngẫu 
nhiên này nhỏ hơn hoặc bằng xác suất đánh dấu thì gói tin sẽ được đánh dấu, nếu không thì gói tin 
sẽ không được đánh dấu. Nếu router quyết định đánh dấu một gói tin, nó sẽ ghi giá trị h(địa chỉ IP) 
vào trường IP identification. Giá trị khoảng cách trong trường IP identification khi đó sẽ tăng thêm 
và gói tin được định tuyến. Kể cả trường hợp router quyết định không đánh dấu gói tin, nó vẫn 
luôn luôn tăng giá trị khoảng cách trong trường IP identification, và gói tin vẫn được định tuyến. 
Thuật toán đánh dấu gói tin như sau: 
_________________________________________________ 
m = h(địa chỉ IP) 
for each gói tin 
read d = giá trị của trường khoảng cách 
sinh ra một số ngẫu nhiên x ∈ [0, 1) 
p = xác suất đánh dấu tương ứng với d, lấy từ bảng 
if x ≤ p (nếu xảy ra, gói tin được đánh dấu) 
write m vào trường đánh dấu 
giá trị trường khoảng cách = d + 1 
____________________________________________________ 
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008 
 107
5. Xây dựng lại đường đi của tấn công 
Để xây dựng lại đường đi của một gói tin và xác định nguồn gốc của tấn công, nạn nhân cần một 
bản đồ các router. Nạn nhân sẽ so khớp các dấu của gói tin với các router trên bản đồ, qua đó có thể xây 
dựng lại đường đi của tấn công. Bản đồ này có thể xem như một đồ thị có hướng G. Gốc của G là nạn 
nhân, tất cả các đỉnh trong G là các router, mỗi router y trong G bao gồm tập hợp ρ y các con của nó. 
y và ρ y trong đồ thị G 
Trong suốt quá trình diễn ra tấn công DoS, nạn nhân sẽ nhận một lượng lớn các dấu từ 
các router. Trước khi xây dựng lại đường đi dựa trên các dấu này, chúng ta cần phân nhóm các 
dấu dựa trên độ dài đường đi của tấn công. 
Giả sử có n kẻ tấn công (tấn công từ chối dịch vụ phân tán) ở những khoảng cách khác 
nhau so với nạn nhân. Trong trường hợp này, nạn nhân sẽ có các tập hợp khác nhau các dấu, 
mỗi tập chứa các dấu từ các kẻ tấn công có cùng khoảng cách đến nạn nhân. Đặt các giá trị 
khoảng cách khác nhau của các gói tin trong các tập các dấu thuộc tập µ. Có nghĩa là nạn nhân 
giờ đây có | µ | tập hợp khác nhau của các dấu, mỗi tập tương ứng cho các dấu của các gói tin 
gửi bởi các kẻ tấn công mà ở cùng khoảng cách so với nạn nhân. Miền giá trị của trường khoảng 
cách sẽ là 0 ≤ k ≤ 31. Gọi tập các dấu nhận bởi nạn nhân với giá trị khoảng cách k ∈ µ là λk. Ký 
hiệu số kẻ tấn công tại khoảng cách k bước truyền là nk. Khi đó ta sẽ có: 
λk = nk . k (4) 
Bây giờ ta sẽ xem xét thuật toán xây dựng lại đường đi của tấn công. Đồ thị G được 
duyệt qua bởi mỗi tập các gói tin có cùng giá trị trường khoảng cách (cho mỗi tập λk, ∀ k ∈ µ). 
Bắt đầu tại điểm gốc của đường tấn công là nạn nhân. Các dấu của “láng giềng” con với nạn 
nhân được kiểm tra với mỗi dấu trong tập. Các dấu của các router mà đã so khớp sẽ được thêm 
vào đồ thị tấn công. Tiếp tục lặp lại như vậy, “con” của các router sẽ được kiểm tra với kiểu 
cách tương tự. Quá trình này cứ lặp lại cho đến khi chiều sâu của đồ thị bằng với đường đi. 
Đường đi của tấn công sẽ được chứa trong Sd, với 0 ≤ d ≤ k. 
Thuật toán xây dựng lại đường đi được thực hiện như sau: 
___________________________________________________ 
∀ k ∈ µ 
S0 = nạn nhân 
for d = 0 to (k – 1) 
∀ y in Sd 
∀ R ∈ ρ y 
if R ∈ λk then 
insert R  Sd + 1 
output Sd 
output Sk 
____________________________________________________ 
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008 
 108
6. Kết luận 
Ở hoàn cảnh hiện nay thì việc xác định vị trí của các tấn công từ chối dịch vụ mới chỉ khả 
thi về mặt lý thuyết chứ chưa được cài đặt trên các hệ thống thương mại. Khó khăn chính trong 
việc cài đặt là số lượng lớn các nhà cung cấp sẽ phải hỗ trợ các chức năng này để triển khai các 
dịch vụ. Một vấn đề khác nữa là toàn bộ quá trình xử lý thêm nói trên có thể sẽ là một khó khăn 
với các router trung tâm trên Internet, chúng phải chuyển đi hàng ngàn gói tin mỗi giây. Các khối 
lượng lưu lượng lớn đó sẽ cần một sự gia tăng phụ phí CPU để cài đặt được các tính năng trên. 
Tuy nhiên việc tìm hiểu các phương thức xác định điểm xuất phát tấn công vẫn luôn cần thiết và 
phải được hoàn thiện dần theo thời gian, song song với sự phát triển của các loại hình tấn công  
Tóm tắt 
Từ khi xuất hiện đến nay, loại hình tấn công từ chối dịch vụ (Denial of Service) luôn là 
một vấn đề nan giải đối với cộng đồng Internet, và cho đến bây giờ, vẫn chưa có một biện pháp 
kỹ thuật nào hoàn toàn khắc chế được kiểu tấn công này. Với đặc tính là sử dụng các gói tin nặc 
danh từ nhiều nguồn khác nhau để tấn công tới một nạn nhân duy nhất, rất khó để tìm ra nơi 
xuất phát của tấn công. Bài báo này sẽ đề cập đến một kỹ thuật giúp "dò ngược" từ nơi bị tấn 
công đến nơi xuất phát tấn công, từ đó có thể xây dựng lại "đường đi" cũng như phát hiện ra nơi 
khởi nguồn của một cuộc tấn công từ chối dịch vụ. 
Summary 
Techniques for detecting source of Denial-of-Service attack 
Since the beginning of its formation, the Denial of Service attack has been a serious 
problem to the community of Internet users. Until now, there have never been any solutions this 
preventing this type of attack. Having the characteristic of using anonymous packets from 
different sources to attack the only target victim, it is very difficult to find out where exactly the 
attack comes from. This article mentions a technique which helps to traceback from where it is 
attacked to where it starts to attack. As a result, it is possible to rebuild attack path as well as 
discover the original start of an attack. 
Tài liệu tham khảo 
[1]. Cisco Systems, “White paper – NetFlow Services and Applications”. 
[2]. Stefan Savage, David Wetherall, Anna Karlin and Tom Anderson, “Practical Network Support for IP 
Traceback”. 
[3]. Tao Peng, Christopher Leckie, and Kotagiri Ramamohanarao, “Adjusted Probabilistic Packet 
Marking for IP Traceback”. 
[4]. David Moore, Geoffrey M. Voelker and Stefan Savage, “Inferring Internet Dennial-of-Service Activity”. 
[5]. Kyoungwon Suh and Thu D. Nguyen, “A Practical Defense Against SYN Denial-of-Service Attacks”. 
[6]. Gary Pack, Jaeyoung Yoon, Eli Collins, Cristian Estan, “On Filtering of DDoS Attacks Based on 
Source Address Prefixes”. 
[7]. Ramkumar Chinchani, Suranjan Pramanik, Ashish Garg, “Handling Failures and DoS Attack Using 
Network Device Groups”. 
[8]. Cisco Systems, “White paper – Distributed denial of service threats: risks, mitigation, and best practices”. 
[9]. David Moore, Geoffrey M. Voelker and Stefan Savage, "Inferring Internet Denial-of-Service Activity". 
[10]. Alex C.Snoeren, Craig Partridge, Luis A. Sanchez, Christine E. Jones, Fabrice Tchakountio, 
Beverly Schwartz, Stephen T. Kent, and W. Timothy Strayer, "Single-Packet IP Traceback". 

File đính kèm:

  • pdfky_thuat_phat_hien_nguon_goc_tan_cong_tu_choi_dich_vu.pdf