Có chuyện gì với lỗ hổng khai phá internet có tên gọi là “Log4j” vậy? Sao mọi người đều lo lắng về nó đến thế?

Tui thấy khá nhiều tựa đề trên reddit xoay quanh việc lỗi khai thác các server được nhắc đến với cái tên “Log4j” và “Log4Shell”. Điều này có nghĩa là gì và tui có cần phải lo về nó hông, chuyện bảo mật này nọ với tư cách là người dùng cá nhân.

_____________________

Câu trả lời nè: Rất, rất nhiều servers (máy chủ) kể cả các internet servers cũng sử dụng ngôn ngữ lập trình gọi là Java. Java xuất hiện chắc phải tít từ thuở sơ khai, tính tới giờ cũng cỡ 1/4 thế kỷ rồi, hiểu theo tiếng công nghệ thông tin thì đó là một khoảng thời gian rất dài. Hay nói cách khác, ngoài kia có vô cùng nhiều server đang sử dụng java.

Trong đó, có một việc mà hầu như mọi server đều phải làm là tạo ra những dữ liệu ghi chép lại lịch sử dưới dạng text (còn gọi là tạo ra các tệp tin logs). Ví dụ vầy nha “Vào lúc 12:32pm người dùng 67456 đã gửi một đánh giá cho sản phẩm 7635824 với nội dung: Đây là cái bàn chải ngon nhất tui từng mua!”.

Một trong số những plugins Java lâu đời nhất (gọi là các thư viện) dùng cho việc logging (ghi chép lại) nhiều thứ trên một máy chủ gọi là Log4J, và Log4J này tồn tại cũng cỡ 20 năm rồi. Hay nói cách khác, ngoài kia có vô cùng nhiều server sử dụng Log4J.

Nhưng hoá ra một số phiên bản của Log4J bị dính một lỗi chí mạng khiến cho một vài mẩu chữ được format theo kiểu đặc biệt có thể lưu theo vào log, nhờ vậy một lệnh tùy ý có thể được thực thi trong máy chủ đó.

Vậy ví dụ lại nha, “Vào lúc 12:32pm người dùng 67456 đã gửi một đánh giá cho sản phẩm 7635824 với nội dung: {lệnh gửi toàn bộ thông tin cá nhân bảo mật của user 82738 đến email badguy267-a-móc-doc-ac.lua-dao-chấm-com}”

Những ví dụ này đã tối giản hết mức rồi đó, hy vọng chúng sẽ đủ truyền đạt được bản chất cơ bản của mối đe dọa này.

Nhưng xui cái là ở mức độ cá nhân, bạn sẽ chẳng thể làm được gì về chuyện này. Trước tiên, siêu khó để biết được internet services nào đang lệ thuộc vào Java. Cái thứ hai là gần như bất khả thi trong việc biết được service nào đang dùng Log4J. Điều thứ ba, càng khó khả thi hơn để biết được phiên bản Log4J nào mà họ đang sử dụng.

>u/Athen65 (824 points)

Vậy cơ bản thì nó là SQL injection nhưng là Java?

>>u/Mezmorizor (953 points)

Nghe cứ như ông đang miêu tả arbitrary code execution (ACE), nếu đúng là thế thì còn tệ ác nữa.

>>>u/lazilyloaded (262 points)

Yep, đó chính xác là bản chất của nó. Lỗ hổng điên rồ vl.

>>>>u/SonDontPlay (159 points)

Tui đang học Cybersecurity và nhận ra điên rồ hơn là việc chúng ta tìm ra vô số lỗ hổng… tồn tại từ tỷ tỷ năm trước.

Leave a Reply

Your email address will not be published. Required fields are marked *