Nghiên cứu về quy trình kiểm tra bảo mật ứng dụng WEB

26 5 0
Nghiên cứu về quy trình kiểm tra bảo mật ứng dụng WEB

Đ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

Trang 1

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 2

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN

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 3

LỜ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 4

Chươ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 5

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

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

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

Sử 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 9

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

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

Gui 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 12

Trự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 13

Thuộ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 14

Tan 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 15

2.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 16

Cung 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 17

Sử 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 18

Chươ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 20

Phâ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 21

3.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 22

WebScarab - 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 23

Hì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 24

3.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 26

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

Ngày đăng: 11/04/2024, 01:21

Tài liệu cùng người dùng

Tài liệu liên quan