1 Khái Niệm Lỗ Hổng Phần Mềm - Tài Liệu Text - 123doc

  1. Trang chủ >
  2. Công nghệ thông tin >
  3. Lập trình >
1 Khái niệm lỗ hổng phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (869.26 KB, 53 trang )

7 Ủy ban về các hệ thống an ninh quốc gia của Mỹ xác định kháiniệm lỗ hổng là:Lỗ hổng trong một hệ thống nội bộ, một thủ tục an ninh, các kiểm soát nộibộ hoặc trong quá trình thực hiện có thể khai thác từ bên ngoài. Nhiều ấn phẩm NIST (National Institute of Standards andTechnology – Viện tiêu chuẩn và công nghệ) xác định lỗ hổng là:Một lỗ hổng (hay điểm yếu) trong các thủ tục an ninh hệ thống, trong thiếtkế, phát triển hoặc kiểm soát nội bộ là các vấn đề có thể được thực hiện (vô tìnhhay cố ý gây ra) và tạo ra kết quả là vi phạm các chính sách an ninh, bảo mật củahệ thống. ENISA định nghĩa lỗ hổng là:Sự tồn tại của một điểm yếu hoặc thiết kế lỗi có thể dẫn tới một sự kiệnbất ngờ không mong muốn ảnh hưởng đến sự an toàn của hệ thống máy tính,mạng, ứng dụng hoặc các giao thức liên quan. ISACA định nghĩa lỗ hổng trong hệ thống quản lý rủi ro là:Là một điểm yếu trong thiết kế, phát triển, vận hành hoặc điều hành nộibộ.Như vậy, có thể đưa ra khái niệm lỗ hổng trong hệ thống phần mềm nhưsau: “Các lỗ hổng trên một hệ thống là các điểm yếu có thể tạo ra sự ngưng trệcủa dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy nhậpkhông hợp pháp vào hệ thống.”Các lỗ hổng cũng có thể nằm ngay trong các dịchvụ cung cấp như sendmail, web, ftp ... Ngoài ra các lỗ hổng còn tồn tại ngaychính tại hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc trongcác ứng dụng mà người sử dụng thương xuyên sử dụng như Word processing,Các hệ databases...1.1.2 Phân loại lỗ hổngLỗ hổng được phân loại dựa theo các lớp mà nó liên quan đến1.1.2.1 Lỗ hổng phần cứngTrong lỗ hổng phần cứng có thể bao gồm: 8-Độ 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 được bảo vệ1.1.2.2 Lỗ hổng phần mềmLỗ hổng phần mềm bao gồm:-Lỗ hổng phát sinh do chưa được kiểm thử đầy đủLỗ hổng phát sinh do thiếu việc kiểm tra các lỗi đã từng xuất hiệntrước đây1.1.2.3 Lỗ hổng mạngLỗ hổng mạng bao gồm:-Lỗ hổng do kênh truyền không được bảo vệLỗ hổng do kiến trúc mạng không an toàn1.1.2.4 Lỗ hổng về con ngườiLỗ hổng về con người bao gồm:-Lỗ hổng do quá trình tuyển dụng thiếu chặt chẽ, chất lượng thấpLỗ hổng do quá trình đào tạo, nâng cao nhận thức mức trung bình1.1.2.5 Lỗ hổng về siteLỗ hổng về site bao gồm:-Lỗ hổng do site quá nhiều chủ đềLỗ hổng do khả năng của mã nguồn không đáng tin cậy1.1.2.6 Lỗ hổng về tổ chứcLỗ hổng về tổ chức bao gồm:-Lỗ hổng do thiếu kiểm tra thường xuyênLỗ hổng do thiếu kế hoạch liên tụcLỗ hổng do thiếu bảo mật1.1.3 Nguyên nhân gây ra lỗ hổngCác nguyên nhân chính gây ra lỗ hổng bao gồm:-Sự phức tạp: hệ thống càng lớn, càng phức tạp thì càng làm tăng khả-năng xuất hiện lỗ hổng và những điểm truy cập ngoài ý muốn.Sự quen thuộc: Thói quen sử dụng chung, những code đã biết, cácphần mềm, hệ điều hành và cả phần cứng làm tăng khả năng cho 9những kẻ tấn công trong việc tìm kiếm những hiểu biết hoặc 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 vàcác dịch vụ trong cùng thời gian cũng dẫn đến việc tăng khả năng truy-cập đến các 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ậtkhẩu quá đơn giản (weak passwods) và có thể bị khám phá ra nếu bịtấn công mạnh mẽ (thông qua các chương trình phân tích tốt và các hệ-thống tốt).Lỗi thiết kế nền tảng hệ điều hành: Thiết kế hệ điều hành thực hiệncác chính sách tối ưu cục bộ hoặc dành cho việc quản lý người dung/-chương trình cụ thể.Duyệt web: một vài trang web có thể chưa nhứng những phần mềmđộc hại (harmful Spyware) có thể cài đặt tự động lên hệ thống máy-tính trong quá trình truy cập.Sai sót phần mềm: người lập trình không quan tâm đến những chỗ saisót có thể bị khác thác trong chương trình. Chương trình có thể chứanhững sai sót có thể cho phép những kẻ tấn 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 được giả định rang tất cả-những nhập liệu đầu vào của người dùng là an toàn.Không rút kinh nghiệm từ những lỗi đã gặp phải trước đó: chẳnghạn như những lỗi được phát hiện trong giao thức IPv4 cũng được tìmthấy trong giao thức mới được xây dụng IPv6.1.1.4 Khái niệm lỗ hổng phần mềmTừ các quan điểm về lỗ hổng, cách thức phân loại lỗ hổng như trên, chúngta có thể đưa ra khái niệm về lỗ hổng phần mềm như sau: “Lỗ hổng phần mềmđơn giản là điểm yếu trong hệ thống cho phép những kẻ tấn công có thể tận dụngđể phát huy lợi thế.”Trong ngữ cảnh của bảo mật phần mềm: các lỗ hổng là những lỗi đặctrưng hoặc bị bỏ quên trong một phần nào đó của phần mềm và cho phép những 10kẻ tấn công gậy hại cho hệ thống thay đổi những thông tin nhạy cảm, làm giánđoạn hoặc phá hủy hệ thống, hoặc chiếm quyền kiểm soát hệ thống máy tínhhoặc chương trình.Hình 1.1 Vai trò của lỗ hổng trong bảo mật phần mềm1.2 Các loại lỗ hổng phần mềmTrong phần này, học viên sẽ đưa ra các cách phân loại lỗ hổng phần mềmtheo hai tiêu chí:-Phân loại theo các sai sót của phần mềmPhân loại theo quá trình phát triển phần mềm.1.2.1 Phân loại theo các sai sót của phầnmềmCác loại sai sót phổ biến trong phần mềm dẫn tới việc xuất hiện các lỗhổng phần mềm bao gồm:1.2.1.1 Vi phạm an toàn bộ nhớ (memory safety)An toàn bộ nhớ là vấn đề đáng lo ngại trong quá trình phát triển phầnmềm nhằm mục đích tránh lỗi phần mềm gây ra lỗ hổng bảo mật với RAM nhưgây ra tràn bộ đệm hoặc treo con trỏ. 11Có một số loại lỗi bộ nhớ có thể xảy ra, tùy thuộc vào ngôn ngữ lập trìnhđược sử dụng: Lỗi tràn bộ đệm (buffer overflow): Việc ghi dữ liệu quá phạm vicho phép có thể làm hỏng nội dung của các đối tượng liền kề trongbộ nhớ. Đây là lỗi cổ điển nhất và ngày càng ít gặp bởi vì hầu hếtcác lập trình viên đều nhận thức được và tránh lỗi này. Lỗi bộ nhớ động (dynamic memory errors): quản lý không chínhxác bộ nhớ động và con trỏ động. Biến chưa được khởi tạo: Xảy ra khi một biến chưa được gán mộtgiá trị khởi tạo. Nó có thể chứa bên trong nó (trong một số ngônngữ lập trình) những giá trị lỗi. Lỗi tràn bộ nhớ: gồm các lỗi sau:o Stack overflow: Xảy ra khi chương trình chạy ra khỏi khônggian cho phép của ngăn xếp, thông thường vì đệ quy quásâu.o Allocation failures: Chương trình cố gắng sử dụng nhiều bộnhớ hơn số lượng có sẵn. Trong một số ngôn ngữ, tình trạngnày phải được kiểm tra bằng tay sau mỗi lần phân bổ.1.2.1.2 Lỗi xác thực đầu vào (input validation)Quá trình xác thực dữ liệu đầu vào là quá trình nhằm đảm bảo rằng mộtchương trình phần mềm hoạt động trên dữ liệu rõ ràng, chính xác và hữu ích. Nósử dụng một số thói quen hay còn gọi là các quy tắc để kiểm tra tính đúng đắn,tính ý nghĩa và bảo mật của dữ liệu được nhập vào hệ thống. Các quy tắc có thểđược thực hiện thông qua các cách thức kiểm tra tự động theo từ điển dữ liệuhoặc bởi các điều kiện logic của chương trình.1.2.1.3 Điều kiện thực hiện (race condition)Là hành vi của mổ hệ thống điện tử hoặc phần mềm mà đầu ra của nó phụthuộc vào trình tự hoặc thời gian của các sự kiện không kiểm soát được. Nó trởthành lỗi khi các sự kiện không xảy ra theo trình tự đã được lập trình. Thuật ngữnày bắt nguồn từ ý tưởng hai tín hiệu cùng chạy đua tới để tới đích trước

Xem Thêm

Tài liệu liên quan

  • Dự Đoán Lỗ Hổng Phần Mềm Dựa Trên Kỹ Thuật Khai Phá Dữ LiệuDự Đoán Lỗ Hổng Phần Mềm Dựa Trên Kỹ Thuật Khai Phá Dữ Liệu
    • 53
    • 2,163
    • 3
  • 21 nguyên tắc vàng của nghệ thuật lãnh đạo 21 nguyên tắc vàng của nghệ thuật lãnh đạo
    • 16
    • 752
    • 13
  • 23 câu hỏi và đáp án thi triết học 23 câu hỏi và đáp án thi triết học
    • 34
    • 0
    • 0
  • 50 câu hỏi và đáp án trắc nghiệm CÔNG CHỨC NGÀNH THUẾ 50 câu hỏi và đáp án trắc nghiệm CÔNG CHỨC NGÀNH THUẾ
    • 9
    • 0
    • 0
  • 52 câu trắc nghiệm thi đáp án vào ngân hàng 52 câu trắc nghiệm thi đáp án vào ngân hàng
    • 16
    • 0
    • 0
  • 60 câu hỏi và đáp án CHÍNH TRỊ học 60 câu hỏi và đáp án CHÍNH TRỊ học
    • 43
    • 0
    • 0
  • 163 câu TRẮC NGHIỆM môn tài CHÍNH TIỀN tệ (+ đáp án) 163 câu TRẮC NGHIỆM môn tài CHÍNH TIỀN tệ (+ đáp án)
    • 35
    • 0
    • 0
Tải bản đầy đủ (.docx) (53 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(849.61 KB) - Dự Đoán Lỗ Hổng Phần Mềm Dựa Trên Kỹ Thuật Khai Phá Dữ Liệu-53 (trang) Tải bản đầy đủ ngay ×

Từ khóa » Các Lỗ Hổng Phần Mềm Là Gì