Dấu hiệu săn tìm Unicode phát hiện thư lừa đảo

Bộ dò chèn lệnh của Microsoft phát hiện chiến dịch lừa đảo dùng ký tự Unicode vô hình để làm đứt từ khóa và qua mặt hệ thống lọc.

Mã ký tự hiển thị trên màn hình máy tính trong bóng tối
Ký tự vô hình có thể làm thay đổi chuỗi máy đọc.

Dấu hiệu săn tìm của Microsoft đã phát hiện một chiến dịch lừa đảo qua thư điện tử dùng ký tự Unicode vô hình. Kẻ tấn công dùng các ký tự này để làm đứt những từ khóa liên quan đến gọi vốn, khoản vay và tín dụng. Theo số liệu của Microsoft được The New Stack dẫn lại, số thư khớp với dấu hiệu săn tìm tăng nhanh trong vài ngày. Con số ban đầu khoảng 21.000, sau đó vượt 2,3 triệu.

Kẻ tấn công chèn ký tự thẻ Unicode vào nội dung thư. Người nhận không nhìn thấy chúng, nhưng phần mềm vẫn xử lý chúng như một phần của chuỗi ký tự. Microsoft cho biết kỹ thuật này được dùng ở quy mô lớn để qua mặt bộ lọc thư rác và các bộ phân loại dựa trên học máy.

Nội dung chiến dịch: ký tự vô hình làm đứt từ khóa

Ký tự thẻ Unicode có thể nằm giữa các chữ cái mà không xuất hiện trên giao diện. Người đọc vẫn thấy một từ bình thường, còn phần mềm nhận một chuỗi đã bị chèn thêm điểm mã. Phép khớp từ khóa chính xác vì thế có thể không nhận ra từ cần phát hiện.

Các nhà nghiên cứu bảo mật đã ghi nhận một kỹ thuật gần như tương tự nhắm vào mô hình ngôn ngữ lớn, thường được gọi là giấu ASCII. Kỹ thuật này sử dụng những ký tự thẻ Unicode trong khoảng U+E0000 đến U+E007F. Theo The New Stack, các điểm mã này tồn tại trong luồng ký tự nhưng không được phần lớn giao diện hiển thị.

Màn hình máy tính hiển thị các chuỗi mã ký tự
Điểm mã vô hình vẫn tồn tại trong chuỗi.

Microsoft Defender for Office 365 đã theo dõi chiến dịch này. Kẻ tấn công không dùng ký tự thẻ để đưa chỉ dẫn ẩn vào mô hình AI. Chúng đặt ký tự vô hình vào giữa những từ liên quan đến gọi vốn, khoản vay và tín dụng. Đây là các từ có tín hiệu cao đối với bộ lọc. Phép khớp chính xác vì thế không còn nhận ra chúng.

Thời điểmSố thư khớp dấu hiệu săn tìm
Ngày trước khi chiến dịch bắt đầuKhoảng 21.000
Ngày hôm sauHơn 1,3 triệu
Hai ngày sau đóHơn 2,3 triệu

Trong suốt thời gian này, người nhận vẫn nhìn thấy những lời mời vay vốn doanh nghiệp và mở hạn mức tín dụng có vẻ bình thường.

Bộ tách token không xử lý Unicode giống nhau

Một ký tự Unicode nằm giữa từ có thể thay đổi cách hệ thống chia văn bản thành token, tức đơn vị xử lý. Mức độ ảnh hưởng phụ thuộc vào mô hình và bộ tách token cụ thể. Một bộ có thể bỏ qua ký tự thẻ. Bộ khác có thể chia phần văn bản xung quanh theo cách khác.

Hệ thống xử lý ngôn ngữ tự nhiên chia văn bản thành các token trước khi phân tích. Theo The New Stack, nội dung trông nguyên vẹn trên màn hình có thể trở thành một chuỗi khác khi đi vào mô hình nếu có ký tự Unicode bất ngờ nằm giữa từ.

Mã ký tự trên màn hình máy tính trong phòng tối
Unicode có thể làm thay đổi cách tách token.

Nhóm phát triển cần kiểm tra đúng mô hình và bộ tách token đang dùng, thay vì cho rằng mọi hệ thống đều phản ứng giống nhau.

Chuẩn hóa Unicode thông thường cũng chưa chắc loại bỏ được các ký tự này. NFC và NFD có thể xử lý những cách biểu diễn khác nhau của cùng một ký tự. Tuy nhiên, hai dạng chuẩn hóa này không được thiết kế để xóa ký tự thẻ Unicode. Ký tự vô hình do đó vẫn có thể đi qua bước chuẩn hóa và tới công đoạn tiếp theo.

Tác tử AI có ít tín hiệu phòng vệ hơn thư điện tử

Nhà cung cấp thư điện tử có thể đánh giá nhiều tín hiệu ngoài nội dung thư, còn một quy trình AI đôi khi chỉ nhận phần văn bản được chuyển tiếp. Nếu ký tự vô hình làm thay đổi chuỗi ở bước trung gian, người kiểm tra có thể không thấy dấu hiệu bất thường trong nội dung hiển thị.

Rủi ro tăng lên khi tác tử AI tiếp nhận dữ liệu bên ngoài rồi dùng dữ liệu đó để quyết định hành động tiếp theo. Ký tự vô hình có thể thay đổi cách văn bản được xử lý trước khi tới mô hình.

Sự cố này cũng cho thấy việc giám sát tác tử AI cần bao phủ dữ liệu đầu vào và những biến đổi xảy ra trong quy trình, thay vì chỉ xem kết quả cuối cùng.

Làm sạch văn bản trước khi đưa vào mô hình

Ứng dụng không có lý do hợp lệ để chấp nhận các ký tự từ U+E0000 đến U+E007F có thể loại bỏ chúng trước khi văn bản tới mô hình. Nếu phải giữ ký tự thẻ, nhóm phát triển cần so sánh văn bản gốc với phiên bản đã loại bỏ chúng để xác định phần thay đổi, sau đó đưa cả hai phiên bản qua chính bộ tách token của ứng dụng để quan sát cách hệ thống xử lý.

Sau khi được làm sạch, văn bản phải tiếp tục dùng phiên bản đã làm sạch trong toàn bộ quy trình. Nếu hệ thống kiểm tra một bản nhưng lại chuyển bản gốc chưa xử lý vào mô hình, bước phòng vệ ban đầu không còn tác dụng.

Không thể xóa mọi ký tự thẻ một cách máy móc

Một số ký tự thẻ Unicode có mục đích hợp lệ nên bộ lọc cần xét ngữ cảnh. Dấu hiệu săn tìm ban đầu của Microsoft từng nhận nhầm các biểu tượng cờ phân vùng của Anh, Scotland và Wales, sau đó nhóm phụ trách phải bổ sung ngoại lệ cho các chuỗi hợp lệ này.

Theo The New Stack, các biểu tượng cờ phân vùng nói trên dựa vào chuỗi ký tự thẻ vô hình để hiển thị. Trường hợp này cho thấy hệ thống không nên xóa toàn bộ một dải ký tự mà không phân biệt dữ liệu hợp lệ với chuỗi được chèn để thay đổi cách máy đọc văn bản.

Hãy tiếp tục theo dõi Sine để cập nhật những kỹ thuật tấn công có thể ảnh hưởng đến quy trình AI và dữ liệu đầu vào.