1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
Nguyễn Quốc Trung
PHÁT HIỆN TRUY NHẬP BẤT THƯỜNG VÀO MÁY CHỦ WEB
Chuyên ngành: Khoa học máy tính
Mã số: 8.48.01.01
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI – NĂM 2018
2
MỞ ĐẦU
Trong bối cảnh khoa học công nghệ ngày càng phát triển, phòng chống tội phạm
khủng bố mạng, chiến tranh mạng và ứng phó với những nguy cơ mới từ không gian
mạng là vấn đề toàn cầu được nhiều quốc gia xác định là một trong những nhiệm vụ
trọng tâm trong bảo vệ, phát triển đất nước. Việt Nam không phải ngoại lệ [1].
Phát hiện truy cập bất thường là bước quan trọng để phát hiện ra tấn công vào
máy chủ Web. Đây là bước cơ sở để thực hiện các bước tiếp theo trong việc đảm bảo an
toàn dịch vụ Web, phát hiện các hành động xâm nhập trái phép, các tấn công vào máy
chủ Web.
Trên cơ sở yêu cầu thực tiễn đặt ra, tôi đã chọn đề tài: “Phát hiện truy nhập bất
thường vào máy chủ Web”. Đây là một đề tài có ý nghĩa đối với lĩnh vực an toàn thông
tin và an ninh mạng nói chung và bảo đảm an toàn cho máy chủ Web nói riêng. Hiện tại,
những cuộc tấn công vào các hệ thống mạng nói chung và hệ thống máy chủ Web nói
riêng đang diễn ra hàng ngày, hàng giờ, thậm chí hàng phút trên toàn thế giới. Chính vì
vậy, đây là một vấn đề có tính cấp thiết, cần được nghiên cứu.
Bài luận văn gồm 3 chương chính với các nội dung sau:
Chương 1: Máy chủ web và vấn đề an toàn web
Chương 2: Phát hiện truy nhập bất thường vào máy chủ web
Chương 3: Thử nghiệm
3
CHƯƠNG 1
MÁY CHỦ WEB VÀ VẤN ĐỀ AN TOÀN WEB
1.1. Máy chủ Web và giao thức HTTP
1.1.1. Giới thiệu máy chủ web
Máy chủ web (Web server) được dùng để chỉ phần mềm máy chủ, hoặc phần
cứng dành riêng để chạy các phần mềm trên máy chủ, có thể cung cấp các dịch vụ World
Wide Web. Một máy chủ web xử lí các yêu cầu (request) từ các client (trong mô hình
server - client) thông qua giao thức HTTP và một số giao thức liên quan khác.
Các loại máy chủ Web phổ biến bao gồm:
- Apache: Đây là máy chủ Web thường được cài đặt trên Linux. Hầu hết các trang
web PHP được lưu trữ trên máy chủ Apache.
- Internet Information Services (IIS): là máy chủ Web được phát triển bởi
Microsoft. Hầu hết các trang web asp và aspx được lưu trữ trên máy chủ IIS.
- Apache Tomcat: Hầu hết các trang web Java (jsp) được lưu trữ trên máy chủ
- Các máy chủ web khác: bao gồm Web Server của Novell và máy chủ Lotus
Domino của IBM, Nginx, v.v.[8]
1.1.2. Các thành phần cơ bản của máy chủ web
Máy trạm
Bàn phím/Màn hình
Trình duyệt web
Người dùng
Kết nối HTTP/ HTTPS
Máy chủ web
Lớp trình bày
(Giao diện web)
Máy chủ CSDL
Cơ sở dữ liệu
MySQL
TCP / IP
Giao diện cơ sở dữ liệu
Tệp
nhật kí
Hình 1.1. Kiến trúc hệ thống máy chủ web
Trên hình 1.1 là kiến trúc đơn giản cho một hệ thống máy chủ Web. Web server
bao gồm thành phần giao diện Web (Presentation layer hay Web interface), thành phần
giao diện CSDL (Database interface). Máy chủ CSDL có thể đặt ngoài máy tính cài Web
Server, được kết nối với nhau qua giao diện TCP/IP. Giao diện giữa máy chủ Web và
trình duyệt của người dùng (Web Browser) được thực hiện qua kết nối HTTP hoặc
HTTPS. Toàn bộ hoạt động của máy chủ Web được ghi vào nhật ký (Log file) phục vụ
cho việc theo dõi, giám sát hoạt động và tìm lỗi).
1.1.3. Nguyên tắc hoạt động
4
Để trang web có thể hiển thị được thì cơ chế hoạt động của máy chủ web được
thể hiện qua các bước cơ bản trong tiến trình truyền tải trang web đến màn hình người
dùng như sau.
Các tiến trình cơ bản
Trình tự từng bước cơ bản xảy ra như sau:
* Trình duyệt web tách địa chỉ website làm 3 phần:
- Tên giao thức: “http”
- Tên miền của máy chủ web: “”
- Tên tệp HTML: “web-server.htm”
* Trình duyệt gửi yêu cầu kết nối tới máy chủ Web (bản tin HTTP request).
* Máy chủ Web trả lời bằng bản tin HTTP response.
* Căn cứ thông tin trong bản tin yêu cầu, máy chủ Web liên hệ với máy chủ tên
miền (DNS Server) để chuyển đổi tên miền “” ra địa chỉ
IP tương ứng.
Hình 1.2. Các bước cơ bản trong tiến trình truyền tải web
1.1.4. Ghi nhật ký (Web Log)
Web log file chính là các tệp nhật ký tự động tạo và duy trì bởi một máy chủ web.
Mỗi lần truy cập vào trang Web, bao gồm mỗi lần xem một tài liệu HTML, hình ảnh
hoặc các đối tượng của website đều được web server ghi nhận. Các máy chủ web như
IIS, Apache hay Nginx đều có các web log file để ghi lại các nhật ký hoạt động của
website[9].
1.1.5. Giao thức HTTP
HTTP (HyperText Transfer Protocol) là giao thức truyền tải siêu văn bản.
Cơ chế hoạt động chính của HTTP là Request-Response: Web Client sẽ gửi
Request đến Web Server, Web Server xử lý và trả về Response cho Web Client.
1.1.6. Một số nền tảng Apache, IIS, Ngin
* Nền tảng Apache
Apache Web Server là lựa chọn ưu việt để tạo ra một website ổn định và có thể
tùy chỉnh linh hoạt.
* Nền tảng IIS
IIS là viết tắt của từ (Internet Information Services ), được đính kèm với các phiên
bản của Windows. IIS gồm các dịch vụ máy chủ chạy trên nền hệ điều hành Window,
cung cấp và phân phối các thông tin lên mạng. IIS gồm có nhiều dịch vụ khác nhau như
Web Server, FTP Server…
* Nền tảng Nginx
Nginx là một nền tảng máy chủ Web sử dụng phổ biến giao thức HTTP, HTTPS,
SMTP, POP3, IMAP đồng thời tạo cân bằng tải. Nginx tập trung vào việc phục vụ số
lượng lớn kết nối đồng thời, hiệu suất cao và sử dụng bộ nhớ thấp. Nginx có sự ổn định
cao, nhiều tính năng, cấu hình đơn giản và tiết kiệm tài nguyên.
5
1.2.Các lỗ hổng bảo mật Web
1.2.1. Khái niệm lỗ hổng bảo mật
Lỗ hổng bảo mật (Security Vulnerability): Một điểm yếu trong một hệ thống
cho phép kẻ tấn công khai tác gây tổn hại đến an ninh, an toàn hệ thống[21].
1.2.2. Các loại lỗ hổng phổ biến của Web
Có 3 loại lỗ hổng phổ biến hiện nay:
+ Lỗ hổng loại C
+ Lỗ hổng loại B
+ Lỗ hổng loại A
Lỗ hổng Web Server
- Lỗ hổng HĐH
- Không cập nhật bản vá lỗi IIS,…
- Các dịch vụ được cài đặt mặc định
Tấn công từ chối
dịch vụ
Firewall
Tấn công tiêm mã
(XSS, SQLi,
Bof,…)
Firewall
Browser
Web Server
Thu thập
thông tin
SQL
Server
Mã độc:
virut
trojan…
Hình 1.3. Các lỗ hổng và mối đe dọa với máy chủ web
* Phân loại theo OWASP[18]
- Chèn mã (Injection)
- Lỗi xác thực, quản lý phiên (Broken Authentication and Session Management)
- Lỗi chéo trang-XSS (Cross-Site Scripting)
- Tham chiếu trực tiếp đối tượng không an toàn (Insecure Direct Object
References)
- Cấu hình bảo mật kém (Security Misconfigtiration)
- Lộ dữ liệu nhạy cảm (Sensitive Data Exposure)
- Thiếu kiểm soát truy cập mức chức năng
- Giả mạo yêu cầu liên kết trang (Cross-Site Request Forgery - CSRF)
- Sử dụng lỗ hổng đã biết (Using Known Vulnerable Components)
- Chuyển hướng không an toàn (Unvalidated Redirects and Forwards)
1.2.3. Phương pháp kiểm thử lỗ hổng
* Phương pháp kiểm thử hộp đen
Kiểm thử hộp đen (Black Box Testing) là phương pháp dựa trên đầu vào và đầu
ra của hệ thống để kiểm thử mà không quan tâm tới code bên trong.
* Phương pháp kiểm thử hộp trắng
Kiểm thử hộp trắng (White Box Testing) là phương pháp dựa vào thuật toán, cấu
trúc code bên trong của chương trình với mục đích đảm bảo rằng tất cả các câu lệnh và
điều kiện sẽ được thực hiện ít nhất một lần.
* Phương pháp kiểm thử hộp xám
Kiểm thử hộp xám (Grey Box Testing) được sử dụng để kiểm thử khi những
thông tin được biết bên trong hệ thống mang tính hạn chế. Đây là phương pháp kết hợp
giữa kiểm thử Black Box Testing và White Box Testing.
6
1.3.Tấn công vào máy chủ Web
1.3.1. Giới thiệu về tấn công vào máy chủ Web
Tấn công vào máy chủ Web là hình thức kẻ tấn công tìm cách khai thác các lỗ
hổng đã biết hoặc chưa biết trên máy chủ Web nhằm đánh cắp thông tin từ máy chủ, phá
rối hoạt động hoặc gây gián đoạn, ngưng trệ dịch vụ Web. Đối tượng bị tấn công có thể
là cá nhân, doanh nghiệp, tổ chức hoặc cơ quan nhà nước[12].
1.3.2. Một số loại tấn công điển hình vào máy chủ Web
- Tấn công chuyển dịch thư mục (Directory traversal attacks)
- Tấn công từ chối dịch vụ (Denial of Service Attacks)
- Tấn công chiếm giữ hệ thống tên miền (Domain Name System Hijacking)
- Tấn công nghe lén (Sniffing)
- Tấn công giả mạo (Phishing)
- Tấn công đầu độc (Pharming)
- Tấn công thay giao diện (Defacement)
* Công cụ tấn công máy chủ Web: Metasploit, Mpack, Zeus, Neosplit…
1.3.3. Thống kê tấn công máy chủ Web điển hình hiện nay
* Khảo sát các loại tấn công điển hình vào trang tin / cổng TTĐT
Báo cáo của Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) cho
biết trong năm 2016, tại Việt Nam ghi nhận 134.375 sự cố tấn công mạng của cả 3 loại
hình Phishing (lừa đảo), Malware (mã độc) và Deface (thay đổi giao diện), tăng hơn 4,2
lần so với năm 2015[4].
1.3.4. Một số biện pháp điển hình chống tấn công vào máy chủ Web
Nhìn chung, một số biện pháp cơ bản có thể liệt kê gồm:
- Cài đặt các bản vá lỗi thường xuyên để giúp đảm bảo các máy chủ.
- Bảo mật các cài đặt và cấu hình của hệ điều hành.
- Bảo mật các cài đặt và cấu hình của phần mềm máy chủ web.
- Sử dụng các công cụ như Snort, Nmap, Scanner Access Now Easy (SANE).
- Sử dụng tường lửa.
- Phần mềm diệt virus, mã độc.
- Vô hiệu hóa quản trị từ xa.
- Tài khoản mặc định và các tài khoản không sử dụng phải được xóa khỏi hệ thống.
- Cổng và cài đặt mặc định.
1.4. Phát hiện truy nhập bất thường vào máy chủ Web
Có hai cách để phát hiện truy nhập bất thường vào máy chủ Web. Phương pháp
truyền thống là sử dụng hệ thống phát hiện xâm nhập (IDS – Intrusion Detection
Systems).
Cách thứ hai là phát hiện các hành vi bất thường.
1.5. Kết luận chương
Trong chương này luận văn đã trình bày về các nội dung: giới thiệu về máy chủ
Web, các thành phần cơ bản của máy chủ Web, nguyên lý hoạt động, việc ghi nhật ký
Weblog, giao thức HTTP, các nền tảng máy chủ Web như IIS, Apache, Nginx. Ngoài ra
luận văn cũng đã trình bày về các lỗ hổng bảo mật Web, các loại tấn công vào máy chủ
Web, vấn đề phát hiện truy nhập bất thường vào máy chủ Web và khả năng phân tích,
phát hiện tấn công thông qua phân tích tệp nhật ký hoạt động của máy chủ Web (Web
Log).
7
CHƯƠNG 2
PHÁT HIỆN TRUY NHẬP BẤT THƯỜNG VÀO
MÁY CHỦ WEB
2.1.Phạm vi phân tích, phát hiện truy nhập bất thường vào máy chủ Web
Để thực hiện nhiệm vụ phát hiện truy nhập bất thường vào máy chủ Web, cần thu
thập dữ liệu từ Weblog. Về nguyên tắc, có thể thu thập được các nhật ký (access log,
error log, v.v. sau đây gọi chung là Weblog) từ máy chủ Web, trang tin, mạng nói chung
và các log truy cập các dịch vụ mạng. Tuy nhiên, trong khuôn khổ của bài, luận văn chỉ
tập trung vào thu thập và phân tích Weblog để phát hiện truy nhập bất thường vào máy
chủ Web.
2.2. Kiến trúc hệ thống phát hiện truy nhập bất thường
2.2.1. Tham khảo một số mô hình kiến trúc hệ thống
* IBM QRadar SIEM
QRadar SIEM (Security Information and Event Management) là hệ thống quản
lý các thông tin và sự cố an ninh được phát triển và cung cấp bởi hãng IBM.
Hình 2.1. Mô hình kiến trúc hệ thống IBM QRadar SIEM
Các tính năng tiêu biểu của QRadar SIEM như sau:
+ Khả năng phát hiện giả mạo, các nguy cơ bên trong và bên ngoài;
+ Thực hiện việc chuẩn hóa và tương quan các sự kiện tức thời;
+ Khả năng theo dõi và liên kết các sự cố và nguy cơ;
+ Có thể dễ dàng mở rộng tính năng lưu trữ, xử lý.
* Splunk
Splunk là một nền tảng xử lý và phân tích log rất mạnh, được cung cấp bởi hãng
Splunk Inc, Hoa Kỳ. Splunk có thể xử lý, phân tích log phục vụ đảm bảo an toàn thông
tin, cũng như trích rút thông tin hỗ trợ cho các hoạt động kinh doanh. Splunk cung cấp
các công cụ tìm kiếm và biểu đồ cho phép biểu diễn kết qua đầu ra theo nhiều dạng.
Hình 2.2 biểu diễn màn hình thống kê của Splunk
8
Hình 2.2. Thống kê của Splunk
* Sumo Logic
Sumo Logic là một dịch vụ xử lý, phân tích và quản lý log trên nền tảng điện toán
đám mây. Ưu điểm của Sumo Logic là cung cấp nhiều tính năng và có khả năng xử lý
nhiều loại log, đồng thời việc cài đặt cũng tương đối dễ dàng do Sumo Logic dựa trên
nền tảng điện toán đám mây, không đòi hỏi thiết bị chuyên dụng.
* Hệ thống giám sát Web của VNCS
VNCS Web monitoring là giải pháp cho phép giám sát nhiều Website đồng thời
dựa trên thu thập, xử lý và phân tích log truy cập sử dụng nền tảng Splunk do Công ty
cổ phần Công nghệ An ninh không gian mạng Việt Nam phát triển.
Hình 2.3. Thống kê thu thập Web log từ các máy chủ cần giám sát của VNCS
* Một số hệ thống mã nguồn mở
Hiện có khá nhiều hệ thống mã nguồn mở cho phép thu thập, xử lý và
quản lý các file log, điển hình như Logtash, Graylog, LOGalyze, Webalizer, FireStats,
Open Web Analytics, Go Access, Web Forensik, Weblog Expert,…
2.2.2. Kiến trúc hệ thống phát hiện truy nhập bất thường
Sơ đồ thiết kế hệ thống phân tích, phát hiện truy nhập bất thường vào máy chủ
Web được đề xuất như sau:
Weblog
Parser
Khối phân
tích log
Thống kê,
cảnh báo
Hình 2.4. Hệ thống phân tích, phát hiện truy nhập bất thường
9
- Weblog: Khối này đặc tả ghi weblog, ghi lại thông tin về các sự kiện xảy ra
trong truy nhập máy chủ, bao gồm các sự kiện truy nhập bất thường.
- Parse: Là khối xử lý sơ bộ, loại bỏ thông tin không liên quan, tạo thành tệp nhật ký
gốc, định dạng Weblog và truyền về trung tâm phân tích. Mục đích chính của việc xử lý
trước là cải thiện chất lượng và độ chính xác của dữ liệu.
- Khối phân tích Log: Phân tích dấu hiệu bất thường của Weblog
- Khối thống kê, cảnh báo: Đưa ra thống kê, cảnh báo. Sau khi đã phân tích filelog
đưa ra thống kê các truy nhập bất thường bằng địa chỉ IP…từ đó cảnh báo tấn công
máy chủ web[14].
2.3. Cấu trúc Weblog
Tệp nhật ký Weblog có định dạng chuẩn CLF (Common Log File), chứa các dòng
thông điệp cho mỗi một gói HTTP request, cấu tạo như sau[9,18]:
Host Ident Authuser Date Request Status Bytes
Trong đó:
- Host: Tên miền đầy đủ của client hoặc IP.
- Ident: Nếu chỉ thị IdentityCheck được kích hoạt và client chạy identd, thì đây
là thông tin nhận dạng được client báo cáo.
- Authuser: Nếu URL yêu cầu xác thực HTTP thì tên người dùng là giá trị của
mã thông báo này.
- Date: Ngày và giờ yêu cầu.
- Request: Dòng yêu cầu của client, được đặt trong dấu ngoặc kép (“”).
- Status: Mã trạng thái (gồm ba chữ số).
- Bytes: số bytes trong đối tượng trả về cho client, ngoại trừ các HTTP header
2.4.Nguyên tắc hoạt động của khối xử lý Parse
Về cơ bản, dịch vụ Parse cung cấp cho chúng ta các tác vụ chính sau:
- Core: Đây là nơi chúng ta quản lý những dữ liệu đã được upload lên thông qua
service của Parse
- Push: Gửi push notification tới các thiết bị đa nền tảng, lọc tin nhắn theo từng
đối tượng khách hàng.
- Analytics: Đây là nơi chúng ta quản lý và thống kê các thông tin về việc sử
dụng service trong app: Phân tích việc sử dụng dữ liệu của người dùng, phân tích việc
hiệu quả của sử dụng các push notification, tìm và fix các lỗi của ứng dụng.
- Settings: Đây là nơi lưu các keys của tất cả API. Ngoài ra, chúng ta có thể chỉnh
setting cho ứng dụng của chúng ta tại đây, quản lý bảo mật, xuất dữ liệu,...
- Docs: Đây là nơi cung cấp các tài liệu về API để chúng ta tham khảo và sử dụng
trong ứng dụng
2.5.Thu thập thông tin Weblog cho phát hiện bất thường
2.5.1. Thu thập thông tin từ logfile hệ thống
Trong một hệ thống mạng lớn như VCCorp, quản trị viên thường thu tập một
lượng lớn dữ liệu như log thiết bị, log hệ thống, các thông tin cảnh báo, thông điệp điều
khiển được tạo ra trên mạng lưới bởi các ứng dụng hoặc thiết bị.
2.5.2.Thu thập thông tin từ công cụ
Các phương pháp phân tích tập tin nhật ký thủ công và phát hiện tấn công theo
dấu hiệu luôn là các phương pháp hiệu quả về mặt kết quả, tuy nhiên sẽ mất rất nhiều
thời gian và công sức để phân tích log file, vì log file thường chứa rất rất nhiều dòng
nhật ký. Vì vậy Regular expression là lựa chọn phù hợp.
10
Regular (Regex) cho phép xử lý các chuỗi ký tự linh hoạt, hiệu quả và mạnh mẽ.
Regex cho phép mô tả và phân tích chuỗi ký tự với các bản mẫu tương tự như một ngôn
ngữ lập trình nho nhỏ. Regex có trong nhiều dạng công cụ, nhưng sức mạnh của nó chỉ
được thể hiện tối đa khi là 1 phần của một ngôn ngữ lập trình.
2.6. Phương pháp trích chọn đặc trưng dữ liệu
Về cơ bản việc bóc tách các thuộc tính đặc trưng bao gồm hai phần là xây dựng
các thuộc tính và lựa chọn các thuộc tính đặc trưng. Lựa chọn thuộc tính được xem như
là sự tổng hợp của ba thành phần chính: tìm kiếm, đánh giá, chọn lựa mô hình.
* Chiến lược tìm kiếm
Lựa chọn thuộc tính có thể được xem như là một vấn đề tìm kiếm, trong đó mỗi
bước trong không gian tìm kiếm xác định ra một tập con thuộc tính liên quan. Một
phương pháp tìm kiếm là tìm ra tập con tối ưu bắt đầu từ một tập rỗng các thuộc tính.
* Tiêu chuẩn lựa chọn
Tất cả các chiến lược tìm kiếm đều có nhu cầu đánh giá một thuộc tính hoặc
một tập con thuộc tính để xác định thuộc tính/tập con đó là tốt hay không tốt. Việc đánh
giá này thường là phức tạp và có nhiều chiều đánh giá.
* Các mô hình Filter và Wrapper
- Mô hình Wrapper
- Mô hình Filter
* Một số thuật toán trích chọn thuộc tính
• Tìm kiếm toàn bộ
- Phương pháp Focus
Phương pháp này xem xét tất cả các kết hợp có thể của N các thuộc tính, bắt đầu
từ một tập con rỗng các thuộc tính: là tập con thứ nhất, là tập con thứ hai,…. Khi Focus
tìm ra một tập con thỏa mãn tiêu chí đo lường độ ổn định, giải thuật sẽ dừng lại.
- Phương pháp AAB
Giải thuật ABB bắt đầu với một tập tất cả các thuộc tính, ABB thực hiện chiến
lược tìm kiếm theo chiều rộng. Tại mỗi bước giải thuật lần lượt loại bỏ một thuộc tính
cho đến khi không còn một thuộc tính nào có thể được loại bỏ mà vẫn thỏa mãn tiêu chí
độ ổn định. Cuối cùng, một tập với số lượng các thuộc tính nhỏ nhất được chọn lựa nếu
nó thỏa mãn tiêu chí đo lường U[10,13].
• Tìm kiếm theo kinh nghiệm
Phương pháp đơn giản nhất trong các phương pháp tìm kiếm theo kinh nghiệm
là “trích” ra một bộ phân lớp và thực hiện việc chọn lựa các thuộc tính bằng cách sử
dụng bộ phân lớp được tạo ra trước đó.
• Tìm kiếm xác suất
Phương pháp LVF bao gồm một thủ tục có thể tạo ra tạo ra các tập con thuộc
tính một cách ngẫu nhiên và một thủ tục nhằm đánh giá xem mỗi tập con được tạo ra có
thỏa mãn tiêu chuẩn chọn lựa hay không.
2.7.Cách thức phân tích Weblog phát hiện bất thường
* Kỹ thuật phát hiện tấn công dựa vào dấu hiệu đã biết trước.
- Kỹ thuật phân tích bị động
Kỹ thuật phân tích tấn công bị động dựa trên các dấu hiệu từ một danh sách đen
(black list hoặc rulebase) và một chính sách mặc định cho phép mọi thứ. Điều này có
nghĩa là mọi request đều được chấp nhận. Danh sách đen này sẽ định nghĩa những dấu
hiệu bị coi là không hợp lệ và được gắn cờ (dấu hiệu) là một cuộc tấn công web.
- Kỹ thuật phân tích chủ động
11
Kỹ thuật phân tích tấn công chủ động ngược lại hoàn toàn với kỹ thuật phân tích
bị động. Chính sách mặc định ở đây là từ chối tất cả và có một danh sách trắng (white
list) các ký tự hợp lệ cho phép. Hầu hết các các tường lửa đều được cấu hình theo cách
này[7].
* Kỹ thuật phát hiện tấn công dựa vào dấu hiệu bất thường
Kỹ thuật phát hiện tấn công dựa trên sự bất thường của các request tới website
thông qua các bộ luật (rules) được tự động xây dựng thông qua quá trình tự học
(learnmod).
2.8. Phương pháp phân tích, đánh giá kết quả
* Các bước xử lý khi website bị tấn công:
- Khắc phục tạm thời:
Bước đầu tiên, quản trị viên cần cách ly / sao lưu trạng thái máy chủ web để phục
vụ công tác điều tra về sau
- Rà soát, xử lý
Để kiểm tra các file bị sửa đổi trên website có thể thực hiện bằng cách so sánh
với bản backup, ta sử dụng câu lệnh sau:
# diff –qr
Hoặc lệnh
# md5sum
- Xác định và vá lỗ hổng website:
Đây là bước yêu cầu người thực hiện phải có kiến thức chuyên môn tốt và kinh
nghiệm để có thể tìm và khắc phục các lỗ hổng, nếu người có nhiệm vụ không thể tự
thực hiện có thể thuê các đơn vị uy tín bên ngoài.
- Điều tra nguồn tấn công
Sau khi phân tích shell và mã độc (nếu có), tìm ra chi tiết thông tin server điều
khiển, địa chỉ tải mã độc. Sau đấy gửi yêu cầu trợ giúp điều tra tới các cơ quan chức năng.
Gửi cảnh báo tới các cơ quan đơn vị khác có liên quan để đề cao cảnh giác.
- Đưa website trở lại hoạt động
Sau khi rà soát và xử lý hoàn tất các bước cần nhanh chóng đưa website trở lại
hoạt động để tránh gián đoạn hoạt động của cơ quan, tổ chức quá lâu.
Trong quá trình vận hành, khai thác cần theo dõi thường xuyên, thực backup dữ
liệu, kiểm tra bảo mật cho website để tránh những sự cố đáng tiếc xảy ra[9].
2.9. Kết luận chương
Trong chương 2, luận văn đã trình bày về phạm vi hệ thống, kiến trúc một số hệ
thống điển hình cho thu thập, phân tích và phát hiện truy nhập bất thường vào máy chủ
Web. Tiếp đó, bài đã trình bày về kiến trúc một hệ thống phát hiện truy nhập bất thường
vào máy chủ Web với các thành phần Weblog, khối Parser thu thập và xử lý, khối phân
tích Log, khối thống kê, cảnh báo. Luận văn đã trình bày chi tiết các nội dung cấu trúc
Weblog, nguyên lý hoạt động của Parser, cách thức thu thập thông tin Weblog, cách
thức trích chọn đặc trưng dữ liệu, phân tích và phát hiện truy nhập bất thường, phương
pháp phân tích và đánh giá kết quả.
12
CHƯƠNG 3
THỬ NGHIỆM
3.1. Mô hình hệ thống máy chủ Web tại Công ty VCCorp
VCCORP DNS
(GDNSD)
Frontend
Load Balancer
Load Balancer
Load Balancer
HCM
HN1
HN2
CDN HCM
CDN HN1
CDN HN2
Backend
DANTRI
DANTRI
Webserver HN1
Webserver HN1
Hình 3.1. Mô hình hệ thống máy chủ web của VCCorp
Các thành phần trong sơ đồ mạng cụ thể như sau:
- VCCorp DNS (GDNSD): Đây là hệ thống tên miền đặt tên, liên kết với các
trang thiết bị mạng tầng dưới với mục đích định vị và địa chỉ hóa các thiết bị đó.
- Frontend: Khối này gồm các thiết bị cân bằng tải có chức năng phân phối các
client requests hoặc network load đảm bảo tính khả dụng và độ tin cậy cao bằng cách
chỉ gửi các yêu cầu đến máy chủ trực tuyến tầng bên dưới, tầng Backend.
- Backend: Khối này gồm các Server Database lưu trữ cơ sở dữ liệu web dantri.
3.2. Đặc tả dữ liệu máy chủ ghi nhận được
Việc ghi nhận dấu hiện bất thường thể hiện qua ví dụ tấn công brute force vào hệ
thống ftp được thể hiện như sau[20].
13
Để thực hiện tấn công, sử dụng công cụ Hydra có sẵn trên Kali linux. Tạo danh
sách các mật khẩu trên kali bằng crunch có sẵn trên Kali, Mở terminal của kali và dùng
lệnh:
crunch 6 6 123456qacsderewrer –o /root/Desktop/password.txt,
Đây là một file dự đoán mật khẩu được tạo ra trên destop của kali. Sau đó mở
terminal trên kali, sử dụng lệnh:
hydra -V -l administrator -P /root/Desktop/password.txt ftp://192.168.1.102
Quá trình tấn công brute force vào ftp server được thực hiện, lúc này nếu mở log
activity trên giao diện giám sát an ninh mạng ta sẽ thấy log của dịch vụ FTP như sau:
Hình 3.2. Log của dịch vụ FTP
Sử dụng công cụ sqlmap tấn công sql injection vào web site 192.168.1.102. Mở
terminal trên kali, sử dụng lệnh[8]:
sqlmap -u http://192.168.1.102/irooms.asp?opt=35 --dbs
Hình 3.3. Sử dụng công cụ sqlmap tấn công sql injection
Có thể vào thư mục chứa log trên web server, để kiểm tra và phân tích trong
trường hợp hệ thống log bị lỗi. Với việc xem xét, phân tích log có thể xác định một cách
cụ thể các thông tin như các thông tin được phân tích trên hệ thống giám sát an ninh
mạng, nhưng sẽ chỉ có các thông tin mà không có các mức đánh giá khách quan về các
tấn công và không được tường minh dễ phân tích như phân tích trên hệ thống giám sát
an ninh mạng.
14
Hình 3.4. File log trên web server
3.3. Thử nghiệm phân tích, phát hiện bất thường với công cụ Weblog Expert
WebLog Expert là một trình phân tích nhật ký truy cập nhanh và mạnh mẽ.
* Tính năng, đặc điểm của WebLog Expert[16]
- Hỗ trợ các bản ghi Apache, IIS và Nginx.
- Tự động phát hiện định dạng nhật ký
- Có thể đọc nhật ký nén GZ và ZIP
- Tạo báo cáo bao gồm thông tin văn bản và biểu đồ
- Nó cung cấp thông tin về hoạt động chung, thống kê và hoạt động truy cập.
- Cung cấp nhiều thông tin về khách truy cập, trình duyệt, lỗi và liên kết giới thiệu
Chương trình có giao diện trực quan. Trình thủ thuật tích hợp sẽ giúp ta nhanh
chóng và dễ dàng tạo tiểu sử cho trang web và phân tích nó.
3.4. Một số kết quả thử nghiệm với Weblog Expert
Dữ liệu được thu thập từ máy chủ web của công ty VCCorp từ ngày 4 tháng 11
năm 2018 đến ngày 11 tháng 11 năm 2018. Sau đây là một số kết quả thử nghiệm phát
hiện bất thường với công cụ Weblog Expert[17,25].
Thống kê hoạt động cho thấy hoạt động hàng ngày và hàng giờ của nhật ký tập
tin. Nếu tệp nhật ký chứa dữ liệu liên quan đến khoảng thời gian hai tháng thì công cụ
này cũng sẽ hiển thị hoạt động hàng tuần và hàng tháng của khách truy cập.
Hình 3.5. Các truy cập vào Web theo ngày trong tuần
Hình 3.16 thể hiện lưu lượng truy cập vào các trang web là không đồng đều, có
sự đột biến cao trong các ngày cuối tuần. Từ đó ta có thể khoanh vùng, đưa ra những
15
kiểm tra cụ thể trong các ngày đột biến: Các trang web truy cập trong ngày, thời gian
truy cập…
Hình 3.7. Các hành vi truy nhập thống kê theo giờ trong ngày
Biểu đồ trên cho thấy thời gian truy cập tăng dần, trong đó buổi sáng thường
10h, buổi tối khoảng 20h là thời điểm có lượng truy cập cao nhất trong ngày.
* Hoạt động truy cập (Access Activity)
Hoạt động truy cập cung cấp thông tin phổ biến nhất các trang, tệp được tải
xuống nhiều nhất và hầu hết các hình ảnh được yêu cầu.
Hình 3.18. Các truy cập vào Web theo từng ngày
Hình 3.18 mô tả các truy cập vào Web theo từng ngày, trong đó đường minh họa
màu xanh nước biển có lưu lượng truy nhập PhP có độ tăng đột biến thể hiện một tấn
công Web.
Hình 3.8. Các trang phổ biến nhất
Biểu đồ trên thể hiện rõ truy nhập bất thường vào trang phpmyadmin/index
16
* Khách truy cập (Visitors)
Thống kê theo địa chỉ IP cho phép nhà quản trị khoanh vùng được địa điểm truy
cập. Từ đó có thể phát hiện được lãnh thổ truy cập: Truy cập bắt nguồn từ nước nào, nhà
mạng nào…
* Liên kết giới thiệu (Referrer)
Cho thấy các công cụ tìm kiếm được sử dụng để tìm trang web.
* Trình duyệt (Browsers)
Giai đoạn phân tích này cung cấp thông tin về trình duyệt và hệ điều hành được
khách truy cập của trang web sử dụng.
* Thống kê các lỗi (Errors).
Hình 3.22 cho thấy 2 loại đã xảy ra lỗi trong khi truy cập trang web. Lỗi đầu tiên
“404” xảy ra khi không tìm thấy liên kết và lỗi thứ hai 400 Bad Request thường được
gây ra khi bạn nhập hoặc dán URL sai trong cửa sổ địa chỉ.
Hình 3.9. Các loại lỗi xảy ra
Từ thông tin này, các thay đổi bắt buộc sẽ được thực hiện đối với mã trang web,
để tỷ lệ lỗi trong tương lai giảm.
* Kiểm tra filelog
Hình 3.10. File log phát hiện truy nhập bất thường
Sau khi thống kê được các bất thường dựa trên các báo cáo biểu đồ, bảng biểu
phần mềm Weblog Expert ta có thể phát hiện ra các truy nhập bất thường (ngày, giờ, địa
17
chỉ IP…). Từ đó kiểm tra filelog có thể thấy rõ hơn địa chỉ IP, ngày giờ, lệnh truy cập…
Hình 3.33 cho thấy truy cập lệnh:
"GET
/phpmyadmin/index.php?pma_username=root&pma_password=p@ssword1&server=
1 HTTP/1.0" …
Đây là lệnh dự đoán tên đăng nhập và mật khẩu để thực hiện truy nhập bất thường.
Từ đó đưa ra các phương án ngăn chặn kịp thời bất thường xảy ra. Nhà quản trị cần kiểm
tra filelog hàng ngày.
3.5. Kết luận chương
Trong chương 3, luận văn đã trình bày về một số kết quả thử nghiệm phân tích
Weblog phát hiện truy nhập bất thường vào máy chủ Web tại Công ty VCCorp. Luận
văn đã trình bày cụ thể một số đặc tả dữ liệu Weblog máy chủ ghi nhận được, trình bày
tóm tắt về công cụ Weblog Expert dùng để thu thập, phân tích dấu hiệu Weblog. Tiếp
đó, bài đã trình bày một số kết quả thử nghiệm.
18
KẾT LUẬN
Phân tích logfile, phát hiện các truy nhập bất thường vào máy chủ Web là một
nhu cầu thực tế đặt ra giúp phán đoán nguy cơ xảy ra các cuộc tấn công vào máy chủ
Web. Phát hiện truy cập bất thường là bước quan trọng để phát hiện ra tấn công vào máy
chủ Web. Trên cơ sở đó thực hiện các bước tiếp theo trong việc đảm bảo an toàn dịch
vụ Web, phát hiện các hành động xâm nhập trái phép, các tấn công vào máy chủ Web.
Ngày nay có nhiều biện pháp phát hiện truy cập bất thường dựa trên nguyên lý
chung là xây dựng một tập dấu hiệu bình thường của hệ thống, tiếp đó thu thập các hành
vi truy nhập vào máy chủ, so sánh với tập dấu hiệu bình thường đã lưu sẵn. Nếu có sự
khác biệt có nghĩa là có hành vi truy nhập bất thường. Một khả năng khác để thu thập
thông tin về các hành vi là sử dụng công cụ thu thập thông tin về máy chủ Web và thực
hiện phân tích, phát hiện dấu hiệu truy nhập bất thường vào máy chủ Web. Điển hình là
công cụ WLELite.
Mục đích của bài là nghiên cứu về vấn đề truy nhập bất thường vào máy chủ
Web, các phương pháp thu thập dữ liệu Weblog và phân tích, phát hiện dấu hiệu bất
thường.
Các kết quả nghiên cứu đạt được trong bài gồm:
- Nghiên cứu tổng quan về máy chủ web, logfile, truy cập bất thường.
- Nghiên cứu phương pháp phát hiện truy cập bất thường vào máy chủ web thông
qua thu thập và phân tích Weblog.
- Ứng dụng thử nghiệm phần mềm WLELite trong việc thu thập, phân tích thông
tin từ máy chủ web của VCCorp.
Hướng phát triển tiếp:
Luận văn là bài toán cơ sở để phát hiện dấu hiệu bất thường truy cập máy chủ
web bất kì, các trung tâm dữ liệu. Kết quả thực hiện đề tài có ý nghĩa thiết thực khi được
triển khai ứng dụng tại nhà cung cấp dịch vụ Hosting là VCCorp.
19
TÀI LIỆU THAM KHẢO
1. Tiếng việt
[1]. Hoàng Đăng Hải (2014), Tài liệu môn An ninh mạng, Học viện Công nghệ Bưu
chính Viễn thông, Hà Nội.
[2]. Phạm Duy Lộc, Hoàng Xuân Dậu, Khảo sát các nền tảng và kỹ thuật xử lý Log truy
cập dịch vụ mạng cho phát hiện nguy cơ mất an toàn thông tin, Tạp chí KH Đại học
Đà Lạt, Tập 8, Số 2, 2018.
[3]. Trịnh Nhật Tiến (2008), An toàn và an toàn thông tin, Nhà xuất bản quốc gia.
[4]. Võ Đỗ Thắng (2013), Tấn công và phòng thủ cho ứng dụng Web, Trung tâm An
ninh mạng Athena
[5]. Nghị định Chính phủ, Quản lý, cung cấp, sử dụng dịch vụ internet và thông tin trên
mạng, số 72/2013/NĐ-CP.
[6]. Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (2009), TCVN ISO/IEC
27001:2009, Bộ Thông tin và Truyền thông, Hà Nội.
2. Tiếng Anh
[7]. Christopher Kruegel, Giovanni Vigna. Anomaly Detection of Webbased Attacks.
CCS '03 Proceedings of the 10th ACM conference on Computer and
communications security. Pp. 251-261.
[8]. Hongxin Hu, Gail-Joon Ahn and Ketan Kulkarni. Anomaly Discovery and Resolution
in Web Access Control Policies. SACMAT’11. Proceedings of the 16th ACM
symposium on Access control models and technologies. Pp. 165-174.
[9]. Juan M. Est_evez-Tapiador, Pedro Garc_ıa-Teodoro, Jes_us E. D_ıaz-Verdejo.
Measuring normality in HTTP traffic for anomaly-based intrusion detection.
Computer Networks 45 (2004) 175–193.
[10]. Juan M. Estévez-Tapiador. Pedro García-Teodoro. Jesús E. Díaz-Verdejo.
Detection of Web-based Attacks through Markovian Protocol Parsing. ISCC 2005.
Proceedings. 10th IEEE Symposium on Computers and Communications, 2005.
[11]. Sipola, Tuomo; Juvonen, Antti; Lehtonen, Joel. Anomaly detection from network
logs using diffusion maps. Engineering Applications of Neural Networks (pp. 172181). IFIP Advances in Information and Communication Technology (363).
20
[12]. Shilin He, Jieming Zhu, Pinjia He, and Michael R. Lyu. Experience Report: System
Log Analysis for Anomaly Detection. IEEE 27th International Symposium on
Software Reliability Engineering (ISSRE), 2016.
[13]. Shaimaa Ezzat Salama. Web Server Logs Preprocessing for Web Intrusion
Detection. Computer and Information Science, Vol. 4, No. 4; July 2011. Pp. 123134.
[14]. Yi Xie and Shun-Zheng Yu. Monitoring the Application-Layer DDoS Attacks for
Popular Websites. IEEE/ACM TRANSACTIONS ON NETWORKING, VOL.
17, NO. 1, FEBRUARY 2009. Pp. 15-26
3. Website
[15]. />[16]. />[17]. />[18]. />[19]. />[20]. />[21]. />[22]. />[23]. />[24]. />[25]. />