Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
2,47 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Ngơ Vĩnh Q PHÂN TÍCH ĐÁNH GIÁ VÀ GIÁM SÁT ĐỘ AN TOÀN CỦA CÁC DỊCH VỤ WEB Chuyên ngành : Kỹ thuật Máy tính Truyền thông LUẬN VĂN THẠC SĨ KHOA HỌC KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THƠNG NGƯỜI HƯỚNG DẪN KHOA HỌC TS VŨ QUỐC KHÁNH Hà Nội – Năm 2012 MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN THUẬT NGỮ, TỪ VIẾT TẮT HÌNH VẼ PHẦN MỞ ĐẦU NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN BẢO MẬT ỨNG DỤNG WEB 1.1 TỔNG QUAN 1.1.1 Thơng tin an tồn bảo mật 1.1.2 Lịch sử phát triển ứng dụng Web 1.1.3 Các mơ hình ứng dụng Web phổ biến 10 1.2 CÁC THUẬT NGỮ 13 1.2.1 Thuật ngữ Cookies 13 1.2.2 Thuật ngữ Session 14 1.2.3 Giao thức HTTP/HTTPS 14 1.2.4 Khái niệm URL 15 1.2.5 Cơ chế Get/Post 16 1.3 CÁC LỖ HỔNG THƯỜNG GẶP 17 1.3.1 Các bước công Website 17 1.3.2 10 lỗ hổng bảo mật Web nguy hiểm năm 2010 20 CHƯƠNG 2: HIỆN TRẠNG PHÂN TÍCH ĐÁNH GIÁ VÀ GIÁM SÁT AN TỒN THƠNG TIN 36 2.1 CÁC PHƯƠNG PHÁP PHÂN TÍCH ĐÁNH GIÁ 36 2.1.1 Lý cần phân tích đánh giá an tồn thơng tin 36 2.1.2 Các chuẩn đánh giá bảo mật thông dụng 36 2.1.2.1 Chuẩn đánh giá Mạng Hệ thống - OSSTMM (Open Source Security Testing Methodology Manual) 36 2.1.2.2 Chuẩn đánh giá hệ thống thông tin bảo mật - ISSAF (Information Systems Security Assessment Framework) 38 2.1.2.3 Chuẩn bảo mật liệu ngân hàng - PCI DSS (Payment Card Industry Data Security Standard) 39 2.1.2.4 Chuẩn xác minh tính bảo mật Ứng dụng – OWASP ASVS (OWASP Application Security Verification Standard Project) 40 2.1.3 Phương pháp đánh giá OWASP 42 2.1.3.1 Đánh giá theo tiêu chuẩn an toàn việc xây dựng OWASP ASVS 42 2.1.3.2 Đánh giá rủi ro 52 2.2 CÁC PHƯƠNG PHÁP GIÁM SÁT 60 2.2.1 Hoạt động giám sát 60 2.2.2 Các nguy mục đích giám sát 60 2.2.3 Các phương pháp giám sát 61 CHƯƠNG 3: ĐỀ XUẤT QUY TRÌNH PHÂN TÍCH, ĐÁNH GIÁ ỨNG DỤNG WEB 65 3.1 CÁC KỸ THUÂT KIỂM THỬ PHỔ BIẾN 65 3.2 PHƯƠNG PHÁP ĐÁNH GIÁ LỰA CHỌN 65 3.3 CÁC GIAI ĐOẠN CỦA MỘT HỆ THỐNG WEB 66 3.4 QUY TRÌNH ĐỀ XUẤT ĐÁNH GIÁ 66 3.5 KỸ THUẬT KIỂM THỬ THÂM NHẬP (Owasp Testing Guide V3) 70 CHƯƠNG 4: ĐỀ XUẤT QUY TRÌNH GIÁM SÁT ỨNG DỤNG WEB 77 4.1 CÁC CÔNG VIỆC GIÁM SÁT MỘT HỆ THỐNG 77 4.2 QUY TRÌNH GIÁM SÁT ĐỀ XUẤT 77 CHƯƠNG 5: THỬ NGHIỆM 82 CHƯƠNG 6: KẾT LUẬN 96 6.1 CÁC VẤN ĐỀ ĐẠT ĐƯỢC 96 6.2 HẠN CHẾ 96 6.3 ĐỀ XUẤT ÁP DỤNG 96 6.4 HƯỚNG PHÁT TRIỂN 97 TÀI LIỆU THAM KHẢO 98 LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ kỹ thuật “Phân tích đánh giá giám sát độ an tồn dịch vụ Web” cơng trình nghiên cứu cá nhân Các số liệu thông tin luận văn trung thực Hà nội, tháng năm 2012 NGƠ VĨNH Q Học viên cao học khóa 2009 Chun ngành: Mạng máy tính Truyền thơng Trường Đại học Bách Khoa Hà Nội LỜI CẢM ƠN Xin chân thành cẩm ơn TS Vũ Quốc Khánh tận tình hướng dẫn, bảo thầy Viện Công nghệ Thông tin, Viện Đào tạo sau đại học trường Đại học Bách khoa Hà nội truyền dạy kiến thức quý báu chương trình cao học giúp đỡ tơi hồn thành luận văn THUẬT NGỮ, TỪ VIẾT TẮT Client: Người dùng cuối File: Tập tin lưu liệu HTML: Hypertext Mark Language Hacker: Kẻ công Owasp: Open web application security project Checklist: Danh sách điểm kiểm tra bảo mật HÌNH VẼ Hình 1: Nguồn Web Hacking Incident Database for 2011 (WHID) Hình 2: Mơ hình lập trình Web cổ điển 11 Hình 3: Mơ hình lập trình Web MVC .12 Hình 4: Mơ hình Tiers 13 Hình 5: Mô tả bước công Website 17 Hình 6: Các nội dung đánh giá bảo OSSTMM 37 Hình 7: Các mức độ bảo mật OWASP ASVS .41 Hình 8: Owasp ASVS cấp độ 1, 1A 1B 43 Hình 9: Ví dụ kiến trúc bảo mật OWASP ASVS mức độ 44 Hình 10: Owasp ASVS cấp độ 2, 2A 2B .44 Hình 11: Ví dụ kiến trúc bảo mật OWASP ASVS mức độ 45 Hình 12: Owasp ASVS cấp độ 46 Hình 13: Ví dụ kiến trúc bảo mật OWASP ASVS mức độ 47 Hình 14: Owasp ASVS cấp độ 47 Hình 15: Ví dụ kiến trúc bảo mật OWASP ASVS mức độ 48 Hình 16: Nội dung báo chuẩn OWASP ASVS 51 Hình 17: Quy trình đánh giá an toàn bảo mật dịch vụ Web .67 Hình 18: Quy trình giám sát an toàn bảo mật dịch vụ Web .78 Hình 19: Màn hình sử dụng cơng cụ Netcat .83 Hình 20: Màn hình sử dụng cơng cụ Nmap 84 Hình 21: Sơ đồ Website 85 Hình 22: Màn hình sử dụng trình duyệt Firefox .86 Hình 23: Sử dụng Proxy Webscarab 87 Hình 24: Đoan code chức kiểm tra SQL Injection 89 Hình 25: Lỗi SQL Injection chức tìm kiếm lớp học .90 Hình 26: Lỗi XSS chức xem danh sách môn học sinh viên .91 Hình 27: Lỗi Path traversal chức Download 92 Hình 28: Màn hình mơ tả thao tác Upshell 93 Hình 29: Lỗi Path traversal chức Upload 93 PHẦN MỞ ĐẦU Lý chọn đề tài Với phát triển ứng dụng dựa Web, việc nghiên cứu đánh giá giám sát độ an toàn dịch vụ Web quan trọng cần thiết Đặc biệt áp dụng hiệu vào thực tế giảm thiểu nhiều rủi ro thiệt hại lỗ hổng bảo mật gây cho tổ chức, doanh nghiệp Mục đích nghiên cứu Mục đích nghiên cứu luận văn tìm tổng quan yêu cầu bảo vệ dịch vụ Web, lỗ hổng bảo mật phổ biến, xây dựng phương pháp phân tích đánh giá giám sát độ an toàn dịch vụ Web Đối tượng áp dụng kỹ sư công nghệ thông tin, nhà quản trị cán đảm bảo an tồn thơng tin cho dịch vụ Web Nội dung nghiên cứu Các nội dung đóng góp tác giả: - Tổng quan lịch sử phát triển, mơ hình Web phổ biến, thuật ngữ Web - Các bước công dịch vụ Web thông tin 10 lỗ hổng bảo mật phổ biến - Tác giả nghiên cứu, tổng hợp đề xuất phương pháp, quy trình phân tích đánh giá phương pháp, quy trình giám sát độ an tồn dịch vụ Web - Có áp dụng quy trình đánh giá đề xuất để đánh giá hệ thống Web thực tế có kết báo cáo lỗi - Xây dựng hướng dẫn kiểm thử an ninh cho dịch vụ Web Phương pháp nghiên cứu Phương pháp nghiên cứu kết hợp tìm hiểu lý thuyết thực hành để tìm hiểu xây dựng phương pháp phân tích đánh giá độ an tồn cho dịch vụ Web Tài liệu nghiên cứu chủ yếu dựa vào tài liệu tổ chức Owasp Kết đạt Kết quả: theo yêu cầu đặt ban đầu thời điểm tại, luận văn đạt nội dung yêu cầu Hạn chế: bên cạnh luận văn cịn số điểm hạn chê - Phương pháp đánh giá thiếu sót hạn chế chưa tồn diện - Trong q trình thực tơi có tham khảo nhiều tài liệu kiến thức lĩnh vực hạn chế, tài liệu nhiều, lĩnh vực bảo mật rộng nên q trình trình cịn nhiều sai sót Đề xuất: vấn đề an toàn bảo mật thật vấn đề rộng thường xuyên xuất nguy cơ, lỗ hổng bảo mật mới, việc nhận thức an toàn bảo mật người dùng, doanh nghiệp, quan quản lý hạn chế chưa quan tâm mức Trong trình tìm hiểu đề tài với kết thu được, cá nhân có đề xuất áp dụng quy trình phân tích, giám sát cho dịch vụ Web Hướng phát triển: thân cá nhân xin đề xuất hướng phát triển luận văn: - Tìm hiểu thêm kĩ thuật công để đưa phương pháp bảo mật ứng dụng Web mức độ sâu - Tìm hiểu vấn đề bảo mật sâu hơn, không dừng mức độ ứng dụng Web mà phát triển vần đề bảo mật hệ thống mạng dịch vụ - Hồn thiện quy trình đánh giá, giám sát cho đầy đủ hơn, bao gồm hết kía cạnh dịch vụ Web - Triển khai chương trình phát lỗ hổng Web, nhiều phương diện kĩ thuật NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN BẢO MẬT ỨNG DỤNG WEB 1.1 TỔNG QUAN 1.1.1 Thơng tin an tồn bảo mật - Theo số liệu thống kê từ công ty bảo mật hàng đầu Acunetix, thời gian gần số lượng công vào ứng dụng web tăng lên nhanh chóng (75% cơng thực lớp ứng dụng Web) Trong hai kĩ thuật công hacker sử dụng phổ biến cross-site scripting sql injection Hình 1: Nguồn Web Hacking Incident Database for 2011 (WHID) 1.1.2 Lịch sử phát triển ứng dụng Web a Lịch sử phát triển Web - Ngày 6-8-1991, Tim Berners Lee công bố chương trình Web Dự án “World Wide Web” Tim giới thiệu newsgroup alt.hypertext Ông cho biết dự án nhắm tới việc tạo liên kết tài liệu cách sử dụng “siêu văn bản” (hypertext) với internet - Tháng 6-1993: Ngôn ngữ HTML (Hypertext Mark Language) dùng lập trình Web cơng bố Hình 20: Màn hình sử dụng cơng cụ Nmap Kết quả: ta thu dịch vụ chạy máy chủ (VNC, Apache, …vv) - Xác định sơ đồ Website 84 Hình 21: Sơ đồ Website - Sử dụng trình duyệt duyệt qua chức hệ thống, lập danh sách chức URL tương ứng hệ thống, sử dụng cơng cụ hỗ trợ Burp proxy, Webscarab 85 Hình 22: Màn hình sử dụng trình duyệt Firefox 86 Hình 23: Sử dụng Proxy Webscarab - Xác định thông tin tảng ứng dụng dựa vào URL, cấu trúc Website, thông tin máy chủ trả về, như: o Ngôn ngữ: Java o Framework: Struts, JSON, Hibernate o Database: Oracle Bước 2: Xác định tập OWASP phù hợp với hệ thống Từ thông tin thu thập Bước 1, ta tiến hành xác định tập OWASP phù hợp với hệ thống dựa đặc điểm chức năng, cụ thể: - Cần kiểm thử việc quản lý phiên Session (Testing for Session Management Schema) - Cần kiểm thử thuộc tính Cookie (Testing for Cookies attributes) - Cần kiểm thử việc tiếp xúc biến phiên (Testing for Exposed Session Variables) 87 - Cần kiểm thử lỗi giả mạo chéo trang CSRF (Testing for Cross Site Request Forgery) - Cần kiểm tra lỗi quản lý đường dẫn (Testing for path traversal) - Cần kiểm tra lỗi SQL Injection (Testing for SQL Injection) - Cần kiểm tra tính dễ tổn thương (Testing for Incubated Vulnerability) Bước 3: Xác định bề mặt công lên kịch kiểm thử tương ứng Từ thông tin thu hệ thống thu Bước thông tin hệ thống như: phiên OS, phiên dịch vụ Server, Sitemap tập OWASP Bước 2, ta xác định bề mặt công kịch kiểm thử cách liên hệ thành phần tập OWASP với điểm có khả gây lỗi tương ứng Ví dụ: - Lên kịch kiểm thử lỗi liên quan đến Session theo OWASP - Lên kịch kiểm thử lỗi liên quan đến Cookie theo OWASP - Lên kịch kiểm thử lỗi liên quan đến cố định Session theo OWASP - Lên kịch kiểm thử lỗi tiếp xúc biến phiên Session theo OWASP - Lên kịch kiểm thử lỗi CSRF theo OWASP cho chức o Quản lý sinh viên o Quản lý môn học o Quản lý lớp học o Báo cáo - Lên kịch kiểm thử lỗi Path traversal theo OWASP cho chức o Download o Upload - Lên kịch kiểm thử lỗi SQL Injection theo OWASP cho chức o Quản lý sinh viên o Quản lý môn học o Quản lý lớp học o Báo cáo - Lên kịch kiểm thử lỗi Incubated Vulnerability theo OWASP cho o Hệ điều hành - OS 88 o Các dịch vụ - Services o Nền tảng - Framework o Ngôn ngữ - Language o Cơ sở liệu - Database ớc 4: Thực kịch (testcase) chi tiêt (theo White box + Black box đồng thời với testcase) Thực kịch (testcase) chi tiết cho kịch kiểm thử lập Bước 3, thực kiểm thử với phương pháp Black box White box Ví dụ: - Kiểm tra SQL Injection với chức quản lý lớp học: o Kiểm tra Black box: kiểm tra tham số classCode, className với giá trị ‘1’ or ‘1’=’1 ‘ or classCode like ‘ ‘ or class_code like ‘ o Kiểm tra White box: Kiểm tra mã nguồn tương ứng với chức có bị lỗi SQL Injection hay khơng Hình 24: Đoạn code chức kiểm tra SQL Injection Bước 5: Thống kê kiểm nghiệm lỗi Dựa vào kết kịch (testcase) Bước 4, thống kê kiểm nghiệm lại lỗi phát hiện, cụ thể: 89 - Lỗi SQL Injection với chức tìm kiếm sinh viên, tìm kiếm lớp học, thêm lớp học - Lỗi XSS với chức xem thông tin môn học sinh viên, xem thông tin sinh viên - Lỗi Path traversal với chức Download, Upload Hình 25: Lỗi SQL Injection chức tìm kiếm lớp học 90 Hình 26: Lỗi XSS chức xem danh sách môn học sinh viên 91 Hình 27: Lỗi Path traversal chức Download 92 Hình 28: Màn hình mơ tả thao tác Upshell Hình 29: Lỗi Path traversal chức Upload Bước 6: Cấu kết lỗi để tính toán nguy 93 Từ lỗi thu được, cấu kết lỗi để tìm kịch cơng sâu vào hệ thống, từ tính tốn nguy mà hệ thống gặp phải Ví dụ: - Lỗi SQL Injection sửa đổi thơng tin sở liệu, kết hợp với lỗi XSS xây dựng kịch cơng o Thêm đối tượng Student có username chứa mã javascript o Khi người dùng thực chức xem thông tin môn học user vừa thêm vào, mã javascript thực thi thông qua lỗi XSS - Lỗi Path traversal xem nội dung file hệ thống, upload file shell hệ thống Bước 7: Đánh giá rủi ro Từ kết kiểm thử an ninh thu bước trên, kết hợp với phương pháp đánh giá rủi ro ta có đánh giá hệ thống mắc phải nhiều lỗi với mức độ ngun trọng lỗi khai thác để chiếm quyền điều khiển hệ thống thay đổi liệu người dùng lấy mã nguồn ứng dụng Bước 8: Báo cáo kết đánh giá Với kết đánh giá ta có báo cáo hệ thống, cụ thể: STT Các lỗi bảo mật Chức mắc lỗi Mức độ Ghi Lộ thông tin hệ thống: - Thông tin OS, Web Lỗi chê dấu thông tin hệ Trung Service, Framework, thống Lộ thông tin hệ bình thống Trung Lộ bình người dùng Trung Thay đổi thơng bình tin người dùng Database Lỗi SQL Injection Lỗi SQL Injection chức tìm kiếm lớp học Lỗi XSS chức Lỗi XSS xem danh sách môn học sinh viên Lỗi Path Traversal Lỗi Upload Shell thông tin Lỗi Path traversal Nghiêm Chiếm quyền hệ chức Download thống trọng Lỗi Path traversal Nghiêm Chiếm quyền hệ chức Upload thống 94 trọng Kết luận: Việc áp dụng quy trình 08 bước cho ta thấy nhìn tồn cảnh lỗi bảo mật dịch vụ Web đánh giá, với kết thu ta kết luận dịch vụ Web “Quản lý trường học” mắc phải lỗi mức độ lỗi nguyêm trọng với lỗi kẻ cơng hồn tồn chiếm quyền điều khiển hệ thống lấy xóa thơng tin toàn hệ thống 95 CHƯƠNG 6: KẾT LUẬN 6.1 CÁC VẤN ĐỀ ĐẠT ĐƯỢC Theo yêu cầu đặt ban đầu thời điểm tại, luận văn đạt nội dung sau: - Tìm hiểu tổng quan lịch sử phát triển mơ hình ứng dụng Web phổ biến - Tìm hiểu thành phần chế hoạt động ứng dụng Web - Tìm hiểu bước cơng hệ thống Website - Tìm hiểu chi tiết 10 lỗ hổng phổ biến năm 2010 theo đánh giá tổ chức OWASP - Phân tích đề xuất lựa chọn phương pháp phân tích đánh giá giám sát độ bảo dịch vụ Web - Nghiên cứu, tổng hợp đề xuất quy trình đánh giá, giám sát dịch vụ Web phù hợp với trạng thực tế Việt Nam - Tổng hợp đưa hướng dẫn kiểm thử xâm nhập dịch vụ Web để phục vụ kiểm tra điểm yếu/lỗ hổng dịch vụ Web - Áp dụng quy trình đánh giá để đánh giá cụ thể hệ thống thực tế 6.2 HẠN CHẾ - Tài liệu chưa thực cô đọng - Phương pháp đánh giá cịn thiếu sót hạn chế chưa tồn diện - Trong q trình thực tơi có tham khảo nhiều tài liệu kiến thức lĩnh vực cịn hạn chế, tài liệu nhiều, lĩnh vực bảo mật rộng gần khơng có giới hạn nên q trình trình cịn nhiều sai sót 6.3 ĐỀ XUẤT ÁP DỤNG Vấn đề an toàn bảo mật thật vấn đề rộng phải thường xuyên cập nhật, bổ sung thông tin mới, việc nhận thức an toàn bảo mật người dùng, doanh nghiệp, quan quản lý hạn chế chưa quan tâm mức Trong trình tìm hiểu đề tài với kết thu được, cá nhân có đề xuất áp dụng quy trình phân tích đánh giá quy trình giám sát độ an tồn dịch vụ Web 96 vào thực tế doanh nghiệp, tổ chức nhằm hạn chế lỗ hổng, điểm yếu đảm bảo cho dịch vụ Web chạy ổn định an toàn 6.4 HƯỚNG PHÁT TRIỂN Bản thân cá nhân xin đề xuất hướng phát triển luận văn nội dung sau: - Tìm hiểu thêm kĩ thuật công để đưa phương pháp bảo mật ứng dụng Web mức độ sâu - Tìm hiểu vấn đề bảo mật sâu hơn, không dừng mức độ ứng dụng Web mà phát triển vần đề bảo mật hệ thống mạng dịch vụ - Hoàn thiện quy trình đánh giá, giám sát cho đầy đủ hơn, bao gồm hết kía cạnh dịch vụ Web - Triển khai chương trình phát lỗ hổng Web, nhiều phương diện kĩ thuật 97 TÀI LIỆU THAM KHẢO Minh Chí (2011), “Chuẩn bảo mật PCI DSS", http://www.pcworld.com.vn Pete Herzog (2010), “OSSTMM The Open Source Security Testing Methodology Manual Contemporary Security Testing and Analysis”, http://www.isecom.org/mirror/OSSTMM.3.pdf Nguyễn Thành Nam (2011), “Pentest: kỹ thuật đánh trận giả”, http://www.pcworld.com.vn Owasp (2008), “OWASP TESTING GUIDE”, https://www.owasp.org/images/8/89/OWASP_Testing_Guide_V3.pdf Owasp (2008), “OWASP Application Security Verification Stardard 2008 Web Application Edition”, https://www.owasp.org/images/b/b4/OWASP_ASVS_Web_Edition_2008_Beta pdf Owasp (2010), “OWASP Top 10 - 2010 The Ten Most Critical Web Application Security Risks”, http://www.owasptop10.googlecode.com/OWASPTop2010.pdf Owasp (2012), “Owasp Rist Rating Methodology”, https://www.owasp.org/index.php/OWASP_Risk_Rating_Methodology Website OWASP, http://www.owasp.org Website SANS, http://www.sans.org 10 Website Security in the Java platform, http://java.sun.com/security 11 Website, http://www.oissg.org/issaf 98 ... đích nghiên cứu luận văn tìm tổng quan yêu cầu bảo vệ dịch vụ Web, lỗ hổng bảo mật phổ biến, xây dựng phương pháp phân tích đánh giá giám sát độ an toàn dịch vụ Web Đối tượng áp dụng kỹ sư công... xuất phương pháp, quy trình phân tích đánh giá phương pháp, quy trình giám sát độ an tồn dịch vụ Web - Có áp dụng quy trình đánh giá đề xuất để đánh giá hệ thống Web thực tế có kết báo cáo lỗi... ASVS mức độ 48 Hình 16: Nội dung báo chuẩn OWASP ASVS 51 Hình 17: Quy trình đánh giá an toàn bảo mật dịch vụ Web .67 Hình 18: Quy trình giám sát an toàn bảo mật dịch vụ Web .78