Sudut Anderson

Menyerang Sistem Pengolahan Bahasa Alami dengan Contoh Adversarial

mm

Peneliti di Inggris dan Kanada telah merancang serangkaian serangan kotak hitam adversarial terhadap sistem Pengolahan Bahasa Alami (NLP) yang efektif melawan berbagai kerangka kerja pengolahan bahasa yang populer, termasuk sistem yang banyak digunakan dari Google, Facebook, IBM, dan Microsoft.

Serangan ini dapat digunakan untuk melumpuhkan sistem terjemahan mesin pembelajaran dengan memaksa mereka untuk menghasilkan nonsens atau mengubah sifat terjemahan; untuk mempersempit pelatihan model NLP; untuk mengklasifikasikan konten beracun; untuk meracuni hasil pencarian dengan menyebabkan pengindeksan yang salah; untuk menyebabkan mesin pencari gagal mengidentifikasi konten berbahaya atau negatif yang dapat dibaca dengan baik oleh manusia; dan bahkan untuk menyebabkan serangan Denial-of-Service (DoS) pada kerangka kerja NLP.

Meskipun penulis telah mengungkapkan kerentanan yang diusulkan dalam makalah kepada berbagai pihak yang tidak disebutkan namanya yang produknya ditampilkan dalam penelitian, mereka menganggap bahwa industri NLP telah lambat dalam melindungi diri dari serangan adversarial. Makalah tersebut menyatakan:

‘Serangan ini memanfaatkan fitur pengkodean bahasa, seperti karakter yang tidak terlihat dan homoglyphs. Meskipun mereka telah terlihat secara terpisah di masa lalu dalam spam dan penipuan, desainer dari banyak sistem NLP yang sekarang diterapkan dalam skala besar tampaknya telah mengabaikannya sepenuhnya.’

Beberapa serangan dilakukan dalam lingkungan ‘kotak hitam’ yang mungkin – melalui panggilan API ke sistem MLaaS, bukan versi FOSS yang dipasang secara lokal dari kerangka kerja NLP. Mengenai efektivitas gabungan sistem, penulis menulis:

‘Semua eksperimen dilakukan dalam pengaturan kotak hitam di mana evaluasi model yang tidak terbatas diizinkan, tetapi mengakses bobot atau status model yang diuji tidak diizinkan. Ini mewakili salah satu model ancaman terkuat yang memungkinkan serangan dalam hampir semua pengaturan, termasuk melawan penawaran Machine-Learning-as-a-Service (MLaaS) komersial. Setiap model yang dieksaminasi rentan terhadap serangan gangguan yang tidak terlihat.

‘Kami percaya bahwa penerapan serangan ini seharusnya secara teori umum untuk setiap model NLP berbasis teks tanpa pertahanan yang memadai.’

Makalah tersebut berjudul Bad Characters: Imperceptible NLP Attacks, dan berasal dari tiga peneliti dari tiga departemen di Universitas Cambridge dan Universitas Edinburgh, dan seorang peneliti dari Universitas Toronto.

Judul makalah ini sangat representatif: itu dipenuhi dengan karakter Unicode yang ‘tidak terlihat’ yang membentuk dasar dari salah satu metode serangan utama yang diadopsi oleh peneliti.

Even the paper's title has hidden mysteries.

Even the paper’s title has hidden mysteries.

Metode

Makalah tersebut mengusulkan tiga metode serangan utama yang efektif: karakter yang tidak terlihat; homoglyphs; dan penataan ulang. Ini adalah metode ‘universal’ yang ditemukan oleh peneliti untuk memiliki jangkauan luas melawan kerangka kerja NLP dalam skenario kotak hitam. Metode tambahan, yang melibatkan penggunaan karakter ‘hapus’, ditemukan oleh peneliti hanya cocok untuk pipa NLP yang tidak biasa yang menggunakan clipboard sistem operasi.

1: Karakter yang Tidak Terlihat

Serangan ini menggunakan karakter yang dikodekan dalam font yang tidak dipetakan ke dalam sistem Unicode. Sistem Unicode dirancang untuk memstandarisasi teks elektronik, dan sekarang mencakup 143.859 karakter di seluruh bahasa dan grup simbol. Banyak pemetaan ini tidak akan berisi karakter yang terlihat dalam font (yang tidak dapat, secara alami, mencakup karakter untuk setiap entri yang mungkin dalam Unicode).

From the paper, a hypothetical example of an attack using invisible characters, which splits 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

Secara umum, Anda tidak dapat menggunakan salah satu karakter non-karakter ini untuk membuat spasi lebar nol, karena sebagian besar sistem akan merender ‘simbol placeholder’ (seperti kotak atau tanda tanya dalam kotak miring) untuk mewakili karakter yang tidak dikenal.

Namun, seperti yang diamati dalam makalah, hanya beberapa font yang mendominasi adegan komputasi saat ini, dan, tidak mengherankan, mereka cenderung mematuhi standar Unicode.

Oleh karena itu, peneliti memilih glyphs Unifont GNU untuk eksperimen mereka, sebagian karena ‘cakupan yang kuat’ terhadap Unicode, tetapi juga karena terlihat seperti banyak font ‘standar’ lain yang kemungkinan akan diberikan kepada sistem NLP. Sementara karakter yang tidak terlihat yang dihasilkan dari Unifont tidak dirender, mereka tetap dihitung sebagai karakter yang terlihat oleh sistem NLP yang diuji.

Aplikasi
Kembali ke judul makalah yang ‘dirancang’ itu sendiri, kita dapat melihat bahwa melakukan pencarian Google dari teks yang dipilih tidak menghasilkan hasil yang diharapkan:

Ini adalah efek sisi klien, tetapi akibatnya di sisi server sedikit lebih serius. Makalah tersebut mengamati:

‘Meskipun dokumen yang terganggu mungkin dikerjakan oleh crawler mesin pencari, istilah yang digunakan untuk mengindeksnya akan dipengaruhi oleh gangguan, membuatnya kurang mungkin muncul dari pencarian istilah yang tidak terganggu. Oleh karena itu, memungkinkan untuk menyembunyikan dokumen dari mesin pencari “dalam pandangan”.’

‘Sebagai contoh aplikasi, perusahaan yang tidak jujur dapat menyembunyikan informasi negatif dalam laporan keuangan mereka sehingga mesin pencari khusus yang digunakan oleh analis saham gagal mendeteksinya.’

Satu-satunya skenario di mana serangan ‘karakter yang tidak terlihat’ terbukti kurang efektif adalah melawan konten beracun, Pengenalan Entitas Bernama (NER), dan analisis sentimen. Penulis mengemukakan bahwa ini mungkin karena model-model tersebut dilatih pada data yang juga mengandung karakter yang tidak terlihat, atau tokenizer model (yang memecah input bahasa mentah menjadi komponen modular) sudah dikonfigurasi untuk mengabaikannya.

2: Homoglyphs

Homoglyph adalah karakter yang terlihat seperti karakter lain – kelemahan semantik yang dieksploitasi pada tahun 2000 untuk membuat salinan scam dari domain proses pembayaran PayPal.

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.

Penulis mengomentari:

‘Kami telah menemukan bahwa model machine learning yang memproses teks yang disediakan oleh pengguna, seperti sistem terjemahan mesin neural, sangat rentan terhadap jenis serangan ini. Pertimbangkan, misalnya, layanan terkemuka Google Translate. Pada saat penulisan, memasukkan string “paypal” dalam model Inggris ke Rusia menghasilkan output yang benar “PayPal”, tetapi menggantikan karakter Latin ‘a’ dalam input dengan karakter Cyrillic а menghasilkan output yang salah “папа” (“ayah” dalam bahasa Inggris).’

Peneliti mengamati bahwa banyak pipa NLP akan menggantikan karakter yang berada di luar kamus bahasa khusus dengan token ” (‘tidak diketahui’), tetapi proses perangkat lunak yang memanggil teks yang teracuni ke dalam pipa mungkin menyebarkan kata-kata yang tidak diketahui untuk evaluasi sebelum langkah keamanan ini dapat diaktifkan. Penulis menyatakan bahwa ini ‘membuka permukaan serangan yang mengejutkan besar’.

3: Penataan Ulang

Unicode memungkinkan bahasa yang ditulis dari kiri ke kanan, dengan pengaturan yang ditangani oleh algoritma Bidirectional (BIDI) Unicode. Menggabungkan karakter kanan-ke-kiri dan kiri-ke-kanan dalam satu string adalah membingungkan, dan Unicode telah membuat pengaturan untuk ini dengan mengizinkan BIDI untuk dianulir oleh karakter kontrol khusus. Karakter-karakter ini memungkinkan rendering hampir arbitrer untuk pengaturan pengkodean yang tetap.

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.

Penulis menyatakan bahwa pada saat penulisan makalah, metode ini efektif melawan implementasi Unicode di browser web Chromium, sumber hulu untuk browser Google Chrome, browser Microsoft Edge, dan sejumlah fork lainnya.

Juga: Penghapusan

Termasuk di sini sehingga grafik hasil berikutnya jelas, serangan ‘penghapusan’ melibatkan memasukkan karakter yang mewakili backspace atau kontrol/tanda lain, yang secara efektif diimplementasikan oleh sistem pembacaan bahasa dalam gaya yang mirip dengan makro teks.

Penulis mengamati:

‘Beberapa karakter kontrol dalam Unicode dapat menyebabkan teks tetangga dihapus. Contoh sederhana adalah backspace (BS) dan delete (DEL). Ada juga carriage return (CR) yang menyebabkan algoritma rendering teks untuk kembali ke awal baris dan menimpa isinya.

‘Sebagai contoh, teks yang dikodekan yang mewakili “CRGoodbye World” akan dirender sebagai “Goodbye World”.’

Seperti yang disebutkan sebelumnya, serangan ini secara efektif memerlukan akses yang tidak mungkin untuk bekerja, dan hanya akan sepenuhnya efektif dengan teks yang disalin dan ditempelkan melalui clipboard, secara sistematis atau tidak – pipa NLP yang tidak biasa.

Peneliti mengujinya tetapi, dan kinerjanya setara dengan metode lainnya. Namun, serangan yang menggunakan tiga metode pertama dapat diimplementasikan dengan hanya mengunggah dokumen atau halaman web (dalam kasus serangan terhadap mesin pencari dan/atau pipa NLP web-scraping).

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.

Efektivitas Melawan Sistem NLP Saat Ini

Peneliti melakukan serangkaian serangan yang tidak ditargetkan dan ditargetkan melawan lima model tertutup populer dari Facebook, IBM, Microsoft, Google, dan HuggingFace, serta tiga model sumber terbuka.

Mereka juga menguji serangan ‘sponge’ terhadap model-model tersebut. Serangan sponge secara efektif adalah serangan DoS untuk sistem NLP, di mana teks input ‘tidak menghitung’, dan menyebabkan pelatihan untuk melambat secara kritis – proses yang seharusnya dibuat tidak mungkin oleh pra-pengolahan data.

Lima tugas NLP yang dievaluasi adalah terjemahan mesin, deteksi konten beracun, klasifikasi entailmen teks, pengenalan entitas bernama, dan analisis sentimen.

Eksperimen dilakukan pada sejumlah GPU Tesla P100 yang tidak ditentukan, masing-masing menjalankan CPU Intel Xeon Silver 4110 di atas Ubuntu. Untuk tidak melanggar ketentuan layanan dalam kasus membuat panggilan API, eksperimen diulangi secara seragam dengan anggaran gangguan nol (teks sumber yang tidak terpengaruh) hingga lima (gangguan maksimum). Peneliti berpendapat bahwa hasil yang mereka peroleh dapat dilampaui jika jumlah iterasi yang lebih besar diizinkan.

Results from applying adversarial examples against Facebook's Fairseq EN-FR model.

Results from applying adversarial examples against Facebook’s Fairseq EN-FR model.

Results from attacks against IBM's toxic content classifier and Google's Perspective API.

Results from attacks against IBM’s toxic content classifier and Google’s Perspective API.

Two attacks against Facebook's Fairseq: 'untargeted' aims to disrupt, whilst 'targeted' aims to change the meaning of translated language.

Two attacks against Facebook’s Fairseq: ‘untargeted’ aims to disrupt, whilst ‘targeted’ aims to change the meaning of translated language.

Peneliti lebih lanjut menguji sistem mereka melawan kerangka kerja sebelumnya yang tidak dapat menghasilkan teks ‘dapat dibaca manusia’ dengan cara yang sama, dan menemukan bahwa sistem ini sebagian besar setara dengan mereka, dan seringkali jauh lebih baik, sambil mempertahankan keunggulan besar dalam hal ketidakterlihatan.

Rata-rata efektivitas di semua metode, vektor serangan, dan target melayang sekitar 80%, dengan sangat sedikit iterasi yang dijalankan.

Mengomentari hasilnya, peneliti mengatakan:

‘Mungkin aspek yang paling mengganggu dari serangan gangguan kita yang tidak terlihat adalah penerapannya yang luas: semua sistem NLP berbasis teks yang kita uji rentan. Memang, setiap model machine learning yang mengonsumsi teks yang disediakan pengguna sebagai input secara teori rentan terhadap serangan ini.

‘Implikasi adversarial mungkin berbeda dari satu aplikasi ke aplikasi lain dan dari satu model ke model lain, tetapi semua model berbasis teks didasarkan pada teks yang dikodekan, dan semua teks tunduk pada pengkodean adversarial kecuali pengkodean yang sesuai dibatasi.’

Pengenalan Karakter Optik Universal?

Serangan ini bergantung pada apa yang secara efektif ‘kerentanan’ dalam Unicode, dan akan dihilangkan dalam pipa NLP yang meraster semua teks masuk dan menggunakan Pengenalan Karakter Optik sebagai langkah sanitasi. Dalam hal ini, makna semantik yang sama yang terlihat bagi orang-orang yang membaca serangan yang terganggu akan diteruskan ke sistem NLP.

Namun, ketika peneliti mengimplementasikan pipa OCR untuk menguji teori ini, mereka menemukan bahwa skor BLEU (Bilingual Evaluation Understudy) turun sebesar 6,2% dari akurasi baseline, dan menyarankan bahwa teknologi OCR yang ditingkatkan kemungkinan akan diperlukan untuk memperbaiki ini.

Mereka lebih lanjut menyarankan bahwa karakter kontrol BIDI harus dihilangkan dari input secara default, homoglyph yang tidak biasa harus dipetakan dan diindeks (yang mereka karakterisasi sebagai ‘tugas yang menantang’), dan tokenizer serta mekanisme penggunaan lainnya harus dipersenjatai melawan karakter yang tidak terlihat.

Dalam penutup, kelompok penelitian mendesak sektor NLP untuk menjadi lebih waspada terhadap kemungkinan serangan adversarial, yang saat ini merupakan bidang penelitian yang sangat menarik dalam penelitian penglihatan komputer.

‘[Kami] merekomendasikan bahwa semua perusahaan yang membangun dan menerapkan sistem NLP berbasis teks untuk mengimplementasikan pertahanan seperti itu jika mereka ingin aplikasi mereka menjadi robust terhadap aktor jahat.’

 

 

* Konversi saya dari kutipan inline ke tautan

18:08 14 Desember 2021 – menghapus penyebutan IBM yang duplikat, memindahkan tautan internal otomatis dari kutipan – MA

Penulis tentang machine learning, spesialis domain dalam sintesis gambar manusia. Mantan kepala konten penelitian di Metaphysic.ai.