Dự Đoán Lỗ Hổng Phần Mềm Dựa Trên Kỹ Thuật Khai Phá Dữ Liệu

53 2.2K 3
Dự Đoán Lỗ Hổng Phần Mềm Dựa Trên Kỹ Thuật Khai Phá Dữ Liệu

Đ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 - Vũ Thị Vân DỰ ĐOÁN LỖ HỔNG PHẦN MỀM DỰA TRÊN KỸ THUẬT KHAI PHÁ DỮ LIỆU Chuyên ngành: Hệ thống thông tin Mã số: 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS BÙI THU LÂM HÀ NỘI - 2014 MỞ ĐẦU Xây dựng dự án phần mềm thành công mối quan tâm hàng đầu tổ chức, doanh nghiệp Trong đó, việc đảm bảo chất lượng phần mềm ưu tiên cao toàn trình phát triển vận hành phần mềm Hiện nay, phần mềm máy tính có nhiều lỗ hổng, dễ dàng cho công cố ý, tin tặc lại có vô số phương cách khai thác lỗi Xu hướng thực làm nhiều người lo ngại không người lạc quan vào khả chuyên gia an ninh việc phát thông báo lỗ hổng nhờ vào kỹ thuật Khi lỗ hổng phát hiện, phần mềm tự động tương ứng phân tích thông báo công khai sửa chữa xong Điều giúp nhà quản lý hệ thống máy tính dễ dàng nhận thấy tính dễ tổn thương hệ thống an toàn họ Tuy nhiên, người quản lý không cài đặt bổ sung phần mềm sửa chữa trước tin tặc biết cách khai thác, chúng bị sử dụng để nắm quyền kiểm soát máy tính phát tán virus Chính vậy, ngày phần mềm dự đoán lỗ hổng phần mềm phát triển mạnh mẽ, với nhiều phương pháp khác Có hai phương pháp để phát lỗi lỗ hổng phần mềm: - Phương pháp phân tích tĩnh: phương pháp phân tích trực tiếp mã nguồn dịch ngược mã nguồn mà không cần phải thực thi ứng dụng Đối tượng phương pháp đánh giá trực tiếp lấy thông tin đặc biệt từ mã nguồn phân tích tìm lỗ hổng mà kẻ công lợi dụng để thâm nhập vào hệ thống - Phương pháp phân tích động: phương pháp tự động phát lỗ hổng qua việc phân tích thực thi đoạn mã chương trình thực phân tích cách xử lý hay câu trả lời hệ thống đưa nhận định Trong hai phương pháp trên, phương pháp phân tích tĩnh phương pháp mang lại hiệu cao trình phát lỗ hổng phần mềm Do vậy, để tìm hiểu thêm vấn đề này, học viên chọn đề tài: “Dự đoán lỗ hổng phần mềm dự kỹ thuật khai phá liệu” Kết cấu luận văn gồm chương chính: Chương 1: Tổng quan dự đoán lỗ hổng phần mềm, chương giới thiệu khái niệm chung lỗ hổng, lỗ hổng phần mềm, cách thức phân loại lỗ hổng phần mềm phương pháp dự đoán lỗ hổng phần mềm phổ biến Chương 2: Sử dụng kỹ thuật khai phá liệu dự đoán lỗ hổng phần mềm, chương giới thiệu chung kỹ thuật khai phá liệu phương pháp áp dụng kỹ thuật khai phá liệu để dự đoán lỗ hổng phần mềm Chương 3: Thử nghiệm đánh giá kết quả, chương đưa mô hình cài đặt thực nghiệm cho ứng dụng dự đoán lỗ hổng phần mềm Hệ thống lấy liệu từ tập hợp tập tin mã nguồn mã nguồn mẫu Xây dựng mô hình dự đoán lỗ hổng phần mềm kỹ thuật khai phá liệu để đưa trích chọn đặc trưng, trình bày chi tiết kỹ thuật áp dụng để tạo mô hình dự đoán lỗ hổng phần mềm, đưa kết dự đoán để áp dụng cho hệ thống phần mềm MỤC LỤC Danh mục từ viết tắt STT Từ viết tắt AST Danh mục bảng Danh mục hình Nghĩa tiếng Việt Cây cú pháp trừu tượng Tiếng Anh Abstract syntax tree Chương – TỔNG QUAN VỀ DỰ ĐOÁN LỖ HỔNG PHẦN MỀM Chương trình bày tổng quan dự đoán lỗ hổng phần mềm phương pháp nhằm ngăn ngừa, dự đoán lỗ hổng phần mềm Luận văn giới thiệu khái niệm liên quan tới lỗ hổng nói chung, lỗ hổng phần mềm nói riêng Luận văn trình bày cách khái quát phương pháp ngăn ngừa, dự đoán lỗ hổng tập trung làm rõ phương pháp dự đoán lỗ hổng dùng cách phân tích tĩnh mã nguồn phần mềm Đó phương pháp sử dụng trình dự đoán lỗ hổng phần mềm luận văn 1.1 Khái niệm lỗ hổng phần mềm 1.1.1 Lỗ hổng Trong vấn đề bảo mật máy tính, lỗ hổng (hay điểm yếu) điểm cho phép kẻ công lợi dụng nhằm làm giảm an toàn thông tin hệ thống Một lỗ hổng xác định ba yếu tố chính: Một điểm nhạy cảm hệ thống hay lỗi, lỗ hổng mà kẻ công thường hay truy cập tới ba khả khai thác hệ thống kẻ công Để khai thác lỗ hổng, kẻ công phải có công cụ kỹ thuật để kết nối tới điểm yếu hệ thống Một nguy bảo mật coi lỗ hổng Hiện nay, giới có nhiều khái niệm lỗ hổng khác tổ chức, công ty đưa ra, kể đến số khái niệm sau:  ISO 27005 định nghĩa lỗ hổng như: Một điểm yếu tài sản nhóm tài sản bị khai thác nhiều mối đe dọa thứ có giá trị cho tổ chức, cho hoạt động sản xuất kinh doanh tổ chức, bao gồm nguồn thông tin hỗ trợ cho tổ chức  Theo IETF RFC 2828, lỗ hổng là: Một lỗ hổng (hay điểm yếu) thiết kế, phát triển, quản lý hệ thống mà khai thác nhằm vi phạm sách bảo bật hệ thống  Ủy ban hệ thống an ninh quốc gia Mỹ xác định khái niệm lỗ hổng là: Lỗ hổng hệ thống nội bộ, thủ tục an ninh, kiểm soát nội trình thực khai thác từ bên  Nhiều ấn phẩm NIST (National Institute of Standards and Technology – Viện tiêu chuẩn công nghệ) xác định lỗ hổng là: Một lỗ hổng (hay điểm yếu) thủ tục an ninh hệ thống, thiết kế, phát triển kiểm soát nội vấn đề thực (vô tình hay cố ý gây ra) tạo kết vi phạm sách an ninh, bảo mật hệ thống  ENISA định nghĩa lỗ hổng là: Sự tồn điểm yếu thiết kế lỗi dẫn tới kiện bất ngờ không mong muốn ảnh hưởng đến an toàn hệ thống máy tính, mạng, ứng dụng giao thức liên quan  ISACA định nghĩa lỗ hổng hệ thống quản lý rủi ro là: Là điểm yếu thiết kế, phát triển, vận hành điều hành nội Như vậy, đưa khái niệm lỗ hổng hệ thống phần mềm sau: “Các lỗ hổng hệ thống điểm yếu tạo ngưng trệ dịch vụ, thêm quyền người sử dụng cho phép truy nhập không hợp pháp vào hệ thống.”Các lỗ hổng nằm dịch vụ cung cấp sendmail, web, ftp Ngoài lỗ hổng tồn tại hệ điều hành Windows NT, Windows 95, UNIX; ứng dụng mà người sử dụng thương xuyên sử dụng Word processing, Các hệ databases 1.1.2 Phân loại lỗ hổng Lỗ hổng phân loại dựa theo lớp mà liên quan đến 1.1.2.1 Lỗ hổng phần cứng Trong lỗ hổng phần cứng bao gồm: - Độ nhạy với độ ẩm Độ nhạy với bụi Độ nhạy với bẩn Độ nhạy với thiết bị lưu trữ không bảo vệ 1.1.2.2 Lỗ hổng phần mềm Lỗ hổng phần mềm bao gồm: - Lỗ hổng phát sinh chưa kiểm thử đầy đủ Lỗ hổng phát sinh thiếu việc kiểm tra lỗi xuất trước 1.1.2.3 Lỗ hổng mạng Lỗ hổng mạng bao gồm: - Lỗ hổng kênh truyền không bảo vệ Lỗ hổng kiến trúc mạng không an toàn 1.1.2.4 Lỗ hổng người Lỗ hổng người bao gồm: - Lỗ hổng trình tuyển dụng thiếu chặt chẽ, chất lượng thấp Lỗ hổng trình đào tạo, nâng cao nhận thức mức trung bình 1.1.2.5 Lỗ hổng site Lỗ hổng site bao gồm: - Lỗ hổng site nhiều chủ đề Lỗ hổng khả mã nguồn không đáng tin cậy 1.1.2.6 Lỗ hổng tổ chức Lỗ hổng tổ chức bao gồm: - Lỗ hổng thiếu kiểm tra thường xuyên Lỗ hổng thiếu kế hoạch liên tục Lỗ hổng thiếu bảo mật 1.1.3 Nguyên nhân gây lỗ hổng Các nguyên nhân gây lỗ hổng bao gồm: - Sự phức tạp: hệ thống lớn, phức tạp làm tăng khả - xuất lỗ hổng điểm truy cập ý muốn Sự quen thuộc: Thói quen sử dụng chung, code biết, phần mềm, hệ điều hành phần cứng làm tăng khả cho kẻ công việc tìm kiếm hiểu biết công cụ - để khai thác lỗi Sự kết nối: Quá nhiều kết nối vật lý, nhiều quyền, cổng, giao thức dịch vụ thời gian dẫn đến việc tăng khả truy - cập đến lổ hổng Lỗi hệ thống quản lý mật khẩu: Máy tính người dung sử dung mật đơn giản (weak passwods) bị khám phá bị công mạnh mẽ (thông qua chương trình phân tích tốt hệ - thống tốt) Lỗi thiết kế tảng hệ điều hành: Thiết kế hệ điều hành thực sách tối ưu cục dành cho việc quản lý người dung/ - chương trình cụ thể Duyệt web: vài trang web chưa nhứng phần mềm độc hại (harmful Spyware) cài đặt tự động lên hệ thống máy - tính trình truy cập Sai sót phần mềm: người lập trình không quan tâm đến chỗ sai sót bị khác thác chương trình Chương trình chứa sai sót cho phép kẻ công lạm dụng để khai - thác chương trình Không kiểm tra đầu vào: chương trình giả định rang tất - nhập liệu đầu vào người dùng an toàn Không rút kinh nghiệm từ lỗi gặp phải trước đó: chẳng hạn lỗi phát giao thức IPv4 tìm thấy giao thức xây dụng IPv6 1.1.4 Khái niệm lỗ hổng phần mềm Từ quan điểm lỗ hổng, cách thức phân loại lỗ hổng trên, đưa khái niệm lỗ hổng phần mềm sau: “Lỗ hổng phần mềm đơn giản điểm yếu hệ thống cho phép kẻ công tận dụng để phát huy lợi thế.” Trong ngữ cảnh bảo mật phần mềm: lỗ hổng lỗi đặc trưng bị bỏ quên phần phần mềm cho phép 10 kẻ công gậy hại cho hệ thống thay đổi thông tin nhạy cảm, làm gián đoạn phá hủy hệ thống, chiếm quyền kiểm soát hệ thống máy tính chương trình Hình 1.1 Vai trò lỗ hổng bảo mật phần mềm 1.2 Các loại lỗ hổng phần mềm Trong phần này, học viên đưa cách phân loại lỗ hổng phần mềm theo hai tiêu chí: - Phân loại theo sai sót phần mềm Phân loại theo trình phát triển phần mềm 1.2.1 Phân loại theo sai sót phần mềm Các loại sai sót phổ biến phần mềm dẫn tới việc xuất lỗ hổng phần mềm bao gồm: 1.2.1.1 Vi phạm an toàn nhớ (memory safety) An toàn nhớ vấn đề đáng lo ngại trình phát triển phần mềm nhằm mục đích tránh lỗi phần mềm gây lỗ hổng bảo mật với RAM gây tràn đệm treo trỏ 39 Thuật toán: Xét mạng nơron lớp : input, hiden output Hàm kích hoạt nơron : logistic (sigmoid) g(x)= (1.1) Bước 1: Khởi tạo trọng số w ngẫu nhiên nhỏ Bước : Chọn lớp đầu vào x đính vào lớp đầu vào Bước : Truyền kích hoạt qua trọng số đến kich hoạt nơron đầu Bước 4: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất sử dụng GRADIENT hàm lỗi Bước 5: Tính đạo hàm riêng “δE” theo trọng số cho lớp ẩn sử dụng GRADIENT hàm lỗi Bước 6: Cập nhật tất trọng số theo Wi=W(i-1)-µ(δE/ δ Wi) Bước 7: quay lai “Bước 2” “Bước 6” cho tất mẫu Trong đó: GRADIENT hàm lỗi: Đối với nơron lớp đầu ra: y1 y2 w1 z=g(v) w2 yk wk v=b0 + g(x)= b0 Hàm lỗi: E ( z) = ( z − 1) 2 (1.2) 40 ( t giá trị thật mẫu huấn luyện) Đạo hàm riêng hàm lỗi theo trọng số b: ∂E ∂E ∂z ∂v = ∂b ∂z ∂v ∂b (1.3) Ta có: ∂E = (z − t) ∂z ∂z ∂g = = z (1 − z ) ∂v ∂v 1, i = ∂v = ∂b1  yi , i > Đặt: p= ∂E ∂z = ( z − t ) z ( z − 1) ∂z ∂v Ta được:  p i =0 ∂E = ∂bi  pyi i > (1.4) 41 Đối với nơron lớp ẩn: Lớp đầu x1 a1 x2 a2 a0 ad y=g(u) v=a0 + Đạo hàm riêng hàm lỗi theo trọng số: ∂E ∂E ∂y ∂u = ∂a ∂y ∂u ∂a Ta có: K ∂E ∂E ∂zi ∂vi =∑ ∂y i =1 ∂zi ∂vi ∂y ∂E ∂zi = ( zi − ti ) zi (1 − zi ) = pi ∂zi ∂vi ∂vi = bi ∂y ∂y = y (1 − y ) ∂u ∂u  1, j = = ∂a j c j , j > (1.5) 42 Đặt: ∂E ∂y  K  q= =  ∑ pi bi  y (1 − y ) ∂y ∂u  i =1  Ta được: ∂E  q i = = ∂a1 qxi i > (1.6) Sau tính đạo hàm riêng hàm lỗi theo trọng số, trọng số điều chỉnh cách trừ bớt lượng tích đạo hàm riêng tốc độ học: wi = wi − µ ∂E ∂wi (1.7) 2.2 Sử dụng kỹ thuật khai phá liệu phân tích mã nguồn phần mềm 2.2.1 Phát biểu toán Cho tập hợp mã nguồn dự án phần mềm phát triển ngôn ngữ lập trình Java Yêu cầu xây dựng chương trình dự đoán lỗ hổng file mã nguồn phần mềm sau phiên phát triển hoàn thiện Sử dụng công cụ mạng nơron đầu danh sách file mã nguồn đánh dấu có lỗ hổng không Giả thiết: phiên phần mềm phát triển hoàn thiện, chạy môi trường giả lập hoàn chỉnh Ý tưởng thực hiện:  Mỗi file mã nguồn coi văn Thực xử lý chuyển đổi file văn thành vectơ đặc trưng  Chuyển vectơ đặc trưng thành ma trận tuyến tính đưa vào mạng nơron 43  Đưa kết xác định file mã nguồn có lỗ hổng hay không 2.2.2 Các bước giải toán 2.2.2.1 Phân tích văn mã nguồn Quá trình phần tích văn mã nguồn để xây dựng tập hợp từ đại diện cho file mã nguồn phần mềm Quá trình dựa việc phân tách từ khóa file mã nguồn để đưa tập hợp từ đại diện Thuật toán:  Bước 1: Đọc tất file mã nguồn phần mềm Trong giới hạn phạm vi luận văn xử lý file mã nguồn có đuôi java  Bước 2: Đọc liệu dòng file mã nguồn o Lọc bỏ dòng comment file mã nguồn Là dòng bắt đầu chuỗi “//” “/*” “@” o Lọc bỏ dòng khai báo import file mã nguồn Là dòng bắt đầu chuỗi “package” “import” o Lọc bỏ chuỗi comment dòng Là chuỗi có bắt đầu “//” o Lọc bỏ giá trị chuỗi dòng Là chuỗi có bắt đầu ký tự “ kết thúc ký tự ” o Lọc bỏ giá trị số Là giá trị bắt đầu số (từ đến 9)  Bước 3: Với từ khóa lấy file mã nguồn, thực đếm số lần xuất từ khóa số file mã nguồn Ví dụ: 44 Hình 2.13 Danh sách file mã nguồn hệ thống phần mềm Hình 2.14 Nội dung đoạn mã nguồn Hình 2.15 Kết phân tích thành từ khóa 45 2.2.2.2 Đánh giá khả phát sinh lỗ hổng tập hợp mã nguồn mẫu Dựa công cụ phân tích mã nguồn tĩnh, thực phân tích mã nguồn mẫu để đưa kết quả: - Nếu file mã nguồn mẫu có phát sinh lỗi: Đặt giá trị cho file mã nguồn - mẫu Nếu file mã nguồn mẫu không phát sinh lỗi: Đặt giá trị cho file mã nguồn mẫu 2.2.2.3 Xây dựng mạng nơron Chọn mạng đa tầng Feedforward với lớp: 46 47 2.3 Kết luận chương Chương – THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ Trong chương 3, luận văn trình bày bước trình thực thi chương trình thử nghiệm liệu mẫu dựa báo tham khảo Đầu tiên mô tả bước thu thập, phân tích liệu mẫu dựa vào kỹ thuật tách từ từ mã nguồn mẫu với công cụ FindBugs để đưa tập liệu mẫu ban đầu Sau mô tả bước để đưa tập liệu mẫu vào huấn luyện mạng nơron Cuối cùng, luận văn trình bày kết dự đoán lỗ hổng dựa mạng nơron xây dựng 3.1 Thu thập, phân tích liệu 3.1.1 Thu thập liệu Phần mềm lựa chọn để thử nghiệm kết nghiên cứu phần mềm mã nguồn mở K-9 Mail Đây ứng dụng Email cho thiết bị di động chạy Android Ứng dụng phát triển từ năm 2008 Jesse Vincent phát triển qua 05 phiên với hàng trăm phiên nhỏ khác Trong giới hạn luận văn, học viên sử dụng 50 phiên nhỏ ứng dụng K-9 Mail gồm phiên từ 4.507 đến 5.107 phát triển từ tháng năm 2013 tới tháng năm 2015 Trong đó, 30 phiên (từ phiên xxx tới phiên yyy) sử dụng làm đầu vào cho liệu huấn luyện mạng nơron Và 20 phiên sau (từ phiên xxx tới phiên yyy) sử dụng làm đầu vào cho liệu kiểm tra 3.1.2 Phân tích văn mã nguồn 3.1.2.1 Công cụ phân tích văn mã nguồn Trong khuôn khổ luận văn, học viên xây dựng công cụ đơn giản để phân tích văn thành vecto đặc trưng: 48 Hình 3.16 Giao diện công cụ phân tích văn mã nguồn Các tính chính:  Chọn mã nguồn theo file thư mục mã nguồn: o Cho phép chọn file mã nguồn cụ thể để phân tích o Nếu chọn thư mục phân tích toàn file mã nguồn tròn thư mục  Thực phân tích: Phân tích mã nguồn đưa kết gồm danh sách từ khóa số lần xuất file mã nguồn  Lưu kết file Text: xuất kết phân tích file Text  Lưu kết file Excel: xuất kết phân tích file Excel với tiêu đề dòng từ khóa, tiêu đề cột tên file mã nguồn Dữ liệu cell số lượng từ khóa tương ứng file mã nguồn Đây vecto đặc trưng cho file mã nguồn Ví dụ: 49 Hình 3.17 Danh sách vecto đặc trưng 3.1.3 Đánh giá mức độ tổn thương cho file mã nguồn Trong sử dụng công cụ FindBugs để xác định lớp mã nguồn phiên có khả phát sinh lỗ hổng Phiên FindBugs sử dụng luận văn phiên 3.0.1 Hình 3.18 Giao diện công cụ FindBugs 3.1.4 Kết phân tích văn mã nguồn Sau sử dụng công cụ phân tích văn mã nguồn sử dụng công cụ FindBugs để xác định lỗi, học viên đưa liệu đầu vào cho mạng nơron sau: 50 Bảng 3.1 Kết phân tích mã nguồn K9 Mail theo phiên ST T 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Phiên Số lượng file mã Số lượng thuộc tính Tỉ lệ phát sinh lỗ nguồn hổng 51 40 41 42 43 44 45 46 47 48 49 50 3.2 Kết thực nghiệm 3.2.1 Giới thiệu công cụ thực nghiệm Để huấn luyện mạng nơron với liệu tạo sau bước phân tích văn mã nguồn phần mềm trên, luận văn sử dụng công cụ Matlab Trong có sử dụng số hàm mạng nơron có sẵn công cụ Neural Network Toolbox Việc sử dụng hàm có sẵn Matlab giúp học viên tiết kiệm nhiều thời gian đồng thời có kết tin cậy Sau số hàm mà luận văn sử dụng trình xây dựng huấn luyện mạng nơron  Hàm khởi tạo newff: Để khởi tạo mạng nơron, luận văn sử dụng hàm newff(P,T,[S1 S2 S(N-l)],{TF1 TF2 TFN},BTF) Các tham số hàm newff gồm: o Vectơ đầu vào P: Trong khuôn khổ luận văn, vectơ đầu vào P ma trận với kích thước A x B Trong A số lượng file mã nguồn phiên B số lượng từ khóa phiên o Vectơ mục tiêu T: Trong khuôn khổ luận văn, vectơ mục tiêu T vectơ có kích thước A x Trong A số lượng file mã nguồn phiên o S1 đến S(N-1) số lượng nơron lớp từ lớp thứ đến lớp N – 1, số lượng nơron lớp N định số chiều vectơ mục tiêu T o TF1 đến TFN hàm truyền lớp đến lớp N Hàm truyền ba hàm sau: Purelin, Tansig, logsin 52 o BTF hàm huấn luyện mạng  Hàm huấn luyện mạng train: Sau khởi tạo mạng nơron, công việc huấn luyện mạng, luận văn sử dụng hàm train(net,P,T), với tham số: o Net: biến điều khiển mạng nơron khởi tạo o P vectơ đầu vào o T vectơ mục tiêu  Hàm kiểm tra sim: Sau huấn luyện mạng xong, luận văn sử dụng hàm T=sim(net,P_test) để kiểm tra đầu mạng tương ứng với đầu vào Trong đó: o P_test vectơ đầu vào để kiểm tra o T vectơ đầu Sau số giao diện sử dụng công cụ Matlab để xây dựng, huấn luyện kiểm tra liệu với mạng nơron 3.2.2 Tổng hợp kết 3.3 Đánh giá kết thực dự đoán 3.4 Kết luận chương KẾT LUẬN TÀI LIỆU THAM KHẢO Các phần liệu: 53 DS Nhãn DS mã nguồn mẫu Công cụ gán nhãn

Ngày đăng: 14/09/2016, 12:01

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • MỤC LỤC

  • Danh mục từ viết tắt

  • Danh mục các bảng

  • Danh mục các hình

    • 1.1 Khái niệm lỗ hổng phần mềm

      • 1.1.1 Lỗ hổng

      • 1.1.2 Phân loại lỗ hổng

        • 1.1.2.1 Lỗ hổng phần cứng

        • 1.1.2.2 Lỗ hổng phần mềm

        • 1.1.2.3 Lỗ hổng mạng

        • 1.1.2.4 Lỗ hổng về con người

        • 1.1.2.5 Lỗ hổng về site

        • 1.1.2.6 Lỗ hổng về tổ chức

        • 1.1.3 Nguyên nhân gây ra lỗ hổng

        • 1.1.4 Khái niệm lỗ hổng phần mềm

        • 1.2 Các loại lỗ hổng phần mềm

          • 1.2.1 Phân loại theo các sai sót của phần mềm

            • 1.2.1.1 Vi phạm an toàn bộ nhớ (memory safety)

            • 1.2.1.2 Lỗi xác thực đầu vào (input validation)

            • 1.2.1.3 Điều kiện thực hiện (race condition)

            • 1.2.1.4 Lỗi phân quyền lẫn lộn (Privilege confusion)

            • 1.2.1.5 Lỗi chiếm quyền thực thi (Privilege escalation)

            • 1.2.1.6 Các lỗi trong giao diện người dùng (user interface failures)

            • 1.2.2 Phân loại theo quá trình phát triển phần mềm

              • 1.2.2.1 Lỗi thiết kế

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

  • Đang cập nhật ...

Tài liệu liên quan