Luận Văn Dự đoán lỗ hổng phần mềm dựa trên kỹ thuật khai phá dữ liệu

Thảo luận trong 'Viễn Thông' bắt đầu bởi Quy Ẩn Giang Hồ, 29/7/16.

  1. Quy Ẩn Giang Hồ

    Quy Ẩn Giang Hồ Administrator
    Thành viên BQT

    Bài viết:
    3,084
    Được thích:
    23
    Điểm thành tích:
    38
    Xu:
    0Xu
    MỞ ĐẦU
    Xây dựng các dự án phần mềm thành công luôn là mối quan tâm hàng đầu của các tổ chức, doanh nghiệp. Trong đó, việc đảm bảo chất lượng phần mềm là ưu tiên cao nhất trong toàn bộ quá trình phát triển cũng như vận hành của phần mềm.
    Hiện nay, phần mềm máy tính có rất nhiều lỗ hổng, dễ dàng cho các cuộc tấn công cố ý, trong khi các tin tặc lại có vô số các phương cách khai thác các lỗi này. Xu hướng này thực sự làm nhiều người lo ngại và cũng không ít người lạc quan vào khả năng của các chuyên gia an ninh trong việc phát hiện và thông báo các lỗ hổng nhờ vào những kỹ thuật mới. Khi một lỗ hổng được phát hiện, một phần mềm tự động tương ứng sẽ phân tích và chỉ thông báo công khai khi đã sửa chữa xong. Điều này giúp những 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 trong hệ thống an toàn của họ. Tuy nhiên, nếu người quản lý không cài đặt bổ sung phần mềm sửa chữa trước khi tin tặc biết cách khai thác, chúng có thể bị sử dụng để nắm quyền kiểm soát máy tính và phát tán virus.
    Chính vì vậy, ngày nay các phần mềm dự đoán lỗ hổng của một phần mềm đang phát triển mạnh mẽ, với nhiều phương pháp khác nhau. Có hai phương pháp chính để phát hiện lỗi và lỗ hổng phần mềm:
    - Phương pháp phân tích tĩnh: là phương pháp phân tích trực tiếp trên mã nguồn hoặc dịch ngược mã nguồn mà không cần phải thực thi ứng dụng. Đối tượng của phương pháp này được đánh giá hoặc trực tiếp lấy thông tin đặc biệt từ mã nguồn và phân tích tìm ra các lỗ hổng mà kẻ tấn công có thể lợi dụng để thâm nhập vào hệ thống.
    - Phương pháp phân tích động: là phương pháp tự động phát hiện các lỗ hổng qua việc phân tích thực thi của đoạn mã chương trình và thực hiện phân tích cách xử lý hay các câu trả lời của hệ thống và đưa ra một nhận định.
    Trong hai phương pháp trên, phương pháp phân tích tĩnh là một phương pháp mang lại hiệu quả cao trong quá trình phát hiện lỗ hổng của phần mềm. Do vậy, để tìm hiểu thêm về vấn đề này, học viên chọn đề tài: “Dự đoán lỗ hổng phần mềm dự trên kỹ thuật khai phá dữ liệu”
    Kết cấu của luận văn gồm 3 chương chính:
    Chương 1: Tổng quan về dự đoán lỗ hổng phần mềm, chương này giới thiệu các khái niệm chung về 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 và các phương pháp dự đoán lỗ hổng phần mềm phổ biến hiện nay.
    Chương 2: Sử dụng kỹ thuật khai phá dữ liệu trong dự đoán lỗ hổng phần mềm, chương này giới thiệu chung về kỹ thuật khai phá dữ liệu và phương pháp áp dụng kỹ thuật khai phá dữ liệu để dự đoán lỗ hổng phần mềm.
    Chương 3: Thử nghiệm và đánh giá kết quả, chương này sẽ đưa ra một 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 dữ liệu từ tập hợp các tập tin mã nguồn của bộ mã nguồn mẫu. Xây dựng mô hình dự đoán lỗ hổng phần mềm bằng kỹ thuật khai phá dữ liệu để đưa ra các trích chọn đặc trưng, trình bày chi tiết về kỹ thuật được áp dụng để tạo ra mô hình dự đoán lỗ hổng phần mềm, đưa ra các kết quả dự đoán đó để áp dụng cho một hệ thống phần mềm mới.

    MỤC LỤC
    LỜI CẢM ƠN i
    LỜI CAM ĐOAN ii
    MỤC LỤC iii
    Danh mục từ viết tắt v
    Danh mục các bảng v
    Danh mục các hình v
    MỞ ĐẦU 1
    1 Chương 1 – TỔNG QUAN VỀ DỰ ĐOÁN LỖ HỔNG PHẦN MỀM 3
    1.1 Khái niệm lỗ hổng phần mềm 3
    1.1.1 Lỗ hổng 3
    1.1.2 Phân loại lỗ hổng 4
    1.1.3 Nguyên nhân gây ra lỗ hổng 5
    1.1.4 Khái niệm lỗ hổng phần mềm 6
    1.2 Các loại lỗ hổng phần mềm 7
    1.2.1 Phân loại theo các sai sót của phần mềm 7
    1.2.2 Phân loại theo quá trình phát triển phần mềm 10
    1.3 Ngăn ngừa lỗ hổng phần mềm 11
    1.3.1 Phương pháp kiểm tra phần mềm 11
    1.3.2 Phương pháp xây dựng mô hình SAG (Security Activity Graph) 13
    1.4 Dự đoán lỗ hổng phần mềm 13
    1.4.1 Phương pháp dự đoán tĩnh 13
    1.4.2 Phương pháp dự đoán động 19
    1.5 Phần mềm quét lỗ hổng 19
    1.5.1 Giới thiệu chung 19
    1.5.2 Phần mềm quét lỗ hổng là gì 20
    1.5.3 Các nhược điểm 20
    1.5.4 Kiến trúc chung 21
    1.5.5 Các loại phần mềm quét lỗ hổng 22
    1.6 Kết luận chương 22
    2 Chương 2 – SỬ DỤNG KỸ THUẬT KHAI PHÁ DỮ LIỆU TRONG DỰ ĐOÁN LỖ HỔNG PHẦN MỀM 23
    2.1 Khái niệm về khai phá dữ liệu và các mô hình khai phá dữ liệu 23
    2.1.1 Khái niệm 23
    2.1.2 Các mô hình khai phá dữ liệu 25
    2.1.3 Mạng nơron trong khai phá dữ liệu 28
    2.2 Xây dựng các đặc trưng từ các văn bản mã nguồn phần mềm 39
    2.3 Sử dụng kỹ thuật khai phá dữ liệu phân tích mã nguồn phần mềm 39
    2.4 Kết luận chương 39
    3 Chương 3 – THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 40
    3.1 Thu thập, phân tích dữ liệu 40
    3.1.1 Thu thập dữ liệu 40
    3.1.2 Phân tích dữ liệu 40
    3.2 Thực thi chương trình 40
    3.2.1 Giới thiệu công cụ thực nghiệm 40
    3.2.2 Tổng hợp kết quả 40
    3.3 Đánh giá kết quả thực hiện dự đoán 40
    3.4 Kết luận chương 40
    KẾT LUẬN 40
    TÀI LIỆU THAM KHẢO 40
     
Đang tải...