1. Trang chủ
  2. » Công Nghệ Thông Tin

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)

24 189 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 726,68 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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)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)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)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)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)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)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)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)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)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)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)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)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)

Trang 1

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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 (rule-based 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)

Trang 10

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

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

Trang 11

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

Trang 12

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

Trang 13

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í)

Trang 14

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

Trang 15

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

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

Trang 16

yêu cầu U = {u 1 , u 2 , … , u m } 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)

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

… , (a n , v n )} trong đó a i ∈ A, tập tất cả các thuộc tính, và v i

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, S q = {a 1 , a 2 }

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

theo đường dẫn tài nguyên Do đó, mỗi chương trình tham

Trang 17

chiếu r được gán một tập hợp các truy vấn tương ứng U r 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

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

Dựng mô hình Tiền xử lý

Profile các yêu cầu người dù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”

Trang 18

- 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

Ngày đăng: 07/11/2017, 14:01

HÌNH ẢNH LIÊN QUAN

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  - 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ả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 (Trang 15)
mỗi tập truy vấn Ur. Điều này có nghĩa là các mô hình và quá - 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)
m ỗi tập truy vấn Ur. Điều này có nghĩa là các mô hình và quá (Trang 17)
Mean_AS_threshold để so sánh. Hình 2.4 bên trên mô tả chi tiết giai đoạn này.  - 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)
ean _AS_threshold để so sánh. Hình 2.4 bên trên mô tả chi tiết giai đoạn này. (Trang 21)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm