Đầu tuần này, kỹ sư phần mềm Paul Butler đã đăng một bài viết trên blog với tiêu đề "Lén lút đưa dữ liệu tùy ý qua biểu tượng cảm xúc (emoji)". Trong bài viết, anh giới thiệu một công cụ do mình tạo ra để cho phép bạn tự thực hiện điều này và giải thích cách thức và lý do công cụ hoạt động.
Về cơ bản, lỗ hổng này bắt nguồn từ một vấn đề cơ bản của Unicode — khả năng ẩn các byte dữ liệu trong bất kỳ ký tự Unicode nào bằng cách đơn giản là không đưa dữ liệu đó vào quy trình kết xuất (render). Unicode bao gồm một lệnh kết xuất mà sau đó, dữ liệu khác có thể được đóng gói nhưng không được hiển thị. Việc khai thác điều này cho phép người dùng tạo các thông điệp ẩn bên trong các ký tự Unicode.
Khả năng đóng gói các thông điệp ẩn bên trong các ký tự Unicode này có phải là một vấn đề nghiêm trọng không? Có lẽ là không — trong khi người dùng cuối sẽ không nhìn thấy các thông điệp bí mật, máy tính vẫn sẽ thấy chúng ổn, và việc đưa mã thực thi vào đó là không thể. Tuy nhiên, Butler chỉ ra rằng tính năng này vẫn có thể bị lạm dụng để lén lút đưa dữ liệu qua các bộ lọc nội dung của con người (đặc biệt là các liên kết ẩn, v.v.) hoặc để đánh dấu chìm văn bản một cách tinh vi, có khả năng giúp theo dõi rò rỉ hoặc xác định đạo văn dễ dàng hơn. Vì điều này áp dụng cho tất cả các ký tự Unicode, về mặt lý thuyết, người dùng có thể áp dụng các thông điệp hoặc dấu chìm ẩn cho mọi ký tự trên một trang web.
May mắn thay, việc lén đưa vào một tệp thực thi, một tệp hình ảnh hoặc một phần mở rộng ứng dụng là không thể. Tuy nhiên, việc ẩn văn bản ẩn khỏi mắt người có thể gây ra các vấn đề khác, đặc biệt là khi sử dụng đúng ngữ cảnh. Mặc dù tiêu đề đề cập đến "dữ liệu tùy ý", người dùng có thể ẩn bất cứ thứ gì họ muốn trong các ký tự Unicode, mặc dù điều này có vẻ bị giới hạn ở văn bản. Điều này khác với, chẳng hạn, "thực thi mã tùy ý", nơi các vấn đề bảo mật mở ra một hệ thống cho việc thực thi mã độc hại, không chủ ý, thường bằng cách khai thác các lỗ hổng có trong phần mềm hợp pháp, bao gồm cả phần mềm trình điều khiển.
Vì vậy, đừng lo lắng — bạn gần như không thể bị hệ thống của mình đột nhiên bị tấn công bởi một loại virus chết người ẩn trong Unicode của một biểu tượng cảm xúc thông thường trong thời gian sớm. Khả năng ai đó ẩn dữ liệu trong các tin nhắn Unicode được gửi cho bạn cũng cực kỳ nhỏ đến mức gần như không thể.
Về cơ bản, lỗ hổng này bắt nguồn từ một vấn đề cơ bản của Unicode — khả năng ẩn các byte dữ liệu trong bất kỳ ký tự Unicode nào bằng cách đơn giản là không đưa dữ liệu đó vào quy trình kết xuất (render). Unicode bao gồm một lệnh kết xuất mà sau đó, dữ liệu khác có thể được đóng gói nhưng không được hiển thị. Việc khai thác điều này cho phép người dùng tạo các thông điệp ẩn bên trong các ký tự Unicode.
Khả năng đóng gói các thông điệp ẩn bên trong các ký tự Unicode này có phải là một vấn đề nghiêm trọng không? Có lẽ là không — trong khi người dùng cuối sẽ không nhìn thấy các thông điệp bí mật, máy tính vẫn sẽ thấy chúng ổn, và việc đưa mã thực thi vào đó là không thể. Tuy nhiên, Butler chỉ ra rằng tính năng này vẫn có thể bị lạm dụng để lén lút đưa dữ liệu qua các bộ lọc nội dung của con người (đặc biệt là các liên kết ẩn, v.v.) hoặc để đánh dấu chìm văn bản một cách tinh vi, có khả năng giúp theo dõi rò rỉ hoặc xác định đạo văn dễ dàng hơn. Vì điều này áp dụng cho tất cả các ký tự Unicode, về mặt lý thuyết, người dùng có thể áp dụng các thông điệp hoặc dấu chìm ẩn cho mọi ký tự trên một trang web.
![1739432428636.png 1739432428636.png](https://vnrv.s3.hn-1.cloud.cmctelecom.vn/data/attachments/36/36251-74dc7b560d97d158fd879d46f29bfa30.jpg)
May mắn thay, việc lén đưa vào một tệp thực thi, một tệp hình ảnh hoặc một phần mở rộng ứng dụng là không thể. Tuy nhiên, việc ẩn văn bản ẩn khỏi mắt người có thể gây ra các vấn đề khác, đặc biệt là khi sử dụng đúng ngữ cảnh. Mặc dù tiêu đề đề cập đến "dữ liệu tùy ý", người dùng có thể ẩn bất cứ thứ gì họ muốn trong các ký tự Unicode, mặc dù điều này có vẻ bị giới hạn ở văn bản. Điều này khác với, chẳng hạn, "thực thi mã tùy ý", nơi các vấn đề bảo mật mở ra một hệ thống cho việc thực thi mã độc hại, không chủ ý, thường bằng cách khai thác các lỗ hổng có trong phần mềm hợp pháp, bao gồm cả phần mềm trình điều khiển.
Vì vậy, đừng lo lắng — bạn gần như không thể bị hệ thống của mình đột nhiên bị tấn công bởi một loại virus chết người ẩn trong Unicode của một biểu tượng cảm xúc thông thường trong thời gian sớm. Khả năng ai đó ẩn dữ liệu trong các tin nhắn Unicode được gửi cho bạn cũng cực kỳ nhỏ đến mức gần như không thể.