33 lượt xem

Exploit là gì? Cách phát hiện và ngăn chặn exploit

Exploit là gì

Trong bài viết này, chúng ta sẽ cùng tìm hiểu exploit là gì, cũng như ảnh hưởng của loại hình tấn công này trong an ninh máy tính. Đồng thời Vietnix sẽ đưa ra một số giải pháp an ninh mạng để bảo vệ máy tính hoặc thiết bị di động khỏi tấn công exploit.

Exploit là gì?

Exploit là một loại chương trình, được tạo ra để nhắm vào một điểm yếu nhất định nào đó – gọi là lỗ hổng – trong một phần mềm hoặc phần cứng. Nói rộng ra thì định nghĩa của exploit bao gồm tất cả mọi thứ, từ ứng dụng phần mềm đến các chuỗi code, dữ liệu, hay thậm chí là chỉ các lệnh đơn giản.

Nói một cách khác, exploit là một cách cho phép hacker tận dụng lỗ hổng bảo mật để đạt được lợi ích nhất định nào đó. Nếu một người có thể lập trình nó, và dùng nó để tận dụng lỗ hổng bảo mật của phần cứng hay phần mềm, thì đó là chính là exploit.

Exploit là gì?

Exploit hoạt động như thế nào?

Vậy cách thức hoạt động của exploit là gì? Trước hết, việc khai thác phần mềm không thể được thực hiện nếu không có lỗi thiết kế ở trong phần mềm đó. Một khi các hacker đã xác định được lỗ hổng này, họ có thể viết một chương trình để thực hiện tấn công exploit vào nó.

Exploit hoạt động như thế nào?

Có nhiều hacker sử dụng exploit để phát tán malware. Sau đây là một tình huống mà ta có thể dễ dàng bị tấn công exploit và nhiễm malware:

  • Giả sử bạn vô tình truy cập vào một trang web có quảng cáo độc hại trong quá trình truy cập internet. Quảng cáo này bề ngoài trông có vẻ vô hại, nhưng thực chất nó lại có một exploit kit đang scan máy của bạn để tìm ra những điểm yếu.
  • Sau khi tìm thấy bất kỳ lỗ hổng nào, quảng cáo đó sẽ thực hiện khai thác để truy cập vào máy tính thông qua các lỗ hổng đó. Tiếp đến, chúng sẽ bắt đầu phát tán malware vào trong hệ thống. Khi exploit được dùng cho mục đích cài đặt malware, thì malware đó sẽ được gọi là payload.

Xét về cấp độ kỹ thuật, cyber exploit (khai thác không gian mạng) lại không được xem là một malware, sở dĩ vì chúng chẳng có gì độc hại cả. Sự nguy hiểm của việc khai thác đến từ chính những hành động của hacker sau khi malware xâm nhập vào hệ thống. Không có một thuật ngữ nhất định về “exploit virus”, như ransomware hay virus. Tuy nhiên, tấn công exploit chủ yếu được dùng để phát tán malware trong các cuộc tấn công lâu dài.

Sự khác biệt giữa exploit và vulnerability (lỗ hổng) là gì?

Vulnerability và exploit là hai khái niệm liên kết với nhau rất chặt chẽ. Vậy sự khác nhau giữa vulnerability và exploit là gì?

Sự khác biệt giữa exploit và vulnerability (lỗ hổng) là gì?

Vulnerability (lỗ hổng bảo mật) dùng để chỉ bất kỳ điểm yếu nào có trong một ứng dụng phần mềm. Tuy nhiên, không phải mọi lỗ hổng đều có thể bị khai thác để phát tán malware vào trong hệ thống. Có một số lỗ hổng nhất định không thể bị khai thác được.

Exploit, dùng để chỉ một cuộc tấn công sử dụng các lỗ hổng bảo mật của phần mềm nhằm gây ra ảnh hưởng nhất định đến hệ thống mục tiêu. Chẳng hạn như phát tán malware, hay cấp cho hacker quyền kiểm soát hoặc truy cập. Lỗ hổng bảo mật chỉ thực sự nguy hiểm khi có người tìm ra cách để tấn công vào nó. Tuy nhiên, hãy luôn nhớ rằng khi có bất kỳ lỗ hổng nào, sẽ luôn có người cố gắng khai thác nó.

Hãy xét một ví dụ thực tế, giả sử chương trình phần mềm của chúng ta là một căn nhà. Mặc dù cửa chính đã được khóa chặt, nhưng cửa tầng hai thì lại mở toang – đó chính là một lỗ hổng. Và nó không thật sự nguy hiểm gì trừ khi có một kẻ trộm quyết định khai thác nó, với công cụ là một cái thang. Sau đó, kẻ trộm có thể exploit vào lỗ hổng bảo mật này.

Tuy vậy, như đã nói ở trên thì các lỗ hổng chỉ thực sự nguy hiểm nếu có người tìm ra cách khai thác được nó. Ở ví dụ ở hình trên, có thể thấy cửa sổ tầng ba vẫn mở (vẫn tồn tại lỗ hổng bảo mật), nhưng kẻ trộm vẫn chưa thể khai thác được lỗ hổng đó (vì thang chưa đủ cao).

Các kiểu exploit phổ biến

Có càng nhiều lỗ hổng bảo mật thì sẽ có càng nhiều khả năng khai thác phần mềm. Do đó, hầu như mỗi ngày ta đều phát hiện ra các cuộc tấn công mới. Vậy các loại exploit là gì? Exploit có thể được chia ra thành hai loại, phụ thuộc vào việc lỗ hổng bảo mật đã được khắc phục hay chưa.

1. Known exploit

Khi ai đó phát hiện ra lỗ hổng bảo mật của phần mềm, họ thường sẽ thông báo cho developer của phần mềm đó để có thể nhanh chóng đưa ra bản vá khắc phục lỗ hổng đó. Hoặc họ cũng có thể lan truyền về lỗ hổng đó trên internet để cảnh báo những người dùng khác. Dù bằng cách nào đi chăng nữa, các developer đều được mong chờ có thể phản hồi và nhanh chóng khắc phục lỗ hổng đó, trước khi có bất kỳ hacker nào tìm ra cách khai thác.

Tiếp đến, các bản vá (patch) này sẽ được đưa cho người dùng thông qua các bản cập nhật phần mềm. Đây cũng chính là lý do vì sao ta cần phải liên tục cập nhật phần mềm của mình. Bất kỳ cách khai thác nào nhắm vào lỗ hổng đã được vá đều được gọi là known exploit (khai thác đã biết). Vì mọi người đều đã biết được về lỗ hổng bảo mật đó.

2. Zero-day exploit (Unknown exploit)

Đôi khi, exploit có thể đến rất bất ngờ. Khi một hacker phát hiện ra lỗ hổng bảo mật nào đó, và ngay lập tức tìm ra cách để khai thác nó, thì được gọi là zero-day exploit (khai thác chưa biết). Bởi vì exploit diễn ra rất nhanh sau khi tìm ra được lỗ hổng bảo mật.

Zero-day exploit rất nguy hiểm, vì không hề có giải pháp rõ ràng hay tức thời nào cho các lỗ hổng bảo mật. Chỉ có những kể tấn công mới phát hiện ra các lỗ hổng đó, và cũng chỉ họ mới biết cách để khai thác nó. Để có thể đối phó với kiểu tấn công này, các developer bắt buộc phải đưa ra bản vá, tuy nhiên vẫn không thể bảo vệ những người đã bị nhắm mục tiêu trước đó.

3. Hardware exploit (Khai thác phần cứng)

Mặc dù chủ yếu chúng ta chỉ nghe đến khai thác phần mềm, điều này không có nghĩa rằng đó là loại khai thác duy nhất. Đôi khi, các hacker thậm chí còn có thể khai thác các lỗ hổng bảo mật ở trong phần cứng vật lý (và cả firmware) trong thiết bị.

Meltdown và spectre là hai loại lỗ hổng phần cứng nổi tiếng nhất, bởi mức độ nghiêm trọng của chúng. Phạm vi của meltdown chỉ bị giới hạn ở những thiết bị sử dụng processor của Intel. Mặt khác, lỗ hổng spectre lại hiện diện ở mọi processor.

May mắn thay, hiện nay vẫn chưa có cách nào để khai thác hai loại lỗ hổng này. Đồng thời, Intel và những nhà sản xuất khác cũng đã nhanh chóng đưa ra các bản vá để giảm thiểu rủi ro.

Những đối tượng nào dễ bị tấn công Exploit

Vậy những mục tiêu “lý tưởng” của exploit là gì? Đó chính là những người dùng không bao giờ chịu cập nhật phần mềm. Những phần mềm có trên thì trường càng lâu thì các hacker càng có nhiều thời gian để tìm ra các lỗ hổng, cũng như cách để khai thác nó.

Lấy ví dụ như RIG, Magnitude, và Neutrino – đều dựa trên những phần mềm đã lỗi thời như Internet Explorer hay Adobe Flash. Sau đó, WannaCry và NotPetya đã tận dụng khai thác lỗ hổng bảo mật EternalBlue. Những người dùng chưa cập nhật phần mềm đều đã chịu những ảnh hưởng nghiêm trọng.

Đối với Zero-day exploit, thì đây lại là ngoại lệ. Bởi vì không hề có bất kỳ cảnh báo nào, cũng như không có cơ hội để cập nhật, vì vậy tất cả người dùng đều có khả năng trở thành nạn nhân.

Cách phòng chống exploit

Dù có ảnh hưởng rất nghiêm trọng, nhưng ta hoàn toàn có thể tự bảo vệ mình khỏi exploit. Vậy cách phòng chống exploit là gì? Sau đây là một số cách cơ bản để người dùng có thể phòng chống exploit:

  • Luôn cập nhật phần mềm: Mọi chuyên gia an ninh đều cho rằng cách tốt nhất và đơn giản nhất để bảo vệ bản thân khỏi exploit là luôn sử dụng phiên bản mới nhất của phần mềm. Hãy cho phép thiết bị tự động cập nhật phần mềm nếu như có.
  • Sao lưu file:Mặc dù việc cập nhật có thể bảo vệ người dùng khỏi tấn công Known exploit, nhưng với Zero-day exploit thì không. Do đó, hãy backup các file quan trọng, phòng trường hợp bị tấn công bởi ransomware hay các malware độc hại khác. Đối với việc backup vào ổ đĩa ngoài, hãy ngăt kết nối khi không sử dụng ổ đĩa và lưu trữ riêng biệt với máy tính hiện tại.
  • Sử dụng phần mềm từ nhà cung cấp đáng tin cậy: Luôn sử dụng các tiện ích mở rộng và plugin từ những nhà cung cấp đáng tin cậy. Và nếu có bị tấn công Zero-day, các nhà cung cấp cũng sẽ phản hồi sớm nhất có thể để đưa ra các bản vá.

Những câu hỏi thường gặp về exploit?

Lời kết

Vietnix vừa chia sẻ cho bạn khái niệm về exploit và cách phòng chống exploit hiệu quả, hy vọng qua bài viết này bạn có thể có thêm nhiều kiến thức mới để có thể áp dụng vào việc bảo vệ dữ liệu cá nhân cũng như máy tính của mình tốt hơn, chúc bạn thành công!