Chương 3. XÂY DỰNG HỆ THỐNG PHÁT HIỆN THAY ĐỔI NỘI DUNG TRANG
3.2. Hệ thống phát hiện thay đổi nội dung trang Web
Mục đích chính của hệ thống là để phát hiện bất kỳ các cuộc tấn công thay đổi web nào và đưa ra những cảnh bảo kịp thời cho người quản trị để có cách xử lý phù hợp. Để đạt được nhiệm vụ này, hệ thống giám sát website được thiết kế và triển khai trên 2 máy chủ: máy chủ Web và máy chủ giám sát. Với các hệ thống con (subsystem) được tích hợp và cơ sở dữ liệu tập trung. Các hệ thống con này và chức năng chính của chúng như sau:
Thứ tự Tên hệ thống con Chức năng
I Hệ thống cung cấp trang web (Builder)
Công bố trang web đã cho và duy trì danh mục kiểm tra bao gồm các tên tập tin website với các thuộc tính của chúng và giá trị băm.
II Hệ thống đa kiểm tra (Multi-Checker)
Theo dõi tính toàn vẹn những trang web đã được công bố.
III Hệ thống tự theo dõi (Self-Watcher)
Thẩm tra trạng thái của hệ thống đa kiểm tra.
IV Hệ thống quản trị (Admin)
Điều khiển toàn bộ hệ thống giám sát Website
V Hệ thống lưu trữ CSDL (Check-List Database)
Là một CSDL chứa các tập tin cùng với giá trị băm, các thuộc tính, và các khoảng thời gian (interval times).
Các bản sao mới nhất của các trang web được lưu trữ trong một khu vực bên ngoài máy chủ web (Web-server), trên một máy chủ khác đặt tại một vùng mạng khác. Các thành phần đó và mối quan hệ giữ chúng được thể hiện trong sơ đồ sau:
Hình 3.2. Sơ đồ kiến trúc hệ thống giám sát website 3.2.1. Hệ thống Builder
Hệ thống Builder hoạt động tại máy chủ giám sát khi hệ thống Admin thêm vào, chỉnh sửa, hoặc loại bỏ các trang web.
Hệ thống Builder hoạt động như sau:
- Tính toán giá trị băm và các thuộc tính (tên, kích thước của tập tin, loại, ngày chỉnh sửa) của các trang web đã cho (trang web mới được thêm vào hoặc trang web được chỉnh sửa).
- Lưu những thông tin tính toán vào trong danh sách lưu trữ CSDL, và hệ thống cung cấp trang web (hệ thống Builder) có nhiệm vụ duy trì bảo quản danh sách này.
- Công bố các trang web đã cho ở thư mục Intpub tại máy chủ web (Web- server).
3.2.2. Hoạt động Multi-checker
Hệ thống con Multi-checker (đa kiểm tra) là trái tim của hệ thống giám sát website, nó chứa vài kiểm tra làm việc bên cạnh thư mục Intpub tại Web- server.
Hệ thống sẽ thường xuyên kiểm tra định kỳ tính toàn vẹn của các trang web được công bố, và các trang web quan trọng như trang chủ (index.htm,
index.html, default.asp, default.aspx, start.php, home.php, default.asp). Do đó có một khoảng thời gian liên quan tới mỗi tập tin để kiểm tra lại tính toàn vẹn.
Hệ thống hoạt động phụ thuộc vào một trong hai chế độ sau:
- Chế độ kiểm tra cơ bản (basic mode): Khi hệ thống đa kiểm tra bắt đầu hoạt động, hệ thống sẽ kiểm tra các thuộc tính (tên, kích thước của tập tin, loại, và ngày chỉnh sửa) cho trang we hiện tại (trang web được lưu trong Intpub) và so sánh nó với trang web đã được lưu trữ trước của chính nó trong CSDL.
Hình 3.3. Các thuộc tính cơ bản của tập tin
- Chế độ kiểm tra nâng cao (advanced mode): Khi hệ thống Multi-checker bắt đầu hoạt động, hệ thống sẽ tính toán tìm giá trị băm (sử dụng thuật toán cải tiến Rabin Fingerprint) cho các trang web được công bố (được lưu trữ trên thư mục Intpub) và so sánh nó với trang web đã được lưu trữ trước của chính nó trong CSDL.
Hệ thống Multi-checker đã triển khai bao gồm hai checker hoạt động tại chế độ “”basic mode” (checkerB01 và checkerB02) và hai checker hoạt động tại chế độ “advanced mode” (checkerA01 và checkerA02).
Các trạng thái kiểm tra của hệ thống như sau:
• Nếu trang web hiện không được liệt kê trong danh sách được lưu trữ trong CSDL, có nghĩa là các trang web này là một tập tin không hợp pháp có thể là tập tin mã độc hoặc virus... Hệ thống kiểm tra đưa ra cảnh báo “Không tồn tại trang web này trong CSDL hoặc có thể là tập tin độc hại”, người quản
trị trang web kiểm tra lại và đưa ra xử lý kịp thời. Nếu là trang web mới thì sẽ tính giá trị băm và các thuộc tính lưu vào CSDL. Nếu là tập tin mã độc hoặc virus thì loại nó ra khỏi hệ thống và tiếp tục kiểm tra các trang web tiếp theo.
• Nếu như giá trị băm (trong chế độ kiểm tra nâng cao) hoặc bất kỳ thuộc tính nào (trong chế độ kiểm tra cơ bản) của trang web hiện tại khác so với bản gốc được lưu trữ ở CSDL, điều này có nghĩa là các trang web hiện tại đã bị sửa đổi về nội dung. Hệ thống kiểm tra đưa ra cảnh báo “Trang web đã bị sửa đổi về nội dung”, và tiếp tục kiểm tra các trang web tiếp theo.
• Nếu tên trang web đã tồn tại trong CSDL và không tồn tại trong thư mục Intpub, có nghĩa là các trang web bị xóa khỏi thư mục Intpub công bố, và hệ thống kiểm tra đưa ra cảnh báo “Trang web đã bị xoá”, và tiếp tục kiểm tra các trang web tiếp theo.
• Nếu thực hiện các kiểm tra không có vấn đề gì, hệ thống kiểm tra đưa ra cảnh báo “Không phát hiện sự thay đổi”, và tiếp tục kiểm tra các trang web tiếp theo.
3.2.3. Hệ thống Self-watcher
Hệ thống tự theo dõi (Self-watcher) theo dõi từng checker của hệ thống đa kiểm tra (Multi-checker) để đảm bảo rằng các checker đang ở trạng thái hoạt động. Hệ thống Self-watcher làm việc để thẩm tra các trạng thái của các checker. Do đó nếu bất kì một checker nào không đúng chức năng với bất cứ lý do gì (như là bị tấn công) thì hệ thống chính sẽ có giá trị an ninh cục bộ hoặc không còn giá trị về mặt an ninh nữa.
Hệ thống Self-watcher làm việc để đảm bảo rằng các checker đang hoạt động và đúng chức năng bằng thủ tục “Call-Back tự động” nhằm xác minh các trạng thái của các checker. Trong mỗi khoảng thời gian đã cho, hệ thống Self- watcher quay số gọi tới một checker bằng cách gửi một số ngẫu nhiên, checker đó ngắt liên lạc. Và checker này gọi lại cho Self-watcher.
Nếu như hệ thống Self-watcher không nhận được cuộc gọi trong khoảng thời gian timeout đã cho thì nó sẽ gọi lại theo như cách cũ. Nếu không có trả lời trong thời gian timeout lớn nhất đã cho, (điều đó có nghĩa là checker đó bị hỏng hoặc kết nối giữa hai server bị đứt liên kết), hệ thống Self-watcher se gửi một cảnh báo “failed-alarm” tới hệ thống quản trị (Admin).
3.2.4. Hệ thống Admin
Quản trị viên của hệ thống phát hiện thay đổi nội dung trang web có thể điều khiển các thành phần khác nhau của các hệ thống phụ này. Ví dụ, thêm một trang web mới, chỉnh sửa một trang web đang tồn tại, hoặc xóa bỏ trang web khỏi CSDL và tập tin khôi phục. Bằng cách sử dụng hệ thống Admin, người quản trị có thể thiết lập khoảng thời gian kiểm tra cho mỗi trang web và khởi tạo các thông điệp cảnh báo và thông báo.