Cơ chế “Lan tỏa ngược”

Một phần của tài liệu LUẬN VĂN:XÁC THỰC CÁC THÀNH PHẦN TRONG HỆ THỐNG PAC ĐỂ CHỐNG LỪA DỐI VÀ LỢI DỤNG doc (Trang 31 - 45)

Là phương pháp cho phép xác định được chính xác nguồn tấn công từ chối dịch vụ bằng cách lan truyền bộ lọc trên các router qua cơ chế pushback.

Khi có 1 địa chỉ IP được xác định là nguồn tấn công. Trên gateway của Victim sẽ bật 1 bộ lọc, vừa để loại bỏ các gói tin DDoS, vừa lắng nghe xem các gói tin ấy đến từ interface nào. Sau khi xác định được thì sẽ gửi 1 yêu cầu qua interface ấy, đến router hàng

xóm yêu cầu lập Filter tương tự. Router hàng xóm lập Filter, lắng nghe rồi xác định gói tin đến từ interface nào, và lại gửi yêu cầu lập Filter cho router kế tiếp. Cứ như vậy sẽ xác định được router gần nguồn tấn công nhất, cho dù là IP nguồn tấn công có bị giả mạo hay không.

(hình 14: lan truyền bộ lọc) 3.2. Cơ chế hoạt động

3.2.1. Bước 1: Khởi động

Victim xác nhận là có 1 địa chỉ IP a.b.c.d đang tấn công từ chối dịch vụ, gửi yêu cầu khởi động giao thức “lan tỏa ngược” tới gateway (Victim_GW) với tham số là địa chỉ IP của Agent và của chính mình. Để đảm bảo là thông tin khởi động dịch vụ này không bị giả mạo thì giữa Victim và Victim_GW có 1 cơ chế chứng thực ví dụ sử dụng cặp khóa được mã hóa bất đối xứng… Nếu Victim sử dụng IP internet tĩnh, và cài giao thức lên chính mình, thì nó sẽ kiêm luôn vai trò của Victim_GW.

3.2.2. Bước 2: Bắt đầu

Victim_GW thiết lập 1 bộ lọc ngăn chặn các gói tin từ a.b.c.d trong khoảng thời gian tstart.

3.2.3. Bước 3: Kiểm tra giả mạo

Victim_GW thử xác định xem địa chỉấy có thật hay là do giả mạo bằng cách ping đến a.b.c.d

+ Nếu không có phản hồi tức là Agent nhiều khả năng đã giả mạo a.b.c.d, chuyển sang thực hiện bước 6. Khoảng thời gian chờ phản hồi không thấy là tno-response.

+ Nếu có phản hồi trong khoảng thời gian là t response, a.b.c.d chính là Agent Gateway (A_GW). Tiếp theo Victim_GW sẽ cố gắng đẩy nhiệm vụ lọc ra phía A_GW. Nhưng trước hết, giao thức Lan tỏa ngược sẽ cố gắng tiến kiệm công sức bằng cách thực hiện bước 4.

3.2.4. Bước 4: Rút gọn

Ban đầu, Victim_GW sẽ xác định 2 router gn Agent nht có thiết lp cơ chế “lan ta ngược” (có thể 1 trong 2 router ấy chính là A_GW, khi đó giao thức Lan tỏa ngược ở trong trường hợp tối ưu). Khoảng thời gian tìm kiếm 2 Router là tsearch.

Cách thức tìm kiếm như sau: Victim_GW thực hiện lệnh dò đường bằng gói tin ICMP tới a.b.c.d có TTL tăng dần từ 0 (cách thức thực hiện gần giống như tracert, traceroute). Các router trên đường đi tới A_GW sẽ lần lượt gửi về gói tin ICMP time exceeded. Sau khi có đầy đủ các địa chỉ IP của các router trên đường đi tới Agent, Victim_GW sẽ lần lượt kết ni tin cy từ A_GW ngược về gần mình, rồi gửi thông điệp xác nhận xem router đó có hỗ trợ giao thức không. Hai router trả lời “có” sớm nhất sẽ lần lượt là Y và X.

Tiếp theo, routerX và routerY sẽ kiểm tra ngược lại Victim_GW xem có đúng là Victim_GW kết nối trực tiếp Victim hay không. Nếu Victim có địa chỉ IP Internet trùng với Victim_GW (xảy ra khi Victim có IP tĩnh hoặc Victim_GW cấu hình virtual server trỏ

đến IP Victim trong mạng local) thì sẽ bỏ qua bước này, vì qua giao thức kết nối tin cậy thì sẽ xác nhận chính xác Victim là người yêu cầu, chứ không phải 1 kẻ giả mạo nào khác. Với trường hợp Victim và Victim_GW có IP Internet khác nhau, thì routerX, routerY sẽ kiểm tra xem Victim_GW có đứng kề trước Victim trên đường đi hay không bằng cách: Hai router này sẽ thực hiện 2 lệnh ping tới Victim với tham số TTL lần lượt là h+1 và h, với h là số hops từ Victim_GW đến router tương ứng. Nếu router không nhận được trả lời hợp lệ là các gói tin ICMP time exceeded từ Victim và Victim_GW thì sẽ gửi thông báo từ chối và ngắt kết nối tới Victim_GW. Giao thức kết thúc. Nếu tất cả đều hợp lệ thì routerX, routerY và Victim_GW đã tin tưởng nhau hoàn toàn, kết nối tin cậy ở trên vẫn còn giữđể thực hiện tiếp bước 5: ngăn chn.

Khoảng thời gian để các router kiểm tra Victim_GW là tauthen

3.2.5. Bước 5: Ngăn chặn

Victim_GW yêu cầu routerY đặt bộ lọc FilterY trong khoảng thời gian tY và gửi lưu lượng DDoS R1 từ a.b.c.d mình nhận được.

Victim_GW thiết lập kết nối tin cậy với RouterX. Yêu cầu đặt file shadowX để giám sát luồng DDoS từ a.b.c.d trong khoảng thời gian ∆t, sau đó ngắt kết nối với RouterX.

RouterY sau khi đặt FilterY với thời gian tY , vừa ngăn chặn lưu lượng DDoS, đồng thời sẽ theo dõi lưu lượng gói tin R2 request từ a.b.c.d đến victim qua mình:

+ Nếu R1 >> R2 tức là Agent đã mạo danh địa chỉ a.b.c.d. RouterY hủy FilterY, sau đó gửi R2 cho Victim_GW. Victim_GW nhận được, so sánh với R1 rồi ngắt kết nối với RouterY, sau đó thực hiện bước 6.

+ Nếu R1 ≈ R2 có nghĩa a.b.c.d đúng là địa chỉ của Agent đang tấn công, RouterY thông báo lại với Victim_GW, Victim_GW xác nhận lại rồi ngắt kết nối.

RouterY thc hin bước 6 nhưng đóng vai trò ca Victim_GW (lan ta ngược bán phn)

(hình 15)

RouterX theo dõi trong thời gian ∆t mà vẫn thấy có lưu lượng DDoS từ interface của nó kết nối với RouterY thì có nghĩa là routerY đã không thực hiện được nhiệm vụ ngăn chặn DDoS. RouterX sẽ lập FilterFinal lọc các gói tin đó với thời gian tlong. Giải thuật kết thúc.

3.2.6. Bước 6: Lan tỏa ngược

Victim_GW tiến hành “lan tỏa ngược”. Victim_GW đặt bộ lọc với thời gian tstart, sau đó gửi yêu cầu thiết lập bộ lọc qua các router liền kề với interface mà nó nhận được gói tin DDoS. Router hàng xóm nhận được yêu cầu lập filter tương tự, rồi lại gửi yêu cầu qua các interface có luồng tấn công. Trên mỗi Router lan tỏa đặt Filter có thời gian là ttmp. Một router nếu đã đặt Filter rồi, mà lại nhận được yêu cầu đặt 1 Filter giống y như vậy nữa thì sẽ reset lại thời gian của Filter đó.

+ Trong thời gian ttmp này, router sau khi đã gửi yêu cầu lập Filter tới các router tương ứng với từng interface, mà vẫn thấy còn lưu lượng DDoS từ phía các router này, thì gửi lại yêu cầu lập Filter cho router hàng xóm kết nối với interface đó. Sau 3 lần gửi mà lưu lượng DDoS vẫn không giảm thì có nghĩa là router hàng xóm không hoàn thành được nhiệm vụ, và chính router sẽ tựđộng lập Filter với thời gian tlong. Kết thúc giải thuật.

+ Các router khác đợi hết thời gian thì dừng bộ lọc, và tạo file shadow tương ứng để giám sát router kề sau nó trong thời gian tsupervise. Trong khoảng thời gian này mà vẫn nhận thấy có lưu lượng DDoS thì sẽ bật lại Filter nhưng với thời gian tlong. Giải thuật kết thúc.

+ Khi đến router gần Agent nhất (A_GW), xảy ra khi router nhận thấy IP của router hàng xóm trùng với IP Agent, thì router lập Filter có thời gian tlong >> ttmp. Giải thuật kết thúc.

3.3. Chống lừa dối

3.3.1. Nguy cơ

Attacker có thể chiếm quyền 1 router trên đường đi, không đặt Filter như yêu cầu của router hàng xóm khi lan tỏa ngược.

Attacker có thể điều khiển A_GW, khi hàng xóm yêu cầu thì giả vờ đã đặt Filter tlong, nhưng chỉ đặt thời gian ttmp < tcheat << tlong hoặc tạm ngưng tấn công, sau khi hàng xóm hủy Filter thì lại tấn công tiếp.

Khi Victim_GW bắt tay với A_GW, A_GW giả vờđã lập Filter, đợi khi Victim_GW ngắt kết nối (hoặc đợi hết tstart) thì lại tấn công tiếp.

3.3.2. Giải pháp

Dùng shadow router để giám sát và cách thức gửi yêu cầu sau 3 lần sẽ chống được 1 router lõi và A_GW lừa dối không lập Filter, hoặc lập Filter trong thời gian ngắn.

Khi Victim_GW bắt tay với A_GW, Victim_GW còn bắt tay với router kề trước A_GW nữa (RouterX), router đó sẽ có nhiệm vụ giám sát xem A_GW có tạo Filter đúng theo yêu cầu hay không.

3.4. Chống lợi dụng giao thức

3.4.1. Nguy cơ

Một router G nào đó giả vờ là người bị DDoS, để ngăn cho mạng của nạn nhân H không thể truy xuất đến 1 mạng K được. Router G sẽ giả vờ H chính là kẻ tấn công mạng K, yêu cầu chạy giao thức lan tỏa ngược để các router khác chặn không cho H liên lạc được với K. Có 2 cách để G làm được điều này:

+ G giả vờ mình là gateway của K, đang bị mạng H tấn công (G đóng giả Victim_GW), G kết nối đến gateway của mạng H, yêu cầu lập bộ lọc ngăn chặn H truy cập đến K.

+ G đóng vai trò là router trên đường đi, chạy giao thức lan tỏa ngược, yêu cầu hàng xóm lập filter ngăn truy xuất từ H đến K.

3.4.2. Giải pháp

Trong trường hợp 1, khi G kết nối đến gateway của mạng H thì theo giao thức đây phải là 1 kết nối tin cậy => G không thể fake ip được. Sau đó gateway của H còn kiểm tra xem G có đứng kề trước K hay không bằng cách thực hiện 2 lần ping nhưở trên đã nói. Nếu xác nhận đúng thì gateway của H mới lập Filter

Trường hợp G đóng vai trò là router trên đường đi, yêu cầu hàng xóm lập filter để ngăn chặn truy xuất từ H đến K là rất khó xảy ra. Thứ nhất là router trong phần lõi của Internet được các ISP quản lý rất kĩ, gần như không thể xâm nhập được. Thứ hai là router trong phần lõi là các thiết bị đơn giản hơn máy tính rất nhiều, rất ít ứng dụng và lỗ hổng để hacker có thể khai thác. Thứ ba là kiến trúc của mạng Internet là packet switching, do đó con đường đi từ mạng H đến mạng K không cố định, có thể thay đổi động theo thời gian. Việc nắm bắt được đường đi này để tấn công vào đúng router ở giữa để lừa đảo

cũng là 1 khó khăn không nhỏ. Tổng kết lại, chi phí để thực hiện phương pháp lợi dụng giao thức này lớn hơn rất nhiều lần so với mục đích cuối cùng là ngăn chặn H truy xuất tới K.

3.5. Nhận xét

3.5.1. Ưu điểm

– Thuật toán giúp giao thông trên Internet nhẹ hơn nhiều so với AITF, “Lan tỏa ngược” chỉ được kích hoạt khi Victim bị tấn công. Còn AITF luôn luôn phải ghi thêm Route Record vào gói tin IP khiến cho tải của toàn bộ Internet tăng lên đáng kể.

– Do Victim_GW đẩy nhiệm vụ lọc gói tin cho Router gần Agent. Vì vậy sẽ sớm ngăn chặn được các gói tin DDoS và đỡ tốn băng thông mạng và giảm tình trạng nút cổ chai ở gần Victim.

– Chống được Fake IP, lừa dối và lợi dụng giao thức.

– Chặn được DDoS ngay cả khi từ Attacker đến Victim có nhiều đường đi và có sự thay đổi động trên các router ở phần lõi Internet.

– Xây dựng trên tầng network, kể cả 1 router trên mạng không cài đặt giải thuật này thì mạng vẫn có thể hoạt động bình thường.

– “Lan tỏa ngược” hoạt động tốt ngay cả khi DDoS được thiết kế có độ phân tán cao.

3.5.2. Nhược điểm

– Do phải huy động router ở lõi lập Filter phần lõi của Internet phải chịu thêm tải. Trong trường hợp 1 router ở lõi không được cài thuật toán, hoặc bị Attacker chiếm quyền điều khiển thì khi có DDoS đi qua, router lõi liền kề nó sẽ phải lập Filter với thời gian tlong.

Nếu attacker có cơ chế fake nhiều IP luân phiên, thì ứng với mỗi 1 IP, A_GW sẽ phải tạo 1 bộ lọc khác nhau.

Chương 4: Phát triển chức năng rút gọn và xác thực cho giao thức lan tỏa ngược

4.1. Rút gọn

4.1.1. Ý tưởng

Khi Victim chạy giao thức lan tỏa ngược, các thông số cần thiết được truyền lần lượt: VÆVgwÆGW1Æ GW1Æ GW1Æ………GWnÆAgwÆA

Nếu có rất nhiều router giữa Vgw và Agw, quá trình thực thi giao thức đểđặt bộ lọc sẽ mất nhiều thời gian. Trong trường hợp lý tưởng, nếu V xác định được địa chỉ chính xác của Agw, lan truyền bộ lọc trực tiếp đến Agw để chặn kẻ tấn công A, giao thức sẽđược tối ưu. Nguyên lý của quá trình rút gọn dựa vào ý tưởng trên.

4.1.2. Cách thức xác định địa chỉ IP của Agw

Có nhiều cách để xác định địa chỉ IP của router Agw kề sát kẻ tấn công A, cách đơn giản nhất là dùng lệnh traceroute để xác định tuyến đường đi từ V tới A

Giả sử có sơ đồ sau, với các địa chỉ IP tương ứng

Khi thực hiện lệnh traceroute từ V đến Agw: Traceroute 10.10.4.2

Ta nhận được thông tin chứa về tuyết đường từ V đến A như sau:

Lệnh traceroute mặc định sẽ response lại tuyến đường đi từ V đến A chậm, có thể đưa thêm tham số -w time(wait) để cải thiện tốc độ của traceroute

Traceroute –w 0.1 10.10.4.2

Ta đưa thông số lấy được ở trên vào một file, dùng lệnh grept và cut sẵn có của linux có thể lấy được địa chỉ IP của Agw. Cụ thể các lệnh như sau:

traceroute -w 0.1 $2 > file.log

temp=`tail -n 2 file.log | head -n 1 | cut -f 5 --delimiter=' ' | cut -f 2 --delimiter='(' | cut -f 1 --delimiter=')'`

IP_NEXT=`echo $temp`

#cut -f 2 --delimiter='(' | cut -f 1 --delimiter=')'

Sau khi phân tích như trên sẽ có được địa chỉ IP của gateway liền sát kẻ tấn công: Agw

4.1.3. Thực thi quá trình rút gọn

Phần rút gọn vẫn cần phải xác định địa chỉ IP đích của máy tính kẻ tấn công, việc làm này đã được thực hiện tốt trong phần code của tác giả. Trong trường hợp tối ưu thì mới xác định được địa chỉ router kẻ tấn công, khi đó phần code rutgon sẽ được gọi, bài toán được tối ưu. Ngược lại khi không xác định được IP của router liền kề kẻ tấn công, phần shellcode gốc của tác giả sẽđược sử dụng để lan tỏa lần lượt qua các router.

Code:

if (dia chi IP cua may dich la hop le) rutgon

else lan_toa_nguoc_binh_thuong

4.1.4. Nhận xét

Trong trường hợp lý tưởng, Victim xác định được chính xác router gần kẻ tấn công nhất và lan tỏa trực tiếp đến router đó đểđặt bộ lọc thì hiệu quả của giao thức

Lan_Tỏa_Ngược sẽ rất lớn. Giao thức thời gian thực thi giao thức nhanh và không tiêu tốn tài nguyên mạng, không mất thời gian để các router trung gian lan tỏa dần đến router gần kẻ tấn công nhất.

4.2: xác thc

Xem xét mô hình sau

(hình 17: mô hình xác thực)

V  Vgw  GW1 GW2 

ATK2 

ATK1 

Vấn đềđặt ra là nếu có kẻ lợi dụng ATK3 ra lệnh cho GW1 đặt filter thì GW1 sẽ phản ứng lại thế nào? Có thể GW1 sẽ đặt filter trong khi GW1 không phải là router liền kề kẻ tấn công. Vì vậy cần phải có một cơ chế xác thực vấn đề truyền thông giữa các thực thể mạng.

4.2.1. Ý tưởng

Có thể tạo một cơ sở dữ liệu chứa thông tin vềđịa chỉ IP của những thực thể mạng có thể truyền thông cho nhau.

Ví dụ: để Vgw có thể truyền thông tin cho GW1 hay ra lệnh cho GW1 đặt bộ lọc thì trong cơ sở dữ liệu phải có chứa địa chỉ IP của GW1 và Vgw như: 10.10.2.1

10.10.2.2

Với 10.10.2.1 là IP của Vgw, 10.10.2.2 là IP của GW1

Có nhiều cách để tạo cơ sở dữ liệu như vậy, có thể dùng các hệ quản trị cơ sở dữ liệu mạnh và thông dụng hiện nay như Oracle, mySql, Sqlserver…

Để mô tả đơn giản hoạt động của quá trình xác thực giữa các thực thể mạng, tôi dùng cách đơn giản nhất là tạo một file IpCertificate có chứa các địa chỉ IP tương của các thực thể có quyền trao đổi thông tin với nhau. Bằng cách phân tích dữ liệu trong file IpCertificate, có thể xác thực được tiến trình trao đổi giữa các thực thể là hợp lệ hay không.

4.2.2. Thực thi quá trình xác thực.

Mô phỏng đơn giản như hình 3, có file IpCertificate chứa các địa chỉ sau 10.10.1.1

10.10.1.2 10.10.2.1 10.10.2.2

10.10.3.1 10.10.4.1

Mỗi khi máy A cần truyền thông với máy B , A sẽ tiến hành phân tích từng

Một phần của tài liệu LUẬN VĂN:XÁC THỰC CÁC THÀNH PHẦN TRONG HỆ THỐNG PAC ĐỂ CHỐNG LỪA DỐI VÀ LỢI DỤNG doc (Trang 31 - 45)

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

(45 trang)