Khái niệm chung

Một phần của tài liệu (LUẬN văn THẠC sĩ) cải thiện hiệu năng giải thuật RRED chống tấn công từ chối dịch vụ tốc độ thấp luận văn ths công nghệ thông tin 60 48 15 (Trang 25 - 30)

Chƣơng 2 : TẤN CÔNG TỪ CHỐI DỊCH VỤ TỐC ĐỘ THẤP

2.1 Khái niệm chung

2.1.1 Các tên gọi của tấn công LDoS a) Tấn công kiểu chuột chù a) Tấn công kiểu chuột chù

Năm 2003, tấn công kiểu chuột chù đƣợc đƣa ra bởi Aleksandar Kuzmanovic và Edward W. Knightly để gọi tấn công LDoS. Tấn công kiểu chuột chù là một tên gọi trực quan của tấn cơng LDoS, bắt nguồn từ hình ảnh thực tế của con chuột chù. Mặc dù là một động vật nhỏ bé nhƣng chuột chù lại rất hung hăng, nó có thể tấn cơng rất dữ dội và giết chết các con vật lớn hơn nó rất nhiều, với một vết cắn có độc.

Hình 2.1: Chuột chù

Nhằm tránh sự phát hiện của các kỹ thuật chống tấn công DoS, tấn công LDoS gửi các gói tin với một tốc độ trung bình tƣơng đối thấp nhằm hạn chế thơng lƣợng của các kết nối TCP dẫn đến hiện tƣợng từ chối dịch vụ của chúng. Vì vậy, kiểu tấn cơng này có thể làm tổn thƣơng mạng nhƣ là một con chuột chù tấn công một con voi.

b) Tấn công DoS ngắt quãng

Một tên gọi khác của tấn công LDoS là tấn công DoS ngắt quãng đƣợc đƣa ra bởi Xiapu Luo và Rocky K. C. Chang. Bằng cách sử dụng các xung tấn công, kẻ tấn công tạo ra một chuỗi các tín hiệu báo tắc nghẽn mạng cho tiến trình TCP gửi, khi đó cửa sổ tắc nghẽn mạng của bên gửi sẽ bị giảm xuống bằng 1, đồng nghĩa với việc tiến trình TCP gửi lúc này chỉ đƣợc gửi 1 gói tin đi. Kết quả là làm cho thông lƣợng của các kết nối TCP giảm một cách nghiêm trọng.

Tấn công DoS tốc độ thấp là cụm từ thƣờng dùng để chỉ loại tấn công này. LDDoS là viết tắt của Low-Rate Distributed DoS (tấn công DoS phân tán tốc độ thấp).

2.1.2 Các đặc điểm của LDoS

Cho đến nay, tấn công DoS vẫn là mối đe doạ lớn nhất cho an ninh mạng bởi vì nó thực hiện rất đơn giản và với chi phí thấp. Mặt khác so với tấn công DoS phân tán truyền thống, việc phát hiện tấn cơng DoS tốc độ thấp khó hơn do đặc điểm gửi các gói tin với tốc độ thấp của nó. Các thuật tốn phát hiện tấn cơng DoS phát tràn dƣờng nhƣ không hoạt động cho tấn cơng DoS tốc độ thấp. Chính vì vậy, có thể nói rằng tấn công DoS tốc độ thấp sẽ là loại tấn cơng chủ yếu trong tƣơng lai.

a) Khó phát hiện

Trong tấn công DoS truyền thống, kẻ tấn công sử dụng một số lƣợng lớn các máy tính đã cài chƣơng trình phát gói tin và mỗi chƣơng trình trên mỗi máy bắt đầu gửi các gói tin đến máy nạn nhân với tốc độ cao. Điều này có vẻ hiệu quả nhƣng nó có một hạn chế tiềm tàng đó là bản chất gửi gói tin tốc độ cao của loại tấn cơng này có thể bị phát hiện bởi các bộ giám sát mạng thống kê cho thấy các gói tin tăng bất thƣờng. Vì vậy kẻ tấn cơng có thể bị phát hiện và hiệu quả của cuộc tấn công bị giảm thiểu.

Ngƣợc lại, tấn cơng DoS tốc độ thấp rất khó bị phát hiện bởi các bộ giám sát mạng, các bộ giám sát mạng khơng thấy có hiện tƣợng bất thƣờng nào vì tấn cơng DoS tốc độ thấp phát gói tin với tốc độ trung bình thấp. Đây là lý do chính tại sao tấn công DoS tốc độ thấp dễ dàng thoát khỏi sự phát hiện.

Trong điều kiện bị tấn công bởi tấn công phát tràn, lƣu lƣợng mạng bị tiêu thụ khá lớn và máy chủ bận một cách bất thƣờng. Với tấn công DoS tốc độ thấp, máy chủ bị đánh lừa bằng các tín hiệu báo bận và bắt buộc hệ thống thay đổi trạng thái của nó và lƣu lƣợng mạng của nó giảm xuống rất thấp. Máy chủ ở trạng thái nhàn rỗi trong suốt cuộc tấn công, kết quả là mạng bị tấn công trong một khoảng thời gian dài mà không bị phát hiện.

b) Tấn cơng với chi phí thấp

Trong tấn công DoS phát tràn truyền thống, kẻ tấn công phải điều khiển nhiều máy gửi đi các dịng gói tin liên tục. Trong khi đó đối với tấn cơng DoS tốc độ thấp, việc chỉ gửi các dịng gói tin tốc độ cao nhƣng với thời gian ngắn hơn nhiều cũng đem lại hiệu quả tƣơng tự. Trong tấn cơng DoS tốc độ thấp, chỉ cần có một máy tấn cơng cũng có thể làm tổn thƣơng mạng. Chính vì vậy, tấn cơng DoS tốc độ thấp có chi phí thực hiện thấp hơn các tấn cơng DoS khác và điều này làm hấp dẫn đối với những kẻ tấn công.

2.1.3 Cơ chế Timeout của giao thức TCP a) Điều khiển tắc nghẽn của giao thức TCP a) Điều khiển tắc nghẽn của giao thức TCP

Giao thức TCP áp dụng một số các cơ chế để đạt đƣợc hiệu năng cao và một trong những cơ chế đó chính là cơ chế điều khiển tắc nghẽn [20, 22]. Phụ thuộc vào mức độ của tắc nghẽn mạng, cơ chế này có thể hoạt động ở 2 miền thời gian. Ở miền thời gian nhỏ hơn cỡ thời gian đi về của một gói tin (khoảng từ 10 đến 100ms), điều

khiển tăng theo cấp số cộng và giảm theo cấp số nhân (AIMD – Additive Increase Multiplicative Decrease) đƣợc thực hiện với mục đích giữ cho việc truyền gói tin của mỗi dịng gói tin ở một tốc độ hợp lý so với băng thông của liên kết nghẽn cổ chai của mạng. Khi tắc nghẽn mạng trở nên gay gắt và nguy hiểm hơn, có rất nhiều gói tin bị mất. Ở thời điểm đó, giao thức TCP sẽ hoạt động ở miền thời gian dài hơn của những khoảng thời gian hết hạn truyền phát lại gói tin (1s, 2s, 4s, 8s,…), đây là nơi mà tấn công DoS tốc độ thấp khai thác.

Cơ chế điều khiển tắc nghẽn của giao thức TCP áp dụng khái niệm cửa sổ tắc nghẽn (cwnd). Cwnd là số lƣợng gói tin TCP đã gửi đi và chƣa có báo nhận. Dựa trên các thông tin phản hồi từ mạng, mỗi tiến trình TCP phía gửi sẽ sử dụng cửa sổ tắc nghẽn để thay đổi cửa sổ truyền gói tin. Nó xét đến khả năng của bên nhận và đặc điểm của mạng, do đó cơ chế này giúp tránh tắc nghẽn. Với tắc nghẽn mạng tạm thời, cơ chế truyền phát lại nhanh đƣợc thực hiện khi tiến trình TCP bên gửi nhận đƣợc 3 gói tin ACK giống nhau cùng yêu cầu bên gửi một gói tin. Trong trƣờng hợp tắc nghẽn mạng nghiêm trọng, nếu 3 gói tin ACK giống nhau khơng về đƣợc đến bên gửi, cơ chế timeout đƣợc thực hiện; nó có nghĩa là, mặc dù khoảng thời gian chờ phát lại gói tin (RTO) đã hết, một gói tin vẫn chƣa đƣợc báo nhận.

Tính tốn thời gian chờ phát lại gói tin theo [17] nhƣ sau: Ký hiệu:

RTO: Thời gian chờ phát lại gói tin hiện tại. RTT: Viết tắt của thời gian đi về của một gói tin.

RTTVAR: Sai khác thời gian giữa hai giá trị RTT của hai lần tính RTT liên

tiếp (đã làm trơn).

SRTT: Thời gian đi về của một gói tin (đã làm trơn), dựa trên việc đo lƣờng

thời gian đi về của gói tin hiện tại.

G: Đơn vị thời gian của đồng hồ (thƣờng ≤ 100ms).

 Ban đầu

RTO = 1s

 Khi tính tốn đƣợc giá trị RTT là R lần đầu tiên thì tiến trình TCP phía gửi đặt:

SRTT = R

RTTVAR = R/2

RTO = SRTT + max(G, 4 * RTTVAR)

 Khi tính tốn đƣợc giá trị RTT tiếp theo là R’ thì tiến trình TCP phía gửi đặt:

RTTVAR = (1 – β) * RTTVAR + β * |SRTT – R’|

SRTT = (1 - α) * SRTT + α * R’

Trong đó α = 1/8 và β = 1/4 (nhƣ đề nghị trong [9]).

RTO = max(minRTO, SRTT + max(G, 4 * RTTVAR))

Để tính đƣợc thời gian chờ phát lại gói tin hiện tại (RTO) thì cần phải tính đƣợc giá trị RTT hiện tại. Các nhà nghiên cứu đã chỉ ra rằng tính tốn RTT cho mỗi gói tin khơng dẫn đến ƣớc lƣợng giá trị RTT tốt hơn [18]. Một ví dụ tính tốn giá trị RTT hiện tại đƣợc mơ tả nhƣ hình 2.2 (theo [19, 23]).

Hình 2.2: Tính tốn giá trị RTT hiện thời

Chƣơng trình sock gửi 128 gói tin, mỗi gói tin là 256 bytes từ máy slip đến dịch vụ discard của máy vangogh. Tổng thời gian truyền là 45 giây và ở đây chỉ đề cập việc

gửi các gói tin dữ liệu và nhận các gói tin báo nhận trong 3s đầu.

Trong khi truyền dữ liệu trên máy slip ngƣời ta chạy chƣơng trình tcpdump ghi lại thời điểm gửi và nhận các gói tin.

Trong hình 2.2 đánh số các gói tin từ 1 đến 13 và 15 theo thứ tự chúng đƣợc gửi và nhận trên máy slip.

Ba dấu ngoặc nhọn bên trái thể hiện ba gói tin đƣợc tính RTT. Khơng phải tất cả các gói tin đều đƣợc tính RTT.

Một bộ đếm thời gian cho kết nối này đƣợc khởi động khi gói tin số 1 đƣợc gửi đi và tắt khi gói tin báo nhận của nó (gói số 2) trở về đến máy slip. Khi gói tin số 3 đƣợc gửi đi thì bộ đếm thời gian này lại đƣợc bật. Khi gói tin 4 đƣợc gửi đi 2.4 (ms) sau thì nó sẽ khơng đƣợc định thời (và nhƣ vậy sẽ khơng đƣợc tính RTT) bởi vì bộ đếm thời gian đã đƣợc bật. Khi gói 5 trở về đến máy slip báo nhận dữ liệu đã đƣợc định thời thì giá trị RTT hiện tại đƣợc tính và bộ đếm thời gian cũng bị tắt. Bộ đếm thời gian lại đƣợc bật trở lại khi gói 6 đƣợc gửi đi và tắt khi gói tin báo nhận của nó (gói 10) trở về đến máy slip. Gói 7 và gói 9 khơng đƣợc định thời vì bộ đếm thời gian đã đƣợc bật. Cũng vậy khi gói 8 đƣợc nhận (ACK 769 tức là yêu cầu bên gửi gửi các byte dữ liệu từ 769) thì khơng có gì để cập nhật cho RTT bởi vì báo nhận đó khơng phải cho byte đã đƣợc định thời (byte đƣợc định thời là 1025 khi gói 6 đƣợc gửi đi).

Khi tắc nghẽn mạng trở nên nghiêm trọng, cửa sổ tắc nghẽn của tiến trình TCP phía gửi giảm xuống cịn một gói tin và giả sử giá trị RTO đƣợc thiết lập tại thời điểm đó là minRTO (=1s) (điều này có thể xảy ra nếu minRTO > SRTT + max(G, 4 * RTTVAR) → RTO=minRTO). Khi đó tiến trình TCP phía gửi tăng gấp đơi RTO từ 1s lên thành 2s và phát lại gói tin. Sau khoảng thời gian RTO là 2s nếu gói tin vẫn chƣa đƣợc báo nhận thì giá trị RTO lại đƣợc tăng gấp đôi thành 4s và cứ nhƣ thế. Đây là cơ chế lùi thời gian phát lại gói tin theo hàm số mũ để tiến trình TCP bên gửi thực hiện khi có hiện tƣợng tắc nghẽn mạng nghiêm trọng xảy ra, nó đƣợc chọn để thực hiện một cuộc tấn công LDoS.

b) Điểm yếu của cơ chế Timeout

Cơ chế Timeout của giao thức TCP thích hợp với tắc nghẽn mạng nghiêm trọng xảy ra nhƣng mặt khác nó cũng có sự rủi ro tiềm tàng bởi lỗ hổng cơ bản của nó. Theo cơ chế này giá trị nhỏ nhất mà RTO có thể nhận là 1s và trong lúc lùi thời gian phát lại gói tin theo hàm số mũ thì RTO nhận các giá trị là bội của 1. Do đặc điểm này của thuật toán, kẻ tấn cơng có thể tấn cơng bằng cách sử dụng các khoảng thời gian cách đều nhau, trong mỗi khoảng thời gian đó kẻ tấn cơng gửi các gói tin với tốc độ cao để làm tràn bộ đệm của kết nối nghẽn cổ chai. Nếu kẻ tấn công biết thời gian của bên gửi, hắn sẽ thực hiện tấn cơng “xung vng” đó và liên tiếp làm cho bên gửi rơi vào trạng thái timeout trong khi thông lƣợng của máy chủ xấp xỉ bằng không.

2.1.4 Tấn công từ chối dịch vụ tốc độ thấp nhằm vào giao thức TCP

Ý tƣởng cơ bản của loại tấn công này là khai thác điểm yếu của cơ chế Timeout. Trong loại tấn công này, kẻ tấn công sẽ truyền những xung vuông ngắn với chu kỳ gần với giá trị RTO của các kết nối TCP đang diễn ra. Các xung ngắn này làm cho các gói tin bị mất, dẫn đến các dòng TCP rơi vào trạng thái timeout, và liên tục thất bại khi cố gắng phát lại gói tin. Do đó, thơng lƣợng hầu nhƣ là bằng khơng.

Hình 2.3: Tấn cơng LDoS

Tấn công DoS tốc độ thấp nhằm vào giao thức TCP có 3 thuộc tính: tốc độ gửi gói tin (the send rate), độ dài thời gian của một lần bùng nổ gói tin (the burst length), khoảng thời gian cách nhau giữa 2 lần bùng nổ gói tin liên tiếp tính từ thời điểm bắt đầu của lần bùng nổ gói tin thứ nhất cho đến thời điểm bắt đầu của lần bùng nổ gói tin tiếp theo (the inter-burst period).

Tốc độ mà kẻ tấn cơng gửi các gói tin vào mạng đƣợc gọi là tốc độ gửi gói tin (Rb). Để làm cho mất gói tin và làm cho các dịng TCP rơi vào trạng thái timeout thì tốc độ gửi gói tin phải lớn hơn băng thông của kết nối nghẽn cổ chai.

Độ dài thời gian của một lần bùng nổ gói tin là khoảng thời gian mà kẻ tấn công phát tràn gói tin trong mỗi lần bùng nổ gói tin (Tb). Nó phụ thuộc vào giá trị RTT của mỗi dòng kết nối TCP, phụ thuộc vào tốc độ gửi gói tin và băng thơng của kết nối nghẽn cổ chai. Nếu độ dài thời gian của một lần bùng nổ gói tin q dài, kẻ tấn cơng có thể bị phát hiện.

Khoảng thời gian cách nhau giữa 2 lần bùng nổ gói tin liên tiếp là tần số mà kẻ tấn cơng phát tràn gói tin (Ta). Kẻ tấn công mong muốn chọn đƣợc giá trị của thuộc tính này tƣơng ứng một cách chính xác với giá trị RTO bởi vì kẻ tấn cơng có thể thay đổi thông lƣợng của các dịng TCP trong khi gửi đi ít nhất các gói tin và giảm nguy cơ bị phát hiện.

Một phần của tài liệu (LUẬN văn THẠC sĩ) cải thiện hiệu năng giải thuật RRED chống tấn công từ chối dịch vụ tốc độ thấp luận văn ths công nghệ thông tin 60 48 15 (Trang 25 - 30)

Tải bản đầy đủ (PDF)

(100 trang)