1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng học máy (Machine Learning) để xây dựng hệ thống IWAF

108 1,2K 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 108
Dung lượng 2,25 MB

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

Nội dung

+ Một số chức năng phổ biến của các ứng dụng Web Ứng dụng Web đã được phát triển nhằm thực hiện tất cả các chức năng hữu ích có thể sử dụng được trong môi trường trực tuyến.. Quý khách c

Trang 1

MỤC LỤC

Trang LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC i

DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT iv

DANH MỤC BẢNG v

DANH MỤC HÌNH VẼ vi

DANH MỤC BIỂU ĐỒ vii

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu nghiên cứu 3

3 Đối tượng và phạm vi nghiên cứu 3

4 Phương pháp nghiên cứu 3

5 Ý nghĩa khoa học và thực tiễn của đề tài 4

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

CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT WEBSITE/PORTAL VÀ CÁC GIẢI PHÁP NHẬN DẠNG, NGĂN CHẶN TẤN CÔNG ĐỐI VỚI ỨNG DỤNG WEB 5

1.1 Vấn đề bảo mật các ứng dụng Website/Portal 5

1.1.1 Khái niệm về ứng dụng Web 5

1.1.2 Vấn đề bảo mật các ứng dụng Web 7

1.1.3 Danh sách rủi ro bảo mật cho các ứng dụng web OWASP Top 10 11

1.2 Các giải pháp nhận dạng tấn công tấn công website 12

1.2.1 Sự phát triển của nhận dạng tấn công ứng dụng web 12

1.2.2 Các phương pháp nhận dạng tấn công ứng dụng web 13

1 3 Tổng quan về WAF 16

1.3.1 Khái niệm WAF 16

1.3.2 Chức năng của WAF 18

CHƯƠNG 2: CÁC MÔ HÌNH NHẬN DẠNG TẤN CÔNG ỨNG DỤNG WEB DỰA TRÊN SỰ BẤT THƯỜNG 23

2.1 Nhận dạng sự bất thường theo phương pháp phân tích dữ liệu đầu vào 23

2.1.1 Nhận dạng bất thường trên một yêu cầu đầu vào 23

2.1.2 Nhận dạng bất thường trên dãy yêu cầu đầu vào 29

Trang 2

2.2 Nhận dạng sự bất thường theo phương pháp phân tích dữ liệu đầu ra 31

2.2.1 Nhận dạng bất thường trong cấu trúc header 31

2.2.2 Nhận dạng bất thường khi kích thước trang web thay đổi 32

2.3 Nhận dạng sự bất thường theo hành vi duyệt web của người dùng 33

2.4 Nhận xét và hướng tiếp cận của luận văn 33

CHƯƠNG 3: GIỚI THIỆU MÔ HÌNH MARKOV ẨN 35

3.1 Giới thiệu mô hình Markov ẩn 35

3.2 Các bài toán cơ bản của mô hình Markov ẩn 39

3.3 Huấn luyện mô hình HMM thông qua nhiều chuỗi dữ liệu quan sát 45

3.4 Mô hình sử dụng các HMM để tìm giá trị xác suất tốt nhất đối với chuỗi dữ liệu quan sát đầu vào 48

3.4 Nhận xét và các nội dung tiếp cận của luận văn 49

CHƯƠNG 4: ỨNG DỤNG MÔ HÌNH MARKOV ẨN TRONG NHẬN DẠNG TRUY VẤN BẤT THƯỜNG 50

4.1 Đề 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ới ứng dụng web 50

4.2 Xây dựng mô hình Markov ẩn 53

4.2.1 Huấn luyện HMM 53

4.2.2 Tính giá trị xác xuất của một truy vấn 55

CHƯƠNG 5: MÔ HÌNH VÀ CHỨC NĂNG CỦA IWAF 57

5.1 Đặc điểm của IWAF 57

5.2 Các chức năng chính của IWAF 57

5.2.1 Chức năng kiểm tra kết nối 57

5.2.2 Chức năng xử lý 58

5.2.3 Mô hình hoạt động IWAF 58

5.3 Xây dựng IWAF 60

CHƯƠNG 6: CÀI ĐẶT PHẦN MỀM, THỬ NGHIỆM, PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ 63

6.1 Cài đặt phần mềm IWAF 63

6.2 Thử nghiệm và phân tích mô hình tổ hợp HMM 63

6.2.1 Mẫu dữ liệu thử nghiệm và các phương án thử nghiệm 63

6.2.2 Phân tích kết quả thử nghiệm 65

6.2.3 Đánh giá kết quả thử nghiệm 71

Trang 3

6.3 Thử nghiệm và phân tích sử dụng mô hình tổ hợp HMM, HMMs để nhận dạng bất thường đối với các thuộc tính đầu vào 73 6.3.1 Mẫu dữ liệu thử nghiệm, các phương án thử nghiệm và phân tích các tấn công 73 6.3.2 Đánh giá kết quả thử nghiệm khả năng phát hiện các truy vấn tấn công đối với

tổ hợp HMM, HMMs 77 KẾT LUẬN 79TÀI LIỆU THAM KHẢO

PHỤ LỤC

Trang 4

DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT

HMMs Hidden Markov Model Ensemble Tổ hợp mô hình Markov ẩn HTTP Hypertext Transfer Protocol Giao thức truyền tải siêu văn

bản HIDS Host-based intrusion detection system Hệ thống phát hiện xâm nhập

trên máy chủ IDS Intrusion detection system Hệ thống phát hiện xâm nhập IWAF Intelligent web application firewall Tường lửa ứn dụng web thông

minh OWASP Open Web Application Security Project Dự án mở về bảo mật ứng dụng

Web NIDS Network-based intrusion detection

system

Hệ thống phát hiện xâm nhập trên mạng

WAF Web application firewall Tường lửa ứn dụng web

Trang 5

DANH MỤC BẢNG

Bảng 4.1 Các giá trị dung sai để tìm ngưỡng hội tụ 55

Bảng 4.2 Danh sách giá trị ngưỡng của các ứng dụng 55

Bảng 6.1 Danh sách các phương án thử nghiệm huấn luyện HMM, HMMs 64

Bảng 6.2 Mẫu tấn công thử nghiệm 73

Bảng 6.3 Tỷ lệ nhận dạng sai và các loại tấn công tương ứng trường hợp 1, cách 1 74

Bảng 6.4 Tỷ lệ nhận dạng sai và các loại tấn công tương ứng trường hợp 1, cách 2 75

Bảng 6.5 Tỷ lệ nhận dạng sai và các loại tấn công tương ứng trường hợp 2, cách 1 76

Bảng 6.6 Tỷ lệ nhận dạng sai và các loại tấn công tương ứng trường hợp 2, cách 2 77

Trang 6

DANH MỤC HÌNH VẼ

Hình 1.1 Mô hình hoạt động ứng dụng web 6

Hình 1.2 Mô hình chi tiết hoạt động ứng dụng web 7

Hình 1.3 Đánh giá của Gartner về tấn công từ chối dịch vụ đối với các ứng dụng trong năm 2013 8

Hình 1.4 Các bước tấn công vào ứng dụng web 9

Hình 1.5 Hình ảnh Vietnamnet.vn trên máy tính và thay đổi tiêu đề HTTP thành thiết bị di động IPAD 10

Hình 1.6 Giao diện trang web vietnamnet.vn sau khi thay đổi 10

Hình 1.7 Phương pháp phát hiện xâm nhập tấn công ứng dụng web 13

Hình 1.8 Mô hình network-based WAF 17

Hình 1.9 Mô hình host-based WAF 17

Hình 1.10 Mô hình quan hệ các sản phấm WAF 18

Hình 2.1 Cấu trúc truy vấn ứng dụng web 23

Hình 3.1 Mô hình Markov 5 trạng thái 35

Hình 3.2 Mô hình Markov ẩn 3 trạng thái 37

Hình 3.3 Hệ thống bình - cầu 38

Hình 3.4 Chuỗi Q tối ưu cục bộ 42

Hình 4.2 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 51

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

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

Hình 5.1 Mô hình hoạt động IWAF 59

Hình 5.2 Sơ đồ xử lý của modsecurity 61

Trang 7

DANH MỤC BIỂU ĐỒ

Biểu đồ 6.1 So sánh chiều dài dạng Effective và Standard 1 65

Biểu đồ 6.2 So sánh chiều dài dạng Effective và Standard 2 65

Biểu đồ 6.3 So sánh chiều dài dạng Effective và Standard 3 66

Biểu đồ 6.4 So sánh chiều dài dạng Effective và Standard 4 67

Biểu đồ 6.5 So sánh các tổ hợp HMM của ứng dụng post.php phương pháp huấn luyện 1 67 Biểu đồ 6.6 So sánh các tổ hợp HMM của ứng dụng edit-comments.php phương pháp huấn luyện 1 68

Biểu đồ 6.7 So sánh các tổ hợp HMM của ứng dụng wp-login.php phương pháp huấn luyện 1 68

Biểu đồ 6.8 So sánh các tổ hợp HMM của ứng dụng post.php phương pháp huấn luyện 2 69 Biểu đồ 6.9 So sánh các tổ hợp HMM của ứng dụng edit-comments.php phương pháp huấn luyện 2 69

Biểu đồ 6.10 So sánh các tổ hợp HMM của ứng dụng wp-login.php phương pháp huấn luyện 2 70

Biểu đồ 6.11 So sánh phương pháp huấn luyện 1 và 2 của ứng dụng post.php 70

Biểu đồ 6.12 So sánh phương pháp huấn luyện 1 và 2 của ứng dụng edit-comments.ph 71

Biểu đồ 6.13 So sánh phương pháp huấn luyện 1 và 2 của ứng dụng wp-login.php 71

Biểu đồ 6.14 tỷ lệ nhận dạng sai false negatives trường hợp 1, cách 1 74

Biểu đồ 6.15 tỷ lệ nhận dạng sai false negatives trường hợp 1, cách 2 75

Biểu đồ 6.16 tỷ lệ nhận dạng sai false negatives trường hợp 2, cách 1 76

Biểu đồ 6.17 tỷ lệ nhận dạng sai false negatives trường hợp 2, cách 2 76

Trang 8

MỞ ĐẦU

1 Lý do chọn đề tài

Trong những năm qua, ngành Công nghệ thông tin và truyền thông TT) đã có những bước tiến quan trọng, góp phần vào sự phát triển chung của đất nước trên nhiều lĩnh vực văn hóa, kinh tế, xã hội CNTT-TT Việt Nam đã được xác lập trên bản đồ CNTT-TT thế giới thông qua các kết quả đánh giá hàng năm của các

(CNTT-tổ chức quốc tế như ITU (chỉ số về phát triển CNTT-TT), diễn đàn kinh tế thế giới (chỉ số NRI về mức độ hưởng lợi từ sự phát triển CNTT-TT) hay báo cáo xếp hạng Chính phủ điện tử của Liên hợp quốc Sự phát triển đó là một tín hiệu đáng mừng trong việc sớm đưa Việt Nam trở thành nước mạnh về CNTT

Tuy nhiên, bên cạnh đó cũng có nhiều lo ngại khi các nguy cơ làm ảnh hưởng tới an toàn thông tin ngày một gia tăng Theo báo cáo ngày 25/5/2012 tại hội thảo "Xây dựng chính sách đảm bảo ATTT trong việc phát triển Chính phủ điện tử tại Việt Nam" VNISA (Hiệp hội An toàn thông tin Việt Nam) đã công bố kết quả khảo sát “Một số điểm yếu điển hình và phổ biến trên các trang web và cổng thông tin điện tử” Kết quả cho thấy đã phát hiện 3697 lỗi trong 100 website gov.vn (lựa chọn ngẫu nhiên, không phân biệt lĩnh vực hoạt động) Trong đó, 489 lỗi thuộc diện rất nghiêm trọng và 396 lỗi ở mức cao (chiếm 23,9%), còn lại 2812 lỗi ở mức trung bình/yếu và “Đáng ngại hơn, 80% các website được khảo sát không có biện pháp bảo mật tối thiểu khiến chúng rất dễ bị tấn công” (theo ông Vũ Bảo Thạch - đại diện VNISA)

Các cuộc tấn công này chủ yếu tập trung vào các ứng dụng web được phát triển trong các dịch vụ thương mại điện tử với nền tảng ứng dụng web 2.0 Vấn đề bảo mật cho các ứng dụng hiện nay nói chung và ứng dụng web nói riêng vẫn còn khá “mới mẻ” đối với các cơ quan Nhà nhà nước, doanh nghiệp ở Việt Nam

Để bảo vệ các ứng dụng web cần thiết phải có Một bức tường lửa chuyên dụng Web Application Firewall (WAF) Một WAF sẽ làm các nhiệm vụ như sau:

- Thiết lập các chính sách cho các kết nối người dùng HTTP thông qua việc chọn lọc nội dung cho máy chủ dịch vụ web

Trang 9

- Bảo vệ hệ thống trước các loại hình tấn công phổ biến trên mạng như: Cross-site Scripting (XSS) và SQL Injection

- Ngoài việc những động tác kiểm tra của một bức tường lửa thông thường, WAF sẽ kiểm tra sâu hơn, sẽ kiểm tra các nội dung HTTP ở lớp ứng dụng

Tuy nhiên, kinh phí để triển khai các giải pháp đảm bảo an toàn, an ninh thông tin khi sử dụng các giải pháp nước ngoài cung cấp là không hề nhỏ Ví dụ: giá thiết bị Barracuda Web Application Firewall chưa tính đến chi phí duy trì hàng năm lên đến 9,500USD (nguồn http://www.ntsecurity.com/barracuda-products/barracuda-application-firewall.html)

Hiện nay, đa số các doanh nghiệp, cơ quan thường đặt ứng dụng web tại các nhà cung cấp dịch vụ Internet, ngoại trừ các doanh nghiệp lớn như: công ty tài chính, ngân hàng, … có đầu tư hệ thống máy chủ riêng đặt tại công ty Tuy nhiên, qua khảo sát thực tế tại Datacenter các nhà cung cấp dịch vụ gia tăng trên Internet như: VDC, FPT, Viettel, ODS, Netnam, … thì gần như không có đơn vị nào cung cấp, hỗ trợ chức năng bảo mật ứng dụng web cho các gói dịch vụ trực tuyến của mình

Thực tế tại Datacenter Sở KHCN Đồng Nai, các doanh nghiệp thuê các dịch

vụ trực tuyến thường không quan tâm đến bảo mật ứng dụng web bằng các phần mềm tường lửa chuyên dùng, mà chủ yếu sử dụng tường lửa mặc định trên hệ điều hành máy chủ

Theo tìm hiểu trên thị trường thiết bị bảo mật mạng tại Việt nam, đến nay vẫn chưa có sản phẩm bảo mật ứng dụng web do trong nước phát triển và thương mại hóa Ngoài ra, các luận văn ngành công nghệ thông tin qua khảo sát các website chuyên về cung cấp luận văn như: thuvienluanvan.com, tailieu.vn, … không thấy đề tài, luận văn đề cập xây dựng WAFs mà chỉ dừng lại chỉ nêu ra “các phương pháp tấn công và cách thức phòng chống cho ứng dụng Web”

Như vậy, việc đảm bảo an toàn, an ninh thông tin cho các hệ thống ứng dụng web/cổng thông tin điện tử, giảm giá thành đầu tư thiết bị bảo mật và không cần đội

Trang 10

ngũ nhân viên có trình độ chuyên sâu cao thì việc nghiên cứu hệ thống tường lửa thông minh cho các ứng dụng Web (IWAF) là một nhu cầu rất lớn và thiết thực

2 Mục tiêu nghiên cứu

- Nghiên cứu, xây dựng hệ thống tường lửa thông minh cho các ứng dụng Web nhằm đảm bảo an toàn, an ninh thông tin cho các hệ thống ứng dụng web/cổng thông tin điện tử của các máy chủ đặt tại Sở Khoa học và Công nghệ Đồng Nai

- Ứng dụng học máy (Machine Learning) để xây dựng hệ thống IWAF

3 Đối tượng và phạm vi nghiên cứu

- Tìm hiểu cơ bản về giao thức HTTP

- Nghiên cứu lý thuyết và mô hình triển khai hệ thống WAFs

- Tìm hiểu các mô hình nhận dạng tấn công ứng dụng web dựa trên sự bất thường

- Ứng dụng học máy (mô hình Markov ẩn – HMM) để xây dựng bộ nhận biết các tấn công từ bên ngoài và đưa ra chính sách ngăn chặn hoặc cách ly theo dõi tự động cho hệ thống IWAF nhằm đảm bảo an toàn, an ninh thông tin cho các hệ thống ứng dụng web/cổng thông tin điện tử của các máy chủ đặt tại Sở Khoa học và Công nghệ Đồng Nai

4 Phương pháp nghiên cứu

- Sử dụng các thông tin, tài liệu trên trang web OWASP (Open Web Application Security Project) để nghiên cứu lý thuyết và mô hình triển khai hệ thống WAFs

- Sử dụng giáo trình “Introduction to Machine Learning” của E Alpaydin,

2010 để nghiên cứu nội dung máy học

- Sử dụng tài liệu “Prentice Hall The Apache Modules Book” của Jan.2007 Nick Kew để nghiên cứu về Apache Webserver

- Sử dụng tài liệu “ModSecurity 2.5 Securing your Apache installation and web applications” của Magnus Mischel; “Modsecurity Handbook complete guide to securing your Web applications” của Ivan Ristic để nghiên cứu về ModSecurity

- Xây dựng hệ thống IWAF và đưa vào thử nghiệm thực tế

Trang 11

5 Ý nghĩa khoa học và thực tiễn của đề tài

Ý 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 tường lửa thông minh cho các ứng dụng web

Ý nghĩa thực tiễn của đề tài: sản phẩm của đề tài được triển khai thử nghiệm trên ứng dụng web/cổng thông tin điện tử của các máy chủ đặt tại Sở Khoa học và Công nghệ Đồng Nai 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 an ninh thông tin cho Cổng thông tin điện tử, các cổng con và dịch

vụ công của tỉnh Đồng Nai và các tỉnh thành khác

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

Toàn bộ nội dung của Luận văn được chia thành 06 chương như sau:

Chương 1: tổng quan về bảo mật website/portal và tường lửa cho các ứng dụng web

Chương 2: các mô hình nhận dạng tấn công ứng dụng web dựa trên sự bất thường

Chương 3: Giới thiệu về mô hình Markov ẩn

Chương 4: Ứng dụng mô hình Markov ẩn vào trong nhận dạng truy vấn bất thường đối

Chương 5: Mô hình và chức năng của hệ thống IWAF

Chương 6: Cài đặt phần mềm, thử nghiệm, phân tích và đánh giá kết quả

Trang 12

CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT WEBSITE/PORTAL VÀ CÁC GIẢI PHÁP NHẬN DẠNG, NGĂN CHẶN TẤN CÔNG ĐỐI VỚI ỨNG

DỤNG WEB 1.1 Vấn đề bảo mật các ứng dụng Website/Portal

Trong những ngày đầu phát triển của Internet thì khái niệm World Wide Web chỉ bao gồm các trang web chứa thông tin cơ bản dưới dạng tài liệu tĩnh Các trình duyệt web được phát triển như một phương tiện tiếp nhận và hiển thị các thông tin trên các trang Web

Dữ liệu từ các trang web sẽ chuyển xuống trình duyệt Web theo một chiều và không cần xác thực người dùng vì mỗi người sử dụng được cung cấp thông tin theo cùng một nội dung và cách trình bày Do đó, nếu hacker tấn công máy chủ web, sẽ không truy cập vào bất kỳ thông tin nhạy cảm nào, thay vào đó, hacker thường sẽ sửa đổi các tập tin trên máy chủ để thay đổi nội dung của website hoặc sử dụng máy chủ để lưu trữ và phát tán virus

Ngày nay, World Wide Web thay đổi rất nhiều đến mức không thể nhận ra

so với hình thức văn bản, hình ảnh ban đầu Đa số các website hiện nay thực ra là các ứng dụng ví dụ: cho phép cá nhân hóa nội dung động, thiết lập theo sở thích cá nhân, các trang web cũng có thể chạy dưới dạng client-side script cho phép "thay đổi" trình duyệt Web thành một giao diện ứng dụng như: web mail và bản đồ trực tuyến, … Do đó, bảo mật là một vấn đề lớn Không ai muốn sử dụng một ứng dụng web, nếu biết rằng thông tin của mình sẽ được tiết lộ trái phép cho cá nhân, tổ chức khác

1.1.1 Khái niệm về ứng dụng Web

Các ứng dụng web là các chương trình cho phép người truy cập website để chuyển lên và lấy dữ liệu về cơ sở dữ liệu thông qua Internet bằng cách sử dụng trình duyệt web Dữ liệu sau đó được hiển thị trên trình duyệt của người dùng, thông tin trên đó được tạo ra tự động (theo một định dạng cụ thể, ví dụ như trong HTML bằng cách sử dụng CSS) bởi các ứng dụng web thông qua một máy chủ web

Trang 13

Nếu tìm hiểu chi tiết về kỹ thuật hơn thì các ứng dụng Web truy vấn máy chủ

dữ liệu và tự động tạo ra các dữ liệu trên website để hiển thị cho người dùng Các

dữ liệu trên Web được tự động tạo ra này sẽ theo một định dạng chuẩn được hỗ trợ bởi các trình duyệt khác nhau Các trình duyệt web giữ vai trò then chốt do vừa diễn dịch, thực thi tất cả Script và hiển thị nội dung các trang web

+ Một số chức năng phổ biến của các ứng dụng Web

Ứng dụng Web đã được phát triển nhằm thực hiện tất cả các chức năng hữu ích có thể sử dụng được trong môi trường trực tuyến Dưới đây là một số chức năng của ứng dụng web đã được phát triển và sử dụng rất nhiều trong những năm gần đây:

 Mua bán trực tuyến: Amazon, Ebay, 5giay.com, …

 Mạng xã hội: Facebook, linkedin, …

 Tìm kiếm: Google, Bing, rongbay.com, …

 Quản lý email trực tuyến: Gmail, Hotmail, Yahoo Mail, …

+ Mô hình hoạt động của ứng dụng web

Thông thường mô hình của ứng dụng web theo mô hình 03 lớp Lớp đầu tiên

là trình duyệt web hoặc giao diện người dùng dạng Winform, lớp thứ hai là công cụ

sử dụng công nghệ tạo ra các nội dung động như Java servlets (JSP) hoặc Active Server Pages (ASP), và lớp thứ ba là cơ sở dữ liệu có chứa nội dung (như tin tức, sản phẩm) và dữ liệu khách hàng (ví dụ như tên người dùng, thông tin cá nhân, )

Hình 1.1 Mô hình hoạt động ứng dụng web (nguồn www.windowsecurity.com)

Trang 14

Hình 1.2 (bên dưới) sẽ thể hiện chi tiết hơn quá trình từ lúc yêu cầu ban đầu được kích hoạt bởi người sử dụng thông qua trình duyệt trên Internet cho các máy chủ ứng dụng web, tiếp theo các ứng dụng web truy xuất đến máy chủ cơ sở dữ liệu

để thực hiện các nhiệm vụ được yêu cầu như: thêm mới, cập nhật, lấy các thông tin trong cơ sở dữ liệu Các ứng dụng web sau đó chuyển thông tin về đến trình duyệt web để cung cấp cho người dùng

Hình 1.2 Mô hình chi tiết hoạt động ứng dụng web

(nguồn www.windowsecurity.com)

1.1.2 Vấn đề bảo mật các ứng dụng Web

Khi các công nghệ mới được phát triển và ứng dụng mạnh mẽ như các ứng dụng web hiện nay, thì theo khách quan đi cùng với điều này sẽ là hàng loạt các lỗ hổng bảo mật mới ra đời Đa số các cuộc tấn công nghiêm trọng vào các ứng dụng web là làm lộ thông tin, dữ liệu nhạy cảm hoặc truy cập không hạn chế với các hệ thống mà các ứng dụng đang hoạt động

Theo đánh giá của Gartner (Công ty uy tính hàng đầu thế giới về đánh giá công nghệ) thì hơn 25% các cuộc tấn công dạng từ chối dịch vụ (DoS, DdoS) trong năm 2013 là nhằm vào các ứng dụng Đặc biệt, trong sáu tháng cuối năm 2012, đã

có nhiều cuộc tấn công DdoS vào các Ngân hàng của Mỹ và sẽ tiếp tục trong năm

2013

Trang 15

Hình 1.3 Đánh giá của Gartner về tấn công từ chối dịch vụ đối với các ứng dụng trong

năm 2013 (nguồn Gartner.com)

Tuy nhiên, một nhận thức sai lầm phổ biến cho rằng vấn đề bảo mật cho các ứng dụng web là an toàn Chỉ cần chúng ta duyệt qua một số trang web mua bán hàng trực tuyến, vào trang "những câu hỏi thường gặp" (FAQ), chúng ta sẽ rất yên tâm rằng trang web này an toàn Vì hầu hết các ứng dụng web này công bố an toàn

bởi vì họ sử dụng SSL Ví dụ: "Hệ thống thanh toán của Zalora.vn đã được mã hóa

với mã bảo mật 128-bit SSL và được chứng nhận bởi VeriSign Quý khách có thể thấy giao dịch an toàn qua biểu tượng Ổ khóa ở phía dưới trình duyệt Chúng tôi không giữ lại thông tin thẻ tín dụng của quý khách sau khi giao dịch hoàn tất Thông tin thẻ của quý khách sẽ được chuyển trực tiếp đến ngân hàng của chúng tôi Quý khách có thể tin tưởng rằng với mỗi lần mua hàng, thông tin thẻ hoặc tài khoản ngân hàng của quý khách được bảo mật" theo trang bán hàng trực tuyến của Công

ty TNHH Một Thành Viên Giờ Giải Lao Bán Lẻ & Giao Nhận http://www.zalora.vn

Trong thực tế, phần lớn các ứng dụng web là không an toàn, mặc dù đã sử dụng rộng rãi công nghệ bảo mật SSL và tuân thủ qui trình, tiêu chuẩn PCI (Payment Card Industry-chuẩn công nghiệp của thẻ thanh toán) Các điểm yếu hay

lỗ hổng nghiêm trọng của các ứng dụng web thường bắt nguồn từ việc viết mã không đúng phương pháp hay qui trình phát triển ứng dụng không an toàn sẽ cho

Trang 16

phép hacker truy cập trực tiếp và khai thác cơ sở dữ liệu để lấy dữ liệu nhạy cảm Hình 1.4 đã mô tả việc hacker có thể dễ dàng, nhanh chóng truy cập dữ liệu trong

cơ sở dữ liệu thông qua một loạt các kỹ thuật tấn công với một ít may mắn do sơ suất trong sử dụng, cấu hình của người quản trị và lỗi lập trình dẫn đến lỗ hổng trong các ứng dụng web

Hình 1.4 Các bước tấn công vào ứng dụng web (nguồn www.windowsecurity.com)

Vấn đề cốt lõi trong 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 cũng như các ứng dụng phân tán khác đều 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ó 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 có thể nguy cơ là mã độc và có các bước kiểm tra chắc chắn rằng hacker 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, 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 chức năng và

dữ liệu ứng dụng web

Trang 17

Ví dụ: người dùng có thể thay đổi thông tin tiêu đề HTTP gởi về máy chủ Các công cụ nảy rất nhiều và có các chức năng gắn thêm vào ngay trình duyệt người dùng như Modify Headers, Headertool, …

Hình 1.5 Hình ảnh Vietnamnet.vn trên máy tính và thay đổi tiêu đề HTTP thành thiết bị di

động IPAD (nguồn Vietnamnet)

Hình 1.6 Giao diện trang web vietnamnet.vn sau khi thay đổi

(nguồn Vietnamnet)

Kết quả giao diện khi vào cùng trang vietnamnet.vn nhưng ứng dụng web bây giờ đã nhận sai là kết nối từ thiết bị di động nên giao diện hiển thị trên màng hình là dành cho thiết bị di động

Trang 18

1.1.3 Danh sách rủi ro bảo mật cho các ứng dụng web OWASP Top

10

OWASP là viết tắt của The Open Web Application Security Project là dự án

mở về bảo mật ứng dụng Web Dự án là một sự cố gắng chung của cộng đồng giúp các tổ chức có thể phát triển, mua hoặc bảo trì các ứng dụng an toàn

OWASP là một mô hình tổ chức mới Việc không bị thương mại hóa ảnh hưởng giúp OWASP đưa ra những thông tin chính xác, không thiên vị và có giá trị

về an toàn ứng dụng OWASP không liên kết với bất kì công ty kỹ thuật nào, dù OWASP hỗ trợ về các mặt kỹ thuật trong an toàn thông tin ứng dụng Cũng giống như những dự án phần mềm mã nguồn mở, OWASP tạo ra rất nhiều sản phẩm bằng

sự hợp tác của cộng đồng

OWASP cung cấp miễn phí và tính mở để phát triển các nội dung:

• Công cụ và các tiêu chuẩn về an toàn các ứng dụng

• Sách về kiểm tra bảo mật ứng dụng, lập trình an toàn và các bài viết về kiểm định mã nguồn an toàn

• Thư viện và các tiêu chuẩn kiểm soát anh ninh ứng dụng

• Những nghiên cứu mới nhất

• Những buổi hội thảo toàn cầu

• Địa chỉ thư liên lạc chung

• Và nhiều nội dung khác

OWASP Top 10 2013 đánh dấu 11 năm hoạt động tuyên truyền về sự quan trọng của bảo mật thông tin cho các ứng dụng WASP Top 10 xuất hiện đầu tiên vào năm 2003, được sửa đổi vài điểm nhỏ trong những năm 2004 và 2007, đến nay

là phiên bản 2013 Mục tiêu chính của OWASP Top 10 là để hướng dẫn người lập trình viên, người thiết kế, kỹ sư, quản lí và cả tổ chức về hậu quả của những điểm yếu quan trọng nhất trong ứng dụng web Top 10 cung cấp những kỹ năng cơ bản

để bảo chống lại các rủi ro và hướng dẫn để xử lý (chi tiết phần phụ lục danh sách OWASP Top 10)

Trang 19

1.2 Các giải pháp nhận dạng tấn công tấn công website

1.2.1 Sự phát triển của nhận dạng tấn công ứng dụng web

Hiện nay, khi đề cập đến phát hiện xâm nhập (IDS) thì đa số người dùng nghĩ đến một hệ thống phát hiện xâm nhập mạng (NIDS) Một NIDS hoạt động ở mức TCP/IP và được sử dụng để phát hiện các cuộc tấn công dịch vụ mạng, bao gồm các máy chủ web Hệ thống IDS được triển khai phổ biến và rộng rãi với mục đích là giám sát các gói tin trên mạng để phát hiện gói tin nguy hiểm

Ngoài ra, hệ thống phát hiện xâm nhập dựa trên máy chủ (HIDSs) làm việc ở cấp độ máy chủ Mặc dù HIDS có thể phân tích lưu lượng mạng (chỉ có lưu lượng truy cập mà đến với máy chủ duy nhất) nhưng công việc này thường là của NIDSs HIDS chủ yếu giám sát đến các sự kiện diễn ra trên các máy chủ (ví dụ như người dùng đăng nhập vào và ra và thực hiện lệnh) và các thông báo lỗi hệ thống được tạo

ra

Nhiều loại NIDS được phát triển, trong đó có NIDS nhằm phát hiện xâm nhập cho các ứng dụng web Mặc dù, NIDS cho các ứng dụng web được thiết kế để giải quyết tốt vấn đề trợ giúp phát hiện xâm nhập ứng dụng web Tuy nhiên, các NIDS này không thể thực hiện đầy đủ phát hiện các xâm nhập tiềm năng với các ứng dụng web vì những lý do sau đây:

• NIDSs được thiết kế để làm việc với giao thức TCP/IP Web lại dựa trên giao thức HTTP, là một nội dung hoàn toàn mới với các vấn đề và thách thức riêng đối với giao thức TCP/IP

• Vấn đề thực sự là các ứng dụng web không phải đơn giản là sử dụng giao thức HTTP Thay vào đó, HTTP chỉ được sử dụng để thực hiện trao đổi dữ liệu của các ứng dụng cụ thể Có thể xem như mỗi ứng dụng được xây dựng giao thức riêng của mình trên đầu trang của HTTP

• Nhiều giao thức mới được triển khai trên HTTP (dịch vụ Web, XML-RPC,

và SOAP) làm tăng mức độ phức tạp ứng dụng web

• Các vấn đề khác, như sự bất lực của NIDS để giám sát dữ liệu đi qua kênh

mã hóa SSL và không có khả năng để đối phó với một số lượng lớn lưu lượng truy cập web

Trang 20

Các nhà cung cấp của NIDSs đã phát triển các chức năng mở rộng để chống lại những thách thức trên như khả năng hiểu HTTP tốt hơn (như dữ liệu chuyển qua lại giữa người dùng và ứng dụng web) Các bức tường lửa chuyên sâu có thể kiểm tra ở mức độ cao hơn

Cuối cùng, một loại IDS đã ra đời đó là tường lửa ứng dụng web - WAF WAF còn được gọi là các cổng ứng dụng web, được thiết kế đặc biệt để bảo vệ các ứng dụng web Các yêu cầu kết nối thay vì đi trực tiếp đến các ứng dụng web thì sẽ được đưa đến một WAF kiểm tra và kết nối nếu WAF cho rằng yêu cầu này

an toàn WAF được thiết kế hoàn toàn để đối phó với các cuộc tấn công vào ứng dụng web và phù hợp nhất cho mục đích phát hiện và ngăn chặn tấn công ứng dụng web

1.2.2 Các phương pháp nhận dạng tấn công ứng dụng web

Căn cứ vào cách tiếp cận mà một số thông tin phân loại dễ nhầm lẫn, thiếu sót trong quá trình phân loại là việc nhằm lẫn giữa phương pháp phát hiện xâm nhập

và các chức năng của hệ thống phát hiện xâm nhập Thông thường có 02 phương pháp tiếp cận là sử dụng kỹ thuật nhận dạng tĩnh và kỹ thuật nhận dạng động

Hình 1.7 Phương pháp phát hiện xâm nhập tấn công ứng dụng web

+ Kỹ thuật nhận dạng tĩnh

Phát hiện xâm nhập dạng tĩnh dựa trên nhật ký truy cập chi tiết của máy chủ web, nơi mà các thông tin về tất cả các yêu cầu truy cập từ phía người dùng được lưu lại Ngoài ra, máy chủ web cũng có thể tạo ra các nhật ký truy cập theo các định dạng đặc biệt để kiểm soát dữ liệu được thu thập Phát hiện xâm nhập dạng tĩnh

Trang 21

được thực hiện chỉ sau khi giao dịch diễn ra Vì vậy, việc ngăn chặn tấn công tại thời điểm đang bị tấn công là không thể

+ Các chức năng chính của hệ thống phát hiện xâm nhập ứng dụng web

 Phát hiện bất thường trong giao thức sử dụng

Các IDS thực hiện một số kiểm tra yêu cầu gửi đến và không chấp nhận bất

cứ điều gì không phù hợp với các tiêu chuẩn HTTP Ngoài ra, các IDS có thể thu hẹp các tính năng với các ứng dụng web và do đó làm giảm bớt các dạng tấn công

 Mô hình an toàn Negative và Positive (backlist và whitelist)

Đây là hai hướng tiếp cận mà thể hiện rõ ở 02 câu hỏi sau:

 Mô hình bảo mật Positive (Whitelist): Cái nào là an toàn?

 Mô hình bảo mật Negative (Blacklist): Cái nào là nguy hiểm?

Mô hình bảo mật Negative thường được sử dụng nhiều hơn Hệ thống chỉ cần xác định tấn công dựa vào một mẫu các tấn công nguy hiểm đã biết trước và cấu hình để loại bỏ nó

Một mô hình bảo mật Positive là một phương pháp tốt hơn để xây dựng các chính sách áp dụng trong hoạt động tường lửa Trong lĩnh vực bảo mật ứng dụng web, một mô hình bảo mật Positive liệt kê tất cả các mô tả trong ứng dụng Mỗi mô

tả cần phải xác định như sau:

• Các phương thức yêu cầu được phép (ví dụ, GET / POST hoặc chỉ POST)

• Content-Type được phép

• Content-Length được phép

• Các thông số được phép

Trang 22

• Những thông số là bắt buộc và là tùy chọn

• Kiểu dữ liệu tất cả các tham số (ví dụ, văn bản hoặc số nguyên)

• Thông số bổ sung (nếu có)

Các lập trình viên, người quản trị hệ thống có nghĩa vụ phải thực hiện cung cấp danh sách các mô tả trên Tuy nhiên, trong thực tế thông thường thì không thực hiện điều này Sử dụng mô hình bảo mật Positive là tốt hơn nếu người quản trị hệ thống dành đủ thời gian để phát triển nó Một khó khăn khác của phương pháp này

là các ứng dụng thay đổi mô hình liên tục Do đó, sẽ cần phải cập nhật mô hình mỗi khi một mô tả mới được thêm vào các ứng dụng hoặc thay đổi mới

 Phương pháp bảo vệ dạng Rule-based và Anomaly-based

Rule-based: mọi yêu cầu HTTP là đối tượng của một loạt các kiểm tra, trong đó mỗi kiểm tra bao gồm một hoặc nhiều quy tắc kiểm tra Kết quả của quá trình kiểm tra là một yêu cầu có thỏa hay không? nếu thỏa kết quả là True, không thỏa là False Sau đó, các yêu cầu HTTP có kết quả là True bị xem là mã độc và bị

từ chối Rule-based thường được sử dụng trong mô hình an toàn Negative

Rule-based dễ xây dựng và sử dụng và có hiệu quả khi được sử dụng để bảo

vệ chống lại các tấn công đã được biết đến hoặc xây dựng một chính sách tùy chỉnh Tuy nhiên, do phải biết về các chi tiết, cụ thể của tất cả các mối đe dọa, nên phương pháp này phải dựa trên cơ sở dữ liệu các quy tắc (hoặc cơ sở dữ liệu mẫu tấn công) Các nhà cung cấp IDS duy trì, phát triển cơ sở dữ liệu quy tắc và phân phối thông qua chức năng cập nhật tự động của IDS

Cách tiếp cận này ít có khả năng có thể để bảo vệ các ứng dụng tùy chỉnh hoặc để bảo vệ trước tấn công khai thác zero-day (khai thác các lỗ hổng chưa được biết đến công khai) Đối với các vấn đề này thì IDS theo hướng anomaly-base thực hiện tốt hơn

Rule-based và Signature-based về cơ bản là giống nhau Signature-based thường phát hiện xâm nhập bằng cách kiểm tra các chuỗi hoặc biểu thức trong lưu lượng dữ liệu với các mẫu có trùng khớp hay không Trong khi đó, Rule-based cho

Trang 23

phép thực hiện các phép toán logic phức tạp hơn, cũng như có thể kiểm tra đến một phần cụ thể của giao dịch web được đặt ra trong quy tắc

Anomaly-based: là hướng tiếp cận dựa trên các dấu hiệu bất thường với ý tưởng xây dựng một lớp bảo vệ và nó sẽ quan sát lưu lượng dữ liệu hợp pháp của ứng dụng và sau đó xây dựng một mô hình thống kê để đánh giá lưu lượng truy cập nhằm chống lại các tấn công Về lý thuyết, một khi được đào tạo, một hệ thống Anomaly-based sẽ phát hiện bất cứ điều gì khác thường Với phương pháp Anomaly-based thì không cần thiết sử dụng phương pháp Rule-based và khai thác zero-day không phải là một vấn đề đáng quan tâm Tuy nhiên, hệ thống Anomaly-based rất khó để xây dựng và ít được sử dụng Bởi vì người dùng không hiểu cách

hệ thống Anomaly-based làm việc do đó không tin tưởng vào hệ thống như vậy, vì thế làm cho nó ít phổ biến

1 3 Tổng quan về WAF

1.3.1 Khái niệm WAF

WAF có thể được xem là một hệ thống phát hiện/ngăn chặn xâm nhập được thiết kế đặc biệt để bảo vệ các ứng dụng web (như đã nêu phần “Sự phát triển của nhận dạng tấn công ứng dụng web”) WAF là một thiết bị hoặc máy chủ ứng dụng giam sát trao đổi thông tin của giao thức http/https giữa một trình duyệt máy trạm

và máy chủ web ở tầng ứng dụng (Tầng 7 trong mô hình OSI) WAF sử dụng phương pháp nhận dạng động để phát hiện tấn công

WAF sau đó có khả năng thực thi các chính sách bảo mật dựa trên nhiều chức năng bao gồm Rule-based (dựa trên mẫu, dấu hiệu của các cuộc tấn công được biết đến), bất thường trong giao thức sử dụng và Anomaly-based (nhận dạng các bất thường trong quá trình hoạt động của ứng dụng web), …

+ Phân loại theo vị trí của WAF trong hệ thống mạng

WAF thường được chia thành 02 loại:

Network-based WAF: theo mô hình này WAF được đặt giữa đường kết nối vật lý người dùng và Website, và kiểm tra giao dịch HTTP/HTTPS Một

Trang 24

Network-based WAF có thể là một phần cứng chuyên dụng hoặc một máy chủ được cài đặt với phần mềm WAF

Hình 1.8 Mô hình network-based WAF (Nguồn A Handbook to Understand Web Application Firewall, Japan - IPA)

Một Network-based WAF có những đặc điểm sau đây:

 Hoạt động của nó không phụ thuộc vào môi trường hoạt động của máy chủ web

 Hoạt động của nó không phụ thuộc vào số lượng các máy chủ web (của một trang website)

 Khi triển khai một WAF vào các trang web đã hoạt động thì yêu cầu phải cấu hình lại hệ thống mạng

 Khi sử dụng WAF, tính sẵng sàng của các trang web có thể giảm

Host-based WAF: theo mô hình này WAF được đặt giữa đường kết nối (Logic) người dùng và Website, và kiểm tra giao dịch HTTP/HTTPS khi máy chủ web gởi và nhận dữ liệu Một Host-based WAF thường là phần mềm được cài đặt như một phần của máy chủ web

Hình 1.9 Mô hình host-based WAF

(Nguồn A Handbook to Understand Web Application Firewall, Japan - IPA)

+ Phân loại theo bảng quyền sử dụng: có 2 loại là sản phẩm thương mại và phần mềm mã nguồn mở

Trang 25

+ Phân loại theo hình thức cung cấp: thường có 03 loại là thiết bị phần cứng chuyên dụng, phần mềm và dịch vụ

Do đó, vấn đề quan trọng là phải hiểu được những lợi thế và bất lợi của từng loại WAF để chọn một loại thích hợp

Hình 1.10 Mô hình quan hệ các sản phấm WAF (Nguồn A Handbook to Understand Web Application Firewall, Japan - IPA)

1.3.2 Chức năng của WAF

WAF bảo vệ các ứng dụng web trước các cuộc tấn công khai thác lỗ hổng trong các ứng dụng web bằng cách sử dụng kết hợp các tính năng khác nhau Theo hướng dẫn của tổ chức Information Technology Promotion Agency (IPA) Nhật Bản [12] thì các tính năng WAF thường chia ra 2 cấp độ: "các chức năng cơ bản" (tất cả các WAF phải có) và "các chức năng cao cấp" Cụ thể như sau:

+ Chức năng cơ bản:

WAF kiểm tra các giao dịch HTTP giữa người sử dụng và các trang web theo qui định cụ thể Khi một giao dịch HTTP được coi là "độc hại", WAF thực hiện một hành động định sẵn Các "chức năng cơ bản" bao gồm những chức năng sau:

 Chức năng kiểm tra kết nối: là một chức năng kiểm tra các yêu cầu/phản hồi HTTP dựa trên các quy tắc được xác định trước Chi tiết các nội dung kiểm tra cho các yêu cầu/phản hồi HTTP như sau:

Nội dung kiểm tra các yêu cầu HTTP

- Nội dung của dòng yêu cầu HTTP như: phương thức, URI, chuỗi truy vấn

- Nội dung trường tiêu đề yêu cầu của HTTP như: general-header, header, entity-header

request Nội dung thông điệp phần dữ liệu yêu cầu của HTTP (HTTP body)

Nội dung kiểm tra các phản hồi HTTP

Trang 26

- Nội dung các dòng trạng thái (status code)

- Nội dung trường tiêu đề trả về của HTTP

- Nội dung thông điệp phần dữ liệu trả về của HTTP

Chức năng "kiểm tra" sử dụng mô hình nhận dạng Negative và Positive để nhận dạng kết nối an toàn và không an toàn

 Chức năng xử lý: là một chức năng thực hiện các hành động định sẵn đối với các giao dịch HTTP độc hại phát hiện bởi các "chức năng kiểm tra" Thông thường chức năng xử lý có 3 hành động như sau:

Passing: là một hành động mà WAF cho phép các giao dịch HTTP sau khi được phát hiện, kiểm tra và bảo đảm an toàn để kết nối đến người sử dụng hoặc máy chủ web

Error Processing: là một hành động mà WAF tạo ra và gửi lại một phản hồi lỗi cho người sử dụng hoặc trang web, thay cho các kết nối HTTP ban đầu phát hiện trong chức năng kiểm tra Tổng qua thì WAF có thể tạo và gửi phản hồi lỗi với thông điệp bất kỳ

Blocking: là một hành động mà WAF hoàn toàn loại bỏ các gói tin HTTP độc hại được phát hiện trong quá trình kiểm tra Khi WAF loại bỏ một giao dịch HTTP, WAF có thể gởi trở lại một phản hồi HTTP thông báo với người sử dụng hoặc trang web rằng kết nối đã bị mất hoặc WAF không gởi bất kỳ thông tin nào Ngoài ra, một số các WAF bổ sung thêm hành động Rewriting

Rewriting: là một hành động mà WAF làm thay đổi một phần nội dung của giao dịch HTTP phát hiện trong kiểm tra và chuyển tiếp cho người sử dụng hoặc trang web Chế độ này được sử dụng để giữ cho các kết nối HTTP thực hiện ngay

cả khi một chuỗi ký tự bị nghi ngờ được phát hiện trong các giao dịch HTTP

 Chức năng ghi nhật ký: Chức năng ghi nhật ký là một chức năng ghi lại các giao dịch HTTP độc hại phát hiện bởi các "chức năng kiểm tra" và hoạt động của WAF Thông thường, các bản ghi WAF được lưu trữ như một tập tin hoặc trong các cơ sở dữ liệu WAF thường có 2 loại bản ghi phụ thuộc vào việc cần ghi nhận thông tin gì

Trang 27

 Audit Log: ghi lại các giao dịch HTTP độc hại phát hiện bởi các "chức năng kiểm tra" và các hành động đối với những giao dịch HTTP này Nội dung của Audit Log bao gồm ngày và thời gian phát hiện, hành động, địa chỉ IP nguồn, địa chỉ IP đích, các trường của gói tin mà bị phát hiện và các nguyên tắc WAF đã áp dụng

 Debug Log: ghi lại hoạt động và thông tin lỗi của WAF Nội dung của Debug Log bao gồm ngày và thời điểm xảy ra lỗi, các thông tin về hoạt động của WAF như khởi động, dừng lại/tắt và thay đổi các thiết lập cấu hình và các thông tin lỗi Debug Log được sử dụng bởi người quản lý trang web để kiểm xác định xem tất

cả mọi thứ đang làm việc tốt với WAF hay không

+ Chức năng nâng cao:

Ngoài những "tính năng cơ bản", WAF có thể có những "chức năng nâng cao" Các chức năng nâng cao bao gồm: Chức năng Kiểm tra tính hợp lệ kết nối HTTP, Chức năng quản lý (nâng cao sự tiện lợi trong sử dụng WAF)

 Chức năng kiểm tra hợp lệ kết nối HTTP

Chức năng kiểm tra hợp lệ kết nối HTTP là một chức năng xác nhận tính hợp

lệ của các thông số phiên HTTP và các yêu cầu HTTP Do "chức năng kiểm tra" chủ yếu là kiểm tra nội dung của từng giao dịch HTTP, rất khó để ngăn chặn các cuộc tấn công khai thác lỗ hổng trong quản lý phiên kết nối Chức năng ngăn chặn những cuộc tấn công theo 03 cách

Kiểm tra các tham số trong phiên làm việc: có nghĩa là để kiểm tra xem các thông số được sử dụng để quản lý phiên làm việc có bị thay đổi hay không

Kiểm tra tính hợp lệ của yêu cầu HTTP: có nghĩa là để kiểm tra xem một yêu cầu HTTP được gửi từ người sử dụng trong phiên giao dịch thực sự là một yêu cầu hợp lệ và đúng dự định của người dùng

Kiểm tra quá trình chuyển đổi trang web: có nghĩa là để kiểm tra xem một yêu cầu chuyển trang web trong các yêu cầu HTTP được gửi từ người sử dụng trong phiên làm việc có phù hợp, như dự kiến của ứng dụng web hay không

 Chức năng quản lý:

Trang 28

Là một chức năng tạo sự tiện lợi khi sử dụng WAF Chức năng này cho phép người quản lý trang web kiểm tra số lượng giao dịch HTTP độc hại bằng cách phân tích các mục trong Audit Log, cập nhật các quy tắc WAF cho "chức năng kiểm tra", theo dõi tình hình hoạt động của WAF, bao gồm một số chức năng cơ bản sau: Chức năng báo cáo: cho phép tạo một báo cáo thống kê phân tích từ các mục trong Audit Log Một báo cáo thường được tạo ra theo định kỳ Báo cáo tóm tắt các

sự kiện, chẳng hạn như số lượng các giao dịch HTTP coi là độc hại cho mỗi địa chỉ

IP nguồn và những quy tắc vi phạm tương ứng

Chức năng thông báo: có nghĩa là WAF sẽ gửi một thông báo đến người quản lý trang web khi một giao dịch HTTP độc hại được phát hiện bởi các "chức năng kiểm tra" và "chức năng kiểm tra hợp lệ kết nối HTTP" Thông thường, các tính năng cung cấp cho người quản lý trang web nhiều dạng thông báo như: email, SMS, cảnh báo dạng âm thanh, khi phát hiện một giao dịch HTTP độc hại

Tạo ra Whitelist tự động: có nghĩa là WAF sẽ tự động tạo ra một Whitelist dựa trên các giao dịch HTTP đi qua WAF Cách tiếp cận Whitelist có một bất lợi là đòi hỏi phải tạo Whitelist cho mỗi ứng dụng web khác nhau Việc tạo ra Whitelist

tự động sẽ giúp giải quyết vấn đề này

Cập nhật Blacklist tự động: có nghĩa là WAF tự động cập nhật Blacklist Do khi tiếp cận Blacklist phụ thuộc vào các phương pháp tấn công được biết trước, nên

có một nhược điểm là danh sách phải được cập nhật ngay sau khi một phương pháp tấn công mới được báo cáo Tự động cập nhật sẽ giúp giải quyết vấn đề

+ Một số điểm cần lưu ý với chức năng của WAF

Lưu ý rằng việc sử dụng WAF không thể ngăn chặn tất cả các cuộc tấn công khai thác lỗ hổng đã biết và chưa biết của mọi ứng dụng web theo những cách tinh

vi và sáng tạo Khi xem xét việc sử dụng WAF, điều quan trọng là người quản trị trang web phải hiểu rõ và lưu ý những điểm sau trước khi quyết định sử dụng

 Vấn đề xác định sai trong chức năng kiểm tra của WAF

Bởi vì WAF thực hiện các lọc giao dịch HTTP dựa trên các quy tắc được thiết lập khi kiểm tra các giao dịch HTTP giữa người sử dụng và trang web Do đó

Trang 29

đôi khi cơ chế lọc không thực hiện đúng như mong muốn và gây ra lỗi, thường được chia thành 02 loại lỗi là: false positives và false negatives

False positives: là trường hợp một giao dịch HTTP hợp pháp được xem là

độc hại Khi lỗi False positives xảy ra, giao dịch HTTP hợp pháp của người sử dụng

có thể bị WAF ngăn chặn

False negatives: là trường hợp một giao dịch HTTP độc hại được coi là hợp

pháp Khi lỗi False negatives xảy ra, một cuộc tấn công khai thác lỗ hổng trong các ứng dụng web có thể đi qua WAF

 Điểm lưu ý với Backlist: Blacklist có thể được chia sẻ dùng chung cho một ứng dụng web bất kỳ Thông thường, các nhà phát triển WAF cung cấp một Blacklist để ngăn chặn các cuộc tấn công đã được biết đến Tuy nhiên, nếu tất cả các quy tắc trong Blacklist được áp dụng thì có thể xảy ra lỗi false positive Nếu một giao dịch HTTP hợp pháp bị chặn, không có sự lựa chọn nào khác ngoài việc

vô hiệu hóa các quy tắc mà cho rằng các giao dịch này là độc hại (do vi phạm quy tắc)

 Điểm lưu ý với Whitelist: Nếu một ứng dụng web cung cấp một mẫu thông tin đầu vào mà người dùng có thể nhập vào một cách tự do, rất khó để xác định được những giá trị đầu vào nào là hợp pháp Trong trường hợp này, các quy tắc đối với thông tin đầu vào không thể được xác định trong Whitelist, và do đó các cuộc tấn công có thể không bị WAF phát hiện Hơn nữa, nếu đặc điểm kỹ thuật của ứng dụng web được thay đổi thì Whitelist cũng phải cập nhật theo Trừ khi có một

số cách nào đó để phản ánh sự thay đổi trong đặc điểm kỹ thuật của ứng dụng web vào Whitelist Tất nhiên là lỗi false positives và false negatives đều có thể xảy ra + Chức năng WAF tương ứng với danh sách rủi ro bảo mật cho các ứng dụng web – OWASP Top 10 (phụ lục bảng liệt kê chức năng WAF tương ứng OWASP Top 10)

Trang 30

CHƯƠNG 2: CÁC MÔ HÌNH NHẬN DẠNG TẤN CÔNG ỨNG DỤNG

WEB DỰA TRÊN SỰ BẤT THƯỜNG

Chương này sẽ giới thiệu các nghiên cứu, mô hình nhận dạng tấn công ứng dụng web dựa trên sự bất thường đối với các yêu cầu đầu vào, phản hồi đầu ra, các hành vi duyệt web của người sử dụng và mức độ hoạt động của máy chủ web, 2.1 Nhận dạng sự bất thường theo phương pháp phân tích dữ liệu đầu vào

Thông thường cấu trúc một yêu cầu đầu vào của một ứng dụng Web như sau:

Hình 2.1 Cấu trúc truy vấn ứng dụng web

Path: đường dẫn đến chức năng thực hiện yêu cầu

Query: truy vấn đến chức năng web được yêu cầu

A: thuộc tính trong nội dung truy vấn

V: giá trị của thuộc tính trong nội dung truy vấn

2.1.1 Nhận dạng bất thường trên một yêu cầu đầu vào

a) Detect request method anomaly: Phương pháp này sẽ giúp phát hiện các phương thức request kẻ tấn công sử dụng, mặc dù trong ứng dụng web không sử dụng Xác định các phương thức request bất thường sẽ giúp phát hiện những nỗ lực của kẻ tấn công cố gắng phá vỡ các giới hạn kiểm soát truy cập Phương pháp này cũng có thể phát hiện các cuộc tấn công CSRF

b) Detect request header anomaly: phương pháp này sẽ giúp phát hiện dấu hiệu bất thường trong các request header kẻ tấn công sử dụng

 Missing Request Headers: khi kẻ tấn công sử dụng các đoạn script hay chương trình tự động thì thông thường các chương trình này sẽ tạo ra các request

Trang 31

không theo chuẩn request header của trình duyệt Các trình duyệt web thông thường bao gồm đầy đủ 03 loại header là: Host, User-Agent, Accept

 Abnormal Header Content: một số dấu hiệu cho thấy một yêu cầu là đáng ngờ dựa trên các dữ liệu có trong tiêu đề yêu cầu HTTP Ví dụ, nhìn vào dữ liệu này được lấy từ một tập tin Apache access_log

Phần bất thường được bôi đậm ở trên cho thấy trường “User-Agent” có giá trị bất thường thay vì bắt đầu từ phiên bản trình duyệt phía client thì lại là giá trị

“User-Agent” Dấu hiệu này cho thấy kẻ tấn công đang sử dụng công cụ tự động bị lỗi và đang rà quét hệ thống

 Abnormal Header Ordering: Thực tế, các trình duyệt web có một trật

tự cụ thể trong request header và là duy nhất cho mỗi loại trình duyệt Ví dụ: khi so sánh 02 trình duyệt web phổ biến hiện nay là Firefox và Microsoft Internet Explorer

có thể thấy sự khác biệt thứ tự header: Host, trong khi Internet Explorer của Microsoft đặt sau Accept-Encoding header, còn Firefox thì ngược lại đặt trên Accept-Encoding header

c) Detecting Attribute length (nhận dạng chiều dài thuộc tính): Theo Krügel [11] chiều dài thuộc tính của một truy vấn có thể được sử dụng để phát hiện các yêu cầu bất thường, đặc biệt là khi các thông số là một dạng thẻ (token) kích thước cố định (chẳng hạn như định danh session) hoặc chuỗi ngắn do con người nhập vào Trong những trường hợp này, độ dài của các giá trị tham số không thay đổi nhiều giữa các yêu cầu liên quan đến một chức năng nào đó Tuy nhiên, giá trị này có thể khác đi khi đầu vào là mã độc hại được đưa vào chương trình

Mục tiêu của mô hình này là xấp xỉ thực tế nhưng không rõ sự phân phối của các tham số độ dài và phát hiện các trường hợp mà chênh lệch đáng kể từ các quan sát hành vi bình thường

d) Character Distribution (sự phân bố các ký tự trong thuộc tính): Theo Robertson [15] mô hình phân phối ký tự của thuộc tính được đưa ra dựa trên

Trang 32

khái niệm về sự ''bình thường'' hoặc ''thường xuyên'' trong các tham số truy vấn bằng cách quan sát việc phân phối các ký tự trong giá trị của tham số Cách tiếp cận này dựa trên quan sát rằng các thuộc tính có cấu trúc thông thường ít thay đổi, chủ yếu là con người có thể đọc được, và hầu như luôn luôn chỉ chứa các ký tự in được Trong trường hợp các cuộc tấn công gửi dữ liệu nhị phân (ví dụ, các cuộc tấn công tràn bộ đệm), có thể được quan sát thấy một sự phân phối ký tự hoàn toàn khác nhau, hoặc các cuộc tấn công mà gửi nhiều lần và lặp lại một ký tự (ví dụ, ký tự dấu chấm trong khai thác lỗi directory traversal)

Trong các thuộc tính, thông thường một tỷ lệ lớn các ký tự được rút ra từ một nhóm nhỏ các ký tự (giá trị 8-bit) trong tập bao gồm 256 ký tự ASCII (chữ cái, số,

và một số ký tự đặc biệt) Như trong văn bản, các ký tự không phân bố đồng đều và xuất hiện với tần suất khác nhau Rõ ràng, không thể được dự đoán tần suất phân bố đúng cho một văn bản chuẩn Thậm chí tần suất của một ký tự nào đó (ví dụ, tần suất của một chữ cái "e'') khác nhau đáng kể giữa các thuộc tính khác nhau Tuy nhiên, có những điểm tương đồng giữa các tần suất ký tự của các tham số truy vấn Điều này trở nên rõ ràng khi trong một chuỗi thì các tần suất xuất hiện tương đối của ký tự trong tất cả 256 trường hợp có thể được sắp xếp theo thứ tự giảm dần Các sắp xếp tần suất tương đối xuất hiện ký tự của một thuộc tính được có thể gọi tắt là tần suất của ký tự Sự phân bố ký tự của một thuộc tính hoàn toàn hợp lệ (tức là, không phải bất thường) được gọi là phân phối ký tự của thuộc tính lý tưởng hóa

Bằng cách sắp xếp các giá trị tần suất tương đối, kết nối giữa các ký tự riêng biệt và tần suất tương đối bị mất Có nghĩa là, nó không quan trọng cho dù ký tự xuất hiện nhiều nhất là ''a'' hoặc ''/'' Ví dụ, hãy xem xét chuỗi tham số ''passwd" với các giá trị ASCII tương ứng của'' 112 97 115 115 119 100'' Sự phân bố tần suất xuất hiện chính xác là 2 cho "s" (giá trị 115) và 1 cho các ký tự còn lại "p, a, w, d" Khi tính xác được chuyển thành dạng thống kê tần suất xuất hiện tương đối, các giá trị kết quả được sắp xếp là giảm dần là 0.33, 0.17, 0.17, 0.17, 0.17, 0, 0, ,0 cho

251 ký tự khác trong bảng mã 256 ASCII Với một thuộc tính của một truy vấn hợp pháp, người ta kỳ vọng rằng các tần suất tương đối giảm dần về giá trị

Trang 33

Khi định danh ngẫu nhiên được sử dụng, không có ký tự nào xuất hiện thường xuyên hơn đáng kể sau đó những ký tự khác, kết quả là một bản phân phối

ký tự gần như thống nhất Tuy nhiên, trong trường hợp đầu vào là mã độc hại, các tần suất thường đưa ra cực kỳ nhanh chóng Điều này có thể là kết quả của một ký

tự đệm nhất định được lặp đi lặp lại nhiều lần trong một cuộc tấn công tràn bộ đệm hoặc nhiều lần xuất hiện của các ký tự dấu chấm trong khai thác lỗi directory traversal

e) Attribute character classification (phân loại ký tự của thuộc tính) Thông thường, các thuộc tính có giá trị thuộc dạng dữ liệu cụ thể nào đó ví dụ: tên đăng nhập thường là sự kết hợp các ký tự đọc được trong bản chữ cái, trong khi mật khẩu là tập các chữ cái và số, … do đó việc phân loại các nhóm ký tự cho giá trị của một thuộc tính là cần thiết giúp phát hiện các giá trị bất thường trong request từ phía client

f) Structural inference: Theo Krügel [11] thông thường, biểu hiện của một cuộc tấn công khai thác hệ thống có thể nhìn thấy ngay trong các thuộc tính truy vấn như các thông số dài bất thường hoặc các thông số có chứa lặp đi lặp lại của các ký tự không in được Các bất thường này dễ nhận biết bởi hai mô hình dựa trên "chiều dài thuộc tính" và "phân phối ký tự" trong thuộc tính Tuy nhiên, có những tình huống, khi một kẻ tấn công có thể che dấu tinh vi các tấn công của mình Ví dụ, ký tự không in có thể được thay thế bằng nhóm ký tự in được Trong tình huống như vậy, cần một mô hình chi tiết hơn về các thuộc tính truy vấn có chứa các bằng chứng về các cuộc tấn công Mô hình này có thể được thực hiện bằng cách phân tích cấu trúc các thông số Cấu trúc của một tham số là cấu trúc ngữ pháp thông thường mà mô tả tất cả các giá trị hợp lệ của nó

Mô hình suy luận cấu trúc có dựa trên sự quan sát các giá trị thuộc tính hợp pháp cho rằng thường được tạo ra từ một cấu trúc ngữ pháp thông thường Ví dụ, một tập hợp con của tên đường dẫn hợp lệ có thể được tạo ra từ biểu thức chính quy (/ | [a-zA-Z0-9]) +, tức là, một loạt các ký tự chữ và số xen kẽ với các ký tự phân

Trang 34

cách "/" Tuy nhiên, ngữ pháp tạo ra cho một thuộc tính, là không rõ, và do đó nó là cần thiết xây dựng một xấp xỉ hợp lý cho đúng ngữ pháp

Mô hình suy luận cấu trúc là hữu ích để phát hiện tất cả các loại của các cuộc tấn công có các chuỗi tham số có cấu trúc khác với cấu trúc tham số truy vấn thông thường như các lỗi tràn bộ đệm, duyệt cây thư mục, và các cuộc tấn công cross-site scripting Tùy thuộc vào cấu trúc của các đối số thông thường, cũng có thể phát hiện các khai thác lỗi logic trong ứng dụng web

g) Token Finder: Theo Krügel [11] mục đích của mô hình token finder là

để xác định xem giá trị của một thuộc tính truy vấn nhất định được rút ra từ một tập giới hạn các lựa chọn (tức là bảng liệt kê các token) Các ứng dụng web thường đòi hỏi một trong số một vài giá trị có thể cho các thuộc tính truy vấn nhất định, chẳng hạn như cờ hoặc chỉ số Khi một tấn công cố gắng sử dụng những thuộc tính này để đưa các giá trị bất hợp pháp vào các ứng dụng thì các cuộc tấn công có thể được phát hiện Các đối số mà chỉ có một số giới hạn các giá trị hợp pháp, mô hình token finder có thể được sử dụng để phát hiện bất kỳ tấn công mà cung cấp giá trị khác với giá trị trong tập các giá trị hợp lệ Khi bảng liệt kê chưa có giá trị thì được giả định rằng các giá trị thuộc tính là ngẫu nhiên và không có các cuộc tấn công có thể được phát hiện bởi mô hình này

h) Attribute presence or absence: Hầu hết thời gian, ứng dụng phía máy chủ không trực tiếp được gọi bởi người dùng gõ các thông số đầu vào cho các URI của mình Thay vào đó, chương trình phía máy client, scripts, hoặc HTML form xử

lý trước dữ liệu và biến nó thành một yêu cầu phù hợp sau đó chuyển về máy chủ Bước xử lý này chuẩn hóa số lượng, tên và thứ tự của các tham số

Trên thực tế, cho thấy rằng các cuộc tấn công dạng thủ công thường tập trung khai thác một lỗ hổng trong mã xử lý của một giá trị tham số nhất định, và ít chú trọng đến trật tự và đầy đủ của các tham số khác Mô hình này, phát hiện các yêu cầu đi chệch khỏi cách mà các tham số được trình bày bởi các đoạn script phía máy khách hoặc các chương trình hợp pháp Đây là loại bất thường được phát hiện,

sử dụng hai thuật toán khác nhau Thứ nhất, liên quan đến vấn đề sự hiện diện và sự

Trang 35

vắng mặt của các thuộc tính ai trong một truy vấn Thứ hai là dựa trên thứ tự tương đối của các tham số Những mô hình này tập trung vào hai tính năng xem xét tất cả các thuộc tính truy vấn cùng một lúc Điều này khác với các mô hình ở trên, trong

đó tập trung vào các tính năng của riêng rẻ các tham số Như vậy có thể rằng sự vắng mặt hay hiện diện bất thường của một hoặc nhiều tham số trong một truy vấn

có thể cho thấy hành vi nguy hiểm Đặc biệt, nếu một đối số cần thiết cho một chức năng phía máy chủ bị mất, hoặc nếu đối số loại trừ lẫn nhau xuất hiện cùng nhau, thì yêu cầu được xem là bất thường Điều này, cho phép phát hiện các cuộc tấn công

mà các ứng dụng phía máy chủ đang bị thăm dò hoặc khai thác bằng cách gửi yêu cầu không đầy đủ hoặc bị thay đổi

+ Detect Additional Parameters: phát hiện dấu hiện bất thường từ việc các request gởi từ phía client có bổ sung thêm tham số không tồn tại trong trang web Ví dụ: trang login chỉ có 03 tham số là: Username, Password, Login nhưng trong request nhận được có thêm tham số “Roll” giá trị là “admin”

+ Detect Missing Parameters: phát hiện dấu hiện bất thường từ việc các request gởi từ phía client giảm mất tham số bắt buộc tồn tại trong trang web Ví dụ: trang login chỉ có 03 tham số là: Username, Password, Login nhưng trong request nhận được thiếu tham số “Login”

+ Detect Duplicate Parameter Names: phát hiện dấu hiện bất thường từ việc các request gởi từ phía client xuất hiện các tham số có cùng tên trong trang web Kỹ thuật tấn công HTTP Parameter Pollution (HPP) là một loại kỹ thuật sử dụng cơ chế “các tham số có cùng tên trong một trang web” nhằm chia nhỏ đoạn mã độc tấn công ra và ghép mỗi đoạn này thành giá trị của các tham số cùng tên Ví dụ: khi chèn mã SQL vào giá trị của tham số “ProdID” thì rất dễ bị phát hiện bởi các tường lửa và hệ thống kiểm tra, tuy nhiên nếu áp dụng kỹ thuật HPP thì có thể che dấu và vượt qua việc kiểm tra SQL Injection

Trang 36

i) Attribute order: Như đã đề cập trong phần "Attribute presence or absence", theo Krügel [11] các tham số trong các giao dịch hợp pháp đối với ứng dụng phía máy chủ thường giống nhau và có cùng thứ tự trên request Chương trình logic thường có cấu trúc tuần tự, do đó thứ tự tương đối của các thuộc tính không thay đổi ngay cả khi các tham số được bỏ qua trong một số truy vấn nhất định Thông thường, các kết nối hợp lệ từ phía client dựa trên các form HTTP, các link liên kết, các nút nhấn chức năng trên trang web

2.1.2 Nhận dạng bất thường trên dãy yêu cầu đầu vào

a) Access frequency: Theo Krügel [11] các chức năng khác nhau trong một ứng dụng web thường được truy xuất với tần suất khác nhau, nhưng nhìn chung trong một khoảng thời gian cụ thể mức độ truy cập chung cho các chức năng này vẫn tương đối ổn định Ví dụ: các ứng dụng web liên quan đến tin tức thì tần suất truy cập của người làm việc văn phòng cao, thường rơi vào thời điểm 8:00 đến 9:00, nếu trong khoảng 9:00 đến 11:00 lượng truy cập tăng cao thì có thể đó là dấu hiệu bất thường Tần suất truy cập cho mỗi chức năng ứng dụng web có thể chia thành

02 loại:

- Một là trong những tần suất của ứng dụng được truy cập từ một client nào

đó (dựa trên địa chỉ IP)

- Hai là là tổng tần suất của tất cả các truy cập

b) Inter-request time delay: Theo Krügel [11] các mẫu truy cập của client (bao gồm dãy các yêu cầu) thường là một dấu hiệu cho thấy máy chủ web hoặc các ứng dụng web là mục tiêu của rà soát hoặc tấn công hay không Ví dụ: một mẫu truy cập bình thường là một tập hợp các yêu cầu đến máy chủ sẽ có sự chậm trễ giữa các yêu cầu thành công Ngược lại, với các dạng tấn công mang tính thăm dò hoặc các cuộc tấn công DoS thường sử dụng các đoạn script tự động hay các công

Trang 37

cụ, do đó độ trể về thời gian giữa các yêu cầu sẽ rút ngắn Mô hình này cố gắng để phát hiện độ lệch độ trể thời gian giữa tập các yêu cầu thực tế với độ trể phân phối

dự đoán cho mỗi ứng dụng web được bảo vệ để phát hiện các cuộc tấn công Ví dụ: khi người dùng nhấn chọn chức năng đăng ký tài khoản trên trang web, webserver

sẽ gởi trở lại Form HTML để yêu cầu người dùng nhập liệu, sau khi nhập thông tin người dùng sẽ submit thông tin về webserver Như vậy, giữa 02 lần gởi request của người dùng sẽ có khoảng thời gian chờ Ngược lại, khi sử dụng các công cụ tấn công thời gian chờ giữa 02 request là rất nhỏ

c) Invocation order: Theo Krügel [11] các ứng dụng dựa trên web thường bao gồm một tập hợp các chương trình phía máy chủ, các chương trình này thực hiện các chức năng của ứng dụng web Ví dụ, một ứng dụng mua sắm phải có một chương trình đảm nhận chức năng đăng nhập để xác thực người dùng, một chương trình để truy cập vào một cửa hàng, một chương trình để thêm các mục vào một giỏ hàng ảo, và một chương trình để thực hiện thanh toán, Bản chất của một ứng dụng dựa trên web có thể áp đặt thứ tự thực hiện các chương trình chức năng thành phần trong cấu trúc của nó Mô hình này ghi lại thứ tự gọi các chức năng trong ứng dụng web với một client cụ thể (dựa trên địa chỉ IP) Bằng cách mô tả thứ tự yêu cầu chức năng trên mỗi client, mô hình cố gắng để suy ra các quy luật của cấu trúc cho một phiên làm việc Mô hình này có thể được sử dụng để phát hiện các cuộc tấn công kiểm tra tính logic các ứng dụng web

d) Analysis of the HTTP Payload: Theo Ariu & Giacinto [1] nếu tài nguyên được bảo vệ là một máy chủ web (bao gồm cả các ứng dụng web có liên quan) hành vi bình thường của nó có thể được thể hiện bằng cách sử dụng mô hình thống kê về sự phân bố của byte trong HTTP payload, là một phần của các gói dữ liệu mạng có chứa các yêu cầu gửi bởi trình duyệt web đến máy chủ web Ý tưởng quan trọng là số liệu thống kê phần payload của một cuộc tấn công khác với một hợp pháp Ý tưởng về hệ thống phát hiện xâm nhập dựa trên thống kê Payload đã được đề xuất bởi Wang và Stolfo (2004)

Trang 38

2.2 Nhận dạng sự bất thường theo phương pháp phân tích dữ liệu đầu

ra

Các công trình nghiên cứu thuật toán và các sản phẩm bảo mật ứng dụng web đã quá tập trung vào phân tích dữ liệu đầu vào cho các HTTP request, mà cơ bản bỏ qua các dữ liệu HTTP response gửi đi từ máy chủ Lý do cơ bản là các nhà bảo mật cho rằng nếu có thể xác định và ngăn chặn tất cả các cuộc tấn công từ ngoài vào trong, thì không cần phải lo lắng các vấn đề bảo mật từ trong ra bên ngoài, cũng như cho rằng các giao dịch chủ động từ bên trong ra ngoài là an toàn Tuy nhiên, đây là một nhận định sai bởi vì chỉ đơn giản là không thể ngăn chặn tất cả các phương pháp tấn công có thể có thể ảnh hưởng đến các ứng dụng web

Ví dụ: trường hợp các máy tính của người dùng cuối bị nhiễm phần mềm độc hại lấy cấp thông tin tài khoản đăng nhập FTP Sau đó, kẻ tấn công sẽ nhận được các thông tin quan trọng từ phần mềm độc hại và đăng nhập vào FTP server bằng cách sử dụng tài khoản nạn nhân Lúc này, kẻ tấn công có thể tải phần mềm độc hại khác lên máy chủ hoặc thay đổi giao diện trang web Trong trường hợp này, kênh bị tấn công là FTP nhưng kết quả hoặc tác động của các cuộc tấn công lại những thay đổi liên quan đến dữ liệu HTTP gửi đi ra ngoài từ webserver Nếu hệ thống bảo mật không phân tích các dữ liệu phản hồi ra bên ngoài, thì có thể bỏ lỡ dấu hiệu cho thấy các cuộc tấn công đã thành công

2.2.1 Nhận dạng bất thường trong cấu trúc header

Phân tích các dữ liệu về header trong các HTTP response từ máy chủ để phát hiện các bất thường Kết quả phân tích có thể chia thành 02 nội dung như sau:

+ HTTP Status Codes: Mã trạng thái HTTP cung cấp cho phía client tình trạng của các giao dịch Có 05 loại mã khác nhau, với nhiều nhóm nội dung khác nhau (chi tiết phụ lục danh sách mã trạng thái HTTP trả về)

Để tăng cường mức độ an toàn cho các ứng dụng web, mô hình nhận dạng bất thường phải cảnh báo nếu bất kỳ mã trạng thái trong phạm vi 400 hoặc 500, vì điều này cho thấy một vấn đề bất thường khi xuất hiện thông tin lỗi từ máy chủ Thông thường, các loại mã trạng thái thường này được tạo ra trong quá trình rà quét ban đầu và cố gắng tấn công của hacker

Trang 39

+ HTTP Response Splitting Attacks: Phân nhỏ HTTP phản hồi là một dạng tấn công nhằm mục đích để thao tác các nội dung phản hồi trở lại gửi cho client bằng cách chèn ký tự trong giá trị trả về (% 0d hay “\r”) và (% 0a hay “\n”)

để lừa client hoặc máy chủ proxy trung gian vào việc phân tích và xử lý sai dữ liệu Hãy xem xét một cuộc tấn công ví dụ thực tế

+ Malware Redirection Attacks: Một mối đe dọa đang gia tăng rất nhanh là các liên kết độc hại trên các trang web, đặc biệt các trang web nổi tiếng có lượng người truy cập cao Kẻ tấn công sử dụng ứng dụng web như là một cơ sở phân phối một loạt các mã độc hại để lây nhiễm vào máy người dùng như: botnet, keystroke logger, và Trojan

2.2.2 Nhận dạng bất thường khi kích thước trang web thay đổi

Khi kẻ tấn công sửa đổi nội dung các trang web, trang kết quả thường có kích thước nhỏ hơn đáng kể so với các trang web bình thường Tuy nhiên, trong các trường hợp khi bọn tội phạm thực hiện thành công một cuộc tấn công SQL Injection

và tiến hành lấy cấp số lượng lớn dữ liệu thì các trang web thường lúc này có kích thước lớn hơn đáng kể so với bình thường Để nhận biết 02 dạng bất thường này,

mô hình nhận dạng phải có khả năng theo dõi các phạm vi kích thước bình thường của phần nội dung HTTP phản hồi và tạo ra các cảnh báo nếu độ lệch xảy ra

a) Detecting dynamic content changes: Làm sao nhận biết khi nội dung động trên thay đổi ứng dụng web? Cụ thể hơn nghĩa là phát hiện các bất thường khi

số lượng các cuộc gọi JavaScript hoặc thẻ Iframe thay đổi? bởi vì việc xuất hiện các dấu hiệu bất thường này thường chỉ ra rằng kẻ tấn công đã thành công khi sử dụng

kỹ thuật cross-site scripting (XSS) hoặc cấy phần mềm độc hại vào trang web

b) Detecting abnormal response time intervals: Trên thực tế các ứng dụng web sẽ xử lý các yêu cầu và đáp ứng khá nhanh chóng Tuy nhiên, sự bất thường về thời gian phản hồi vẫn thường xảy ra do các nguyên nhân khác nhau như: máy chủ hết tài nguyên, lỗi lập trình, và bị tấn công từ bên ngoài (DDoS, SQL Injection , )

Trang 40

2.3 Nhận dạng sự bất thường theo hành vi duyệt web của người dùng Yu-Chin Cheng đưa ra phương pháp kết hợp việc kiểm tra các dữ liệu đầu vào của truy vấn và hành vi chuyển đổi các ứng dụng web [3] Hệ thống sẽ thống kê tuần tự sử dụng các ứng dụng web của người dùng thành các tập mẫu khác nhau Dựa trên các tập mẫu này sẽ phân loại được các truy vấn bất thường Tương tự như thế, Vidya Jadhav cũng đưa ra mô hình dựa trên hành vi người dùng để nhận dạng các bất thường đối với dạng tấn công từ chối dịch vụ ứng dụng web nhưng dựa trên các thông tin tỷ lệ truy cập, thời gian xem trang web, chuỗi trang web truy cập của người dùng [16]

2.4 Nhận xét và hướng tiếp cận của luận văn

Các mô hình nhận dạng đã trình bày có các cách tiếp cận khác nhau chủ yếu dựa trên các đặc tính của ứng dụng web và hành vi của người dùng Theo các nghiên cứu đưa ra thì các mô hình có khả năng nhận dạng tốt các tấn công theo hướng đã tiếp cận Tuy nhiên, đến nay vẫn chưa có nghiên cứu tổng quan so sánh tính hiệu quả giữa các mô hình ,ví dụ so sánh giữa nhân dạng trên phân tích dữ liệu đầu vào và phân tích dữ liệu đầu ra hoặc phân tích nhiều truy vấn đầu vào với hành

vi duyệt web của người dùng, Ngoài ra, hiệu quả các mô hình còn phụ thuộc vào các ứng dụng web cụ thể, công nghệ triển khai, khả năng đáp ứng của phần cứng máy chủ, tốc độ kết nối hệ thống mạng, số lượng người truy cập, ví dụ: nếu đường truyền kết nối chậm hoặc cấu hình máy chủ không cao thì hướng tiếp cận theo hành vi người dùng có thể tăng tỷ lệ nhận dạng sai khi đường truyền, máy chủ được nâng cấp tốt hơn

Trong thực tế khi khảo sát các loại tấn công ứng dụng web phổ biến hiện nay OWASP Top 10, các trang web chuyên về khai thác lổ hỏng ứng dụng web http://www.exploit-db.com, http://cve.mitre.org/, http://1337day.com/webapps cho thấy các tấn công chủ yếu sử dụng kỹ thuật liên quan đến thay đổi, chèn thêm, xóa bớt các dữ liệu đầu vào Do đó, theo tôi hướng tiếp cận các mô hình nhận dạng tấn công dựa trên sự bất thường với các dữ liệu yêu cầu đầu vào có thể mang lại hiệu quả tốt hơn các mô hình khác Tuy nhiên, nếu một hệ thống có thể kết hợp nhiều mô

Ngày đăng: 21/11/2016, 02:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Ariu, D. & Giacinto, G. (2010), “HMMPayl: an application of HMM to the analysis of the HTTP Payload”, Journal of Machine Learning Research - Proceedings Track 11, pp. 81-87 Sách, tạp chí
Tiêu đề: HMMPayl: an application of HMM to the analysis of the HTTP Payload”, "Journal of Machine Learning Research - Proceedings Track
Tác giả: Ariu, D. & Giacinto, G
Năm: 2010
[2]. Corona, I., Ariu, D. & Giacinto G. (2009), “HMM-Web: A Framework for the Detection of Attacks Against Web Applications”, in 'ICC' , IEEE, pp. 1-6 Sách, tạp chí
Tiêu đề: HMM-Web: A Framework for the Detection of Attacks Against Web Applications”, "in 'ICC' , IEEE
Tác giả: Corona, I., Ariu, D. & Giacinto G
Năm: 2009
[3]. Cheng, Y.-C., Laih, C.-S., Lai, G. H., Chen, C.-M. & Chen, T. (2008). Defending On-Line Web Application Security with User-Behavior Surveillance..ARES (p./pp. 410-415), : IEEE Computer Society Sách, tạp chí
Tiêu đề: Defending On-Line Web Application Security with User-Behavior Surveillance
Tác giả: Cheng, Y.-C., Laih, C.-S., Lai, G. H., Chen, C.-M., Chen, T
Nhà XB: IEEE Computer Society
Năm: 2008
[4]. Davis, R. I. A., Walder C. J. and Lovell B. C. (2002), “Improved Classification Using Hidden Markov Averaging From Multiple Observation Sequences”, the Proceedings of the Workshop on Signal Processing and Applications (WOSPA2002) Brisbane, Australia Sách, tạp chí
Tiêu đề: Improved Classification Using Hidden Markov Averaging From Multiple Observation Sequences”, "the Proceedings of the Workshop on Signal Processing and Applications (WOSPA2002) Brisbane
Tác giả: Davis, R. I. A., Walder C. J. and Lovell B. C
Năm: 2002
[5]. Davis, R. I. A. and Lovell B. C. and Caelli T. (2002), “Improved Estimation of Hidden Markov Model Parameters from Multiple Observation Sequences”, Proceedings of the International Conference on Pattern Recognition (ICPR2002), August 11-14 II, pp.168-171, Quebec City, Canada Sách, tạp chí
Tiêu đề: Improved Estimation of Hidden Markov Model Parameters from Multiple Observation Sequences
Tác giả: Davis, R. I. A., Lovell B. C., Caelli T
Nhà XB: Proceedings of the International Conference on Pattern Recognition (ICPR2002)
Năm: 2002
[6]. Davis, R. I. A., and Lovell B. C (2003), “Improved Ensemble Training for Hidden Markov Models using Random Relative Node Permutations”, Proceedings of the Workshop on Digital Image Computing (WDIC2003), pp. 83-86, February 7, Brisbane, Australia Sách, tạp chí
Tiêu đề: Improved Ensemble Training for Hidden Markov Models using Random Relative Node Permutations”, "Proceedings of the Workshop on Digital Image Computing (WDIC2003)
Tác giả: Davis, R. I. A., and Lovell B. C
Năm: 2003
[8]. Eric Fang (2009), “Investigation of Training Algorithms for Hidden Markov Models Applied to Automatic Speech Recognition”, A Thesis Presented to the Graduate School of Clemson University Sách, tạp chí
Tiêu đề: Investigation of Training Algorithms for Hidden Markov Models Applied to Automatic Speech Recognition
Tác giả: Eric Fang
Năm: 2009
[11]. Krügel, C., Vigna, G. & Robertson, W. K. (2005), “A multi-model approach to the detection of web-based attacks”, Computer Networks Volume 48, Issue 5, pp. 717–738 Sách, tạp chí
Tiêu đề: A multi-model approach to the detection of web-based attacks
Tác giả: Krügel, C., Vigna, G., Robertson, W. K
Nhà XB: Computer Networks
Năm: 2005
[12]. Mackay, D. J. C. (1997), “Ensemble Learning for Hidden Markov Models”, Technical report, Cavendish Laboratory , University of Cambridge, UK Sách, tạp chí
Tiêu đề: Ensemble Learning for Hidden Markov Models
Tác giả: Mackay, D. J. C
Nhà XB: Cavendish Laboratory
Năm: 1997
[13]. RABINER, L. R. (1989), "A tutorial on hidden Markov models and selected applications in speech recognition", Proceedings of IEEE (p./pp. 257-286) Sách, tạp chí
Tiêu đề: A tutorial on hidden Markov models and selected applications in speech recognition
Tác giả: RABINER, L. R
Năm: 1989
[14]. Rabiner, Lawrence R. and Juang, Biing-Hwang (1993). Fundamentals of speech recognition, Prentice Hall, ISBN: 978-0-13-015157-5 Sách, tạp chí
Tiêu đề: Fundamentals of speech recognition
Tác giả: Lawrence R. Rabiner, Biing-Hwang Juang
Nhà XB: Prentice Hall
Năm: 1993
[15]. Robertson, W. K., Vigna, G., Krügel C. & Kemmerer, R. A. (2006), Using Generalization and Characterization Techniques in the Anomaly-based Detection of Web Attacks, NDSS: The Internet Society. ISBN: 1-891562-21-5 Sách, tạp chí
Tiêu đề: Using Generalization and Characterization Techniques in the Anomaly-based Detection of Web Attacks
Tác giả: W. K. Robertson, G. Vigna, C. Krügel, R. A. Kemmerer
Nhà XB: NDSS: The Internet Society
Năm: 2006
[16]. Vidya Jadhav and Prakash Devale (2011), International Journal of Advances in Engineering & Technology, ©IJAET ISSN: 2231-1963 Sách, tạp chí
Tiêu đề: International Journal of Advances in Engineering & Technology
Tác giả: Vidya Jadhav, Prakash Devale
Nhà XB: IJAET
Năm: 2011
[7]. Deller, J. J. R, Hansen, J. H. L. & Proakis, J. G. (1999), Discrete-Time Processing of Speech Signals, Wiley-IEEE Press Khác
[9]. Information Technology Promotion Agency (2011), A Handbook to Understand Web Application Firewall, Japan (IPA) Khác
[10]. Kenneth L. Ingham, and Hajime Inoue (2007), Comparing Anomaly Detection Techniques for HTTP, C. Krügel, R. Lippmann & A. Clark (eds.), RAID (p./pp. 42-62), Springer. ISBN: 978-3-540-74319-4 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w