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

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

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

i

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

ii

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

iii

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 79

TÀI LIỆU THAM KHẢO

PHỤ LỤC



















iv

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

Tử viết tắt Tiếng Anh Tiếng Việt
HMM Hidden Markov Model Mô hình Markov ẩn
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
















v


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





















vi

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












vii

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



1

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 (CNTT-
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
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.
2

- 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 />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
3

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ế.
4

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ả.








5

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.
6

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

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.
8


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

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
9

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.
10

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.
11

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

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.
13

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
14

đượ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ể.
+ Kỹ thuật nhận dạng động
Phát hiện xâm nhập dạng động (thời gian thực) không chỉ có thể phát hiện
xâm nhập, mà còn có thể phản ứng lại. Có hai phương pháp:
o Network-based: một hệ thống phát hiện xâm nhập được đặt giữa đường
kết nối vật lý người dùng và website.
o Web server-based: một hệ thống phát hiện xâm nhập được tích hợp vào
trong máy chủ web.
+ 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
15

• 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
16

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
17

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ở.
18

+ 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, request-
header, entity-header.

- 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

×