Puncte:17

Cât de unic este un „NeuralHash”?

drapel gn

Am citit azi despre o mare companie de tehnologie care plănuiește să implementeze un nou sistem pentru detectarea și raportarea automată a CSAM în fotografiile utilizatorilor. În general, sistemul descris în rezumatul tehnic de 12 pagini pare să fie proiectat destul de bine și poate fi cât mai aproape de confidențialitate reală, permițând în același timp supravegherea conținutului.

Acestea fiind spuse, hackerul din mine nu se poate abține să nu se simtă puțin alarmat când aude despre excepții de la ceea ce altfel ar putea fi criptarea end-to-end (nu că stocarea lor foto este anunțată ca fiind criptată end-to-end pentru a începe cu, cu toate acestea, prezentarea lor tehnică spune că toate fotografiile sunt criptate cu aâprag de rupereâcheie generată aleatoriu de dispozitivul utilizatorului). Prin urmare, am venit aici pentru a sublinia ceea ce văd ca fiind cel mai realist atac asupra puterii criptografice/garanțiilor de confidențialitate ale acestui sistem și pentru a afla (sper) de ce greșesc sau ce am trecut cu vederea.


Să presupunem că această companie suferă vreodată o încălcare a datelor: o situație puțin probabilă pentru început, dar nu nemaiauzită. Ca urmare a acestei încălcări a datelor, fotografiile multor utilizatori (în format criptat) sunt scurse.Dacă ar exista o adevărată criptare end-to-end, aceasta nu ar fi o problemă majoră de confidențialitate, deoarece toate fotografiile ar fi criptate cu o cheie cunoscută numai de dispozitivele utilizatorilor finali și, prin urmare, nu ar fi decriptabile în mod realist de către nimeni de pe site. Internet.

În acest nou sistem, însă, am înțeles că fotografiile, sau cel puțin lor derivate vizuale ( pentru care nu am putut găsi o definiție totuși presupun este similar cu miniaturile), sunt criptate de două ori, stratul exterior fiind criptat de o cheie derivată din NeuralHash-ul fotografiei.

NeuralHash este descris ca un algoritm de hash capabil să furnizeze același hash pentru aceeași imagine, chiar și după ce imaginea a fost supusă decupării, redimensionării, ajustărilor de culoare, compresiei etc.

Pentru a cita o parte din rezumatul tehnic:

Scopul principal al hash-ului este de a se asigura că imaginile identice și similare din punct de vedere vizual au ca rezultat același hash, iar imaginile care sunt diferite una de cealaltă duc la hashuri diferite. De exemplu, o imagine care a fost ușor decupată sau redimensionată ar trebui să fie considerată identică cu originalul și să aibă același hash.

Acest lucru este grozav în teorie, deoarece înseamnă că toate fotografiile (probabil unice) făcute de utilizatori vor fi criptate cu secrete puternice, unice, păstrându-le private și în siguranță.

Dar, ce se întâmplă când un utilizator stochează o fotografie care nu este unică? De exemplu, o captură de ecran de pe un site web popular, un meme care circulă pe internet etc.? Ce poate împiedica un atacator să genereze un NeuralHash de meme populare, să obțină o cheie, apoi să forțeze datele scurse până când decriptează cu succes o intrare, verificând astfel conținutul din biblioteca foto cloud a unui anumit utilizator și degradându-i nivelul de confidențialitate?

Sau, pentru un alt exemplu, să spunem atacatorul iubiri mere și chiar vrea să găsească fotografii cu mere.Ce îi împiedică să aibă un AI să genereze câteva milioane de fotografii ale unui măr, să le trimită, să obțină chei și apoi să forțeze scurgerea probabil mare până când găsește o potrivire? Nu poate fi acea multe permutări ale unui măr, se poate? Desigur, nu veți găsi toate fotografiile cu mere, dar aș crede că ați putea obține cel puțin niste potriviri decriptabile.

Această companie însăși chiar dezvăluie într-unul dintre lucrările sale că există o șansă diferită de zero de rezultate false pozitive atunci când vine vorba de potriviri și că, prin urmare, a introdus partajarea secretă a pragului (adică nevoia de a avea mai multe potriviri la „cunoscut-rele” lor. „baza de date înainte ca nivelul lor interior de criptare să poată fi spart... mai multe despre asta în continuare), pentru a reduce șansa de fals pozitive până la unul la un trilion. O șansă semnificativ mai mică de o într-un trilion de a avea o potrivire fals pozitivă pentru orice, având în vedere sunetele foto în raza bruteforceable pentru mine, mai ales dacă știți deja ce tip de fotografie căutați.

Pe o notă finală, există un strat interior de criptare de prag care, practic, necesită ca straturile exterioare ale mai multor fotografii să fie decriptate înainte ca cheia pentru decriptarea stratului interior să poată fi construită. Dar încă o dată, în funcție de dimensiunea pragului (care trebuie să fie destul de mică, deoarece trebuie să fie mai mică decât o cantitate realistă de CSAM pe care ar putea-o avea cineva), nu pare un obstacol mare: trebuie doar să găsești un utilizator care are, să zicem, zece meme comune stocate în întreaga bibliotecă de stocare a fotografiilor în cloud și acum ați construit acea cheie. Potrivit hârtiei, aceeași cheie este folosită peste tot toate a fotografiilor unui utilizator pentru primul strat de criptare.

La sfârșitul zilei, văd garanțiile de securitate și confidențialitate ale acestui sistem în cazul unei încălcări a datelor atârnând de unul, principalul lucru: NeuralHash.

Dacă NeuralHash are o rată de fals pozitive suficient de mare și poate fi proiectat invers sau se scurge sau este făcut public (dacă nu este deja), atunci această companie majoră de tehnologie poate garanta cu adevărat utilizatorilor săi că fotografiile lor private vor rămâne necondiționat private, atâta timp cât nu sunt CSAM? Ce protecții criptografice am trecut cu vederea, care fac imposibil un atac ca cel descris mai sus? Ce îmi lipsește? Vedeți alte posibile defecte?


Actualizare: nu eram sigur dacă se consideră acceptabil sau nu denumirea în mod specific a companiei, așa că am decis să greșesc precauția și să nu fac acest lucru. Acestea fiind spuse, am văzut câteva comentarii care cereau sursa, deci aici este. Sper ca asta ajuta!


Adăugarea moderatorului (2021-08-19): Există detalii tehnice în Abhishek Bhowmick, Dan Boneh, Steve Myers: Apple PSI System - Protocol de securitate și analiză. Este unul dintre numeroasele documente legate acum în partea de jos a această pagină.

Noah avatar
drapel gn
@fgrieu Faptul că nu sunt perfect realizate este defectul pe care încerc să-l scot în evidență și motivul pentru care ridic îngrijorarea ca criptarea fotografiilor utilizatorilor să fie potențial bruteforceable. În ceea ce privește faptul că „același hash” nu este un hash egal, nu ar trebui să fie un hash egal? Dacă compania trebuie să poată decripta cu succes imaginile CSAM pentru revizuire manuală, trebuie să aibă hash egal din care să derive cheia de decriptare, nu? De asemenea, la pagina 5 ele arată două imagini exemple care sunt diferite, dar similare ca aspect și sunt etichetate cu aceeași valoare NeuralHash.
fgrieu avatar
drapel ng
Nu văd că micile imperfecțiuni (inevitabile) ale NeuralHash ar invalida pretențiile de confidențialitate, dacă afirmațiile (plauzibile) făcute cu privire la rata scăzută de fals pozitive sunt valabile. Se pare că astfel de imperfecțiuni ar duce în mare parte la o probabilitate crescută de nedetectare. Evident, modificarea software-ului care face analiza sau a bazei de date de hashe-uri pe lista neagră poate duce la încălcarea confidențialității. Îmi rezerv judecata despre ce altceva se poate.
Noah avatar
drapel gn
@fgrieu Compania spune că „pragul este selectat pentru a oferi o probabilitate extrem de scăzută (1 la 1 trilion) de a semnala incorect un anumit cont”. Să presupunem că pragul este 9, ceea ce înseamnă că există aproximativ 1 la 100 de miliarde de șanse ca o fotografie aleatorie încărcată de un utilizator să fie semnalată incorect ca CSAM (apariția unui fals pozitiv). Mi se pare că, cu o colecție suficient de mare de date scurse (sau accesul la date de către un guvern, poate) și folosind AI pentru a genera o mulțime de fotografii *țintite*, fotografiile utilizatorilor *necunoscute* ar putea fi forțate în mod realist. .
drapel th
Când fac fotografii în special cu oameni, tind să fac o rafală de fotografii și mai târziu să le identific pe cele mai bune. Bănuiesc că NeuralHash-ul acelor fotografii ar fi același (dacă hash-ul este stabil împotriva decupării, acesta ar fi similar). Mă întreb dacă același NeuralHash contribuie la schema de decriptare a pragului.
Tom K. avatar
drapel cn
Ați putea explica de ce partea citată a rezumatului tehnic implică ceva despre secretele care sunt folosite? Am citit această parte și pe următoarea de mai multe ori acum și chiar nu sunt sigur cum ar trebui să funcționeze. Când spui „Ce se oprește...?”. Ați putea detalia procedura prin care ar trebui să treacă un atacator?
Noah avatar
drapel gn
@johnflan Este o întrebare foarte bună! *Sper* că compania va ține cont de asta, altfel un singur fals pozitiv sub forma unei fotografii în explozie ar putea în sine să provoace conturile potențial interzise... în funcție de procedura și acuratețea recenziilor manuale.
Noah avatar
drapel gn
@TomK. Foarte simplificate, fotografiile sunt criptate cu NeuralHash. Prin urmare, dacă un atacator poate ghici cum ar trebui să arate fotografia, el poate genera o mulțime de fotografii până când în cele din urmă generează una suficient de asemănătoare pentru a produce același NeuralHash. Apoi pot folosi același NeuralHash pentru a decripta fotografia originală. Așa că, de exemplu, dacă cineva dorește să scaneze datele scurse pentru nuduri, poate folosi AI pentru a genera mii de fotografii false nud, apoi încearcă să folosească acele hashe-uri pentru a decripta datele scurse până când poate decripta nudul real al cuiva. Asta a răspuns la întrebarea ta?
G. Maxwell avatar
drapel fr
Ele nu sunt criptate cu NeuralHash, NeuralHash este folosit într-o intersecție cu set privat. Vezi răspunsul meu mai jos!
Tom K. avatar
drapel cn
Chiar ar trebui să subliniați această parte. Imaginile nu sunt criptate cu hash-ul lor ca cheie. Asta ar fi o veste pentru mine.
lindsaymacvean avatar
drapel is
Acest link de știri ycombinator https://news.ycombinator.com/item?id=28105849 duce la un fragment grozav de cod care arată un atac cu forță brută de dovadă a conceptului pentru algoritmi similari cu NeuralHash https://gist.github.com/unrealwill/c480371c3a4bf3abb29856c29197c02919
Puncte:9
drapel fr

Protocoalele de intersecție cu set privat sunt interactive. Comparați cu o anumită bază de date și apoi, după ce protocolul este finalizat, singurul lucru învățat în intersecție. Dacă intersecția este goală, nu se învață nimic. Presupunând că protocolul este corect construit, o transcriere salvată nu ar permite să se învețe nimic mai târziu.

Repetarea ta a afirmației Apple că protejează confidențialitatea pare totuși a fi greșită. Protocolul criptografic de aici nu servește în mod absolut scopul confidențialității utilizatorului. Confidențialitatea utilizatorului ar fi mai bine protejată de schema naivă evidentă a Apple care trimite utilizatorului lista de hashe-uri interzise și software-ul client care îi spune utilizatorului dacă există o potrivire: deja sistemul depinde în mod critic de sistemul utilizatorului care acționează împotriva interesului său, altfel sistemul utilizatorului ar putea folosi pur și simplu hash-uri inactiv aleatorii pentru orice, așa că Apple ar putea la fel de bine să trimită lista. Trimiterea listei ar fi, de asemenea, mult mai eficientă latimea de bandă și CPU.

În schimb, scopul intersecției private nu este de a proteja confidențialitatea utilizatorului: este de a proteja Apple de responsabilitate, făcând imposibil ca utilizatorii să învețe sau să dovedească ceva despre conținutul bazei de date. Protejează confidențialitatea Apple împotriva dvs. și a publicului larg.

Ar putea baza de date să conțină imagini populare, așa cum sugerați? Sau imagini care vă identifică ca membru al unei anumite religii, etnie sau ideologie politică, gata să fiți vizat pentru genocid? Ca cineva care împărtășește caricaturi politice care critică un dictator cu pielea subțire? Lista poate fi diferită în secret pentru diferiți utilizatori sau în timp? Este posibil ca hackerii sau actorii de stat care compromit infrastructura Apple sau inițiatorii listei înșiși să modifice listele în secret? Absolut, iar criptografia este în vigoare pentru a face informațiile imposibile teoretic (nu doar insolubile din punct de vedere computațional) pentru a descoperi sau a dovedi astfel de abuzuri.

Sau cel puțin cele mai evidente și ușor de construit scheme ECC PSI au securitate teoretică a informațiilor, nu dau suficiente detalii tehnice pentru a ști dacă ale lor da.

Construcția tipică a unei intersecții de set privat ar determina să construiți un polinom cu rădăcina la hash-ul imaginii. Apple îți va trimite o listă de criptare EC-elgamal a hashurilor bazei de date. Criptarea este homomorfă aditiv: puteți lua un text cifrat și adăugați un alt text cifrat, iar rezultatul este o criptare validă a unei sume a textelor simple. De asemenea, puteți lua un text cifrat și îl înmulți cu orice valoare doriți, iar rezultatul este o criptare validă a textului simplu înmulțit cu acel număr.

Veți evalua polinomul imaginii la fiecare punct al bazei de date și apoi veți înmulți rezultatul cu un nou număr aleator (diferit pentru fiecare evaluare) - pe care îl puteți face folosind proprietățile de adunare și înmulțire menționate mai sus. Dacă există o potrivire, evaluarea dvs. are ca rezultat o criptare de zero, iar multiplicarea dvs. păstrează criptarea de zero. Când trimiteți rezultatele înapoi, acestea „decriptează” și primesc fie zerouri (unde există potriviri), fie numere aleatorii. Este destul de simplu să extinzi acest tip de schemă pentru a atașa date auxiliare pe care Apple le învață doar atunci când există potriviri - care este probabil modul în care transmit datele de decriptare.

În orice caz, acest tip de înșelăciune ar trebui să se facă în timp real -- nu după fapt pe datele înregistrate, cel puțin dacă intersecția seturilor private este construită corect.

Noah avatar
drapel gn
Mulțumesc mult! Acesta este un răspuns extrem de bine scris și acum sunt inspirat să merg și să aflu mai multe despre intersecțiile cu set privat! Voi lăsa întrebarea deschisă un pic mai mult, dar așteptați-vă că voi accepta acest răspuns în curând. Multumesc din nou! :)
G. Maxwell avatar
drapel fr
FWIW, am construit o serie de preimagini arbitrare atractive din punct de vedere vizual pentru neuralhash: https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX/issues/1#issuecomment-903094036
Puncte:5
drapel ng

Citatul întrebării despre NeuralHash spune:

Scopul principal al hash-ului este de a se asigura că imaginile identice și similare vizual au ca rezultat același hash, iar imaginile care sunt diferite una de cealaltă au ca rezultat diferite hash-uri. De exemplu, o imagine care a fost ușor decupată sau redimensionată ar trebui să fie considerată identică cu originalul și să aibă același hash.

Aceasta este Mințiți-i copiilor. Este imposibil să se realizeze ceea ce este declarat ca scop.O presupunere esențială este lăsată nedeclarată: că imaginile nu sunt create pentru a învinge scopul. Și chiar și atunci vor exista excepții.

Mai precis, poate fi realizat

  1. Negative false: în mod inevitabil, este ușor să expuneți imagini similare vizual cu NeuralHash diferit. Dovada: date oricare două imagini vizual diferite $A$ și $B$, tehnica cunoscută ca morphing creează o listă de $n$ imagini $C_i$, cu $C_1=A$ și $C_n=B$, astfel încât pentru toți $i$ în $[1,n)$ imaginile $C_i$ și $C_{i+1}$ sunt similare vizual, într-o măsură arbitrară. Dacă vreo pereche de imagini similare vizual avea același NeuralHash, $A$ și $B$ ar avea același NeuralHash (pentru că egalitatea este tranzitiv), contrazicând un scop declarat. Astfel, egalitatea NeuralHash pentru $C_i$ și $C_{i+1}$ este stricat pentru unii $i$.

    Se pare că, există chiar și un artefact¹ care face ca NeuralHash să producă uneori diferite NeuralHash-uri pentru exact aceeași intrare¹ pe mașini diferite!

  2. Fals pozitive: Se pare că, este posibil să expuneți două imagini diferite vizual cu exact același NeuralHash. Mai rău, pornind de la o imagine a pisicii și NeuralHash a unei imagini de câine, este raportat că este fezabil să se creeze o imagine care să aibă NeuralHash-ul imaginii câinelui, dar pentru un spectator uman este în mod clar imaginea pisicii (OK, afișată cu un videoclip greșit). șoferii, dar așa cum se spune atribuite NSA spune: âAtacurile devin mereu mai bune; nu se înrăutăţesc niciodată.â); și, important, imaginea câinelui în sine nu este necesară.

    Acesta este echivalentul hash perceptiv al unui prim și al doilea atac preimagine, deci și o coliziune. Intrarea sa constă dintr-un NeuralHash și o imagine țintă fără legătură pentru a imita perceptiv.Fezabilitatea unui astfel de atac face necesară păstrarea secretă a listei NeuralHash-urilor aflate pe lista neagră: nu există nicio altă barieră tehnică care să îi împiedice pe mulți oponenți ai sistemului să-l copleșească sub fals pozitive, fără a fi nevoie să manipuleze imaginile interzise.


Ar părea plauzibil să reparați în mare parte 1 (și artefactul de implementare raportat) prin înlocuirea „același” cu „similar într-o toleranță”, pe tonul de: diferă de cel mult $b$ biți. Cu toate acestea, nu cred că s-a făcut, deoarece Pragul PSI-AD și Prag fuzzy PSI-AD protocoalele preconizate realizează potriviri hash exacte. Cred că această constrângere de potrivire exactă va face imposibilă repararea fals-pozitivelor NeuralHash în ipoteze adverse, menținând în același timp că modificările vizuale minore non-adversariale modifică rareori NeuralHash.

Eludarea din punct de vedere tehnic a sistemului folosind NeuralHash ar fi ușoară: nu am văzut este revendicat, dar nu m-aș mira dacă ar fi fezabil să schimb o imagine, fără nicio modificare vizuală, într-una cu un NeuralHash care diferă cu câteva (aleatorie). ) biți, evitând astfel detectarea. Presupun că acest rezultat final poate fi atins și prin lipirea imaginilor interzise una lângă alta într-una mai mare. Și cu siguranță se ajunge la criptare la nivel de aplicație sau/și steganografie.


Concluzie

NeuralHash nu funcționează așa cum este anunțat în ipotezele standard în criptografie și securitate IT: că este public și este atacat. Ceea ce este probabil.

Astfel, sistemul automat de cenzură la domiciliu care utilizează NeuralHash nu poate fi robust. Este ușor de ocolit; și este vulnerabil la un anumit grad de refuzare a serviciului cu rezultate false pozitive dacă NeuralHashes pe lista neagră se scurg. Cu toate acestea, ar putea avea succes la raportarea prezenței unor materiale interzise și la protejarea promotorilor acestuia de răspunderea legală.


¹ Se presupune că acest lucru se datorează detaliilor despre virgulă mobilă.Unul exemplu raportat are 9 biți din 96 care diferă, fără o relație evidentă între poziția lor. Asta mi se pare o mare discrepanță. Poate că raportul este greșit, sau pentru o versiune de pre-lansare a NeuralHash, sau pentru o intrare patologică. Sau algoritmul este instabil din punct de vedere numeric, o problemă cunoscută cu algoritmii de rețele neuronale profunde obținuți prin antrenament: este greu (și, de obicei, nu se încearcă) să analizeze modul în care funcționează de fapt. Dacă se întâmplă să-și fi atins obiectivul printr-o funcție cu mult câștig de intrare/ieșire, sau în funcție de o depășire sau trunchiere, algoritmul poate fi degradat atunci când unele detalii FPU se modifică, trebuie ca o funcție care repetă harta logistică.

Puncte:2
fgrieu avatar
drapel ng
Nu este doar o coliziune. Este o preimagine țintită. Vedeți 2 în [răspunsul meu](https://crypto.stackexchange.com/a/93631/555).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.