Lỗ Hổng Trong Phần Mềm Là Gì? Cách Khắc Phục Lỗi Bảo Mật

Sau những chiến dịch mã độc tấn công mạng gây rúng độc thế giới liên tiếp như WannaCry, Petya…etc…người dùng đã bắt đầu có sự chú ý nhiều hơn về cái gọi là mã độc tống tiền, lỗ hổng bảo mật. Vì sao phần mềm nào cũng sẽ có lỗ hổng bảo mật? Lỗ hổng bảo mật là gì? Làm sao để khắc phục những lỗi bảo mật này?

Lỗ hổng trong phần mềm là gì? Cách khắc phục lỗi bảo mật

Lỗ hổng phần mềm là gì?

Hacker chính là tin tặc – những tội phạm mạng sử dụng công cụ “ăn trộm” chính là phần mềm độc hại dựa trên mục tiêu xâm nhập và những nơi được bảo đảm an toàn: hệ thống mạng, bằng những cách khác nhau mà chủ yếu là lỗi trong các chương trình phần mềm chạy trên máy tính. Những phần mềm máy tính là các chương trình do con người viết ra, do đó sẽ không thể hoàn hảo. Không ai có thể viết ra một phần mềm hoàn toàn không có lỗi, đây là kẽ hở để những kẻ tấn công xâm nhập.

Cụ thể, lỗ hổng có thể là lỗi trong cách quản lý người dùng trên hệ thống, lỗi trong code hoặc lỗi xử lý một vài truy vấn. Một lỗ hổng phổ biến là SQL injection. Cuộc tấn công được thực hiện trên những website có truy vấn cơ sở dữ liệu, chẳng hạn như tìm kiếm theo từ khoá. Kẻ tấn công tạo một truy vấn có chứa code được viết bằng ngôn ngữ lập trình cơ sở dữ liệu có tên SQL.

Lỗ hổng trong phần mềm là gì? Cách khắc phục lỗi bảo mật

Nếu một trang web không được bảo vệ đúng cách, chức năng tìm kiếm của website đó sẽ thực thi các lệnh SQL, điều này có thể cho phép kẻ tấn công truy cập vào cơ sở dữ liệu và kiểm soát trang web.

Tương tự, nhiều người dùng sử dụng các chương trình được hỗ trợ ngôn ngữ lập trình Java, chẳng hạn như Adobe Flash Player và các ứng dụng Android khác. Có rất nhiều lỗ hổng trong nền tảng Java và tất cả đều có thể bị khai thác theo những cách khác nhau, thông thường nhất là thông qua việc tải "plug-in" hoặc "codecs" vào phần mềm. Trên thực tế, những plug-in này chứa mã độc có khả năng tận dụng lỗ hổng để xâm nhập vào máy tính.

Sự phổ biến của lỗ hổng: khắp mọi nơi

Lỗ hổng trong phần mềm là gì? Cách khắc phục lỗi bảo mật

Lỗ hổng tồn tại trong tất cả các loại phần mềm. Từ năm 2009, trình duyệt web mã nguồn mở phổ biến Firefox có hơn 100 lỗ hổng trong code được xác định mỗi năm. 15 lỗ hổng khác nhau đã được ghi nhận trong các phiên bản trình duyệt của Microsoft là Internet Explorer kể từ đầu năm 2017.

Phát triển phần mềm không phải là một công việc "trong mơ". Các lập trình viên thường phải làm việc theo tiến độ do đội quản lý đặt ra, mặc dù việc hoàn thành đúng tiến độ có thể là cả một thử thách. Do đó, các nhà phát triển phải cố gắng hết sức để tạo ra được các sản phẩm đảm bảo tính an ninh nhưng không thể xác định được tất cả lỗi trước ngày phát hành dự kiến. Trì hoãn có thể rất tốn kém, thế nên nhiều công ty thường phát hành phiên bản đầu tiên và sau khi tìm thấy lỗi (hoặc nhận báo cáo từ người dùng hoặc các nhà nghiên cứu), họ sẽ vá lỗ hổng bằng việc phát hành bản cập nhật an ninh.

Tuy nhiên, các công ty phần mềm không thể hỗ trợ các sản phẩm của mình mãi mãi – để duy trì hoạt động kinh doanh, họ phải tiếp tục cải tiến chương trình và bán các phiên bản cập nhật. Vì vậy, sau một thời gian phát triển, họ ngừng phát hành các bản vá cho các chương trình cũ.

Không phải mọi khách hàng đều mua phần mềm mới nhất. Nhiều người dùng vẫn đang chạy các chương trình cũ tồn tại những lỗ hổng chưa được vá. Điều đó cho phép kẻ tấn công có cơ hội tìm thấy những lỗ hổng trong phần mềm cũ.

Cách thức khai thác lỗ hổng trong phần mềm máy tính

Lỗ hổng trong phần mềm là gì? Cách khắc phục lỗi bảo mật

Một khi xác định được lỗ hổng, tin tặc có thể viết ra một chương trình lợi dụng lỗi để xâm nhập và chiếm quyền kiểm soát thiết bị. Trong trường hợp này, cách thức khai thác tương tự như cách mà kẻ trộm sử dụng công cụ như gậy sắt, chìa khóa "vạn năng" hoặc các phương tiện khác tùy vào vị trí thực tế.

Tội phạm mạng tìm điểm yếu trong các phần mềm bảo vệ hệ thống, có thể là một kết nối mạng không được bảo vệ đúng cách. Nếu tin tặc có thể tiếp cận máy tính mục tiêu, chúng có thể tìm hiểu về hệ thống đó. Làm thế giúp chúng xác định các phương pháp tiếp cận riêng - truy cập các tệp tin cụ thể hay chạy các chương trình nhất định - từ đó chúng có thể kiểm soát máy tính và dữ liệu.

Trong những năm gần đây, tin tặc bắt đầu nhắm mục tiêu vào các trình duyệt web bởi những phần mềm này được phép kết nối Internet và thường được cho phép để chạy các chương trình nhỏ; do đó tồn tại rất nhiều lỗ hổng có thể bị khai thác. Những lỗ hổng ban đầu có thể cho phép tin tặc kiểm soát máy tính mục tiêu, trước khi lấy đó làm bàn đạp để xâm nhập vào mạng lưới lớn hơn.

Đôi khi các lỗ hổng được chính các nhà phát triển phần mềm phát hiện hoặc do người dùng hay các nhà nghiên cứu cảnh báo. Có những trường hợp, tin tặc hoặc cơ quan gián điệp của chính phủ phát hiện cách thức xâm nhập vào hệ thống nhưng không thông báo với bên phát triển. Những lỗ hổng này được gọi là "zero day", bởi nhà phát triển chưa có cơ hội để vá. Do đó, phần mềm hoặc phần cứng sẽ dễ bị xâm nhập cho đến khi có bản vá hoặc bản sửa lỗi được tạo và phân phối tới người dùng.

Cách tốt nhất mà người dùng có thể tự bảo vệ mình là thường xuyên cài đặt bản cập nhật phần mềm ngay khi chúng được phát hành.

Theo Eyewittness News

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