1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát hiện tấn công website defacement

70 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát hiện tấn công website defacement
Tác giả Nguyễn Anh Tuấn
Người hướng dẫn TS. Vũ Thị Hương Giang
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 70
Dung lượng 2,32 MB

Cấu trúc

  • MỤC LỤC

  • ĐẶT VẤN ĐỀ

  • CHƯƠNG 1.

  • CHƯƠNG 2.

  • CHƯƠNG 3.

  • KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

  • TÀI LIỆU THAM KHẢO

Nội dung

TỔNG QUAN VỀ TẤN CÔNG THAY ĐỔI GIAO DIỆN

Hiện trạng tấn công thay đồi giao diện hiện nay

1.1.1 Tấn công thay đổi giao diện là gì?

Defacement là hành vi phá hoại hình ảnh của cá nhân, tổ chức hoặc sản phẩm Tấn công thay đổi giao diện (website defacement) liên quan đến việc sửa đổi trái phép cấu trúc và nội dung của website, bao gồm văn bản và hình ảnh Kẻ tấn công thay thế thông tin gốc bằng các nội dung khác như thông điệp chính trị hoặc thông tin nhạy cảm, gây tổn hại nghiêm trọng đến uy tín doanh nghiệp và làm gián đoạn truy cập website Khi người dùng truy cập vào trang web bị tấn công, họ sẽ thấy giao diện hoặc nội dung khác với thông điệp mà tin tặc muốn truyền tải.

Một số ví dụ đơn giản để chúng ta dễ hình dung:

Vào ngày 8/3/2017, một tin tặc đã xâm nhập vào website Tân Sơn Nhất và đăng tải cảnh báo về lỗ hổng bảo mật của trang này Tin tặc khẳng định rằng họ có khả năng truy cập sâu hơn vào server nhưng đã chọn không làm vậy, chỉ thực hiện việc tải lên shell và index mà không can thiệp vào cơ sở dữ liệu.

Hình 1 Website của sân bay Tân Sơn Nhất bị tấn công thay đổi giao diện

Chiều ngày 29/7, website của Tổng công ty Hàng không Việt Nam đã bị tấn công và thay đổi giao diện trong khoảng 30 phút, trước khi trở lại hoạt động bình thường Trong thời gian này, trang vietnamairlines.com hiển thị nội dung liên quan đến nhóm 1937CN Team, kèm theo những tuyên bố sai lệch về tình hình biển Đông giữa Việt Nam, Trung Quốc và Philippines.

Hình 2 Website vietnamairlines bị tấn công thay đổi giao diện

Có nhiều lý do để tấn công deface nhưng tựu chung lại một số lí do chính sau:

Việc thể hiện quan điểm chính trị hoặc tôn giáo là một trong những nguyên nhân chính dẫn đến các cuộc tấn công mạng Nhiều tin tặc đã nhắm vào các trang web của chính phủ và các trang liên quan đến tôn giáo, nhằm lan truyền thông điệp phản đối của họ.

Tấn công thay đổi giao diện website thường mang tính chất giải trí, với một số người tìm kiếm lỗ hổng để khai thác và thông báo cho quản trị viên nhằm khắc phục Tuy nhiên, cũng có những kẻ muốn thể hiện bản thân qua những thông điệp như “hacked by ”, cho thấy động cơ khác biệt trong hành vi tấn công này.

Việc một website bị tấn công và thay đổi giao diện chủ yếu gây thiệt hại đến uy tín của tổ chức hoặc cá nhân sở hữu trang web, mà không ảnh hưởng lớn đến hệ thống và dữ liệu của máy chủ Tuy nhiên, có những trường hợp tin tặc tấn công website để đánh lạc hướng, nhằm che đậy các hành vi phá hoại trên máy chủ, như tải và thực thi mã độc trên hệ thống nạn nhân.

Tấn công thay đổi giao diện có thể dẫn đến các cuộc tấn công nghiêm trọng hơn, ảnh hưởng đến máy chủ và người dùng, bao gồm lừa đảo, nặc danh, phát tán mã độc và xóa các tệp quan trọng khỏi máy chủ.

1.1.2 Tình hình tấn công thay đổi giao diện hiện nay

Gần đây, việc phát hiện các cuộc tấn công thay đổi giao diện website vẫn chưa được giới khoa học và cộng đồng chú ý, mặc dù số lượng tấn công đang gia tăng Theo thống kê từ zone-h.org tính đến ngày 7/4/2021, có tới 14.519.063 thông báo về website bị tấn công Tương tự, trang mirror-h.org cũng ghi nhận 2.286.182 kết quả báo cáo về các cuộc tấn công thay đổi giao diện trong cùng thời điểm.

Hình 3 Số lượng kết quả báo cáo website bị tấn công thay đổi giao diện trên mirror-h

Theo thống kê của Bộ Thông tin và Truyền thông, trong năm 2018 đã có

Trong nửa đầu năm 2019, Việt Nam ghi nhận 3.159 cuộc tấn công mạng, giảm 2.684 cuộc so với năm trước Tổng cộng, đã có 10.220 cuộc tấn công mạng vào Việt Nam, trong đó có 3.198 cuộc tấn công nhằm thay đổi giao diện hệ thống thông tin.

Theo báo cáo của Trung tâm ứng cứu khẩn cấp không gian mạng Việt Nam

Trong 7 tháng đầu năm 2019, VNCERT đã ghi nhận tổng cộng 6.219 cuộc tấn công mạng, trong đó có 2.155 cuộc tấn công phishing, 3.824 cuộc tấn công thay đổi giao diện và 240 cuộc tấn công cài mã độc.

1 VIR, “Security World 2019: security for banking and state management,” [Online] Available: https://mic.gov.vn/Pages/TinTuc/139157/Security-World-2019 security-for-banking-and-state- management.html [Accessed 22 02 2020].

2 MIC, “Vietnam suffers over 6,200 cyber attacks in seven months,” [Online] Available: https://mic.gov.vn/Pages/TinTuc/139417/Vietnam-suffers-over-6-200-cyber-attacks-in-seven- months.html [Accessed 20 03 2020]

Hình 4 Biểu đồ thống kê tấn công mạng tính đến 7/2019

Theo báo cáo của Bộ Thông tin và Truyền thông, trong bốn tháng đầu năm 2020, Việt Nam đã ghi nhận 1056 cuộc tấn công mạng vào hệ thống thông tin, trong đó có 553 cuộc tấn công phishing, 280 cuộc tấn công thay đổi giao diện và 223 cuộc tấn công cài mã độc, giảm 51,4% so với cùng kỳ năm 2019 Đặc biệt, trong tháng 3 năm 2020, đã xảy ra 43 vụ tấn công phishing, 89 vụ tấn công thay đổi giao diện và 71 cuộc tấn công liên quan đến mã độc.

Hình 5 Biểu đồ thống kê tấn công mạng 4 tháng đầu năm 2020

3 vietnamnews, “Cyber attacks drop 51% in the first four months,” [Online] Available: https://vietnamnews.vn/economy/716404/cyber-attacks-drop-51-in-the-first-four-months.html [Accessed 09 05 2020]

Theo báo cáo “2019 Website Threat Research Report” của Sucuri, 60% trang web trong năm 2019 dễ bị tấn công, tăng 4% so với năm 2018 Đặc biệt, 5,76% trong số đó là các cuộc tấn công nhằm thay đổi giao diện.

Trong tháng 8/2020, Cục An toàn thông tin (ATTT) thuộc Bộ TT&TT đã ghi nhận và cảnh báo về 517 sự cố tấn công mạng vào các hệ thống thông tin tại Việt Nam, trong đó có 199 cuộc tấn công Phishing.

Trong tháng 7/2020, Việt Nam ghi nhận 160 cuộc tấn công Deface và 158 cuộc tấn công Malware, giảm 0,77% so với tháng trước và có xu hướng giảm nhẹ trong ba tháng gần đây Tuy nhiên, theo Cục An toàn Thông tin, các đối tượng tấn công mạng vẫn lợi dụng sự quan tâm của xã hội đối với vấn đề Covid và các sự kiện chính trị như đại hội Đảng và bầu cử Hội đồng nhân dân để gia tăng phát tán mã độc, dẫn đến số cuộc tấn công vẫn ở mức cao.

Theo số liệu từ Cục CNTT và Dữ liệu tài nguyên môi trường, thống kê quý II và nửa đầu quý III cho thấy tình hình tấn công vào các trang và cổng thông tin điện tử của Việt Nam đang diễn ra đáng chú ý.

Các hình thức tấn công thay đổi giao diện phổ biến

Có nhiều nguyên nhân dẫn đến việc website bị tấn công và thay đổi giao diện, chủ yếu do lỗ hổng trên webserver cho phép kẻ tấn công thay đổi nội dung hoặc thêm file lên máy chủ Ngay cả khi một website không có lỗ hổng, nó vẫn có thể bị tấn công nếu được hosting trên máy chủ đã bị xâm nhập Lỗ hổng trên ứng dụng web rất phổ biến, và OWASP (Open Web Application Security Project) là một dự án mở chuyên về bảo mật ứng dụng web Hàng năm, OWASP công bố danh sách Top 10 lỗ hổng web nguy hiểm nhất để cảnh báo về các nguy cơ tấn công, giúp quản trị viên phát hiện và khắc phục các lỗ hổng trong hệ thống.

Theo báo cáo của OWASP vào năm 2013 và 2017, top 10 lỗ hổng ứng dụng web cho thấy rằng việc tấn công và khai thác lỗ hổng bảo mật là nguyên nhân chính dẫn đến việc thay đổi giao diện website Các lỗ hổng này có thể tồn tại trên các website hoặc máy chủ hosting, tạo cơ hội cho kẻ tấn công thực hiện các hành vi xâm nhập.

10 cuộc tấn công phổ biến làm thay đổi giao diện bao gồm: File inclusion, SQL injection, XSS, mật khẩu yếu, và hệ điều hành trên server có lỗ hổng do không được cập nhật thường xuyên Dưới đây là một số thông tin chi tiết về những lỗ hổng này.

Lỗ hổng chèn mã SQL Injection (SQLi) là một trong những lỗ hổng phổ biến nhất trong các cuộc tấn công vào website, thường nằm trong danh sách top 10 lỗ hổng ứng dụng web theo OWASP Kỹ thuật này cho phép kẻ tấn công chèn mã SQL vào dữ liệu gửi đến máy chủ, dẫn đến việc thực thi các câu lệnh SQL một cách bất hợp pháp Mục đích chính của các cuộc tấn công này thường là thay đổi dữ liệu trên website, như bài viết và tiêu đề, hoặc thậm chí chiếm quyền điều khiển toàn bộ website.

Lỗ hổng XSS (Cross Site Scripting) là một trong những lỗ hổng hàng đầu trong danh sách OWASP, cho phép kẻ tấn công chèn mã độc (thường là JavaScript) vào trang web, gây ảnh hưởng đến người dùng Tin tặc có thể chèn mã vào các form tìm kiếm, URL hoặc form bình luận Khi mã độc được thực thi, giao diện website của người dùng có thể bị thay đổi, xuất hiện các form nhập thông tin nhạy cảm giả mạo, hoặc người dùng có thể bị chuyển hướng đến các trang web độc hại do tin tặc tạo ra.

Lỗ hổng File Inclusion cho phép tin tặc thực thi các file chứa mã tấn công từ xa (RFI) hoặc cục bộ (LFI) do cơ chế kiểm tra đường dẫn và tên file không an toàn Khi các file này được thực hiện, nội dung của trang web bị tấn công có thể bị thay đổi.

Lỗ hổng bảo mật do mật khẩu yếu và việc không cập nhật phần mềm thường xuyên là nguyên nhân chính dẫn đến nguy cơ bị tấn công Mật khẩu yếu dễ dàng bị tin tặc đoán hoặc bị tấn công bằng phương pháp brute force, cho phép họ chiếm quyền truy cập vào tài khoản admin và thực hiện các hành vi thay đổi trái phép Hơn nữa, việc không cập nhật phần mềm có thể để lại những lỗ hổng nghiêm trọng trong hệ thống, khiến cho máy chủ web và hệ điều hành trở thành mục tiêu dễ dàng cho các cuộc tấn công, đặc biệt là khi sử dụng các phiên bản cũ của phần mềm.

Các cơ chế, công cụ phát hiện, cảnh báo tấn công thay đổi giao diện

Phòng chống tấn công thay đổi giao diện website là mối quan tâm hàng đầu của nhiều tổ chức và cá nhân trên internet Mặc dù không có giải pháp phần mềm hoặc phần cứng nào đảm bảo an toàn tuyệt đối cho website, việc áp dụng các phương pháp và cách thức phòng ngừa vẫn là cần thiết để giảm thiểu rủi ro.

Để ngăn chặn và giảm thiểu sự cố liên quan đến tấn công thay đổi giao diện website, việc phát hiện và ngăn chặn kịp thời là rất quan trọng Mặc dù các hành vi tấn công có thể trải qua nhiều bước khác nhau, nhưng nếu chúng ta nhanh chóng phát hiện và can thiệp, cuộc tấn công sẽ không thành công.

1.3.1 Cơ chế phát hiện tấn công thay đổi giao diện từ kiểm tra sự xâm nhập

Các tin tặc thường khai thác những lỗ hổng bảo mật chưa được vá, như việc sử dụng cổng mở kết nối với máy chủ mà không cần đăng nhập, thực thi mã độc trên các kết nối hợp pháp, và lợi dụng lỗi tràn bộ đệm để chèn mã độc vào hệ thống Để nâng cao tính bảo mật của hạ tầng thông tin, việc thực hiện kiểm tra thâm nhập và kiểm tra định kỳ là rất cần thiết Những biện pháp này giúp phát hiện các lỗ hổng từ hệ điều hành, dịch vụ, ứng dụng, cấu hình sai lệch, cũng như hành vi của người dùng cuối, từ đó bảo vệ hệ thống hiệu quả hơn.

Các cuộc tấn công SQL thường xảy ra khi kẻ tấn công chèn các câu lệnh SQL vào các trường nhập dữ liệu, nhằm thao túng việc thực hiện các câu lệnh SQL đã được xác định trước Bằng cách sửa đổi các câu lệnh này, kẻ tấn công có thể can thiệp vào dữ liệu hiện có, xóa dữ liệu trong hệ thống hoặc thậm chí lấy cắp toàn bộ cơ sở dữ liệu.

Nhiều ứng dụng web thu thập dữ liệu người dùng thông qua biểu mẫu, nhưng lại trực tiếp đưa dữ liệu này vào câu lệnh SQL, tạo ra lỗ hổng bảo mật Ví dụ, kẻ tấn công có thể dễ dàng nhập email để thực hiện cuộc tấn công SQL injection.

$result = $mysqli->query(‘SELECT email, userid FROM members WHERE email = “‘.$email.’”)’;

Thay vì sử dụng đoạn mã truyền thống, bạn có thể dễ dàng ngăn chặn các vấn đề bảo mật bằng cách áp dụng biến ràng buộc với phương thức câu lệnh đã chuẩn bị Hầu hết các thư viện hiện nay đều hỗ trợ việc liên kết các đầu vào với các biến trong câu lệnh SQL, như được minh họa trong ví dụ PHP dưới đây.

$stmt = $mysqli->prepare(“SELECT email, userid FROM members WHERE email = ?;”);

Phương thức này hoạt động nhờ vào việc kết hợp các giá trị tham số với câu lệnh đã được biên dịch, thay vì sử dụng chuỗi SQL Bằng cách chỉ định tham số thông qua dấu hỏi (?), nó giúp công cụ cơ sở dữ liệu hiểu rõ hơn về các tiêu chí lọc cần thiết Do đó, việc phát hiện các dấu hiệu tấn công có thể yêu cầu xác nhận đầu vào một cách cẩn thận.

- Các ký tự: ví dụ chữ cái trong một trường số?

- Whitelisting: ví dụ: / [a-zA-Z0-9] {0,20} /, tập hợp các giá trị có thể (nếu có)

- Kiểm tra độ dài: ví dụ: 10 chữ số cho trường năm 4 chữ số?

Khi kẻ tấn công thực hiện các cuộc tấn công vào ứng dụng web, dữ liệu tương ứng sẽ được ghi lại trong tập tin nhật ký Để phát hiện các cuộc tấn công này trong tập tin nhật ký, chúng ta sử dụng biểu thức chính quy nhằm nhận diện một cách nhanh chóng.

Các web server như Apache và IIS thường tạo ra thông điệp đăng nhập theo định dạng Common Log Format (CLF) Tập tin log CLF chứa một dòng cho mỗi yêu cầu HTTP, với mỗi dòng bao gồm nhiều thẻ được ngăn cách bởi khoảng trắng, cung cấp các thông tin quan trọng về yêu cầu đó.

Host Ident Authuser Date Request Status Bytes

➢ Host: Chứa tên miền đầy đủ của client, hoặc địa chỉ IP của nó

➢ Ident: Nếu chỉ thị IdentityCheck được kích hoạt và các máy client chạy ident, thì đây là thông tin nhận dạng báo cáo của các client

➢ Authuser: Nếu các URL được yêu cầu cần xác thực thành công Basic HTTP, sau đó tên người sử dụng là giá trị của ký hiệu này

➢ Date: Ngày và thời gian yêu cầu

➢ Request: Dòng yêu cầu từ client, được đặt trong dấu ngoặc kép (“”)

➢ Status: Các mã trạng thái HTTP gồm 3 chữ số được trả lại cho client

➢ Byte: Số byte trong đối tượng trả lại cho client, bao gồm tất cả các HTTP header

Ví dụ đoạn mã sau:

54.36.150.162 - - [09/Jul/2020:13:00:58 +0700] "GET /lawis/server.php/wells/well/249 HTTP/1.1" 200 22757 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"

• 54.36.150.162: địa chỉ IP của client

• [09/Jul/2020:13:00:58 +0700]: thời gian mà các máy chủ xử lý xong yêu cầu

• "GET /lawis/server.php/wells/well/249 HTTP/1.1": Dòng yêu cầu từ client được đặt trong dấu ngoặc kép Trong đó GET là phương thức client lấy dữ liệu

• 200: Đây là mã trạng thái mà các máy chủ sẽ gửi lại cho client

• 22757: kích thước của đối tượng trả lại cho client, không bao gồm các response header

• Mozilla/5.0: phiên bản trình duyệt

Tập tin nhật ký mang lại lợi ích lớn nhờ vào tính sẵn có và khả năng phân tích nội dung dễ dàng Máy chủ web như Apache thường được cấu hình để ghi nhật ký một cách mặc định, trong khi các ứng dụng cũng thực hiện ghi nhật ký nhằm đảm bảo khả năng truy xuất nguồn gốc của các hành động Mặc dù các phương pháp phân tích nhật ký thủ công và phát hiện tấn công theo dấu hiệu rất hiệu quả, nhưng chúng tốn nhiều thời gian và công sức do khối lượng dữ liệu lớn Do đó, việc sử dụng biểu thức chính quy (Regular expression) trong phân tích tập tin nhật ký tự động là một lựa chọn hợp lý.

Biểu thức chính quy (regexp, regex hay regxp) là chuỗi mô tả một tập hợp các chuỗi khác theo quy tắc cú pháp nhất định Chúng thường được sử dụng trong các trình biên tập văn bản và các công cụ tìm kiếm, giúp xử lý văn bản dựa trên các mẫu đã được xác định Một ứng dụng quan trọng của biểu thức chính quy là trong cơ chế phát hiện tấn công thay đổi giao diện, đặc biệt là tấn công Cross Site Scripting (XSS).

Lỗi XSS xảy ra khi ứng dụng web tiếp nhận dữ liệu độc hại và gửi đến trình duyệt mà không kiểm tra tính hợp lệ của dữ liệu Tấn công này cho phép kẻ xấu thực thi mã độc trong trình duyệt của nạn nhân, có thể dẫn đến việc cướp phiên người dùng hoặc chuyển hướng đến các trang web độc hại Các cuộc tấn công XSS thường nhúng thẻ script vào các yêu cầu URL/http và thực thi trên trình duyệt.

To effectively detect XSS attacks, it is essential to identify JavaScript tags in web content, such as ``, which can indicate potential vulnerabilities A comprehensive approach involves searching for various expressions that may trigger JavaScript or other executable code Common HTML tags associated with XSS include JavaScript, VBScript, applet, meta, embed, iframe, and event handler attributes like `onload` and `onsubmit` Utilizing regular expressions, as outlined in Table 1, can help pinpoint these HTML tags as key indicators of XSS threats.

8 https://owasp.org/www-community/xss-filter-evasion-cheatsheet

Bảng 1 Một số biểu thức chính quy phát hiện tấn công XSS

STT Biểu thức chính quy Ý nghĩa

Phát hiện các nỗ lược phá vỡ cấu trúc HTML bằng tấn công khoảng trắng

Phát hiện các cuộc tấn công chứa url-, name-, JSON

Phát hiện các cuộc tấn công chứa hàm băm, sử dụng setter và làm quá tải thuộc tính

Phát hiện xss độc lập thông qua hàm with (), vòng lặp chung và chuyển đổi biểu thức chính quy thành chuỗi

Phát hiện các hàm JavaScript tự thực thi

Phát hiện chức năng mã hóa và đóng gói VBSCript / JScript

([^*\s\w,.\/?+-]\s*)?(?

|urn|(?:un)?eval|exec|execscript|tostring|status|execute|wi ndow|unescape|navigate|jquery|getscript|extend|prototype

Phát hiện các phương thức script điển hình

The article discusses various programming terms and functions related to web development, such as return, hash, name, href, and navigate It highlights the significance of these elements in managing document structures, navigating through web pages, and manipulating content within the browser Additionally, it emphasizes the importance of understanding the roles of window, document, and various properties to enhance user experience and functionality in web applications.

Phát hiện các thuộc tính và phương thức của đối tượng JavaScript

\|])(\s*return\s*)?(?:join|pop|push|reverse|reduce|concat|m ap|shift|sp?lice|sort|unshift)(?(1)[^\w%"]|(?:\s*[^@\s\w%,

Phát hiện các thuộc tính và phương thức mảng

\|])(\s*return\s*)?(?:set|atob|btoa|charat|charcodeat|charse t|concat|crypto|frames|fromcharcode|indexof|lastindexof| match|navigator|toolbar|menubar|replace|regexp|slice|split

Phát hiện các thuộc tính và phương thức chuỗi

The article discusses various programming concepts and keywords related to JavaScript, including global storage, session storage, and the use of functions and objects It highlights the importance of understanding the syntax and structure of code, such as the use of return statements, error handling with try-catch blocks, and control flow mechanisms like if statements and switch cases Additionally, it touches on data types such as arrays and strings, emphasizing their role in effective coding practices Understanding these elements is crucial for developers to create efficient and functional web applications.

:ms)?setimmediate|settimeout|setinterval|void|setexpressi on|namespace|while)(?(1)[^\w%"]|(?:\s*[^@\s\w%".+\-

Phát hiện cấu trúc ngôn ngữ

\s])|([^:\s\w,.\/?+-]\s*)?(?

Phát hiện các thăm dò XSS cơ bản

13 (?:=\s*(?:top|this|window|content|self|frames|_content))|(

Phát hiện các thăm dò XSS nâng cao thông qua Script (),

14 (?:[^:\s\w]+\s*[^\w\/](href|protocol|host|hostname|pathna me|hash|port|cookie)[^\w])

Phát hiện những nỗ lực chuyển hướng và đánh cắp cookie JavaScript

PHÂN TÍCH, THIẾT KẾ MÔ HÌNH GIẢI PHÁP PHÁT HIỆN TẤN CÔNG THAY ĐỔI GIAO DIỆN

Mô tả bài toán

Để phát hiện tấn công thay đổi giao diện website, cần xây dựng mô hình giám sát liên tục, xác định và cảnh báo các thay đổi đáng ngờ Mô hình này sẽ theo dõi sự thay đổi nội dung và giao diện website, đồng thời phát hiện các đoạn mã có khả năng gây hại Trên máy chủ kết nối với website, cần triển khai phần mềm giám sát liên tục, ghi nhận và so sánh các thay đổi, đưa ra cảnh báo thời gian thực kèm hình ảnh minh chứng Qua đó, người quản trị sẽ nhận được thông tin phân tích về các thay đổi và cảnh báo tấn công.

Dựa trên các cảnh báo từ công cụ, quản trị viên cần kiểm tra các vị trí khả nghi có thể liên quan đến tấn công thay đổi giao diện, nhằm kịp thời khắc phục sự cố nếu phát hiện.

Mô hình giải pháp đề xuất

Hình 7 Mô hình giải pháp đề xuất

Mô hình giải pháp đề xuất trong Hình 7 gồm 02 cơ chế chính như sau:

Cơ chế này thực hiện chụp ảnh và trích xuất cấu trúc, nội dung, và thuộc tính của website, đồng thời tính toán checksum MD5 cho hình ảnh và nội dung đã trích xuất Các thông tin này được lưu trữ và so sánh để thông báo sự khác biệt về style và nội dung so với lần trước của website dựa trên checksum MD5.

Cơ chế xác định tấn công

Cơ chế này cần xác định xem sự thay đổi có phải là tấn công vào giao diện hay không Nếu chưa có đủ dữ liệu, cần tiến hành phân tích tập tin nhật ký và kết hợp kết quả của phân tích với trường hợp bị thay đổi để đưa ra kết luận chính xác về việc liệu sự thay đổi đó có phải là một cuộc tấn công hay không.

Thiết kế cơ chế phát hiện thay đổi giao diện

Hình 8 Mô hình cơ chế phát hiện thay đổi giao diện

Thiết kế cơ chế phát hiện thay đổi giao diện được thể hiện trong Hình 8 với các bước cụ thể như sau: Đầu vào: Địa chỉ URL của website

Bước 1: Giám sát website theo địa chỉ URL

Để thực hiện quy trình, đầu tiên chụp ảnh trang web và lưu ảnh vào ổ đĩa Sau đó, sử dụng PhantomJS để lấy cấu trúc HTML (DOM) của trang Tiếp theo, lặp qua cấu trúc DOM để trích xuất các thuộc tính style và nội dung của từng thẻ Cuối cùng, tính toán checksum MD5 cho các thuộc tính style và nội dung đó.

25 trong HTML để so sánh sự khác biệt trong lần sau Sau đó, lưu các thông tin này dưới dạng file json

Bước 2: Phát hiện thay đổi ở trên giao diện

Thực hiện: So sánh sự khác nhau (checksum MD5) của style và nội dung so với lần trước của website

Sau đó trả kết quả trong hai trường hợp sau:

Trường hợp 1: Nội dung hiển thị không thay đổi thì lặp lại bước 1 sau khoảng thời gian được cài đặt

Trường hợp 2: Từ so sánh sự khác nhau (checksum MD5) của style và nội dung sẽ phát hiện 4 trường hợp thay đổi giao diện có thể xảy ra:

(1) Thay đổi về văn bản (text)

(2) Thay đổi thêm thành phần

(3) Thay đổi xóa thành phần

Thay đổi cấu trúc giao diện của website cần được ghi nhận, bao gồm thời gian phát hiện sự thay đổi và hình ảnh minh họa trước và sau khi giao diện được thay đổi.

Từ quy trình chi tiết, ta có giải thuật cho cơ chế phát hiện thay đổi giao diện như sau:

Input URL: nhập đường dẫn URL trực tiếp hoặc lưu sẵn trên MySQL CALL PHANTOMJS: gọi thư viện hỗ trợ PHANTOM

Bản đầu tiên ký hiệu là A, từ bản kế tiếp là B

IF checksumA == 0 THEN checksumA=checksumB: gán B làm giá trị gốc FOR i= số lượng style tương ứng styleA=styleB FOR i= số lượng text tương ứng textA=textB ELSE

FOR i= số lượng style tương ứng

IF styleAi ==! styleBi THEN COUNTstyle++:

FOR i= số lượng text tương ứng

IF textAi ==! textBi THEN COUNTtext++

Thiết kế cơ chế xác định và cảnh báo tấn công thay đổi giao diện

Hình 9 Mô hình cơ chế xác định và cảnh báo tấn công thay đổi giao diện

Cơ chế xác định và cảnh báo tấn công thay đổi giao diện được trình bày trong Hình 9, bao gồm các bước cụ thể Đầu vào của quá trình này là các thông tin liên quan đến sự thay đổi giao diện của website.

Bước 1: Xác định sự thay đổi giao diện đó có phải là tấn công hay không?

Thực hiện: Từ kết quả phát hiện 4 trường hợp thay đổi giao diện có thể xảy ra xác định tấn công thay đổi giao diện như sau:

- Khi có thay đổi (1) (2) (3) (4) đồng thời cùng xuất hiện, như vậy cả về nội dung thông điện và cả cấu trúc của website đã bị thay đổi hoàn toàn

Ta có thể cảnh báo là tấn công thay đổi giao diện vì nội dung hiện lên sẽ là các thông điệp mà tin tặc muốn truyền tải

Khi có sự thay đổi đồng thời ở (2) và (4), khả năng tin tặc chèn và thực thi mã độc trên website là rất cao Điều này cho thấy website có thể bị tấn công và giao diện bị thay đổi thông qua lỗ hổng XSS Đây chỉ là một trong nhiều trường hợp có thể xảy ra khi website bị tấn công.

Các trường hợp riêng lẻ khác không có đủ thông tin để xác định liệu đây là tấn công thay đổi giao diện hay là những thay đổi hợp lệ từ quản trị viên.

Để nâng cao độ chính xác và độ tin cậy, việc phân tích tập tin nhật ký là cần thiết nhằm phát hiện các dấu hiệu khác nhau Điều này giúp xác định xem có phải là tấn công thay đổi giao diện hay không.

Bước 2: Phân tích tập tin nhật ký tại máy chủ web Đầu vào:

● Gửi lời gọi đến chức năng phân tích tập tin nhật ký trên máy chủ web

● Thời gian phát hiện thay đổi

● Tập tin nhật ký của máy chủ web apache với cấu trúc Host Ident Authuser Date Request Status Bytes đã giới thiệu ở phần 1.3.1

Website thu thập thông tin và gửi yêu cầu đến chức năng phân tích tập tin nhật ký trên máy chủ web, kèm theo thông tin về thời gian phát hiện sự thay đổi.

Tại máy chủ web, cần đọc từng dòng của tập tin nhật ký trong vòng một ngày trước thời điểm phát hiện sự thay đổi và tiến hành phân tích để xác định nguyên nhân và tác động của sự thay đổi đó.

✓ So sánh Host, phát hiện IP bất thường (IP nước ngoài, IP không nằm trong danh sách hợp lệ đã thực hiện đăng nhập và thao tác)

Phân tích dòng truy cập thông qua yêu cầu từ client giúp phát hiện các dấu hiệu tấn công như XSS và SQL Injection bằng cách so sánh với các biểu thức chính quy có sẵn Kết quả phân tích sẽ cho biết liệu website có bị tấn công và giao diện có bị thay đổi hay không.

Từ quy trình chi tiết, ta có giải thuật cho cơ chế cơ chế xác định và cảnh báo tấn công thay đổi giao diện như sau:

(1),(2),(3),(4), time: các trường hợp thay đổi giao diện và thời gian File log của Apache hoặc IIS cấu trúc Host Ident Authuser Date Request Status Bytes

IF (1) AND (2) AND (3) AND (4) THEN

CALL Notication CALL SAVE BREAK ELSE IF (2) AND (4) AND ((1), (3) ==0) THEN

CALL Notication CALL SAVE BREAK ELSE

CALL Analysis logfile: Gọi đến chức năng phân tích tập tin nhật ký trên máy chủ web được giám sát

CUT logfile: lấy những dòng nhật ký trong khoảng thời gian cho trước

Check Host = a Check SQL Injection = b Check XSS = c

IF a OR ((1) AND b) OR ((2)AND c) OR ((3) AND d) OR ((4) AND d) THEN

CALL Notication CALL SAVE END IF

Phân tích tập luật

So sánh sự khác nhau (checksum MD5) giữa style và nội dung có thể phát hiện 4 trường hợp thay đổi giao diện, như thể hiện trong Hình 10.

(1) Thay đổi về văn bản (text)

(2) Thay đổi thêm thành phần

(3) Thay đổi xóa thành phần

(4) Thay đổi cấu trúc giao diện

Hình 10 Thống kê các trường hợp bị thay đổi 2.5.1 Xác định tấn công thay đổi giao diện thủ công

Từ kết quả phát hiện 4 trường hợp thay đổi giao diện có thể xảy ra xác định tấn công thay đổi giao diện như sau:

Khi có sự thay đổi về nội dung thông điệp, bao gồm việc thêm, xóa và cấu trúc của website bị thay đổi hoàn toàn, điều này có thể cảnh báo về việc tấn công thay đổi giao diện Nội dung hiển thị sẽ phản ánh các thông điệp mà tin tặc muốn truyền tải.

Hình 11 Trước và sau thử nghiệm kịch bản tấn công thay đổi toàn bộ website

Khi sự thay đổi (2) và (4) xảy ra đồng thời, khả năng tin tặc chèn và thực thi mã độc trên website là rất cao Điều này có thể dẫn đến việc giao diện website bị tấn công thông qua lỗ hổng XSS Đây chỉ là một trong những trường hợp có thể xảy ra trong bối cảnh an ninh mạng.

2.5.2 Xác định tấn công thay đổi giao diện kết hợp giữa trường hợp thay đổi và phân tích tập tin nhật ký

Các trường hợp riêng lẻ không đủ thông tin để xác định liệu đó có phải là tấn công thay đổi giao diện hay không Vì vậy, cần tiến hành phân tích tập tin nhật ký để có được kết luận chính xác.

Có 30 dấu hiệu chắc chắn cho thấy đây là một cuộc tấn công thay đổi giao diện Bài viết này đã phân tích 4 kết quả từ tập tin nhật ký, bao gồm: a) Dấu hiệu IP không hợp lệ, b) Dấu hiệu tấn công SQL Injection, c) Dấu hiệu tấn công Cross Site Scripting, và d) Dấu hiệu tấn công directory traversal.

Ta có Bảng 1 là sự kết hợp kết quả phân tích tập tin nhật ký với những trường hợp website bị thay đổi:

Bảng 4 Kết hợp website bị thay đổi và phân tích tập tin nhật ký

Trường hợp website bị thay đỏi

Dấu hiệu tấn công SQL Injection

Dấu hiệu tấn công Cross Site Scripting

Dấu hiệu tấn công directory traversal

Diễn giải và kết luận

(1) Thay đổi về văn bản

1a Xác định bị tấn công

1b Xác định bị tấn công

- Trường hợp 1a có thể xác định là bị tấn công thay đồi giao diện vì thay đổi từ nguồn không tin cậy

Trường hợp 1b cho thấy khả năng bị tấn công thay đổi giao diện, khi tin tặc có thể đã chiếm quyền truy cập hoặc chỉnh sửa nội dung trong cơ sở dữ liệu.

(2) Thay đổi thêm thành phần

2a Xác định bị tấn công

2c Xác định bị tấn công

- Trường hợp 2a có thể xác định là bị tấn công thay đồi giao diện vì thay đổi từ nguồn không tin cậy

- Trường hợp 2c có thể xác định là bị tấn công thay đồi giao diện khi tin tặc chèn được mã độc javascript

(3) Thay đổi xóa 3a 3b 3c 3d - Trường hợp 3a có thể xác định là bị tấn công thay đồi

Xác định bị tấn công

Xác định bị tấn công giao diện vì thay đổi từ nguồn không tin cậy

- Trường hợp 3d có thể xác định là bị tấn công thay đồi giao diện vì tin tặc đã chiếm được quyền, truy cập vào các tập tin mã nguồn

(4) Thay đổi cấu trúc giao diện

4a Xác định bị tấn công

4d Xác định bị tấn công

- Trường hợp 4a có thể xác định là bị tấn công thay đồi giao diện vì thay đổi từ nguồn không tin cậy

- Trường hợp 4d có thể xác định là bị tấn công thay đồi giao diện vì tin tặc đã chiếm được quyền, truy cập vào các tập tin mã nguồn

Các trường hợp chưa xác định thiếu tính logic cần thiết để kết luận rằng sự thay đổi và dấu hiệu đó là tấn công vào giao diện.

Qua những phân tích diễn giải ở mục 3.3.1 và 3.3.2, ta có thể suy ra một số tập luật sau:

1 Nếu website bị thay đổi hoàn toàn về nội dung, thêm, xóa và cấu trúc giao diện thì kết luận website đã bị tấn công thay đổi toàn bộ giao diện

Có thể nhận diện thủ công

2 Nếu website bị thay đổi cấu trúc giao diện và đồng thời thêm thuộc tính mới (mã javascript) thì kết luận website đã bị tấn công thay đổi giao diện bằng tấn công XSS Có thể nhận diện thủ công

3 Nếu website bị thay đổi và dấu hiệu IP không điều khiển không hợp lệ thì kết luận website đã bị tấn công thay đổi giao diện bằng cách chiếm quyền

4 Nếu website bị thay đổi nội dung văn bản và có dấu hiệu tấn công SQL Injection thì kết luận website đã bị tấn công thay đổi giao diện bằng tấn công SQL Injection

5 Nếu website bị thay đổi thêm thành phần và có dấu hiệu tấn công XSS thì kết luận website đã bị tấn công thay đổi giao diện bằng tấn công XSS

6 Nếu website bị thay đổi xóa thành phần và có dấu hiệu tấn công directory traversal thì kết luận website đã bị tấn công thay đổi giao diện bằng tấn công directory traversal

7 Nếu website bị thay đổi cấu trúc giao diện và có dấu hiệu tấn công directory traversal thì kết luận website đã bị tấn công thay đổi giao diện bằng tấn công directory traversal.

XÂY DỰNG VÀ CÀI ĐẶT THỬ NGHIỆM MÔ HÌNH PHÁT HIỆN TẤN CÔNG THAY ĐỔI GIAO DIỆN

Mô hình triển khai

Hình 12 Mô hình triển khai

Mô hình triển khai được thể hiện trong Hình 12 bao gồm các thành phần chính sau:

Quản trị viên sử dụng tài khoản đăng nhập để truy cập vào website giám sát, cấu hình địa chỉ URL cần theo dõi và tiếp nhận, xử lý các thông báo từ công cụ giám sát.

Cơ sở dữ liệu được xây dựng nhằm lưu trữ địa chỉ URL của các website cần giám sát, cùng với các thông báo từ công cụ giám sát và thông báo từ công cụ phân tích tập tin.

Thành phần chính của mô hình bao gồm hai cơ chế: phát hiện thay đổi giao diện và xác định, cảnh báo tấn công thay đổi giao diện Công cụ này sử dụng công nghệ "server send event" để thông báo thời gian thực và MySQL làm cơ sở dữ liệu để lưu trữ hình ảnh thu thập, danh sách URL trang web giám sát cùng nội dung các cảnh báo tấn công.

Công cụ phân tích tập tin nhật ký thực hiện việc phân tích các tập tin nhật ký và gửi kết quả phân tích về cơ sở dữ liệu, đồng thời kích hoạt cơ chế xác định.

34 công cụ giám sát căn cứ tập luật để xác định và cảnh báo tấn công thay đổi giao diện

Website cần giám sát là các địa chỉ URL được quản trị viên lựa chọn lúc cấu hình công cụ giám sát.

Thiết kế chức năng thực hiện các cơ chế trong công cụ giám sát

3.2.1 Chức năng quản trị viên

Hình 13 Thiết kế chức năng quản trị viên

Chức năng Quản trị viên bao gồm giao diện trang đăng nhập và trang quản trị, cho phép quản trị viên đăng nhập bằng email và mật khẩu đã được cấu hình Sau khi đăng nhập, họ có thể thêm hoặc xóa địa chỉ URL của website, xem và xóa các thông báo về sự thay đổi giao diện, cũng như đăng xuất khỏi phiên làm việc.

Hình 14 Thiết kế chức năng giám sát

Chức năng giám sát của hình 14 cho phép phát hiện thay đổi giao diện website theo thời gian lặp liên tục Bằng cách nhập URL của website, chức năng này sẽ chụp ảnh, trích xuất cấu trúc, nội dung và thuộc tính của trang web, đồng thời tính toán checksum MD5 cho hình ảnh và nội dung đã trích xuất Các thông tin này được lưu trữ và so sánh để phát hiện sự khác biệt, từ đó thông báo khi có sự thay đổi về style và nội dung so với lần kiểm tra trước.

Việc giám sát liên tục có thể bị hiểu nhầm là một hình thức tấn công từ chối dịch vụ Để tránh nhầm lẫn này, chúng ta nên thiết lập quyền truy cập cho địa chỉ IP của máy chủ giám sát trên máy chủ của website được giám sát.

3.2.3 Thiết kế chức năng xác định tấn công thay đổi giao diện

Hình 15 Thiết kế chức năng xác định tấn công thay đổi giao diện

Chức năng xác định tấn công thay đổi giao diện được thiết kế trong Hình

Khi có sự thay đổi giao diện, hệ thống sẽ gọi đến hàm 15 để xác định xem sự thay đổi đó có phải là tấn công hay không Chức năng này thực hiện việc so sánh các thay đổi với các tập luật logic đã được phân tích trước đó.

Khi chưa có đủ dữ liệu, cần tiến hành phân tích tập tin nhật ký và kết hợp kết quả này với những trường hợp bị thay đổi để xác định xem những thay đổi đó có phải là do tấn công vào giao diện hay không.

Hình 16 Hoạt động của công cụ phân tích tập tin nhật ký

Công cụ phân tích tập tin nhật ký, được đặt tại máy chủ website giám sát, sẽ được kích hoạt khi cần thêm dữ liệu để xác định xem sự thay đổi có phải là tấn công hay không Nó sẽ đọc các dòng trong tập tin nhật ký và so sánh với các biểu thức đã được định nghĩa sẵn để phát hiện các dấu hiệu của các cuộc tấn công phổ biến như XSS, SQL Injection và các nguồn truy cập không hợp lệ Kết quả phân tích sẽ được gửi về máy chủ giám sát để đưa ra quyết định.

Cấu hình, cài đặt môi trường thử nghiệm giám sát thu thập thông tin

Môi trường thực hiện thử nghiệm là hệ điều hành Windows 10 Các thành phần liên quan:

Website NAWAPI đã thiết lập dịch vụ phân giải tên miền DNS tại địa chỉ http://forecasting.vaci.org.vn/ Dịch vụ này được triển khai trên giải IP nội bộ http://10.1.101.72/cbdb/public.

Hệ thống hỗ trợ và quản lý biên bản cuộc họp tại UBND thành phố Hà Nội đã được cấu hình dịch vụ phân giải tên miền DNS tại địa chỉ https://tiepcancntt.com:8888/ Hệ thống này được cài đặt trên máy chủ localhost để thử nghiệm tại http://localhost/tiepcancntt.

Công cụ giám sát hoạt động trên giao diện web tại địa chỉ http://localhost:3000 Để đăng nhập, người dùng cần sử dụng tài khoản quản trị viên với thông tin: natuan9@monre.gov.vn và mật khẩu 123456.

Các công cụ hỗ trợ cần cài đặt:

● Máy chủ web Apache (XAMPP)

Cấu hình mã nguồn công cụ

Bước 1: đăng nhập vào phpmyadmin, tạo cơ sở dữ liệu tên 'page_monitor', import tệp tin 'setting.sql' vào cơ sở dữ liệu vừa tạo

Bước 2: mở tệp tin config.json tạo tài khoản quản trị và điền tài khoản đăng nhập cơ sở dữ liệu như Hình 17

Hình 17 Cấu hình mã nguồn công cụ

Thử nghiệm module giám sát thu thập thông tin website NAWAPI

Website NAWAPI cung cấp thông tin dự báo về môi trường nước, đóng vai trò quan trọng trong việc kiểm kê, quy hoạch và bảo vệ tài nguyên nước Thông tin được hiển thị trên trang web này là cơ sở để nâng cao nhận thức và thực hiện các biện pháp bảo vệ nguồn nước hiệu quả.

Tiến hành các kịch bản thử nghiệm các chức năng phát hiện thay đổi, lưu trữ được hình ảnh, thời gian thay đổi giao diện của website

3.4.1 Kịch bản 1: Kịch bản thay đổi toàn bộ mã nguồn

Kiểm tra khả năng phát hiện thay đổi giao diện của công cụ khi gặp tấn công thay đổi toàn bộ mã nguồn

Bước 1: Trên máy chủ giám sát tiến hành chạy dịch vụ giám sát

Hình 18 Khởi chạy dịch vụ giám sát

Hình 18 minh họa dịch vụ giám sát trong lần khởi chạy đầu tiên, trong đó công cụ sẽ lưu trữ hình ảnh gốc để làm cơ sở so sánh cho các lần sau.

Bước 2: Đăng nhập vào website quản trị

Giao diện đăng nhập trong Hình 19

Hình 19 Đăng nhập vào website quản trị

Bước 3: Thêm địa chỉ URL của website cần giám sát

Quản trị viên thực hiện thêm địa chỉ http://10.1.101.72/cbdb/public hiển thị như Hình 20

Hình 20 Thêm địa chỉ URL của Website cần giám sát

Bước 4: Tiến hành tấn công thay đổi giao diện website, ghi đè tệp tin thay đổi giao diện lên tệp tin index.php

Hình 21 là đoạn mã của tiệp tin sẽ ghi Sau khi ghi đè, website hiển thị như Hình 22

Hình 21 Nội dung thay đổi giao diện

Hình 22 Website sau khi bị tấn công

Bước 5: Theo dõi thông báo xuất hiện tại trang quản trị

Hình 23 Thông báo xuất hiện tại trang quản trị

Sau khi ghi đè tệp tin, trang quản trị sẽ hiển thị thông báo như trong Hình 23, kèm theo hình ảnh minh chứng được thể hiện trong Hình 24.

Hình 24 Hình ảnh so sánh, lưu trữ trước (00h39) và sau khi bị thay đổi (00h50)

Bước 6: Xác định tấn công

Căn cứ các tập luật logic đã phân tích, có thể xác định trường hợp này là tấn công thay đổi toàn bộ giao diện

3.4.2 Kịch bản 2: Kịch bản chèn mã javascript

Kiểm tra khả năng phát hiện thay đổi giao diện của công cụ khi gặp tấn công chèn mã javascript

Bước 1: Trên máy tính 1 tiến hành chạy dịch vụ giám sát

Bước 2: Đăng nhập vào website quản trị

Bước 3: Thêm địa chỉ URL của website cần giám sát

Bước 4: Sao chép mã nguồn file page_header.tpl ra tệp tin mới

Bước 5: Chỉnh sửa mã nguồn trong tệp tin vừa tạo, thêm một đoạn javascript

Bước 6: Tiến hành tấn công để thay đổi giao diện website bằng cách ghi đè tệp tin đã sửa đổi lên tệp tin page_header.tpl Đoạn mã JavaScript sẽ hiển thị thông báo như trong Hình 25 dưới đây.

Hình 25 Website tin tức sau khi bị tấn công

Tiếp tục chọn OK để tắt thông báo, Hình 26 là giao diện website trở lại bình thường

Hình 26 Website tin tức sau khi tắt thông báo

Bước 7: Theo dõi thông báo xuất hiện tại trang quản trị

Hình 27 Thông báo xuất hiện tại trang quản trị

Hình 28 Hình ảnh so sánh, lưu trữ trước và sau thay đổi kịch bản chèn mã javascript

Sau khi có sự thay đổi, trang quản trị sẽ hiển thị thông báo như trong Hình 27, kèm theo hình ảnh minh chứng được thể hiện trong Hình 28.

Bước 8: Xác định tấn công

So sánh hình ảnh trực quan cho thấy sự tương đồng, nhưng đã phát hiện một thành phần bổ sung Theo các quy tắc logic, trường hợp này được xác định là một cuộc tấn công chèn mã thực thi XSS.

3.4.3 Kịch bản 3: kịch bản thay đổi một phần giao diện

Kiểm tra khả năng phát hiện thay đổi giao diện của công cụ khi gặp tấn công thay đổi một phần giao diện

Bước 1: Trên máy tính 1 tiến hành chạy dịch vụ giám sát

Bước 2: Đăng nhập vào website quản trị

Bước 3: Thêm địa chỉ URL của website cần giám sát

Bước 4: Sao chép mã nguồn file page_header.php ra tệp tin mới

Bước 5: Chỉnh sửa mã nguồn trong tệp tin vừa tạo, trường hợp minh họa là xóa hoặc thay đổi một phần mã nguồn này

Bước 6: Tiến hành tấn công thay đổi giao diện website, ghi đè tệp tin thay đổi giao diện lên tệp tin page_header.php

Hình 29 là hình ảnh hiển thị của website tại thời điểm này

Hình 29 Website sau khi bị tấn công

Bước 7: Theo dõi thông báo xuất hiện tại trang quản trị

Tương tự các kịch bản trên, trang quản trị sẽ xuất hiện thông báo được hiển thị như Hình 30 và kèm theo hình ảnh minh chứng như Hình 31

Hình 30 Thông báo xuất hiện tại trang quản trị

Hình 31 Hình ảnh so sánh, lưu trữ trước và sau thay đổi một phần giao diện

Bước 8: Xác định tấn công

Khi so sánh với các quy tắc logic, những phát hiện về sự thay đổi giao diện website chưa đủ để xác định đây là một cuộc tấn công Vì vậy, việc phân tích tập tin nhật ký là cần thiết để thu thập dữ liệu chính xác hơn trước khi đưa ra quyết định cảnh báo về cuộc tấn công này.

Thử nghiệm module giám sát thu thập thông tin Hệ thống hỗ trợ và quản lý biên bản cuộc họp tại UBND thành phố Hà Nội

quản lý biên bản cuộc họp tại UBND thành phố Hà Nội

Hệ thống hỗ trợ và quản lý biên bản cuộc họp tại UBND thành phố Hà Nội là sản phẩm từ đề tài nghiên cứu xây dựng hệ thống chuyển đổi tiếng nói tiếng Việt sang văn bản và công cụ hỗ trợ tốc ký trong xử lý nghiệp vụ chuyên môn, mã số 01C-07/02-2018-3, do Trung tâm Tin học Công báo Thành phố Hà Nội chủ trì Khác với các trang tin tức thông thường như NAWAPI, người dùng cần đăng nhập tài khoản để truy cập nội dung của hệ thống này.

Cần giám sát trang đăng nhập và trang nội dung sau khi người dùng đăng nhập thành công Đối với trang đăng nhập, cần theo dõi các tình huống điều hướng, mã thực thi được chèn vào hoặc các thay đổi nhằm đánh cắp tài khoản và mật khẩu Còn với trang nội dung sau khi đăng nhập, chỉ cần kiểm tra các mã thực thi, vì khi kẻ tấn công đã xâm nhập, mục tiêu của chúng thường là thực thi mã trên máy của nạn nhân.

Để đảm bảo hiệu quả, cần thực hiện thử nghiệm với các kịch bản chức năng phát hiện thay đổi, bao gồm việc lưu trữ hình ảnh và thời gian thay đổi giao diện hệ thống nhằm đáp ứng các tình huống đã đề cập.

3.5.1 Kịch bản 1: Kịch bản thay đổi toàn bộ mã nguồn trang đăng nhập

Kiểm tra khả năng phát hiện thay đổi giao diện của công cụ là rất quan trọng khi gặp tấn công thay đổi mã nguồn Điều này giúp phát hiện các tình huống, bao gồm cả trường hợp thay đổi đường dẫn nguồn của trang.

Bước 1: Trên máy tính 1 tiến hành chạy dịch vụ giám sát

Bước 2: Đăng nhập vào website quản trị

Bước 3: Thêm địa chỉ URL của website cần giám sát

Bước 4: Tiến hành tấn công thay đổi giao diện website, ghi đè tệp tin thay đổi giao diện lên tệp tin login.html

Hình 32 là đoạn mã của tiệp tin sẽ ghi Sau đó tiến hành tải lại website sẽ được nội dung hiển thị như Hình 33

Hình 32 Mã nguồn nội dung thay đổi giao diện

Hình 33 Hình ảnh sau khi bị tấn công

Bước 5: Theo dõi thông báo xuất hiện tại trang quản trị

Hình 34 Thông báo xuất hiện tại trang quản trị

Hình 35 Hình ảnh so sánh, lưu trữ trước và sau khi bị thay đổi

Tại trang quản trị sẽ xuất hiện thông báo trường hợp thay đổi này được hiển thị như Hình 34 và kèm theo hình ảnh minh chứng như Hình 35

Bước 6: Xác định tấn công

Căn cứ các tập luật logic đã phân tích, có thể xác định trường hợp này là tấn công thay đổi toàn bộ giao diện

3.5.2 Kịch bản 2: Kịch bản chèn mã javascript trang đăng nhập

Kiểm tra khả năng phát hiện thay đổi giao diện của công cụ khi gặp tấn công chèn mã thực thi javascript

Bước 1: Trên máy tính 1 tiến hành chạy dịch vụ giám sát

Bước 2: Đăng nhập vào website quản trị

Bước 3: Thêm địa chỉ URL của website cần giám sát

Bước 4: Sao chép mã nguồn login.html ra tệp tin mới

Bước 5: Chỉnh sửa mã nguồn trong tệp tin vừa tạo, thêm một đoạn javascript

Bước 6: Thực hiện tấn công để thay đổi giao diện website bằng cách ghi đè tệp tin login.html bằng tệp tin giao diện mới Mã JavaScript sẽ hiển thị thông báo tương tự như trong Hình 36.

Hình 36 Hệ thống sau khi bị tấn công chèn mã

Tiếp tục chọn OK để tắt thông báo, Hình 37 là giao diện website trở lại bình thường

Hình 37 Hệ thống sau khi tắt thông báo

Bước 7: Theo dõi thông báo xuất hiện tại trang quản trị

Tương tự, trang quản trị sẽ xuất hiện thông báo trường hợp thay đổi này được hiển thị như Hình 38 và kèm theo hình ảnh minh chứng như Hình 39

Hình 38 Thông báo xuất hiện tại trang quản trị

Hình 39 Hình ảnh so sánh, lưu trữ trước và sau thay đổi kịch bản chèn mã javascript

Bước 8: Xác định tấn công

Căn cứ các tập luật logic đã phân tích, có thể xác định trường hợp này là tấn công chèn mã thực thi javascript

3.5.3 Kịch bản 3: kịch bản thay đổi một phần giao diện trang đăng nhập

Kiểm tra khả năng phát hiện thay đổi giao diện của công cụ khi gặp tấn công thay đổi một phần giao diện

Bước 1: Trên máy tính 1 tiến hành chạy dịch vụ giám sát

Bước 2: Đăng nhập vào website quản trị

Bước 3: Thêm địa chỉ URL của website cần giám sát

Bước 4: Sao chép mã nguồn login.html ra tệp tin mới

Bước 5: Chỉnh sửa mã nguồn trong tệp tin vừa tạo, trường hợp minh họa là xóa hoặc thay đổi một phần mã nguồn này

Bước 6: Tiến hành tấn công thay đổi giao diện website, ghi đè tệp tin thay đổi giao diện lên tệp tin login.html

Hình 40 là hình ảnh hiển thị của website tại thời điểm này

Hình 40 Hệ thống sau khi bị tấn công

Bước 7: Theo dõi thông báo xuất hiện tại trang quản trị

Hình 41 Thông báo xuất hiện tại trang quản trị

Hình 42 Hình ảnh so sánh, lưu trữ trước và sau thay đổi một phần giao diện

Khi có sự thay đổi, trang quản trị sẽ hiển thị thông báo tương tự như trong các kịch bản trước, như thể hiện trong Hình 41, kèm theo hình ảnh minh họa ở Hình 42.

Bước 8: Xác định tấn công

Căn cứ các tập luật logic đã phân tích, có thể xác định trường hợp này là tấn công thay đổi toàn bộ giao diện

3.5.4 Kịch bản 4: Kịch bản chèn mã javascript trên trang nội dung sau đăng nhập

Kiểm tra khả năng phát hiện thay đổi giao diện của công cụ khi gặp tấn công chèn mã thực thi javascript

Bước 1: Trên máy tính 1 tiến hành chạy dịch vụ giám sát

Bước 2: Đăng nhập vào website quản trị

Bước 3: Thêm địa chỉ URL của website cần giám sát, Giả định sử dụng công cụ điền tự động để đăng nhập bằng tài khoản cho trước

Bước 4: Sao chép mã nguồn TrangChu.html ra tệp tin mới

Bước 5: Chỉnh sửa mã nguồn trong tệp tin vừa tạo, thêm một đoạn javascript

Bước 6: Tiến hành tấn công để thay đổi giao diện website bằng cách ghi đè tệp tin TrangChu.html Đoạn mã JavaScript sẽ hiển thị thông báo như trong Hình 43.

Hình 43 Hệ thống sau đăng nhập khi bị tấn công chèn mã

Tiếp tục chọn OK để tắt thông báo, Hình 44 là giao diện website trở lại bình thường

Hình 44 Sau khi tắt thông báo

Bước 7: Theo dõi thông báo xuất hiện tại trang quản trị

Hình 45 Thông báo xuất hiện tại trang quản trị

Hình 46 Hình ảnh so sánh, lưu trữ trước và sau thay đổi kịch bản chèn mã javascript

Trên trang quản trị, thông báo về sự thay đổi sẽ được hiển thị như trong Hình 45, kèm theo hình ảnh minh chứng trong Hình 46.

46 chỉ ra đã có một thành phần được thêm vào

Bước 8: Xác định tấn công

Căn cứ các tập luật logic đã phân tích, có thể xác định trường hợp này là tấn công chèn mã thực thi javascript.

So sánh với các giải pháp khác

Mô hình giải pháp được đề xuất có ưu điểm nổi bật so với các công cụ hiện có, như WebOrion, với chi phí vận hành thấp, khả năng triển khai dễ dàng và tiềm năng nhân rộng cao.

Defacement Monitor, Nagios Web Application Monitoring Software, VNCS

Web Monitoring đòi hỏi chi phí thiết lập và vận hành cao, đặc biệt đối với các giải pháp sử dụng kiểm tra tổng hợp và so sánh trực tiếp nội dung, dễ dẫn đến nhiều cảnh báo sai cho các website động như diễn đàn hoặc thương mại điện tử Mô hình đề xuất đã khắc phục vấn đề này bằng cách kết hợp giám sát bên ngoài và kiểm tra máy chủ website, từ đó giảm thiểu cảnh báo sai.

Kết chương

Chương này giới thiệu về môi trường và công cụ, cùng với chi tiết từng mô đun của mô hình Qua việc thử nghiệm các kịch bản thay đổi mã nguồn, chèn mã JavaScript và điều chỉnh giao diện, mô hình đã phát hiện sự thay đổi, lưu trữ hình ảnh và thời gian thay đổi giao diện website, đồng thời đưa ra các tập luật xác định tấn công thay đổi giao diện Do hạn chế trong thực nghiệm, mô hình đã hoàn thiện các công cụ đã được đề xuất.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Việc phát hiện tấn công thay đổi giao diện website là nhu cầu thiết yếu của quản trị viên, và đề tài “Phát hiện tấn công website defacements” đã đáp ứng được yêu cầu này Qua quá trình nghiên cứu tài liệu và phát triển công cụ, cùng sự hỗ trợ của cô Vũ Thị Hương Giang, đề tài đã đạt được những kết quả đáng kể trong việc phát hiện và ngăn chặn các cuộc tấn công vào website.

Ba chương của đề tài “Phát hiện tấn công website defacements” đã thể hiện được rằng những mục tiêu đặt ra khi thực luận văn đều đã đạt được

Chương 1: Tiến hành nghiên cứu tổng quan về tấn công thay đổi giao diện; các hình thức, kỹ thuật tấn công thay đổi giao diện phổ biến; các cơ chế, công cụ phục vụ phát hiện, cảnh báo tấn công thay đổi giao diện

Chương 2: Trình bày đề xuất xây dựng mô hình, phân tích thiết kế hệ thống để xây dựng các cơ chế giám sát và phát hiện tấn công thay đổi giao diện

Chương 3: Xây dựng, triển khai các chức năng, xây dựng kịch bản kiểm thử và thử nghiệm để kiểm tra lại các kết quả lý thuyết đã nghiên cứu

Vì thời gian có hạn, hạn chế trong quá trình thử nghiệm nên luận văn không tránh khỏi có những thiếu sót và nhiều hạn chế

Luận văn đã đề xuất một mô hình giải pháp phát hiện tấn công thay đổi giao diện, bao gồm cơ chế phát hiện và xác định, cảnh báo các tấn công này Qua thử nghiệm trên môi trường phổ biến với hai đối tượng cụ thể, mô hình đã thành công trong việc phát hiện các thay đổi, lưu trữ hình ảnh và thời gian thay đổi giao diện của website Đồng thời, mô hình cũng đưa ra các tập luật để xác định các tấn công thay đổi giao diện.

Giao diện quản trị cho phép người dùng thống kê các cuộc tấn công vào website và thời điểm xảy ra, từ đó đề xuất các giải pháp an toàn thông tin cho hệ thống trong tương lai Công cụ giám sát phát hiện sự thay đổi giao diện và cảnh báo cho người quản trị, giúp giảm thiểu rủi ro từ các cuộc tấn công Người dùng cũng có thể theo dõi các thay đổi của website, thời gian xảy ra và hình ảnh minh chứng để đảm bảo an toàn cho hệ thống.

Công cụ đã đáp ứng các tiêu chí về thời gian, tính sẵn sàng và khả năng nhân rộng, cho phép quản trị viên giám sát các website một cách gián tiếp với độ trễ thông báo không quá 30 giây trong điều kiện bình thường Mô hình giải pháp kết hợp giữa giám sát nội tại máy chủ web và giám sát bên ngoài, giúp khắc phục các điểm yếu của từng công cụ, từ đó giảm thiểu tỷ lệ cảnh báo sai.

Mô hình hiện tại chưa hoàn thiện các công cụ thực nghiệm và các kịch bản kiểm thử còn hạn chế, không bao quát hết các trường hợp tổng quát Mặc dù đã đề xuất mô hình phát hiện tấn công thay đổi giao diện, nhưng chỉ phân loại được một số kiểu tấn công phổ biến, dẫn đến khả năng nhận diện sai hoặc bỏ sót một số trường hợp Các tập luật và dấu hiệu nhận biết vẫn còn nghèo nàn Để giám sát đồng thời nhiều website, cần có tốc độ đường truyền mạng cao và ổn định.

Để nâng cao khả năng bảo mật, việc thường xuyên cập nhật các kiểu tấn công là rất cần thiết nhằm làm phong phú tập luật và dấu hiệu phát hiện Việc áp dụng trí tuệ nhân tạo trong quá trình phân tích sẽ giúp phát hiện triệt để mọi cuộc tấn công, đồng thời giảm thiểu các trường hợp cảnh báo nhầm.

Rất mong nhận được sự góp ý của thầy cô

Tôi xin gửi lời cảm ơn chân thành đến TS Vũ Thị Hương Giang vì đã tận tâm hướng dẫn và chỉ bảo tôi trong suốt quá trình thực hiện luận văn tốt nghiệp.

Xin chân thành cảm ơn!

Ngày đăng: 07/12/2021, 19:26

HÌNH ẢNH LIÊN QUAN

Hình 1. Website của sân bay Tân Sơn Nhất bị tấn công thay đổi giao diện - Phát hiện tấn công website defacement
Hình 1. Website của sân bay Tân Sơn Nhất bị tấn công thay đổi giao diện (Trang 15)
Hình 2. Website vietnamairlines bị tấn công thay đổi giao diện - Phát hiện tấn công website defacement
Hình 2. Website vietnamairlines bị tấn công thay đổi giao diện (Trang 15)
Hình 3. Số lượng kết quả báo cáo website bị tấn công thay đổi giao diện trên - Phát hiện tấn công website defacement
Hình 3. Số lượng kết quả báo cáo website bị tấn công thay đổi giao diện trên (Trang 17)
Hình 4. Biểu đồ thống kê tấn công mạng tính đến 7/2019 - Phát hiện tấn công website defacement
Hình 4. Biểu đồ thống kê tấn công mạng tính đến 7/2019 (Trang 18)
Bảng  1. Một số biểu thức chính quy phát hiện tấn công XSS - Phát hiện tấn công website defacement
ng 1. Một số biểu thức chính quy phát hiện tấn công XSS (Trang 25)
Bảng  3. Một số biểu thức chính quy phát hiện các tấn công Directory Traversal - Phát hiện tấn công website defacement
ng 3. Một số biểu thức chính quy phát hiện các tấn công Directory Traversal (Trang 29)
Hình 7. Mô hình giải pháp đề xuất - Phát hiện tấn công website defacement
Hình 7. Mô hình giải pháp đề xuất (Trang 34)
Hình 8. Mô hình cơ chế phát hiện thay đổi giao diện - Phát hiện tấn công website defacement
Hình 8. Mô hình cơ chế phát hiện thay đổi giao diện (Trang 35)
Hình 9. Mô hình cơ chế xác định và cảnh báo tấn công thay đổi giao diện - Phát hiện tấn công website defacement
Hình 9. Mô hình cơ chế xác định và cảnh báo tấn công thay đổi giao diện (Trang 37)
Bảng  4. Kết hợp website bị thay đổi và phân tích tập tin nhật ký - Phát hiện tấn công website defacement
ng 4. Kết hợp website bị thay đổi và phân tích tập tin nhật ký (Trang 41)
Hình 12. Mô hình triển khai - Phát hiện tấn công website defacement
Hình 12. Mô hình triển khai (Trang 44)
Hình 13. Thiết kế chức năng quản trị viên - Phát hiện tấn công website defacement
Hình 13. Thiết kế chức năng quản trị viên (Trang 45)
Hình 14. Thiết kế chức năng giám sát - Phát hiện tấn công website defacement
Hình 14. Thiết kế chức năng giám sát (Trang 46)
Hình 15. Thiết kế chức năng xác định tấn công thay đổi giao diện - Phát hiện tấn công website defacement
Hình 15. Thiết kế chức năng xác định tấn công thay đổi giao diện (Trang 47)
Hình 16. Hoạt động của công cụ phân tích tập tin nhật ký - Phát hiện tấn công website defacement
Hình 16. Hoạt động của công cụ phân tích tập tin nhật ký (Trang 48)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN