Các lỗ hổng bảo mật là những điểm yếu trên hệ thống hoặc ẩn chứa trong một dịch vụ mà dựa vào đó kẻ tấn công có thể xâm nhập trái phép để thực hiện các hành động phá hoại hoặc chiếm đoạt tài nguyên bất hợp pháp. Nguyên nhân gây ra những lỗ hổng bảo mật là khác nhau: có thể do lỗi của bản thân hệ thống, hoặc phần mềm cung cấp, hoặc do ngƣời quản trị yếu kém không hiểu sâu sắc các dịch vụ cung cấp…. Mức độ ảnh hƣởng của các lỗ hổng là khác nhau. Có những lỗ hổng chỉ ảnh hƣớng tới chất lƣợng dịch vụ cung cấp, có những lỗ hổng ảnh hƣởng nghiêm trọng tới toàn bộ hệ thống…
Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệ thống đƣợc phân loại gồm lỗ hổng C, B, A nhƣ sau:
Lỗ hổng loại C: Các lỗ hổng loại này cho phép thực hiện các phƣơng pháp tấn công theo DoS (Denial of Services- Từ chối dịch vụ). Mức độ nguy hiểm thấp, chỉ ảnh hƣởng tới chất lƣợng dịch vụ, có thể làm ngƣng trệ, gián đoạn hệ thống, không làm phá hỏng dữ liệu hoặc đạt quyền truy nhập bất hợp pháp.
Các dịch vụ có lỗ hổng đƣợc khai thác để thực hiện các cuộc tấn công DoS có thể đƣợc nâng cấp hoặc sửa chữa bằng các phiên bản mới hơn của các nhà cung
cấp dịch vụ. Hiện nay, chƣa có một giải pháp toàn diện nào để khắc phục các lỗ hổng loại này vì bản thân việc thiết kế giao thức ở tầng Internet Protocol (IP) nói riêng và bộ giao thức TCP/IP đã chứa đựng những nguy cơ tiềm tàng của các lỗ hổng này.
Một lỗ hổng loại C khác cũng thƣờng thấy đó là các điểm yếu của dịch vụ cho phép hacker thực hiện tấn công làm ngƣng trệ hệ thống của ngƣời sử dụng cuối. Chủ yếu hình thức tấn công này là sử dụng dịch vụ Web.
Một lỗ hổng loại C khác cũng thƣờng gặp đối với các hệ thống mail là không xây dựng các cơ chế anti-relay (chống chuyển tiếp) cho phép thực hiện các hành động spam mail.
Lỗ hổng loại B: Lỗ hổng loại này cho phép ngƣời sử dụng có thể thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ nên có thể dẫn đến mất mất hoặc lộ thông tin yêu cầu bảo mật. Mức độ nguy hiểm trung bình. Những lỗ hổng này thƣờng có trong các ứng dụng trên hệ thống.
Lỗ hổng loại này có mức độ nguy hiểm hơn lỗ hổng loại C, cho phép ngƣời sử dụng nội bộ có thể chiếm đƣợc quyền cao hơn hoặc truy nhập không hợp pháp.
Một loạt các vấn đề về quyền sử dụng chƣơng trình trên UNIX cũng thƣờng gây nên các lỗ hổng loại B. Vì trên hệ thống UNIX một chƣơng trình có thể đƣợc thực thi với hai khả năng:
Ngƣời chủ sở hữu chƣơng trình đó kích hoạt chạy.
Ngƣời mang quyền của ngƣời sở hữu tệp tin đó kích hoạt chạy.
Một dạng khác của lỗ hổng loại B xảy ra đối với các chƣơng trình có mã nguồn viết bằng C. Những chƣơng trình viết bằng C thƣờng sử dụng một vùng đệm. Những ngƣời lập trình thƣờng sử dụng vùng đệm trong bộ nhớ trƣớc khi gán một khoảng không gian bộ nhớ cho từng khối dữ liệu, hacker lợi dụng điểm yếu này tấn
Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phần mềm sử dụng, ngƣời quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng sẽ có thể bỏ qua những điểm yếu này.
Đối với những hệ thống cũ, thƣờng xuyên phải kiểm tra các thông báo của các nhóm tin về bảo mật trên mạng để phát hiện những lỗ hổng loại này. Một loạt các chƣơng trình phiên bản cũ thƣờng đƣợc sử dụng có những lỗ hổng loại A nhƣ: FTP, Gopher, Telnet, Sendmail, ARP, finger…