Mục lục
Lời cảm ơn i
Tóm tắt ii
Mục lục iii
Các chữ viết tắt v
Hình ảnh vi
Đồ thị vi
Mở đầu 1
Chương 1. TỔNG QUAN VỀ MẠNG XẾP CHỒNG 4
1.1. Giới thiệu mạng xếp chồng 4
1.2. Mạng xếp chồng ngang hàng 5
1.2.1. Tổng quan mạng xếp chồng ngang hàng không có cấu trúc 6
1.2.2. Tổng quan mạng xếp chồng ngang hàng có cấu trúc 6
1.3. Mạng xếp chồng ngang hàng có cấu trúc Pastry 10
1.3.1. Không gian định danh 10
1.3.2. Thông tin dùng trong định tuyến 11
1.3.3. Trạng thái node 12
1.3.4. Phương pháp định tuyến 13
1.3.5. Khả năng tự tổ chức 14
1.3.6. Thực hiện định tuyến 16
Chương 2. TẤN CÔNG TRONG MẠNG NGANG HÀNG 18
2.1. Tấn công mạo nhận 19
2.2. Tấn công che khuất 20
2.3. So sánh tấn công mạo nhận và tấn công che khuất 22
Chương 3. CÁC CƠ CHẾ PHÒNG CHỐNG TẤN CÔNG CHE KHUẤT 23
3.1. Một số phương pháp phòng chống tấn công che khuất 23
3.2. Cơ chế giới hạn bậc 25
3.3. Cơ chế kiểm tra ẩn danh 28
Chương 4. MÔ PHỎNG VÀ ĐÁNH GIÁ CƠ CHẾ KIỂM TRA ẨN DANH DỰA TRÊN PASTRY 33
4.1. Hình trạng mạng và các file thư viện liên kết động 33
4.1.1. Hình trạng mạng mô phỏng 33
4.1.2. Các file thư viện liên kết động trong chương trình 34
4.2. Xây dựng chương trình mô phỏng kiểm tra ẩn danh 35
4.2.1. Mô tả chương trình 35
4.2.2. Các file chương trình 37
4.3. Thí nghiệm và nhận xét 40
4.3.1. Thí nghiệm 1 41
4.3.2. Thí nghiệm 2 42
4.3.3. Nhận xét 44
Chương 5. KẾT LUẬN 46
Tài liệu tham khảo 47
55 trang |
Chia sẻ: netpro | Lượt xem: 1683 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Khóa luận Chống tấn công che khuất trong các mạng ngang hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tự tổ chức
Trong thực tế, Pastry cần giải quyết các vấn đề node mới tham gia vào hệ thống, node rời khỏi hệ thống và node lỗi có thể xảy ra bất chợt trong khi vẫn phải duy trì tốt hoạt động định tuyến.
Node mới tham gia hệ thống
Trướng khi tham gia vào hệ thống Pastry, một node cần lựa chọn nodeId. Pastry cho phép một node tự lựa chọn nodeId của chính nó. Tuy nhiên việc tham gia có thể có nhiều yêu cầu hạn chế. Thông thường, một nodeId được tạo ta bằng cách băm giá trị khóa công khai của node hoặc địa chỉ IP của node.
Để tham gia, node mới n cần biết một node Pastry k dựa vào độ đo lân cận mạng. Sau đó, node n cần khởi tạo các trạng thái cho mình bao gồm bảng định tuyến, tập lá, tập lân cận. Do k gần với n, nên các node trong tập lân cận của k là sự lựa chọn phù hợp cho n, do đó n sao chép tập lân cận của k để tạo ra tập lân cận cho riêng mình.
Để tạo bảng định tuyến và tập lá, node n cần tìm kiếm thông tin về các node Pastry gần với n trong không gian định danh. Để làm được điều đó, n tiến hành gửi một thông điệp “join” đặc biệt thông qua node k với khóa là định danh của n. Theo quy tắc định tuyến chuẩn, thì truy vấn được chuyển tới đích là node c có nodeId được đánh số gần nhất với nodeId của n. Do đó, tập lá của node c phù hợp với n, nên n sao chép tập lá của c để tạo tập lá cho mình.
Yêu cầu gia nhập tác động tới tất cả các node, với việc được chuyển tiếp yêu cầu hướng tới c, các thông tin định tuyến trong các lần chuyển tiếp đó được cung cấp cho n. Bảng định tuyến của node n được khởi tạo từ thông tin định tuyến của các node bắt đầu từ hàng thứ 0. Hàng này không liên quan đến nodeId của n, nên n có thể sử dụng các mục ở hàng thứ 0 của bảng định tuyến node K làm hàng số 0 trong bảng định tuyến của mình. Nếu n và k không có số ở đầu định danh của cả hai node giống nhau thì node n không thể sử dụng thêm các hàng khác của k.
Thông điệp yêu cầu tham gia từ n tới c thông qua các node v1, v2...vn, với số lượng tăng dần các chữ số đầu định danh giống nhau giữa n và vi. Do vậy, hàng thứ nhất của bảng định tuyến của v1 là một lựa chọn tốt cho hàng thứ nhất trong bảng định tuyến của node n. Tương tự cho hàng thứ hai trong bảng định tuyến của n với node v2. Dựa vào các thông tin định tuyến đó, bảng định tuyến của node n được hình thành.
Cuối cùng, node mới n gửi trạng thái của nó tới tất cả các node trong dữ liệu định tuyến của mình. Các node đó có thể cập nhật lại bảng định tuyến của mình cho phù hợp.
Do mỗi node chỉ chứa thông tin về một lượng nhỏ các node trong Pastry, nên việc đến và rời đi của một node chỉ ảnh hưởng đến một lượng nhỏ các node trong hệ thống Pastry.
Node lỗi
Node lỗi được phát hiện khi có một node thử liên lạc với node lỗi. Chỉ khi định tuyến đòi hỏi phải tiếp xúc với các node trong bảng định tuyến và tập lá, đó chính là nguyên nhân gây ra chậm trễ trong phát hiện node lỗi. Với các node trong tập lân cận, do chúng không tham gia vào quá trình định tuyến nên cần kiểm tra chúng thường xuyên theo chu kỳ.
Các node lỗi cần đưa ra khỏi bảng định tuyến để đảm bảo cho quá trình định tuyến diễn ra một cách chính xác. Để thay thế node lỗi ở mục i hàng j của bảng định tuyến ( ta kí hiệu là), node liên hệ với một node khác để tham khảo hàng i. Các mục trong hàng j tương ứng của node từ xa được xem xét cho vị trí trong bảng định tuyến cần thay thế. Do đó nó có thể sao chép mục của node từ xa cho bảng định tuyến của nó sau khi đã kiểm tra sự tồn tại của node được dùng để thay thế. Trường hợp node trong mục định sao chép cũng lỗi thì có thể thăm dò node khác trong hàng j để thay thế mục . Nếu không có node nào còn sống có các số đầu trong nodeId phù hợp có thể dùng được bằng phương pháp này, thì tiến hành mở rộng xem xét các node thông qua truy vấn các node trong hàng Rj-1. Phương pháp thay thế này có xác suất thành công cao.
Node rời hệ thống
Pastry có thể duy trì trạng thái thông tin định tuyến khi xuất hiện node lỗi, việc xử lý node rời hệ thống cũng được thực hiện tương tự như vậy, nhưng có thêm quá trình xử lý dữ liệu liên quan đến node rời đi.
1.3.6. Thực hiện định tuyến
Pastry tối ưu hóa việc định tuyến và xác định vị trí node chịu trách nhiệm về khóa, nó cố gắng đồng thời việc giảm số bước chuyển tiếp để tới được node đích và khai thác vị trí mạng để làm giảm chi phí cho mỗi bước nhảy.
Độ dài định tuyến
Lược đồ định tuyến trong Pastry về cơ bản chia không gian định danh thành hai miền với kích thước 2n với n là cấp số nhân của 2b. Chỉ dẫn định tuyến từ miền bậc cao tới miền bậc thấp, do đó làm giảm lượng không gian định danh phải tìm kiếm trong mỗi bước. Số bước định tuyến trung bình sẽ là một hàm logarithm của kích thước hệ thống.
Nếu tất cả thông tin định tuyến của tất cả các node là chính xác và không có node lỗi nào, sẽ có ba trường hợp trong sơ đồ định tuyến:
Trường hợp thứ nhất, các node chuyển tiếp truy vấn thông qua bảng định tuyến, truy vấn được chuyển tiếp tới node có số chữ số đầu trong nodeID trùng với khóa truy vấn nhiều hơn so với node hiện thời. Số node có nodeId như vậy sẽ được giảm theo với hệ số thấp nhất là 2b trong từng bước. Do đó thông điệp tới đích chỉ trong vòng log2n(N) bước.
Trường hợp thức hai, thông điệp truy vấn được chuyển tiếp qua tập lá. Nó làm tăng số bước lên một.
Trường hợp thứ ba, khóa không nằm trong miền tập lá và cũng không có mục nào trong bảng định tuyến phù hợp hơn node hiện thời. Do đó, truy vấn được chuyển tiếp cho node có chung số chữ số đầu trong nodeId bằng với số chữ số đầu của nodeId hiện thời chung với khóa, nhưng node được chọn để chuyển tiếp thông điệp đó có nodeId gần với khóa hơn node hiện thời. Việc này sẽ làm tăng số bước định tuyến. Với tập lá có kích thước vừa phải |L| = 2*2b, xác suất trường hợp này xảy ra nhỏ hơn 0.6%.
Mức độ phức tạp trung bình của phần định tuyến còn lại là O(log2b(N)), cao hơn giá trị của b nhưng phải trả giá cho việc định tuyến nhanh hơn này đó là tăng các trạng thái cần quản lý trong mỗi node. Do đó, với b thông thường bằng 4 nhưng hoạt động của Pastry có thể lựa chọn sự đánh đổi thích hợp đối với từng ứng dụng.
Vị trí mạng
Bằng cách khai thác vị trí mạng, tối ưu định tuyến trong Pastry không chỉ hướng tới việc làm giảm số bước mà còn giảm chi phí cho mỗi bước. Nhờ sử dụng bảng định tuyến của node để gửi thông điệp, nó có thể chọn node có các số đầu trong định danh phù hợp trong các mục của bảng định tuyến. Bằng việc lựa chọn các node gần theo tiêu chí vị trí của mạng, độ dài của mỗi tuyến đường sẽ được giảm đến mức tối thiểu.
Chương 2. TẤN CÔNG TRONG MẠNG NGANG HÀNG
Mạng máy tính mang lại nhiều lợi ích thiết thực cho con người, tuy nhiên nó cũng luôn ẩn chứa những nguy hiểm cho máy tính và người sử dụng nó. Những nguy hiểm đó đến từ những kẻ có mục đích xấu, chúng luôn muốn lợi dụng mạng máy tính để thực hiện những hành vi phá hoại. Thật khó có thể tưởng tưởng nổi hậu quả của việc mất cắp thông tin trong thời buổi phát triển mạnh mẽ của ngành công nghệ thông tin ngày nay. Kẻ xấu có thể tấn công vào máy tính của bạn, phá hoạt hệ thống mạng hoặc máy tính bạn sử dụng. Tài liệu cá nhân của bạn có thể bị đánh cắp, và chỉ một giây sau nó có thể được công bố cho toàn bộ thế giới biết đến. Một công ty có thể bị phá sản nếu tài liệu mật về sản phẩm mới hay kế hoạch kinh doanh bị đối thủ cạnh tranh nắm được. An ninh quốc gia cũng bị ảnh hưởng lớn nếu thông tin bí mật quân sự bị kẻ xấu có được và đưa lên mạng cho toàn thế giới biết đến…
Mạng máy tính càng phát triển thì nguy cơ bị tấn công cũng tăng cao. Không có gì là hoàn hảo cả, do đó luôn có những lỗ hổng trong mạng để kẻ xấu lợi dụng vào những hành động phá hoại. Trong mô hình giao tiếp thông thường giữa máy khách và máy chủ, thì bên bị tấn công cao thường là máy chủ. Khi máy chủ bị tấn công, hệ thống bị tê liệt, kẻ tấn công có thể thực hiện những hành vi đen tối của mình. Đố với mạng xếp chồng ngang hàng, các máy tính tham gia có vai trò như nhau, vừa đóng vai trò máy khách vừa có vai trò là máy chủ. Một đặc điểm quan trọng trong mạng xếp chồng ngang hàng đó là, một node sử dụng các node khác trong mạng như một bộ định tuyến. Do đó dữ liệu và thông tin truyền đi giữa hai node có sự tham gia của nhiều node khác. Sẽ rất nguy hiểm nếu một trong các node tham gia định tuyến chuyển tiếp dữ liệu lại là một node gây hại. Sự bình đẳng trong mạng ngang hàng giúp kẻ tấn công dễ dàng tham gia vào mạng và phá hoại sự ổn định của mạng. Do đó việc nghiên cứu và tìm giải pháp chống lại những kẻ xấu muốn tấn công mạng là một yêu cầu quan trọng và đang thu hút nhiều sự quan tâm của mọi người. Mục tiêu của khóa luận này đó là tìm hiểu các phương pháp chống tấn công trong mạng xếp chồng.
Có hai dạng tấn công chính thường được kẻ xấu sử dụng để tấn công mạng ngang hàng đó là tấn công mạo nhận (Sybil attack) và tấn công che khuất (Eclipse attack). Nội dung mà khóa luận này đề cập đến đó là phương pháp chống tấn công che khuất, tuy nhiên cũng cần phải nói qua về tấn công mạo nhận, bởi tấn công mạo nhận cũng có một vài đặc điểm giống với tấn công che khuất.
2.1. Tấn công mạo nhận
Trước hết tôi xin đưa ra định nghĩa về tấn công mạo nhận [2] như sau:
Tấn công mạo nhận là dạng tấn công mà kẻ tấn công phá hoại hệ thống mạng ngang hàng bằng cách tạo ra một lượng lớn các node ảo và sử dụng chúng để tạo ra ảnh hưởng lớn trong mạng ngang hàng.
Hệ thống mạng ngang hàng có thể gặp nguy hiểm bởi quá trình khởi tạo định danh cho mỗi node mới muốn gia nhập vào mạng. Mức độ nguy hiểm của mạng phụ thuộc và mức độ cho phép các đối tượng mới không có một liên kết đáng tin cậy nào tham gia vào mạng.
Tấn công mạo nhận lợi dụng đặc tính của mạng ngay hàng, đó là mỗi node cần duy trì liên kết tới các node hàng xóm của nó, đặc tính này giúp cho mạng xếp chồng hình thành và duy trì. Kiểu tấn công này sẽ rất nguy hiểm đối với hệ thống mạng ngang hàng có cấu trúc sử dụng cơ chế bảng băm phân tán như mạng CAN, Chord, Pastry và Tapestry. Bởi, trong cơ chế DHT mỗi node cần duy trì một tập các node hàng xóm mà nó liên kết tới, và tập này được hình thành với những quy tắc riêng đối với mỗi loại mạng dùng DHT. Kẻ tấn công có thể biết dễ dàng định danh của một node trong mạng, từ đó nó có thể sinh ra các định danh ảo trong mạng để đưa các định danh ảo đó vào tập hàng xóm của các node. Khi đạt được mục tiêu, tức trong mạng có rất nhiều định danh ảo do kẻ tấn công sinh ra thì nó có thể kiểm soát lưu lượng, dữ liệu và các thông tin truyền trong mạng. Bởi mỗi node trong mạng muốn truyền thông điệp hay dữ liệu thì các node mà nó liên hệ để gửi dữ liệu đi đó là các node trong tập hàng xóm của nó, như vậy các node sẽ gửi dữ liệu tới node tấn công mạng. Kẻ tấn công có quyền quyết định chuyển tiếp hay không dữ liệu đó.
Sẽ rất nguy hiểm khi kẻ tấn công có thể nắm được một lượng lớn các định danh trong mạng xếp chồng có cấu trúc. Nếu tỉ lệ node ảo mà nó sinh là vô hạn thì nó có thể chiếm tới gần như là 100% các node trong mạng, như vậy nó có thể che khuất các node chuẩn khác trong mạng. Như vậy, chỉ cần một node gây hại có thể khống chế toàn bộ mạng xếp chồng ngang hàng.
2.2. Tấn công che khuất
Tấn công che khuất là một dạng chung của tấn công trong mạng xếp chồng. Trong tấn công che khuất, một kẻ tấn công điều khiển một lượng lớn các đối tượng là thành viên trong tập hàng xóm của node chuẩn. Trong trường hợp này, một nhóm các node gây hại liên kết với nhau để lừa các node chuẩn bằng cách đưa các node gây hại vào tập hàng xóm của các node chuẩn. Bằng việc thực hiện tấn công che khuất, kẻ tấn công có thể điều khiển một phần đáng kể của mạng xếp chồng. Hơn nữa, một lượng lớn các node gây hại có thể che khuất nhiều node chuẩn để điều khiển toàn bộ mạng xếp chồng. Các node xếp chồng không thể chuyển tiếp một cách chính xác các thông điệp và mạng sẽ không được quản lý.
Hình 3: Các node gây hại chia mạng xếp chồng ra làm hai mạng con.
Tấn công che khuất lợi dụng tập hàng xóm của các node để tiến hành tấn công mạng xếp chồng. Để có thể tấn công, kẻ tấn công nhắm tới tập hàng xóm của các node chuẩn. Chúng tìm cách đưa các node gây hại vào tập trong các tập hàng xóm của các node chuẩn, khi thành công các node chuẩn muốn gửi dữ liệu cũng như các thông điệp đều đi qua các node gây hại trước. Như vậy, các node gây hại có thể quyết định gửi hay không gửi các dữ liệu và thông điệp đó tới node đích.
Các node gây hại có thể đưa các node gây hại khác vào trong tập hàng xóm của các node chuẩn nhờ dựa vào quá trình xin tham gia vào mạng của các node mới. Nếu node mới tham gia liên hệ đầu tiên với một node gây hại, thì tập hàng xóm mà nó có chính là tập các node do node gây hại đó đưa cho và hiển nhiên tập này chứa các node gây hại có thông đồng với node gây hại mà node mới liên hệ đầu tiên. Ngoài ra, node gây hại còn có thể xâm nhập vào tập hàng xóm của các node trong quá trình duy trì liên kết mạng được thực hiện theo chu kì. Quá trình này sẽ tìm và loại bỏ các node lỗi ra khỏi các tập hàng xóm và thay thế vào đó là các node khác đang hoạt động. Các node gây hại lợi dụng quá trình này để làm tăng số lượng các node gây hại trong các tập hàng xóm của các node chuẩn.
Tấn công che khuất cần một lượng nhất định các node gây hại thông đồng với nhau mới có thể thực hiện thành công. Chúng liên kết với nhau, “che khuất” mạng, làm cho các node chuẩn chỉ biết đến chúng và mọi liên hệ tới các node chuẩn khác đều bị chi phối và khống chế. Tấn công che khuất giống như dạng nâng cao của tấn công người ở giữa (Man in the middle attack).
Nếu chỉ có một node gây hại thực hiện tấn công che khuất (điều này rất khó thực hiện được), thì nó có thể thực hiện các hành động như:
Node gây hại tấn công mặt phẳng điều khiển (control plane) bằng các vô hiệu hóa việc định tuyến lại các thông điệp.
Node gây hại có thể loại bỏ các thông điệp mà nó nhận được, nhằm mục đích chia cắt mạng.
Node gây hại có thể tấn công mặt phẳng dữ liệu (data plane) bằng cách tiêm nhiễm file độc hoặc yêu cầu lại các file độc nhân danh một node vô hại, các file đó sẽ được lưu vào bộ đệm hoặc sao chép nhiều lần.
Như vậy, chỉ với một kẻ thực hiện tấn công che khuất cũng có thể gây ảnh hưởng tới hệ thống, tuy nhiên để cuộc tấn công đạt hiểu quả cao thì cần có nhiều node cùng tham gia tấn công. Với chỉ một lượng nhỏ các node cũng có thể thực hiện tấn công che khuất.
2.3. So sánh tấn công mạo nhận và tấn công che khuất
Tấn công mạo nhận ở một mức độ nào đó cũng giống với tấn công che khuất. Cả hai dạng tấn công đều hướng tới mục đích kiểm soát tập hàng xóm của các node chuẩn. Bởi chỉ có như vậy, chúng mới có thể chi phối được quá trình giao tiếp của node chuẩn với các node khác trong mạng, khống chế được lưu lượng trong mạng và điều khiển mạng theo mưu đồ của mình.
Tuy nhiên, tấn công mạo nhận cần sinh ra các node ảo, càng nhiều node ảo thì khả năng thành công của tấn công mạo nhận càng cao. Nhưng việc tạo các node ảo sẽ khó thành công khi hệ thống mạng kiểm soát chặt chẽ việc cấp định danh cho các node mới muốn tham gia vào mạng. Trong tấn công che khuất lại khác, nó dùng các node thực, chính là các node gây hại. Thay vì đưa các node ảo vào trong tập hàng xóm của node chuẩn, các node gây hại trong tấn công che khuất đưa các node gây hại khác vào.
Tấn công che khuất có thể thành công với lượng nhỏ các node gây hại trong mạng cùng thông đồng với nhau. Trong tấn công mạo nhận, một node gây hại hoạt động đơn lẻ để sinh ra rất nhiều node ảo để tấn công mạng.
Chương 3. CÁC CƠ CHẾ PHÒNG CHỐNG TẤN CÔNG CHE KHUẤT
3.1. Một số phương pháp phòng chống tấn công che khuất
Ta có thể nhận thấy rằng phương pháp tấn công che khuất mạng xếp chồng đều tập trung vào kiểm soát tập hàng xóm của các node. Do đó, để có thể phòng chống tấn công hiệu quả cần tập chung quản lý tập hàng xóm, cần sinh ra một cơ chế để đảm bảo cho tập hàng xóm luôn an toàn trước các node gây hại để chống lại các cuộc tấn công. Đã có các biện pháp bảo vệ phi tập trung chống lại các cuộc tấn công che khuất được đưa ra, các biện pháp này đòi hỏi phải bổ xung thêm các quy tắc lựa chọn tập hàng xóm. Các phương pháp này đều hướng tới hai loại: ràng buộc cấu trúc và ràng buộc lân cận.
Ràng buộc cấu trúc chặt chẽ hơn – Stronger structural constraints
Các mạng chồng như CAN, Chord nguyên bản và Pastry với bảng định tuyến có ràng buộc nhất định (Constraints routing table – CRT)[5] cải thiện mạnh mẽ ràng buộc cấu trúc trong tập hàng xóm. Mỗi thành viên trong tập hàng xóm được xác định là một node trong mạng xếp chồng có định danh gần nhất với một điểm riêng biệt trong không gian định danh. Ràng buộc này đánh bại các cuộc tấn công che khuất với hai điều kiện như sau:
Đầu tiên, mỗi điểm nút có một định danh duy nhất và không thể giả mạo được. Việc này có thể được thực hiện được nhờ dựa vào một cơ quan ngoại tuyến đáng tin cậy đưa ra bản mã hóa của định danh đã được ký, bằng cách này có thể chống được tấn công mạo nhận.
Thứ hai, mạng xếp chồng cần có cơ chế tìm ra node đang sống trong mạng có định danh gần nhất với một vị trí bất kỳ được yêu cầu trong không gian định danh. Cơ chế này đảm bảo rằng một truy vấn đến một node có định danh được chọn ngẫu nhiên có khả năng là node gây hại cũng bằng xác suất chọn ngẫu nhiên một node là node gây hại. Phương pháp định tuyến cổ điển có thể đạt được điều này bằng cách kết hợp với việc xác thực định danh tin cậy, kiểm tra mật độ định danh, nhận biết định tuyến dư thừa bằng cách sử dụng bảng định tuyến. Điều trở ngại lớn nhất trong việc sử dụng ràng buộc cấu trúc mạnh đó là nó sẽ làm mất tính linh hoạt trong việc lựa chọn hàng xóm, cản trở việc tối ưu hóa mạng xếp chồng bằng cách sử dụng cơ chế lựa chọn hàng xóm gần (Proximity neighbor selection – PNS)[6]. Hơn nữa, để đảm bảo an toàn cho định tuyến cổ điển sẽ tốn chi phí rất cao.
Proximity constraint – Ràng buộc gần
Hildrum và Kubiatowicz [3] đưa ra một phương pháp bảo vệ chống lại tấn công che khuất hoàn toàn khác biệt với phương pháp được đưa ra ở trên, phương pháp này dựa trên việc lựa chọn các hàng xóm gần. Mỗi node lựa chọn các node làm tập hàng xóm cho mình sao cho liên kết tới các node đó có độ chễ nhỏ nhất và chúng thỏa mãn yêu cầu ràng buộc cấu trúc của một tập hàng xóm. Chỉ có một lượng nhỏ các node gây hại có thể đáp ứng được độ trễ mạng thấp, do đó các node gây hại khó có thể tăng cường tấn công che khuất hệ thống.
Phương pháp bảo vệ này cần đảm bảo rằng việc đo độ trễ không bị thao túng bởi các phần tử tấn công. Nếu độ chính xác của phép đo là 1ms và có một lượng lớn các node xếp chồng có giá trị đo nằm trong khoảng này thì việc phòng chống không có hiệu quả. Trên thực tế, có rất nhiều node khác nhau cùng xuất hiện trong dải độ trễ hẹp. Hơn nữa kết quả thực nghiệm đã chỉ ra rằng với các giá trị độ trễ thực tế được đo tính trên mạng Internet, hiệu quả của biện pháp phòng thủ dựa trên PNS sẽ giảm dần khi kích thước mạng chồng tăng lên.
Nhận xét
Có thể nhận thấy rằng việc duy trì những ràng buộc cấu trúc có thể tạo ra một phòng tuyến bảo vệ hiệu quả chống lại các cuộc tấn công che khuất, nhưng nó cũng tạo ra những khoản chi phí phụ trội và cản trở việc tối ưu hóa những ứng dụng quan trọng như PNS. Mặt khác, phương pháp phòng thủ dựa trên ràng buộc gần chỉ có hiệu quả với mạng có kích thước nhỏ.
3.2. Cơ chế giới hạn bậc
Để có thể chống tấn công che khuất, có một phương pháp đã được đưa đó là cơ chế giới hạn bậc [1]. Cơ chế giới hạn bậc có thể áp dụng cho cả mạng ngang hàng có cấu trúc và mạng ngang hàng không có cấu trúc. Đây là một cơ chế khá hữu hiệu để chống tấn công che khuất. Bậc ở đây dùng để chỉ các liên kết tới các node trong mạng xếp chồng. Bậc trong của một node là số các liên kết trỏ tới node đó, bậc ngoài là số liên xuất phát từ nó đi tới các node khác. Một node A có chứa node B trong tập hàng xóm của nó, như vậy có nghĩa là node A trỏ tới node B, ta gọi liên kết từ A tới node B là một liên kết ngoài của node A. Số liên kết ngoài của A được gọi là bậc ngoài của A, bậc ngoài của một node bằng số node có trong tập hàng xóm của node đó. Node A trỏ tớ node B, liên kết đó được coi là liên kết trong của node B, số liên kết trong đó là bậc trong của B.
Ý tưởng cơ bản đằng sau cho cơ chế phòng chống này rất đơn giản: Trong tấn công che khuất, bậc trong của các node gây hại cao hơn giá trị bậc trong trung bình của các node chuẩn. Bởi các node gây hại nằm trong rất nhiều tập hàng xóm của các node chuẩn trong mạng thì mới có thể tiến hành “che khuất” khống chế mạng và các node. Do đó, nếu chúng ta giới hạn bậc trong của mỗi node, thì sẽ làm giảm số node gây hại có trong tập hàng xóm của các node chuẩn, làm cho kẻ tấn công khó có thể thực hiện ý đồ “che khuất” của mình. Khi ta áp dụng cơ chế ép giới hạn bậc, các node chuẩn có thể chọn các hàng xóm của nó từ một tập phụ các node xếp chồng có bậc trong nhỏ hơn giới hạn cho phép. Cơ chế đó cũng bao gồm việc giới hạn bậc ngoài của các node, nếu không các node gây hại có thể sử dụng bậc trong của các node chuẩn để chặn các node chuẩn trỏ tới các node chuẩn khác. Vậy các node chuẩn cần chọn các hàng xóm từ một tập gồm các node xếp chồng có bậc trong và bậc ngoài nhỏ hơn giới hạn cho phép.
Phương pháp giới hạn bậc đòi hỏi mỗi node cần có một chứng nhận xác thực, mỗi định danh của node được gắn kèm với một khóa công khai. Ngoài ra, mạng xếp chồng còn phải hỗ trợ việc định tuyến an toàn nguyên thủy sử dụng CRT.
Đánh giá
Phương pháp giới hạn bậc rất hữu hiệu trong phòng chống tấn công che khuất, nó có thể khống chế tỉ lệ node gây hại có trong tập hàng xóm của các node chuẩn. Có thể chứng minh điều này bằng toán học một cách dễ dàng.
Gọi N là tổng số node trong hệ thống và giá trị trung bình của bậc trong và bậc ngoài của các node tương ứng là O và I. Gọi f là tỉ lệ các node gây hại, f ’ là tỉ lệ các mục hàng xóm của node chuẩn tham chiếu tới các node gây hại. Ta dễ dàng đưa ra nhận xét rằng tổng các liên kết chỉ tới tới node gây hại là:
Ttotal=NfI
Tổng các liên kết đi ra từ node chuẩn là :
Ototal=N( 1-f )O
Với f ’Ototal là tổng số các liên kết từ node chuẩn chỉ tới các node gây hại, ta có:
f ’Ototal ≤ Ttotal
Sau khi giản ước bất đảng thức trên ta có f ’≤. Làm cho I=O chúng ta có:
f ’≤
Như vậy, tỉ lệ các node gây hại trong tập hàng xóm không vượt quá tỉ lệ của node gây hại so với số node chuẩn có trong mạng khi ta thiết lập số bậc trong bằng số bậc ngoài. Khi tăng giá trị trung bình bậc trong I làm tăng f ’, node gây hại có thể lợi dụng tỉ lệ lớn bậc trong của các node chuẩn và tăng hiệu quả của tấn công che khuất.
Cơ chế phân phối để giới hạn bậc
Để thực thi kĩ thuật này, cần giới hạn bậc trong và bậc ngoài đối với mỗi node. Chúng ta tóm tắt cơ chế phân tán dựa trên truy vấn để đảm bảo việc giới hạn bậc.
Chúng ta giả định rằng đã có một kĩ thuật để xác nhận thông điệp để ngăn các node gây hại ở giữa phản hồi giả các truy vấn, giống như chữ kí số. Mỗi thông điệp truy vấn bao gồm thời gian lúc truy vấn được xác thực trong trong phản hồi để đảm bảo tính chuẩn xác. Chúng ta cũng giả định trong mạng tồn tại một cơ chế đảm bảo rằng việc phân phối định danh node một cách chính xác, để chắc chắn rằng các node gây hại không thể sở hữu nhiều định danh và không thể chọn định danh mà chúng muốn.
Mỗi node A trong mạng xếp chồng cần duy trì một tập chứa tất cả các node mà trong tập hàng xóm của nó có chứa node A. Chúng ta gọi đó là tập Con trỏ ngược (Back pointer set) của A. Theo định kì, A kiểm tra từng thành viên trong tập hàng xóm của nó thông qua việc hỏi tập con trỏ ngược của node đó. Nếu số mục trong tập con trỏ ngược trả về lớn hơn giới hạn bậc trong hoặc A không nằm trong tập con trỏ ngược thì A loại bỏ thành viên đó khỏi tập hàng xóm của nó. Trong quá trình kiểm tra, chúng ta cần đảm bảo rằng node đang được kiểm tra không biết được node A. Nếu không, node được kiểm tra có thể tạo dễ dàng một tập con trỏ ngược với kích thước phù hợp và có A.
Hình 4: Tập Con trỏ ngược - Back pointer set
Để ngăn chặn kẻ tấn công chi phối bậc trong của node chuẩn, mỗi node B kiểm tra thường xuyên các thành viên trong tập con trỏ ngược của nó bằng việc hỏi chúng tập hàng xóm mà nó sở hữu. Nếu B không nằm trong tập hàng xóm được trả về hoặc kích thước tập hàng xóm trả về lớn hơn giới hạn bậc ngoài, B loại bỏ các node đó khỏi tập con trỏ ngược của mình. Các node được kiểm tra cũng không được biết được B.
Kĩ thuật này có thể dùng để đảm bảo rằng giá trị trung bình của bậc trong và bậc ngoài được giới hạn. Khi giới hạn được thiết lập tới giá trị trung bình của đồ thị xếp chồng, tỉ lệ tập hàng xóm của node chuẩn bị điều khiển bởi node gây hại chỉ là f/(1-f) với f là tỉ lệ node gây hại trong mạng xếp chồng.
3.3. Cơ chế kiểm tra ẩn danh
Để kĩ thuật ở được trình bày ở trên hoạt động, chúng ta cần sử dụng một đường kết nối ẩn danh (Anonymous channel) giữa node tiến hành kiểm tra và node đang bị kiểm tra. Với việc kiểm tra ẩn danh ta có thể phát hiện các node gây hại, từ đó loại bỏ chúng ra khỏi tập hàng xóm của node chuẩn.
Sự thăm dò đó là kiểm tra ẩn danh thông qua một node trung gian ngẫu nhiên trong mạng xếp chồng. Nếu node trung gian đó là một node chuẩn thì nó sẽ chuyển tiếp yêu cầu tới node đích mà không để lộ danh tính của no
Các file đính kèm theo tài liệu này:
- Chống tấn công che khuất trong các mạng ngang hàng.doc