Do đặc điểm tài nguyên hạn chế và không kết nối thƣờng xuyên, việc xây dựng các ứng dụng dựa trên Mobile Agent với khả năng di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn cơ sở dữ liệu, tìm tin...) rồi trả kết quả về sẽ là một giải pháp tốt cho ngƣời dùng các thiết bị di động.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Kết luận chƣơng:
Chƣơng này đã đề cập đến các khái niệm cơ sở của mobile agent, đó là các agent có thêm đặc tính di động. Điều này làm cho các mobile agent có khả năng di chuyển khắp nơi trong mạng để thực hiện các tác vụ của mình. Mobile agent là đối tƣợng phần mềm có các đặc tính dùng để phần biệt với các đối tƣợng khác đó là: tự trị, hƣớng đích, đối ứng và duy trì liên tục.
Qua phân tích và so sánh mô hình mobile agent và mô hình clien/server khi xây dựng các ứng dụng phân tán, chúng ta có thể thấy đƣợc vai trò rất lớn của mô hình mobile agent trong việc cách mạng hóa trong việc thiết kế và phát triển các hệ thống phân tán. Mobile agent vƣợt qua hai rào cản cố hữu của mô hình client /server đó là tăng cƣờng tính mềm dẻo của các dịch vụ, hỗ trợ các thao tác có kết nối hay bị ngắt. Chính vì vậy mà mobile agent mang đến nhiều lợi ích nhƣ: giảm tải mạng, khắc phục độ trễ, thi hành tự trị và không đồng bộ.
Các lợi ích này càng đƣợc khẳng định qua các ứng dụng dựa trên mobile agent nhƣ:
- Thu thập thông tin phân tán - Thƣơng mại điện tử
- Quản trị hệ thống mạng
- Tìm kiếm, lọc, kiểm tra dữ liệu - Đàm phán, đặt hàng
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
CHƢƠNG 2: NHỮNG VẤN ĐỀ BẢO MẬT TRONG MOBILE AGENT 2.1 Đặt vấn đề
Vấn đề bảo mật là một trong những nhân tố quan trọng của công nghệ mobile agent. Giống nhƣ các chƣơng trình đƣợc tải về từ mạng, mobile agent là mối đe dọa tiềm tàng cho bất kỳ hệ thống nào. Không những thế, chúng còn đƣợc trƣng ra bởi các hệ thống chứa chúng, một tính huống chƣa đƣợc giải quyết bởi các hệ thống an toàn truyền thống. Sự thiếu vắng một cơ chế an toàn đơn giản nhƣng toàn diện sẽ làm ngƣời dùng không mặn mà cho việc sử dụng các agent cũng nhƣ cho các agent thi hành trên các máy tính của họ. Từ đó việc triển khai các ứng dụng của mobile agent sẽ không đƣợc mở rộng. Phần này, sẽ trình bày về vấn đề bảo mật trong mobile agent.
2.2 Các phƣơng thức tấn công trong mobile agent
Nói chung, chúng ta có thể chia các dạng tấn công đối với agent và các máy chứa chúng thành hai loại chính:
- Tấn công tiêu cực - Tấn công tích cực
Tấn công tiêu cực không làm thay đổi các agent và các thông tin khác. Trong khi đó tấn công tích cực tác động vào agent. Với tấn công tích cực, chúng ta có thể dò ra những gì xảy ra cho agent. Trong khi không thể làm nhƣ vậy đối với dạng tấn công tiêu cực.
2.2.1 Các dạng tấn công tiêu cực
Các dạng tấn công tiêu cực thƣờng tấn công vào sự liên lạc giữa các hệ agent và các agent đang đƣợc di chuyển trên mạng. Bởi vì không có sự thay đổi nào đối với các agent nên các dạng tấn công này thƣờng khó dò ra manh mối. Để tự bảo vệ mình, ngƣời sử dụng phải sử dụng mật mã. Ta hãy xem xét hai dạng tấn công tiêu cực sau:
Nghe trộm: Loại tấn công này thƣờng sử dụng một chƣơng trình gọi là máy dò liên lạc. Một máy dò sẽ theo dõi các thông tin đƣợc trao đổi giữa các hệ agent và bằng cách đó đoạt các agent và các thông điệp có thể chứa các thông tin quan trọng. Trong trƣờng hợp này chúng ta nói rằng thông tin đã bị khám phá qua việc theo dõi sự liên lạc
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chuyến bay đi tp Hồ Chí Minh Agent
Chuyến bay đi tp Hồ Chí Minh
Bạn Máy phục vụ
Chuyến bay đi tp Hồ Chí Minh Kẻ phá
hoại
Hình 2.1: Dạng nghe trộm
Phân tích sự chuyển động: Có thể chúng ta sẽ nghĩ rằng thật dễ để đề phòng sự nghe trộm bằng cách sử dụng agent đã đƣợc mã hóa. Dù kỹ thuật này có thể đủ dùng cho hầu hết các trƣờng hợp, các dạng tấn công tiêu cực vẫn còn rất hiệu quả. Phân tích sự chuyển động là một biến thể thông mình của nghe trộm, cho phép các kẻ phá hoại phân tích các mẫu của các agent đƣợc trao đổi giữa các hệ agent (ví dụ nhƣ những thay đổi trong số lƣợng sự luân chuyển, hay những thay đổi về tần suất của các agent đến và đi), có thể cho phép xây dựng những giả thiết nào đó dựa trên các mẫu này. Loại tấn công này hiệu quả thậm chí ngay cả với nội dung đã đƣợc mã hóa.
2.2.2 Các dạng tấn công tích cực
Các dạng tấn công tích cực chứa đựng nhiều nguy cơ đe dọa sự an toàn trải từ những thay đổi đơn giản dữ liệu của agent tới việc đƣa các agent phá hoại vào các server. Sau đây là một số kiểu tấn công tích cực:
Truy cập bất hợp pháp: Đây là trƣờng hợp một agent truy cập các thông tin không đƣợc cho phép. Điều này có thể xảy ra nếu agent giả dạng nhƣ là ngƣời dùng đƣợc tin tƣởng hay nó đƣợc thi hành trên một môi trƣờng không an toàn. Ví dự: Một agent đƣợc viết bằng ngôn ngữ lập trình C, nó có thể sử dụng các phép toán số học trên có trỏ để truy cập bất kỳ vị trí bộ nhớ nào. Agent không chỉ lấy các dữ liệu riêng tƣ từ máy đó và các agent trên máy đó mà còn can thiệp vào dữ liệu đó nữa.
Giả mạo: Đây là trƣờng hợp một thực thể giả vờ là một thực thể khác
Một ví dụ điển hình đó là: agent thâm nhập vào một server giả mạo danh nghĩa một cá nhân hay một tổ chức tin tƣởng. Nếu nó thành công trong việc đánh lừ
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
đƣợc server này nó có thể sử dụng các dịch vụ miễn phí và ăn cắp các thông tin bí mật dành riêng cho các thông tin thực thể đƣợc tin tƣởng.
Bạn Máy phục vụ
Chuyến bay đi tp Hồ Chí Minh Kẻ phá
hoại giả danh bạn Chuyến bay đi tp
Hồ Chí Minh
Hình 2.2: Dạng giả mạo
Trojan: Trojan là một agent mà đƣợc thi hành bởi một ngƣời dùng hợp pháp nhƣng lại làm những việc khác với những gì ngƣời dùng dự định. Thủ phạm có thể đơn giản tạo và có thể tấn công vào một agent vô tội trong thực tế gây hại cho ngƣời dùng của nó.
Chuyến bay đi tp Hồ Chí Minh Agent
Chuyến bay đi tp Hồ Chí Minh
Bạn Máy phục vụ
Chuyến bay đi tp Hồ Chí Minh và kẻ
xâm nhập vào hệ thống
Agent đặt chỗ với kẻ xâm
nhập Tạo ra Kẻ phá hoại
Hình 2.3: Dạng Trojan
Sự sửa đổi: Đây là trƣờng hợp một agent hay một thông điệp giữa hai hệ agent đƣợc xóa hay bị thay đổi trong khi di chuyển. Đặc biệt, bất kỳ máy ghé trên lộ trình bị thay đổi trong khi di chuyển. Đặc biệt, bất kỳ máy nào ghé trên lộ trình của agent có thể tƣớc dữ liệu đƣợc thêm vào bởi máy trƣớc đó. Bất kỳ thông tin nào bị thay đổi trong những tình huống không đƣợc mong đợi nhƣ vậy có thể biến đổi một agent tốt thành một agent gây hại, hay đơn giản hơn là có thể trả về kết quả sai lệch.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Kẻ phá hoại Chuyến bay đi
tp Hồ Chí Minh Agent
Chuyến bay đi tp Hồ Chí Minh
Bạn Máy phục vụ
Chuyến bay đi tp Vinh
Hình 2.4: Dạng sửa đổi
Làm lại: Đây là trƣờng hợp một bản sao đã đƣợc đoạt của một agent đã gửi đi hợp lệ trƣớc đó đƣợc truyền lại cho những mục đích không hợp pháp. Trong trƣờng hợp này, thủ phạm có thể nhận các kết quả giống nhau và có thể làm xáo trộn một cách nghiêm trọng dịch vụ. Thậm chí ngay cả agent đã đƣợc mã hóa, kiểu tấn công nhƣ vậy cũng có thể xảy ra, bởi vì các kẻ tấn công không cần thay đổi nội dung của agent.
Chuyến bay đi tp Hồ Chí Minh Agent
Chuyến bay đi tp Hồ Chí Minh
Bạn Máy phục vụ
Chuyến bay đi tp Hồ Chí Minh
Kẻ phá hoại
Chuyến bay đi tp Hồ Chí Minh
Sao chép
Hình 2.5 : Dạng làm lại
Làm cạn kiệt tài nguyên: Là trƣờng hợp một tài nguyên đƣợc dùng quá lâu làm cho ngƣời dùng khác bị treo. Vấn đề này còn đƣợc gọi là phá hỏng dịch vụ nền. Tài nguyên trong trƣờng hợp này có thể là đƣờng truyền mạng cũng nhƣ bộ nhớ của CPU hay server.
Ví dụ: Nếu một agent phá hoại giữ quyền cấp phát bộ nhớ, thì các agent khác hay thậm chí là server có thể không thi hành chính xác.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Một ví dụ khác là việc sử dụng các agent để nhái. Không bao lâu server hay mạng sẽ bị ngập tràn các agent.
Sự phủ quyết: Là trƣờng hợp phủ quyết sự trao đổi đã xảy ra.
Ví dụ: Nếu agent của bạn mua một thứ gì đó qua một agent server, server có thể phủ nhận sự mua bán đã thỏa thuận đó.
2.3 Những trƣờng hợp có thể gây lỗi.
Giả sử bạn gửi một agent đặt chỗ vé máy bay tới văn phòng bán vé. Điều mạo hiểm ở đây là gì? Trƣớc tiên, agent của bạn có thể bị giả mạo. Hậu quả là nó sẽ trả về kết quả sai. Ví dụ nhƣ nó có thể báo cáo với bạn rằng việc đặt chỗ đã hoàn thành nhƣng thực tế thì không phải vậy. Một máy phá hoại cũng có thể ăn trộm và sử dụng các thông tin bí mật từ agent của bạn. Thậm chí ghê gớm hơn, một ngƣời nào đó, một ngƣời nào đó có thể giả mạo agent của bạn để gây hại máy ở xa mà nó ghé đến. Trong trƣờng hợp đó, bạn có thể bị hạn chế việc sử dụng các dịch vụ trong tƣơng lai. Làm thế nào để bạn chứng tỏ là mình vô tội?
Trên đây là một số ví dụ những gì có thể gây lỗi cho các mobile agent. Chúng ta có thể chia các nguy cơ đe dọa an toàn từ mobile agent thành các loại sau.
2.3.1Sự bảo vệ agent
Các máy ở xa đe dọa agent: Một agent đang di chuyển và ghé lại một môi trƣờng thi hành không đƣợc tin tƣởng. Môi trƣờng thi hành này có thể lấy các thông tin dành riêng của agent hoặc can thiệp vào agent. Các kiểu tấn công có thể xảy ra bao gồm: phá rối, thi hành bất hợp pháp và truy cập bất hợp pháp. Agent đe dọa agent khác: Một agent tƣơng tác với một trong những agent của
bạn để các thông tin dành riêng và làm gián đoạn sự thi hành của nó. Kiểu tấn công có thể xảy ra là truy cập bất hợp pháp.
Kẻ lạ mặt đe dọa agent: Một thực thể phá hoại có thể thay đổi các thông điệp trao đổi giữa các máy hoặc dò sự liên lạc giữa chúng để từ đó dò ra nội dung của agent của bạn. Các kiểu tấn công có thể xảy ra là sửa đổi và nghe trộm.
2.3.2Sự bảo vệ máy phục vụ
Các agent đến đe dọa các máy phục vụ: một agent ghé thăm môi trƣờng thi hành rồi cố tìm cách truy cập và làm hƣ các tập tin cấu hình hay phá hỏng môi trƣờng thi hành. Các kiểu tấn công có thể xảy ra là: truy cập bất hợp pháp, giả dạng, phá hỏng dịch vụ nền và phủ quyết.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Kẻ lạ mặt đe dọa các máy: một thực thể phá hoại có thể gửi một lƣợng lớn các agent giả tới môi trƣờng thi hành và làm nó bị treo. Các kiểu tấn công có thể xảy ra là phá hỏng dịch vụ nền và đấu lại.
2.3.3Sự bảo vệ hệ thống mạng
Các agent đến đe dọa hệ thống mạng: Một agent bắt đầu nhân bản và di chuyển khắp trong mạng sẽ tạo ra một cơn lũ các agent trong mạng. Kiểu tấn công có thể xảy ra là phá hỏng dịch vụ nền.
Mặc dù những nguy cơ nhƣ vậy kéo theo những vấn đề an toàn mới đƣợc đặt ra bởi mobile agent. Việc sử dụng các công nghệ an toàn hiện tại có thể giải quyết hầu hết số chúng.
2.4 Các dịch vụ an toàn
Các dịch vụ an toàn đóng vai trò rất quan trọng nếu muốn bảo vệ các agent và các server của bạn không bị tấn công. Sau đây là danh sách các dịch vụ có sẵn cho các hệ thống an toàn của agent
2.4.1 Xác nhận
Trƣớc khi chấp nhận một agent đến, chúng ta cần phải biết ai là ngƣời gửi nó. Quá trình này bao gồm kiểm tra sự tồn tại của thực thể phát triển agent và thực thể hiện thực của nó và gửi nó cho chúng ta. Trƣớc khi gửi một agent, chúng ta cũng phải gửi server đích thực sự là server mà nó nói chuyện không? Xác nhận ngƣời dùng: Ngƣời dùng cần đƣợc xác nhận tại server cho trƣớc.
Mã công khai hay bảo mật có thể đƣợc dùng trong trƣờng hợp này.
Xác nhận máy: Trƣớc khi một server liên lạc với một server hay một client khác, nó cần biết nó sẽ liên lạc với ai. Điều này rất quan trọng, bởi vì chúng ta không thể đảm bảo tính toàn vẹn và bảo mật mà không biết chúng ta đang nhận các agent từ ai hay gửi nó cho ai.
Xác nhận máy thi hành: Trƣớc khi thi hành một agent đến, server cần biết ai có trách nhiệm với các cài đặt của agent. Các chữ ký điện tử thƣờng đƣợc dùng cho mục đích này.
Xác nhận agent: Trƣớc khi thi hành một agent đến, server cần biết ai là chủ của agent này
2.4.2Tính toàn vẹn
Để tin tƣởng một agent, chúng ta cần chắc rằng không có agent nào bị xâm phạm trạng thái và mã thi hành của nó. Kiểm tra tính toàn vẹn của agent là kỹ
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
thuật để chúng ta kiểm chứng rằng không có sự thay đổi bất hợp pháp nào đối với trạng thái và mã thi hành của agent
2.4.3Bảo mật
Một agent có thể mang các thông tin mật chỉ đƣợc dùng cho các server hay các agent xác định nào đó mà thôi. Những thông tin nhƣ vậy cần đƣợc giữ bí mật đối với các server và các agent khác. Một agent có thể yêu cầu server chuyển chúng theo cách bí mật để giảm thiểu mối đe dọa bị nghe trộm.
2.4.4Cấp phép
Một agent đến cần cấp cho một quyền truy cập các thông tin tùy vào chủ nhân của nó. Sự cấp phép truy cập, là cách để xác định khả năng của agent có thể truy cập các thông tin hay sử dụng các dịch vụ cung cấp bởi server.
2.4.5Không chối bỏ
Một agent hay server không thể phủ nhận một sự trao đổi, liên lạc đã xảy ra.
2.4.6Kiểm toán
Dịch vụ kiểm toán ghi lại các hoạt động liên quan đến an toàn của một agent phục vụ cho việc kiểm tra lại sau này.
2.5 Các vấn đề liên quan đến sự bảo vệ agent
Dễ dàng nhận ra rằng vấn đề an toàn cho agent có một số hạn chế cố hữu. chúng ta sẽ xem xét vấn đề này theo hai quan điểm:
- Bảo vệ agent - Bảo vệ máy chủ
Việc bảo vệ agent phụ thuộc hoàn toàn vào các server mà nó thi hành trên đó. Mối đe dọa đầu tiên mà các mobile agent gặp phải đó là khi chúng đang di chuyển trên mạng. Có thể nó bị nghe trộm để đánh cắp các thông tin riêng tƣ của agent. Những kẻ lạ mặt cũng có thể can thiệp vào nội dung của các agent, sẽ làm cho các agent hoạt