Xuất mô hình Markov ẩn ứng dụng vào nhận dạng nhận dạng bất thường đối vớ

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Hệ thống tường lửa thông minh cho các ứng dụng web iwaf (Trang 57)

6. Bố cục của luận văn

4.1xuất mô hình Markov ẩn ứng dụng vào nhận dạng nhận dạng bất thường đối vớ

thường đối với ứng dụng web

Theo các nội dung đã phân tích, đánh giá trong chương 2, mục 4 về các phương pháp nhận dạng tấn công ứng dụng web dựa trên sự bất thường căn cứ trên kỹ thuật phân tích dữ liệu đầu vào và chương 3, mục 4 các phương pháp huấn luyện HMM, phần này sẽ đề cập đến cách thức sử dụng 02 trong ba bài toán cơ bản của HMM là Learning Problem (sử dụng trong quá trình huấn luyện) và Evaluation Problem (sử dụng trong quá trình nhận dạng) để phân tích các thuộc tính và các giá trị thuộc tính tương ứng trong các truy vấn của một ứng dụng web. Kết quả sẽ cho biết một truy vấn là bất thường hay không?. Mô hình này có thể giải quyết các nội dung nhận dạng bất thường như sau:

+ Character Distribution: Sự phân bố các ký tự trong thuộc tính. + Attribute character classification: phân loại ký tự của thuộc tính. + Structural inference: tham chiếu cấu trúc thuộc tính.

+ Attribute presence or absence: có hay thiếu các thuộc tính. + Attribute order: thự tự các thuộc tính.

Mô hình đề xuất bao gồm 03 module: khai thác dữ liệu, phân tích và đánh giá + Module 1 khai thác dữ liệu: chức năng phân tích các dữ liệu đầu vào trích xuất dữ liệu cần thiết để chuyển đến module phân tích. Đầu vào của Module là các câu truy vấn đến các ứng dụng web khác nhau, với mỗi câu truy vấn phần nội dung sẽ được tách ra thành 02 phần:

Phần 1. là dãy các thuộc tính của câu truy vấn. Ví dụ: kết quả trong hình 2.1

là 02 thuộc tính A = {g, m}.

Phần 2. là danh sách bao gồm thuộc tính và giá trị của thuộc tính. Ví dụ: kết

quả trong hình 2.1 là tập 02 thuộc tính và giá trị tương ứng {(g, post), (m, 92742#92742)}.

Đối với tập các thuộc tính A (phần 1) có thể được xem tương đương với một chuỗi các ký tự, trong đó mỗi thuộc tính tương ứng với một ký tự. Điều này, giúp hệ thống có thể phát hiện các bất thường liên quan đến các thuộc tính trong câu truy vấn là: Attribute presence or absence, Attribute order, Attribute duplicated.

Đối với các giá trị của thuộc tính (phần 2) thì hệ thống có cách tiếp cận tương đối giống với kỹ thuật nhận dạng dựa trên sự phân bố các ký tự trong thuộc tính (nhóm tiểu mục 1, chương 2, mục 1). Trên thực tế, qua khảo sát các dạng tấn công ứng dụng web liên quan đến thay đổi các giá trị trong thuộc tính thì cho thấy rằng: các ký tự non-alphanumeric có mức độ liên quan đến tấn công cao hơn hẳn so với các ký tự alphanumeric. Ví dụ: tấn công tràn bộ đệm, khai thác lỗi XSS, khai thác lỗi nhúng mã độc, khai thác lỗi SQL Injection, … Qua khảo sát các website chuyên cung cấp thông tin lổ hỏng bảo mật như: http://www.exploit-db.com, http://cve.mitre.org/, … hoặc các website của giới hacker về hướng dẫn khai thác lổ hỏng như: http://1337day.com/webapps, … cũng cho thấy các ký tự non- alphanumeric có mức độ liên quan cao đến các kỹ thuật khai thác tấn công ứng dụng web.

Hình 4.1 thông tin chi tiết lổ hỏng đối với ứng dụng Vtiger CRM ngày 07/8/2013 bằng cách điền giá trị mã lỗi vào giá trị onlyforuser

(nguồn http://1337day.com/webapps)

Do đó, cần thiết phải phân biệt các ký tự non-alphanumeric và alphanumeric trong chuỗi các ký tự của giá trị thuộc tính. Ngược lại, việc phân biệt giữa các số (thường là số tự nhiên) hay giữa các ký tự alphabetic thì không hiệu quả trong việc

phát hiện tấn công. Điều này ghi nhận trong báo cáo “Comparing Anomaly Detection Techniques for HTTP” của Kenneth L. Ingham, Hajime Inoue cho thấy kỹ thuật nhận dạng bất thường dựa trên ICD [10] (Character Distribution – nhóm tiểu mục 1, chương 2, mục 1) là không tốt.

Hình 4.2 Báo cáo kỹ thuật nhận dạng bất thường dựa trên ICD

(Nguồn Kenneth L. Ingham, Hajime Inou (2007,)“Comparing Anomaly Detection Techniques for HTTP, Springer. ISBN: 978-3-540-74319-4)

Theo Corona, với chuỗi ký tự giá trị của thuộc tính đưa vào, module sẽ thay đổi lại như sau: với giá trị là số chuyển thành N, giá trị ký tự chuyển thành A, các giá trị còn lại sẽ được giữ nguyên [2]. Ví dụ: giá trị đầu vào của một thuộc tính là “tan-123/1bc”  “AAA-NNN/NAA”. Chuỗi các ký tự này sau đó sẽ được xử lý bởi HMM.

+ Module 2 phân tích: bao gồm 02 chức năng chính là:

1) Sử dụng tổ hợp HMM (nhiều HMM) để phân tích chuỗi các thuộc tính được cung cấp từ phần 1 của module khai thác dữ liệu

2) Sử dụng mỗi tổ hợp HMM để phân tích giá trị của một thuộc tính được cung cấp từ phần 2 của module khai thác dữ liệu. Nếu có nhiều thuộc tính, thì có số tổ hợp HMM tương ứng để phân tích. Mục tiêu là phân tích tất cả các cấu trúc của một truy vấn nhằm phát hiện bất thường trong nhiều dạng tấn công khác nhau.

Sau cùng, câu truy vấn có kết quả là 02 giá trị (được phân tích cụ thể hơn tại nội dung đánh giá kết quả thử nghiệm):

+ Xác xuất của tổ hợp HMM phát sinh chuỗi các thuộc tính.

+ Xác xuất của tổ hợp HMM có xác suất thấp nhất trong các tổ hợp phân tích các giá trị thuộc tính.

+ Module 3 đánh giá: dựa vào kết quả phân tích ở module 2, module 3 sẽ phân loại một câu truy vấn là bất thường hay hợp lệ dựa trên một giá trị ngưỡng (threshold). Nếu xác suất của câu truy vấn nhỏ hơn threshold thì được xem là truy vấn bất thường, ngược lại truy vấn được xem là hợp pháp.

Hình 4.3 mô hình chức năng nhận dạng bất thường sử dụng HMM

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Hệ thống tường lửa thông minh cho các ứng dụng web iwaf (Trang 57)