Hệ thống cảnh báo tấn công thay đổi giao diện Website

ậu quả của việc tấn công làm thay đổi giao diện, nội dung của Website là đặc biệt nghiêm

trọng. Vì vậy, phải có những phương pháp phát hiện kịp thời những hình thức tấn công này

nhằm hạn chế tối đa hậu quả. Trong bài báo này, tác giả trình bày một phương pháp mới

cho phép phát hiện sự thay đổi giao diện, nội dung của Website. Phương pháp đề xuất được

phát triển dựa trên hàm băm và các kỹ thuật đối sánh chuỗi để tìm sự thay đổi nội dung dựa

trên sự khác biệt giữa hai tài liệu HTML (Hyper Text Markup Language) của cùng một trang

Web tại hai thời điểm khác nhau. Đồng thời, áp dụng thuật toán C4.5 (Quinlan, 1993) để

tăng độ chính xác của các cảnh báo bảo mật. Hơn thế nữa, tác giả đã triển khai thành một

ứng dụng với giao diện hài hòa, dễ sử dụng. Kết quả thực nghiệm cho thấy hệ thống phát

hiện chính xác và cảnh báo kịp thời cho quản trị viên Website khi có sự thay đổi nội dung.

pdf 21 trang kimcuc 9840
Bạn đang xem 20 trang mẫu của tài liệu "Hệ thống cảnh báo tấn công thay đổi giao diện Website", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Hệ thống cảnh báo tấn công thay đổi giao diện Website

Hệ thống cảnh báo tấn công thay đổi giao diện Website
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT Tập 8, Số 2, 2018 24–44 
24 
HỆ THỐNG CẢNH BÁO TẤN CÔNG 
THAY ĐỔI GIAO DIỆN WEBSITE 
Trần Đắc Tốta*, Đặng Lê Nama, Phạm Nguyễn Huy Phươnga 
aKhoa Công nghệ Thông tin, Trường Đại học Công nghiệp Thực phẩm TP. Hồ Chí Minh, 
TP. Hồ Chí Minh, Việt Nam 
*Tác giả liên hệ: Email: tottd@cntp.edu.vn 
Lịch sử bài báo 
Nhận ngày 25 tháng 01 năm 2018 
Chỉnh sửa ngày 18 tháng 04 năm 2018 | Chấp nhận đăng ngày 14 tháng 05 năm 2018 
Tóm tắt 
Hậu quả của việc tấn công làm thay đổi giao diện, nội dung của Website là đặc biệt nghiêm 
trọng. Vì vậy, phải có những phương pháp phát hiện kịp thời những hình thức tấn công này 
nhằm hạn chế tối đa hậu quả. Trong bài báo này, tác giả trình bày một phương pháp mới 
cho phép phát hiện sự thay đổi giao diện, nội dung của Website. Phương pháp đề xuất được 
phát triển dựa trên hàm băm và các kỹ thuật đối sánh chuỗi để tìm sự thay đổi nội dung dựa 
trên sự khác biệt giữa hai tài liệu HTML (Hyper Text Markup Language) của cùng một trang 
Web tại hai thời điểm khác nhau. Đồng thời, áp dụng thuật toán C4.5 (Quinlan, 1993) để 
tăng độ chính xác của các cảnh báo bảo mật. Hơn thế nữa, tác giả đã triển khai thành một 
ứng dụng với giao diện hài hòa, dễ sử dụng. Kết quả thực nghiệm cho thấy hệ thống phát 
hiện chính xác và cảnh báo kịp thời cho quản trị viên Website khi có sự thay đổi nội dung. 
Từ khóa: Cảnh báo tấn công; Đối sánh chuỗi; Giám sát Website; Kiểm tra tính toàn vẹn; 
Tấn công Defacement. 
Mã số định danh bài báo:  
Loại bài báo: Bài báo nghiên cứu gốc có bình duyệt 
Bản quyền © 2018 (Các) Tác giả. 
Cấp phép: Bài báo này được cấp phép theo CC BY-NC-ND 4.0 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
25 
ANTI-WEBSITE DEFACEMENT SYSTEM 
Tran Dac Tota*, Dang Le Namb, Pham Nguyen Huy Phuongb 
aThe Faculty of Information Technology, Hochiminh City University of Food Industry, 
Hochiminh City, Vietnam 
*Corresponding author: Email: tottd@cntp.edu.vn 
Article history 
Received: January 25th, 2018 
Received in revised form: April 18th, 2018 | Accepted: May 14th, 2018 
Abstract 
Recently the impacts of hackers’ attacks which change the interface and content of Website 
are particularly serious. Therefore, there should be methods to allow real-time detection of 
these changes to reduce the consequences of these attacks. This article presents a new method 
to detect the changes of the interface and content of Website. Our proposed method is 
developed based on the HTML Boyer-Moore algorithm combined with the MD5 hash 
function and has been built into an application with a user-friendly interface. Moreover, we 
applied C4.5 algorithm to enhance the accuracy of the warning messages. Changes to the 
Website such as inserting new content, deleting or editing old content, changing the format, 
color, size, and type of content will be immediately recorded and notified to the Website 
administrator. The application will also highlight the locations of these changes and send a 
warning message and recommendations to the webmaster for processing. Experiment results 
show that the proposed method can accurately locate and produce spontaneous warnings to 
the Website administrator. 
Keywords: Defacement attack; Defect attack alert; Integrity checking; String matching; 
Website monitoring. 
Article identifier:  
Article type: (peer-reviewed) Full-length research article 
Copyright © 2018 The author(s). 
Licensing: This article is licensed under a CC BY-NC-ND 4.0 
Trần Đắc Tốt, Đặng Lê Nam, và Phạm Nguyễn Huy Phương 
26 
1. ĐẶT VẤN ĐỀ 
Trong các năm gần đây, việc ứng dụng công nghệ thông tin (CNTT) ngày càng 
được tăng cường trong các cơ quan, doanh nghiệp, tổ chức đặc biệt đối với các cơ sở giáo 
dục, đó là triển khai rộng rãi các hệ thống quản lý, cung cấp các dịch vụ hành chính công 
trực tuyến, từng bước thiết lập chính quyền điện tử... Cùng với sự phát triển ứng dụng 
CNTT, mối nguy về an toàn, bảo mật đối với các hệ thống thông tin quản lý cũng ngày 
càng gia tăng. Các hoạt động tấn công mạng nhằm vào các cổng/trang thông tin điện tử 
(TTĐT) của các cơ quan giáo dục và các tổ chức tại Việt Nam có dấu hiệu gia tăng, luôn 
đứng trước nguy cơ thường trực về mất an toàn, an ninh thông tin (ATANTT). 
Một trong những hình thức tấn công (defacement) được biết rộng rãi nhất là tấn 
công thay đổi nội dung, giao diện của Website (Gaurav, Newley, & Jason, 2015). Hình 
thức tấn công này thường sử dụng các mã độc (virus, worm, trojan) để xóa bỏ, sửa đổi, 
hoặc thay thế nội dung các trang Web trên hệ thống (Webserver) (Stalling, 1999). Lỗ 
hổng Website là mục tiêu tiềm tàng của việc tấn công vì các mục đích khác nhau. Những 
kẻ phá hoại có các công cụ để tìm kiếm các lỗ hổng Website một cách sâu rộng và nhanh 
chóng, tiếp theo sẽ tiến hành khai thác những điểm yếu đó (Amanda, 2003; OWASP, 
2017). 
Những cuộc tấn công thay đổi Website đã được thực hiện để xâm phạm tính toàn 
vẹn của Website bằng một trong những hình thức sau: Thay đổi nội dung của trang Web; 
Thay đổi bất kỳ phần nào của nội dung trang Web; Thay thế toàn bộ trang Web; Chuyển 
hướng trang Web; và Phá hủy hoặc xóa bỏ trang Web (Charles, Shari, & Jonathan, 2015; 
British Broadcasting Company, 2014; & Cục An toàn Thông tin, 2016). Các hệ thống 
kiểm soát an ninh mạng như Firewall, VPN (Virtual Private Network), PKI (Public Key 
Infrastructure), là những công cụ quan trọng để bảo vệ cho hệ thống Website được an 
toàn hơn, nhưng các hệ thống nói trên không đầy đủ để đảm bảo an ninh Website, do đó 
cần những cơ chế đảm bảo an ninh tốt hơn (Hiệp hội An toàn Thông tin Việt Nam, 2017). 
Trong thực tế có nhiều phương pháp được đề xuất để bảo vệ hệ thống Website chống lại 
các cuộc tấn công. Tuy nhiên các phương pháp này cũng có nhiều ưu và nhược điểm, cụ 
thể như các mô tả sau. 
Cashin (2000) đề xuất chương trình xác minh tính toàn vẹn của tập tin. Chương 
trình này giúp xác định liệu một kẻ xâm nhập đã sửa đổi gì trong máy tính, bằng cách tạo 
ra một cơ sở dữ liệu mới chính là một bản sao của những dữ liệu cần bảo vệ. Bản cơ sở 
dữ liệu mới này được lưu trữ ở nơi nào đó an toàn và sau đó có thể được sử dụng để so 
sánh nhằm phát hiện bất kỳ sửa đổi bất hợp pháp trong máy tính. Kỹ thuật này chưa có 
phương án tự bảo vệ mình khi bản thân bị tấn công. Xiang và Hongtao (2008) đề xuất hai 
kỹ thuật sử dụng sơ đồ Watermarking để phát hiện các trang Web giả mạo. Phương pháp 
này sử dụng kỹ thuật HMAC (Keyed-Hashing for Message Authentication) hoặc kỹ thuật 
NNSC (Nonnegative Sparse Coding) để tạo ra một hình mờ từ một trang Web và sau đó 
nhúng vào trong trang Web. Khi có sự cố giả mạo xảy ra, hình mờ trong trang Web giả 
mạo sẽ bị xóa hoặc không phù hợp với nội dung, dựa vào đó ta sẽ cảnh báo. Davanzo, 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
27 
Medvet, và Bartoli (2010) đề xuất một công nghệ cho phép phát hiện defacement tự động 
bằng cách xây dựng một hồ sơ mẫu cho trang Web. Trang Web được theo dõi và mỗi khi 
có điều gì đó "bất thường" xảy ra, sẽ gởi cảnh báo cho người dùng. Tushar, Vineet, và 
Vivek (2011) đã phát triển một trình duyệt Web mẫu, có thể được sử dụng để kiểm tra, 
phát hiện defacement Website với cơ chế hoạt động như sau: Sau khi mở Website bằng 
trình duyệt, trang web sẽ được theo dõi và sử dụng hàm băm để lấy mã băm của Website, 
lưu trữ lại, sau một khoảng thời gian Website được băm lại. Một tùy chọn kiểm tra 
Website có bị tấn công được trao cho người quản trị. Người quản trị kiểm tra mã băm 
hiện tại của Website so sánh với mã băm đã lưu trước đó. Nếu hai mã băm giống nhau có 
nghĩa là Website bình thường, nếu không giống thì nghĩa là đã bị tấn công. Người quản 
trị có thể phục hồi Website về mặc định ban đầu. Phương pháp này chỉ hiệu quả đối với 
các trang tĩnh. 
Bên cạnh đó, Tushar, Vineet, và Vivek (2012) cũng đề xuất cơ chế phát hiện tấn 
công Website và phát hiện chính xác vị trí của sự tấn công bằng cách sử dụng thuật toán 
Diff. Bằng cách tích hợp các kỹ thuật phát hiện tấn công trên một trình duyệt Web. Với 
kỹ thuật này, họ tính toán mã băm cho các Website và so sánh với mã băm đã lưu trước 
đó tương ứng với Website đó. Nếu kết quả so sánh mã băm là giống nhau thì đánh dấu nó 
bình thường, nếu khác sẽ được đánh dấu là bị tấn công. Với các trang bị đánh dấu là bị 
tấn công sẽ sử dụng thuật toán Diff, tính toán so sánh giữa hai trạng thái của một trang để 
phát hiện ra vị trí bị tấn công. Các tác giả cũng đánh giá cách tiếp cận của họ hiệu quả 
hơn so với các cách tiếp cận khác với bốn tham số: Độ phức tạp không gian; Độ phức tạp 
thời gian; Số lần phát hiện tấn công; và Giá thành. Tuy nhiên cơ chế này chỉ áp dụng cho 
các Website tĩnh. 
Ramniwas, Nikhil, và Deepak (2014) đề xuất một cách tiếp cận mới để phát hiện 
Website bị tấn công bằng cách phân tích các tập tin nhật ký (log file). Các tập tin nhật ký 
được trích xuất từ máy chủ Web và được xử lý để lấy thông tin cần thiết. Thông tin này 
sẽ được chuyển sang định dạng XML (eXtensible Markup Language), vì các thông tin ở 
định dạng XML sẽ giúp việc tìm kiếm hiệu quả hơn so với định dạng văn bản thuần. Sau 
khi xử lý xong, tập tin nhật ký sẽ được phân tích để tìm ra các mẫu và các mẫu nãy sẽ 
được sử dụng để phát hiện ra các Website bị tấn công. Phương pháp này khá hiệu quả, 
tuy nhiên việc phát hiện tấn công hoàn toàn phụ thuộc vào tập tin nhật ký, vì một lý do 
nào đó nếu bị sửa đổi thì sẽ bỏ qua các trường hợp bị tấn công dẫn đến không cảnh báo 
kịp thời. Rashmi và Shahzia (2015) đề xuất cơ chế phát hiện tấn công bằng cách sử dụng 
hàm băm. Hệ thống được đề xuất bao gồm phát triển một mô-đun tích hợp vào máy chủ 
Web Apache để phát hiện tấn công trong các Website và tự động cấu hình để trang bị tấn 
công không hiển thị khi máy chủ Web nhận được yêu cầu từ người dùng hợp pháp. 
Phương pháp này khá hay khi đề xuất ngăn cản người dùng hợp pháp truy cập các Website 
đã bị tấn công. Tuy nhiên nó cũng chỉ phù hợp cho các trang tĩnh. 
Với mong muốn xây dựng một phương pháp hiệu quả hơn, chúng tôi nghiên cứu 
phương pháp mới kết hợp giám sát trong mạng nội bộ (Local Area Network - LAN) và 
giám sát từ xa. Phương pháp này kết hợp nhiều yếu tố như giám sát máy chủ, cơ sở dữ 
Trần Đắc Tốt, Đặng Lê Nam, và Phạm Nguyễn Huy Phương 
28 
liệu, sử dụng hàm băm và các kỹ thuật đối sánh chuỗi để tìm sự thay đổi nội dung dựa 
trên sự khác biệt giữa hai tài liệu HTML của cùng một Website tại hai thời điểm khác 
nhau. Đồng thời áp dụng thuật toán C4.5 để gia tăng độ chính xác của các cảnh báo. Từ 
đó xây dựng hệ thống giám sát Website nhằm phát hiện kịp thời các cuộc tấn công để 
đảm bảo tính toàn vẹn của trang, đồng thời tạo ra thông điệp cảnh báo có ý nghĩa khi đã 
bị tấn công. Đặc biệt, hệ thống này đã khắc phục được tối đa những hạn chế đã được đề 
cập ở trên. 
Nội dung của bài báo được tổ chức như sau: Mục 2 trình bày các kiến thức cơ sở lý 
thuyết; Mục 3 đề xuất phương pháp phát hiện tấn công; Mục 4 trình bày các kết quả thực 
nghiệm khi triển khai hệ thống; và Mục 5 là kết luận và hướng nghiên cứu tương lai. 
2. CƠ SỞ LÝ THUYẾT 
2.1. Hàm băm 
Hàm băm mật mã là hàm toán học chuyển đổi một bản tin có độ dài bất kỳ thành 
một dãy bit có độ dài cố định (tùy thuộc vào thuật toán băm). Dãy bit này được gọi là bản 
tin rút gọn (message digest) hay giá trị băm (hash value), biểu diễn cho bản tin ban đầu. 
Các thuật toán về hàm băm dòng MD (Message Digest) gồm MD2, MD4, MD5 do Rivest 
(1992) đề xuất. Giá trị băm theo các thuật toán này có độ dài cố định là 16 Byte. Phương 
pháp Secure Hash Standard (SHS) là chuẩn gồm tập hợp các thuật toán băm mật mã an 
toàn (Secure Hash Algorithm - SHA) như SHA-1 (20 Byte), SHA-256 (32 Byte), SHA-
512 (64 Byte) do NIST và NSA xây dựng. Hàm băm an toàn SHA phức tạp hơn nhiều, 
dựa trên các phương pháp tương tự. Ngoài ra còn có một số thuật toán khác như: 
RIPEMD, HAVAL, Whirlpool, và Tiger. Các hàm băm đề cập ở trên đều có tính bảo mật 
cao, trong đó họ SHA được coi là có tính bảo mật cao nhất. Tuy nhiên, xét về tốc độ mã 
hoá thì MD5 là hàm băm có tốc độ mã hoá cao nhất (Piyush & Sandeep, 2014). Vì vậy, 
tác giả chọn MD5 để xây dựng các cơ chế nhằm phát hiện sự thay đổi của Website. 
2.2. Đối sánh chuỗi 
Thuật toán Boyer-Moore (Boyer & Moore, 1977) là thuật toán thực hiện tìm kiếm 
chuỗi rất hiệu quả trong thực tiễn. Thuật toán kiểm tra các ký tự của mẫu từ phải sang trái 
và khi phát hiện sự khác nhau đầu tiên, thuật toán sẽ tiến hành dịch theo hai cách: 
 Cách 1: Dịch sao cho những phần đã so sánh trong lần trước khớp với những 
phần giống nó trong lần sau; 
 Cách 2: Coi ký tự đầu tiên không khớp trên văn bản là b = T[j+i-1], ta sẽ dịch 
sao cho nó có một ký tự giống b trên xâu mẫu khớp vào vị trí đó (nếu có 
nhiều vị trí xuất hiện b trên xâu mẫu chọn vị trí phải nhất). 
Với T[0 .. n-1] là văn bản có n ký tự và P[0 .. m-1] là cụm từ cần tìm có m ký tự 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
29 
với m <= n. Thuật toán duyệt các ký tự trong P từ phải sang trái, trong trường hợp không 
khớp (hoặc tìm thấy P trong T) nó sử dụng hai hàm tính lại giá trị để dịch chuyển P. Hai 
hàm dịch chuyển được dùng trong thuật toán gọi là phép dịch chuyển hậu tố (good-suffix 
shift) hay là phép dịch chuyển trung khớp và dịch chuyển ký tự tồi (bad character shift). 
2.3. Thuật toán cây quyết định C4.5 
Thuật toán C4.5 (Quinlan, 1993) là một thuật toán được cải tiến cho phép xử lý 
trên tập dữ liệu có các thuộc tính số, tập dữ liệu bị thiếu và bị nhiễu. Thuật toán này thực 
hiện phân lớp tập mẫu theo chiến lược ưu tiên theo chiều sâu, xét tất cả các phép thử có 
thể để phân chia tập dữ liệu và chọn ra một phép thử có giá trị GainRatio tốt nhất 
(GainRatio là đại lượng đánh giá độ hiệu quả của thuộc tính dùng để thực hiện phép tách 
khi phát triển cây quyết định). 
 Thuộc tính phân loại: Shannon (1948) đưa ra lý thuyết thông tin cung cấp 
một khái niệm để đo tính thuần nhất của một tập hợp gọi là Entropy. Giả sử 
các ví dụ của tập S thuộc i loại và có C giá trị phân loại thì công thức Entropy 
tổng quát được biểu diễn như trong công thức (1). 
Entropy(S)= -∑ (Pi log pi )
C
i=1 (1) 
 Độ lợi thông tin: Độ lợi thông tin (Information Gain) là một phép đo hiệu 
suất phân loại các ví dụ của một thuộc tính. Ví dụ, Gain(S, A) của thuộc tính 
A, trên tập S, được định nghĩa như công thức (2) sau đây: 
Gain(S,A)=Entropy(S)-∑
|Sv|
|S|
Entropy(Sv
c
v ∈Values (A) ) (2) 
Trong đó: Values(A) là tập hợp có thể có giá trị của thuộc tính A; Sv là tập con của 
S chứa các ví dụ có thuộc tính A mang giá trị v. 
 Tỷ suất lợi ích (GainRatio): Thuật toán C4.5 mở rộng cách tính độ lợi thông 
tin thành tỉ suất lợi ích để cố gắng khắc phục sự thiên lệch. Tỉ suất lợi ích 
được xác định bởi công thức (3). 
GainRatio(S,P)= 
Gain(S,P)
SplitInfo(S,P)
 (3) 
Trong đó: SplitInfo(S,P) là thông tin do phân tách P trên cơ sở giá trị của thuộc 
tính phân loại S. Công thức tính như trong (4). 
SplitInfo(S,P)= -∑
|Pi|
|P|
c
i=1 log
|Pi|
|P|
 (4) 
Trần Đắc Tốt, Đặng Lê Nam, và Phạm Nguyễn Huy Phương 
30 
Trong đó: P là tập các giá trị thuộc tính của S; P ... u sau khi được 
lấy ở Bước 2 sẽ được lưu xuống cơ sở dữ liệu trong lần lấy đầu tiên (dữ liệu 
mẫu), các lần sau việc lưu dữ liệu do người dùng chỉ định; 
 Bước 4: So sánh đối chiếu văn bản: Kiểm tra độ dài của văn bản bằng cách 
so sánh độ dài nội dung văn bản vừa lấy được với nội dung văn bản đã được 
lưu trước đó, nếu tỉ lệ giữa độ dài văn bản mới lấy so với độ dài đã lưu vượt 
qua một hằng số ngưỡng đã cho trước (<50%, hoặc do người dùng chỉ định) 
thì đưa ra cảnh báo, ngược lại, chuyển sang Bước 5. Kiểm tra cụm từ bắt buộc 
có trong Website. Mỗi Website đều có các cụm từ đặc trưng của cơ quan, 
công ty, tổ chức (như copyright (tên công ty, cơ quan,)). Bằng cách tìm 
kiếm nội dung của các cụm từ này trong nội dung hiện tại của Website, nếu 
bất cứ cụm từ nào mà không tìm thấy thì đưa ra cảnh báo, ngược lại, chuyển 
sang Bước 5. Hàm kiểm tra được minh họa như sau: 
isCheck  FindNotExistText(subString, parentString) 
Trong đó hàm FindNotExistText(subString, parentString) là hàm sử dụng 
thuật toán BoyerMoore để tìm sự tồn tại của chuỗi cần tìm (subString). Nếu 
isCheck = true nghĩa là không có sự mất mát nào (bình thường) ngược lại là 
cảnh báo. 
Kiểm tra cụm từ không bao giờ cho phép xuất hiện trong trang Web. Các cụm 
từ này thường là các cụm từ mà tin tặc thường để lại sau khi tấn công vào 
một trang Website nào đó, như “Hack by”. Bằng cách tìm kiếm nội dung 
của các cụm từ này trong nội dung hiện tại của Website, nếu bắt cứ cụm từ 
nào mà được tìm thấy thì đưa ra cảnh báo, ngược lại, chuyển sang Bước 5; 
Kiểm tra sự tồn tại của cụm từ khả nghi tương tự như cách kiểm tra sự mất 
mát cụm từ nhưng khác về giá trị trả về của nó là ngược lại. Tức là, isCheck 
= true nghĩa là xuất hiện cụm từ khả nghi và sẽ cảnh báo, ngược lại thì bình 
thường; 
 Bước 5: Từ kết quả xử lý của Module Crawler, thay vì sử dụng trực tiếp thuật 
toán đối sánh chuỗi để so sánh ngay và tìm ra sự thay đổi của Webpage, 
phương pháp được đề xuất sẽ sử dụng thuật toán MD5 (Hash) để băm kết 
quả thành một chuỗi để lưu trữ và so sánh với kết quả băm trước đó. Nếu kết 
quả băm ở thời điểm hiện tại có sự thay đổi so với kết quả băm đã lưu trữ 
trước đó sẽ đồng nghĩa với việc Webpage đã thay đổi về nội dung. Lúc này 
hệ thống mới tiến hành áp dụng thuật toán đối sánh chuỗi để so khớp 
(Comparator) cụ thể trên toàn bộ Webpage. Để làm tăng tốc độ của phương 
pháp đề xuất, hệ thống bổ sung thêm Module Tree Builder nhằm chia nhỏ 
Webpage thành nhiều phần theo cấu trúc HTML của cây trước khi so sánh. 
Vì vậy, khi phát hiện Webpage bị thay đổi ở phần cấu trúc nào, hệ thống sẽ 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
37 
chỉ so khớp phần nội dung của cấu trúc đó bằng đối sánh chuỗi thay vì so 
khớp toàn bộ Webpage; 
 Bước 6: Sau khi có kết quả so sánh, kết quả sẽ được lưu trữ và chuyển qua 
bộ phận cảnh báo. 
Như vậy, trong phương pháp này, hệ thống sẽ giảm được thời gian vì đã không 
cần phải luôn so khớp bằng đối sánh chuỗi ở mọi giai đoạn của phương pháp mà chỉ áp 
dụng khi chắc chắn Webpage có sự thay đổi. Thêm vào đó, cấu trúc cây sẽ giới hạn phạm 
vi thay đổi của Webpage nên khi áp dụng đối sánh chuỗi sẽ hiệu quả hơn.Với cơ chế này, 
có thể kiểm tra sự mất mát cụm từ và sự xuất hiện từ khả nghi để nhận biết Website có 
bình thường hay không. 
Hình 7. Sơ đồ thuật toán phát hiện thay đổi nội dung 
2.4.8. Cơ chế cảnh báo 
Người quản trị hệ thống không phải lúc nào trực hệ thống 24/7 để có thể xem 
chương trình thông báo lỗi mà thông tin cảnh báo cần gửi đến thiết bị hoặc phương tiện 
gần gũi với người quản trị. Việc gửi thông tin cảnh báo sẽ được gửi một cách tự động bởi 
chương trình. Để tránh gửi quá nhiều cảnh báo, các thông tin sẽ được xử lý và được gửi 
đến thành phần xử lý lọc dữ liệu (sử dụng thuật toán C4.5), thành phần này sẽ tiến hành 
lọc để biết được thông tin nào cần thiết phải cảnh báo, lưu vào CSDL, xuất ra giao diện 
người dùng. Các thông tin nghiêm trọng cần cảnh báo sẽ được gửi qua E-mail và SMS 
theo thời gian thực. Cách thức xử lý trong cơ chế cảnh báo được minh họa như sau: 
Một tập dữ liệu khoảng 10,000 bản ghi các thuộc tính (HTTP, Redirect, IP, DNS, 
Timecheck, Lengthtext, Existstext, Notexiststext, Changestext, và Result) đã được kiểm 
tra về độ chính xác của kết quả defaced hay không defaced. Tập dữ liệu này sẽ được dùng 
để huấn luyện và 5000 bản ghi sẽ dùng để làm tập dữ liệu kiểm thử. Trong quá trình giám 
sát khi nhận được các cảnh báo gởi về, nếu các cảnh báo có các dấu hiệu bất thường, các 
thông tin đó sẽ được bộ phận cảnh báo đưa vào thành phần xử lý lọc dữ liệu. Sau khi kiểm 
tra, bộ phận này sẽ quyết định mức độ nếu cần thiết sẽ gởi email và SMS để cảnh báo đến 
Trần Đắc Tốt, Đặng Lê Nam, và Phạm Nguyễn Huy Phương 
38 
người dùng hoặc bỏ qua cảnh báo, chỉ ghi nhật ký. Việc sử dụng thành phần xử lý lọc dữ 
liệu (sử dụng thuật toán C4.5) sẽ giúp hạn chế bớt các cảnh báo trùng lắp. 
3. PHƯƠNG PHÁP ĐỀ XUẤT 
3.1. Kiến trúc hệ thống 
Hệ thống được thiết kế bao gồm giao diện bộ giao tiếp (User Interface-UI) và hai 
phân hệ: Anti Website Deface Server (AWDS) và Anti Website Deface Clients (AWDC) 
như mô tả trong Hình 8, trong đó: 
 UI: Thực hiện vai trò tiếp nhận thông tin từ người dùng chuyển tiếp đến hai 
phân hệ AWDS hoặc AWDC để hiển thị thông tin kết quả; 
 AWDS: Giám sát tập trung, nằm trong hoặc cùng hệ thống mạng của hệ thống 
Webserver để tổng hợp thông tin và thực hiện cảnh báo khi có các thay đổi; 
 AWDC: Được cài đặt trên các Webserver để thu thập thông tin, giám sát 
Website, Database và gửi về cho AWDS phân tích, phát hiện các dấu hiệu 
bất thường. AWDS và AWDC giao tiếp trực tiếp với nhau qua giao thức TCP 
(Transmission Control Protocol) và quá trình giao tiếp này được mã hóa bằng 
Advanced Encryption Standard (AES). 
Hình 8. Mô hình kiến trúc hệ thống 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
39 
3.2. Mô hình xử lý cơ chế phân tích và phát hiện sự thay đổi của Website 
3.2.1. Mô hình xử lý AWDC 
Mô hình Use-Case của AWDC được biểu diễn như Hình 9. 
Hình 9. Mô hình Use-Case của AWDC 
3.2.2. Mô hình xử lý AWDS 
Mô hình Use-Case của AWDS được biểu diễn như Hình 10. 
Trần Đắc Tốt, Đặng Lê Nam, và Phạm Nguyễn Huy Phương 
40 
Hình 10. Mô hình Use-Case của AWDS 
3.3. Chức năng của hệ thống 
3.3.1. Phân hệ AWDS 
Phân hệ AWDS thực hiện một số chức năng như: (1) Theo dõi trạng thái các máy 
chủ Web có cài đặt AWDC, tổng hợp báo cáo từ các AWDC gửi về để thông báo cho 
người giám sát bằng hình thức Email hoặc tin nhắn SMS khi phát hiện Website bị tấn 
công; (2) Thông báo cho các AWDC chuyển trạng thái Website bị tấn công sang trạng 
thái báo động; (3) Phát hiện những thay đổi hoặc ngắt kết nối giữa AWDC với AWDS; 
(4) Giám sát việc hoạt động/dừng của Website; và (5) Giám sát chính xác các thông số 
cấu hình của Website DNS, IP. Đối với các Website giám sát mà không có cài đặt được 
AWDC hệ thống tự phân tích và đưa ra các cảnh báo. Tuy nhiên chức năng giám sát chỉ 
thực hiện được các chức năng đã nêu tại các Mục 2.4.1; 2.4.2; và 2.4.7. 
3.3.2. Phân hệ Anti AWDC 
Phân hệ AWDC thực hiện một số chức năng như: (1) Phát hiện sự thay đổi về cấu 
trúc, thành phần số lượng và kích thước, tên các cấu phần của Website; (2) Phát hiện sự 
thay đổi về cấu trúc, thành phần, thuộc tính, đối tượng, tên các cấu phần của Database 
Website; và (3) Thêm người dùng trên hệ thống. 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
41 
3.4. Môi trường phát triển ứng dụng 
Hiện nay có một số ngôn ngữ lập trình như Java, .Net, ... với những ưu và nhược 
điểm khác nhau. Trong đó, công nghệ .Net là phổ biến trong xây dựng phần mềm nhờ 
tính bảo mật, chuyên nghiệp, khả năng xử lý trực tiếp và linh hoạt tại các máy tính khách, 
và khả năng tương thích tốt khi tích hợp với hệ thống khác. Vì vậy, tác giả chọn công 
nghệ .Net để cài đặt phần mềm “Anti Website Deface” với các yêu cầu chức năng hệ thống 
đã đặt ra. 
4. KẾT QUẢ THỬ NGHIỆM 
4.1. Danh sách các Website thử nghiệm 
Các Website thử nghiệm đều thỏa mãn yêu cầu về công nghệ như Hệ điều hành 
Windows, Hệ quản trị Cơ sở dữ liệu Microsoft SQL Server 2008 (Bảng 1). 
Bảng 1. Địa chỉ các Website thử nghiệm 
STT Thời gian Địa chỉ Website thử nghiệm 
1 16/7/2017 – 19/8/2017  
2 16/7/2017 – 6/10/2017  
3 22/8/2017 – 15/9/2017  
4.2. Các kết quả thử nghiệm 
Chúng tôi đã triển khai tám kịch bản thử nghiệm khác nhau và số lần thử nghiệm 
là 50. Các kết quả thử nghiệm được trình bày trong Bảng 2. 
Bảng 2. Các kịch bản thử nghiệm 
STT Kịch bản thử nghiệm 
Số lần thử 
nghiệm 
Đạt yêu 
cầu 
Không đạt 
yêu cầu 
Tỷ lệ 
thành công 
1 Thay đổi hình ảnh trên trang Web 50 50 00 100% 
2 Đánh sập Website 50 50 00 100% 
3 Thay đổi thư mục 50 50 00 100% 
4 Thay đổi tính toàn vẹn của File/page 50 50 00 100% 
5 Up Shell 50 50 00 100% 
6 Thay đổi trên Database MS SQL Server 2008 50 50 00 100% 
7 Redirect Website 50 50 00 100% 
8 Thay đổi người dùng trên máy Webserver 50 50 00 100% 
Trần Đắc Tốt, Đặng Lê Nam, và Phạm Nguyễn Huy Phương 
42 
Kết quả cảnh báo sẽ được gửi đến các quản trị viên của ba Website qua hai hình 
thức là gửi Email và tin nhắn SMS. Sau đây là mô tả các kịch bản thử nghiệm: 
 Kịch bản 1: Thay đổi hình ảnh trên trang Web: Các hình ảnh của Website 
được lưu trữ trên thư mục chứa mã nguồn Website. Giả sử vì một lý do nào 
đó các hình ảnh này bị thay đổi, yêu cầu phải có cảnh báo; 
 Kịch bản 2: Đánh sập Website: Là các trường hợp Website không truy cập 
được, máy chủ bị tắt, bị tấn công từ chối dịch vụ, dịch vụ máy chủ Web bị 
tắt; 
 Kịch bản 3: Thay đổi thư mục: Thư mục mã nguồn Website bị xóa, đổi tên; 
 Kịch bản 4: Thay đổi tính toàn vẹn của File/Page: Các File/Page bị thêm, 
xóa, sửa, chèn nội dung; 
 Kịch bản 5: Up Shell: Các tập tin được đưa trái phép lên thư mục mã nguồn 
Website; 
 Kịch bản 6: Thay đổi trên Database MS SQL Server 2008: Thay đổi các thông 
tin trên cơ sở dữ liệu như mô tả trong Mục 2.4.4; 
 Kịch bản 7: Redirect Website: Trang Web bị chuyển hướng truy cập do bị 
chèn mã nguồn, bị thay đổi IP đến trang Web giả mạo; 
 Kịch bản 8: Thay đổi người dùng trên máy Webserver: Thêm, xóa tài khoản 
trên máy chủ Web. 
5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 
Nghiên cứu này đã trình bày một hướng tiếp cận bài toán hoàn toàn khác so với 
các phương pháp cũ trước đây. Phương pháp đề xuất mới này dựa trên sự kết hợp hàm 
băm MD5 và thuật toán đối sánh chuỗi và thuật toán cây quyết định đã mang lại kết quả 
rất khả quan trong việc giám sát, có thể phát hiện sự thay đổi giao diện, nội dung của 
Website một cách nhanh chóng, kịp thời theo thời gian thực. Kết quả thực nghiệm cho 
thấy các thay đổi như chèn thêm nội dung mới, xóa hay sửa nội dung cũ của mã nguồn, 
giao diện Website đều được phát hiện và cảnh báo chính xác. Tuy nhiên, phương pháp 
đề xuất cũng mới chỉ phù hợp với các Website có tần suất thay đổi nội dung ít như Website 
của sở ban ngành, các trường đại học... Trong các nghiên cứu tiếp theo, chúng tôi sẽ cải 
tiến để ứng dụng có thể phù hợp với nhiều loại Website hơn nữa. 
TẠP CHÍ KHOA HỌC ĐẠI HỌC ĐÀ LẠT [ĐẶC SAN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG] 
43 
TÀI LIỆU THAM KHẢO 
Amanda, A. (2003). Surviving security: How to integrate people, process, and 
technology. Florida, USA: CRC Press. 
Boyer, R. S., & Moore, J. S. (1977). A fast string searching algorithm. Magazine 
Communications of the ACM, 20(10), 762-772. 
British Broadcasting Company (BBC). (2012). Chinese websites 'defaced in Anonymous 
attack'. Retrieved from  
British Broadcasting Company (BBC). (2014). Nottinghamshire police Website hacked 
by Anonghost. Retrieved from 
nottinghamshire-29951605. 
Cashin. E. L. (2000). Integerit file verification system. Retrieved from  
sourceforge.net. 
Charles, P., Shari, L. P., & Jonathan, M. (2015). Security in computing. New Jersey, USA: 
Prentice Hall Press. 
Cục An toàn Thông tin. (2016). Bản tin An toàn thông tin tháng 7 năm 2016. Hà Nội, 
Việt Nam: Bộ Thông tin và Truyền thông. 
Davanzo, G., Medvet, E., & Bartoli, A. (2010). A comparative study of anomaly detection 
techniques in Website defacement detection. IFIP International Federation for 
Information Processing, 278(1), 711-716. 
David, D., Manos, A., Paul, V., Tatuya, J., & Wenke, L. (2008). Increased DNS forgery 
resistance through 0x20-bit encoding: Security via leet queries. Paper presented 
at The 15th ACM Conference on Computer and Communications Security, USA. 
Dương, A. Đ., & Trần, M. T. (2005). Mã hoá và ứng dụng. TP. Hồ Chí Minh, Việt Nam: 
NXB. Đại học Quốc gia TP. Hồ Chí Minh. 
Gaurav, R., Newley, P., & Jason, N. (2015). Malaysia airlines Website hacked by group 
calling itself "Cyber Caliphate". New York, USA: Wall Street Journal. Retrieved 
from https://www.wsj.com/articles/malaysia-airlines-website-hacked-by-group-
calling-itself-cyber-caliphate-1422238358. 
Hiệp hội An toàn thông tin Việt Nam (VNISA). (2017). Tài liệu báo cáo ngày An toàn 
thông tin Việt Nam 2017. Retrieved from https://vnisa.org.vn/thu-vien/tai-lieu-
hoi-thao/tai-lieu-bao-cao-ngay-an-toan-thong-tin-viet-nam-2017.html. 
OWASP. (2017). Top 10 most critical web application security risks. Retrieved from 
https://www.owasp.org/index.php/Category:OWASP_top_ten_project. 
Piyush, G., & Sandeep, K. (2014). A comparative analysis of SHA and MD5. 
International Journal of Computer Science and Information Technologies, 5(3), 
4492-4495. 
Trần Đắc Tốt, Đặng Lê Nam, và Phạm Nguyễn Huy Phương 
44 
Quinlan, J. R. (1993). C4.5: Programs for machine learning. Massachusetts, USA: 
Morgan Kaufmann Publishers. 
Ramniwas, K., Nikhil, K. S., & Deepak, S. T. (2014). A novel approach to detect 
Webpage tampering. International Journal of Computer Science and Information 
Technologies, 5(3), 4604-4607. 
Rashmi, K. V., & Shahzia, S. (2015). Implementation of Web defacement detection 
technique. International Journal of Innovations in Engineering and Technology, 
6(1), 134-140. 
Richard, B. (2003). C# network programming. California, USA: John Wiley & Sons 
Publishing. 
Rivest, R. (1992). The MD5 message-digest algorithm, RFC 1321. Retrieved from 
https://www.ietf.org/rfc/rfc1321.txt. 
Shannon, C. E. (1948). A mathematical theory of communication. The Bell System 
Technical Journal, 27, 379-423. 
Shar, L., & Tan, H. B. (2013). Defeating SQL injection. Computer, 46(3), 68-77. 
Stalling, W. (1999). Cryptography and network security: Principles and practice. New 
Jersey, USA: Prentice Hall Publishing. 
Tushar, K., Vineet, R., & Vivek, R. (2011). Implementing a Web browser with Web 
defacement detection techniques. World of Computer Science and Information 
Technology Journal, 1(7), 307-310. 
Tushar, K., Vineet, R., & Vivek, R. (2012). Implementation of an efficient Web 
defacement technique and spotting exact defacement location using Diff 
algorithm. International Journal of Emerging Technology and Advanced 
Engineering, 2(3), 252-256. 
Xiang, Y. L., & Hongtao, L. (2008). Fragile watermarking schemes for tamper-proof 
Webpages. Paper presented at The WASE International Conference on 
Information Engineering, China. 

File đính kèm:

  • pdfhe_thong_canh_bao_tan_cong_thay_doi_giao_dien_website.pdf