Khai thác một ngày không giới hạn là gì và bạn có thể tự bảo vệ mình như thế nào?
Báo chí công nghệ liên tục viết về những vụ khai thác mới và nguy hiểm của Nhật Bản. Nhưng chính xác thì khai thác 0 ngày là gì, điều gì làm cho nó trở nên nguy hiểm và - quan trọng nhất - làm thế nào bạn có thể tự bảo vệ mình?
Các cuộc tấn công không có ngày xảy ra khi những kẻ xấu vượt lên trước những kẻ tốt, tấn công chúng ta bằng những lỗ hổng mà chúng ta thậm chí chưa từng biết tồn tại. Chúng là những gì xảy ra khi chúng ta không có thời gian chuẩn bị phòng thủ.
Phần mềm dễ bị tổn thương
Phần mềm không hoàn hảo. Trình duyệt bạn đang đọc này - cho dù đó là Chrome, Firefox, Internet Explorer hay bất cứ thứ gì khác - được đảm bảo có lỗi trong đó. Một phần mềm phức tạp như vậy được viết bởi con người và có những vấn đề chúng ta chưa biết. Nhiều lỗi trong số này không nguy hiểm lắm - có thể chúng khiến trang web bị trục trặc hoặc trình duyệt của bạn bị sập. Tuy nhiên, một số lỗi là lỗ hổng bảo mật. Kẻ tấn công biết về lỗi có thể tạo ra một khai thác sử dụng lỗi trong phần mềm để có quyền truy cập vào hệ thống của bạn.
Tất nhiên, một số phần mềm dễ bị tổn thương hơn những phần mềm khác. Ví dụ: Java đã có một lỗ hổng không bao giờ kết thúc cho phép các trang web sử dụng trình cắm Java thoát khỏi hộp cát Java và có quyền truy cập đầy đủ vào máy của bạn. Các khai thác quản lý để thỏa hiệp công nghệ hộp cát của Google Chrome đã hiếm hơn rất nhiều, mặc dù ngay cả Chrome cũng đã có 0 ngày.
Tiết lộ có trách nhiệm
Đôi khi, một lỗ hổng được phát hiện bởi những người tốt. Nhà phát triển tự phát hiện ra lỗ hổng bảo mật hoặc tin tặc mũ trắng của họ phát hiện ra lỗ hổng và tiết lộ nó một cách có trách nhiệm, có lẽ thông qua một cái gì đó như chương trình bounty lỗi Pwn2Own hoặc Google Chrome, thưởng cho các tin tặc phát hiện ra lỗ hổng và tiết lộ chúng có trách nhiệm. Nhà phát triển sửa lỗi và phát hành bản vá cho nó.
Những người độc hại sau đó có thể cố gắng khai thác lỗ hổng sau khi nó được tiết lộ và vá, nhưng mọi người đã có thời gian chuẩn bị.
Một số người không vá phần mềm của họ một cách kịp thời, vì vậy những cuộc tấn công này vẫn có thể nguy hiểm. Tuy nhiên, nếu một cuộc tấn công nhắm vào một phần mềm sử dụng lỗ hổng đã biết mà đã có sẵn một bản vá, thì đó không phải là một cuộc tấn công không có ngày.
Tấn công không ngày
Đôi khi, một lỗ hổng được phát hiện bởi những kẻ xấu. Những người phát hiện ra lỗ hổng có thể bán nó cho những người khác và các tổ chức đang tìm cách khai thác (đây là một công việc lớn - đây không chỉ là thanh thiếu niên trong các tầng hầm cố gắng gây rối với bạn nữa, đây là hành vi phạm tội có tổ chức) hoặc tự sử dụng nó. Lỗ hổng có thể đã được nhà phát triển biết, nhưng nhà phát triển có thể không khắc phục kịp thời.
Trong trường hợp này, cả nhà phát triển và người sử dụng phần mềm đều không có cảnh báo trước rằng phần mềm của họ dễ bị tấn công. Mọi người chỉ biết rằng phần mềm dễ bị tấn công khi nó đã bị tấn công, thường bằng cách kiểm tra cuộc tấn công và tìm hiểu lỗi mà nó khai thác.
Đây là một cuộc tấn công không có ngày - nó có nghĩa là các nhà phát triển đã có 0 ngày để xử lý vấn đề này trước khi nó bị khai thác trong tự nhiên. Tuy nhiên, những kẻ xấu đã biết về nó đủ lâu để tạo ra một khai thác và bắt đầu tấn công. Phần mềm vẫn dễ bị tấn công cho đến khi một bản vá được phát hành và áp dụng bởi người dùng, có thể mất vài ngày.
Cách bảo vệ bản thân
Không có ngày nào đáng sợ vì chúng tôi không có bất kỳ thông báo trước nào về chúng. Chúng tôi không thể ngăn chặn các cuộc tấn công zero-day bằng cách giữ cho phần mềm của chúng tôi được vá. Theo định nghĩa, không có bản vá nào có sẵn cho cuộc tấn công zero-day.
Vậy chúng ta có thể làm gì để bảo vệ bản thân khỏi những cuộc khai thác không ngày?
- Tránh phần mềm dễ bị tổn thương: Chúng tôi không biết chắc chắn rằng sẽ có một lỗ hổng zero-day khác trong Java trong tương lai, nhưng lịch sử lâu dài của các cuộc tấn công zero-day của Java có nghĩa là có khả năng sẽ xảy ra. (Trên thực tế, Java hiện dễ bị tấn công bởi một số cuộc tấn công zero-day chưa được vá.) Gỡ cài đặt Java (hoặc vô hiệu hóa trình cắm nếu bạn cần cài đặt Java) và bạn sẽ ít có nguy cơ bị tấn công zero-day . Trình đọc PDF và Flash Player của Adobe trong lịch sử cũng đã có khá nhiều cuộc tấn công zero-day, mặc dù chúng đã được cải thiện gần đây.
- Giảm bề mặt tấn công của bạn: Càng ít phần mềm bạn dễ bị tấn công trong 0 ngày thì càng tốt. Đây là lý do tại sao nên gỡ cài đặt trình cắm mà bạn không sử dụng và tránh để phần mềm máy chủ không cần thiết tiếp xúc trực tiếp với Internet. Ngay cả khi phần mềm máy chủ được vá hoàn toàn, cuộc tấn công zero-day cuối cùng có thể xảy ra.
- Chạy một chương trình chống vi-rút: Antivirus có thể giúp chống lại các cuộc tấn công zero-day. Một cuộc tấn công cố gắng cài đặt phần mềm độc hại trên máy tính của bạn có thể tìm thấy phần cài đặt phần mềm độc hại bị chặn bởi phần mềm chống vi-rút. Các heuristic của một chương trình chống vi-rút (phát hiện hoạt động đáng ngờ) cũng có thể chặn cuộc tấn công không có ngày. Các phần mềm chống vi-rút sau đó có thể được cập nhật để bảo vệ chống lại cuộc tấn công 0 ngày sớm hơn bản vá có sẵn cho chính phần mềm dễ bị tấn công. Đây là lý do tại sao nên sử dụng chương trình chống vi-rút trên Windows một cách thông minh, bất kể bạn cẩn thận đến mức nào.
- Cập nhật phần mềm của bạn: Cập nhật phần mềm của bạn thường xuyên sẽ không bảo vệ bạn trước 0 ngày, nhưng nó sẽ đảm bảo bạn có bản sửa lỗi càng sớm càng tốt sau khi được phát hành. Đây cũng là lý do tại sao điều quan trọng là giảm bề mặt tấn công của bạn và loại bỏ phần mềm dễ bị tấn công mà bạn không sử dụng - đó là phần mềm ít hơn bạn cần đảm bảo được cập nhật.
Chúng tôi đã giải thích khai thác 0 ngày là gì, nhưng lỗ hổng bảo mật vĩnh viễn và chưa được vá là gì? Xem nếu bạn có thể tìm ra câu trả lời tại phần Geek Trivia của chúng tôi!