Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 127 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
127
Dung lượng
2,74 MB
Nội dung
MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ VIẾT TẮT .3 DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU Chương .1 TỔNG QUAN .1 1.1 Giới thiệu đề .1 1.2 Phạm vi đề tài Chương .4 LÝ THUYẾT ÁP DỤNG 2.1 Tổng quan bảo mật website 2.1.1 Sơ lược bảo mật thông tin 2.1.2 Mơ hình bảo mật 2.1.3 Áp dụng mơ hình bảo mật vào hệ thống .8 2.1.4 Nguy rủi ro 11 2.1.5 Các phương pháp công bảo mật 13 2.2 Tổng quan lý thuyết kiểm thử 20 2.2.1 Sơ lược kiểm thử 20 2.2.2 Mục đích kiểm thử bảo mật .21 2.2.3 Các loại hình kiểm thử bảo mật 22 Chương .24 CÔNG NGHỆ VÀ PHẦN MỀM SỬ DỤNG 24 3.1 Các công cụ Test .24 3.1.1 Acunetix Web Vulnerability Scanner .24 3.1.2 SQL Power Injector 26 3.1.3 LOIC 29 3.1.4 Brup Suite 30 Chương .32 KIỂM THỬ BẢO MẬT HỆ THỐNG VNEDU.VN 32 4.1 Giới hiệu hệ thống vnedu.vn 32 4.1.1 Module Quản lý học tập 33 4.1.2 Module Xét tốt nghiệp 47 4.1.3 Cơ sở liệu .51 4.2 Quy trình kiểm thử bảo mật đề xuất áp dụng .71 4.2.1 Quy trình kiểm thử bảo mật đề xuất 71 4.2.2 Áp dụng quy trình vào kiểm thử hệ thống 74 4.3 Thực kiểm thử hệ thống 74 4.3.1 Lập Testplan 74 4.3.2 Thiết kế testcase thực test tool .75 4.3.3 Báo cáo kết Test 97 KẾT QUẢ ĐẠT ĐƯỢC 102 TÀI LIỆU THAM KHẢO 103 DANH MỤC CÁC KÝ HIỆU VÀ VIẾT TẮT STT Ký hiệu, chữ Tên đầy đủ Dịch tiếng việt viết tắt LOIC Low Orbit Ion Tên công cụ WVS Cannon Web Vulnerability DDos Tên công cụ Scanner kiểm thử SQL Structureed Query Ngôn ngữ truy vấn DDos Language Distributed Denial có cấu trúc Từ chối phân phối XSS of Service Cross - Site dịch vụ Kiểu công chèn Scripting Not Available mã Khơng thể Message-Digest Tên thuật tốn algorithm mã hóa N/A Module MD5 DANH MỤC HÌNH VẼ Hình 2.1 Danh sách người dùng hệ thống .9 Hình 2.2 Danh sách quyền hệ thống 10 Hình 3.1 Giao diện cơng cụ Acunetix Web Vulnerability Scanner .26 Hình 3.2 Giao diện cơng cụ SQL Power Injector 1.2 28 Hình 3.3 Giao diện công cụ LOIC 29 Hình 3.4 Giao diện cơng cụ Brup Suite 30 Hình 4.1 Giao diện hệ thống vnEdu.vn 32 Hình 4.2 Biểu đồ xử lý chức Nhập sổ điểm 34 Hình 4.3 Giao diện Nhập sổ điểm 37 Hình 4.4 Giao diện Nhập/xuất liệu 38 Hình 4.5 Biểu đồ xử lý chức nhập điểm danh 39 Hình 4.6 Giao diện chức nhập điểm danh 41 Hình 4.7 Biểu đồ xử lý chức Nhập hạnh kiểm .42 Hình 4.8 Giao diện chức Nhập hạnh kiểm 44 Hình 4.9 Giao diện chức Tổng kết điểm .47 Hình 4.10 Giao diện chức Diện ưu tiên 49 Hình 4.11 Giao diện chức Xét tốt nghiệp .51 Hình 4.12 Cơ sở liệu hệ thống danh mục 51 Hình 4.13 Cơ sở liệu phân hệ quản lý hồ sơ giáo viên 52 Hình 4.14 Cơ sở liệu phân hệ quản lý học tập 53 Hình 4.15 Cơ sở liệu phân hệ quản lý đề thi 54 Hình 4.16 Cơ sở liệu phân hệ Quản lý kì thi 55 Hình 4.17 Quy trình kiểm thử bảo mật 73 Hình 4.18 Thiết kế Testplan 75 Hình 4.19 Thiết lập thơng số test 87 Hình 4.20 Thông số parameters .87 Hình 4.21 Thực thi test 87 Hình 4.22 Thiết lập thông số test 88 Hình 4.23 Thiết lập mục đích 89 Hình 4.24 Thực thi test 89 Hình 4.25 Thực test Brup Suite .92 Hình 4.26 Thực chọn chức cơng cụ 93 Hình 4.27 Quá trình diễn redirect 93 Hình 4.28 Finish testing 94 Hình 4.29 Thiết lập thông số 95 Hình 4.30 Kết cơng từ chối dịch vụ 95 Hình 4.31 Thống kê kết cơng từ chối dịch vụ DDos 100 DANH MỤC BẢNG BIỂU Bảng 4.1 Đặc tả chức Nhập sổ điểm .33 Bảng 4.2 Bảng đặc tả chức Nhập điểm danh 38 Bảng 4.3 Bảng đặc tả chức Nhập hạnh kiểm 41 Bảng 4.4 Bảng đặc tả chức Tổng kết điểm 45 Bảng 4.5 Bảng đặc tả chức Diện ưu tiên 47 Bảng 4.6 Bảng đặc tả chức Xét tốt nghiệp 50 Bảng 4.7 Bảng edu_dm_dien_chinh_sach 56 Bảng 4.8 Bảng edu_dm_dien_cs 56 Bảng 4.9 Bảng edu_dm_dien_uu_tien_tn .56 Bảng 4.10 Bảng edu_dm_dien_uu_dai 57 Bảng 4.11 Bảng edu_dien_uutien 57 Bảng 4.12 Bảng edu_dm_hạnh kiểm .57 Bảng 4.13 Bảng edu_dm_hoc_ky 58 Bảng 4.14 Bảng danh mục khối học 58 Bảng 4.15 Bảng edu_dm_loai_diem .58 Bảng 4.16 Bảng edu_dm_loai_hs 59 Bảng 4.17 Bảng du_dm_mon_day 59 Bảng 4.18 Bảng edu_dm_mon_hoc 60 Bảng 4.19 Bảng edu_dm_nam_hoc .61 Bảng 4.20 Bảng edu_dm_tot_nghiep 61 Bảng 4.21 Bảng edu_giao_vien .62 Bảng 4.22 Bảng edu_hoc_sinh 66 Bảng 4.23 Bảng edu_hoc_sinh_detail 68 Bảng 4.24 Danh sách testcase yêu cầu thiết kế quản lý học tập 76 Bảng 4.25 Danh sách testcase yêu cầu thiết kế xét tốt nghiệp 79 Bảng 4.26 Danh sách testcase mã nguồn chức nhập sổ điểm .80 Bảng 4.27 Danh sách testcase mã nguồn chức nhập điểm danh 81 Bảng 4.28 Danh sách testcase mã nguồn chức nhập hạnh kiểm 82 Bảng 4.29 Danh sách testcase mã nguồn chức tính tổng kết 82 Bảng 4.30 Danh sách testcase XSS .83 Bảng 4.31 Danh sách testcase Broken Authentication, Session Management 84 Bảng 4.32 Danh sách testcase SqlInjection 85 Bảng 4.33 Danh sách testcase Sensitive Data Exposure .90 Bảng 4.34 Danh sách testcase Insecure Direct Object References .91 Bảng 4.35 Danh sách testcase thiết lập trình duyệt .96 Bảng 4.36 Danh sách testcase tường lửa .96 Bảng 4.37 Bảng tổng hợp kết test yêu cầu thiết kế 97 Bảng 4.38 Bảng tổng hợp kết test mã nguồn 97 Bảng 4.39 Bảng tổng hợp kết test XSS - SQLi 98 Bảng 4.40 Bảng tổng hợp kết test Sensitive Data Exposure 98 Bảng 4.41 Bảng tổng hợp kết test Insecure Direct Object References 99 Chương 1 TỔNG QUAN 1.1 Giới thiệu đề Đề tài đồ án tốt nghiệp em dựa kiến thức lý thuyết kiểm thử bảo mật phần mềm, từ ứng dụng triển khai hệ thống trường học trực tuyến vnedu.vn thuộc Tập đồn bưu viễn thông Việt Nam – VNPT Kiểm thử phần mềm hoạt động giữ vai trò quan trọng để bảo đảm chất lượng phần mềm hoạt động mang tính sống cịn dự án sản xuất gia công phần mềm Kiểm thử phần mềm chiếm 30 – 40% quy trình phát triển phần mềm[1] Vì vậy, kiểm thử phần mềm trở thành qui trình bắt buộc dự án phát triển phần mềm giới Hiện nay, khâu kiểm thử phần mềm dần trọng dự án phát triển phần mềm công ty lớn hay vừa nhỏ Đặc biệt đối ví đơn vị uy tín lĩnh vực phần mềm đánh giá cao khâu kiểm thử, sản phẩm đưa chưa qua kiểm thử có văn xác nhận kèm khơng chấp nhận hay đánh giá cao Nếu phần mềm sau thi công đưa sử dụng mà xảy tình trạng như: hoạt động khơng u cầu thiết kế, xảy lỗi đến từ phía người dùng dẫn đến: thời gian, tiền bạc, ảnh hướng tới uy tín đơn vị thực qua thấy phần mềm cần phải kiểm thử trước đưa sử dụng, nhờ sản phẩm hoàn thiện nhất, tránh phát sinh chủ quan từ phía lập trình viên, ngồi giúp đơn vị thi cơng phần mềm tạo dựng uy tín chất lượng dịch vụ Câu hỏi đặt là: Kiểm thử phần mềm gì? Theo IEEE (Insttitute of Electrical and Electronic Engineers): Kiểm thử tiến trình vận hành hệ thống thành phần điều kiện xác định, quan sát ghi nhận xét kết đưa đánh giá hệ thống thành phần Theo Glen Myers: “Kiểm thử tiến trình thực thi chương trình với mục đích tìm lỗi (The art of software testing)” Kiểm thử phần mềm kiểm tra tiến hành để cung cấp cho bên liên quan thông tin chất lượng sản phẩm dịch vụ kiểm thử[2] Trên định nghĩa chung giúp phần nói rõ kiểm thử phần mềm Trọng tâm đề tài đưa hướng đến kiểm thử bảo mật website Vậy bảo mật gì? Bảo mật hạn chế khả lạm dụng tài nguyên tài sản Bảo mật trở nên đặc biệt phức tạp quản lý, vận hành hệ thống thơng tin có sử dụng cơng cụ tin học, nơi xảy tràn lan nhanh chóng việc lạm dụng tài nguyên lạm dụng tài sản An toàn hệ thống thông tin, website thực chất đảm bảo an ninh mức độ chấp nhận Nếu bảo mật chặt chẽ trở nên khó sử dụng khó hoạt động cách hiệu Nếu bảo mật đơn giản, hệ thống dễ bị cơng thâm nhập Vì vậy, trước đưa sản phẩm phần mềm vào sử dụng, nhà phát triển cần đặc biệt trọng đến khâu bảo mật Đơi nhà lập trình viên khơng thể kiểm soát hết lỗ hổng chủ quan từ nhiều phía, điều dẫn đến phận chuyên môn am hiểu bảo mật phần mềm có hiểu biết đủ để rà sốt lỗ hổng bảo mật phần mềm Bộ phận nằm kiểm thử phần mềm, cụ thể kiểm thử bảo mật Dựa quan trọng cần thiết trên, em lựa chọn đề tài đồ án tốt nghiệp là: Ứng dụng lý thuyết kiểm thử bảo mật vào hệ thống trường học trực tuyến vnedu.vn Đây hệ thống giáo dục trực tuyến trọng điểm quan trọng có sức ảnh hưởng lớn nhiều trường học từ mầm non đến trung học phổ thơng nước, vấn đề bảo mật đặt lên hàng đầu, lý em lựa chọn kiểm thử bảo mật hệ thống 1.2 Phạm vi đề tài Phạm vi đề tài thực tập trung vào nội dung sau: Tìm hiểu kiểm thử bảo mật website cách chi tiết mức độ cho phép Xây dựng quy trình kiểm thử bảo mật áp dụng vào kiểm thử hệ thống VnEdu.vn 106 4.3.2.6 Testcase Sensitive Data Exposure Bảng 4.33 Danh sách testcase Sensitive Data Exposure Mã testcase Mô tả testcase Check lưu offsite pass đăng SDE -VNE 001 nhập người dùng mã hóa kiểu md5 Ví dụ: huyenanh241 SDE – VNE 002 SDE – VNE 003 SDE – VNE 004 SDE – VNE 005 Kiểm tra sở liệu trường mật người dùng Kết dự kiến Bản lưu ghi nhận pass: 99faa3f5cce653a63da0f8c 496db6d31 Trường mật mã hóa Check lưu offsite token Token mã hóa Check lưu offsite code Code mã hóa Check userId UserId mã hóa 107 4.3.2.7 Testcase Insecure Direct Object References Bảng 4.34 Danh sách testcase Insecure Direct Object References Mô tả TestCase Login user Tấn công huyenanhnguyenthi với phân quyền nhóm quyền A02 thực thi quyền Thống kê báo cáo Login user huyenanhnguyenthi với nhóm quyền A02 thực thi quyền Ủy quyền nhập điểm cho user khác Kết dự kiến Hiện giao diện form nhập điểm thao tác thành công User ủy quyền nhập điểm cho user thuộc hệ thống để nhập điểm cho lớp/khối/ tất môn Tấn công Tấn công thông qua URL Dữ liệu trả lớp học URL sử thay đổi paramater không thay đổi dụng iLopId=383486580 paramater Tấn công thông qua URL Dữ liệu trả môn học thay đổi paramater không thay đổi iMonHocId=50 108 4.3.2.8 Test công Unvalidated Redirects and Forwards Thực test tool Burp Suite: Khởi động tool Burp Suite tắt tính Intercept Proxy Khởi động hệ thống VnEdu bật Intercept load lại hệ thống để bắt gói tin Hình 4.31 Thực test Brup Suite Trong Proxy tab, chọn Raw request, phần nội dung Raw request click chuột phải chọn “Send to Spider” 109 Hình 4.32 Thực chọn chức công cụ Chọn Target tab phần “Site map” tìm website chọn request muốn phân tích: “Send to Reqeater”, “Do an active scan” Mở Repeater tab, nhấn nút “Go” để xem redirect xảy (Theo dõi trường “location” header reponse trả về) Hình 4.33 Quá trình diễn redirect Vào tab “Params” request, thau đổi giá trị nhấn “Go” lẫn Nếu trường “location” header reponse thay đổi theo request 110 chứng tỏ Redirect “open” – lỗ hổng ngược lại Ở hệ thống VnEdu ta thấy khơng có lỗ hổng Kiểm thử chuyển hướng trang web: Vẫn Reqeater tab, chọn Raw request, thay đổi đường dẫn “redir” Url đến trang Click chuột phải nội dung “raw request” chọn “Copy URL” Tắt tính Intercept Proxy tab Mở tab trình duyệt, paste URL xem trình duyệt redirect đến trang web thay đổi Sau mở lại phẩn mềm Burp Suite vào “Scanner” tab, chọn Result xem phần mềm lỗi “Open Redirect” Hình 4.34 Finish testing 4.3.2.9 Test cơng từ chối dịch vụ Dos Thiết lập thông số test: 111 Hình 4.35 Thiết lập thơng số Thực test: chọn IMMA CHARGIN MAH LAZER để thực thi test, kết q trình test thơng báo bảng bên dưới: Hình 4.36 Kết cơng từ chối dịch vụ 112 4.3.2.10 Kiểm thử thiết lập trình duyệt Bảng 4.35 Danh sách testcase thiết lập trình duyệt Mã testcase TLTD – 001 TLTD – 002 TLTD - 003 TLTD – 004 Mô tả testcase Kết dự kiến Disable JavaScript Chức hệ thống không trình duyệt thực Bật JavaScript trình Chức thực duyệt yêu cầu thiết kế Disable cache trình Chức thực duyệt yêu cầu thiết kế Bật cache trình Chức thực duyệt yêu cầu thiết kế TLTD – 005 Bật Autocompletion TLTD – 006 Tắt Autocompletion Chức thực yêu cầu thiết kế Chức thực yêu cầu thiết kế 4.3.2.11 Testcase tường lửa Bảng 4.36 Danh sách testcase tường lửa Mã testcase Mô tả testcase Kết dự kiến 113 TL – 001 TL – 002 Bật tường lửa, thực Chức thực yêu chức hệ thống cầu, liệu bảo mật Tắt tường lửa, thực Chức thực yêu chức hệ thống cầu, liệu bảo mật 4.3.3 Báo cáo kết Test 4.3.3.1 Báo cáo test lần Kết Test yêu cầu thiết kế Bảng 4.37 Bảng tổng hợp kết test yêu cầu thiết kế Tổng 27 Pass 15 False 12 N/A Tested Huyền Anh Testcase thiết kế gồm trường hợp: Bình thường Bất thường Bình thường trường hợp developer xây dựng yêu cầu từ phía khách hàng bất thường trường hợp developer xây dựng không với yêu cầu Sau thực test kết Đánh giá hệ thống sau test: 114 Đánh giá case trạng thái False: Hiện case bất thường trạng thái False, lập trình viên thực theo yêu cầu thiết kế hệ thống Kết luận: Hệ thống đạt yêu cầu thiết kế đặt Kết test mã nguồn: Bảng 4.38 Bảng tổng hợp kết test mã nguồn Tổng 160 Pass 140 False 20 N/A Tested Huyền Anh Đối với thực test mã nguồn, số lượng trường hợp kiểm thử xây dựng 160 case, số lượng case bất thường 20 case case bình thường 140 case kết đạt tất case thực test, toàn case bình thường đạt kết mong đợi case bất thường False Từ có kết luận sau: Kết luận: Hệ thống xây dựng mã nguồn với thiết kế hệ thống 115 Kết test XSS - SQLinjection: Bảng 4.39 Bảng tổng hợp kết test XSS – SQL Injection Tổng 133 Pass 133 False N/A Tested Huyền Anh Đối với thực XSS SQLi, số lượng trường hợp kiểm thử xây dựng 133 case, sau thực kiểm thử trường hợp tồn case Pass Từ có kết luận sau: Kết luận: Hệ thống tính tới thời điểm không bị công XSS SQLi Kết test Sensitive Data Exposure Bảng 4.40 Bảng tổng hợp kết test Sensitive Data Exposure Tổng Pass False N/A 116 Tested Huyền Anh Đối với thực công Sensitive Data Exposure, số lượng trường hợp kiểm thử xây dựng 15 case, sau thực kiểm thử trường hợp tồn case Pass Từ có kết luận sau: Kết luận: Hệ thống tính tới thời điểm không bị công Sensitive Data Exposure Kết test Insecure Direct Object References Bảng 4.41 Bảng tổng hợp kết test Insecure Direct Object References Tổng Pass False N/A Tested Huyền Anh Đối với thực công Insecure Direct Object References, số lượng trường hợp kiểm thử xây dựng case, sau thực kiểm thử trường hợp tồn case Pass Từ có kết luận sau: Kết luận: Hệ thống tính tới thời điểm không bị công Insecure Direct Object References Kết test Unvalidated Redirects and Forwards Sử dụng tool Burp Suite, kết trả cho thấy hệ thống khơng có lỗ hổng, khơng có lỗi redirect Từ có kết luận sau: 117 Kết luận: Hệ thống tính tới thời điểm khơng bị cơng Unvalidated Redirects and Forwards Kết test công từ chối dịch vụ Dos Hình 4.37 Thống kê kết công từ chối dịch vụ DDos Đối với thực công từ chối dịch vụ DDos, số lượng Threads đưa 500 giao thức HTTP lúc 10 thiết bị, theo yêu cầu thiết kế hệ thống số lượng truy cập giới hạn từ 3000 ~ 1000 truy cập lúc, sau thực cơng số lượng truy cập bị từ chối ~ 3000 thiết bị Lý giải cho lý lựa chọn số 500 thiết bị cấu hình mơi trường test với 1000 threads thiết bị khơng đủ tải để test hệ thống Vì số em đưa số tương đối để đánh giá hệ thống thời điểm Kết luận: Hệ thống tính tới thời điểm đạt mức chấp nhận khoảng yêu cầu hệ thống đưa 118 Kết test thiết lập trình duyệt Đối với thực cơng thiết lập trình duyệt, số lượng trường hợp kiểm thử xây dựng case, sau thực kiểm thử trường hợp tồn case Pass Từ có kết luận sau: Kết luận: Hệ thống tính tới thời điểm khơng bị cơng thiết lập trình duyệt Kết test tường lửa Đối với thực công tường lửa, số lượng trường hợp kiểm thử xây dựng case, sau thực kiểm thử trường hợp tồn case Pass Từ có kết luận sau: Kết luận: Hệ thống tính tới thời điểm không bị công tường lửa 119 KẾT QUẢ ĐẠT ĐƯỢC Qua trình tìm hiểu nghiên cứu đạt số kết sau: Nắm lý thuyết kiểm thử bảo mật mức độ chi tiết Xây dựng thành cơng quy trình kiểm thử bảo mật Áp dụng xác quy trình kiểm thử bảo mật xây dựng vào hệ thống VnEdu.vn Kiểm thử hệ thống VnEdu.vn đảm bảo chất lượng hệ thống hoạt động xác bảo mật Hướng phát triển đề tài: Nghiên cứu bổ sung kiểm thử bảo mật tường lửa chi tiết Nghiên cứu bổ sung kiểm thử bảo mật thiết lập trình duyệt chi tiết 120 TÀI LIỆU THAM KHẢO [1] M E Angelo Fernandes, 2007 [Online] Available: http://www.ibm.com/developerworks/rational/library/jun07/peraire/ [2] E Testing and Cemkaner, "Florida Institute of Technology," in Quality Assurance Institute Worldwide Annual Software Testing Conference, Orlando, FL, Nov 2006 [3] https://www.owasp.org/index.php/Top_10_2013-Top_10 [4] http://www.acunetix.com/ [5] http://www.sqlpowerinjector.com/ [6] https://en.wikipedia.org/wiki/Low_Orbit_Ion_Cannon [7] https://sourceforge.net/projects/loic/ [8] https://portswigger.net/burp/ [9] https://www.securityninja.co.uk/hacking/burp-suite-tutorial-the-intrudertool/ ... .51 4.2 Quy trình kiểm thử bảo mật đề xuất áp dụng .71 4.2.1 Quy trình kiểm thử bảo mật đề xuất 71 4.2.2 Áp dụng quy trình vào kiểm thử hệ thống 74 4.3 Thực kiểm thử hệ thống ... kiểm thử bảo mật áp dụng vào kiểm thử hệ thống VnEdu. vn 4 Chương 2 LÝ THUYẾT ÁP DỤNG 2.1 Tổng quan bảo mật website 2.1.1 Sơ lược bảo mật thơng tin Bảo mật bảo vệ thứ có giá trị [2] Bảo mật hạn chế... cho hệ thống quy? ??n hạn định số người dùng giới hạn 2.1.3 Áp dụng mơ hình bảo mật vào hệ thống Hiện tại, dựa theo đặc điểm mức độ phổ biến mơ hình bảo mật, hệ thống vnEdu. vn triển khải bảo mật hệ