1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN HỢI
chối dịch vụ. Hầu hết các cuộc tấn công DoS quản lý tận dụng lợi thế của những
điểm yếu trong giao thức TCP/IP. Theo truyền thống, các cuộc tấn công gửi một
số lượng lớn các gói tin giả mạo với mục tiêu tiêu hao băng thông mạng hoặc
khả năng xử lý và nạn nhân không còn có thể cung cấp dịch vụ cho người dùng
hợp pháp. Như vậy, gây ra bất thường về mặt thống kê của các thiết bị giám sát
mạng, luồng tấn công có thể phát hiện khá dễ dàng và giảm thiểu thiệt hại của
cuộc tấn công
Một phân loại mới cuộc tấn từ chối dịch vụ, được gọi là từ chối dịch vụ tần
suất thấp, sẽ là mấu chốt trong đề tài nghiên cứu này. Tần suất trung bình của
cuộc tấn công này là quá thấp nên hầu hết các router hoặc nạn nhân không phát
hiện ra các cuộc tấn công. Cuộc tấn công cố gắng để gây giảm chất lượng của
dịch vụ TCP bằng cách định kỳ gửi các vụ nổ của các gói tin để tạo ra tắc nghẽn.
Giai đoạn của luồng DoS được chọn để phù hợp với RTO (thời gian hết hạn
truyền lại) của luồng TCP để các tắc nghẽn sẽ trùng với truyền lại gói tin, dẫn
đến việc mất gói dữ liệu và thời gian chờ kết nối liên tục. Vì vậy, tần suất tấn
công tổng thể là đủ thấp để để tránh bị phát hiện. Mục đích của luận văn này
chúng tôi nghiên cứu hiện trạng các biện pháp phòng chống tấn công từ chối
dịch vụ phân tán tần suất thấp, từ đó đề xuất giải pháp mới hiệu quả hơn. Tính
hiệu quả của giải pháp mới sẽ được so sánh và đối chiếu với các giải pháp cũ
thông qua mô phỏng trên phần mềm chuyên dụng NS-2.
Từ khóa: Denial of Service, Low-Rate TCP-Targeted Denial of Service
Attacks, Shrew Attacks, TCP Congestion Control, TCP Retransmission
Timeout, Robust RED Algorithm.
ii
MỤC LỤC
LỜI CẢM ƠN Error! Bookmark not defined.
TÓM TẮT i
MỤC LỤC ii
DANH MỤC HÌNH VẼ iv
iii
3.4.1 Kịch bản mô phỏng 30
3.4.2 Kết quả biến thiên theo chu kỳ 31
3.4.3 Kết quả biến thiên theo độ rộng bùng nổ tấn công 32
3.4.4 Kết quả biến thiên theo tốc độ bùng nổ tấn công 33
KẾT LUẬN 36
PHỤ LỤC 37
TÀI LIỆU THAM KHẢO 44 iv
DANH MỤC HÌNH VẼ
Hình 1. Hoạt động điều khiển tắc nghẽn TCP 5
Hình 2. Hoạt động của đồng hồ truyền lại TCP 8
Hình 3. Nguyên lý hoạt động của RED 13
Hình 4. Sơ đồ loại bỏ gói tin của RED theo 14
Hình 5. Mô hình tấn công DoS tần suất thấp 21
Hình 6. Kiến trúc của RRED 24
Hình 7. Tấn công DoS theo chu kỳ với T*=1ms 27
Hình 8. Tấn công DoS theo chu kỳ với T*=50ms 27
Hình 9. Mã giả của thuật toán RRED cải tiến 29
Hình 11. Giao thức mạng thử nghiệm 30
Hình 12. Kết quả thông lượng TCP dưới tấn công khi
Ta = [0.2, 2] (s), Tb = 200(ms), Rb = 0.25 (Mbps) 31
Với T
a
= 1(s), T
b
= [0,600](ms), R
Tăng cấp số cộng giảm cấp
số nhân
AQM
Active Queue Management
Quản lý hàng đợi tích cực
DDoS
Distributed Denial of Service
Tấn công từ chối dịch vụ
phân tán
DoS
Denial of Service
Tấn công từ chối dịch vụ
FTP
File transfer protocol
Giao thức truyền tệp
ICMP
Internet Control Message Protocol
giao thức xử lý các thông báo
trạng thái cho IP
Kbps
kilobit per second
Kilôbit trên giây
LDoS
Low-rate DoS Attack
Tấn công từ chối dịch vụ tần
suất thấp
Mbps
Megabit per second
Mêgabit trên giây
ms
Tấn công từ chối dịch vụ đã ngày càng trở thành mối đe dọa nghiêm trọng
đối với sự tin cậy của mạng Internet. Là các cuộc tấn công sử dụng nhiều cách
thức tổ chức và thực hiện khác nhau, từ việc dùng chỉ một máy tới việc thu thập
các máy agent dưới quyền với số lượng lên đến hàng chục ngàn máy phục vụ tấn
công, mục đích của các cuộc tấn công là làm tê liệt các ứng dụng, máy chủ, toàn
bộ mạng lưới, hoặc làm gián đoạn kết nối của người dùng hợp pháp. Một kẻ tấn
công DoS gửi một số lượng lớn các gói tin đến một nạn nhân sử dụng nhiều
zombie. Như một kết quả của các cuộc tấn công, các nguồn tài nguyên xung
quanh nạn nhân như băng thông mạng và sức mạnh tính toán bị giảm và sử dụng
không thể truy cập vào các dịch vụ hợp pháp được cung cấp bởi các nạn nhân.
Ngày nay, có các biện pháp đối phó khác nhau của cuộc tấn công DoS để loại lũ
lụt thông thường đã được đề xuất. Đặc biệt, phân tích thống kê về tỷ lệ truyền tải
mạng rất hữu ích để phát hiện các gói lớn truyền tải lũ lụt.
Tấn công từ chối dịch vụ (DoS) là một nỗ lực để phá vỡ các chức năng
bình thường của hệ thống mạng và ngăn chặn truy cập hợp pháp cho các dịch vụ
hoặc đơn giản là làm giảm chất lượng của dịch vụ được cung cấp
Một nghiên cứu tại UCSD [23] đã chỉ ra rằng ngay từ đầu thập niên này các
cuộc tấn công từ chối dịch vụ đã diễn ra với một tỷ lệ lên tới 4000 cuộc tấn công
mỗi tuần. Trong năm 2002, một cuộc tấn công từ chối dịch vụ [22] đã làm sập
tới 9 trong số 13 máy chủ DNS root của toàn thế giới.
Mức độ ảnh hưởng nghiêm trọng của các cuộc tấn công từ chối dịch vụ, mà
đặc biệt được nhắc đến nhiều nhất là tấn công từ chối dịch vụ phân tán DDoS,
đã dẫn đến một loạt các nghiên cứu nhằm hiểu rõ hơn về các cơ chế tấn công, để
đưa tới các cách thức giúp có thể phòng chống ảnh hưởng tiêu cực của nó.
Có nhiều phương pháp đã được đề xuất nhằm chống lại các cuộc tấn công
từ chối dịch vụ, từ việc lọc các gói tin để tránh giả mạo địa chỉ nguồn, chuyển
hướng tấn công, đẩy ngược luồng giao thông tấn công trở lại mạng, cách ly để
phân biệt máy khách và giao thông máy chủ. Mỗi giải pháp đó đều rất tốt, và
cung cấp kĩ thuật giúp chúng ta nhận ra các vấn đề của tấn công từ chối dịch vụ.
Tuy nhiện, các phương pháp chỉ có thể bảo vệ lại từng khía cạnh của các tấn
Với các cuộc tấn công DoS truyền thống, những kẻ tấn công sử dụng một
số lượng lớn các máy bị xâm nhập hoặc các đại lý và gửi điện cao tỷ lệ các gói
dữ liệu đến nút nạn nhân. Có khả năng mạnh mẽ nhưng có khả năng rất có hại
mà bản chất cao tỷ lệ các cuộc tấn công như vậy có thể được phát hiện bởi thiết
bị giám sát mạng vì số liệu thống kê bất thường. Vì vậy, những kẻ tấn công có
thể được xác định và ảnh hưởng của các cuộc tấn công được giảm thiểu. Khi bị
tấn công bởi các cuộc tấn công tràn ngập, giao thông của các mạng được tiêu thụ
khá cao và máy chủ vào trạng thái bận. Với các tấn công DoS tần suất thấp, các
nút trong mạng bị lừa dối với tín hiệu bận và để điều chỉnh trạng thái hệ thống
của nó và sau đó luồng trở nên tương đối rỗng. Các máy chủ sẽ được rỗi trong
các cuộc tấn công, kết quả là mạng có thể bị tấn công trong một thời gian dài mà
người dùng không nhận biết được.
3
Tuy nhiên, tấn công DoS tần suất thấp khai thác khoảng thời gian chậm
hơn của đồng hồ truyền lại TCP để làm giảm thông lượng TCP. Mục đích của nó
là để phá vỡ sự cân bằng của dịch vụ mạng hơn là để chiếm dịch vụ. Với tốc độ
trung bình của gói thấp, rất khó cho mạng lưới giám sát để phát hiện ra những sự
kiện đặc biệt và đó là lý do chính tại sao tấn công DoS tần suất thấp rất dễ dàng
để thoát khỏi phát hiện.
Gần đây một phương pháp chống tấn công từ chối dịch vụ phân tán tần suất
thấp được cho thấy khá hiệu quả trong việc lọc các gói tin tấn công và cho qua
các gói tin hợp pháp. Thuật toán mới hơn RED đã được đề xuất để phát hiện và
lọc ra các cuộc tấn công LDoS. Thuật toán này sẽ giúp trong việc tìm ra nguồn
gốc của các tấn công LDoS và làm gián đoạn luồng tấn công từ hệ thống. Mục
tiêu của thuật toán đề xuất là xác định và loại bỏ các luồng tấn công trước khi
vào thuật toán truyền thống RED. Công việc tương tự đã được thực hiện trong
thuật toán RRED [1]. Bằng một tập hợp các thí nghiệm khác nhau, thuật toán
RRED được chứng minh là mạnh mẽ chống lại các cuộc tấn công LDoS và duy
trì thông lượng TCP ổn định. Tuy nhiên, thuật toán xác định một khoảng thời
Chương 3: Tấn công từ chối dịch vụ.
Trong chương này trình bày khái niệm về tấn công từ chối dịch vụ, cách
thức chung tấn công từ chối dịch vụ. Tiếp theo là trình bày cách thức tấn công từ
chối dịch vụ tần suất thấp. Các phương pháp chống tấn công từ chối dịch vụ tần
suất thấp và cuối cùng tập trung một thuật toán chống tấn công từ chối dịch vụ
tần suất thấp là RRED.
Chương 4: Phương pháp cải tiến đề xuất.
Trong chương này trình bày về ý tưởng cải tiến thuật toán RRED, phân tích
nhược điểm của RRED, khai thác nhược điểm để từ đó đề xuất phương pháp cải
tiến. Tiếp theo trình bày mã giả của thuật toán và cuối cùng là bình luận phương
pháp cải tiến
Chương 5: Kết quả mô phỏng
Chương này trình bày kịch bản mô phỏng, kết quả biến thiên theo chu kỳ
tấn công, theo độ rộng tấn công và tốc độ tấn công. Trong chương này, chúng tôi
cũng so sánh phương pháp cải tiến của chúng tôi so với thuật toán RRED.
Phần cuối cùng là kết luận và hướng nghiên cứu trong tương lai.
5
Chƣơng 1 - BACKGROUND
1.1. Điều khiển tắc nghẽn TCP
Phần này cung cấp đánh giá điều khiển tắc nghẽn TCP. Đầu tiên giải thích
cơ bản của giai đoạn điều khiển truyền tải và sau đó thảo luận ngắn về lớp giao
thức điều khiển tắc nghẽn chậm mà có liên quan đến công việc được trình bay
trong mục 3.4. Tiếp theo, trình bày cơ bản về cơ chế thời gian hết hạn truyền lại
(RTO) mà là nguồn gốc của việc dễ bị tấn công trong tấn công DoS tần suất
thấp.
1.1.1 Các giai đoạn TCP
Hình 1 biểu diễn thời gian cửa sổ tắc nghẽn TCP hoạt động tại các giai
đoạn khác nhau với các điểm trên đỉnh là gói tin mất. Dữ liệu truyền tải bắt đầu
đưa vào tài khoản của người gửi.
Để giải quyết với sự tắc nghẽn tạm thời, khi TCP nhận ba ACK trùng lặp
cho một gói tin, nó sử dụng cơ chế truyền lại nhanh chóng (fast-retransmit).
Trong trường hợp tắc nghẽn nặng, khi ba ACK trùng lặp không thể với tới người
gửi, cơ chế thời gian chờ được kích hoạt, có nghĩa rằng một gói tin không được
công nhận mặc mặc dù thời gian của RTO đã hết hạn.
TCP phát hiện mất gói tin thông qua thời gian hết hạn (timeout) từ không
nhận được gói tin ACK, hoặc nhận được ba bản sao ACK. Nếu mất gói tin xảy
ra và ít hơn ba ACK trùng lặp được nhận, TCP chờ đợi trong một khoảng thời
gian chờ truyền lại hết hạn, làm giảm cửa sổ tắc nghẽn một gói tin và gửi lại gói
tin.
Lựa chọn giá trị thời gian chờ đòi hỏi một sự cân bằng: nếu quá thấp,
truyền lại giả sẽ xảy ra khi các gói tin là không chính xác giả bị mất khi trong
thực tế, dữ liệu hoặc ACK chỉ đơn thuần bị trì hoãn. Tương tự như vậy, nếu đặt
quá cao, luồng sẽ chờ đợi lâu không cần thiết để suy luận và phục hồi từ tình
trạng tắc nghẽn.
Để giải quyết các yếu tố đầu, Allman và Paxson thực nghiệm cho thấy rằng
TCP đạt thông lượng gần như tối đa nếu có tồn tại một cận dưới với RTO của
một giây [2]. Trong khi có khả năng duy trì với các luồng small-RTT, nghiên
cứu phát hiện ra rằng tất cả các luồng nên có giá trị thời gian chờ ít nhất 1 giây
để đảm bảo tình trạng tắc nghẽn mà được xóa bỏ, từ đó đạt được hiệu suất tốt
nhất.
7
Để giải quyết các yếu tố thứ hai, bên gửi TCP duy trì hai biến trạng thái,
SRTT (smoothed round-trip time) và RTTVAR (round-trip time variation). Theo
[32], các quy định về việc tính toán SRTT, RTTVAR, và RTO như dưới đây.
Cho đến khi một phép đo RTT đã được thực hiện đối với các gói tin được gửi
giữa bên gửi và bên nhận, bên gửi đặt RTO đến ba giây.
Khi đo RTT lần đầu tiên là R’, hệ thống thiết lập SRTT=R’,
Exponentioal
backoff
Multiplicative
decrease
Package Loss
Retransmission Timer
Time0
Hình 2. Hoạt động của đồng hồ truyền lại TCP
Minh họa quản lý RTO qua trục thời retransmission-timer (đồng hồ phát
lại) trong Hình 2 như sau. Giả sử một gói tin với số thứ tự n được gửi bởi bên
gửi TCP tại tham chiếu thời gian t = 0, và đồng hồ phát lại 1 giây được khởi tạo
khi truyền tải. Nếu gói n bị mất và ít hơn ba bản sao ACK nhận được của bên
gửi, luồng "hết thời gian" khi thời gian kết thúc tại thời điểm t = 1 giây. Tại thời
điểm này, bên gửi đi vào giai đoạn rút lui theo hàm mũ: nó làm giảm cửa sổ tắc
nghẽn một, tăng gấp đôi giá trị RTO đến 2 giây theo thuật toán Karn của [21],
truyền lại gói tin không được biên nhận với số thứ tự n, và thiết lập lại đồng hồ
phát lại với giá trị RTO mới này. Nếu gói dữ liệu bị mất một lần nữa (không thể
hiện trong Hình 2), tiếp tục rút lui theo hàm mũ như bên gửi chờ đợi 2 giây dài
đồng hồ truyền lại đến hết hạn. Tại t = 3 giây, bên gửi lại áp dụng thuật toán của
Karn, tăng gấp đôi giá trị RTO đến 4 giây và lặp đi lặp lại quá trình này.
Ngược lại nếu gói tin n là thành công phát lại tại thời điểm t = 1 giây như
được minh họa trong Hình 2, ACK của nó sẽ đến cho bên gửi tại thời điểm t = 1
+ RTT. Tại thời điểm này, bên gửi TCP thoát khỏi giai đoạn rút lui theo hàm mũ
và đi vào khởi đầu chậm (slow start), tăng gấp đôi kích thước cửa sổ đến hai,
truyền hai gói mới n + 1 và n + 2, và đặt lại đồng hồ truyền lại với các giá trị
RTO hiện tại của 2 giây. Nếu hai gói dữ liệu không bị mất, chúng được nhận tại
thời điểm t = 1 + 2 RTT, và SRTT, RTTVAR và RTO được tính toán lại như mô
tả ở trên. Với điều kiện là minRTO > SRTT + max(G, 4 RTTVAR), RTO một
lần nữa thiết lập 1 giây. Như vậy, trong trường hợp này, trong đó xuất hiện thời
kích thước hàng đợi tối đa, tối thiểu và gói loại bỏ tối thiểu trong khi cho phép
truy cập công bằng cho tất cả các nguồn. Có chủ yếu là hai cách tiếp cận để điều
khiển tắc nghẽn - điều khiển tắc nghẽn hệ thống đầu cuối và điều khiển tắc
nghẽn mạng lưới trung tâm.
Điều khiển tắc nghẽn hệ thống đầu cuối, người gửi phát hiện sự tắc nghẽn
và phản ứng với nó cho phù hợp. TCP là một ví dụ quan trọng của phương pháp
10
này. Khi một gói được loại bỏ, người gửi giả định rằng tình trạng tắc nghẽn đã
xảy ra và giảm tốc độ gửi. Khi một gói được truyền thành công, người gửi tăng
tốc độ gửi.
Phương pháp thứ hai là điều khiển tắc nghẽn mạng lưới trung tâm. Ý tưởng
của phương pháp này là khi các bộ định tuyến có nhiều thông tin về trạng thái
của mạng, họ có thể phát hiện ùn tắc và nên tham gia vào các quyết định của
điều khiển tắc nghẽn. Bộ định tuyến thực sự đo mức độ ùn tắc giao thông bằng
cách so sánh khả năng đầu vào và bằng cách dựa vào kích thước hàng đợi, do
đó, họ có thể gửi thông tin phản hồi ngay sau khi họ nhận thấy chiều dài hàng
đợi đang gia tăng. Vì vậy, chiều dài hàng đợi trung bình không phải là lớn như
trong cách tiếp cận trước. Bộ định tuyến cũng có thể được sử dụng để ưu tiên
cho một số nguồn so với những điều kiện khác. Một ví dụ quan trọng của điều
khiển tắc nghẽn mạng lưới trung tâm là quản lý xếp hàng đăng nhập.
1.2.2 Quản lý hàng đợi tích cực
Quản lý hàng đợi tích cực (AQM) là một cơ chế phát hiện sự tắc nghẽn
trong hệ thống mạng. Những giải thuật quản lý hàng đợi tích cực chạy bên trong
những bộ định tuyến và phát hiện sự tắc nghẽn phôi thai điển hính bằng cách
theo dõi chiều dài hàng đợi tức thời hay chiều dài hàng đợi trung bình. Khi kích
thước hàng đợi trung bình vượt quá một ngưỡng nhất định nhưng vẫn còn ít hơn
khả năng xử lý của hàng đợi, những giải thuật quản lý hàng đợi tích cực xem xét
sự tắc nghẽn trên mối liên kết và thông báo trở lại cho những hệ thống bằng
cách thả một số gói tin chuyển đến bộ định tuyến. Các giải thuật AQM có thể
thống đầu cuối được trang bị các thuật toán quan trọng như các cơ chế tránh tắc
nghẽn TCP, khởi đầu chậm (slow start), truyền lại nhanh (fast retransmit), và
phục hồi nhanh (fast recovery), việc thực hiện các thuật toán điều khiển tắc
nghẽn TCP trên mạng drop-tail hiện tại có thể vẫn không đạt yêu cầu. Quản lý
hàng đợi tích cực đã được khuyến cáo của Internet Engineering Task Force
(IETF) như một cách để giảm thiểu những hạn chế hoạt động nêu trên của giao
thức TCP trên mạng drop-tail. Phát hiện sớm ngẫu nhiên (RED) [19] là một
thuật toán quản lý hàng đợi tích cực đầu tiên đề xuất cho việc triển khai trong
mạng TCP/IP. Ý tưởng cơ bản thuật toán quản lý hàng đợi tích cực là để truyền
đạt thông báo tắc nghẽn sớm tới các giao thức TCP điểm cuối (end-point) để họ
có thể làm giảm tốc độ truyền trước khi hàng đợi tràn và xảy ra liên tục mất gói
tin. Ngày nay được chấp nhận rộng rãi là RED kiểm soát hàng đợi thực hiện tốt
hơn so với một hàng đợi thả đuôi (drop-tail). Tuy nhiên, RED có một số vấn đề
điều chỉnh tham số cần phải được giải quyết một cách cẩn thận để cung cấp cho
hiệu suất tốt theo các kịch bản mạng khác nhau. Kết quả là một số thuật toán,
như BLUE [29] và Stabilized RED (SRED) [28], đã được phát triển nhằm thay
thế cho RED. Mặc dù các thuật toán cũng kiểm soát tắc nghẽn bằng cách loại bỏ
các gói tin với một tải trọng phụ thuộc vào khả năng bất cứ khi nào một hàng
đợi trong mạng dường như tắc nghẽn, chúng được thiết kế với mục tiêu duy trì
hàng đợi mạng ổn định, do đó giảm thiểu sự xuất hiện của hàng đợi tràn luồng.
Tuy nhiên, không giống như SRED và BLUE, thuật toán quản lý hàng đợi tích
12
cực mới này sử dụng một điều khiển phản hồi đơn giản tiếp cận để tính toán xác
suất thả được sử dụng để loại bỏ các gói trong thời gian tắc nghẽn hàng đợi.
Mặc dù các thuật toán AQM là rất mạnh mẽ với các điều kiện mạng khác
nhau, hầu hết trong số chúng đã được thiết kế mà không xem xét mạnh mẽ của
họ chống lại các cuộc tấn công mạng, chẳng hạn như các công từ chối dịch vụ
(DoS) cuộc tấn công đã được xác định như một mối đe dọa lớn các dịch vụ
Internet ngày nay. Các cuộc tấn công DoS ví dụ bao gồm TCP cuộc tấn công
13
trước khi một bộ đệm được thực sự quá tải. Khi nguồn TCP phát hiện những tổn
thất này, họ có thể chậm lại tốc độ truyền của họ (tin rằng mạng tắc nghẽn). Như
vậy, tình trạng tắc nghẽn thực có thể tránh được.
RED chứa hai module: module dự báo tắc nghẽn và module hiện trạng loại
bỏ gói tin. Đây là 2 thành phần trung tâm của RED.
Chức năng chính của module dự báo tắc nghẽn là làm thế nào để ước lượng
được hay đánh giá được hành vi của lưu lượng trong bộ đệm theo thời gian và
phát hiện khả năng tắc nghẽn. Cách tiếp cận đơn giản nhất là dựa vào chiều dài
hàng đợi (N) và xác định trạng thái tắc nghẽn dựa trên cơ sở hàng đợi bị đầy hay
không bằng cách so sánh với kích thước bộ đệm hàng đợi (B). Một phương pháp
khác được sử dụng để dự đoán tắc nghẽn dựa trên thuật toán thời gian trung bình
của hàng đợi, đầu ra của module dự đoán tắc nghẽn là chiều dài hàng đợi trung
bình trọng số (ηN). Gọi α là phần trăm bộ đệm bị đầy và được tính theo công
thức sau: α= η
N
/B.
Chức năng chính của module hiện trạng loại bỏ gói tin là đưa ra ngưỡng
khống chế α
min
, α
max
từ đó đánh dấu hoặc loại bỏ gói tin theo hàm xác suất p.
Module dự đoán tắc nghẽn Module hiện trạng loại bỏ gói tin
Loại bỏ gói tin
% bộ đềm đầy
(α)
Xác suất loại bỏ gói tin
()
Chiều dài
bỏ gói tin
Hình 4. Sơ đồ loại bỏ gói tin của RED theo
Các gói tin không bị loại bỏ và RED chưa được kích hoạt khi α nhỏ hơn giá
trị chặn trên αMin thì xác suất loại bỏ là 0. RED được kích hoạt khi αvượt quá
αMin. Nếu α vượt quá giá trị chặn dưới αMax thì xác suất loại bỏ gói là 1, hàng
đợi bắt đầu thực hiện chế độ “cắt bớt phần đuôi”. Nếu α nằm trong giới hạn
αMin và αMax thì đánh dấu hoặc loại bỏ gói tin ngẫu nhiên tùy theo hàm xác
suất [1, 2]. Tuy nhiên, RED chỉ hữu dụng trong các mạng TCP và việc đồng bộ
truyền gói tin sử dụng giao thức TCP. Nó không làm ảnh hưởng các luồng lưu
lượng UDP 15
Chƣơng 2 TẤN CÔNG TỪ CHỐI DỊCH VỤ
2.1 Khái niệm tấn công từ chối dịch vụ
Là các cuộc tấn công trên hệ thống mạng nhằm ngăn cản những truy xuất
tới các dịch vụ, làm cho các dịch vụ mạng bị tê liệt, không còn khả năng đáp
ứng được yêu cầu bằng cách làm tràn ngập số lượng kết nối, quá tải server hoặc
ứng dụng chạy trên server.
Kiểu tấn công DoS thường dựa trên những giao thức như tràn ngập ICMP
với Smurf, Ping of Death, khai thác điểm yếu của TCP trong hoạt động của giao
thức và phân mảnh gói tin, sử dụng bom email để gửi hàng loạt thông điệp
email…
Tấn công từ chối dịch vụ phân tán tần suất thấp là một loại mới của cuộc
tấn công DoS, kẻ tấn công khai thác thuộc tính cố định minRTO của TCP, và do
đó từ chối dịch vụ cho người sử dụng hợp pháp.
2.2.2 Tấn công vào giao thức
Một ví dụ lý tưởng của các cuộc tấn công giao thức đó là tấn công tràn
ngập gói TCP SYN[5][6]. Một phiên kết nối TCP bắt đầu với việc bắt tay ba
bước giữa một máy khách và máy chủ. Khách hàng gửi một gói tin TCP SYN
đến máy chủ, yêu cầu một số dịch vụ. Trong phần đầu gói SYN, khách hàng
cung cấp số thứ tự - sequence number của mình, một uniqueper- số kết nối sẽ
được sử dụng để đếm dữ liệu được gửi đến máy chủ (vì vậy các máy chủ có thể
nhận ra và xử lý mất tích, thứ tự dữ liệu không đúng, hoặc dữ liệu lặp đi lặp lại).
Khi nhận được gói SYN, máy chủ cấp phát một khối điều khiển truyền dẫn
(TCB), lưu trữ thông tin về khách hàng. Sau đó nó trả lời bằng một SYN-ACK,
thông báo cho khách hàng có yêu cầu rằng dịch vụ của nó sẽ được cấp, ghi nhận
số thứ tự của khách hàng và gửi thông tin về số thứ tự ban đầu của máy chủ. Các
khách hàng, khi nhận được gói SYN-ACK, cũng cấp phát một khối điều khiển
truyền dẫn, sau đó trả lời với một gói ACK đến máy chủ, để hoàn thành việc mở
kết nối.
Tiềm năng lạm dụng nằm trong việc cấp phát nguồn tài nguyên của máy
chủ ngay từ khi nhận được gói SYN. Khi máy chủ giao TCB của mình và trả lời
bằng một SYN-ACK, kết nối được cho là nửa mở. Nghĩa là tài nguyên máy chủ
cấp phát sẽ được giữ để dành cho kết nối với khách hàng, cho đến khi khách
hàng gửi một gói tin ACK, đóng kết nối (bằng cách gửi gói tin RST) hoặc cho
đến khi hết hạn chờ và server ngắt kết nối, giải phóng không gian đệm. Và cho
dù khách hàng có gửi lại gói tin khác, hay không, thì tài nguyên đó sẽ được cấp
phát giữ trong một khoảng thời gian nhất định. Trong một cuộc tấn công tràn gói
tin TCP SYN, kẻ tấn công tạo ra vô số các kết nối nửa mở bằng cách sử dụng
giả mạo IP nguồn. Những yêu cầu nhanh chóng vắt kiệt bộ nhớ TCB của máy
chủ, và khi đó máy chủ sẽ không còn có thể chấp nhận yêu cầu kết nối đến nữa.
Để có thể giữ cho tình trạng này được kéo dài như mong muốn, kẻ tấn công cần
phải tạo ra một luồng đều đặn các gói SYN đối với nạn nhân (để giành lấy
17
2.2.4 Tấn công vào ứng dụng
Những kẻ tấn công có thể nhắm mục tiêu một ứng dụng cụ thể và gửi gói
tin để đạt tới giới hạn của yêu cầu dịch vụ ứng dụng này có thể xử lý. Ví dụ, các
máy chủ web phải mất một thời gian nhất định để phục vụ yêu cầu trang Web
bình thường, và do đó sẽ tồn tại một số hữu hạn các yêu cầu tối đa cho mỗi giây
18
mà họ có thể duy trì. Nếu chúng ta giả định rằng các máy chủ Web có thể xử lý
1.000 yêu cầu mỗi giây để tải các file tạo nên trang chủ của một công ty, do đó
nhiều nhất là 1.000 yêu cầu của khách hàng có thể được xử lý đồng thời. Chúng
ta giả định là máy chủ Web này bình thường xử lý hàng ngày là 100 yêu cầu/
giây (một phần mười công suất).
Nhưng nếu kẻ tấn công điều khiển 10.000 máy agent, và có khả năng mỗi
một máy trong số đó có thực hiện một yêu cầu mỗi 10 giây đến máy chủ Web?
Đó là tần suất 1.000 yêu cầu/giây, cộng thêm vào giả định giao thông bình
thường nữa trở thành 110% công suất của máy chủ. Bây giờ một phần lớn các
yêu cầu hợp pháp sẽ không thể thông qua bởi vì máy chủ bị bão hòa.
Cũng như các cuộc tấn công vào middle ware, một cuộc tấn công ứng dụng
có thể không làm tê liệt toàn bộ máy chủ lưu trữ hoặc xuất hiện như một số
lượng lớn các gói tin gửi tới server. Vì vậy, một lần nữa, nhiều cách phòng thủ
không thể giúp bảo vệ chống lại loại hình tấn công này.
2.2.5 Tấn công vào tài nguyên
Những kẻ tấn công có thể nhắm mục tiêu một tài nguyên cụ thể như chu kỳ
CPU hoặc khả năng chuyển đổi router. Trong tháng 1 năm 2001, Microsoft phải
chịu một lỗi mất điện được báo cáo gây ra bởi một lỗi cấu hình mạng. Điều này
đã phá vỡ một số lượng lớn tài sản của Microsoft. Khi tin tức về cuộc tấn công
được công bố, người ta đã phát hiện ra rằng tất cả các máy chủ DNS của
Microsoft ở trên cùng một network segment, phục vụ bởi cùng một router. Sau
đó kẻ tấn công nhắm vào cơ sở hạ tầng định tuyến ở phía trước của các máy chủ
và đánh sập tất cả các dịch vụ trực tuyến của Microsoft.