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

Nghiên Cứu Giải Pháp Phát Hiện Tấn Công Website Dựa Vào Dấu Hiệu 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 (726.68 KB, 24 trang )

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

HUỲNH VĂN THỊNH

NGHIÊN CỨU GIẢI PHÁP
PHÁT HIỆN TẤN CÔNG WEBSITE
DỰA VÀO DẤU HIỆU 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Ĩ

TP 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: ……………………………………………………
(Ghi rõ học hàm, học vị)

Phản biện 1: ……………………………………………………………………
Phản biện 2: ……………………………………………………………………

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: ....... giờ ....... ngày ....... tháng ....... năm ...............

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
Ngày nay, số lỗ hổng bảo mật được tìm thấy trong các
ứng dụng cao hơn nhiều so với số lỗ hổng được tìm thấy trong
các hệ điều hành. Các cuộc tấn công nhằm vào các ứng dụng
web đang khai thác các lỗ hổng ở lớp ứng dụng và không phải
ở lớp truyền tải hoặc lớp mạng như các cuộc tấn công thông
thường trong quá khứ. Đồng thời, số lượng và mức độ tác
động của các lỗ hổng bảo mật trong các ứng dụng như vậy
ngày càng tăng cao. Không có nghi ngờ rằng bảo mật ứng
dụng web là một chủ đề phổ biến và có giá trị. Nó liên quan
đến tất cả: các doanh nghiệp mà doanh thu tăng từ thương mại
điện tử trên Internet, những người dùng tin tưởng các ứng
dụng web với các thông tin nhạy cảm, và các tội phạm có thể
kiếm nhiều tiền bằng cách đánh cắp các dữ liệu thanh toán
hoặc xâm nhập vào các tài khoản ngân hàng. Danh tiếng đóng
một vai trò quan trọng, hầu như không ai muốn kinh doanh
với một website không an toàn, rất ít tổ chức muốn tiết lộ các
chi tiết về các lỗ hổng bảo mật riêng của họ hoặc tình trạng bị
xâm nhập. Vì thế, nghiên cứu giải pháp phát hiện tấn công
cho ứng dụng web luôn là một chủ để cần thiết. Theo thống
kê của w3techs.com [20] cho thấy rằng PHP chiếm 81,9%
trong tất cả các website sử dụng ngôn ngữ lập trình


2
server-side. Viết ứng dụng PHP là khá dễ dàng, nhưng số

đông các lập trình viên lại bỏ qua khía cạnh an ninh hoặc quan
tâm không đúng mức. Hiện tại, ngôn ngữ lập trình PHP được
hỗ trợ trong hầu hết các máy chủ web của nhiều nhà cung cấp
dịch vụ web hosting, vì thế viết công cụ phát hiện tấn công
cho ứng dụng web bằng PHP là một lợi thế lớn.
Đề tài này tập trung nghiên cứu và xây dựng công cụ
phát hiện tấn công cho ứng dụng web PHP dựa vào dấu hiệu
bất thường và công nghệ học máy, bằng cách xây dựng profile
và sử dụng các mô hình positive (các mô hình học các hành
vi bình thường).
Theo tìm hiểu, các công trình nghiên cứu hiện tại trong
và ngoài nước theo hướng tiếp cận của đề tài chỉ dừng lại ở
mức cơ bản “đề xuất một số mô hình phát hiện”.
Về ý nghĩa khoa học, kết quả nghiên cứu có thể làm
tài liệu tham khảo, tài liệu kỹ thuật cho việc xây dựng hệ thống
nhận dạng bất thường, phát hiện xâm nhập cho các ứng dụng
web.
Về ý nghĩa thực tiễn, sản phẩm đạt hiệu quả cao sẽ là
cơ sở để xây dựng hệ thống đảm bảo an toàn thông tin cho
cho các ứng dụng web.


3
Luận văn này được chia thành ba chương: chương 1
trình bày các cơ sở lý thuyết, chương 2 trình bày các bước xây
dựng công cụ phát hiện tấn công, và tiếp theo là chương 3
trình bày cách thức và kết quả thực nghiệm từ công cụ được
xây dựng. Sau cùng luận văn kết thúc qua một số tổng kết
trong phần kết luận và hướng phát triển.



4

CHƯƠNG 1 – CƠ SỞ LÝ THUYẾT
Chương này trình bày các cơ sở lý thuyết của luận văn
như ứng dụng web, giao thức HTTP, ngôn ngữ PHP, các rủi
ro bảo mật cho ứng dụng web và kỹ thuật nhận diện tấn công
ứng dụng web.
1.1 Ứng dụng web
1.1.1 Khái niệm
Các ứng dụng Web là các chương trình máy tính. Các
chương trình này cho phép người dùng website gửi và lấy dữ
liệu đến/từ một cơ sở dữ liệu qua Internet bằng cách sử dụng
trình duyệt web ưa thích của họ. Sau đó dữ liệu được hiển thị
trong trình duyệt của người dùng, thông tin được tạo ra một
cách tự động (trong một định dạng cụ thể, ví dụ trong HTML
sử dụng CSS) bởi ứng dụng web thông qua một máy chủ web.
1.1.2 Vấn đề bảo mật ứng dụng web
Các website phụ thuộc vào các cơ sở dữ liệu để cung
cấp các thông tin cần thiết cho người dùng. Nhiều trong số
những cơ sở dữ liệu này có chứa những thông tin có giá trị
làm cho chúng trở thành một mục tiêu thường xuyên của tin
tặc. Mặc dù các hành động phá hoại như thay đổi giao diện
trang web vẫn còn phổ biến, ngày nay, tin tặc thích đạt được


5
quyền truy cập vào các dữ liệu nhạy cảm nằm trên máy chủ
cơ sở dữ liệu hơn vì có thể kiếm được nhiều tiền từ việc bán
các dữ liệu đánh cắp.

Bảo mật ứng dụng web liên quan đến việc người dùng
có thể nhập, tùy biến dữ liệu đầu vào bất kỳ. Các ứng dụng
web phải đối mặt với một vấn đề căn bản và cần phải giải
quyết tốt đó là các kết nối từ phía người dùng thường ngoài
tầm kiểm soát của ứng dụng web, người dùng có thể nhập hay
tùy biến dữ liệu đầu vào bất kỳ để chuyển về cho ứng dụng
web xử lý. Do đó, để đảm bảo an toàn thì các ứng web phải
giả định rằng các dữ liệu đầu vào đều có nguy cơ là mã độc
và có các bước kiểm tra chắc chắn rằng kẻ tấn công không thể
thay thế hay chèn dữ liệu đầu vào một cách thủ công để gây
hại cho các ứng dụng web bằng cách can thiệp vào tính logic
và cách thức hoạt động của các ứng dụng web, từ đó có thể
truy cập trái phép vào các chức năng và dữ liệu của ứng dụng
web.
1.2 Giao thức HTTP
Giao thức truyền siêu văn bản HTTP là một giao thức
lớp ứng dụng cho các hệ thống thông tin siêu phương tiện,
cộng tác, phân tán. Nó là một giao thức chung, không trạng
thái, một giao thức có thể được sử dụng cho nhiều tác vụ khác


6
ngoài truyền siêu văn bản, chẳng hạn như các máy chủ tên
miền và các hệ thống quản lý đối tượng phân tán, thông qua
sự mở rộng của các phương thức yêu cầu, các mã lỗi và các
header của nó. Một đặc trưng của HTTP là định kiểu và điều
chỉnh cách biểu diễn dữ liệu, cho phép các hệ thống được xây
dựng độc lập với dữ liệu đang được truyền. Phiên bản hiện tại
là “HTTP/ 1.1” được mô tả trong RFC 2616, và là bản cập
nhật cho RFC 2068.

1.2.1 HTTPs
1.2.2 Các kỹ thuật lảng tránh HTTP
1.3 Ngôn ngữ PHP
1.4 Các rủi ro bảo mật cho ứng dụng web
Mục này sẽ trình bày những rủi ro bảo mật mà các ứng
dụng web thường gặp theo đánh giá của OWASP Top 10 năm
2013.
1.4.1 Chèn mã
1.4.2 Phá vỡ xác thực và quản lý phiên làm việc
1.4.3 Thực thi mã lệnh xấu
1.4.4 Tham chiếu đối tượng trực tiếp không an toàn
1.4.5 Sai sót cấu hình bảo mật


7
1.4.6 Phơi bày dữ liệu nhạy cảm
1.4.7 Thiếu chức năng điều khiển truy cập
1.4.8 Giả mạo yêu cầu
1.4.9 Sử dụng thành phần đã tồn tại lỗ hổng
1.4.10 Chuyển hướng và chuyển tiếp không kiểm tra
1.5 Kỹ thuật nhận diện tấn công ứng dụng web
Có 2 hướng tiếp cận chính là sử dụng kỹ thuật nhận
dạng tĩnh hoặc sử dụng kỹ thuật nhận dạng động.
Phương pháp phát hiện tấn công:
- Phương pháp thứ đầu tiên gọi là phát hiện dấu hiệu
(misuse detection), phát hiện xâm nhập dựa vào luật (rulebased intrusion detection), hoặc phát hiện dựa vào chữ ký
(signature based detection).
- Phương pháp thứ hai được gọi là phát hiện bất
thường (anomaly detection), phát hiện xâm nhập dựa trên
thống kê (statistical based intrusion detection) hoặc phát hiện

xâm nhập dựa theo profile (profile based intrusion detection).


8

CHƯƠNG 2 – XÂY DỰNG CÔNG CỤ
PHÁT HIỆN TẤN CÔNG WEBSITE
Trong chương này sẽ trình bày các bước mà cần được
thực hiện để triển khai công cụ phát hiện tấn công. Bắt đầu
với việc thiết kế các profile để xem xét các hành vi của người
dùng. Những profile này sau đó được đánh giá và chọn ra một
tập con các mô hình phù hợp để tiếp tục sử dụng. Tiếp theo sẽ
xem xét nguồn tài nguyên dữ liệu được sử dụng để huấn
luyện. Cuối cùng là mô tả xây dựng công cụ được triển khai
với profile được chọn.
2.1 Các Profile
Profile về hành vi của các chương trình là một tham
chiếu hữu ích để phát hiện các xâm nhập tiềm ẩn đối với các
hệ thống [1]. Khi xem xét xây dựng các profile để phát hiện
xâm nhập dựa vào bất thường, thì các khía cạnh để xem xét là
rất nhiều và đa dạng. Do mức độ tùy biến và chuyên hóa của
các máy chủ và các ứng dụng, rất ít thông tin về xây dựng
profile có thể được tiến hành trên một cơ sở chung.
Các mục bên dưới sẽ đưa ra một sự lựa chọn trong các
profile có thể được sử dụng trong một chương trình phát hiện
xâm nhập dựa vào dấu hiệu bất thường. Các profile xem xét


9
dữ liệu ở các mức trừu tượng khác nhau để đạt được hiểu biết

và có cái nhìn sâu sắc về các tiêu chí, nơi mà các cuộc tấn
công có thể được thực hiện, từ một phân tích về giá trị của
một tham số đơn đến một bức tranh tổng thể về hành vi của
người dùng.
2.1.1 Profile 1 – Cấu trúc yêu cầu
Profile đầu tiên là xem xét cấu trúc của một yêu cầu.
Các phần tử dữ liệu trong profile này là một yêu cầu của người
dùng gửi đến máy chủ. Profile bao gồm bốn mô hình khác
nhau, xem xét cấu trúc và tính logic của một yêu cầu, nhằm
phát hiện các cấu trúc yêu cầu lỗi và độc hại. Profile này gồm
các mô hình: Path (Đường dẫn), Parameter (Tham số),
Parameter order (Thứ tự tham số), Attribute presence or
absence (Nhận dạng sự hiện diện hoặc vắng mặt của thuộc
tính).
2.1.2 Profile 2 – Các giá trị của yêu cầu
Profile 2 xem xét các giá trị của các tham số khác nhau
được thiết lập bởi người dùng, để phát hiện các giá trị bất
thường, ví dụ như mã độc. Profile này vượt ra ngoài ranh giới
một sự kiểm tra tính hợp lệ đầu vào truyền thống bằng cách
học sự phân bố ký tự (character distribution) và suy luận cấu
trúc (structural inference). Nó tìm kiếm phát hiện tất cả các


10
loại tấn công mà cần truyền dữ liệu đến máy chủ, từ đó dẫn
đến một vi phạm an ninh, chẳng hạn như các cuộc tấn công
chèn (injection). Profile này gồm các mô hình: Value type
(Kiểu giá trị), Value length (Chiều dài giá trị), Attribute
character distribution (Sự phân bố ký tự trong thuộc tính),
Structural inference (Suy luận cấu trúc), Token finder (Nhận

dạng giá trị hợp lệ).
2.1.3 Profile 3 – Phản hồi của máy chủ
Profile phản hồi của máy chủ tìm kiếm phát hiện nếu
thông tin nhạy cảm đang bị phơi bày cho một người dùng một
cách sai trái. Nó cố gắng học cách các máy chủ phản hồi lại
các yêu cầu của người dùng khác nhau, để nhận diện khi một
người dùng có được một phản hồi từ máy chủ mà không như
dự định. Profile này gồm các mô hình: Response (Phản hồi).
2.1.4 Profile 4 – Cấu trúc phiên
Profile cấu trúc phiên xem xét mỗi phiên như một
phần tử dữ liệu để học. Một phiên được định nghĩa là một
chuỗi các tương tác giữa người dùng và máy chủ, từ đăng
nhập đến đăng xuất, hoặc thời gian chờ. Trong lúc tương tác
này, nó có thể học một mẫu mà từ cách một người dùng tương
tác với hệ thống một cách bình thường, cho phép phát hiện
các mẫu tương tác bất thường. Hơn nữa, phiên có thể được


11
phân tích để phát hiện các loại hành động độc hại đang tìm
kiếm để qua mặt tính logic ứng dụng hoặc đang tìm kiếm các
tài nguyên không được công khai. Một phiên cũng cung cấp
một tập hợp các thông tin quan trọng để phát hiện các hoạt
động robot. Profile này gồm các mô hình: Inter-request time
delay (Nhận dạng thời gian chờ giữa các yêu cầu), Invocation
order (Nhận dạng thứ tự gọi), Invocation frequency (Nhận
dạng tần suất gọi), Session time (Thời gian phiên), Session
time per invocation (Thời gian phiên trên mỗi lời gọi),
Invocations per session time (các lời gọi trên mỗi thời gian
phiên).

2.1.5 Profile 5 – Hồ sơ người dùng
Để phát hiện khi một người dùng bất hợp pháp đã
giành được quyền truy cập trái phép vào một tài khoản, cần
phải học cách người dùng hợp pháp thường hành động. Khi
một ranh giới của tương tác người dùng bình thường được tạo
ra, nó có thể phát hiện các sai phạm từ những quy tắc này so
với các người dùng khác. Sử dụng các đặc điểm hành vi của
một người dùng, có thể phát hiện những người dùng sai trái
đã giành được quyền truy cập vào một tài khoản. Profile này
gồm các mô hình: User statistics (Thống kê người dùng),
Locations (Các vị trí).


12
2.1.6 Profile 6 – Tổng quan hệ thống
Để phát hiện các cuộc tấn công được thực hiện bởi
những người dùng khác nhau, toàn bộ hệ thống cần phải được
xem xét. Các tấn công phân tán thường nhằm làm quá tải và
tiêu tốn tài nguyên hệ thống, dẫn đến các người dùng bình
thường mất hoặc bị hạn chế chức năng hoặc phản hồi. Các tấn
công DDoS có thể được phát hiện bởi sự tăng đột biến của các
yêu cầu dịch vụ hoặc bởi tải trọng của hệ thống tăng cao bất
thường. Profile này gồm các mô hình: System load (Tải trọng
hệ thống), Service requests (Các yêu cầu dịch vụ), Access
frequency (Nhận dạng tần suất truy cập).
2.2 Đánh giá profile
2.3 Đề xuất profile
Sau khi đánh giá từng profile một cách độc lập, chúng
được so sánh với nhau để tìm ra một tập hợp con không chồng
chéo của các profile có thể được tiếp tục sử dụng trong đề tài

này.
Profile “Các yêu cầu của người dùng” (User requests)
là sự lựa chọn cho công việc tiếp theo.


13
Bảng 2.13: Profile đề xuất – Các yêu cầu của người dùng
Profile “Các yêu cầu của người dùng” (User
requests)
Các mô
hình

Path.
Parameter.
Parameter order.
Attribute presence or absence.
Value type.
Value length.
Attribute character distribution.
Structural inference.

2.4 Nguồn dữ liệu huấn luyện
Dữ liệu để tạo ra profile “Các yêu cầu của người dùng”
được lấy từ nhật ký web (web log).
2.5 Profile Các yêu cầu của người dùng
Profile “Các yêu cầu của người dùng” tìm kiếm phân
tích sự tương tác của người dùng với hệ thống ở mức của các
phần tử đơ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 ghi nhật
ký bởi hầu hết các máy chủ web phổ biến, ví dụ như Apache.

Phân tích tập trung vào các yêu cầu sử dụng các tham số để
truyền các giá trị cho các chương trình phía máy chủ. Về mặt
hình thức, đầu vào của quá trình phát hiện bao gồm một tập


14
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 GET (các yêu cầu có mã trạng thái trả
về lớn hơn hoặc bằng 200 và nhỏ hơn 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 sử dụng để truyền các tham
số cho tài nguyên được tham chiếu và nó được nhận diện là
chuỗi sau ký tự “?”. Một chuỗi truy vấn bao gồm 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 của chúng. Đó là, q = {(a1, v1), (a2, v2),
… , (an, vn)} trong đó ai ∈ A, tập tất cả các thuộc tính, và vi là
một chuỗi. Tập Sq được định nghĩa là tập con {aj, … , ak} của
các thuộc tính của truy vấn q. Hình 2.1 cho thấy một ví dụ về
một phần tử từ nhật ký máy chủ web và các thành phần tương
ứng mà được sử dụng trong phân tích. Đối với truy vấn q ví
dụ này, Sq = {a1, a2}.
Quá trình phân tích tập trung vào mối liên hệ giữa các
chương trình (program), các tham số (attribute), và các giá trị
(value) của chúng. Các URI mà không chứa chuỗi truy vấn
thì không liên quan, và do đó chúng được loại bỏ khỏi 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 chương trình tham



15
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 truy vấn Ur. Điều này có nghĩa là các mô hình và quá
trình phát hiện được thực hiện riêng rẽ cho mỗi chương trình
r.
Mục tiêu của profile này là để phát hiện gian lận và
các hành động độc hại bằng cách xem xét các yêu cầu mà khác
biệt lớn so với các yêu cầu của người dùng bình thường từ hệ
thống.

2.6 Xây dựng công cụ nhận dạng bất thường
Nhật ký web

Tiền xử lý

Profile các yêu cầu người dùng
Path.
Parameter.
Parameter order.
Attribute presence or absence.

Dựng mô hình

Value type.
Value length.
Attribute character distribution.
Structural inference.


Dự báo lớp
Dữ liệu kiểm tra

Truy vấn bình thường hoặc
bất thường

Hình 2.3: Mô hình chức năng nhận dạng bất thường
sử dụng profile “Các yêu cầu người dùng”


16
- Nhật ký web:
Trong đề tài này, nhật ký web ở đây là access.log của
Apache, chỉ chứa các yêu cầu bình thường gửi đến ứng dụng
web, được sử dụng để xây dựng mô hình phát hiện bất thường
dựa vào profile đã đề xuất.
- Dữ liệu kiểm tra:
Là dữ liệu cần kiểm tra phân lớp là bình thường hoặc
bất thường. Nó cũng là một nhật ký web nhưng có chứa các
yêu cầu bình thường lẫn bất thường [13].
- Tiền xử lý:
Đối với nhật ký web, nó phân tích và trích xuất các
yêu cầu với phương thức GET thành công, tức:
+ 200 ≤ mã trạng thái (status code) < 300
+ Có chứa chuỗi truy vấn, nhận diện bằng thành phần
sau ký tự “?” trong yêu cầu.
Đối với dữ liệu kiểm tra, nó phân tích và trích xuất các
yêu cầu với phương thức GET có chứa chuỗi truy vấn.
- Dựng mô hình:
Sử dụng đầu ra của giai đoạn tiền xử lý, xây dựng mô

hình cho profile “Các yêu cầu của người dùng”. Profile này


17
chứa các mô hình là: Path, Parameter, Parameter order,
Attribute presence or absence, Value type, Value length,
Attribute character distribution, Structural inference.
Trong giai đoạn này sẽ phân tích và thống kê về từng
thuộc tính của mỗi URL, xác định các tập mô hình phù hợp
dựa trên số liệu thống kê.
Mỗi mô hình trong profile “Các yêu cầu người dùng”
trả về một giá trị xác suất bình thường 𝑝 cho toàn bộ truy vấn
hoặc cho một trong các thuộc tính của truy vấn. Giá trị xác
suất này phản ánh xác suất xuất hiện của giá trị đặc trưng có
được liên quan với profile được thiết lập. Giá trị đặc trưng này
thấp thì chỉ ra rằng đó có thể là một tấn công. Dựa vào đầu ra
của mô hình, một truy vấn được báo cáo là bình thường hoặc
bất thường. Quyết định này được thực hiện bằng cách tính số
điểm bất thường (Anomaly Score) cho chính truy vấn hoặc
một trong các thuộc tính của truy vấn. Điểm bất thường được
tính bằng công thức sau:
Anomaly Score = 𝑤𝑚 (1 − 𝑝𝑚 )

(2.1)

Trong công thức 2.1 trên: 𝑤𝑚 là trọng số liên quan với
mô hình 𝑚, 𝑝𝑚 là giá trị xác suất trả về của nó. Trong đề tài
này, sử dụng 𝑤𝑚 = 1, nghĩa là tất cả các mô hình trong profile



18
được xem như nhau. Trong trường hợp mô hình có nhiều giá
trị 𝑝𝑚 trả về thì chọn 𝑝𝑚 có giá trị nhỏ nhất.
- Dự báo lớp:
Với mỗi mô hình trong profile “Các yêu cầu của người
dùng” thì đầu ra là một điểm bất thường (Anomaly Score –
AS). Theo [5], khi tấn công một ứng dụng web thì bước đầu
tiên mà kẻ tấn công thường tiến hành là thăm dò và phân tích
(reconnaissance & analysis). Khi tiến hành thăm dò, các kẻ
tấn công sử dụng các công cụ dò quét tự động nên thường
không nhận ra được tính logic của ứng dụng web. Với năm
mô hình Path, Parameter, Parameter order, Attribute
presence or absence, Value type thì hoàn toàn có thể phát hiện
các tấn công vào tính logic của web như: thừa hoặc thiếu
thuộc tính (Missing Attribute), trùng thuộc tính (Duplicated
Attribute), thứ tự thuộc tính không đúng (Attribute Order),
truy cập các đường dẫn không tồn tại hoặc không được phép
(Missing Path) và kiểu giá trị đầu vào cho thuộc tính không
hợp lệ. Với năm mô hình này thì ngưỡng bất thường đều bằng
0 (AS_threshold), với một yêu cầu đầu vào thì sẽ được phân
tích và đưa ra một điểm bất thường của yêu cầu (AS_request),
tiến hành so sánh AS_threshold, nếu vượt quá thì xác định
ngay là truy vấn bất thường. Ngược lại sẽ dùng ngưỡng bất
thường là trung bình đầu ra [2] của ba mô hình Value length,


19

Attribute character distribution, Structural inference là
Mean_AS_threshold để so sánh. Hình 2.4 bên trên mô tả chi

tiết giai đoạn này.
Dữ liệu kiểm tra

Path.
Parameter.
Parameter order.
Attribute presence or absence.
Value type.

AS_request > AS_threshold

AS_request <= AS_threshold

Value length.
Attribute character distribution.
Structural inference.

Mean_AS_request
>
Mean_AS_threshold

Truy vấn bất thường

Mean_AS_request <= Mean_AS_threshold

Truy vấn bình thường

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



20

CHƯƠNG 3 – THỰC NGHIỆM VÀ ĐÁNH GIÁ
Theo những nội dung đã phân tích ở chương 2, một
công cụ được xây dựng để tiến hành thực nghiệm và ghi nhận
kết quả.
3.1 Thực nghiệm
3.2 Kết quả thực nghiệm và đánh giá


21

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Luận văn đã trình bày khá đầy đủ giải pháp phát hiện
tấn công website dựa vào dấu hiệu bất thường theo hướng sử
dụng profile.
Kết quả luận văn đạt được:
- Luận văn đã trình bày tổng quan về vấn đề phát hiện
tấn công website dựa vào dấu hiệu bất thường như: Vấn đề
bảo mật ứng dụng web, các rủi ro bảo mật cho ứng dụng web,
các kỹ thuật nhận diện tấn công ứng dụng.
- Luận văn đã tìm hiểu về các profile có thể được sử
dụng trong một chương trình phát hiện xâm nhập dựa vào dấu
hiệu bất thường, đánh giá và đề xuất một profile phù hợp để
tiến hành xây dựng công cụ phát hiện tấn công.
- Luận văn đã tìm hiểu về nguồn dữ liệu để huấn luyện
là sử dụng nhật ký web.
- Một công cụ phát hiện tấn công cho ứng dụng web
PHP dựa vào dấu hiệu bất thường, bằng cách sử dụng profile
đã đề xuất và sử dụng các mô hình học các hành vi bình

thường được xây dựng.


22
Hướng phát triển tiếp theo:
- Nghiên cứu cải thiện khả năng phát hiện của profile
“Các yêu cầu của người dùng” bằng cách điều chỉnh trọng số
và ngưỡng của các mô hình trong profile.
- Nghiên cứu kết hợp với các profile khác.
- Xây dựng công cụ tích hợp vào các ứng dụng web
phổ biến như: Joomla, Wordpress, Drupal, NukeViet…
- Nghiên cứu triển khai trên các ứng dụng web viết
bằng các ngôn ngữ lập trình khác như: ASP.net, Java…



×