Đánh giá lỗ hổng bảo mật đóng một vai trò quan trọng trong việc cung cấp bảo mật cho bất kỳ tài nguyên và cơ sở hạ tầng nào của tổ chức khỏi các mối đe dọa bên trong và bên ngoài. Module 5 – Vunerability Analysis cung cấp tổng quan về khá niệm lỗ hổng, đánh giá lỗ hổng, hệ thống chấm điểm lỗ hổng, cơ sở dữ liệu lỗ hổng và vòng đời đánh giá lỗ hổng.
Lỗ hổng bảo mật là gì?
Lỗ hổng bảo mật đề cập đến điểm yếu trong thiết kế hoặc triển khai hệ thống có thể bị khai thác hoặc xâm phạm gây ảnh hưởng tính bảo mật của hệ thống. Đây thường là lỗ hổng bảo mật cho phép attacker xâm nhập vào hệ thống bằng cách bỏ qua xác thực người dùng. Nhìn chung, có hai nguyên nhân chính khiến các hệ thống dễ bị dính lỗ hổng trong mạng đó là cấu hình sai phần mềm/phần cứng và kỹ năng lập trình chưa tốt. Attacker khai thác các lỗ hổng này để thực hiện nhiều kiểu tấn công vào tài nguyên của tổ chức.
- Cấu hình sai phần cứng hoặc phần mềm: Cấu hình sai hoặc sử dụng giao thức không mã hóa có thể dẫn đến xâm nhập mạng, rò rỉ thông tin nhạy cảm. Nếu cấu hình sai phần cứng thì attacker có quyền truy cập vào mạng hoặc hệ thống, nhưng nếu cấu hình sai phần mềm thì chúng có thể có được quyền truy cập vào ứng dụng và dữ liệu.
- Thiết kế mạng và ứng dụng không an toàn: Nếu tường lửa, IDS và công nghệ mạng riêng ảo (VPN) không được triển khai an toàn, chúng có thể khiến mạng gặp nhiều mối đe dọa.
- Điểm yếu công nghệ: Một số phần cứng, ứng dụng hoặc trình duyệt web có xu hướng dễ bị tấn công như tấn công DoS hoặc tấn công trung gian. Nếu hệ thống không được cập nhật, một cuộc tấn công nhỏ của Trojan có thể buộc người dùng phải quét và dọn dẹp toàn bộ bộ nhớ trong máy tính gây nên mất dữ liệu.
- Sự bất cẩn của người dùng cuối: Sự bất cẩn của người dùng cuối ảnh hưởng đáng kể đến an ninh mạng. Hành vi của con người khá nhạy cảm với nhiều kiểu tấn công khác nhau và có thể bị khai thác để gây ra hậu quả nghiêm trọng như mất dữ liệu và rò rỉ thông tin.
- Hành động cố ý của người dùng cuối: Những nhân viên cũ tiếp tục có quyền truy cập vào bộ nhớ dùng chung có thể lạm dụng chúng bằng cách lấy cắp thông tin nhạy cảm của công ty. Hành động như vậy được gọi là hành động cố ý của người dùng cuối và có thể dẫn đến tổn thất tài chính và tổn thất về thương hiệu cho công ty.
Một số ví dụ về nguyên nhân gây ra lỗ hổng:
Lỗ hổng | Mô tả |
---|---|
Lỗ hổng giao thức TCP/IP | HTTP, FTP, ICMP, SNMP, SMTP là những giao thức không an toàn |
Lỗ hổng hệ điều hành | Một hệ điều hành có thể dính lỗ hổng nếu không được cập nhật bản vá mới nhất kịp thời |
Lỗ hổng thiết bị mạng | Thiếu chính sách bảo vệ mật khẩu; Xác thực yếu; Giao thức định tuyến không an toàn; Lỗ hổng trên tường lửa |
Lỗ hổng từ tài khoản người dùng | Truyền thông tin tài khoản, mật khẩu qua mạng không an toàn |
Lỗ hổng từ tài khoản hệ thống | Mật khẩu kém |
Cấu hình sai dịch vụ | Việc định cấu hình sai các dịch vụ internet có thể gây ra rủi ro bảo mật nghiêm trọng. Ví dụ như bật JavaScript và cấu hình sai các IIS, Apache, FTP và Terminal, … |
Mật khẩu mặc định | Không thay đổi mật khẩu mặc định từ hãng |
Cấu hình sai thiết bị mạng | Thiết bị mạng được đặt không đúng vị trí hoặc cấu hình sai |
Nghiên cứu về lỗ hổng bảo mật
Tổng quan
Nghiên cứu lỗ hổng là quá trình phân tích các giao thức, dịch vụ và cấu hình để khám phá các lỗ hổng và lỗi thiết kế sẽ khiến hệ điều hành và các ứng dụng của nó bị khai thác, tấn công hoặc lạm dụng.
Người quản trị nghiên cứu lỗ hổng bảo mật nhằm:
- Thu thập thông tin về xu hướng bảo mật, các mối đe dọa mới được phát hiện, bề mặt tấn công, vectơ và kỹ thuật tấn công
- Tìm điểm yếu trong hệ điều hành và ứng dụng và cảnh báo cho người quản trị mạng trước một cuộc tấn công mạng
- Hiểu thông tin giúp ngăn ngừa các vấn đề bảo mật
- Biết cách phục hồi sau một cuộc tấn công mạng
Một ethical hacker cần theo kịp các lỗ hổng và cách khai thác được phát hiện gần nhất để luôn đi trước attacker một bước thông qua nghiên cứu lỗ hổng, bao gồm:
- Phát hiện các lỗi và điểm yếu trong thiết kế hệ thống có thể cho phép hacker xâm phạm hệ thống
- Luôn cập nhật về các sản phẩm và công nghệ mới và đọc tin tức liên quan đến khai thác hiện tại
- Kiểm tra các trang web hack ngầm (Deep and Dark websites) để tìm các lỗ hổng và cách khai thác mới được phát hiện
- Kiểm tra các cảnh báo mới được phát hành về các đổi mới và cải tiến sản phẩm có liên quan cho các hệ thống an ninh
Các chuyên gia bảo mật và scanners loại các lỗ hổng theo:
- Severity level (low, medium, or high)
- Exploit range (local or remote)
Các nguồn nghiên cứu lỗ hổng bảo mật
Microsoft Security Response Center (MSRC)
The Microsoft Security Response Center (MSRC) – Trung tâm Ứng phó Bảo mật của Microsoft (MSRC) điều tra tất cả các báo cáo về lỗ hổng bảo mật ảnh hưởng đến các sản phẩm và dịch vụ của Microsoft, đồng thời cung cấp thông tin như một phần trong nỗ lực không ngừng nhằm giúp các chuyên gia bảo mật quản lý rủi ro bảo mật và bảo vệ hệ thống của tổ chức.
Đánh giá lỗ hổng bảo mật
Đánh giá lỗ hổng bảo mật là gì?
Đánh giá lỗ hổng bảo mật là một cuộc kiểm tra chuyên sâu về một hệ thống hoặc ứng dụng, bao gồm các quy trình kiểm soát và quy trình bảo mật hiện tại, để chống lại việc khai thác. Đánh giá bằng cách dò quét các mạng để tìm các điểm yếu bảo mật, đồng thời nhận dạng, đo lường và phân loại các lỗ hổng bảo mật trong hệ thống máy tính, mạng và các kênh liên lạc. Nó xác định, định lượng và xếp hạng các lỗ hổng có thể có đối với các mối đe dọa trong hệ thống.
Một cuộc đánh giá lỗ hổng có thể được sử dụng để:
- Xác định những điểm yếu có thể bị khai thác
- Dự đoán hiệu quả của các biện pháp an ninh trong việc bảo vệ tài nguyên thông tin khỏi bị tấn công
Phần mềm quét lỗ hổng bảo mật sẽ quét máy tính dựa trên chỉ số Common Vulnerability and Exposures (CVE) và các thông tin bảo mật do nhà cung cấp phần mềm cung cấp. Công cụ quét lỗ hổng có khả năng xác định các thông tin sau:
- Phiên bản hệ điều hành chạy trên máy tính hoặc thiết bị
- Các port IP và TCP/UDP đang lắng nghe
- Ứng dụng cài đặt trên máy tính
- Tài khoản có mật khẩu yếu
- File và folder được cấu hình quyền truy cập yếu
- Các dịch vụ và ứng dụng mặc định có thể phải gỡ cài đặt
- Lỗi trong cấu hình bảo mật của các ứng dụng phổ biến
- Máy tính có lỗ hổng đã biết hoặc được báo cáo công khai
- Thông tin phần mềm EOL/EOS
- Thiếu bản vá lỗi và hotfix
- Cấu hình mạng yếu và các port bị cấu hình sai hoặc port có rủi ro
Có hai cách tiếp cận để quét lỗ hổng mạng:
- Active Scanning: Attacker tương tác trực tiếp với mục tiêu để tìm lỗ hổng.
- Passive Scanning: Attacker cố gắng tìm lỗ hổng mà không tương tác trực tiếp với mạng mục tiêu. Có thể là qua thông tin do hệ thống tiết lộ trong quá trình liên lạc thông thường.
Attacker có thể quét các lỗ hổng bằng các công cụ như Nessus Professional, Qualys, GFI LanGuard và OpenVAS.
Hạn chế của đánh giá lỗ hổng
- Phần mềm quét lỗ hổng bị hạn chế về khả năng phát hiện lỗ hổng tại một thời điểm nhất định và nó phải được cập nhật khi phát hiện lỗ hổng mới hoặc khi cải tiến phần mềm đang được sử dụng.
- Phần mềm chỉ có hiệu quả khi nhà cung cấp phần mềm và quản trị viên sử dụng phần mềm bảo trì phần mềm đó.
- Đánh giá lỗ hổng không đo lường sức mạnh của kiểm soát an ninh.
- Phần mềm quét lỗ hổng không tránh khỏi các lỗi kỹ thuật phần mềm có thể dẫn đến việc bỏ sót các lỗ hổng nghiêm trọng cũng như không thể xác định tác động của lỗ hổng đã xác định đối với các hoạt động kinh doanh khác nhau.
- Cần có phán đoán của con người để phân tích dữ liệu sau khi quét và xác định dương tính giả và âm tính giả.
- Báo cáo đánh giá lỗ hổng không phải lúc nào cũng dễ hiểu và dễ đánh giá các yếu tố rủi ro và phản ứng xử lý.
- Các công cụ quét lỗ hổng có trọng tâm hẹp và không bao gồm các hướng tấn công.
- Phần mềm quét lỗ hổng bị hạn chế về khả năng thực hiện kiểm tra trực tiếp trên các ứng dụng web để phát hiện lỗi hoặc hành vi không mong muốn.
Cơ sở dữ liệu và hệ thống chấm điểm lỗ hổng
Do mức độ nghiêm trọng ngày càng tăng của các cuộc tấn công mạng, việc nghiên cứu lỗ hổng đã trở nên quan trọng vì nó giúp giảm thiểu nguy cơ bị tấn công. Nghiên cứu lỗ hổng cung cấp nhận thức về các kỹ thuật nâng cao để xác định các sai sót hoặc sơ hở trong phần mềm mà attacker có thể khai thác. Các hệ thống chấm điểm lỗ hổng và cơ sở dữ liệu lỗ hổng được các nhà phân tích bảo mật sử dụng để xếp hạng các lỗ hổng hệ thống thông tin và cung cấp điểm tổng hợp về mức độ nghiêm trọng và rủi ro tổng thể liên quan đến các lỗ hổng đã xác định.
Common Vulnerability Scoring System (CVSS)
CVSS là một tiêu chuẩn cung cấp một khuôn khổ để truyền đạt các đặc điểm và tác động của các lỗ hổng CNTT. Mô hình định lượng của hệ thống đảm bảo phép đo lặp lại và chính xác đồng thời cho phép người dùng xem các đặc điểm của lỗ hổng. Do đó, CVSS rất phù hợp làm hệ thống đo lường tiêu chuẩn cho các ngành, tổ chức và chính phủ cần điểm số tác động của lỗ hổng chính xác và nhất quán. Hai cách sử dụng phổ biến của CVSS là ưu tiên các hoạt động khắc phục lỗ hổng và tính toán mức độ nghiêm trọng của các lỗ hổng được phát hiện trong hệ thống. Cơ sở dữ liệu về lỗ hổng quốc gia – National Vulnerability Database (NVD) cung cấp điểm số CVSS cho hầu hết các lỗ hổng đã biết.
CVSS giúp nắm bắt các đặc điểm chính của lỗ hổng và tạo ra điểm số để phản ánh mức độ nghiêm trọng của nó. Điểm số này sau đó có thể được dịch thành một đại diện định tính (chẳng hạn như thấp, trung bình, cao hoặc quan trọng) để giúp các tổ chức đánh giá đúng và ưu tiên các quy trình quản lý lỗ hổng của họ.
CVSS bao gồm ba chỉ số sau đây để đo lường các lỗ hổng:
- Base Metric: Nó đại diện cho các đặc điểm vốn có của một lỗ hổng.
- Temporal Metric: Nó đại diện cho các tính năng tiếp tục thay đổi trong suốt thời gian tồn tại của lỗ hổng.
- Environmental Metric: Thể hiện các lỗ hổng dựa trên một môi trường hoặc triển khai cụ thể.
Metric nằm trong khoảng từ 1 đến 10, với 10 là nghiêm trọng nhất. Điểm CVSS được tính toán và tạo bởi một chuỗi vectơ biểu thị điểm số cho mỗi nhóm ở dạng một khối văn bản.
Common Vulnerabilities and Exposures (CVE)
CVE là một từ điển công khai và miễn phí sử dụng gồm các số nhận dạng được tiêu chuẩn hóa cho các lỗ hổng và mức độ phơi nhiễm phổ biến. Việc sử dụng CVE được chỉ định bởi CVE Numbering Authorities (CNAs) từ khắp nơi trên thế giới, đảm bảo sự tin tưởng giữa các bên khi thảo luận hoặc chia sẻ thông tin về một lỗ hổng phần mềm hoặc lỗ hổng firmware duy nhất. CVE cung cấp cơ sở để đánh giá công cụ và cho phép trao đổi dữ liệu để tự động hóa an ninh mạng. Nói tóm lại, các sản phẩm và dịch vụ tương thích với CVE cung cấp phạm vi phủ sóng tốt hơn, khả năng tương tác dễ dàng hơn và bảo mật nâng cao.
Nói chung, CVE là:
- Một định danh cho một lỗ hổng hoặc mức độ phơi nhiễm, mô tả được tiêu chuẩn hóa cho từng lỗ hổng hoặc mức độ phơi nhiễm
- Là một từ điển hơn là một cơ sở dữ liệu
- Một phương pháp để các cơ sở dữ liệu và công cụ khác nhau “nói” cùng một ngôn ngữ và là cơ sở để đánh giá giữa các dịch vụ, công cụ và cơ sở dữ liệu
- Cách để có khả năng tương tác và phạm vi bảo mật tốt hơn
- Được ngành công nhận thông qua CVE Numbering Authorities
National Vulnerability Database (NVD).
NVD là kho lưu trữ dữ liệu quản lý lỗ hổng dựa trên tiêu chuẩn của chính phủ Hoa Kỳ. Nó sử dụng giao thức Security Content Automation Protocol (SCAP). Dữ liệu như vậy cho phép tự động hóa quản lý lỗ hổng, đo lường bảo mật và tuân thủ. NVD bao gồm cơ sở dữ liệu về tham chiếu danh sách kiểm tra bảo mật, lỗi phần mềm liên quan đến bảo mật, cấu hình sai, tên sản phẩm và số liệu tác động.
Common Weakness Enumeration (CWE)
CWE là một hệ thống phân loại cho các lỗ hổng và điểm yếu của phần mềm. Nó được tài trợ bởi Cơ quan An ninh mạng Quốc gia FFRDC, thuộc sở hữu của Tập đoàn MITRE, với sự hỗ trợ của US-CERT và National Cyber Security Division của Bộ An ninh Nội địa Hoa Kỳ. Phiên bản 3.2 mới nhất của tiêu chuẩn CWE đã được phát hành vào tháng 1 năm 2019. Tiêu chuẩn này có hơn 600 loại điểm yếu, giúp CWE được cộng đồng sử dụng hiệu quả.
Vòng đời quản lý lỗ hổng
Vòng đời quản lý lỗ hổng bảo mật là một quy trình quan trọng giúp xác định và khắc phục các điểm yếu bảo mật trước khi chúng có thể bị khai thác. Việc triển khai vòng đời quản lý lỗ hổng giúp đạt được viễn cảnh chiến lược liên quan đến các mối đe dọa an ninh mạng có thể xảy ra và làm cho môi trường máy tính trở nên linh hoạt hơn trước các cuộc tấn công.
Các tổ chức nên duy trì một chương trình quản lý lỗ hổng phù hợp để đảm bảo an toàn thông tin tổng thể. Quản lý lỗ hổng cung cấp kết quả tốt nhất khi nó được thực hiện theo trình tự các giai đoạn:
Giai đoạn tiền đánh giá
Giai đoạn tiền đánh giá là giai đoạn chuẩn bị, bao gồm việc xác định các chính sách và tiêu chuẩn, làm rõ phạm vi đánh giá, thiết kế các quy trình bảo vệ thông tin phù hợp, xác định và ưu tiên các tài sản quan trọng để tạo cơ sở tốt cho việc quản lý lỗ hổng và xác định rủi ro dựa trên về tầm quan trọng và giá trị của mỗi hệ thống. Giai đoạn này liên quan đến việc thu thập thông tin về các hệ thống đã xác định để hiểu các port, phần mềm, drivers và cấu hình của từng hệ thống đã được phê duyệt nhằm phát triển và duy trì baseline của hệ thống.
Các bước liên quan đến việc tạo baseline:
- Xác định và hiểu quy trình kinh doanh
- Xác định các ứng dụng, dữ liệu và dịch vụ hỗ trợ quy trình kinh doanh và thực hiện review code
- Xác định phần mềm, driver và cấu hình của từng hệ thống
- Tạo bản kiểm kê tất cả các tài sản và ưu tiên hoặc xếp hạng các tài sản quan trọng
- Hiểu kiến trúc mạng và lập sơ đồ hạ tầng mạng
- Xác định các biện pháp kiểm soát đã có
- Hiểu rõ việc triển khai chính sách và thực hành tuân thủ tiêu chuẩn theo quy trình kinh doanh
- Xác định phạm vi đánh giá
- Tạo các quy trình bảo vệ thông tin để hỗ trợ lập kế hoạch, lên lịch trình, điều phối và hậu cần hiệu quả
Phân loại tài sản giúp xác định rủi ro kinh doanh cao trong một tổ chức. Ưu tiên các tài sản được xếp hạng dựa trên tác động của sự cố và độ tin cậy của chúng trong doanh nghiệp. Độ ưu tiên giúp:
- Đánh giá và quyết định giải pháp khắc phục hậu quả tài sản bị hỏng
- Kiểm tra mức độ chấp nhận rủi ro
- Tổ chức các phương pháp ưu tiên tài sản
Giai đoạn đánh giá
Giai đoạn này rất quan trọng trong quản lý lỗ hổng. Giai đoạn đánh giá lỗ hổng đề cập đến việc xác định các lỗ hổng trong cơ sở hạ tầng của tổ chức, bao gồm hệ điều hành, ứng dụng web kể cả web server. Nó giúp phân loại mức độ nghiêm trọng của lỗ hổng trong một tổ chức và giảm thiểu mức độ rủi ro. Mục tiêu cuối cùng của quét lỗ hổng là quét, kiểm tra, đánh giá và báo cáo các lỗ hổng trong hệ thống thông tin của tổ chức. Việc quét lỗ hổng cũng có thể được thực hiện trên các mẫu tuân thủ hiện hành để đánh giá các điểm yếu so với các nguyên tắc tuân thủ tương ứng.
Gồm các bước:
- Kiểm tra, đánh giá an ninh vật chất
- Kiểm tra cấu hình sai và lỗi của con người
- Chạy quét lỗ hổng bằng công cụ
- Chọn kiểu quét dựa trên tổ chức hoặc yêu cầu tuân thủ
- Xác định và ưu tiên các lỗ hổng
- Xác định dương tính giả và âm tính giả
- Áp dụng bối cảnh kinh doanh và công nghệ vào kết quả dò quét
- Thực hiện thu thập thông tin OSINT để xác thực các lỗ hổng
- Tạo báo cáo quét lỗ hổng
Giai đoạn hậu đánh giá
Giai đoạn hậu đánh giá, còn được gọi là giai đoạn khuyến nghị, được thực hiện sau và dựa trên đánh giá rủi ro. Đặc điểm rủi ro được phân loại theo các tiêu chí chính, giúp ưu tiên danh sách các khuyến nghị. Các nhiệm vụ được thực hiện trong giai đoạn hậu đánh giá bao gồm:
- Tạo danh sách ưu tiên cho các khuyến nghị đánh giá dựa trên phân tích tác động
- Xây dựng kế hoạch hành động để thực hiện biện pháp khắc phục được đề xuất
- Rút ra bài học kinh nghiệm để cải tiến quy trình hoàn chỉnh trong tương lai
- Tiến hành đào tạo cho nhân viên
Hậu đánh giá bao gồm đánh giá rủi ro, khắc phục, xác minh và giám sát.
Đánh giá rủi ro (Risk assesment)
Trong giai đoạn này, tất cả các điểm không chắc chắn liên quan đến hệ thống đều được đánh giá và ưu tiên, đồng thời việc khắc phục được lên kế hoạch để loại bỏ vĩnh viễn các lỗi hệ thống. Đánh giá rủi ro tóm tắt mức độ của lỗ hổng và rủi ro được xác định cho từng tài sản được chọn. Nó xác định xem mức độ rủi ro đối với một tài sản cụ thể là cao, trung bình hay thấp. Các lỗ hổng được xếp hạng rủi ro cao được nhắm mục tiêu trước tiên để giảm cơ hội khai thác có thể ảnh hưởng xấu đến tổ chức.
- Thực hiện phân loại rủi ro dựa trên xếp hạng rủi ro (ví dụ: nghiêm trọng, cao, trung bình và thấp)
- Đánh giá mức độ tác động
- Xác định mối đe dọa và mức độ rủi ro
Khắc phục (Remediation)
Khắc phục là quá trình cập nhật các bản sửa lỗi trên các hệ thống dính lỗ hổng nhằm giảm thiểu hoặc giảm thiểu tác động và mức độ nghiêm trọng của chúng. Chúng bao gồm các bước như đánh giá lỗ hổng, xác định rủi ro và thiết kế ứng cứu cho lỗ hổng. Điều quan trọng là quy trình khắc phục phải cụ thể, có thể đo lường được, phù hợp và có thời hạn.
- Ưu tiên khắc phục dựa trên xếp hạng rủi ro
- Xây dựng kế hoạch hành động để thực hiện đề xuất hoặc biện pháp khắc phục
- Thực hiện phân tích nguyên nhân gốc rễ
- Áp dụng các bản vá và sửa lỗi
- Rút ra bài học kinh nghiệm
- Tiến hành đào tạo nâng cao nhận thức
- Thực hiện xử lý ngoại lệ và chấp nhận rủi ro đối với các lỗ hổng không thể khắc phục
Xác minh
Trong giai đoạn này, ta thực hiện dò quét lại các hệ thống để đánh giá xem liệu biện pháp khắc phục bắt buộc đã hoàn tất chưa và liệu các bản sửa lỗi riêng lẻ đã được áp dụng cho các tài sản bị ảnh hưởng hay chưa. Việc xác minh có thể được thực hiện bằng cách sử dụng nhiều phương tiện khác nhau như hệ thống tickets, scanners và reports.
Giám sát
Các tổ chức cần thực hiện giám sát thường xuyên để duy trì an ninh hệ thống. Giám sát liên tục xác định các mối đe dọa tiềm ẩn bằng các công cụ như IDS/IPS, SIEM và tường lửa.
Comments 1