Góc nhìn Anderson

Tấn công các Hệ thống Xử lý Ngôn ngữ Tự nhiên với Các Ví dụ Đối nghịch

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Các nhà nghiên cứu tại Anh và Canada đã tạo ra một loạt các cuộc tấn công hộp đen đối nghịch vào các hệ thống Xử lý Ngôn ngữ Tự nhiên (NLP) hiệu quả chống lại một loạt các khuôn khổ xử lý ngôn ngữ phổ biến, bao gồm các hệ thống được triển khai rộng rãi từ Google, Facebook, IBM và Microsoft.

Cuộc tấn công có thể được sử dụng để làm hỏng các hệ thống dịch máy học bằng cách buộc chúng sản xuất ra những nội dung vô nghĩa hoặc thay đổi bản chất của bản dịch; để cản trở quá trình đào tạo các mô hình NLP; để phân loại sai nội dung độc hại; để làm hỏng kết quả tìm kiếm bằng cách gây ra sự cố trong quá trình lập chỉ mục; để khiến các công cụ tìm kiếm không thể xác định nội dung độc hại hoặc tiêu cực mà một người có thể đọc được; và thậm chí để gây ra các cuộc tấn công Từ chối Dịch vụ (DoS) vào các khuôn khổ NLP.

Mặc dù các tác giả đã tiết lộ các điểm yếu được đề xuất trong bài viết cho các bên không được tiết lộ có sản phẩm được giới thiệu trong nghiên cứu, nhưng họ cho rằng ngành NLP đã chậm chạp trong việc bảo vệ mình khỏi các cuộc tấn công đối nghịch. Bài viết tuyên bố:

‘Những cuộc tấn công này khai thác các tính năng mã hóa ngôn ngữ, chẳng hạn như các ký tự vô hình và homoglyphs. Mặc dù chúng đã được thấy thỉnh thoảng trong quá khứ trong các cuộc tấn công spam và lừa đảo, nhưng các nhà thiết kế của nhiều hệ thống NLP đang được triển khai trên quy mô lớn dường như đã hoàn toàn bỏ qua chúng.’

Một số cuộc tấn công đã được thực hiện trong môi trường ‘hộp đen’ có thể – thông qua các cuộc gọi API đến các hệ thống MLaaS, chứ không phải thông qua các phiên bản FOSS được cài đặt cục bộ của các khuôn khổ NLP. Về hiệu quả kết hợp của các hệ thống, các tác giả viết:

‘Tất cả các thí nghiệm được thực hiện trong môi trường hộp đen trong đó việc đánh giá mô hình không giới hạn được phép, nhưng việc truy cập vào trọng lượng hoặc trạng thái của mô hình được đánh giá không được phép. Điều này đại diện cho một trong những mô hình mối đe dọa mạnh nhất mà các cuộc tấn công có thể xảy ra trong hầu hết các môi trường, bao gồm cả các dịch vụ Máy học như một Dịch vụ (MLaaS) thương mại. Mỗi mô hình được kiểm tra đều dễ bị tổn thương bởi các cuộc tấn công nhiễu loạn không thể nhận thấy.

‘Chúng tôi tin rằng tính áp dụng của các cuộc tấn công này nên về mặt lý thuyết được tổng quát hóa cho bất kỳ mô hình NLP dựa trên văn bản nào mà không có các biện pháp phòng vệ phù hợp.’

Bài viết có tiêu đề Bad Characters: Imperceptible NLP Attacks, và đến từ ba nhà nghiên cứu trên ba bộ phận tại Đại học Cambridge và Đại học Edinburgh, và một nhà nghiên cứu từ Đại học Toronto.

Tiêu đề của bài viết là một ví dụ điển hình: nó được điền với các ký tự Unicode ‘không thể nhận thấy’ tạo thành cơ sở của một trong bốn phương pháp tấn công chính được các nhà nghiên cứu áp dụng.

Even the paper's title has hidden mysteries.

Even the paper’s title has hidden mysteries.

Phương pháp

Bài viết đề xuất ba phương pháp tấn công hiệu quả chính: ký tự vô hình; homoglyphs; và sắp xếp lại. Đây là những phương pháp ‘toàn cầu’ mà các nhà nghiên cứu đã tìm thấy có phạm vi rộng đối với các khuôn khổ NLP trong các kịch bản hộp đen. Một phương pháp bổ sung, liên quan đến việc sử dụng một ký tự xóa, được các nhà nghiên cứu tìm thấy chỉ phù hợp với các đường ống NLP không thường xuyên sử dụng bộ nhớ tạm của hệ điều hành.

1: Ký tự vô hình

Cuộc tấn công này sử dụng các ký tự được mã hóa trong một phông chữ không ánh xạ đến một Glyph trong hệ thống Unicode. Hệ thống Unicode được thiết kế để tiêu chuẩn hóa văn bản điện tử và hiện bao gồm 143.859 ký tự trên nhiều ngôn ngữ và nhóm ký tự. Nhiều ánh xạ này sẽ không chứa bất kỳ ký tự nhìn thấy được nào trong một phông chữ (không thể, tự nhiên, bao gồm các ký tự cho mọi mục nhập có thể trong Unicode).

From the paper, a hypothetical example of an attack using invisible characters, which split up the words into segments which either mean nothing to a Natural Language Processing system, or, if carefully crafted, can mean something different to an accurate translation. For the casual reader, the original text is correct.

From the paper, a hypothetical example of an attack using invisible characters, which splits up the input words into segments that either mean nothing to a Natural Language Processing system, or, if carefully crafted, can prevent an accurate translation. For the casual reader, the original text in both cases is correct. Source: https://arxiv.org/pdf/2106.09898.pdf

Thông thường, bạn không thể chỉ sử dụng một trong những ký tự không phải ký tự này để tạo ra một khoảng cách không rộng, vì hầu hết các hệ thống sẽ hiển thị một biểu tượng ‘giữ chỗ’ (chẳng hạn như một hình vuông hoặc một dấu hỏi trong một hộp nghiêng) để đại diện cho ký tự không được nhận diện.

Tuy nhiên, như bài viết quan sát, chỉ có một số ít phông chữ thống trị hiện trường máy tính hiện tại và, không ngạc nhiên, chúng có xu hướng tuân theo tiêu chuẩn Unicode.

Do đó, các nhà nghiên cứu đã chọn các ký tự Unifont của GNU cho các thí nghiệm của họ, một phần do phạm vi ‘robust’ của Unicode, nhưng cũng vì nó trông giống như nhiều ‘phông chữ tiêu chuẩn’ khác có thể được cung cấp cho các hệ thống NLP. Trong khi các ký tự vô hình được tạo ra từ Unifont không được hiển thị, chúng vẫn được tính là các ký tự nhìn thấy được bởi các hệ thống NLP được kiểm tra.

Ứng dụng
Trở lại tiêu đề ‘được thiết kế’ của bài viết, chúng ta có thể thấy rằng việc thực hiện một tìm kiếm Google từ văn bản được chọn không đạt được kết quả dự kiến:

Đây là một hiệu ứng phía máy khách, nhưng các tác động phía máy chủ nghiêm trọng hơn một chút. Bài viết quan sát:

‘Ngay cả khi một tài liệu bị xáo trộn có thể được thu thập bởi một công cụ tìm kiếm, các thuật ngữ được sử dụng để lập chỉ mục nó sẽ bị ảnh hưởng bởi các xáo trộn, khiến nó ít có khả năng xuất hiện từ một tìm kiếm không bị xáo trộn. Do đó, có thể che giấu tài liệu khỏi các công cụ tìm kiếm “trong tầm nhìn”.’

‘Làm ví dụ, một công ty không trung thực có thể che giấu thông tin tiêu cực trong các hồ sơ tài chính của mình để các công cụ tìm kiếm chuyên dụng được sử dụng bởi các nhà phân tích chứng khoán không thể tìm thấy chúng.’

Các kịch bản duy nhất mà cuộc tấn công ‘ký tự vô hình’ chứng minh là kém hiệu quả hơn là chống lại nội dung độc hại, Nhận dạng Thực thể Được đặt tên (NER) và phân tích cảm xúc. Các tác giả suy đoán rằng điều này là do các mô hình đã được đào tạo trên dữ liệu cũng chứa các ký tự vô hình, hoặc bộ phân tích cú pháp (tokenizer) của mô hình (phân chia đầu vào ngôn ngữ thô thành các thành phần mô-đun) đã được cấu hình để bỏ qua chúng.

2: Homoglyphs

Một homoglyph là một ký tự trông giống như một ký tự khác – một điểm yếu ngữ nghĩa đã được khai thác vào năm 2000 để tạo ra một bản sao lừa đảo của tên miền xử lý thanh toán PayPal (PYPL ).

In this hypothetical example from the paper, a homoglyph attack changes the meaning of a translation by substituting visually indistinguishable homoglyphs (outlined in red) for common Latin characters.

In this hypothetical example from the paper, a homoglyph attack changes the meaning of a translation by substituting visually indistinguishable homoglyphs (outlined in red) for common Latin characters.

Các tác giả nhận xét*:

‘Chúng tôi đã phát hiện ra rằng các mô hình học máy xử lý văn bản được cung cấp bởi người dùng, chẳng hạn như các hệ thống dịch máy thần kinh, đặc biệt dễ bị tổn thương bởi loại tấn công này. Hãy xem xét, ví dụ, dịch vụ hàng đầu Google Translate. Tại thời điểm viết, nhập chuỗi “paypal” trong mô hình Anh sang Nga đúng cách xuất ra “PayPal”, nhưng thay thế ký tự Latin a trong đầu vào bằng ký tự Cyrillic а sai cách xuất ra “папа” (“cha” trong tiếng Anh).’

Các nhà nghiên cứu quan sát rằng trong khi nhiều đường ống NLP sẽ thay thế các ký tự nằm ngoài từ điển ngôn ngữ cụ thể của chúng bằng một <unk> (‘không biết’) token, các quá trình phần mềm triệu tập văn bản bị nhiễm độc vào đường ống có thể truyền播 các từ không biết cho đánh giá trước khi biện pháp an toàn này có thể hoạt động. Các tác giả tuyên bố rằng điều này ‘mở ra một bề mặt tấn công đáng ngạc nhiên rộng lớn’.

3: Sắp xếp lại

Unicode cho phép các ngôn ngữ được viết từ trái sang phải, với việc sắp xếp được xử lý bởi thuật toán Bidirectional (BIDI) của Unicode. Việc trộn các ký tự từ phải sang trái và từ trái sang phải trong một chuỗi duy nhất do đó gây khó hiểu, và Unicode đã cho phép BIDI được ghi đè bởi các ký tự điều khiển đặc biệt. Những ký tự này cho phép việc hiển thị gần như tùy ý cho một thứ tự mã hóa cố định.

In another theoretical example from the paper, a translation mechanism is caused to put all the letters of the translated text in the wrong order, because it is obeying the wrong right-to-left/left-to-right encoding, due to a part of the adversarial source text (circled) commanding it to do so.

In another theoretical example from the paper, a translation mechanism is caused to put all the letters of the translated text in the wrong order, because it is obeying the wrong right-to-left/left-to-right encoding, due to a part of the adversarial source text (circled) commanding it to do so.

Các tác giả tuyên bố rằng tại thời điểm viết bài, phương pháp này hiệu quả chống lại việc triển khai Unicode trong trình duyệt web Chromium, nguồn thượng nguồn cho trình duyệt Chrome của Google, trình duyệt Edge của Microsoft và một số fork khác.

Cũng: Xóa

Bao gồm ở đây để các biểu đồ kết quả sau rõ ràng, cuộc tấn công xóa liên quan đến việc bao gồm một ký tự đại diện cho một dấu cách lùi hoặc lệnh / điều khiển văn bản khác, được thực hiện hiệu quả bởi hệ thống đọc ngôn ngữ theo một phong cách tương tự như một macro văn bản.

Các tác giả quan sát:

‘Một số ký tự điều khiển trong Unicode có thể gây ra việc xóa văn bản lân cận. Ví dụ đơn giản nhất là dấu cách lùi (BS) và dấu xóa (DEL). Ngoài ra còn có dấu trả về dòng (CR) khiến thuật toán hiển thị văn bản trả về đầu dòng và ghi đè nội dung của nó.

‘Ví dụ, văn bản được mã hóa đại diện cho “Hello CRGoodbye World” sẽ được hiển thị dưới dạng “Goodbye World”.’

Như đã đề cập trước đó, cuộc tấn công này hiệu quả đòi hỏi một mức độ truy cập không thể xảy ra và chỉ có hiệu quả với văn bản được sao chép và dán qua một clipboard, một cách có hệ thống hoặc không – một đường ống NLP không phổ biến.

Các nhà nghiên cứu đã kiểm tra nó và nó hoạt động tương đương với các phương pháp稳 định của nó. Tuy nhiên, các cuộc tấn công sử dụng ba phương pháp đầu tiên có thể được thực hiện đơn giản bằng cách tải lên các tài liệu hoặc trang web (trong trường hợp tấn công vào các công cụ tìm kiếm và / hoặc các đường ống NLP thu thập dữ liệu).

In a deletions attack, the crafted characters effectively erase what precedes them, or else force single-line text into a second paragraph, in both cases without making this obvious to the casual reader.

In a deletions attack, the crafted characters effectively erase what precedes them, or else force single-line text into a second paragraph, in both cases without making this obvious to the casual reader.

Hiệu quả chống lại các Hệ thống NLP Hiện tại

Các nhà nghiên cứu đã thực hiện một loạt các cuộc tấn công không nhắm mục tiêu và nhắm mục tiêu trên năm mô hình đóng源 phổ biến từ Facebook, IBM, Microsoft, Google và HuggingFace, cũng như ba mô hình mã nguồn mở.

Họ cũng đã kiểm tra ‘sponge’ attacks vào các mô hình. Một cuộc tấn công sponge về cơ bản là một cuộc tấn công Từ chối Dịch vụ (DoS) cho các hệ thống NLP, nơi văn bản đầu vào ‘không tính toán’, và gây ra sự chậm trễ nghiêm trọng trong quá trình đào tạo – một quá trình nên được thực hiện không thể xảy ra bởi việc tiền xử lý dữ liệu.

Các tác giả nhận xét:

‘Có lẽ khía cạnh đáng lo ngại nhất của các cuộc tấn công nhiễu loạn không thể nhận thấy của chúng tôi là sự áp dụng rộng rãi của chúng: tất cả các hệ thống NLP dựa trên văn bản mà chúng tôi đã kiểm tra đều dễ bị tổn thương. Thật vậy, bất kỳ mô hình học máy nào tiêu thụ văn bản do người dùng cung cấp làm đầu vào đều có thể dễ bị tổn thương bởi cuộc tấn công này.

‘Các tác động đối nghịch có thể khác nhau từ một ứng dụng này sang một ứng dụng khác và từ một mô hình này sang một mô hình khác, nhưng tất cả các mô hình dựa trên văn bản đều dựa trên văn bản được mã hóa, và tất cả văn bản đều phải chịu sự mã hóa đối nghịch trừ khi mã hóa được hạn chế một cách phù hợp.’

Nhận dạng Ký tự Quang học Toàn cầu?

Các cuộc tấn công này phụ thuộc vào những gì về cơ bản là ‘lỗ hổng’ trong Unicode và sẽ bị loại bỏ trong một đường ống NLP đã raster hóa tất cả văn bản đầu vào và sử dụng Nhận dạng Ký tự Quang học (OCR) làm biện pháp khử trùng. Trong trường hợp đó, cùng một ý nghĩa ngữ nghĩa không thể nhận thấy đối với người đọc sẽ được chuyển đến hệ thống NLP.

Tuy nhiên, khi các nhà nghiên cứu triển khai một đường ống OCR để kiểm tra lý thuyết này, họ phát hiện ra rằng các điểm số BLEU (Bilingual Evaluation Understudy) giảm độ chính xác cơ bản xuống 6,2% và đề xuất rằng các công nghệ OCR cải tiến có thể cần thiết để khắc phục điều này.

Họ đề xuất thêm rằng các ký tự điều khiển BIDI nên được loại bỏ khỏi đầu vào theo mặc định, các homoglyphs không thường xuyên nên được ánh xạ và lập chỉ mục (mà họ mô tả là ‘một nhiệm vụ đáng sợ’), và các tokenizer và các cơ chế tiêu thụ khác nên được trang bị chống lại các ký tự vô hình.

Khi kết thúc, nhóm nghiên cứu kêu gọi ngành NLP trở nên cảnh giác hơn với các khả năng tấn công đối nghịch, hiện đang là một lĩnh vực nghiên cứu thú vị trong nghiên cứu tầm nhìn máy tính.

‘[Chúng tôi] khuyên tất cả các công ty xây dựng và triển khai các hệ thống NLP dựa trên văn bản nên triển khai các biện pháp phòng vệ như vậy nếu họ muốn các ứng dụng của mình được mạnh mẽ chống lại các tác nhân độc hại.’

 

 

* My conversion of inline citations to hyperlinks

18:08 14th Dec 2021 – removed duplicate mention of IBM, moved auto-internal link from quote – MA

Nhà văn về học máy, chuyên gia lĩnh vực tổng hợp hình ảnh con người. Cựu trưởng nhóm nội dung nghiên cứu tại Metaphysic.ai, cho đến khi nó được併 nhập vào Brahma.ai của DNEG.
Portfolio site: martinanderson.ai
Contact: martin@martinanderson.ai