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

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

26 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu về quy trình kiểm tra bảo mật ứng dụng WEB
Tác giả Bùi Viết Thắng
Người hướng dẫn PGS TS Lê Mỹ Tú
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 4,21 MB

Nội dung

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 q

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

THÔNGNgười hướng dẫn khoa học: PGS TS Lê Mỹ Tú

Phản biện 1: TS Pham Thanh Giang Phan bién 2: TS Hoang Xuan Dau

Luận van sé được bao vệ trước Hội đồng chấm luậnvăn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn

thông 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ếtmọi lĩnh vực của cuộc sống hiện đại Cùng với sự pháttriể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ềunà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ểmtra bảo mật ứng dụng Web” sẽ đáp ứng phần nào nhu cầucấp thiết về an ninh bảo mật hiện nay Xây dựng nên quytrì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

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ậpGiả mạo yêu cau (Cross Site Request Forgery)

Sử dụng các thành phan dé bị ton thương đã biếtChuyê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ạnchế 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

52.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ầumột URL không tồn tại Thông báo lỗi có thể cho thấynhữ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ỗinà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ụngyê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áchkiể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ạ tangcầ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

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

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

chiếu

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ộidung 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ác2.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

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

dùng

Sử dung Burp Suit hay một số công cụ khác dé tancô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.

Dự đoán Session ID SQL Injection

2.3.6 Kiém tra diém yéu trong việc xúc lập lại va lưu giữ lại mật khẩu

2.3.7 Kiểm tra việc đăng xuất và quản lý bộ nhớ cache

Kỹ thuật đảo ngược Cookie

Thao tác sửa đổi Cookie2.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ácthuộ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ó cookiemớ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 session token

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

Web

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 timkiế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ộtnghệ thuật Ở đây đưa ra một phương pháp tiếp cận bao

é

^

gôm:

Tìm hiểu về ứng dụngThu thập dữ liệu dé tạo các thử nghiệm logicThiế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ườngkhông được thực hiện vì truy cập vào mã nguồn luôn được

testcase.

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 saumộ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ật Kết quả đánh giá

Trang 18

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

the request.

Fingerprint ứng dung web với httprecon:

Server: Apache Version: 2.2.3

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 Details

Not shown: 65533 filtered ports

PORT STATE SERVICE VERSION

21/tcp open ftp PureFTPd 80/tcp open http Apache httpd 443/tcp open http Apache httpd

Service detection performed Please report any incorrect 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 server

4 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:

-Powered-By: PHP/5.2.17 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ỉ emailtrong 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 được hai 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/cataloc Elements: 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, SQLInjection 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ảomậ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 cho Website.

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ật trong ứ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

w