Lỗ Hổng Bảo Mật là gì? – Tìm hiểu về Lỗ Hổng Website và Phần mềm

Trong lĩnh vực an ninh mạng, lỗ hổng bảo mật là một điểm yếu có thể bị khai thác bởi một tác nhân xấu để thực hiện một cuộc tấn công mạng nhằm mục đích thực hiện các hành động phi pháp lên hệ thống mục tiêu.

Các lỗ hổng hoàn toàn có thể được cho phép kẻ tiến công chạy mã, truy vấn bộ nhớ của mạng lưới hệ thống, thiết lập ứng dụng ô nhiễm và đánh cắp, hủy hoại hoặc sửa đổi những tài liệu nhạy cảm .
Lỗ hổng bảo mật là một trong những nguyên do số 1 gây ra những cuộc tiến công mạng nhắm vào tổ chức triển khai, doanh nghiệp và gây ra thiệt hại lên tới hàng ngàn tỉ USD trên toàn thế giới .

Vậy, lỗ hổng bảo mật thực sự là gì? Nó nguy hiểm đến mức nào? Và làm sao để chống lại các lỗ hổng để bảo vệ tổ chức an toàn trên internet? Cùng tham khảo bài viết sau đây.

Định nghĩa Lỗ hổng bảo mật

Lỗ hổng bảo mật (tiếng Anh: vulnerability) là một khái niệm phổ biến trong giới an toàn thông tin. Có rất nhiều định nghĩa khác nhau về lỗ hổng, nhưng tất cả đều có điểm chung là ám chỉ một điểm yếu (kỹ thuật hoặc phi kỹ thuật) của một phần mềm, phần cứng, giao thức, hay một hệ thống thông tin.

Dưới đây là một số ít định nghĩa về lỗ hổng bảo mật :

  • Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST): Điểm yếu trong hệ thống thông tin, quy trình bảo mật hệ thống, kiểm soát nội bộ hoặc công tác triển khai có thể bị khai thác bởi tác nhân gây hại.
  • ISO 27005: Điểm yếu của một tài sản hoặc nhóm tài sản có thể bị khai thác bởi một hoặc nhiều mối đe dọa trên mạng, trong đó tài sản là bất cứ thứ gì có giá trị đối với tổ chức, hoạt động kinh doanh của tổ chức và tính liên tục của những hoạt động đó, bao gồm các tài nguyên thông tin hỗ trợ sứ mệnh của tổ chức.
  • IETF RFC 4949: Một lỗ hổng hoặc điểm yếu trong thiết kế, triển khai hoặc vận hành và quản lý của hệ thống có thể bị khai thác để vi phạm chính sách bảo mật của hệ thống.
  • ENISA: Sự tồn tại của một điểm yếu, thiết kế hoặc lỗi triển khai có thể dẫn đến một sự cố không mong muốn làm tổn hại đến bảo mật của hệ thống máy tính, mạng, ứng dụng hoặc giao thức liên quan.
  • The Open Group: Xác suất khả năng của mối đe dọa vượt quá khả năng chống lại mối đe dọa đó.
  • Phân tích nhân tố về rủi ro thông tin: Xác suất một tài sản sẽ không thể chống lại hành động của một tác nhân đe dọa.
  • ISACA: Một điểm yếu trong thiết kế, triển khai, vận hành hoặc kiểm soát nội bộ.

Để khai thác lỗ hổng, kẻ tiến công phải có năng lực liên kết với mạng lưới hệ thống máy tính. Các lỗ hổng hoàn toàn có thể bị khai thác bằng nhiều giải pháp khác nhau, ví dụ như SQL injection, lỗi tràn bộ đệm ( buffer overflows ), cross-site scripting ( XSS ) và bộ công cụ khai thác nguồn mở nhằm mục đích tìm kiếm những lỗ hổng đã biết và những điểm yếu bảo mật trong những ứng dụng web .
Khi nhắc đến lỗ hổng, người ta thường hiểu là lỗ hổng kĩ thuật, tức là lỗi của ứng dụng, phần cứng, thay vì lỗi của con người. Mặc dù lỗi của nhân sự cũng là một loại lỗ hổng .
Lỗ hổng bảo mật thường Open ở :

  • website (hay các ứng dụng web), ứng dụng mobile
  • các thiết bị IoT
  • hệ điều hành và các phần mềm
  • mã nguồn (source code), API
  • cơ chế xác thực, các giao thức truyền tải, mã hóa
  • hệ thống mạng, thiết bị mạng, v.v.

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

Có nhiều nguyên do gây ra lỗ hổng gồm có :

  • Độ phức tạp: Các hệ thống phức tạp làm tăng xác suất của lỗ hổng, sai sót trong cấu hình hoặc truy cập ngoài ý muốn.
  • Tính phổ biến: Các loại mã, phần mềm, hệ điều hành và phần cứng có tính phổ biến sẽ làm tăng khả năng kẻ tấn công có thể tìm thấy hoặc có thông tin về các lỗ hổng đã biết.
  • Mức độ kết nối: Thiết bị càng được kết nối nhiều thì khả năng xuất hiện lỗ hổng càng cao.
  • Quản lý mật khẩu kém: Những mật khẩu yếu có thể bị phá bằng tấn công brute-force và việc sử dụng lại mật khẩu có thể dẫn đến từ một vi phạm dữ liệu trở thành nhiều vụ vi phạm xảy ra.
  • Lỗi hệ điều hành: Giống như bất kỳ phần mềm nào khác, hệ điều hành cũng có thể có lỗ hổng. Các hệ điều hành không an toàn – chạy mặc định và để tất cả mọi người dùng có quyền truy cập đầy đủ sẽ có thể cho phép vi-rút và phần mềm độc hại thực thi các lệnh.
  • Việc sử dụng Internet: Internet có rất nhiều loại phần mềm gián điệp và phần mềm quảng cáo có thể được cài đặt tự động trên máy tính.
  • Lỗi phần mềm: Lập trình viên có thể vô tình hoặc cố ý để lại một lỗi có thể khai thác trong phần mềm.
  • Đầu vào của người dùng không được kiểm tra: Nếu trang web hoặc phần mềm cho rằng tất cả đầu vào đều an toàn, chúng có thể thực thi các lệnh SQL ngoài ý muốn.
  • Con người: Lỗ hổng lớn nhất trong bất kỳ tổ chức nào là con người đằng sau hệ thống đó. Tấn công phi kỹ thuật (social engineering) là mối đe dọa lớn nhất đối với đa số các tổ chức.

Các lỗ hổng đã biết có nên được tiết lộ công khai hay không?

Việc có bật mý công khai minh bạch những lỗ hổng đã biết hay không vẫn còn là một yếu tố gây tranh cãi với hai luồng quan điểm :

  • Tiết lộ công khai ngay lập tức (full disclosure): Một số chuyên gia an ninh mạng ủng hộ việc tiết lộ công khai thông tin về một lỗ hổng mới ngay thời điểm họ tìm ra. Như vậy, nhà cung cấp có thể sẽ không tịp trở tay để tung ra bản vá lỗ hổng và các hacker có nhiều khả năng khai thác hơn. Tuy nhiên, những người đồng ý với phương án này tin rằng làm như vậy sẽ thôi thúc hành vi bảo mật ứng dụng và vá lỗ hổng nhanh hơn.
  • Tiết lộ có trách nhiệm (responsible disclosure): một số người lại không đồng ý với full disclosure vì họ cho rằng những lỗ hổng này sẽ bị khai thác bởi tác nhân xấu. Những người ủng hộ chỉ công bố lỗ hổng ở mức độ hạn chế nghĩ rằng việc giới hạn thông tin chỉ với một số nhóm liên quan nhất định sẽ làm giảm rủi ro lỗ hổng bị khai thác.

Giống như hầu hết các vấn đề gây tranh cãi khác, cả hai phía đều có những lý lẽ hợp lý. Dù đứng về bên nào đi nữa thì có một sự thật là giờ đây, dù là những hacker với mục đích tốt hay tội phạm mạng đều thường xuyên tìm kiếm các lỗ hổng và rà soát các điểm khai thác đã biết.

Một số doanh nghiệp chiếm hữu những đội bảo mật nội bộ có trách nhiệm kiểm tra bảo mật CNTT và những giải pháp bảo mật khác của tổ chức triển khai. Đó là một phần quy trình tiến độ nhìn nhận rủi ro đáng tiếc thông tin toàn diện và tổng thể và quản trị rủi ro đáng tiếc bảo mật an ninh mạng của họ .
Các công ty ngày này thường trao tiền thưởng cho việc phát hiện lỗi ( được gọi là bug bounty ) để khuyến khích những hacker mũ trắng tìm ra và báo cáo giải trình những lỗ hổng cho doanh nghiệp thay vì khai thác chúng. Các chương trình này đều rất hiệu suất cao và hoàn toàn có thể giúp giảm thiểu rủi ro đáng tiếc cho tổ chức triển khai, giúp họ tránh khỏi những tổn thất vô cùng lớn do tài liệu bị xâm phạm .
Thông thường, số tiền thưởng cho việc phát hiện lỗi sẽ tương ứng với quy mô của tổ chức triển khai, khó khăn vất vả trong việc khai thác lỗ hổng và ảnh hưởng tác động của lỗ hổng. Ví dụ : việc tìm thấy rò rỉ tài liệu thông tin nhận dạng cá thể ( PII ) của một công ty thuộc list Fortune 500 ( list 500 công ty lớn nhất Hoa Kỳ ) chắc như đinh sẽ có giá trị tiền thưởng cao hơn so với mức tiền thưởng cho việc phát hiện vi phạm tài liệu tại một shop địa phương .
>> Tại sao Bug bounty là giải pháp bảo mật tương thích với SME và startup ?

Sự khác biệt giữa lỗ hổng và rủi ro là gì?

Rủi ro bảo mật an ninh mạng thường được phân loại là một dạng lỗ hổng. Tuy nhiên, lỗ hổng ( vulnerability ) và rủi ro đáng tiếc ( risk ) không giống nhau .
Cần hiểu rằng rủi ro đáng tiếc là Tỷ Lệ và tác động ảnh hưởng của việc một lỗ hổng bị khai thác. Nếu ảnh hưởng tác động và Tỷ Lệ này là thấp thì có nghĩa là mức rủi ro đáng tiếc thấp. trái lại, nếu tác động ảnh hưởng và Tỷ Lệ này là cao nghĩa là mức rủi ro đáng tiếc cao .
tam giác CIA trong an toàn thông tin mạng

Nói chung, tác động của một cuộc tấn công mạng có thể được gắn với tam giác CIA (Confidentiality – tính bảo mật, Integrity – tính toàn vẹn và Availability – tính sẵn có) của tài nguyên. Theo đó, có những trường hợp lỗ hổng phổ biến lại không mang rủi ro. Ví dụ: một hệ thống thông tin có lỗ hổng nhưng lại không có giá trị đối với tổ chức của bạn.

Khi nào một lỗ hổng có thể bị khai thác?

Khai thác lỗ hổng bảo mật
Một lỗ hổng với tối thiểu một vec-tơ tiến công được xếp vào loại lỗ hổng hoàn toàn có thể khai thác. Cửa sổ của lỗ hổng ( window ) là thời hạn từ khi lỗ hổng được xác lập đến khi được vá .
Nếu doanh nghiệp có những hoạt động giải trí bảo mật khắt khe thì so với tổ chức triển khai đó, lỗ hổng sẽ không hề bị khai thác .
Ví dụ : nếu bạn đã thông số kỹ thuật S3 bucket đúng chuẩn thì Xác Suất rò rỉ tài liệu sẽ thấp. Vì vậy, hãy kiểm tra thông số kỹ thuật bảo mật S3 của bạn trước khi sự cố đáng tiếc xảy ra .

Tấn công khai thác lỗ hổng zero-day là gì?

Tấn công khai thác lỗ hổng zero-day ( hay 0 – day ) nhằm mục đích mục tiêu khai thác lỗ hổng zero-day. Lỗ hổng zero-day ( hoặc 0 – day ) là lỗ hổng mà những người muốn vá nó chưa xác lập hoặc xử lý được .
Cho đến khi lỗ hổng được vá, kẻ tiến công hoàn toàn có thể khai thác nó để gây ảnh hưởng tác động xấu đi đến chương trình máy tính, kho tài liệu, máy tính hoặc mạng .
“ Day Zero ” là ngày mà những bên chăm sóc có thông tin về lỗ hổng bảo mật, từ đó sẽ có được bản vá hoặc cách khắc phục để tránh bị khai thác .
Điều quan trọng mà tất cả chúng ta cần phải hiểu được là thời hạn kể từ Day Zero càng ngắn thì năng lực không tăng trưởng được bản vá hoặc giải pháp giảm thiểu nào lại càng cao và rủi ro tiềm ẩn bị tiến công cũng sẽ càng cao .

Quản lý lỗ hổng là gì?

Quản lý lỗ hổng là một hoạt động theo chu kỳ trong việc xác định, phân loại, khắc phục và giảm thiểu các lỗ hổng bảo mật. Các yếu tố cơ bản của quản lý lỗ hổng bao gồm phát hiện lỗ hổng, đánh giá lỗ hổng và khắc phục.

Các giải pháp phát hiện lỗ hổng gồm có :
Khi một lỗ hổng được tìm thấy, nó sẽ trải qua quy trình nhìn nhận lỗ hổng như sau :

  • Xác định các lỗ hổng: Phân tích các lần quét hệ thống mạng, kết quả pentest, nhật ký tường lửa và kết quả quét lỗ hổng để tìm ra sự bất thường cho thấy một cuộc tấn công mạng có thể lợi dụng lỗ hổng đó.
  • Xác minh lỗ hổng: Xác định xem lỗ hổng đã được nhận diện có thể bị khai thác hay không và phân loại mức độ nghiêm trọng của việc khai thác đó để hiểu mức độ rủi ro
  • Giảm thiểu các lỗ hổng: Xác định các biện pháp đối phó và cách đo lường hiệu quả của chúng trong trường hợp không có bản vá.
  • Khắc phục lỗ hổng: Cập nhật phần mềm hoặc phần cứng bị ảnh hưởng nếu có thể.

Do trong thực tiễn là những cuộc tiến công mạng liên tục tăng trưởng, quản trị lỗ hổng phải là một hoạt động giải trí liên tục và lặp đi lặp lại để bảo vệ rằng doanh nghiệp vẫn luôn được bảo vệ .

Quét lỗ hổng là gì?

Trình quét lỗ hổng là ứng dụng được phong cách thiết kế để nhìn nhận máy tính, mạng hoặc ứng dụng xem có Open những lỗ hổng đã biết nào không. Các ứng dụng này hoàn toàn có thể xác lập và phát hiện những lỗ hổng phát sinh từ thông số kỹ thuật sai và lập trình lỗi trong mạng lưới hệ thống mạng và triển khai quét xác nhận và không xác nhận :

  • Quét xác thực: Cho phép trình quét lỗ hổng truy cập trực tiếp vào các tài sản được nối mạng bằng các giao thức quản trị từ xa như secure shell (SSH) (tạm dịch: môi trường an toàn) hoặc remote desktop protocol (RDP) (tạm dịch: giao thức điều khiển máy tính từ xa) và xác thực bằng thông tin hệ thống được cung cấp. Điều này cho phép truy cập vào dữ liệu cấp thấp như các dịch vụ cụ thể và chi tiết cấu hình, cung cấp thông tin chi tiết và chính xác về hệ điều hành, phần mềm được cài đặt, các vấn đề cấu hình và các bản vá bảo mật còn thiếu.
  • Quét không xác thực: Kết quả là nhận diện sai và thông tin không đáng tin cậy về hệ điều hành và phần mềm được cài đặt. Phương pháp này thường được những kẻ tấn công mạng và các nhà phân tích bảo mật sử dụng để thử và xác định tình hình bảo mật của các tài sản phải đối mặt với môi trường bên ngoài và để tìm xem dữ liệu có khả năng bị rò rỉ hay không.

>> Giới thiệu công cụ quét lỗ hổng không tính tiền CyStack Scan

Kiểm thử xâm nhập là gì?

Kiểm thử xâm nhập, còn được gọi là pentest hoặc hack “ có đạo đức ” ( ethical hacking ), là hoạt động giải trí kiểm tra một gia tài công nghệ thông tin để tìm lỗ hổng bảo mật mà kẻ tiến công hoàn toàn có thể khai thác. Kiểm thử xâm nhập hoàn toàn có thể được tự động hóa với ứng dụng hoặc được triển khai thủ công bằng tay .
Dù bằng cách nào, quy trình này vẫn là tích lũy thông tin về tiềm năng, xác lập những lỗ hổng hoàn toàn có thể có, nỗ lực khai thác chúng và báo cáo giải trình về những phát hiện đó .
Kiểm thử xâm nhập cũng hoàn toàn có thể được sử dụng để kiểm tra chủ trương bảo mật của tổ chức triển khai, sự tôn trọng những nhu yếu tuân thủ, nhận thức về bảo mật của nhân viên cấp dưới và năng lực tổ chức triển khai hoàn toàn có thể xác lập và ứng phó với những sự cố bảo mật .
>> Dịch Vụ Thương Mại kiểm thử xâm nhập chất lượng cao

Google hack là gì?

Google hack là việc sử dụng một công cụ tìm kiếm, ví dụ điển hình như Google hoặc Bing của Microsoft để xác lập vị trí những lỗ hổng bảo mật. Người ra triển khai Google hack trải qua việc sử dụng những công cụ tìm kiếm nâng cao trong truy vấn nhằm mục đích xác lập thông tin khó tìm hoặc thông tin đang vô tình bị lộ trải qua sai sót thông số kỹ thuật của những dịch vụ đám mây .
Các nhà nghiên cứu bảo mật và kẻ tiến công sử dụng những truy vấn định trước này để tìm ra những thông tin nhạy cảm mà người ta không có dự tính công khai minh bạch .
Những lỗ hổng này có xu thế rơi vào hai loại :

  1. Lỗ hổng phần mềm
  2. Cấu hình sai

Tuy nhiên, hầu hết những kẻ tiến công sẽ có khuynh hướng tìm kiếm những sai sót thông số kỹ thuật phổ cập của người dùng mà chúng đã biết cách khai thác và chỉ đơn thuần là quét những mạng lưới hệ thống có lỗ hổng bảo mật đã biết .
Để ngăn ngừa Google hack, cần phải bảo vệ rằng tổng thể những dịch vụ đám mây đều được thông số kỹ thuật đúng. Điều gì mà đã hiển thị trên Google là sẽ công khai minh bạch mặc dầu bạn có muốn hay không .
Mặc dù đúng là Google xóa bộ nhớ cache định kỳ nhưng cho đến lúc đó những tệp nhạy cảm của doanh nghiệp vẫn bị hiển thị công khai minh bạch .

Cơ sở dữ liệu về lỗ hổng là gì?

Cơ sở tài liệu về lỗ hổng là một nền tảng tích lũy, duy trì và san sẻ thông tin về những lỗ hổng đã được phát hiện. MITRE là tổ chức triển khai quản lý một trong những CVE ( Các lỗ hổng và thông tin bị lộ phổ cập ) lớn nhất và tính điểm số trên Hệ thống tính điểm lỗ hổng phổ cập ( CVSS ) để phản ánh rủi ro đáng tiếc tiềm ẩn mà lỗ hổng hoàn toàn có thể gây ra cho tổ chức triển khai .
>> Tìm hiểu về CVE và Zeroday
Đây là list chủ yếu của những CVE, đóng vai trò là nền tảng cho nhiều trình quét lỗ hổng .
Lợi ích của những cơ sở tài liệu công khai minh bạch về lỗ hổng là giúp những tổ chức triển khai tăng trưởng, ưu tiên và thực thi những bản vá và những giải pháp giảm thiểu khác để khắc phục những lỗ hổng quan trọng .
Tuy nhiên, những cơ sở tài liệu này cũng hoàn toàn có thể tạo ra thêm những lỗ hổng bổ trợ từ những bản vá được phát hành hấp tấp vội vàng để sửa lỗ hổng tiên phong nhưng lại tạo ra lỗ hổng khác .
Hãy xem lại những lý lẽ tranh luận về việc nên bật mý vừa đủ về lỗ hổng hay ở mức độ hạn chế ở mục trên .
Danh sách những lỗ hổng phổ cập trong cơ sở tài liệu về lỗ hổng gồm có :

  • Thất bại trong triển khai ban đầu: Nhiệm vụ của cơ sở dữ liệu có vẻ rất hợp lý nhưng lại không có sự kiểm tra nghiêm ngặt, lỗ hổng có thể cho phép kẻ tấn công xâm nhập. Kiểm soát bảo mật kém, mật khẩu yếu hoặc cài đặt bảo mật mặc định có thể khiến cho các tài liệu nhạy cảm bị truy cập công khai.
  • SQL injection: Các cuộc tấn công cơ sở dữ liệu thường được ghi lại trong cơ sở dữ liệu về lỗ hổng.
  • Cấu hình sai: Các công ty thường không định cấu hình các dịch vụ đám mây của họ một cách chính xác, tạo ra lỗ hổng và khiến cho những dịch vụ này có thể bị truy cập công khai.
  • Kiểm toán không đầy đủ: Nếu không có kiểm toán, rất khó để biết liệu dữ liệu đã được sửa đổi hay truy cập hay chưa. Cơ sở dữ liệu về lỗ hổng đã cho thấy tầm quan trọng của kiểm toán – đó là một biện pháp ngăn chặn các cuộc tấn công mạng.

Các ví dụ về lỗ hổng

Các lỗ hổng có thể được phân thành sáu loại lớn như sau:

  1. Phần cứng: Dễ bị ẩm, bụi, bẩn, thiên tai, mã hóa kém hoặc lỗ hổng firmware.
  2. Phần mềm: Kiểm tra không đầy đủ, thiếu dấu vết kiểm toán (audit trail), lỗi thiết kế, vi phạm an toàn bộ nhớ như tràn bộ đệm, bộ đêm đọc quá mức (over-reads), dangling pointers (tạm dịch: con trỏ lơ lửng), lỗi xác thực đầu vào (code injection, cross-site scripting (XSS), directory traversal, email injection, tấn công format string, HTTP header injection, HTTP response splitting, SQL injection), lỗi nhầm lẫn đặc quyền (clickjacking, giả mạo yêu cầu liên trang – cross-site request forgery, FTP bounce attack), tranh đoạt điều khiển – race conditions (symlink race, lỗi thời gian kiểm tra đến thời gian sử dụng), tấn công qua kênh phụ – side channel attack, timing attack và lỗi giao diện người dùng (đổ lỗi cho nạn nhân – blaming the victim, tranh đoạt điều khiển, warning fatigue).
  3. Mạng: Đường truyền thông không được bảo vệ, tấn công trung gian, kiến ​​trúc mạng không an toàn, thiếu xác thực hoặc xác thực mặc định.
  4. Nhân sự: Chính sách tuyển dụng kém, thiếu nhận thức và chương trình đào tạo về bảo mật, tuân thủ kém về đào tạo bảo mật, quản lý mật khẩu kém hoặc tải xuống phần mềm độc hại qua tệp đính kèm email.
  5. Vị trí địa lý: Khu vực chịu thảm họa tự nhiên, nguồn điện không ổn định hoặc không có quyền truy cập thẻ khóa.
  6. Tổ chức: Thiếu kiểm toán, kế hoạch liên tục, bảo mật hoặc kế hoạch ứng phó sự cố.

Giải pháp phòng chống lỗ hổng của CyStack

CyStack phân phối những giải pháp giúp doanh nghiệp chống lại những lỗ hổng bảo mật trong ứng dụng. Qua đó giảm thiểu năng lực trở thành đối tượng người tiêu dùng của một cuộc tiến công mạng, phòng chống thất thoát tài liệu quan trọng .

Nền tảng WhiteHub (whitehub.net)

  • Kết nối doanh nghiệp với cộng đồng chuyên gia bảo mật để tìm lỗ hổng trong sản phẩm công nghệ.
  • Triển khai – Quản lý chương trình Bug bounty, trao thưởng và giao tiếp chuyên gia.
  • Vulnerability Management – Quản lý lỗ hổng (tiếp nhận, phân loại, xác minh, khắc phục)

Dịch vụ Penetration Testing (cystack.net/vi/services/pentest): Kiểm thử xâm nhập hiệu quả gấp 7 lần phương pháp truyền thống & chi phí phù hợp với start-up.

Source: kubet
Category: Tải Phầm Mềm

Viết một bình luận