Tải bản đầy đủ (.pdf) (27 trang)

Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.76 MB, 27 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

NGUYỄN TRỌNG NGHĨA

XÂY DỰNG CÔNG CỤ NHẬN DẠNG TẤN CÔNG
ỨNG DỤNG WORDPRESS DỰA TRÊN
SỰ BẤT THƯỜNG
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ

THÀNG PHỐ HỒ CHÍ MINH – 2017


Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: PGS.TS Trần Văn Hoài

Phản biện 1: TS. Nguyễn Tuấn Đăng
Phản biện 2: TS. Đàm Quang Hồng Hải

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: 10 giờ 20 ngày 05 tháng 8 năm 2017

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông



1

MỞ ĐẦU
CMS (Content Management System) hay còn gọi là
hệ thống quản lý nội dung được sử dụng nhằm mục đích
giúp người quản trị trang web dễ dàng quản lý, chỉnh sửa nội
dung. Hệ thống CMS của Wordpress được sử dụng rất phổ
biến và chiếm thị phần cao nhất so với các hệ thống khác
59,1%, Joomla chiếm 6,9%, Drupal chiếm 4,7%, Magento
chiếm 2,5% và Blogrer chiếm 2,2% [15] theo số liệu khảo
sát từ đầu tháng 5 năm 2017 của w3techs. Trên thực tế có
hơn 27% các trang web trên thế giới đang sử dụng nền tảng
của Wordpress.
Tuy nhiên hệ thống Wordpress luôn tìm ẩn các lỗ
hổng bảo mật trong các ứng dụng được cài đặt. Những năm
gần đây, các ứng dụng web đang là mục tiêu tấn công phổ
biến [5] của các tin tặc. Để bảo vệ các ứng dụng trong
Wordpress cần xây dựng một lớp bảo vệ có khả năng tùy
biến cao, dễ dàng cài đặt và cập nhật cơ chế phát hiện kịp
thời nhằm sớm nhận biết các dấu hiệu bất thường của các
tấn công mới.
Mục đích của luận văn tập trung nghiên cứu và xây
dựng công cụ nhận dạng các tấn công phổ biến từ bên ngoài
vào hệ thống Wordpress dựa trên các mô hình học các hành
vi bình thường, từ đó đưa ra các thông báo, chính sách ngăn
chặng hoặc cách ly theo dõi tự động trên hệ thống. Với mục
đích đó, luận văn được bố cục các nội dung sau:



2
Chương 1: Tổng quan về bảo mật và các giải pháp nhận
dạng tấn công ứng dụng web
- Những vấn đề bảo mật Website và CMS
- Phương pháp bảo mật quan trọng
- Học máy
Chương 2: Các mô hình nhận dạng tấn công ứng dụng
Wordpress dựa trên sự bất thường
- Định nghĩa tổng quát về sự bất thường
- Các mô hình nhận dạng
Chương 3: Phương pháp học máy trong nhận dạng tấn
công ứng dụng Wordpress dựa trên sự bất thường
- Nhận xét và đánh giá mô hình
- Đề xuất mô hình nhận dạng
- Phương pháp tạo tập dữ liệu huấn luyện
- Mô hình và thuật toán kết hợp nhận dạng
- Mô hình nhận dạng
Chương 4: Cài đặt, thực nghiệm và đánh giá


3
CHƢƠNG 1 – TỔNG QUAN VỀ BẢO MẬT VÀ CÁC
GIẢI PHÁP NHẬN DẠNG TẤN CÔNG
ỨNG DỤNG WEB
Chương này, trình bày tổng quan về vấn đề bảo mật
Website, hệ thống quản lý nội dung CMS, kiến trúc
Wordpress, mô hình hoạt động của ứng dụng web, phương
pháp bảo mật quan trọng, tổng quan học máy và các ứng dụng
của học máy.
1.1. Những vấn đề bảo mật Website và CMS

1.1.1. Khái niệm về Website và CMS
Website là một “trang web” trên mạng Internet, là nơi
giới thiệu những thông tin, hình ảnh về một tổ chức, đơn vị,
doanh nghiệp… và sản phẩm, dịch vụ của họ (hay giới thiệu
bất cứ thông tin gì) để khách hàng (người dùng) có thể truy cập
ở bất kỳ nơi đâu, bất cứ lúc nào khi được kết nối Internet.
Trong khi đó, CMS (Content Management System) là
hệ thống quản trị nội dung nhằm mục đích giúp người quản trị
dễ dàng quản lý, chỉnh sửa nội dung. Có rất nhiều CMS trên
thế giới, nhưng thông dụng nhất hiện nay vẫn là Wordpress.
Wordpress là một phần mềm nguồn mở (Open Source
Software) được viết bằng ngôn ngữ lập trình PHP (Hypertext
Preprocessor) và sử dụng hệ quản trị cơ sở dữ liệu MySQL.


4
Wordpress được xem như là một hệ quản trị nội dung
vượt trội để hỗ trợ người dùng tạo ra nhiều thể loại Website
khác nhau. Hầu như mọi hình thức Website với quy mô vừa và
nhỏ đều có thể triển khai trên nền tảng Wordpress. Nhưng
không có nghĩa là Wordpress chỉ thích hợp với các dự án nhỏ,
mà hiện nay có tới khoảng 27% Website trong danh sách 100
Website lớn nhất thế giới sử dụng mã nguồn Wordpress. Ví dụ
như trang tạp chí TechCrunch, Mashable, CNN, BBC
America... Ở Việt Nam, Wordpress đang chiếm ưu thế bởi tính
dễ sử dụng, dễ xây dựng và nâng cấp thêm các chức năng mới
thông qua một thành phần gọi là plugin.
Plugin là một trình cắm thêm vào Website để bổ sung
các chức năng cần thiết. Plugin đơn giản là những plugin
không cần tương tác với cơ sở dữ liệu, như plugin tạo ra các

icons social, chèn link để truy cập tới facebook được chỉ định.
Ngược lại những plugin phức tạp có tương tác với cơ sở dữ
liệu, hỗ trợ tạo ra các trang shopping, social network, các trang
cấu hình bảo mật an toàn hệ thống…Hình 1.1 cho thấy vị trí
plugin được nạp trong quá trình xử lý dữ liệu của Wordpress.


5

Wordpress URL

Translations Loaded

Theme Loaded

wp-config Loaded

Pluggables Loaded

Functions Loaded

Plugins Loaded

Page Content

Hình 1.1: Quy trình xử lý dữ liệu Wordpress

1.1.2. Kiến trúc của Wordpress
Wordpress có kiến trúc như hình 1.2 sau:


Hình 1.2: Kiến trúc tổng quan của Wordpress
(Nguồn: )


6
Không như kiến trúc của các nền tảng web khác,
Wordpress xử lý các chức năng độc lập trên từng ứng dụng
như: post.php, wp-login.php, comment.php, date.php... Hình
1.3 cho thấy trình tự tạo môi trường thông qua các hàm và lời
gọi các ứng dụng tương ứng.
/**
* Loads the WordPress environment and template.
* @package WordPress
*/
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once( dirname(__FILE__) . '/wp-load.php' );
// Set up the WordPress query.
wp();
// Load the theme template.
require_once( ABSPATH . WPINC . '/template-loader.php' );
}

Hình 1.3: Chi tiết nạp môi trƣờng trong Wordpress
/** The name of the database for WordPress */
define('DB_NAME', 'wp'); // Thông tin cơ sở dữ liệu
/** MySQL database username */
define('DB_USER', 'mysql'); // User để kết nối với cơ sở dữ liệu
/** MySQL database password */

define('DB_PASSWORD', ' mysql '); // Mật khẩu của user
/** MySQL hostname */
define('DB_HOST', 'localhost'); // Để mặc định là localhost

Hình 1.4: Các giá trị cần có để kết nối CSDL của Wordpress

Cấu trúc thư mục và tập tin mặc định của Wordpress
được tổ chức như hình 1.5 sau đây:


7







wp-admin
wp-content
 mu-plugins
 plugins
 plugin-name
 plugin-file.php
 themes
 parent-theme
 child-theme
 uploads
wp-includes
wp-config.php


Hình 1.5: Cấu trúc tổ chức thƣ mục mặc định của Wordpress


wp







wp-admin
wp-content (no constant! Just happens
to be here)
 themes
(register_theme_directory())
 twentyfifteen
 wp-includes
content (WP_CONTENT_DIR)
 mu-plugins
 plugins
 plugins-name
 plugins-file.php
 themes
 twentyfifteen-child
 uploads
wp-config.php (dirname(ABSPATH).’/wpconfig.php’)

Hình 1.6: Cấu trúc tổ chức thƣ mục hiện đại của Wordpress



8
Cấu trúc trên cho thấy các thay đổi như: lõi
Wordpress có thư mục riêng; thư mục nội dung được cấu
hình cùng cấp thư mục lõi, không lồng bên trong lõi như cấu
trúc chung; thư mục themes được cấu hình riêng như thư
mục bổ sung riêng biệt; tập tin cấu hình được đặt ở mức trên
thư mục chính.
Việc tách thư mục lõi và thư mục nội dung có lợi ở
chổ: cấu trúc rõ ràng hơn; quản lý công việc đơn giản và
thuận tiện hơn (ví dụ như sao lưu); áp dụng các nguyên tắc
phát triển hiện đại.
Nhìn chung hệ thống Wordpress gồm 3 thư mục chính:
wp-admin, wp-content, wp-includes và một số tập tin chạy
ngoài thư mục gốc, mỗi loại tập tin (ứng dụng) sẽ phục vụ cho
một mục đích cụ thể của Wordpress như đã đề cặp.
1.1.3. Mô hình hoạt động của ứng dụng web
Trình duyệt phía ngƣời dùng

Người dùng gửi các yêu
cầu theo giao thức HTTP/
HTTPs đến máy chủ web

Hệ thống phía máy chủ

Internet
Phản hồi từ
máy chủ web
(HTML, CSS,

JavaScript, hình
ảnh )

Máy chủ web
Máy chủ
ứng dụng web

Máy chủ cơ sở dữ liệu

Hình 1.7: Mô hình hoạt động của ứng dụng web
(Nguồn: windowsecurity.com)


9
1.1.4. Vấn đề bảo mật Website và CMS
1.2. Phƣơng pháp bảo mật quan trọng
Dựa vào danh sách kiểm tra bảo mật của Wordpress
[18], có nhiều vấn đề cần quan tâm như: Phần mềm bị lỗi
thời (Out-of-date), cập nhật, loại bỏ các plugin và các theme
không sử dụng, mật khẩu, thay đổi các khóa (keys) bảo mật
và mã muối (salts), vai trò của người quản trị, thực hiện cơ
chế xác thực 2 bước (Two-Factor Authentication), di chuyển
hoặc thay đổi tài khoản mặc định.
1.2.1. Danh sách rủi ro bảo mật cho ứng dụng Wordpress
OWASP [11]
1.2.2. Các phương pháp nhận dạng tấn công ứng dụng web
Có 2 phương pháp chính đó là sử dụng kỹ thuật nhận
dạng tĩnh hoặc kỹ thuật nhận dạng động [20].
Kỹ thuật nhận dạng tấn
công ứng dụng web


Kỹ thuật nhận dạng động
(Real-time detection)

Nhận dạng tấn công
trên mạng (Networkbased)

Kỹ thuật nhận dạng tĩnh
(Log-based detection)

Nhận dạng tấn công trên
máy chủ (Webserverbased)

Hình 1.8: Phƣơng pháp phát hiện tấn công ứng dụng web


10
1.3. Học máy
1.3.1. Tổng quan
1.3.2. Các ứng dụng của học máy
Trong phạm vi của đề tài, học máy theo phương pháp
học không giám sát được ứng dụng trong giai đoạn huấn luyện
dữ liệu, giai đoạn dựng mô hình nhận dạng. Cụ thể như:
 Học danh sách thực tế các đường dẫn được truy cập hợp
pháp
 Học các quan hệ hợp lệ giữa đường dẫn và các tham số
cho mỗi đường dẫn duy nhất
 Học một thuộc tính đến trước một thuộc tính khác khi
chúng xuất hiện cùng nhau trong danh sách tham số
 Học kiểu giá trị bằng cách xem xét mẫu của các kiểu giá

trị cho từng thuộc tính, ví dụ: kiểu string, integer,
boolean, hay double v.v…Chi tiết được trình bày trong
mục 3.4.


11
CHƢƠNG 2 – CÁC MÔ HÌNH NHẬN DẠNG TẤN
CÔNG ỨNG DỤNG WORDPRESS DỰA TRÊN SỰ
BẤT THƢỜNG
Chương này, trình bày định nghĩa tổng quát về bất
thường, phân tích các đặc điểm của các mô hình nhận dạng tấn
công ứng dụng Wordpress.
2.1. Định nghĩa tổng quát về sự bất thƣờng
Sự bất thường là các mẫu trong dữ liệu mà không phù
hợp với khái niệm xác định các hành vi bình thường.

Hình 2.1: Hình minh họa sự bất thƣờng trong dữ liệu

Hình 2.1 cho thấy sự bất thường trong một tập hợp dữ
liệu 2 chiều đơn giản. Các dữ liệu có hai khu vực bình thường
là N1 và N2, điểm O1 và O2, và các điểm trong khu vực O3,
là bất thường.
Ở một mức độ trừu tượng, một sự bất thường được
định nghĩa như là một mô hình mà không phù hợp với hành vi
dự kiến bình thường. Một cách tiếp cận phát hiện bất thường


12
đơn giản là xác định một khu vực đại diện cho hành vi bình
thường và tuyên bố bất kỳ quan sát trong các dữ liệu mà không

thuộc về khu vực này như một sự bất thường. Tuy nhiên
phương pháp này gặp một số yếu tố khó khăn như sau:
 Xác định một khu vực bình thường trong đó bao gồm tất
cả các hành vi có thể bình thường là rất khó khăn. Ngoài
ra, ranh giới giữa hành vi bình thường và bất thường
thường không chính xác. Vì vậy, một quan sát bất
thường nằm gần ranh giới thực sự có thể là bình thường,
và ngược lại.
 Khi bất thường là kết quả của các hành động độc hại, có
chủ đích thì người thực hiện thường sẽ thích ứng để làm
cho các quan sát dị thường xuất hiện như bình thường,
do đó khiến cho công việc xác định hành vi bình thường
khó khăn hơn.
 Trong nhiều lĩnh vực hành vi bình thường đang được
hoàn thiện và một quan niệm hiện tại của hành vi bình
thường có thể không có đủ đại diện trong tương lai.
 Các khái niệm chính xác của một sự bất thường là khác
nhau cho các lĩnh vực ứng dụng khác nhau. Ví dụ, trong
lĩnh vực y tế một sự sai lệch nhỏ từ bình thường (ví dụ,
biến động về nhiệt độ cơ thể) có thể là một sự bất
thường, trong khi độ lệch tương tự trong lĩnh vực thị


13
trường chứng khoán (ví dụ, biến động về giá trị của một
cổ phiếu) có thể được coi là bình thường. Vì vậy việc áp
dụng một kỹ thuật được phát triển trong một tên miền
khác là không đơn giản.
 Sẵn có của dữ liệu được dán nhãn cho đào tạo/xác nhận
của các mô hình được sử dụng bởi bất thường kỹ thuật

phát hiện thường là một vấn đề lớn.
 Thường thì các dữ liệu chứa noise (noise có thể được
định nghĩa như là một hiện tượng trong dữ liệu mà
không phải là mối quan tâm của các nhà phân tích,
nhưng hoạt động như một trở ngại để phân tích dữ liệu)
mà có xu hướng được tương tự như các bất thường và
do đó rất khó để phân biệt và loại bỏ.
Do những thách thức trên, mô hình phát hiện bất
thường ở dạng chung nhất là khó thực hiện. Trong thực tế, hầu
hết các kỹ thuật phát hiện bất thường hiện giải quyết một vấn
đề cụ thể và việc xây dựng được dựa trên các yếu tố khác nhau
như bản chất của dữ liệu, sẵn có của dữ liệu có nhãn, loại bất
thường được phát hiện. Các nhà nghiên cứu đã áp dụng các
khái niệm từ nhiều lĩnh vực đa dạng như thống kê, học máy,
khai thác dữ liệu, lý thuyết thông tin, lý thuyết quang phổ, và
đã áp dụng vào công thức cho vấn đề cụ thể.


14

Research Areas
Machine Learning
Data Mining
Statistics
Information Theory
Spectral Theory


Anomaly Detection Technique


Nature of Data

Label
Anomaly Type
s
Problem Characteristics

Output

Application Domains
Intrustion Detection
Fraud Detection
Fraud/Damage Detection
Medical Informatics


Hình 2.2: Các kỹ thuật cơ bản trong nhận dạng bất thƣờng

Phân loại sự bất thường được mô tả trong hình 2.3 sau:

Hình 2.3: Phân loại sự bất thƣờng


15
Phân loại các bất thường được thể hiện trong hình 2.4 sau:

Hình 2.4: Hình mô tả phân loại bất thƣờng

2.2. Các mô hình nhận dạng
2.2.1. Cấu trúc yêu cầu (Request structure)

2.2.2. Các giá trị yêu cầu (Request values)
2.2.3. Phản hồi (Response)
2.2.4. Cấu trúc phiên (Session structure)
2.2.5. Hồ sơ người dùng (User profile)
2.2.6. Tổng quan hệ thống (System overview)


16
CHƢƠNG 3 – PHƢƠNG PHÁP HỌC MÁY TRONG
NHẬN DẠNG TẤN CÔNG ỨNG DỤNG WORDPRESS
DỰA TRÊN SỰ BẤT THƢỜNG
Chương này, trình bày những nhận xét và đánh giá
các mô hình ở chương 2, đề xuất mô hình phù hợp với ứng
dụng Wordpress. Đồng thời nêu phương pháp tạo tập dữ liệu
huấn luyện được sử dụng trong đề tài và phân tích mô hình
và thuật toán kết hợp để thực hiện nhận dạng.
3.1. Nhận xét và đánh giá mô hình
- Mô hình nhận dạng theo cấu trúc yêu cầu
Bảng 3.1: Đánh giá mô hình cấu trúc yêu cầu

Cấu trúc yêu cầu (Request structure)
Ưu điểm Dễ dàng triển khai.
Chức năng nền tảng.
Hạn chế Quá đơn giản.
Không ngữ cảnh.
Không quan trọng khi đứng một mình.
Nhận xét Chức năng căn bản.
- Mô hình nhận dạng theo các giá trị yêu cầu
Bảng 3.2: Đánh giá mô hình các giá trị của yêu cầu


Các giá trị của yêu cầu (Request values)
Ưu điểm Chuyên dụng.
Phân tích dữ liệu ở mức thấp nhất.
Có thể tùy chỉnh cho các thuộc tính khác nhau.


17

Hạn chế Chuyên hóa.
Có khả năng khối lượng công việc cao.
Không xem xét quan hệ giữa các giá trị các
thuộc tính.
Nhận xét Có khả năng tùy chỉnh cao.
- Mô hình phản hồi
Bảng 3.3: Đánh giá mô hình phản hồi

Phản hồi của máy chủ (response)
Ưu điểm Xem xét một khía cạnh quan trọng.
Dễ dàng trong cách tiếp cận cơ bản nhất của nó.
Hạn chế Rất phức tạp khi nhiều thông tin hơn được
đưa vào tính toán.
Không phù hợp với dữ liệu sẵn có như web log.
Tầm quan trọng thấp.
Nhận xét Các vấn đề phức tạp.
- Mô hình cấu trúc phiên
Bảng 3.4: Đánh giá mô hình cấu trúc phiên

Cấu trúc phiên (Session structure)
Ưu điểm Bao gồm lịch sử và ngữ cảnh.
Phát hiện được các tấn công mà các mô

hình trước không thể.
Hạn chế Nhanh chóng trở nên rất phức tạp, tăng theo
cấp số nhân.
Nhận xét Tổng quát, bao gồm ngữ cảnh


18
- Mô hình hồ sơ người dùng
Bảng 3.5: Đánh giá mô hình hồ sơ ngƣời dùng

Hồ sơ ngƣời dùng (User profile)
Ưu điểm Chuyên hóa, xem xét người dùng đơn.
Có thể phát hiện thay đổi trong hành vi.
Hạn chế Độ phù hợp thống kê thấp.
Nhu cầu cao đối với tính hợp lệ dữ liệu và
các cập nhật.
Nhận xét Tiềm tàng độ phù hợp thống kê thấp.
- Mô hình tổng quan hệ thống
Bảng 3.6: Đánh giá mô hình tổng quan hệ thống

Tổng quan hệ thống (System overview)
Ưu điểm Phát hiện các cuộc tấn công từ những kẻ tấn
công cộng tác.
Hạn chế Không hỗ trợ trong dữ liệu.
Nhận xét Nguồn dữ liệu không thích hợp.
3.2. Đề xuất mô hình nhận dạng
Sau khi nhận xét và đánh giá từng mô hình một cách
độc lập tôi nhận thấy: mô hình tổng quan hệ thống (System
overview) gặp khó khăn trong vấn đề sử dụng dữ liệu và độ
phù hợp của mô hình. Mô hình hồ sơ người dùng (User

profile), cấu trúc phiên (Sesssion structure), phản hồi máy chủ
(response) thì có nhiều tính năng chung và các điểm mạnh/yếu


19
khác nhau bên cạnh các đóng góp chồng chéo lẫn nhau. Các dữ
liệu tổng quát trong các mô hình không được sử dụng trực tiếp
cho từng mô hình dẫn đến các vấn đề phức tạp cho việc phân
tích và sử dụng dữ liệu. Bởi dữ liệu tổng quát trong một mô
hình, nó sẽ kết thúc với một mô hình phức tạp hơn thay vì tạo
ra một mô hình đơn giản dễ hiểu.
Mô hình cấu trúc yêu cầu (Request structure) và các giá
trị yêu cầu (Request values) có thể sử dụng kết hợp rất tốt để
bổ sung cho nhau. Mô hình Request structure nó căn bản cả về
tính năng và cấu trúc, còn mô hình Request values phân tích
giá trị của mỗi thuộc tính kỹ lưỡng hơn. Nó có thể phân tích
xâu hơn các thuộc tính cơ bản như chiều dài và kiểu ký tự, xem
xét các thuộc tính nâng cao hơn như sự phân bố ký tự và suy
luận cấu trúc. Mục tiêu của mô hình kết hợp này nhằm phát
hiện các hành động độc hại (bất thường) bằng cách xem xét các
yêu cầu khác với các yêu cầu từ hệ thống đã học. Các hành
động này có thể được phát hiện bởi sự thay đổi trong cấu trúc
chung, bởi các thuộc tính sai hoặc bởi các giá trị khác biệt so
với phạm vi giá trị thông thường đã được học. Nhiệm vụ của
mô hình cần phải đối phó với các khía cạnh trên để các chức
năng có thể hoạt động đúng đắn trên hệ thống.


20
3.3. Phƣơng pháp tạo tập dữ liệu huấn luyện

Dữ liệu dùng để huấn luyện được trích xuất từ nhật ký
web (web log). Nhật ký web được sử dụng để ghi lại những
hành vi người dùng cuối và được lưu trong tập tin nhật ký [10].
Tập tin nhật ký đóng một vai trò rất quan trọng trong việc phát
hiện tấn công vào ứng dụng web vì phân tích các tập tin nhật
ký xác định được các bất thường trong yêu cầu gửi tới máy chủ
ứng dụng web.
Định dạng nhật ký gần giống với định dạng nhật ký kết
hợp (combined log format) [23]. Định dạng này là một sự mở
rộng của các định dạng nhật ký phổ biến (CLF - common log
format) được biết đến. Ví dụ định dạng chung của những phần
tử này gồm:
remotehost rfc931 authuser [date] "request"
status bytes

Ví dụ một phần tử được viết ở định dạng này sẽ
giống như sau:
115.73.26.79 - - [19/May/2017:19:02:01 +0700]
"GET /wp-admin/plugin-install.php HTTP/1.1"
200 15990 "o/wpadmin/options-general.php?page=extract-allurls-settings" "Mozilla/5.0 (Windows NT 10.0;
Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/58.0.3029.110 Safari/537.36"


21
Ý nghĩa của các trường khác nhau được tham chiếu
tại [21][22]. Nhật ký web cung cấp sự trình diễn dữ liệu rõ
ràng và có cấu trúc. Mỗi trường được biết và theo một định
dạng phổ biến.
Trong trường hợp của đề tài, cách tiếp cận phát hiện

bất thường là phân tích các yêu cầu HTTP được gởi tới các
ứng dụng Wordpress và được ghi lại trong nhật ký web bởi
các máy chủ phổ biến như Apache [24]. Phân tích tập trung
vào các yêu cầu chứa các tham số trên URI. Trong giai đoạn
phát hiện, đầu vào là một tập yêu cầu U = {u1, u2, … , um}
của các URI được trích xuất từ các yêu cầu thành công sử
dụng phương thức GET với điều kiện 200  mã trạng thái
(status)  300
Một URI ui có thể được biểu diễn gồm: một thành
phần đường dẫn đến tài nguyên mong muốn (pathi), một
thành phần thông tin đường dẫn tùy chọn (pinfoi) và một
chuỗi truy vấn tùy chọn (q). Chuỗi truy vấn được dùng để
truyền các tham số cho tài nguyên được tham chiếu và được
nhận diện là chuỗi sau ký tự “?”.
Một chuỗi truy vấn chứa một danh sách được sắp xếp
của n cặp các tham số (hoặc thuộc tính) với các giá trị tương
ứng. Ví dụ q = {(a1, v1), (a2, v2), … , (an, vn)} trong đó ai ∈
A, là tập tất cả các thuộc tính, vi là một giá trị chuỗi. Tập Sq


22
được định nghĩa là tập con {aj, … , ak} của các thuộc tính
trong truy vấn q. Hình 3.1 là một ví dụ về một phần tử lấy từ
nhật ký truy cập máy chủ web và các thành phần tương ứng
được sử dụng trong phân tích. Sq = {a1, a2} với truy vấn q
trong ví dụ này.

Hình 3.1: Ví dụ một phần tử trong nhật ký truy cập máy chủ web

Quá trình phân tích tập trung vào mối liên hệ giữa

các ứng dụng Wordpress (ví dụ như: wp-login.php,
index.php, post.php), các tham số (attributes – ví dụ như:
“p”, “cat”, “page_id”) và các giá trị (values) của chúng. Các
URI không chứa chuỗi truy vấn q sẽ không được chọn để
đưa vào U. Ngoài ra, tập các URI U được phân chia thành
các tập con Ur theo đường dẫn tài nguyên. Do đó, mỗi ứng
dụng tham chiếu r được gán một tập hợp các truy vấn tương
ứng Ur. Các thuật toán phát hiện bất thường chạy một cách
độc lập trên mỗi tập này. Điều này có nghĩa là các mô hình


23
và quá trình phát hiện được thực hiện riêng rẽ cho mỗi ứng
dụng r.
3.4. Mô hình và thuật toán kết hợp nhận dạng
3.5. Mô hình nhận dạng
Dữ liệu kiểm tra

Mô hình
kiểm tra

Path
Parameter order
Attribute presence or
absence
Value type

AP_request > AP_threshold

AP_request <= AP_threshold


Mô hình
kiểm tra

Attribute length
Attribute character
distribution

Average_AP_request
>
Average _AP_threshold

Truy vấn
bất thường

Average _AP_request
<=
Average_AP_threshold
Truy vấn
bình thường

Hình 3.2: Mô hình chi tiết giai đoạn dự báo lớp

CHƢƠNG 4 – CÀI ĐẶT, THỰC NGHIỆM VÀ ĐÁNH GIÁ


×