Computer exploit (khai thác lỗ hổng máy tính) hay exploit là một cuộc tấn công lợi dụng một lỗ hổng cụ thể trên hệ thống để giúp những kẻ tấn công xâm nhập vào máy tính. Thuật ngữ exploit (khai thác lỗ hổng) đề cập đến hành động thực hiện thành công một cuộc tấn công như vậy.
Cuộc tấn công khai thác lỗ hổng lợi dụng điểm yếu trong hệ điều hành, ứng dụng hoặc bất kỳ code phần mềm nào khác, bao gồm các plug-in ứng dụng hoặc thư viện phần mềm. Chủ sở hữu của những phần code này thường đưa ra một bản sửa lỗi hoặc bản vá để khắc phục vấn đề. Người dùng hệ thống hoặc ứng dụng chịu trách nhiệm cập nhật bản vá, thường có thể được tải xuống từ web của nhà phát triển phần mềm hay do hệ điều hành hoặc ứng dụng tự động tải xuống. Việc không cài đặt một bản vá cho một vấn đề nhất định sẽ khiến người dùng trở thành nạn nhân của cuộc tấn công computer exploit và có khả năng bị vi phạm bảo mật.
Tìm hiểu về Computer exploit
Các loại computer exploit
Các cuộc tấn công khai thác bảo mật (Security exploit) xuất hiện dưới nhiều hình thức và quy mô khác nhau, trong đó có một số kỹ thuật được sử dụng thường xuyên. Một số lỗ hổng bảo mật dựa trên web phổ biến nhất bao gồm các cuộc tấn công SQL injection, cross-site scripting và cross-site request forgery (kĩ thuật tấn công sử dụng quyền chứng thực của người dùng đối với 1 website khác), cũng như lạm dụng mã xác thực bị hỏng hoặc việc cấu hình bảo mật không chính xác.
Computer exploit có thể được phân loại theo nhiều cách khác nhau, tùy thuộc vào cách hoạt động và loại tấn công mà chúng có thể thực hiện. Kiểu khai thác lỗ hổng quen thuộc nhất là zero-day exploit, lợi dụng lỗ hổng zero-day. Lỗ hổng zero-day xảy ra khi một phần mềm - thường là ứng dụng hoặc hệ điều hành - chứa lỗ hổng bảo mật quan trọng mà nhà cung cấp không biết. Lỗ hổng chỉ được biết đến khi phát hiện ra hacker đang khai thác lỗ hổng. Đó là lý do vì sao thuật ngữ này có tên zero-day exploit. Khi một cuộc tấn công khai thác lỗ hổng như vậy xảy ra, các hệ thống chạy phần mềm sẽ dễ bị tấn công, cho đến khi nhà cung cấp phát hành bản vá để sửa lỗ hổng và người dùng áp dụng bản vá cho phần mềm.
Computer exploit cũng gây ra những hậu quả như nhiều cuộc tấn công khác, chẳng hạn như denial of service, thực thi code từ xa, privilege escalation (hacker chiếm quyền kiểm soát toàn bộ hệ thống), phân phối phần mềm độc hại, v.v... Computer exploit cũng có thể được chia theo loại lỗ hổng được khai thác, bao gồm lỗi tràn bộ đệm, code injection hoặc các loại lỗ hổng xác thực đầu vào khác và những cuộc tấn công kênh bên (side-channel attack).
Việc khai thác lỗ hổng diễn ra như thế nào?
Mặc dù, việc khai thác lỗ hổng có thể xảy ra theo nhiều cách khác nhau, nhưng phương pháp phổ biến nhất là khai thác từ các trang web độc hại. Nạn nhân có thể vô tình truy cập một trang web như vậy hoặc họ có thể bị lừa nhấp vào liên kết đến trang web độc hại trong email phishing hoặc quảng cáo độc hại.
Các trang web độc hại được sử dụng để khai thác lỗ hổng máy tính có thể được trang bị các gói khai thác, bộ công cụ phần mềm, bao gồm phần mềm độc hại có thể được sử dụng làm cơ sở cho những cuộc tấn công vào các lỗ hổng trình duyệt khác nhau, từ một trang web độc hại hoặc từ một trang web đã bị hack. Các cuộc tấn công như vậy thường nhắm mục tiêu vào phần mềm được mã hóa bằng Java, trình duyệt chưa được cập nhật bản vá hoặc plug-in trình duyệt. Chúng thường được sử dụng để triển khai phần mềm độc hại trên máy tính của nạn nhân.
Khai thác lỗ hổng tự động, chẳng hạn như bởi các trang web độc hại, thường bao gồm hai thành phần chính: Exploit code và shell code. Exploit code là phần mềm cố gắng khai thác lỗ hổng đã biết. Shell code là payload của phần mềm được thiết kế để chạy khi hệ thống đích bị xâm phạm. Cái tên shell code xuất phát từ thực tế là một số các payload này có thể mở shell để chạy những lệnh chống lại hệ thống đích.
Những cuộc khai thác lỗ hổng nổi tiếng
Trong những năm gần đây, nhiều cuộc tấn công khai thác lỗ hổng cao cấp đã được sử dụng để thực hiện các hành vi vi phạm dữ liệu quy mô lớn và những cuộc tấn công bằng phần mềm độc hại. Chẳng hạn, năm 2016, Yahoo tuyên bố một vụ hack xảy ra nhiều năm trước đó đã khiến dữ liệu của 1 tỷ người dùng bị rò rỉ. Những kẻ tấn công đã giành được quyền truy cập vào tài khoản email của người dùng vì mật khẩu được bảo vệ bởi MD5, một thuật toán hash yếu và lỗi thời.
Một trong những cuộc tấn công khai thác lỗ hổng nổi tiếng nhất trong những năm gần đây là EternalBlue, tấn công vào một lỗ hổng được vá trong giao thức Windows Server Message Block. Cuộc tấn công này được công bố bởi nhóm Shadow Brokers và sau đó được tiếp tục sử dụng trong các cuộc tấn công ransomware WannaCry và NotPetya.
Gần đây nhất, công ty báo cáo tín dụng Equachus đã gặp phải một cuộc tấn công vi phạm dữ liệu nghiêm trọng, sau khi những kẻ tấn công khai thác lỗ hổng trong framework Apache Struts, được sử dụng trong một ứng dụng web của công ty. Một bản vá đã được phát hành vào đầu năm 2017, nhưng Equachus đã không cập nhật ứng dụng web của mình cho đến khi phát hiện ra kẻ tấn công.