HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
br PK —=—==
—S ===
BUI VIET THANG
NGHIEN CUU VE QUY TRINH
KIEM TRA BAO MAT UNG DUNG WEB
Chuyén nganh: KHOA HQC MAY TINH
Mã so: 60.48.01.01
TOM TAT LUẬN VAN THAC SĨ
HÀ NỘI - 2013
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN
Người hướng dẫn khoa học: PGS TS Lê Mỹ Tú
Phản biện 1: TS Pham Thanh GiangPhan bién 2: TS Hoang Xuan Dau
Luận van sé được bao vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn
Vào lúc: 13 giờ 30 ngày 15 tháng 02 năm 2014
Có thê tìm hiêu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn
thông
Trang 3LỜI NÓI ĐẦU
Ngày nay, ứng dụng Web đã có mặt trong hầu hết mọi lĩnh vực của cuộc sống hiện đại Cùng với sự phát triển nhanh chóng của ứng dụng Web thì vấn đề bảo mật ứng dụng Web đang là lĩnh vực vô cùng nóng hồi nhằm đảm bảo an toàn cho tat cả người dùng ứng dung Vậy nếu có một lỗi bảo mật xảy ra trong ứng dụng Web thì điều này có thể ảnh hưởng tới tất cả người dùng, ảnh hưởng tới uy tin của công ty, tổ chức đó, gây mat mát về mặt tai
chính và các ràng buộc về pháp lý,
Luận văn “Nghiên cứu tìm hiểu về quy trình kiểm tra bảo mật ứng dụng Web” sẽ đáp ứng phần nào nhu cầu cấp thiết về an ninh bảo mật hiện nay Xây dựng nên quy trình phục vụ cho việc kiểm tra và phát hiện các điểm yếu
an toàn thông tin trong ứng dụng Web, từ đó đưa ra báo
cáo đánh giá về an toàn thông tin cho Website.
Trang 4Chương 1 - TONG QUAN VE AN NINH AN
TOAN UNG DUNG WEB
1.1 Khái niệm ứng dung Web
Ứng dụng Web là các chương trình máy tính cho
phép người dùng Website đăng nhập, truy vấn vào ra dữ
liệu qua mạng Internet/Intranet trên trình duyệt Web của
người dùng Dữ liệu sẽ được gửi tới người dùng trong
trình duyệt theo kiểu thông tin động từ ứng dụng Web qua
1.2.3 Các lược đồ mã hóa (Encoding Schemes) 1.3 Cơ chế phòng thủ trong ứng dụng Web
Z“_ Xử lý truy cập người dùng
* Xử lý đầu vào người dùng * Xử lý kẻ tan công
* Quản ly ứng dung
Trang 51.4 Các rủi ro thường gap trong ứng dụng Web
Lỗi nhúng mã
Hư hỏng cơ chế chứng thực và quản lý phiên làm
Thực thi mã script xấu
Đối tượng tham chiếu thiếu an toàn Sai sót trong cầu hình bảo mật
Phơi bày dữ liệu nhạy cảm
Thiếu chức năng điều khiển mức truy cập
Giả mạo yêu cau (Cross Site Request Forgery)
Sử dụng các thành phan dé bị ton thương đã biết Chuyên hướng và chuyền tiếp thiếu thâm tra
Trang 62.1.1 Spiders, Robots, va Crawlers
Trên URL, gõ thêm “/robots.txf” ngay sau dia chi
của site sẽ thu được nội dung của tập tin robots.txt.
2.1.2 Sử dụng công cụ tim kiém
Sử dụng toán tử tìm kiếm (site, cache ) có thể hạn chế kết quả tìm kiếm của Google cho một tên miễn cụ thê.
2.1.3 Fingerprint ứng dụng Web
Sử dung Httprecon dé fingerprint ứng dung web.
2.1.4 Kham phá ứng dung
Ba yêu tô ảnh hưởng đên việc có bao nhiêu ứng
dụng liên quan đến một DNS nhất định (hoặc địa chi IP):
Sự khác nhau dựa trên URL
Các công không tiêu chuẩn
Máy chủ ảo
Trang 75 2.1.5 Phân tích thông báo lỗi
Thông báo lỗi có thể được tạo ra bằng cách yêu cầu một URL không tồn tại Thông báo lỗi có thể cho thấy những thông tin về phiên bản máy chủ Web, hệ điều hành, môđun và các sản phẩm khác được sử dụng Thông báo lỗi này này cung cấp thông tin hữu ích về ứng dụng.
2.2 Quy trình kiểm tra việc quan ly cau hình trong ứng
dụng Web
2.2.1 Kiểm tra SSL/TLS
a/ Kiểm tra giá trị chứng chỉ SSL
Bang cách nhấp vào 6 khóa xuất hiện trong cửa số trình duyệt khi truy cập vào một trang Web https, có thé xem thông tin liên quan đến chứng nhận Nếu ứng dụng yêu cầu một chứng chi client, có thé cài đặt để truy cập.
Thông tin chứng chỉ có sẵn trong trình duyệt bằng cách kiểm tra các chứng chỉ liên quan trong danh sách các
chứng chỉ được cài đặt.
b/ Kiểm tra các thông SỐ kỹ thuật và thủ tục mật mã
SSL/TLS đối với site
Trang 8Sử dụng nmap dé xác định các dịch vu SSL.
Sử dụng SSLDigger để kiểm tra các giao thức và
mật mã hỗ trợ.
2.2.2 Kiểm tra quản lý cau hình cơ sở hạ tang
Dé kiểm tra cơ sở hạ tầng quan lý cấu hình, những
bước sau cân được thực hiện:
Các thành phần khác nhau tạo nên cơ sở hạ tang cần được xác định để hiểu cách chúng tương tác
với một ứng dụng Web và cách chúng ảnh hưởng
đến an ninh.
Các thành phần của cơ sở hạ tầng cần phải được xem xét dé đảm bảo không có bat kỳ lỗ hồng nao.
Cần đánh giá lại bằng các công cụ quản trị để duy trì, bảo dưỡng các thành phần khác nhau.
Các hệ thống xác thực, nếu có, cần phải xem xét dé đảm bao rang chi phục vụ nhu cau của các ứng
dụng và không bị thao tác bởi người dùng bên
ngoài để leo thang truy cập.
Danh sách các công xác định cho các ứng dụng cần
được duy trì và tuân thủ dưới sự kiêm soát.
Trang 92.2.3 Kiếm tra quản lý cầu hình ứng dụng
Kiém tra các file và thư mục mau
Xem xét lời chú thích
2.2.4 Kiểm tra việc xử lý phan mở rộng tập tin
Đề xác định các tập tin có phan mở rộng nhất định, một kỹ thuật kết hợp là sử dung máy quét lỗ hồng
(Nesuss, Nikto), công cu mirroring (wget, curl, httrack) để tai vé cau tric trang Web nhằm xác định các thư mục Web
và cách các phân mở rộng tập tin riêng lẻ được phục vụ.
2.2.5 Kiểm tra các tập tin cũ, sao lưu, không được tham
Kiểm tra các tập tin không được tham chiếu sử
dụng cả kỹ thuật tự động và thủ công, và thường liên quan
đến một sự kết hợp sau đây:
(i) Suy luận từ các sơ đô đặt tên được sử dụng cho nội dung xuất bản
(ii) Các đầu moi khác trong nội dung xuất bản
(iii) Phan doan
(iv) Thông tin thu được thông qua lỗ hồng máy chủ và
cau hình sai
Trang 102.2.3 Kiếm tra quản lý cầu hình ứng dung 2.2.6 Kiểm tra giao diện quản trị
Liệt kê tập tin và thư mục
Các ghi chú và liên kết trong Source
Xem xét lại tài liệu máy chủ và ứng dụng
Lựa chọn công máy chủ khác
2.2.7 Kiểm tra các phương thức HTTP
Phương pháp kiểm tra rất đơn giản là sử dụng
netcat (hoặc telnet).
2.3 Quy trình kiểm tra tinh xác thực trong ứng dụng
Gui dữ liệu với phương thức POST qua HTTP
Gửi dt liệu với phương thức POST qua HTTPS
Gửi dữ liệu với phương thức POST qua HTTPS
trên trang HTTP
Trang 11Gui dt liệu với phương thức GET qua HTTPS
2.3.2 Kiểm tra việc liệt kê người dùng
Kiêm thử với username và mật khâu hợp lệ.
Kiém thử với username hợp lệ và mật khâu sai.Kiêm thử với một username không tôn tại.
Sau đó xem xét lại các thông tin phản hôi.
2.3.3 Kiểm tra phán đoán, từ điển tài khoản người
Sử dung Burp Suit hay một số công cụ khác dé tan công từ dién tài khoản người dùng.
2.3.4 Kiếm tra Brute Force tài khoản
Một số công cụ được dùng đề thực hiện brute force:
THC Hydra: http://www.thc.org/thc-hydra/
John the Ripper: http://www.openwall.com/john/
Brutus http://www.hoobie.net/brutus/
2.3.5 Kiểm tra việc bỏ qua lược đồ xác thực
Một số phương pháp vượt qua lược đồ xác thực: Thay đổi tham số
Trang 12Trực tiếp yêu cầu một trang được bảo vệ thông qua
address bar trong trình duyệt.
Kỹ thuật đảo ngược Cookie
Thao tác sửa đổi Cookie
2.4.2 Kiểm tra các thuộc tính của cookies
Sử dụng WebScarab chặn tất cả các responses ma
một cookie được thiết lập bởi ứng dụng và kiểm tra các thuộc tính của cookie có thé bị ton thương sau:
Thuộc tính secure
Trang 13Thuộc tính HttpOnly
Thuộc tinh domain
Thuộc tinh path
Thuộc tinh expires
2.4.3 Kiểm tra lỗ héng an định phiên
Gửi yêu cầu tới site được kiểm tra và xem xét response trả lời (WebScarab) Nhận thấy rằng ứng dung
thiết đặt một định danh phiên mới cho client Tiếp theo, nếu xác thực thành công tới ứng dụng mà không có cookie mới được ban hành vào lúc xác thực thành công, điều này
có thể dẫn tới việc cướp phiên.
2.4.4 Kiểm tra khả năng để lộ các biến của phiên
Kiêm tra khả năng mã hóa và tai sử dung sessiontoken
Kiêm tra khả năng lưu trữ trong bộ nhớ cache
Kiểm tra phương thức gửi dữ liệu
2.5 Quy trình kiểm tra tính ủy quyền trong ứng dụng
2.5.1 Kiểm tra khả năng tấn công Path Traversal
Trang 14Tan công Path Traversal nhăm mục đích truy cập
các tập tin và thư mục được lưu trữ bên ngoài thư mục
Web root Bang cách duyệt ứng dụng, kẻ tan công tim kiếm các liên kết tới các tập tin được lưu trữ trên máy chủ Web Do đó cần phải liệt kê tất cả các phần của ứng dụng mà chấp nhận nội dung từ người sử dụng.
2.5.2 Kiểm tra khả năng vượt qua lược đô ủy quyền
Sử dụng một proxy (WebScarab) sửa đổi các tham số (userID, groupID, ) để có thé truy cập vào các chức
năng không được phép.
2.6 Quy trình kiểm tra tính logic trong giao dịch
Phát hiện ra lỗ hổng bảo mật logic vẫn luôn là một nghệ thuật Ở đây đưa ra một phương pháp tiếp cận bao
Tìm hiểu về ứng dụng
Thu thập dữ liệu dé tạo các thử nghiệm logic Thiết kế các thử nghiệm logic
Điều kiện tiên quyết tiêu chuẩn
Thực hiện các thử nghiệm logic
2.7 Quy trình kiểm tra tính hợp lệ của dữ liệu
Trang 152.7.1 Kiểm tra lỗ hồng XSS (Cross site scripting)
2.7.1.1 Kiểm tra lỗ hông Reflected Cross Site Scripting
Công cụ được khuyến nghị dùng cho việc này là:
CAL 9000 và OWASP Xenotix XSS Exploit Framework
2.7.1.2 Kiém tra 16 héng Stored Cross Site Scripting
Stored XSS có thé bi khai thác bởi các framework
khai thac trinh duyét nhu BeEF, XSS Proxy,
2.7.1.3 Kiểm tra lỗ hổng DOM based XSS
Kiểm tra hộp đen đối với DOM based XSS thường không được thực hiện vì truy cập vào mã nguồn luôn được
2.7.2 Kiểm tra lỗi SQL Injection
Phát hiện SQL Injection
Việc kiểm tra SQL injection cần một lượng lớn các truy vấn Tester có thể cần một công cụ tự động để khai thác lỗ hồng như SQLDumper, CAL 9000, đồng thời có thể kết hợp với một số thao tác thủ công thông qua các
2.7.3 Kiểm thử OS Commanding
Trang 16Cung cấp các lệnh hệ thống hoạt động thông qua đầu vào một giao diện web.
2.7.4 Kiểm thử Code Injection
Chèn một mã chương trình vào các đâu vào được
máy chủ web xử lí như các tập tin.
2.8 Quy trình kiểm tra việc từ chối dịch vụ trong ứng
dụng Web
2.8.1 Kiểm tra khả năng tấn công SOL Wildcard
Gửi chuôi dữ liệu gôm một sô kí tự đại diện qua
tính năng tìm kiếm của ứng dụng.
2.8.2 Kiểm tra khả năng khóa tài khoản người dùng
Kiểm tra một tài khoản không thực sự khóa sau một số lần nhất định đăng nhập thất bại.
2.9 Quy trình kiểm tra Web services
2.9.1 Thu thập thông tin về Web services
Sử dụng công cụ online dé tìm kiếm WS công cộng
như là seekda Web Services Search Engine hay WSindex.
2.9.2 Kiểm tra về WSDL
Trang 17Sử dụng công cụ WSDigger dé tự động hóa kiểm
tra an toàn WS.
2.9.3 Kiểm tra cau trúc XML
Sử dụng công cụ WSDigger để chèn một dữ liệu độc hại vào phương thức WS và xem kết quả ở đầu ra của
giao diện.
2.9.4 Kiểm tra lỗ hồng Replay
Sử dụng Wireshark hay WebScarab để năm bắt lưu
lượng http.
Sử dụng TCPReplay dé bắt đầu tan công replay 2.10 Giới thiệu một số mẫu biểu báo cáo
Báo cáo được khuyên nghị gồm ba phan sau:
Báo cáo tóm tắt
Tổng quan về quản lý kỹ thuậtKết quả đánh giá
Trang 18Chương 3 - TRIEN KHAI THU NGHIEM
3.1 Dat van dé
Dé han chế về trách nhiệm pháp lý, việc triển khai thử nghiệm sẽ áp dụng với các site nước ngoài, cụ thé là
3.2 Ap dung quy trinh kiém tra
3.2.1 Thu thập thông tin về ứng dụng Web Kiểm tra tập tin robots.txt của site:
Ư Opera aa
[404 Not Found
€ > 8 O& @ Web | radarexpress.eu/ robots.txt *| | Ra + Search with Goog |
Not Found
The requested URL /robots.txt was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle
Trang 19| Hosts | Services | Nmap Output | Ports /Hosts Topology Host Details Scans |
os Host nmap “PN ~§T -sV -p0-65535 91.215.216.65 v DetailsNot shown: 65533 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp PureFTPd
80/tcp open http Apache httpd443/tcp open http Apache httpd
Service detection performed Please report anyincorrect results at http://nmap.org/submit/ Nmap done: 1 IP address (1 host up) scanned in
| » | 123.49 seconds
Hình 3.3: Xác định các cong và dich vụ với nmap
Domain - reports and all about ips, networks and dns - Opera
We are actively investigating your given hostname - please give us 10 to 30 seconds to look for more results.You might send your query again by pressing reload on your browser!
Hinh 3.4: Xac dinh cac hostname trén cing IP cua site
Trang 20Phân tích thong báo lỗi:
Ư Opera || [| http:[liadarexpress.euj X + v
« > 8® ig) iy i//radarex fess, eu View oduct, phy iH id = 245 | [3] Y Search with Google |
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server4 version for the right syntax to use near AND pc_nght >= AND pe level <= AND pc level > 0
ORDER BYpc lef at line 7
y SELECT pc id, pc_name_en as pc_name FROM tbl_prod_cat WHERE pc _left <= AND pc tight
>= ANDpc level <= AND pc level > 0 ORDER BY pe left
fee R
3.2.2 Kiểm tra quản lý cau hình trong ứng dụng Web
Giao diện quan trị được truy cập qua URL:http://radarexpress.eu/admin/
Lập cấu trúc ứng dung site:
File Preferences filirror Log Window Help
Hình 3.7: Cấu trúc site với công cụ Httptrack
Trang 213.2.3 Kiểm tra tính xác thực trong ứng dung web
Thông tin xác thực không được truyền qua kênh mã hóa.
Liệt kê người dùng:
pires: Thu, 19 Nov 1881 08:52:00 GMT
\Cache-Control: no-store, no-cache, must-ravalidate, post-check=0, pre-check=0|Pragma: no-cache
Content-Type: text/html
-Cache: MISS from localhost
ioe e-Lookup: MISS from localhost3128
ja: 1.0 localhost (squid/3.1.19)
Hình 3.9: Kiểm thử với username va mật khẩu hợp lệ
WebScarab - conversation 134 “hi
Previ Next |134 -GET httpviwww.google-analytics.com:30/gajs 304 Not Modified
TTP/1.0 304 Not Modified
Date: Mon, 18 Nov 2013 03:19:33 GMT
ontent-Type: textjavascript
pires: Mon, 18 Nov 2013 15:19:33 GMT
ast-Modified: Tue, 29 Oct 2013 19:33:51 GMT
Hình 3.10: Kiểm thử với username hợp lệ va mật khẩu sai
Trang 22WebScarab - conversation 59 “ai
| Previous Next | 58 - GET hffp:fwww.gooqgle-analytics.com:80/qajs 304 Not Modified=,::::::::,,.,,ÉÉẺDPẺỆDÉDÉẺD0ÉẺÉDÉDÉỜẺDUÉDÉẺÉ0ÉẺÉẺUDUÉU0É0ÉẺÉẺ,Ẻ,,ẺẺÉ,Ẻ:ééÉÉẺ rẻ
ja: 1.0 localhost (squid/3.1.19)onnection: keep-alive
-ManualEdit possibly modified
Hình 3.11: Kiểm thử với một username không tồn tại
Tan công từ dién tài khoản người dùng:
| Bil intruder attack 1 7 maa)
Attack Save Columns
{ Resuits | Tarvet | Positions | Payioads | Options
Fitter: Showing all items bả
Request 4 | Payloadi | Payload2 Status | Error | Timeout | Length | Welcome | |
Trang 23Hình 3.13: Vượt qua lược đồ xác thực
Ứng dụng hoàn toàn tin tưởng vào địa chỉ email trong việc xác lập lại và lưu giữ lại mật khẩu.
3.2.4 Kiểm tra quản lý phiên trong ứng dụng
Đăng nhập với 2 tài khoản khác nhau sau, thu đượchai PHPSESSID hoàn toàn trùng khóp.
3.2.5 Kiểm tra tính úy quyền trong ứng dụng web Vượt qua lược đồ ủy quyền
Trang 243.2.6 Kiểm tra tính hợp lệ của dữ liệu
` Online shop, Radar detectors, GPS, Xenon - Radar Express - Opera
uy Opera “3 Online shop, Radar dete * + =
« > X œ=Í[Í@ittp: | /radarexpress.eu/catalocElements: 5/5 J(E- Search with Goor Ì
Trang 25© Online shop, Radar detectors, GPS, Xenon - Radar Express - Opera
UF opera [ Online shop, Radar dete » cl cS
« >> pa Web | radarexpress.eu/cataloque.php
HOME | CATALOGUE | DELIVERY | NEWS | CONTACT US T (1) | LOGIN
3.3 Đánh giá kết quả
Thông qua việc kiểm thử thủ công kết hợp với tool tự động, kết luận rằng trang web này có các lỗi XSS, SQL Injection và nên mã hóa các thông tin nhạy cảm để đảm
bảo an toàn cho người truy cập trang web.
Trang 26KET LUẬN
Việc nghiên cứu tìm hiểu về quy trình kiểm tra bảo mật ứng dụng Web sẽ đóng góp một phần vào việc đánh
giá va bao dam an toàn thông tin cho Website, dap ứng
nhu cau cap thiét vé an ninh bao mat hién nay.Két quả thu được của luận văn:
Giup người đọc nhận thức được tầm quan trọng của
bảo mật ứng dụng Web.
Giới thiệu một quy trình phục vụ cho việc kiểm tra
và phát hiện các điểm yếu an toàn thông tin trong
ứng dụng Web.
Đưa ra báo cáo đánh giá vê an toàn thông tin choWebsite.
Hướng nghiên cứu tiếp theo của luận văn:
Nghiên cứu, tìm hiéu hơn nữa các lô hông bao mậttrong ứng dụng Web.
Xây dựng chương trình đánh giá mức độ bảo mật
Website.