Phương pháp phân tích, đánh giá kết quả

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện truy nhập bất thường vào máy chủ web (Trang 57 - 63)

Những dấu hiệu phát hiện dấu hiệu bất thường ví dụ một website bị tấn công: - Trang chủ của website hoặc trang con bị thay đổi giao diện (deface)

- Nội dung trang web xuất hiện các thông báo như: “Hacked by…”, “Bạn đã bị hack

- Mã nguồn website bị chèn những đoạn mã, script lạ - Khi truy cập website bị trình duyệt cảnh báo

Hình 2.18. Trình duyệt cảnh báo dấu hiệu bất thường

- Web server xuất hiện những file lạ, shell, các tập tin có nội dung đã được mã hóa.

- Website tự động gửi các request đến các website lạ thường xuyên. - Khi truy cập website thông qua kết quả tìm kiếm Google bị cảnh báo. - Truy cập vào website bị chuyển hướng sang những website quảng cáo, độc hại. - Website bị đưa đưa lên các diễn đàn hacker, các trang thống kê những website bị tin tặc tấn công.

* Thống kê số lượng truy cập của một IP

Ví dụ phát hiện các IP có lượng truy cập lớn có dấu hiệu quậy phá:

SELECT c-ip AS ClientIP, cs-host AS HostName, cs-uri-stem AS URIStem, sc-status AS Status, cs(User-Agent) AS UserAgent, count (*) as Requests INTO DATAGRID FROM E:\DATA\test.log

GROUP BY c-ip, cs-uri-stem, cs-host, cs(User-Agent), sc-status ORDER BY Requests DESC

* 10 URL hàng đầu có tổng số lần truy cập, thời gian tối đa và thời gian trung bình

logparser "Select TOP 10 STRCAT(EXTRACT_PATH(cs-uri-stem),’/’) AS RequestPath, EXTRACT_FILENAME(cs-uri-stem) AS RequestedFile, COUNT(*) AS TotalHits, Max(time-taken) AS MaxTime, AVG(time-taken) AS AvgTime, AVG(sc-bytes) AS AvgBytesSent FROM [LogFileName] GROUP BY cs-uri-stem ORDER BY TotalHits DESC”

* Các bước xử lý khi website bị tấn công:

- Khắc phục tạm thời:

Bước đầu tiên, quản trị viên cần cách ly / sao lưu trạng thái máy chủ web để phục vụ công tác điều tra về sau

Thông báo “Nâng cấp/Bảo trì” tại trang chủ để tránh ảnh hưởng uy tín cơ quan, doanh nghiệp…

Kiểm tra và xóa các tài khoản lạ trên hệ thống. Đổi mật khẩu các tài khoản như: FTP, SSH, phpmyadmin, database, tài khoản quản trị web…[9]

- Rà soát, xử lý

Để kiểm tra các file bị sửa đổi trên website có thể thực hiện bằng cách so sánh với bản backup, ta sử dụng câu lệnh sau:

# diff –qr

Hoặc lệnh

# md5sum

Dựa vào các thông tin trên người quản trị sẽ dễ dàng thấy các file nào bị sửa đổi hay mới được tạo ra và thực hiện thêm một số kiểm tra trên các file này (các lệnh diff và md5sum thực hiện trên hệ điều hành Linux)[9].

Trong trường hợp không có bản sao lưu hoàn chỉnh, có thể sử dụng các câu lệnh sau để tìm file bị hacker sửa đổi:

Lệnh tìm và sắp xếp các file theo thời gian bị sửa đổi:

$ find /var/www/html -type f -printf ‘%TY-%Tm-%Td %TT %p ’ | sort –r

Lệnh tìm các file bị sửa đổi trong vòng 7 ngày trước:

$find /var/www/html -type f –mtime -7

Lệnh tìm các file bị sửa đổi trong vòng 60 phút và hiển thị các thuộc tính của file để phục vụ điều tra:

$ find /var/www/html -type f -mmin -60 | xargs ls –al

Sau khi đã xác định được các file đã bị thay đổi trong mã nguồn, cần kiểm tra kỹ lại các file này bằng cách sử dụng các trình editor để tìm kiếm theo các hàm nguy hiểm thường được sử dụng trong web shell (Một số hàm phổ biến đối với mã nguồn php: preg_replace, passthru, stripslashes, shell_exec, exec, base64_decode, eval, system, proc_open, gzuncompress, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source).

Ngoài ra có thể sử dụng thêm một số công cụ hỗ trợ như Web Shell Detector để quét các định dạng shell phức tạp hơn (sử dụng mã hóa tên, mã hóa mã nguồn…)

Kiểm tra database: Hacker có thể lưu trữ backdoor ở trong database, cần mở database và tìm kiếm trong các bảng các từ khóa spam hoặc các hàm php.

Phân tích hiện trường: Sau khi đã rà soát thấy file shell, tiến hành điều tra theo tên shell trong file logs web để xác định chính xác shell được tải lên qua lỗ hổng web, và hành vi của nó. Tìm kiếm mã độc, các thành phần của mã độc trong hệ thống (nếu có).

Phân tích và xử lý các thành phần độc hại:

Sau khi phân tích hiện trường và lấy được các mẫu file độc hại (nếu có). Tiến hành phân tích hành vi của mã độc để khoanh vùng, theo dõi các kết nối đến server. Sau đó xử lý mã độc ra khỏi server bị nhiễm bằng cách loại bỏ tiến trình, xóa file shell, xóa key khởi động.

Phân tích các hành vi của file độc hại:

Có thể đọc mã nguồn của shell để phân tích hành vi, đối với nhưng webshell đa năng có thể truy cập vào giao diện của webshell để xem những chức năng của shell.

- Xác định và vá lỗ hổng website:

Đây là bước yêu cầu người thực hiện phải có kiến thức chuyên môn tốt và kinh nghiệm để có thể tìm và khắc phục các lỗ hổng, nếu người có nhiệm vụ không thể tự thực hiện có thể thuê các đơn vị uy tín bên ngoài.

Trước tiên cần kiểm tra trong access log hay error log tìm kiếm tất cả các thông tin liên quan đến việc website bị tấn công: như website bị tấn công dò mật khẩu, có một số login không hợp lệ từ IP lạ, một số file lạ được upload bằng FTP. Dựa vào các thông tin trên có thể xác định website bị tấn công do lộ mật khẩu hay hacker tấn công băng cách khai thác các lỗ hỗng bảo mật khác trên website.

Thông qua những đoạn access log lạ từ đó tìm ra cách khai thai lỗ hỗng của hacker. Như thông thường để upload một file lên website thì phải dùng phương thức POST, từ đó có thể dựa vào thông tin này để rút ngắn lại phạm vi tìm kiếm nhằm xác định chính xác cách thức khai thác.

Người quản trị nên kiểm tra lại mã nguồn đang dùng có đang tồn tại lỗ hỗng bảo mật nào không, các module, plugin được cài lên website có an toàn không.

Để xác định được hacker đã lợi dụng module nào để tải file độc hại lên server, cần phải phân tích file log và điều tra xem file shell đã được tải lên thông qua module nào, có thể điều tra dựa theo tên shell hoặc nội dung của file shell được tải lên. Đọc source để tìm đoạn code gây lỗi và tìm phương pháp khắc phục.

Rà soát bằng tay hoặc sử dụng một số công cụ quét lỗ hổng bảo mật như: Acunetix, Burp Suite,… để rà soát lại toàn bộ các module của website để đảm bảo website không còn lỗ hổng nào khác cho phép hacker tấn công trở lại.

Sau khi xác định được các lỗ hổng thì tiến hành phối hợp với các bộ phận liên quan để tiến hành vá các lỗ hỗng, cập nhật phiên bản mới cho mã nguồn (đối với website sử dụng nguồn mở như Wordpress, Joomla…) các module, plugin.

- Điều tra nguồn tấn công

Sau khi phân tích shell và mã độc (nếu có), tìm ra chi tiết thông tin server điều khiển, địa chỉ tải mã độc. Sau đấy gửi yêu cầu trợ giúp điều tra tới các cơ quan chức năng. Gửi cảnh báo tới các cơ quan đơn vị khác có liên quan để đề cao cảnh giác.

- Đưa website trở lại hoạt động

Sau khi rà soát và xử lý hoàn tất các bước cần nhanh chóng đưa website trở lại hoạt động để tránh gián đoạn hoạt động của cơ quan, tổ chức quá lâu.

Trong quá trình vận hành, khai thác cần theo dõi thường xuyên, thực backup dữ liệu, kiểm tra bảo mật cho website để tránh những sự cố đáng tiếc xảy ra[9].

2.9. Kết luận chương

Trong chương 2, luận văn đã trình bày về phạm vi hệ thống, kiến trúc một số hệ thống điển hình cho thu thập, phân tích và phát hiện truy nhập bất thường vào máy chủ Web. Tiếp đó, bài đã trình bày về kiến trúc một hệ thống phát hiện truy nhập bất thường vào máy chủ Web với các thành phần Weblog, khối Parser thu thập và xử lý, khối phân tích Log, khối thống kê, cảnh báo. Luận văn đã trình bày chi tiết các nội dung cấu trúc Weblog, nguyên lý hoạt động của Parser, cách thức thu thập thông tin Weblog, cách thức trích chọn đặc trưng dữ liệu, phân tích và phát hiện truy nhập bất thường, phương pháp phân tích và đánh giá kết quả.

CHƯƠNG 3 THỬ NGHIỆM

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện truy nhập bất thường vào máy chủ web (Trang 57 - 63)

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

(82 trang)