MỤC LỤC
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. 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ì. 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.
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.
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. 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. • 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.
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. 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ế. • 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.
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.
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. 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.
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.
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. 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. Để 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.
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.
Nếu node trung gian là node gây hại, nó có thể làm lộ danh tính của node yêu cầu cho node bị kiểm tra (nếu node bị kiểm tra là node gây hại) hoặc nó có thể vứt bỏ thông điệp kiểm tra (nếu như node được kiểm tra là node chuẩn). Để đạt được hiệu quả cao, chúng ta cần thực hiện kiểm tra mỗi node nhiều lần, với các node trung gian ngẫu nhiên khác nhau để có thể thu thập đủ dữ liệu từ đó đưa ra quyết định node bị kiểm tra là node gây hại hay node chuẩn. Với mỗi lần kiểm tra, xác xuất để A có trong tập kết quả trả về là f+(1-f )pc, đồng nghĩa với việc B sẽ qua được cuộc kiểm tra dù I là node gây hại hay không và B trả lời cuộc kiểm tra bằng một tập node chứa A với xác suất p.
Cũng cần chú ý rằng n-k cần phải lớn hơn nf, nếu không một node gây hại chỉ có thể phản hồi khi thông điệp kiểm tra tới thông qua một node gây hại khác và sẽ không bao giờ phản hồi khi thông điệp kiểm tra đến từ một node chuẩn.
Mô hình mạng dùng trong mô phỏng được tạo ra bởi chương trình sinh mô hình mạng GT-ITM. File thư viện MessageRouting.dll cung cấp các lớp và lớp trừu tượng dùng để xử lý các thông điệp trong mạng Pastry, lớp trừu tượng quan trọng nhất mà file này cung cấp được sử dụng trong mô phỏng là public abstract class Application. Phương thức này được thực thi trong quá trình chuyển tiếp thông điệp trong mạng.
File thư viện động Simulator.dll cung cấp các lớp để tải mô hình mạng mô phỏng với lớp chính được sử dụng là public class Sim.Trong chương trình mô phỏng, ta cần.
• Phương thứ public void createMaliciousNodeSet(double fMaliciousNode):Phương thức này sẽ khởi tạo các node gây hại và lưu vào trong mảng MaliciousNodes, số lượng các node gây hại sẽ chiếm tỉ lệ fMaliciousNode trong tổng số các node trong mạng, đồng thời phương thức này cũng sẽ xác định giới hạn bậc trong bound của mạng. • Phương thức khởi tạo: public Test(): Trong phương thức này sẽ khởi tạp mạng mô phỏng Sim s = Sim(string netFile, string routes- File, string distancesFile, Simulator.CheckIgnore ig- nore), trong đó các file netFile, routesFile, distancesFile là các file mô hình mạng được sinh ra bởi GT-ITM. Ngoài các phương thức trên còn có các phương thức để liệ kê kết quả kiểm tra showResult(), phương thức khởi tạo tập hàng xóm getNeighbor(Pastry.NodeIdAddressBind NodeBind) và tập con trỏ ngược createBackPointerSet() của các node trong mạng.
Khi có phản hồi từ node bị kiểm tra, giá trị của thuộc tính này được thiết lập bằng true, hoặc khi node trung gian là node gây hại thực hiện phá hoại loại cuộc kiểm tra thì nó sẽ sinh thông điệp phản hồi cho node đích với giá trị thuộc tính này thiết lập bằng false.
Ta có thể thấy rằng, tăng số lượng kiểm tra sẽ tăng tỉ lệ node gây hại bị phát hiện trong mạng, nhưng với k = n/4 thì ngược lại, tỉ lệ node gây hại bị phát hiện có xu hướng giảm và ở giá trị k này, tỉ lệ node gây hại bị phát hiện là thấp nhất, gần như bằng 0. Trong ba giá trị của k được thiết lập để đánh giá, ta thấy với k = 3n/4 đạt hiệu quả cao nhất trong phát hiện node gây hại, tuy nhiên nó lại có tỉ lệ kết luận node chuẩn là node gây hại cao nhất, và tỉ lệ này nằm trong khoảng 0.1 đến 0.2. Trong thí nghiệm 1 có tỉ lệ node gây hại bị phát hiện thấp hơn so với tỉ lệ node gây hại bị phát hiện trong thí nghiệm 2, điều này có thể giải thích là do xác suất node gây hại chọn được một tập con trỏ ngược phù hợp có chứa node kiểm tra trong thí nghiệm 1 là 83%, cao hơn trong thí nghiệm 2 là 57%, do đó số node gây hại có khả năng qua được cuộc.
Nhận xét rằng, để kiểm tra ẩn danh đạt hiệu quả cao nhất ta nên chọn số lần kiểm tra là 24 với số kiểm tra thành công để được coi là node chuẩn là 18, như vậy tỉ lệ node gây hại bị phát hiện lên tới trên 0.9, và số node chuẩn bị kết luận nhầm là node gây hại có tỉ lệ nhỏ hơn 0.2.