This repository has been archived by the owner on Nov 29, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCh.30_Results.tex
109 lines (90 loc) · 11.7 KB
/
Ch.30_Results.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
\chapter{Hyökkäystyypit\label{results}}
NLP-luokittimia vastaan, jotka ovat automaattisen tekstin luokituksen keskiössä, voidaan hyökätä. Tässä kappaleessa käydään läpi hyökkäystyypit NLP-luokittimia vastaan. Ensin käydään läpi roskapostisuodatuksen roskapostisuodatuksen ohitus, joka on NLP-hyökkäysten keskiössä. Sitten esitellään sensuuriohitus sekä ladontahyökkäykset. Ladontahyökkäyksistä käydään läpi näkymättömät merkit, homoglyfit, uudelleenjärjestelyt sekä poistatukset.
\section{Roskapostin naamiointi asiapostiksi}
Vastakkaishyökkäyksiä voidaan käyttää sähköposteissa roskapostisuodattimien ohitukseen. Roskapostisuodattimet toimivat koulutettujen NLP-luokittimien mukaan. Nämä luokittimet luokittelevat vastaanotetut sähköpostit joko hyväntahtoisiksi tai pahantahtoisiksi, eli roskaposteiksi \citep{spamfilter}.
Suodattimia vastaan toimii kolme vastakkaishyökkäystä. (1) Synonyymin korvaus. Synonyymin korvauksessa tarkoitus on korvata pahantahtoiset sanat hyväntahtoisiksi luokitelluilla synonyymeillä. Lauseiden samankaltaisuuksien vertailua demonstroidaan taulukossa 3.1. Ensimmäisessä sarakkeessa on viesti, jonka luokitin luokittelee joko roskapostiksi tai asiapostiksi toisessa sarakkeessa. Taulukon viimeinen rivi demonstroi synonyymien kovauksen läpäisevän roskapostisuodattimen. Pahantahtoisissa lauseissa pyritään nostattamaan samankaltaisuusastetta vaihtamalla sanoja synonyymeihin, kunnes NLP-luokitin tunnistaa viestin olevan asiapostia. (2) asiasanan injektointi. Asiasanan injektoinnissa asiasanoja lisätään sähköpostiin niin paljon, kunnes NLP-luokitin tunnistaa roskapostin olevan asiapostia. Sana ''asiaposti'' tarkoittaa tässä yhteydessä tekstiä, jonka roskapostisuodatin on luokitellut hyväntahtoiseksi. Asiasanoja voidaan injektoida tietokannoista roskaposteihin muuttamatta viestin tarkoitusta rajusti. (3) roskapostisanojen väljennys. Roskapostisanojen väljennyksessä roskapostisanoihin sisällytetään välilyöntejä, jotta NLP-luokitin ei tunnistaisi näitä sanoja roskasanoiksi. Kun väljennystä on harjoitettu tarpeeksi, muuttuu roskaposti NLP-luokittimen näkökulmasta asiapostiksi. \citep{spamfilter}
Asiasanan injektoinnille ja roskasanojen väljennykselle on olemassa erilaisia implementaatioita. Seuraavissa alaluvuissa tutustutaan ladontapohjaisiin vastakkaishyökkäyksiin. Muun muassa näitä hyökkäysmetodeita voidaan käyttää kahdessa aiemmin mainitussa roskapostisuodattimeen kohdistetussa hyökkäyksessä. Toteutuksia yhdistelemällä ja vaihtelemalla, saattaa NLP-luokittimen pahantahtoisuuden havaitseminen heikentyä entisestään, taaten hyökkääjälle varmemman onnistumisen.
\begin{table}[t]
\caption{Synonyymin korvaus. Vanhan viestin korvatut osat on lihavoitu. \citep{spamfilter}}
\begin{tabularx}{\textwidth}{| >{\raggedright\arraybackslash}X | c |}
\hline
Muokattu viesti & Ennustus\\
\hline
Ringtone Club: Get the UK singles chart on your mobile each week and choose any top quality ringtone! This message is free of charge. & roskapostia\\
\hline
Ringtone Club: \textbf{acquire} the UK single \textbf{graph} on your \textbf{Mobile\_River} each \textbf{hebdomad} and \textbf{take} any \textbf{top\_side} \textbf{caliber} ringtone! This \textbf{content} is \textbf{free\_people} of charge. & roskapostia\\
\hline
Ringtone Club: \textbf{become} the UK \textbf{bingle} \textbf{graph} on your \textbf{nomadic} each \textbf{workweek} and \textbf{select} any \textbf{upper\_side} \textbf{caliber} ringtone! This \textbf{subject\_matter} is \textbf{liberate} of charge. & roskapostia \\
\hline
Ringtone Club: \textbf{go} the UK \textbf{one} \textbf{graph} on your \textbf{peregrine} each \textbf{calendar\_week} and \textbf{pick\_out} any \textbf{upside} \textbf{character} ringtone! This \textbf{substance} is \textbf{release} of charge. & asiapostia \\
\hline
\end{tabularx}
\end{table}
\section{Näkymättömät merkit}
Näkymättömät merkit vaikuttavat tietokoneen NLP-luokittimen ymmärtämään sisältöön. Seuraavissa alikappaleissa käydään läpi ladontatason vastakkaishyökkäysmetodeita. Näitä yhdistelemällä, jopa alan johtava vihapuhefiltteri Google Perspective, on altis sensuurin ohitukselle vastakkaishyökkäyskoulutuksesta huolimatta \citep{hatespeech}. Koulutus vastakkaishyökkäyksiä vastaan tässä kontekstissa tarkoittaa puolustavan NLP-luokittimen koulutusta syötteellä, joka yrittäisi hyökätä NLP-luokitinta vastaan. Kyseessä on siis NLP-luokitin, jonka luokitus lujittuu vastakkaishyökkäyksiä tuottavan NLP-luokittimen ulostulolla. Kyseinen hyökkäys perustuu Unicode-merkistöstandardiin, joka sisältää yksilöivät koodiarvot yli 100 000 kirjoitusmerkille, tähän kuuluvat myös aakkoset sekä erikoismerkit \citep{boucher2021bad}.
Esimerkki tällaisesta erikoismerkistä on nollavälilyöntimerkki, jonka Unicode merkintä on \texttt{U+200B}. Tällä merkillä voimme esimerkiksi vaikuttaa pelichattiin lähetettävän myrkyllissuodatettavaan merkkijonoon ''olet huono'' niin, että merkkijono menisi NLP-luokittimen läpi chätistä. Merkkijono \texttt{ol\textcolor{red}{U+200B}et hu\textcolor{red}{U+200B}ono} saattaisi mennä läpi chatin suodattimesta, mutta vastapuolelle viesti olisi edelleen \texttt{olet huono}.
Kontekstin poistamisen lisäksi näkymättömillä merkeillä voidaan myös tuoda ja syrjäyttää konteksteja toisilla. Esimerkiksi:\\
\texttt{Mikä pyhäinhäväistyksen rakennus!\\
Miten onnistuit tekemään tämän näin laiskasti?} -tekstin negatiivisuus voidaan\\
syrjäyttää positiivisuudella syöttämällä NLP-luokittimelle sen sijaan teksti:\\
\texttt{Mikä py\textcolor{red}{U+200B}häinhäv\textcolor{red}{U+200B}äisty\textcolor{red}{U+200B}ksen\textcolor{red}{U+200B} rakennus!\\
Miten onnistuit tekemään tämän \textcolor{red}{U+200B}nä\textcolor{red}{U+200B}in la\textcolor{red}{U+200B}iskas\textcolor{red}{U+200B}ti?}.
Taulukko 3.2 on esimerkki kontekstin syrjäyttämisestä näkymättömillä merkeillä. Esimerkissä tapahtuu käännös englannin kielestä ranskan kieleen. Vasemassa sarakkeessa on alkuperäinen, käännettävä viesti. Vasemmassa sarakkeessa taas on käännetty viesti ranskaksi. Alleviivattuihien kohtien väliin on upotettu nollavälilyöntimerkki \texttt{U+200B}. Ihmiselle käännettävät viestit näyttävät samanlaisilta, mutta kääntäjälle jälkimmäisessä viestissä on kolme välilyöntiä enemmän. Viimeinen viesti pitäisi kääntyä viestiksi ''Teknologia on olemassa sitä varten''. Käännös on kuitenkin hyökkäyksen jälkeen ''Ympäristön kronologia on kronologia ympäristöstä ympäristölle''.
\begin{table}[hbt]
\caption{Hyökkäys näkymättömillä merkeillä \citep{boucher2021bad}}
\begin{tabular}{| l | m{20em} |}
\hline
Alkuperäinen viesti & Käännös\\
\hline
The technology is there to do it. & La technologie est là pour le faire.\\
\hline
The t\underline{ec}hnology is \underline{ t}here to\underline{ d}o it. & La chnologie de l'environnement est la chnologie de l'environnement à l'environnement.\\
\hline
\end{tabular}
\end{table}
\section{Homoglyfit}
Homoglyfihyökkäykset NLP-luokittimia vastaan pohjautuvat siihen, että pahantahtoisten\\ merkkien viralliset esitysmuodot näyttäytyvät hyväntahtoisilta merkkien virallisilta esityksiltä. Jois\-sain kielissä tekstin merkitys muuttuu täysin yhden merkin vaihtuessa. Esimerkkinä homoglyfistä on \texttt{A $\rightarrow$ A}, missä viimeinen kirjain on todellisuudessa kyrillinen kirjain A. Taulkossa 3.3 homoglyfihyökkäys on muuntanut englanninkielisen tekstin\\ \texttt{I just can't belive where she was} ranskankieliseen käännökseen\\ \texttt{I guess I can't underestimate the location of the scribe and}.\\
Näkymättömien merkkien lailla homoglyfihyökkäyksen toteutus riippuu ympäristön fontista. \citep{boucher2021bad}
\begin{table}[hbt]
\caption{Homoglyfihyökkäys \citep{boucher2021bad}}
\begin{tabular}{| l | m{20em} |}
\hline
Alkuperäinen viesti & Käännös\\
\hline
I just can't believe where she was. & Je ne peux tout simplement psa croire où elle était.\\
\hline
I \underline{j}ust can't bel\underline{i}eve where s\underline{h}e was. & Je crois que je ne peux pas sous-estimer l'endroit où se trouvait le scribe e.\\
\hline
\end{tabular}
\end{table}
\section{Uudelleenjärjestelyt}
Uudelleenjärjestelyhyökkäys pohjautuu näennäisen tekstin uudelleenjärjestämiseen pahantahtoisesti. Pankkitilinumeron \texttt{1234567} pystyy esimerkiksi vaihtamaan kaksisuuntaisella algoritmilla tilinumeroksi \texttt{7654321} pankin palvelinpuolella maksajan huomaamatta mitään. Unicode-merkintä tälle suunnanvaihdolle on \texttt{U+200F}. Kaksisuuntaisella algoritmilla tarkoitetaan tässä Unicoden kaksisuuntaista algoritmia. Tämän algoritmin tarkoituksena asiallisissa tarkoituksissa kääntää kirjoitussuunta vasemmalle muun muassa arabiaa tai hepreaa kirjoittaessa. Uudelleenjärjestelyjä käytetään myös NLP-luokittimen sekoittamiseen, jolloin tulokset NLP-luokittimesta ovat käyttökelvottomia. Taulukossa 3.4 uudelleenjärjestelyhyökkäys merkeissä \texttt{la} aiheuttaa ranskankielisen käännöksen järjettömyyden. Tämänlaista hyökkäystä voisi käyttää digitaalista sanakirjaa tai kääntäjää vastaan. \citep{boucher2021bad} \texttt{U+200F} ladotaan näkymättömänä näkymättömien merkkien tapaan.
\begin{table}[hbt]
\caption{Uudelleenjärjestelyhyökkäys \citep{boucher2021bad}}
\begin{tabular}{| l | m{20em} |}
\hline
Alkuperäinen viesti & Käännös\\
\hline
A black box in your car? & Une boîte noire dans votre voiture ?\\
\hline
A b\underline{la}ck box in your car? & A b c h a c h a c h a c h a c h a c h a c h a c h e ?\\
\hline
\end{tabular}
\end{table}
\section{Poistohyökkäykset}
Viimeisenä käydään läpi poistohyökkäykset. Poistohyökkäyksen tarkoituksena on poistaa käyttäjälle näkyvästä tekstistä ladontavaiheessa haluttu määrä tekstiä pois. Uhri esimerkiksi voisi olla myymässä asuntoaan, jolloin hän kopioi ja liittää sähköiseen sopimukseen hyökkääjän ehdottaman summan. Latomisvaiheessa käyttäjä kuitenkin unohtaa tarkistaa sopimuksen, jolloin poistomerkit saattavat poistaa myyntihinnasta esimerkiksi muutaman nollan.
Poistohyökkäyksiä on vaikeampi toteuttaa aikaisempiin metodeihin verrattuna. Tämä johtuu useimpien käyttöjärjestelmien estosta kopioida poistoja sisältävää tekstiä leikepöydälle suoraviivaisilla tavoilla, joilla uhri sen tekisi. Onnistuakseen poistohyökkäyksessä, hyökkääjän tarvitsee yleisesti lisätä NLP-luokittimeen poisto itse. Esimerkkejä poistomerkeistä ovat askelpalautin (BS, eng. backspace), delete (DEL) sekä vaununpalautus (CR, eng. carriage return). \citep{boucher2021bad}
Kuva 3.4 havainnollistaa poistohyökkäystä käytännössä. Esimerkissä näkymättömiä poistomerkkejä on pistetty sanojen väliin, muuttaen näin ladottujen lauseiden merkityksen. Viimeinen viesti pitäisi kääntyä viestiksi ''Tämä on tosiaan pakollinen valtiollemme.''. Käännös on kuitenkin hyökkäyksen jälkeen ''Tämä todellisuus on pakollinen rakkauden syntymälle''.
\begin{table}[hbt]
\caption{Poistohyökkäys \citep{boucher2021bad}}
\begin{tabular}{| l | m{17em} |}
\hline
Alkuperäinen viesti & Käännös\\
\hline
This really is a must for our nation. & C'est vraiment une nécessité pour notre nation.\\
\hline
This rea\_lly\_\_ is a must for\_ our na\_tion. & Cette réalyya est un incontournable pour la naissance de l'amour.\\
\hline
\end{tabular}
\end{table}
Vaikka NLP-luokittimia vastaan kohdistuvia hyökkäyksiä on monta ja osa hyökkäyksistä on vaikeasti havaittavia, näiltä pyritään silti suojautumaan eri menetelmillä.