Lỗ hổng bảo mật và những điểm yếu thường thấy trong bảo mật
Trong an ninh mạng, lỗ hổng bảo mật chính là điểm yếu để các tội phạm mạng lợi dụng và truy cập trái phép vào hệ thống mạng. Sau khi truy cập vào hệ thống mạng, họ có thể gây ra những thiệt hại rất lớn mà chúng ta không thể lường trước được.
Thông thường, các lỗ hổng có thể được khai thác bằng nhiều phương pháp khác nhau. Trong bài viết này NSV sẽ chia sẻ tổng quan kiến thức về lỗ hổng bảo mật để bạn có thể nắm tổng quan và có thể tìm hiểu sâu hơn nhằm bảo vệ hệ thống mạng của bạn.
Lỗ hổng bảo mật và những điểm yếu thường thấy trong bảo mật chính là cơ hội để những kẻ xấu tấn công vào hệ thống tài nguyên mạng và dữ liệu của cơ quan tổ chức hoặc cá nhân. Vậy khái niệm lỗ hổng bảo mật là gì ? Làm sao để phát hiện và khắc phục ra làm sao ? Hãy cùng theo dõi ở bài viết ngay sau đây.
Lỗ hổng bảo mật là gì
Lỗ hổng bảo mật (security vulnerability) là khuyết điểm trong quá trình lập trình hoặc việc cấu hình sai hệ thống mà qua đó tạo ra sơ hở dẫn dến kẻ tấn công mạng có thể truy cập trực tiếp dữ liệu mà bỏ qua quy trình thông thường.
Việc khai thác lỗ hổng bảo mật còn được gọi là Exploit sẽ giúp các Hacker tận dụng lỗ hổng bảo mật để đạt được lợi ích.
Lỗ hổng bảo mật là một khái niệm rất thường thấy trong lĩnh vực an ninh mạng. Nó được định nghĩa bằng rất nhiều kiểu lý giải khác nhau nhưng chung quy là chỉ về 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. Người ta thường nhắc đến lỗ hổng bảo mật là lỗi kỹ thuật ở phần mềm, phần cứng chứ không ai nói đó là lỗi ở con người dù lỗi ở con người cũng được tính là lỗ hổng. Ủy ban về Hệ thống An ninh Quốc gia của Hoa Kỳ đã xác định lỗ hổng trong Hướng dẫn CNSS số 4009 ngày 26 tháng 4 năm 2010 thuật ngữ Bảo đảm Thông tin Quốc gia : Vulnerability—Weakness in an information system, system security procedures, internal controls, or implementation that could be exploited by a threat source (tạm dịch Lỗ hổng bảo mật - sự yếu kém 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 việc triển khai có thể bị khai thác bởi nguồn đe dọa).
Sơ lược về một số lỗ hổng bảo mật
Lỗ hổng bảo mật có thể xảy ra ở tất cả các lớp bảo mật bao gồm: cơ sở hạ tầng, mạng và ứng dụng (application). Trong bài viết này, chúng tôi chỉ có thể đề cập đến một số lỗi thông dụng.
Lỗi bảo vệ hệ thống bằng mật khẩu
Lỗi này là lỗ hổng đầu tiên cho phép người truy cập bỏ qua hoặc giả mạo quy trình xác thực trước khi tiến vào bên trong hệ thống (đăng nhập vào hệ thống).
- Mật khẩu truy cập yếu
- Lỗi đặt mật khẩu thông dụng (123456, admin, iloveyou,...).
- Lỗi đặt mật khẩu quá ngắn: kẻ tấn công có thể dùng các công cụ quét mật khẩu và dễ dàng tìm ra mật khẩu để truy cập vào hệ thống.
- Xác thực chỉ một lớp (chỉ cần mật khẩu để đăng nhập).
- Cấp quyền truy cập không hợp lý.
- Thời gian kết thúc phiên không được cấu hình hoặc quá lâu.
Tất cả những lỗi trên đều có thể gây ảnh hưởng lớn đến việc bảo mật hệ thống mạng của bạn.
Lỗi kết nối và quyền hạn truy cập sử dụng cơ sở dữ liệu
SQL Injection là một trong những thuật ngữ phổ biến trong giới bảo mật để tìm ra lỗ hổng truy cập được vào một phần hoặc toàn bộ cơ sở dữ liệu. Từ đó có thể đánh cắp thông tin hoặc tìm ra thông tin đăng nhập vào hệ thống. Nguyên nhân chính thường là do:
- Sử dụng câu lệnh SQL thuần trong lập trình. Trong quá trình này sẽ khó tránh khỏi sai xót và dễ bị các hacker lợi dụng để xâm nhập vào cơ sở dữ liệu.
- Không phân quyền rõ ràng trong Database. Điều này dẫn đến việc chẳng may hacker xâm nhập được vào một phần Database sẽ có thể đi qua các bảng khác để tìm kiếm thông tin.
- Hiển thị mã lỗi trong thông báo. Hacker có thể dựa vào mã lỗi để tìm ra lỗ hổng.
- Có thể thấy, SQL Injection là một trong những lỗi rất thông dụng trong quá trình bảo mật:
- Cực kỳ nguy hiểm: khi hacker truy cập được vào CSDL của bạn. Mọi thông tin quan trọng được lưu trữ trên website đều sẽ bại lộ.
- Rất phổ biến và dễ thực hiện. Lỗ hổng này rất nổi tiếng, hầu như các Developer và hacker đều biết đến lỗi này và họ còn lập trình ra công cụ để thực hiện tự động.
- Không nên chủ quan, đã từng có rất nhiều website của những đơn vị rất lớn cũng mắc phải sai lầm từ SQL Injection.
Lỗi phần mềm, hệ điều hành
Như bạn cũng thường thấy, các phần mềm, các hệ điều hành đều không thực sự hoàn hảo và có rất nhiều phiên bản nâng cấp để cải thiện về tính năng và độ bảo mật. Trong quá trình xây dựng một phần mềm, một hệ thống, mặc dù được quy hoạch rất kỹ và khoa học ngay từ đầu nhưng chắc chắn cũng sẽ không tránh khỏi những lỗ hổng mà phải qua quá trình hoạt động mới có thể nhìn thấy.
Người quản lý
Đôi khi, việc bảo mật kỹ càng trong hệ thống cũng chưa thể hoàn hảo nhất. Đây cũng là lỗ hổng lớn nhất của mọi hệ thống. Dù bảo mật cao đến đâu thì cũng sẽ có người nắm giữ chìa khóa đi vào hệ thống.
Lỗ hổng bảo mật xuất hiện ở đâu
- Phần mềm
- Website
- Ứng dụng (trên web hoặc trên máy tính điện thoại)
- Hệ điều hành
- Source code, API
- Thiết bị IoT
- Hệ thống thiết bị mạng
- Cơ chế xác thực, các giao thức truyền tải, mã hóa
Kẻ xấu làm gì để khai thác lỗ hổng
Kẻ xấu sẽ kết nối với hệ thống máy tính và tùy theo từng lỗ hổng sẽ có những phương pháp tương ứng. Chẳng hạn như lỗ hổng SQL injection cho phép kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào và các thông báo lỗi do hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thực thi các câu lệnh SQL bất hợp pháp hay Cross Site Scripting cho phép kẻ xấu chèn những đoạn script độc hại (thường là Javascript hoặc HTML) vào website và thực thi trong trình duyệt của người dùng.
Những điểm yếu thường thấy trong bảo mật
- Coi thường bảo mật : chính vì sự coi thường này đã dẫn đến những sự thiệt hại hàng trăm triệu đô la trên toàn thế giới vì những cuộc tấn công của hacker. Doanh nghiệp/tổ chức nên quan tâm đến vấn đề này nhiều hơn, cập nhật xu thế bảo mật cũng như kiểu tấn công hiện nay là gì và đầu tư vào bảo vệ hệ thống.
- Sự lơ là, không phòng bị : có thể dẫn đến hậu quả khôn lường không chỉ riêng Việt Nam mà trên toàn thế giới, nhất là khoản phục hồi. Phải kiểm tra thường xuyên để phòng bị và sẵn sàng đối phó với những mối đe dọa từ những công cụ phần mềm quét bảo mật hoặc hệ thống giám sát được các nhà cung cấp uy tín khuyên dùng.
- Mở cửa cho sự gian lận : thời buổi hiện nay, những quy trình liên quan đến thông tin cá nhân của con người thì sẽ trở thành miếng mồi ngon cho bọn lừa đảo. Nếu không có hệ thống giám sát thích hợp tại chỗ, các quy trình kinh doanh này có thể sẽ bị xâm phạm.
- An ninh di động/gia đình/di chuyển : bây giờ con người chúng ta có thể làm việc ở bất kỳ nơi đâu, ở nhà hoặc ngoài đường. Điều này có nghĩa là bất kỳ phương thức bảo mật mạng nào được triển khai trong tổ chức cũng đều phải được mở rộng ra ngoài phạm vi của văn phòng. Các thiết bị di động và máy tính xách tay cần phải được bảo mật và nhân viên phải được thông báo về các rủi ro và kế hoạch ứng phó.
- Giám sát không chặt chẽ: giám sát không chặt chẽ sẽ dẫn đến hậu quả từ những hành vi bất thường trên mạng và đến từ những nhân viên làm việc.
- Cách xử lý sự cố : những cách xử lý sự cố kém hiệu quả sẽ dẫn tới thời gian hồi phục lâu, chi phí đội lên cao, mất niềm tin từ khách hàng.
- IoT : internet vạn vật ngày nay đang dần trở nên phổ biến trong cuộc sống thông qua các thiết bị thông minh, kèm theo đó là những nỗi lo khi kẻ xấu lợi dụng chúng để tấn công hệ thống tài nguyên mạng doanh nghiệp (xem thêm kiến thức về Vulnerability).
- Đối tác/bên thứ ba : doanh nghiệp phải phối hợp với đối tác và bên cung cấp giải pháp phần mềm nhằm kiểm tra rà soát tất cả, tuyệt đối không để kẻ xấu lợi dụng lỗ hổng của đối tác để từ đó tấn công qua bên mình.
- Con người : không thể không nhắc đến yếu tố con người ở đây. Hành vi cuả con người có thể dẫn đến bị lợi dụng và xâm phạm nếu không được giám sát. Chưa kể ở đây, một hành động của con người có thể dẫn đến sự xâm phạm an ninh doanh nghiệp như nhân viên có mưu đồ xấu xa đem bảo mật công ty tuồn ra ngoài hoặc cho kẻ khác đăng nhập vào hệ thống công ty, hoặc chỉ vì thiếu kiến thức mà có những hành động vô tình dẫn đến cái họa về sau.
Quản lý lỗ hổng bảo mật như thế nào?
Đây là hoạt động tìm, xác định và khắc phục giảm thiểu các lỗ hổng bảo mật theo chu kỳ. Nhưng chúng ta cũng đã biết, không có một hệ thống nào là đảm bảo bảo mật tuyệt đối. Do đó, việc lặp đi lặp lại theo chu kỳ là vô cùng quan trọng.
Các phương pháp phát hiện lỗ hổng bảo mật
Có 3 phương pháp để phát hiện tìm ra lỗ hổng bảo mật bao gồm:
- Quét lỗ hổng bảo mật.
- Kiểm tra thâm nhập.
- Thường xuyên cập nhật tin tức bảo mật và kiểm tra hệ thống của bản thân.
Phương pháp quét lỗ hổng bảo mật
Phần mềm quét lỗ hổng bảo mật được thiết kế chuyên dụng từ những chuyên gia bảo mật để đánh giá máy tính, hệ thống mạng và các ứng dụng để tìm các lỗ hổng bảo mật đã biết.
Phương pháp này cho phép phần mềm quét lỗi bảo mật được truy cập trực tiếp vào nơi quét thông qua các phương thức quản trị từ xa như SSH, RDP,... và xác thực bằng thông tin đăng nhập. Sau khi đi vào hệ thống, phần mềm sẽ tìm kiếm toàn hệ thống để phát hiện ra lỗ hổng và đưa ra báo cáo.
Phương pháp kiểm tra thâm nhập
Thường xuyên đọc file log dữ liệu, kiểm tra các địa chỉ IP bất thường đăng nhập vào hệ thống của bạn. Xem các thay đổi bất thường trong hệ thống. Từ đó có thể phán đoán dấu vết của kẻ tấn công để lại. Từ đó phát hiện ra lỗ hổng.
Google Hacking
Nghe đến Google Hacking, có nhiều người sẽ lầm tưởng về cái tên. Tuy nhiên, Google Hacking là thuật ngữ để nói về việc dùng các công cụ tìm kiếm để thông qua đó tìm kiếm các lỗi liên quan đến Code và URL của Website. Từ đó phát hiện ra các lỗ hổng trong quá trình xây dựng hệ thống nhưng không chú ý.
Qua bài viết của NSV có thể thấy rằng, việc những lỗ hổng bảo mật tồn tại sẽ khiến cho hệ thống doanh nghiệp luôn ở trong tình trạng báo động đỏ, song song đó cộng với những điểm yếu không sớm khắc phục thì kết quả sau này chỉ là hai chữ phá sản mà thôi. Doanh nghiệp cần phải chủ động trong vấn đề này, thực hiện một cách triệt để thì mới đảm bảo cho hoạt động kinh doanh sản xuất được ổn định lâu dài.