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.
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
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:
- he_thong_canh_bao_tan_cong_thay_doi_giao_dien_website.pdf