Một lỗ hổng trong Log4J cực kỳ quan trọng đang bị hacker khai thác, có thể gây ra một “cuộc khủng hoảng bảo mật” trên toàn bộ mạng internet. Rất nhiều ứng dụng và công ty công nghệ bị ảnh hưởng như: game Minecraft, Steam, Microsoft, Cisco, CloudFlare, VM-ware,… thậm chí cả Google hay Apple cũng không phải ngoại lệ.

Lỗ hổng Log4j ảnh hưởng tới hàng chục triệu ứng dụng Java

Lỗ hổng có mã CVE-2021-44228, được đặt tên là Log4Shell hoặc LogJam, có mức độ nghiêm trọng CVSS score là 10/10, được cho là đã gây ra một “cuộc khủng hoảng bảo mật trên internet” bởi mức độ phổ biến của framework Apache Log4j. Vấn đề nghiêm trọng đến mức, ngay cả khi các bản vá bảo mật được tung ra, các chuyên gia nhận định nó vẫn sẽ gây ra hậu quả nặng nề cho thế giới internet.

Ở thời điểm viết bài, framework Apache Log4j đang được sử dụng bởi hơn 5 TRIỆU ứng dụng mã nguồn mở trên toàn cầu, con số này còn có thể lớn hơn gấp nhiều lần đối với các ứng dụng không công bố mã nguồn.

Nhiều ứng dụng nổi tiếng cho doanh nghiệp đều đã xác nhận một trong các sản phẩm của họ đã bị ảnh hưởng bởi lỗ hổng như CloudFlare, Microsoft, Cisco, VMware,…

Theo nghiên cứu của Lunasec, có thể cả Apple và nền tảng gaming Steam cũng đã bị ảnh hưởng bởi lỗ hổng nguy hiểm này.

Hacker đang tích cực khai thác

Vấn đề nằm ở Log4j, một framework mã nguồn mở phổ biến trên Apache, thường được sử dụng để ghi lại nhật ký hoạt động trong một ứng dụng. Lỗi này có thể dễ dàng bị lợi dụng để kiểm soát từ xa các hệ thống bị tấn công. Đồng thời, tin tặc đang tích cực quét internet để tìm các hệ thống bị ảnh hưởng. Một số đã phát triển các công cụ tự động khai thác lỗi, cũng như các loại worm có thể lây lan độc lập từ hệ thống dễ bị tấn công này sang hệ thống khác trong điều kiện thích hợp.

Log4j là một thư viện Java. Mặc dù ngôn ngữ lập trình này ít phổ biến với người tiêu dùng, nhưng nó vẫn được sử dụng rất rộng rãi trong các hệ thống doanh nghiệp và ứng dụng web. Dự kiến có nhiều dịch vụ phổ biến sẽ bị ảnh hưởng.

Theo Thewire, Minecraft do Microsoft sở hữu vào thứ Sáu đã đăng hướng dẫn chi tiết về cách người chơi phiên bản Java của trò chơi nên vá hệ thống của họ. “Việc khai thác này ảnh hưởng đến nhiều dịch vụ — bao gồm cả Minecraft Java Edition”. “Lỗ hổng này tiềm ẩn nguy cơ máy tính của bạn bị xâm nhập.” Giám đốc điều hành Cloudflare, Matthew Prince, đã tweet hôm thứ Sáu rằng vấn đề “tồi tệ đến mức” công ty cơ sở hạ tầng internet sẽ cố gắng triển khai ít nhất một số biện pháp bảo vệ ngay cả đối với khách hàng sử dụng dịch vụ miễn phí của mình.

Tất cả những gì kẻ tấn công phải làm để khai thác lỗ hổng là gửi một chuỗi mã độc hại tới hệ thống, để rồi thông điệp độc hại này sau đó sẽ được ghi lại bằng Log4j phiên bản 2.0 hoặc cao hơn. Việc khai thác cho phép kẻ tấn công tải mã Java tùy ý trên máy chủ, cho phép chúng quyền kiểm soát hệ thống mục tiêu.

Các nỗ lực ngăn chặn lây lan

Cơ quan An ninh mạng và Cơ sở hạ tầng của Hoa Kỳ đã đưa ra cảnh báo về lỗ hổng bảo mật vào thứ Sáu, cũng như CERT của Úc. Cảnh báo của tổ chức an ninh mạng của chính phủ New Zealand lưu ý rằng lỗ hổng bảo mật đang được khai thác tích cực.

“Nó khá tệ,” Wortley nói. “Có rất nhiều người dễ bị ảnh hưởng, quan trọng là lỗ hổng này dễ khai thác. Có một số phương án giảm thiểu, nhưng đây là thế giới thực, sẽ có nhiều công ty không có trong các bản phát hành hiện tại đang tranh giành để khắc phục điều này. “

Apache đánh giá lỗ hổng bảo mật ở mức độ nghiêm trọng “nghiêm trọng” và đã công bố các bản vá và biện pháp giảm thiểu vào thứ Sáu.

Khuyến nghị giúp khắc phục triệt để lỗ hổng Log4J

Kiểm tra xem bạn có bị ảnh hưởng hay không?

Hiện tại, phần lớn các ứng dụng sử dụng framework Log4j phiên bản 2x tới trước phiên bản mới nhất đều bị ảnh hưởng bởi lỗ hổng này.

Bước 1: Để kiểm tra xem ứng dụng web và máy chủ của bạn có bị ảnh hưởng bởi lỗ hổng không, vui lòng xem khuyến nghị bảo mật từ Apache tại đây.

Hoặc, bạn có thể sử dụng công cụ quét bảo mật CyStack Web Security để quét lỗ hổng Log4J. Đăng ký và quét miễn phí tại đây.

Bước 2: Đối chiếu với danh sách các ứng dụng sử dụng Java được tổng hợp tại link GitHub này.

Nếu bạn sử dụng bất kỳ ứng dụng nào có trong danh sách trên, hoặc CyStack Web Security quét thấy lỗ hổng trong ứng dụng bạn tự phát triển, bạn cần cập nhật phần mềm lên phiên bản mới nhất, tức phiên bản v2.15.0. Lưu ý, các phiên bản Log4j 1.x đã không còn được hỗ trợ.

Khắc phục lỗ hổng cho các phiên bản trước v2.15.0

Tuy nhiên, theo cố vấn bảo mật CyStack, do tính chất đặc thù của từng doanh nghiệp, việc nâng cấp không phải luôn luôn khả thi với mọi doanh nghiệp. Hacker vẫn có thể bypass và khai thác lỗ hổng ở một số dịch vụ. Vì vậy, nếu vì bất kỳ lý do gì bạn chưa thể cập nhật framework lên phiên bản v2.15.0, bạn có thể thực thực hiện các bước cấu hình hệ thống theo hướng dẫn của Apache như sau để giảm thiểu rủi ro:

Trong các bản phát hành trước (> = 2.10), lỗ hổng này có thể được giảm thiểu bằng cách đặt thuộc tính hệ thống “log4j2.formatMsgNoLookups” thành “true” hoặc bằng cách xóa lớp JndiLookup khỏi classpath (ví dụ: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class).

Bạn có thể kiểm tra việc sử dụng các phiên bản bị ảnh hưởng của Log4J theo cách thủ công bằng cách tìm kiếm kho lưu trữ dự án của mình để sử dụng Log4J, thường nằm trong tệp pom.xml.

Nếu có thể, hãy nâng cấp lên Log4J phiên bản 2.15.0. Nếu bạn đang sử dụng Log4J v1, hãy xem hướng dẫn khắc phục dành riêng cho phiên bản này.

Xin lưu ý rằng Log4J v1 là End Of Life (EOL) và sẽ không nhận được các bản vá cho sự cố này. Log4J v1 cũng dễ bị tấn công bởi các vectơ RCE khác và chúng tôi khuyên bạn nên chuyển sang Log4J 2.15.0 nếu có thể.

Nếu không thể nâng cấp, hãy đảm bảo thuộc tính hệ thống -Dlog4j2.formatMsgNoLookups=true được đặt trên cả thành phần phía máy khách và phía máy chủ.