Ilàng loạt các hệ thống website của các Ngân hàng lớn, doanh nghiệp lớn đã bị tấn công gây thiệt bại đáng kể [19] Thực tế với tỉnh hình hiện nay, các ứng dung web ngày một nhiễu.. Chỉ c
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG DẠI HỌC BÁCH KHOA HẢ NỘI
Đỗ Dức Nguyên
TÌM HIỂU BÀI TOÁN WEB AN TOÁN VÀ
Bh XUAT GTAI PHAP FIREWALL CHO CAC UNG DUNG WEB
Chuyên ngành: Mang máy tính và truyền thông dữ liệu
UẬN VĂN THẠC SĨ KỸ THUẬT _
MẠNG MÁY TÍNH VẢ TRUYỂN THÔNG DỠ LIỆU
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Pham [uy Iloang
là Nội Nam 2018
Trang 2Mue Ine
DANH MỤC CÁC KỶ HIỆU, CAC TU VIET TAT LẠHHHHH Ung 5
CHUONG 2: UNG DUNG WER VA CACL.G HONG BAO MAT PHOR BIÊN TRƠNG
2 Cée 16 héng bảo mật phổ biến trong ứng dụng web 11
21 Gidi thiguvé Open Web Application Security Project (OWASP) ul
2A, A2— Phá vỡ tỉnh xác thực — Broken Authentication 15
25 A3— Dễ lộ cáo dữ liệu nhạy cảm — Sensitive Data Exposure el
26 - A⁄4— Thực thể bên ngoài XML - XML External Entties (XXE) ¬—-
2.7 A5 — Thả vỡ kiếm soát truy cập — Broken access control - - TẾ 2⁄8 A6— Sai sói trong cầu hình an nứnh — Securily Misconfiguralion 16
2.9 AT - Thue thi md script — Cross-Site Scripting (XSS) - col 2.10 A8~— Giải tuần tự hóa không an loin - Insecure Deserializalion 17
211 A9 Sử dụng các thành phản có lỗ bóng dibiét Using Components with
2.12 Al0—Khéng di nhat ky giam sat — Insufficiont Logging & Monitoring 18
CHƯƠNG 3: ĐỀ XUẤT GIẢI PHÁP TƯỜNG LỬA ỨNG DỤNG WHB 18
Trang 1
Trang 31 Tại sao cần tường lứa ứng dụng web? Hee, TU
2 Dễ xuất giải pháp tường lửa mã nguồn mở ModSecurity eecce.ss LỠ
31 Môhinhtriển khai ăn einieereieoeeoe 28
3.2 Hướng dân cải dật c2, tre reirieeoeeo TÓI
5 Thử nghiệm một số kịnh bán ấn công khai tác lễ hỗng 28
5.3 Thữ nghiệm khai thác lỗ hồng phá vỡ tính xác thực - Broken Authentication34
5.4 Thữ nghiệm khi thác lỗ hồng thực thí mã seript XS 40
5.5 Đánh giá mức độ an toàn của một số website cụ thể, - - 43 CHƯƠNG 4: KẾT LUẬN sec — _
Trang 2
Trang 4LOI CAM DOAN
Tôi xin cam đoàn đề tài nghiên cửu cổa tôi hoàn toàn do tôi tự làm đưới sự hưởng dẫn của thầy giáo TS.Phạm Huy Hoàng Những kết quả tìm hiểu và nghiên cứu lrình bảy trong
luận văn lả hoán toàn trung thực và chưa tùng được công bố trong bãi cứ công Irình nào
Tếu xây ra bắt cứ điều không đúng như những lời cam đoan trên, tôi xin chịu hoàn toàn
trách nhiệm trước Viện vả Nhà trường
Ngày 15 tháng 0Ð năm 2018
Tiọc viên
Để Đức Kguyên
Trang 3
Trang 6DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
HTTP (S) Hypertext Transfer Protocol (Secure): Giao thtre truyén tai
siéu van ban (bao mat)
OWASP Open Web Application Security Project: Du an vé bao mat
ứng dụng web
OWASP TOP 10 Open Web Application Security Project top 10: 10 lỗ hỏng
pho bién nhat theo OWASP
DATABASE Cơ sở đữ liệu
SQL Structured Query Language: ngén ngữ truy vân mang tỉnh
cau tric
PROXY May chủ trung gian giữa người dùng và máy chủ web
URL Uniform Resource Locator: Định vị Tài nguyên thông nhat
XML eXtensible Markup Language: Ng6n ngit danh dau mo réng
BRUTE FORCE Một kiêu tân công bảo mật
CRS Core Rule Set: Bộ quy tắc cốt lõi
Trang 5
Trang 8
DANH MỤC CÁC HÌNH VẼ
a
Hinh 2.2 Các tiêu chí đánh giả rủi ro lồ hong 12
Hinh 3.1 Các pha trong hoạt động của ModSecurity 23
Hinh 3.2 M6 hinh tich hop vao web server (embedded) +
Hình 3.3 Mô hình tich hop reverse proxy 37
Trang 7
Trang 9CHƯƠNG 1: MỞ ĐẦU
1 Lý do chọn dé tai
‘thy trang an toản thông tín tại Việt Nam ngảy cảng điễn biến phức tạp và nguy hiểm Các cuộc tắn công mạng cỏ quy mô, mức độ phức tạp và được chuẩn bị một cảch kỹ lưỡng Trong đó, các mục tiêu tân công đang đàn chuyển dịch từ các mnục tiêu cá nhân, sang các mục tiêu lá các tập đoản kinh tế lớn hay nghiệm trọng hơn là các hệ thông thông tin quan
trọng của các quốc gia Ilàng loạt các hệ thống website của các Ngân hàng lớn, doanh
nghiệp lớn đã bị tấn công gây thiệt bại đáng kể [19]
Thực tế với tỉnh hình hiện nay, các ứng dung web ngày một nhiễu Sự thay đối chóng
mặt của công nghệ đã giúp ứng đụng web được cải tiến nâng cao rât nhiễu, và vấn đẻ báo
mật cho ứng dụng web không ngừng tầng lên Một khi ứng đụng web bị rò rí lỗ hồng, các
tun the sé dé dang chiếm quyền quân trị web, tmg dung va phần mềm của công ty Nguyên
nhân dẫn đểi e ứng dụng web bị rò rỉ thông lim, cáo nguy cơ về lỗ hồng, là do các đoạn
mã lệnh, mã code không phủ hợp trong ứng dụng web Chỉ cân một lỗ hỗng, tín tặc cũng:
có thể xâm nhập và truy cập vào cơ số đữ liệu, thông lu và thực hiện các hành vị sai trái như đánh cấp, thay đổi, chỉnh sửa, ruã hóa đữ Hộu L11]
Dé déi phỏ với các nguy cơ rồi ro đỏ, có rất nhiễu công cụ, giải pháp được phát triển
độc tử tin tặc Các giải pháp dỏ được gọi là tưởng lửa ứng dung web (Web Application Firewall 1WAF) WAF lả một thiết bị phẩn cửng hoặc phần mềm được cài lên máy chủ
có chức năng theo dõi các thông tin được truyền qua giao thức hifp/https giữa trình duyệt của người đúng vả máy chủ web tại lớp 7 Một WAE có khá năng, thực thị các chính sách bảo mật đựa trên các đầu hiệu tắn công, các giao thức tiêu chuẩn và các lưu lượng truy cập
ác Úng dụng web khỏi cáo lỗi bao mal va od
ủng dựng web bắt thường, Dây là điều mả các tường lửa mạng khác không làm được
'Với mong muén phan tich va tim hiểu sâu hơn vẻ các lỗ hồng trong ứng đụng web cũng
như phương thức hoạt động, khả năng ngăn chặn của WAT, học viên đã lựa chọn đẻ tải
*“Tìm biểu bài toán Web an toàn và để xuất giải pháp Firewall che cic ing dung Web” làm luận văn tốt nghiệp của mình
2 Nhiệm vụ đặt ra che dé tai
Nhiệm vụ của đề tải này là tìm hiểu cáo lễ hỏng bảo mật trong ứng dung web va dé xuat
mội giải pháp WAT để báo vệ ứng đụng web khôi các lỗ hẳng bảo mật đó Trong đó:
Trang 8
Trang 10[1] Tìm hiểu các lễ hồng báo mật trong img dung web La: tim hiểu về 10 lỗ hỗng tiêu
biểu theo tổ chức OW ASP đánh giá vào năm 2017 (OWASP Top 10)
[2] Giải pháp WAF được dé xuất cần đạt được các nhiệm vụ sau:
-_ Giải pháp có thể ngăn chặn được tin tặc khai thác các lễ hồng tiêu biểu
- _ Giải pháp phải cho phép người quản trị có thể cầu hình chính sách một cách linh hoạt
-_ Giải pháp phải có khả năng triển khai và áp đựng vảo thực tế
3 Hướng tiếp cận và giải quyết
Đầu tiên học viên cần tim hiểu về danh sách các lỗ hẳng bảo mật tiên biểu theo tổ chức OWASP đánh giá Danh sách đánh giá cân được đảm bảo là mói nhật khi thực hiện đề tài
Để quá trình tìm hiểu được hiệu quả, việo cải đối một máy chủ web chứa các lỗ hẳng để có
Các nội dụng thực biện trong đề tài:
- Tim hiểu các lỗ hồng bảo mật trong ứng dung web (OWASP Top 10)
-_ Từm hiểu, cài đặt, thử nghiệm một máy chủ web chứa các lỗ hồng và một phan mém
mã nguồn mở W AI ModSecurity
- _ Xây đng bộ chính sách ngăn chặn khai thác các lễ hồng
- _ Thử nghiệm giải pháp bằng cách khai thác cáo lỗ
và sau khi triển khai W AE
4 Bồ cục của luận văn
ổng và so sảnh kết quả trước khi
Bé cục luận vấn được chữa thành 5 chương như sau
Chương 1: Mở đầu: Mô tả chỉ tiết vẻ mục tiêu, nhiệm vụ đê tải và hướng tiếp cận
Chương 2: Ứng dụng web và các lỗ hồng báo mật trong ứng dụng web : Nghiễn
cứu cơ số lý thuyết về ứng dụng web và các lỗ hổng bão mật trong ứng dung web theo đánh giả của tổ chức OWASP
Chương 3: Dé xual piai pháp Lường lửa ứng dụng web: Tìm hiểu và để xuất muội giải
pháp tưởng lửa ứng dụng wcb, bao gồm các nội dung: (1) Giới thiệu giải pháp, (2) Mô hình
Trang 9
Trang 11triển khai và hướng cẫn cải đặt, (3) Cầu hình chính sách, (4) Thủ nghiệm một số kịch bán tấn công khai thác lỗ hỏng
Chương 4: Dánh giá két qua: Dua ra đánh giá đựa trên kết quả thử nghiệm và dua ra kết quả so sảnh với nhiệm vụ ban đầu đã đề ra
Chương 5: Kết luận: Dưa ra kết luận, tr nhận xét các tru điểm và hạn ché, định hướng,
phát triển và áp đựng vào thực tế
Trang 10
Trang 12
CLIUONG 2: ONG DUNG WEB VA CAC LO DONG BAO MAT PLIO BLEN
TRONG CNG DUNG WEB
1 Khái niệm ứng dụng web
Trong kỹ thuật phần trầm, một ứng dụng web là một trình ứng dang ma có thể tiếp cận qua web thông qua mạng như internet hay intranet Ứng dụng web phố biến nhờ vào sự có
mặt vào bắt cử nơi dâu của một chương trình Khả năng cập nhật và bảo trì ứng đụng web
ma khéng phải phân phối và cài đặt phân mễm trên hàng ngắn may tinh là by do chinh cho
sự phô biển của nó Ứng dụng web dược dùng dễ hiện thực Webrnail, bám hảng trực tuyến, đầu giá trực tuyển, wiki, diễn đàn thảo luận, Weblog, MMORPG, liệ quân trị nội dung, Phần mềm quản lý nguồn nhân lực và nhiễu chức năng khác [8]
Tuy nhiên tính trơng tác cao của ng dựng web cũng gây ra nhiêu rủi ro về bảo mật Nếu ứng dụng web tôn tại lỗ hông thí tin tặc cỏ
như giả mạo, đánh cắp thông tin, tân công phá hoại, gián đoạn địch vụ, Do đó, các kĩ
thuật tân công vào một hệ thông mạng ngày nay dang dan tập trưng vào những lỗ hãng trong quả trình tạo ứng dụng của những nha phát triển Web hơn là tấn công trực tiền vào
ổ xâm nhập và thực hiện các hành vi xấu
hệ thống mạng, hệ điều hành Phần tiếp theo chúng ta cùng đi tìm hiểu về các lỗ hồng phố biển trong ứng dụng web
2 Các lỗ héng bảo mật phổ biến trong ứng dụng web
2.1 Giới thiệu về Open Web Application Security Project (OWASP)
OWASP là một lỗ
cấp các thông lim về những ứng dụng và rủi ro dặt ra ruột cách trực tiếp, khách quan và
te bao gồm các chuyên gia bão một hàng đầu thể giới, chuyên cungr
thực tế nhất, đặc biệt là ứng dụng web Định kỳ, OWASP tiến hành đánh giá và công bố
danh sách Top 10 các rủi ro bảo mật ứng dụng lớn nhất, dược gọi là OWASP Top 10 | 14] Mục tiêu chính của OWASP Top 10 là dễ hướng dẫn cho những người tham gia vào xây
dựng hệ thông, quản trị hệ thông, báo mật hệ thông hiểu về các lễ hồng và hậu qua của nó
có thể gây ra Dựa vào phương pháp dành giả rúi ro bao gồm các tiêu chỉ như khả năng khai thác, mủ độ phổ biển, khá năng phát hiện, ánh hưởng,
Trang 11
Trang 13Hình 2.2: Các tiêu chí đánh giá rủi ro lỗ hỗng [6]
Tiếp theo chúng ta củng tìm hiểu lịch sử của OWASP TOP 10
2.2 Lịch sử của OWASP Top 10
OWASP được thành lập vào năm 2001 Năm 2003, tỏ chức lân đầu tiên đưa ra danh sách 10 lỗ hồng tiêu biểu Gọi là OWASP Top 10~ 2003 Danh sách bao gồm như sau:
©_ A1 2003 - Unvalidated Input
¢ A22003 - Missing Functional Level Access Control
* A3 2003 - Broken Authentication and Session Management
* A4 2003 - Cross Site Scripting (XSS)
© AS 2003 - Buffer Overflows
© A6 2003 - Injection
A7 2003 - Information Leakage and Improper Error Handling
© A8 2003 - Sensitive Data Exposure
¢ A9 2003 - Remote Administration Flaws
e A10 2003 - Security Misconfiguration
Tuy nhiên, một năm sau đó tổ chức có tiến hành cập nhật danh sách Top 10 dé phủ hợp với hiện trạng của an toàn thông tin trên thế giới thời điểm do, Goi la OWASP Top 10 —
2004 Từ năm 2004, OWASP tiên hành đảnh giá và bình chọn danh sách 3 năm 1 lần (đền
năm 2013) Danh sách OWASP Top 10 - 2004 bao gồm
© Al 2004 - Unvalidated Input
© A22004 - Broken Access Control
¢ A3 2004 - Broken Authentication and Session Management
© A4 2004 - Cross Site Scripting
e =A5 2004 - Buffer Overflow
© AG 2004 - Injection Flaws
Trang 12
Trang 14+ A72004-Tmproper Eror Handiing
«® A8 2004 - Insecure Storage
* A92004- Application Denial of Service
® A10 2004 - Insecure Configuration Management
‘Ya nhận thấy rằng việc thay đổi giữa 20041 và 2003 là không nhiều Chủ yêu là thay đối
các tên gọi cho phù hợp Ba năm sau, OWASP tiền hành đánh giá và đưa ra danh sách Top
10— 2007 Danh sách như sau:
* Al 2007 - Cross Site Scripting (XSS)
@ 422007 - Injection Flaws
« 32007 - Malicious File Execution
@ A4 2007 - Insecure Direct Object Reference
* AS52007 - Cross Site Request Forgery (CSRE)
© A6 200? - Tnformation Leakage and Improper Error Handling
* A7 2007 - Broken Authentication and Session Management
© AS 200? - Insccure Cryplographic Slorage
© A9 2007 - Losecure Communications
© A10 2007 - Failure to Restrict URT Access
2004 - Buller Overflow, A9 2004 - Application Denial of Service, A10 2004 - Insecure
Đã có sự thay đối rõ rệt so với năm 2004 Cá
€onliguratiern Managemeri đã được thay thể bằng các lỗ hồng mới: A3 2007 - Malicious
File Exeeution, A5 2007 - Cross Site Requcst Forgery (CSRF), A9 2007 - Insccue Conunuricatiens và A10 2007 - Failure to RestrieL URL Access Sau đó 3 năm, OWASP
tiến hành đảnh giả và dưa ra danh sách Top 10 2010 Danh sách như sau:
® Al 2010 - Injection
* A22010 - Cross-Site Scripting (X88)
© = A32010- Broken Authentication and Session Management
* A42010 - Insecure Direct Object References
* AS 2010 - Cross-Site Request Forgery (CSRF)
* AG 2010 - Security Misconfiguration
© A7 2010 - Tnsccure Cryptographic Storage
© A8 2010 - Failure to Restrict URL Access
© A9 2010 - Insufficient Transport Layer Protection
Trang 13
Trang 15A10 2010 - Unvalidated Redirects and Forwards
So véi 2007, OWASP da bé di 216 hồng là A3 2007 - Malicious File Executien và A6
2007 - Information Leakage and Tmproper Error Handling Bong thai bd sung 2 16 hồng
moi la A6 2010 - Security Misconfiguralion va A10 2010 - Unvalidated Redirects and
Forwards Sau đó 3 năm, OWASP tiếp tục tiến hành dánh giá và dưa ra danh sách Top 10
2013 Danh sách như sau:
A6 2013 - Sensitive Data Exposure
A7 2013 - Missing Funtion Level Access Control
A8 2013 - Cross-Site Request Forgery (CSRE)
A9 2013 - Using Known Vulnerable Components
ATO 2013 - Unvalidated Redirects and iorwards
Khéng có khác biét nhiéu so véi năm 2010 OWASP đã tiến hành gập A7 2010 -
Insecure Cryptographie Sborage với A9 2010 - Insufficient Transport Layer Protection thành AG 2013 - Sensitive Data Exposure Déng thdi tách A6 2010 - Seourity Misconfiguration thinh A5 2013 - Security Misconfiguration vA A9 2013 - Using Known Vulnerable Components Sau dé 4 nam, OWASP tiép tục đánh giá theo ch kỳ mới va dua
ra đanh sách Top 10 — 2017 Đây cũng là đanh sách mới nhật tính đến thời điểm hiện tại Chỉ tiết như sau:
AI 2017 - Injection
A32017 - Broken Authentication
A3 2017 - Sensitive Data Exposure
42017 -XMI External Fntilios (XXF)
A5 2017 - Broken Access Control
Trang 16«` A102017 - Insufficient Logging&Monitoring
OWASP đã tiến hành gộp A4 2013 - Insecure Direct Object References va A7 2013 -
Missing Function Level Access Control thành AS 2017 - Broken Access Control Sau đó
bỏ đi A8 2013 - Cross-Site Request Forgery (CSRF) va Al0 2013 - Unvalidated Redirects
and Forwards Déng thai bd sung A4 2017 - XML External Entities (XXE) va A10 2017 -
Insufficient Logging&Monitoring Phan tiep thheo, chtng ta sé di tim hieu va phan tich chi tiết hơn về các lỗ hồng trong danh sach OWASP Top 10 — 2017
2.3 A1- Lỗi nhúng mã—Injection
của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về đề inject (tiêm vào) và thị hành các câu lệnh SQL bat hop pháp [15]
2.4 A2— Phá vỡ tính xác thực— Broken Authentication
Khi các chức năng của ứng dụng được thực hiện không chính xác, tin tặc có thẻ đễ dàng
xâm nhập, ăn cắp thông tin tài khoản, mật khâu và khai thác các lỗ hỏng khác bằng cách
sử dụng các chứng chỉ đã đảnh cắp Tải khoản mỗi người dùng cả nhân nên là duy nhất, không bị trùng lặp dưới bắt kỉ hình thức nảo Nều không cỏ bất kỉ sự quản lý cần thiết nào
Trang 17'Việc tiếp xúc dữ liệu nhạy cảm xảy ra khi các kiểm soát bảo mật, giúp tin tặc có thể ăn cắp thông tin tài khoản, mật khâu, địa chỉ hay bắt cử thông tin có giá trị nảo khác Vì vậy,
các ứng dụng cần đảm bảo truy cập được xác thực và dữ liệu đã được mã hỏa [14,15] Sai
lâm phổ biến chủ yêu là không mã hỏa các dữ liệu cần được mã hóa Các tổ chức cản xác định đâu là đữ liệu quan trọng của mình và tiền hành mã hóa nó
2.6 A4~— Thực thể bên ngoài XML - XML External Entities (XXE)
2.7 AS— Phá vỡ kiểm soát truy cập — Broken access control
Kiểm soát truy cập nhằm mục đích kiểm soát người đùng được ủy quyền được phép hay
không được phép làm gì trong một ứng dụng và đề thiết lập quyền kiêm soát truy cập một cách hợp lí, ứng dụng phải đảm bảo rằng nó đang nghiêm túc thực hiện kiểm tra ủy quyền
và xác thực hợp lệ đề xác định người dùng được đặc quyên, thực tế là những người dùng,
Internet ngầu nhiên Việc bị khai thác thường dẫn đền việc tiết lộ thông tin trái phép, sửa
đổi dữ liệu hoặc thực hiện chức năng nào đó ngoải giới hạn của người dùng [14,15]
2.8 A6— Sai sót trong câu hình an ninh — Security Misconfiguration
Một cơ chế an ninh tốt cân phải định nghĩa những hiệu chỉnh về an nành và triển khai nó
cho các ứng dụng, khuôn mẫu, máy chủ ứng dụng, máy chủ web, máy chú dữ liệu và các
ứng dung nên tâng, Tất cả các thiết lâp nên được định nghĩa, thực hiện và bảo trì bởi rất nhiều thử không được triển khai với thiết lập an toàn mặc định Các hiệu chỉnh cũng bao gồm cập nhật phản mềm và những thư viện được sử dụng bởi ửng dụng Người phát triển
và nha quan trị mạng can phải làm việc củng nhau để đâm bão rằng từng lớp được hiệu
Thăng 16
Trang 18chỉnh một cách đúng đắn Những công cụ quét tự động cũng có thẻ hữu ích trong việc phát
hiện những bản vá lỗi bị thiểu, sai sót trong cầu hình hoặc sử dụng những tài khoản mặc
Các ứng dung cho phép người dùng nhập dữ liệu vào mả không có toàn quyên kiêm soát
dữ liệu ra có nguy cơ bị tân công X8 rất cao Một cuộc tân công XSS thành công có thê
gây thiệt hại nghiêm trọng cho các trang web và có khả năng kéo người dùng vào các trang
web khác (thường chứa nhiều mã độc hơn) [14,15]
2.10 A8~ Giải tuần tự hóa không an toàn - Insecure Deserialization
nảy, nhưng con người vẫn luôn luôn phải phân tích và xác nhận kết quả Người ta hy vọng
rằng dữ liệu phổ biển cho loại lỗ hồng nảy sẽ tăng lên khi công cụ được phát triển đẻ giúp
Trang 19Việc sử dụng các thành phản có lỗ hỏng đã biết là vô cùng nguy hiểm vì các lỗ hỏng đã được công bồ sẽ luôn kèm theo các hướng dân dé khai thác Nếu tô chức của bạn vô tình gặp phải lỗi nảy, các tin tặc có thể đề dàng tấn công theo các hướng dẫn cỏ sẵn
2.12, A10— Không đủ nhật ký giám sát— Insufficient Logging & Monitoring
không bị phát hiện Một chiên lược để xác định xem bạn có giám sát đây đủ hay không là
kiểm tra nhật ký sau thử nghiệm thâm nhập Các hành động của người kiểm tra nên được ghi lai day đủ đề hiểu những thiệt hại mả kẻ tấn công cỏ thể đã gây ra Hầu hết các cuộc tân công thảnh công bắt đầu với thăm do 16 héng Việc cho phép các thăm dỏ tiếp tục như
vay có thẻ tăng khả năng khai thác thành công lên gần 1009
Trên đây chúng ta đã tim hid
lỗ hỗng đều là nguy hiểm, sẽ gây ra thiệt hại lớn nêu tổ chức bị khai thác Các thông tin về
về 10 lỗ hỏng phỏ biển nhất trong ứng dụng web Những
16 hong được công khai rộng rãi cho tất cả mọi người Tin tặc thì luôn nằm vững và hiệu
về nó Nếu người quản trị không trang bị một kiến thức đủ tốt thi rất khỏ cỏ thể chồng lại những đợt tân công khai thác từ các tin tặc Phần tiếp theo chúng ta củng tiền hành khai thác thử một số lỗ hồng đề hiểu rõ hơn; đồng thời tiền hành tìm hiểu về một giải pháp có thể ngăn chăn các tân công vảo lỗ hồng này Giải pháp đó là tường lửa ứng dụng web —
Web Application Firewall (WAE)
Trang 18
Trang 20CHƯƠNG 3: DÉ XUẤT GIẢI PHÁP TƯỜNG LÚA ỨNG DỤNG WEB
1 Tại sao cần tưởng lửa ứng dụng web?
Qua phân tich ở trên chủng ta thấy dược rằng các ứng dụng, web luôn tồn tại rất nhiều lố
hồng Người quản trị thì luôn nghũ rằng hệ thẳng của tổ chức dang ôn, dang, an toàn, dang vận hành tốt Tuy nhiên, chỉ khi hệ thống bị tấn công hoặc khai thác họ mới nhận ra ring
hệ thông dã tên tại rất nhiều lỗ hỏng Thông thưởng, các tường lửa mạng thường hoạt động,
ở lớp 4 (tẳng giao vận) nên không thể ngăn chặn được các tắn công khai thác
Vì vậy, chúng ta có thể nhận thấy rằng việc xảy dựng một tưởng lửa WAE để báo vệ cho các máy chủ mg dụng web của các tổ chức, doanh nghiệp lä vô cùng cân thiết Tin tặc
luôn hiểu về các lỗ hồng và luôn biết cách làm thể nào đề tiền hành khai thác, Nêu hệ thống
của bạn đang không được bảo vệ bởi một WAE, rất có khá năng trong tương lai hệ thông,
của bạn sẽ là mục tiêu để cáo tin tặc tân công Iiận quả mà nó mang lại thì vô củng lớn, cẻ khi phải trả giá băng cả một sự phát triển của đoanh nghiệp
Phan tiếp theo chúng ta cũng phân tích và tìm hiến một giải pháp WAP cụ thé Trong
án, đổi tượng mà chúng ta hướng tới là mộ ứng dụng mã nghồn mở
Các giải pháp nã nguồn mỡ udu mang lại những lợi Ích tuyết với cho các Lô chức, Khái
lái pháp tường lửa mã nguồn mở ModSecurity
niệm uä nguồn ind khéng con xa la gi voi cde tổ chức, nhật là những tổ chức luôn quan tam dén van dé ban quyền và chỉ phí Củng ta cùng phản tích một số lợi ich ma phan mém
mã nguồn mở mang lại:
© _ Chỉ phí thấp: Phần mêm mã nguôn mở thường là miễn phí, nơi có một công đông
luôn đồng góp và chúa sẽ kiến thức Cáo giải pháp chuyên dung lr cde hang bao mat
lớn thường sẽ tiêu lốn của tổ chức rất nhiều liền
* Tinh đa dang: Cac phan mẻm mã nguồn mở luôn có một cộng đẳng cùng đóng góp
và phát triển các ý tướng Ngoài ra tỉnh tủy biến dễ đảng cũng làm cho các phân
mém mã nguồn mỏ trở lên vô cứng da dang,
+ Khả năng tùy biến và mở rộng cao: Việc các mã nguồn luôn được công khai số
Trang 21những ý tưởng mới, tính năng mới Các lỗi được phát hiện bởi một cá nhân hoặc
một tổ chức nảo đỏ cũng nhanh chong được chia sẻ rộng rải
© Dé dang tiép cận, nghiên cứu và tìm hiểu: Ưu điểm cuối củng là việc vô cùng dễ
dang tiếp cân và nghiên cứu Khác với các giải pháp chuyên dụng luôn luôn rất chặt
chẽ trong việc bản quyén va phan mdin, moi ngudi déu có thể tiếp cân phản mồm
mã nguồn mỡ Các tài liệu liên quan cũng luôn dược chia sẻ rộng rãi với tất cả mọi
nguoi
Ở trên chủng ta đã đi vào phân tích những ưu điểm, lợi ch mà phan mém m4 ngudn md mang lại uy nhiên, nó vẫn củn những diém hạn chế lả thao tác và sử dụng khỏ Người quản trị cần có kỹ năng chuyên mỡn để có thê vận hành hệ thống tốt Do vậy giải pháp mã nguồn mớ thường phù hợp với các doanh nghiệp vừa vả nhỏ hoặc muốn tị
2.2 Các giải pháp tường lửa mã nguồn mở:
Có rất nhiều các tường lửa ứng đụng web mã nguồn mở trên thẻ giới Các tường lửa ứng dung web đã góp phân không nhỏ vảo việc ngăn chăn các tấn công web trên toàn thế giới
Tiêu biểu nhất là ModSecurity, WebCastellum và Tronbee
+ MedSecurity: ModSecurity là một tường lửa ứng dụng web mã nguồn mở được phát Iriển bởi nhóm TrusLwave's 5pidorl.abs Các tính răng chính cũa ModSecurity
fa toc, loc đựa trên các cụm từ thông dụng, hỗ trợ ƯRT, mã hóa, ngẵn chan tan cong
null bbyte, ModSecurity cũng là một ứng dụng hỗ trợ ghi nhật ky day da
© WebCastellam: WebCastellum là một tường lửa ứng dụng web mã nguồn mở phát
triển bằng Java Né có thé bao vệ hệ thông chẳng lạ một số đe doa nhu SQL
Injection, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), Phién ban én dinh cuéi cùng là 1.8.3, được phát hanh theo Eclipse WebCasellum có các tinh nang chinh nhu URL mmã hóa, ngăn chặn CSRE, phat hién tan céng statefull,
đông dụa theo các rule đã định sẵn
+ Ironbce: lronbee là một tướng lửa ứng dụng web mã nguồn mở phân phối theo I3SD
va Apache 2.0 Ironbee là một phần mễm rất đảng tin cậy và có khả năng mở rộng, với nhiều tỉnh năng: triển khai my chỉnh, linh hoạt, phân tích các lưởng traffic vào
Ta, giám sat theo hanh vi (LP, phién, người dùng, ), dẻ quét lễ hồng, Ironbee
Trang 20
Trang 22cũng cung cấp khả năng tích hợp với các thiết bị bảo mật khác như firewall vả trao đổi dữ liệu
“Tổng quan, ta có bảng so sánh giữa 3 giải pháp firewall tiêu biểu
Loe theo regular expression Có
Ngan chan tan cong null byte Có
Bảng 3.1: So sánh giữa các giải pháp firewall [3]
Qua bảng so sảnh ở trên, chủng ta cỏ thê nhận thấy rằng giải pháp ModSecurity lả tốt nhất trong các giải pháp Ngoài ra giải pháp ModSecurity cũng đễ đảng cải đặt và triển khai vào mồ hình mạng của tô chức Tỉnh mềm dẽo, linh hoạt trong chính sách cũng là một trong những ưu điểm đề ModSecurity luôn lả sự lựa chọn của các nhả quản trị mạng Trong phân tiếp theo chúng ta sẽ cùng tìm hiểu chỉ tiết vẻ giải pháp
2.3 Giới thiệu ModSecurity
ModSecurity lả một tường lửa ứng dụng web mã nguồn mở Phiên bản đầu tiên được
phát hành vào tháng 11 năm 2002, nhưng cân thêm vải tháng nữa trước khi công cụ trở nên
hoàn chỉnh Những người quan tâm bắt đầu tìm hiểu về ModSecurity và sự phỏ biển của
nó bắt đầu tăng lên Ban dau ModSecurity được thiết kế như một module cho Apache HTTP Server, sau đó nó đã phát triển để cung cấp một loạt các yêu cầu cia HTTP va khả năng lọc phản ứng củng với các tỉnh năng bảo mật khác trên một số nẻn tảng khác nhau
bao gém Apache HTTP Server, Microsoft IIS va NGINX
2.4 Hoạt động của ModSecurity
Trong ModSecurity mỗi phiên phân tích sẽ thực hiện lần lượt qua 5 giai đoạn (phase),
tại mỗi giai đoạn ModSecurity sẽ thực thi các rule tương ứng nhằm phát hiện và phỏng
chống các tân công, khai thác
Trang 21
Trang 23
IModSseedly Phass:2 IEsquestBsơy
Hinh 3.1: Cae pha trong hoại động của ModSecurity j 1]
Giai đoạn 1: Request headers
Đây là bước đầu tiên trong quá trình thực hiện phân tích gói tin Mục dích chính của giai
đoạn này là cho phép đánh giá các yêu cầu trước khi thực hiện các xử lý tốn kém tiếp theo
trong HTTP body Vi dy, ModSecurity sé khéng phan tich cú pháp phản body yêu câu
XML theo mặc định, nhưng bạn có thể hướng dẫn nó lãm như vậy bằng cách đặt các quy tắc thích hợp vào giai đoạn 1
Giai đoạn 2: Request bady
Day là giai đoạn phân tích yêu câu chính và điễn ra ngay sau khi một yêu cầu hoàn chỉnh
đã được nhận và xử lý Các rule trong giai đoạn có tất cä cáo đữ liệu yêu cầu có sẵn theo ý
của chúng,
Giai đoạn 3: Response headers
Giai đoạn này tiến hành phản hỏi sau khi tiêu để phản hỏi khả đựng, nhưng trước khi
đọc nội dung phân hôi Các rule cân quyết định có niên kiểm tra giải đoạn phản hỏi HTTP body nên chạy trong giai đoạn này
Trang 22
Trang 24Giai đoạn 4: Response body
Đây là giai đoạn chính của quả trình phản hồi Đến thời điểm này giai đoạn bắt đầu, nội dung phản hẻi sẽ được đọc, với tất cả dữ liệu có sẵn cho cdc rule đưa ra quyết định của
chúng
Giai đoạn 5: Logging
Day là giai đoạn khá là đặc biệt Dẫn tiên, đỏ là giai đoạn duy nhật mà bạn không thể
chăn Vào thời điếm giai đoạn này chay, giao dịch sẽ kết thúc, do đẻ, bạn có thế thực hiện quá trình ghỉ lại nhật ký nhưng thục tế là nó đã xây ra Các rule trong giai đoạn nảy được
chay để kiểm soát cách ghỉ nhật ký được thực hiện
3 Mô hình triển khai và hướng dan cai dat
3.1 Mô hình triển khai
ModSccurity hễ trợ hai mô hình triển khai là: tích hợp vao web server (embedded) va roverse praxy Không có mô hình rảo là hoàn hảo, mỗi mô hình sẽ phủ hợp với từng hệ
thống cụ thể Có những ưu điểm và nhược diễm cho cả hai mô hình:
Mö hình tích hợp vào web server
ModSecurity là một tưởng lứa ứng dụng web có thể được triển khai như một phẩn của
cơ sơ hạ tầng máy chủ web hiện tại của bạn với điều kiện mây clyú web của bạn lá Apache,
1187 hoặc Nginx Phương pháp triển khai nảy có những tra, nhược điểm nhất định:
Ưu điểm:
© Khong có thay đổi đối với hệ thông mạng hiện tại Chúng ta chỉ mất íL thười gian
để cái đặt ModSseurily vào các máy chủ web tiện tại Và bởi vì nó được thiết kế hoàn toản thụ động theo raặc dịnh, chúng ta có thể tự do triển khai nó theo từng bước và chỉ sử dụng các tính năng cần thiết Chứng ta cũng để dàng gỡ bồ hoặc lắt
nó nêu cần thiết
e_ Không có điểm yêu nút thắt cỏ chai (single poinÐ Không giống như mô hình triển
khai proxy, ModSecurity sẽ không là mút thắt cố chai cho hệ thông
©_ Khả năng cân bằng tải và mở rộng Bởi vi ModSecurity được tích hợp trong các
may chu web, nén nd sé ty động tận dụng, các tính năng cân bằng tải và khả năng
mở rộng bễ sung, Chúng ta sẽ khỏng cần phải suy nghĩ về cân bằng tải và mở rộng quy mô cho hệ thống
© Chi phi tdi thiéu Boi vi ModSecurity hoạt đông fr bên trong quá trình máy chủ
web niên không có phát sinh thêm chỉ phí cho giao tiếp mạng, chỉ phí thiểt bị và lim giảm quá trình phân tích cú pháp và trao đổi dữ liệu
Trang 23
Trang 25© Không có vẫn đề với nội dung được mã hỏa hoặc nén (luéng HTTPS) Nhiéu hé
thong IDS gặp khó khăn trong việc phân tích lưu lượng SSL Đây không phải là
vân đẻ đổi với ModSecurity vỉ nó được định vị đề hoạt động khi lưu lượng truy cập
đã được giải mã và giải nén
Nhược điểi
©_ Chiêm tải nguyên của web server Khi hoạt động, đủ ít hay nhiều ModSecurity cũng,
sẽ chiểm một phân tải nguyên của web server Nêu các chính sách, quy tắc thiết lập
nhiều, không được tối ưu, thi tài nguyên sẽ bị chiếm nhiều hơn Nếu hệ thông của bạn là nhỏ, có thể bạn không cân phải quan tâm đền yêu tổ này Tuy nhiên nêu hệ thống lớn, cân tính toán tải nguyên kỹ trước khi triển khai Nều cân, hãy bổ sung
thêm tài nguyên cho web server
© Nếu hệ thông của bạn cỏ nhiều hơn một web server, việc triển khai và cải đặt
ModSecurity sẽ phải thực hiện trên từng máy chủ Việc quản lý chỉnh sách, quy tắc
cũng khó khăn hơn Khi cân câu hình hoặc cập nhật chính sách, người quản tri can phải thực hiện trên tắt cả các server
ModSecutity + Web seca
Hình 3.2: Mô hình tích hợp vào web server (embedded)
Trang 24
Trang 26Mô hình reverse proxy
'Trong mô hình triển khai ModSecurity như một reverse proxy thủ chức năng W.AF được
phân tách độc lập với máy chủ web Phương pháp triển khai này có những ưu, nhược điểm
thiết lập mạng như IP, routing cũng thay đổi theo lệ thống web có thé bi
đowmime một thời gian khi tiến hành tích hợp Người quản trị cần lên kế hoạch chi
tiết trước khi tiến hành triển khai để không gây ảnh hưởng cho địch vụ web
« Có điểm yếu nút thất cổ chai (single point) Việc tất cả các luồng web trước khi đi
vào các máy chủ web phải di qua mày chủ ModSecurity sẽ tạo ra nhút thắt cô chai
trong hệ thông Nêu máy chủ ModSecurity gặp sự có, tất cả dịch vụ web của các máy chú sẽ phải dừng lại Do vậy cần khi thiết kế cân tính đến việc đảm báo tính sin sang cao (Iligh Availability — ILA) Néu một máy chủ ModSeccurity gặp sụ cố, máy chủ còn lại sẽ đảm nhiệm để địch vụ web không bị gián đoạn
Trang 25