Tăng tuyến tính

Một phần của tài liệu triển khai các hệ thống d-wardtheo mô hình mạng các node hàng xóm (Trang 34 - 44)

Khi tín hiệu phát hiện tấn công trở thành âm, luồng liên kêts sẽ bị phân loại như

là khả nghi, ở điểm nào đó cơ chế khôi phục được gây nên. Quá trình khôi phục lại

27

lại châm,một luồng bị trừng phạt cho việc bị phân loại như một luồng tấn công bởi tăng tuyến tinh trong mức cho phép dựa vào công thức:

Tốc độ khôi phục được xác định bởi tham số rateinc và thời gian của quá trình khôi phục chậm được xác định bởi khoảng tuân theo.

2.6.3 Tăng theo hàm số mũ

Khi luồng được phân loại là bình thường, quá trình khôi phục nhanh được tạo nên. Trong quá trình khôi phục nhanh, tỷ lệ tăng theo hàm số mũ dựa vào công thức:

Tốc độ khôi phục được xác định bởi tham số finc , và tỷ lệ tăng được giới hạn bởi tham số cấu hình MaxRate. Ngay khi mức giới hạn trở nên lớn hơn MaxRate, quá trình khôi phục đã kết thúc, và mức giới hạn được xóa bỏ.

Hình 13 miêu tả các giá trị giới hạn và các kết quả phân loại cho một luồng mẫu

28

2.7. Thành phần quản lý truyền thông

Thành phần quản lý truyền thông nhận thông tin giới hạn luồng định kỳ từ

thành phần giới hạn (mọi Khoảng theo dõi luồng) và thông tin phân loại kết nối từ

thành phần theo dõi (mọi Khoảng theo dõi kết nối). Nó dùng thông tin này đểđưa ra một quyết định có chuyển tiếp hay loại bỏ từng gói tin đi ra theo cách sau:

• Nếu gói tin thuộc một luồng không bị giới hạn, chuyển tiếp nó, hoặc

• Nếu gói tin thuộc một luồng tốt, chuyển tiếp nó, hoặc

• Nếu gói tin là TCP và dãy số của nó khớp với giá trị dựđoán và Mức giới hạn gói tin sớm cho luồng không bị hết, chuyển tiếp nó, hoặc

• Nếu mức giới hạn luồng không bị hết, chuyển tiếp gói tin, hoặc

• Loại bỏ gói tin

Ưu điểm của D-WARD

• D-WARD là một hệ thống phòng thủ DdoS được triển khai ở mạng source- end.

• D-WARD được cài đặt tại bộ định tuyến nguồn để phụ vụ như một gateway giữa mạng được triển khai( mạng nguồn) và phần còn lại của Internet.

• D-WARD là một hệ thống phản hồi ngược tự cấu hình, nên D-WARD có thể

tựđộng cấu hình không cần việc cấu hình bằng tay của người quản trị.

• D-WARD phát hiện và ngăn cản một cách rất hiệu quả các cuộc tấn công đi ra từ các mạng được triển khai.

• D-WARD cung cấp dịch vụ tốt tới các giao dịch hợp lệ giữa mạng được triển khai và máy nạn nhân trong khi cuộc tấn công đang diễn ra.

• D-WARD có thể hợp nhất nó với các cơ chế phòng thủ khác ( như COSSACK hay DefCOM) để cung cấp sựđáp ứng có lựa chọn.

Nhược điểm của D-WARD

• D-WARD chỉ phát hiện và ngăn chặn các cuộc tấn công bắt nguồn từ mạng

được triển khai, do vậy các mạng không được triển khai thì vẫn thực hiện thành công cuộc tấn công.

29

• Các hệ thống được triển khai trong mạng không truyền thông với nhau để tạo nên sự hiệu quả trong việc phát hiện và ngăn cản các cuộc tấn công trong mạng.

• D-WARD chỉ phát hiện và ngăn chặn được các cuộc tấn công phát sinh từ

mạng nguồn mà nó được triển khai nên yêu cầu triển khai ở mức lớn(bao phủ

phần lớn các mạng nguồn) thì mới đạt được hiệu quả mong muốn.

Tổng kết

Trong chương 2 này, khóa luận đã giới thiệu chi tiết về chức năng và kiến trúc của hệ thống phòng thủ D-WARD. Khóa luận cũng cho biết chức năng của từng thành phần và mối quan hệ lẫn nhau giữa các thành phần D-WARD để xây dựng một hệ

thống phòng thủ DDoS hiệu quả mà cho phép phát hiện và ngăn chặn các cuộc tấn công DDoS đi ra từ mạng nguồn đồng thời cung cấp dịch vụ tốt cho các giao dịch hợp lệ giữa mạng được triển khai và máy nạn nhân trong khi cuộc tấn công đang diễn ra.

30

Chương 3. Cơ sở lý thuyết của kiến trúc triển khai và mở rộng D-WARD

D-WARD được thực thi trong một bộ định tuyến Linux hoặc là trong một bộ định tuyến IXP. Nhưng trong khóa luận này, chúng ta chỉđề cập đến sự thực thi của hệ

thống D-WARD trên bộđịnh tuyến Linux bao gồm 2 phần: mức người dùng của thành phần giám sát và giới hạn, mức nhân của thành phần quản lý truyền thông. Việc phân chia chức năng giữa người dùng và mức nhân xuất hiện sau hai phiên bản trước của D- WARD được điều chỉnh đểđạt được việc thực hiện tốt hơn và dễ dàng triển khai hơn.

D-WARD 1.0

D-WARD 1.0 được thực thi hoàn toàn ở mức người dùng. Do thành phần quản lý truyền thông cần truy cập trực tiếp các gói tin bằng bộđịnh tuyến để thực hiện quyết

định chuyển tiếp hay loại bỏ, các gói tin cần bắt trong lúc chúng đi qua nhân và được sao chép tới mức người dùng. Việc này được thực hiện dung chức năng IP_queue

trong nhân Linux và sự xếp hàng gói tin userspace.

Netfilter cung cấp một cơ chế cho việc đưa các gói tin đi ra ngăn xếp cho việc xếp hàng với userspace, rồi nhận các gói tin này trở lại nhân với một quyết định chỉ rõ với các gói tin (ACCEPT hay DROP). Những gói tin này có thểđược điều chỉnh trong userspace trước được đẩy trở lại nhân. Với mỗi giao thức được hỗ trợ, một module nhân được gọi là bộ xử lý hàng đợi có thểđăng ký với netfilter để thực hiện các cơ chế

của truyền gói tin từ và tới userspace. Bộ xử lý hàng đợi chuẩn cho Ipv4 là ip_queue.

Nó cung cấp như một module thực nghiệm với nhân 2.4, và dùng một socket Netlink

cho truyền thông nhân/userspace.

Mỗi khi được xử lý (được xem xét và/hay được điều chỉnh), các gói tin trả loại khoảng nhân với quyết định: NF_ACCEPTđể chấp nhận gói tin hay NF_DROPđể âm thầm xóa bỏ gói tin. Thông tin chi tiết về chức năng IP_queue có thể thu được bằng cách xem các trang hướng dẫn libipq.

IP_queue cung cấp tất cả chức năng cần thiết cho thành phần quản lý truyền thông. Tuy nhiên, sao chép các gói tin(tiêu đề và dữ liệu) để userspace thêm một phần

đầu lớn để trở thành tới hạn như mức gói tin tăng lên. D-WARD 1.0 có thể xử lý tới hơn 1000 gói tin mỗi giây, vì vậy ngăn cấm các kiểm tra tấn công D-WARD thực tế. Quyết định đưa ra là di chuyển chức năng quản lý truyền thông vào khoảng nhân.

31

D-WARD 2.0 thực thi thành phần quản lý truyền thông trong nhân và thành phần theo dõi và giới hạn ở mức người dùng. Truyền thông giữa hai phần đạt được bằng việc dùng các lệnh gọi hệ thống.

Thành phần giới hạn được thực thi như một nhân có thể tải được. Ở mức nhân, việc bắt gói tin đạt được bằng việc dùng netfilter hooks. Netfilter là một nền tảng cho việc packet mangling, ngoài giao diện socket Berkeley bình thường. Mỗi giao thức xử

lý gói tin (như Ipv4 hay Ipv6) định nghĩa là các “hook” mà là các điểm hoàn toàn xác

định trong sự giao nhau của một gói tin của ngăn xếp giao thức đó. Để một gói tin đạt

được mỗi điểm này, giao thức sẽ gọi nền tẳng netfilter với số lượng gói tin và hook. Các module nhân có thể đăng ký để nhận các hook của các điểm này. Khi một gói tin

được truyền tới nền tảng netfilter (với việc chạm trán một trong các hook), netfilter kiểm tra thấy nếu ai đó đã đăng ký cho giao thức đó và hook. Nếu như vậy, mỗi mudule nhân được đăng ký làm cho một thay đổi tới kiểm tra (và có thể biến đổi) gói tin theo thứ tự mà chúng đã đăng ký hook. Lúc xử lý, module nhân có thể loại bỏ gói tin (trả vềNF_DROP tới nền tảng), cho phép nó truyền qua (trả lại NF_ACCEPT), cho biết netfilter quên về gói tin (trả vềNF_STOLEN), hỏi netfilter để xếp hàng gói tin cho userspace (trả về NF_QUEUE) hay lặp lại hook này (trả về NF_REPEAT). Một phần của chức năng này được dùng trong D-WARD 1.0 thông qua các quy tắc iptables để

phân các gói tin ra và gửi chúng tới userspace.

Các module mức người dùng (thành phần theo dõi và giới hạn) phân phối Danh sách kết nối hợp lệ Các quy tắc giới hạn tới nhân bằng dùng các lệnh hệ thống mới thêm vào. Module theo dõi nhận các đặc điểm gói tin bằng một mã điều chỉnh

tcpdump. Tcpdump dùng Bộ lọc gói tin Berkeley (Berkeley Packet Filter) và thư viện

pcap để bắt tiêu đề (và một phần nội dung) của các gói tin khớp với phép lọc đưa ra. Thành phần theo dõi điều chỉnh mã để thông tin không được in nhưng thay vào đó

được truyền vào hàm xử lý các đặc điểm.

D-WARD 2.0 có thể xử lý mức gói tin cao (hơn 10000 gói tin trên giây) nhưng nó có các giới hạn sau. Tiện ích libpcap sao chép tiêu đề gói tin (và nội dung) trên cơ

sở từng gói tin. Việc này chịu phí tổn điều khiển mà trở nên tới hạn nếu mức gói tin tăng lên. Mức gói tin cao hơn 1000 gói tin, libpcap không thể bắt thông tin trong tất cả

các gói tin truyền qua. Trong khi D-WARD vẫn hoạt động, đây có khả năng mà việc mất mát thông tin sẽ bao gồm thông tin gói tin hợp lệ và ảnh hưởng tới việc thực thi D- WARD. Giới hạn khác là dễ dàng triển khai. Vì D-WARD 2.0 thêm các lệnh gọi hệ

32

kết khó khăn mà có thể rất dài và phức tạp. Ngoài ra, việc thêm các lệnh gọi hệ thống mới hay điều chỉnh của một cái cũ là lỗ hổng an ninh trong nhân Linux và bị cấm trong vài phiên bản.

D-WARD 3.0

D-WARD 3.0 thực thi thành phần quản lý truyền thông bên trong nhân và thành phần theo dõi và thành phần giới hạn ở mức người dùng, giống D-WARD 2.0. Tuy nhiên, truyền thông giữa hai phần đạt được bằng dùng các lệnh ioctl. Việc này cho phép truyền thông hai chiều dễ dàng giữa người dùng và các tiến trình nhân và một quá trình thiết lập liền mạch. Thiết lập yêu cầu rằng hai thiết bịđược tạo ra:

Thiết bị dward dùng cho truyền thông hai chiều giữa thành phần theo dõi và thành phần giới hạn ở một bên, và thành phần quản lý truyền thông ở bên kia, và

Thiết bị sniff dùng cho đánh hơi (sniff) thông tin gói tin và phân phối nó tới thành phần theo dõi.

Các tiến trình nhân thu thập thông tin cần thiết và lưu nó, trong khi các thành phần theo dõi và giới hạn thực thi các lời gọi ioctl để kéo về thông tin này khi cần. Phần sau sẽ cung cấp miêu tả chi tiết về kiến trúc này. Thêm tiêu chuẩn gói tin đang

đánh hơi đặc chế cho phép thu thập các đặc điểm một cách hiệu quả và sao chép tới userspace, do vậy cung cấp hỗ trợ cho mức gói tin cao.

D-WARD 3.1

D-WARD 3.1 thêm hai phương tiện quan trọng mà tác động đến sự thực thi hệ

thống:

Dự đoán dãy số khởi tạo. Các phiên bản 1.0, 2.0 và 3.0 không bao gồm kỹ thuật dự đoán giá trị. Các phiên bản đó loại bỏ các gói tin kết nối mới trong cuộc tấn công, và sự thực thi của chúng phụ thuộc trực tiếp vào tần số của các khởi tạo kết nối và độ

dài kết nối. Để giải quyết vấn đề này, kỹ thuật dựđoán dãy số khởi tạo được phát triển và thực thi trong D-WARD 3.1, đây là phiên bản hiện tại của tiêu chuẩn D-WARD.

Các mẫu kết nối UDP hợp lệ. Các mẫu kết nối UDP hợp lệ được thực thi chỉ

trong D-WARD 3.1. Các phiên bản sớm hơn có thể gây ra thêm nguy hiểm trong truyền thông UDP hợp lệ.

33

3.1. Kiến trúc thực thi của D-WARD 3.1

Kiến trúc của việc thực thi D-WARD 3.1 được thể hiện trong hình 14 . Các hình oval với đường thẳng miêu tả các tiến trình song song trong D-WARD. Các hình oval với đường nét đứt miêu tả các thiết bị tạo ra truyền thông giữa các tiến trình người dùng và nhân. Các đường nét đứt nhanh với mũi tên minh họa các lời gọi ioctl để

thuận tiện cho trao đổi giữa tiến trình người dùng và tiến trình nhân thông qua thiết bị được tạo. Các hình vuông nhỏ ở dưới các hình oval miêu tả các tiến trình nhân chỉ ra thứ tự mà các tiến trình đó được đăng ký nghe hook netfilter chuyển tiếp. Vì vậy, các gói tin truyền qua (và được xử lý) đầu tiên bởi module gst và cuối cùng bởi module rl. Hình chữ nhật nét đứt chỉ ra nhóm các tiến trình và dữ liệu với ba thành phần D- WARD : theo dõi, giới hạn và quản lý truyền thông.

Hình 14. Kiến trúc thực thi của D-WARD 3.1

3.2. Thành phần theo dõi

Thành phần theo dõi lưu các đặc điểm luồng và kết nối trong các bảng băm, cho việc truy cập nhanh.

34

Bảng băm luồng được đánh chỉ mục bởi địa chỉ IP của máy đích bên ngoài và bao gồm các trường sau:

• lượng gói tin gửi đi và nhận cho từng giao thức (TCP, ICMP, UDP, khác và tổng).

• lượng byte gửi đi và nhận cho từng giao thức (TCP, ICMP, UDP, khác và tổng).

• lượng byte bị loại bỏ.

• tỷ lệ gói tin TCP smoothed ( lượng gửi đi chia cho lượng gói tin nhận được).

• tỷ lệ gói tin ICMP smoothed (lượng gửi đi chia cho lượng gói tin nhận được).

• khoảng thời gian của lần reset sau cùng.

• khoảng thời gian của hoạt động sau cùng (một gói tin được gửi hay nhận).

• sự phân loại luồng.

• lượng kết nối hợp lệ của giao thức UDP.

• giá trị cực tiểu của truyền thông không có hiệu lực với từng gói tin (chỉ cho TCP và ICMP) trong cửa sổ cho trước.

• lượng phân loại khả nghi liên tiếp gần đây.

Các trường này được miêu tả trong hình 15 (các trường được tô đậm không được biểu diễn trong cấu trúc, e.g,., bộđếm kết nối kích hoạt chỉ cho các đặc điểm UDP)

35

3.2.2 Bảng băm kết nối

Bảng băm kết nối được đánh chỉ số bằng khóa bao gồm các địa chỉ IP và các cổng của các host cục bộ và bên ngoài. Một bản ghi bảng kết nối bao gồm các trường sau:

• Lượng gói tin gửi đi và nhận được

• Lượng byte gửi đi và nhận được

• Giao thức kết nối (TCP,UDP,ICMP hay khác )

• Khoảng thời gian của lần reset sau cùng

• Khoảng thời gian của hoạt động sau cùng( một gói tin gửi đi hay nhận được)

• Phân loại kết nối

• Tình trạng ứng dụng ( cho kết nối UDP)

• Sự kết thúc tình trạng ứng dụng

• cờ hiệu biểu thịđây là một kết nối mới

Vì kích cỡ bảng băm nhỏ hơn nhiều lượng thực thể có thể, một vài thực thể sẽ

xung đột trong quá trình chèn. Các bảng băm dùng băm kép (double hashing) để giảm xác suất xung đột. Băm kép dùng hai hàm: h1(x) và h2(x) để tính toán chỉ mục cho một khóa x cho trước. Chỉ mục đầu tiên sẽ được truy cập để tính toán : index = h1(x). Nếu xung đột xảy ra, các chỉ mục sau được tính toán nhưindex =h1(x) + trial *h2(x), ởđây trial biểu thị lượng xung đột được bắt gặp cho đến bây giờ. Ý tưởng của giải pháp này là nếu hai mục băm ra cùng giá trị của h1, chúng sẽ có các giá trị khác nhau của h2.

Các chỉ mục băm luồng được tính toán dùng các hàm băm sau:

36

Để tránh một tìm kiếm rộng cho mục trong các bảng băm (hay cho khe trống để

chèn mục) lượng thửđược giới hạn tới ba. Nếu sau ba lần thử một mục (hay khe trống) không tìm thấy, tìm kiếm (hay chèn thêm) bị hủy bỏ. Sự tối ưu này tăng hiệu quả một cách đáng kể trong khi không gây ra mất mát thông tin lớn. Do vậy các truy cập băm xảy ra khi mỗi gói tin truyền qua, giảm tổng phí truy cập băm cải thiện thực thi lớn.

Việc tràn băm được kiểm tra ở thời gian chèn bản ghi. Nếu bảng băm gần đầy (90%), một thao tác xóa khẩn cấp sẽđược gọi để làm trống khoảng không cho bản ghi mới. Trong thao tác xóa khẩn cấp, mỗi bản ghi được xem xét để quyết định nó có thể

Một phần của tài liệu triển khai các hệ thống d-wardtheo mô hình mạng các node hàng xóm (Trang 34 - 44)

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

(57 trang)