Datorită Tommy Mysk și Talal Haj Bakry of @mysk_co pentru impulsul și informațiile din spatele acestui articol. Cei doi se descriu ca „doi dezvoltatori iOS și cercetători ocazionali în securitate pe două continente”. Cu alte cuvinte, deși securitatea cibernetică nu este afacerea lor de bază, ei fac ceea ce ne-am dori ca toți programatorii să facă: să nu ia de la sine înțeles funcțiile de securitate ale aplicațiilor sau ale sistemului de operare, ci să-și păstreze ochii asupra modului în care funcționează acele caracteristici în viața reală, pentru a evita împiedicarea de greșelile și presupunerile altora.
Imaginea prezentată mai sus se bazează pe unul dintre tweet-urile lor, pe care îl puteți vedea integral mai jos.
Twitter recent a anunțat că nu crede că autentificarea cu doi factori pe bază de SMS (2FA) este suficient de sigură.
În mod ironic, așa cum am explicat săptămâna trecută, tocmai utilizatorii pentru care ați crede că această schimbare ar fi cea mai importantă sunt utilizatorii Twitter de „nivelul superior” – cei care plătesc pentru o insignă Twitter Blue pentru a le oferi mai multă acoperire și pentru a le permite să trimite tweet-uri mai lungi...
… dar acelor utilizatori pay-to-play li se va permite să folosească în continuare mesaje text (SMS) pentru a-și primi codurile 2FA.
Ceilalți dintre noi trebuie să trecem la un alt tip de sistem 2FA în următoarele trei săptămâni (înainte de vineri 2023-03-17).
Aceasta înseamnă utilizarea unei aplicații care generează o secvență secretă „însămânțată” de coduri unice sau folosirea unui token hardware, cum ar fi un Yubikey, care face partea criptografică de a vă dovedi identitatea.
Chei hardware sau coduri bazate pe aplicații?
Cheile de securitate hardware costă aproximativ 100 USD fiecare (ne luăm după prețul aproximativ al Yubikey pentru un dispozitiv cu protecție biometrică bazată pe amprenta dvs.) sau 50 USD dacă sunteți dispus să alegeți sortarea mai puțin sigură care poate fi activată prin atingere de degetul oricui.
Prin urmare, suntem dispuși să presupunem că oricine a investit deja într-un token de securitate hardware va fi făcut acest lucru intenționat și nu și-ar fi cumpărat unul pentru a-l lăsa în brațe acasă.
Prin urmare, acești utilizatori vor fi renunțat deja de la 2FA bazat pe SMS sau pe aplicație.
Dar toți ceilalți, bănuim, se încadrează într-una dintre cele trei tabere:
- Cei care nu folosesc deloc 2FA, deoarece consideră că este o bătaie de cap suplimentară inutilă atunci când se conectează.
- Cei care au activat 2FA bazat pe SMS, pentru că este simplu, ușor de utilizat și funcționează cu orice telefon mobil.
- Cei care au optat pentru 2FA bazat pe aplicații, pentru că au fost reticente în a-și preda numărul de telefon sau au decis deja să treacă de la mesajul text 2FA.
Dacă vă aflați în a doua tabără, sperăm că nu veți renunța doar la 2FA și nu veți lăsa să expire pe contul dvs. de Twitter, ci veți trece la o aplicație pentru a genera acele coduri din șase cifre.
Și dacă sunteți în prima tabără, sperăm că publicitatea și dezbaterea în jurul schimbării Twitter (a fost într-adevăr făcută din motive de securitate sau pur și simplu pentru a economisi bani la trimiterea atât de multe SMS-uri?) să fie impulsul de care aveți nevoie pentru a adoptați singur 2FA.
Cum se face 2FA bazat pe aplicație?
Dacă utilizați un iPhone, managerul de parole încorporat în iOS poate genera coduri 2FA pentru dvs., pentru oricâte site-uri web doriți, astfel încât să nu aveți nevoie să instalați niciun software suplimentar.
Pe Android, Google oferă propria sa aplicație de autentificare, numită în mod surprinzător Google Authenticator, pe care îl puteți obține de pe Google Play.
Aplicația suplimentară Google are rolul de a genera secvențele de cod de conectare necesare unice, la fel ca și cea de la Apple Setări cont > Parolele utilitar pe iOS.
Dar vom presupune că cel puțin unii oameni, și posibil mulți, se vor fi întrebat în mod perfect rezonabil, „Ce alte aplicații de autentificare există, așa că nu trebuie să-mi pun toate ouăle de securitate cibernetică în coșul Apple (sau Google)?”
Multe companii de renume (inclusiv Sophos, apropo, pentru ambele iOS și Android) furnizează utilități de autentificare gratuite, de încredere, care vor face exact ceea ce aveți nevoie, fără bibelouri, taxe sau reclame, dacă, în mod înțeles, aveți chef să utilizați o aplicație 2FA care nu provine de la același furnizor ca sistemul dvs. de operare.
Într-adevăr, puteți găsi o gamă extinsă și tentantă de autentificatori doar căutând Aplicație de autentificare în Google Play sau în App Store.
Răsfatat de alegere
Problema este că există un număr improbabil, poate chiar imponderabil, de astfel de aplicații, toate aparent aprobate pentru calitate prin acceptarea lor în „grădinile zidite” oficiale ale Apple și Google.
De fapt, prieteni ai Naked Security @mysk_co tocmai ne-au trimis un e-mail pentru a spune că au căutat ei înșiși aplicații de autentificare și au fost undeva între uimiți și șocați de ceea ce au găsit.
Tommy Mysk, co-fondatorul @mysk_co, a spus clar și simplu într-un e-mail:
Am analizat mai multe aplicații de autentificare după ce Twitter a oprit metoda SMS pentru 2FA. Am văzut multe aplicații de înșelătorie care arată aproape la fel. Toți îi păcălesc pe utilizatori să facă un abonament anual de 40 USD/an. Am prins patru care au binare aproape identice. De asemenea, am prins o aplicație care trimite fiecare cod QR scanat în contul de analiză Google al dezvoltatorului.
Așa cum Tommy vă invită să vă întrebați, într-o serie de tweet-uri pe care le-a postat, cum ar trebui să știe chiar și un utilizator bine informat că rezultatul său de căutare principal pentru „Aplicație de autentificare” poate fi de fapt chiar cel de evitat cu orice preț?
Se pare că aplicațiile de impostor din această categorie încearcă, în general, să te determine să le plătești oriunde între 20 USD și 40 USD în fiecare an - cam atât cât ar costa să cumperi un token hardware 2FA de renume, care ar dura ani de zile și, aproape sigur, ar fi mai sigur. :
Multe dintre aceste aplicații de autentificare suspecte folosesc această tehnică pentru a păcăli utilizatorii. După ce terminați expertul de bun venit după prima lansare, obțineți vizualizarea achiziției în aplicație. Și butonul x pentru a închide vizualizarea apare după câteva secunde (colțul din dreapta sus)#Magazin de aplicații pic.twitter.com/sgxEo5ZwF0
— Mysk 🇨🇦🇩🇪 (@mysk_co) 20 Februarie 2023
Când am încercat să căutăm în App Store, de exemplu, hit-ul nostru principal a fost o aplicație cu o descriere care se învecina cu analfabeții (sperăm că acest nivel de neprofesionalism va dezamăgi cel puțin unii oameni imediat), creat de un companie folosind numele unui cunoscut brand chinezesc de telefoane mobile.
Având în vedere calitatea aparent slabă a aplicației (deși a ajuns totuși în App Store, nu uitați), primul nostru gând a fost că ne uităm la încălcarea totală a numelui companiei.
Am fost surprinși că presupușii impostori au reușit să obțină un certificat de semnare a codului Apple cu un nume pe care nu credeam că au dreptul să îl folosească.
A trebuit să citim numele companiei de două ori înainte să ne dăm seama că o literă a fost schimbată cu un personaj asemănător și aveam de-a face cu o „posquatting” veche, sau cum ar putea numi un avocat. trecând – alegeți în mod deliberat un nume care nu se potrivește literalmente, dar este suficient de asemănător vizual pentru a vă induce în eroare dintr-o privire.
Când am căutat pe Google Play, cea mai populară aplicație a fost o aplicație despre care @mysk_co a scris deja pe Twitter, avertizând că nu numai că necesită bani pe care nu trebuie să-i cheltuiți, ci și fură seminţe or secrete de început dintre conturile pe care le-ați configurat pentru 2FA.
Amintiți-vă șirul secret 6QYW4P6KWALGCUWM
în codul QR și numerele TOTP 660680
pe care le puteți vedea în imaginile de mai jos, pentru că ne vom întâlni cu ei mai târziu:
De ce semințele sunt secrete
A explica.
Majoritatea codurilor 2FA bazate pe aplicații se bazează pe un protocol criptografic cunoscut sub numele de TOTP, prescurtare pentru parolă unică bazată pe timp, specificat în RFC 6238.
Algoritmul este surprinzător de simplu, așa cum puteți vedea din exemplul de cod Lua de mai jos:
Procesul funcționează astfel:
A. Convertiți seedul sau „secretul de pornire”, furnizat inițial ca șir codificat în bază32 (sub formă de text sau printr-un cod QR), într-un șir de octeți [linia 4].
B. Împărțiți „timpul epocii Unix” curent în secunde la 30, ignorând partea fracțională. Ora Unix este numărul de secunde de la 1970-01-01T00:00:00Z [5].
C. Salvați acest număr, care este efectiv un numărător de jumătate de minut care a început în 1970, într-un buffer de memorie ca un întreg big-endian fără semn pe 64 de biți (8 octeți) [6].
D. Schimbați acel buffer de 8 octeți folosind o iterație a HMAC-SHA1 cu semințele de pornire decodificate cu base32 ca cheie [7].
E. Extrageți ultimul octet al rezumatului HMAC-SHA160 de 1 de biți (octetul 20 din 20) și apoi luați cei patru biți inferiori (rămașii când este împărțit la 16) pentru a obține un număr X între 0 și 15 inclusiv [8] .
F. Extrage octeții X+1,X+2,X+3,X+4 din hash, adică 32 de biți desenați oriunde de la primii patru octeți (1..4) până la ultimii patru, dar unul ( 16..19) [13].
G. Convertiți într-un număr întreg nesemnat big-endian de 32 de biți și scoateți la zero bitul cel mai semnificativ, astfel încât să funcționeze curat, indiferent dacă este tratat ulterior ca semnat sau nesemnat [13].
H. Luați ultimele 6 cifre zecimale ale acelui întreg (calculați restul când este împărțit la un milion) și imprimați-l cu zerouri de început pentru a obține codul TOTP [17].
Cu alte cuvinte, sămânța de pornire pentru orice cont, sau secretul așa cum îl puteți vedea etichetat în tweet-ul lui @mysk_co de mai sus, este literalmente cheia pentru producerea fiecărui cod TOTP de care veți avea nevoie vreodată pentru acel cont.
Codurile sunt pentru utilizare, semințele sunt pentru securizare
Există trei motive pentru care introduceți acele coduri de șase cifre calculate în mod ciudat atunci când vă autentificați și nu utilizați niciodată (sau chiar trebuie să vedeți) sămânța direct din nou:
- Nu puteți lucra înapoi de la niciunul dintre coduri la cheia folosită pentru a le genera. Prin urmare, interceptarea codurilor TOTP, chiar și în număr mare, nu vă ajută să faceți o inginerie inversă către orice coduri de conectare trecute sau viitoare.
- Nu puteți trece de la codul curent la codul următor în secvență. Fiecare cod este calculat independent, pe baza semințelor, astfel încât interceptarea unui cod astăzi nu vă va ajuta să vă conectați în viitor. Prin urmare, codurile acționează ca parole unice.
- Nu trebuie să introduceți niciodată sămânța în sine într-o pagină web sau într-un formular de parolă. Pe un telefon mobil modern, acesta poate fi, prin urmare, salvat exact o dată în cipul de stocare securizat (uneori numit și enclavă) pe dispozitiv, de unde un atacator care vă fură telefonul când este blocat sau oprit nu îl poate extrage.
Mai simplu spus, un cod generat este sigur pentru utilizare o singură dată, deoarece sămânța nu poate fi dezbătută înapoi din cod.
Dar sămânța trebuie ținută secretă pentru totdeauna, pentru că orice cod, de la începutul anului 1970 până la mult timp după probabila moarte termică a universului (263 secunde în viitor, sau aproximativ 0.3 trilioane de ani), pot fi generate aproape instantaneu din sămânță.
Desigur, serviciul la care vă conectați are nevoie de o copie a semințelor pentru a verifica dacă ați furnizat un cod care se potrivește cu ora la care încercați să vă conectați.
Deci trebuie ai încredere în serverele de la celălalt capăt să aveți grijă suplimentară să vă păstrați semințele în siguranță, chiar și (sau poate mai ales) dacă serviciul este încălcat.
De asemenea, trebuie să aveți încredere în aplicația pe care o utilizați să nu-ți dezvălui niciodată semințele.
Asta inseamna neafișând acele semințe oricui (o aplicație codificată corect nici măcar nu vă va arăta sămânța după ce ați introdus-o sau ați scanat-o, pentru că pur și simplu nu trebuie să o vedeți din nou), nu eliberează semințe la orice alte aplicații, nu le scrie pentru a înregistra fișiere, adăugându-le la copii de rezervă sau incluzându-le în ieșirea de depanare...
… și foarte, foarte sigur nu transmite niciodată niciuna dintre semințele tale prin rețea.
De fapt, o aplicație care îți încarcă semințele pe un server oriunde în natură este fie atât de incompetentă încât ar trebui să încetezi imediat să o mai folosești, fie atât de nedemn de încredere încât ar trebui să o tratezi ca malware cibercriminal.
Ce să fac?
Dacă ați luat recent o aplicație de autentificare, mai ales dacă ați făcut-o în grabă ca urmare a anunțului recent al Twitter, revizuiește alegerea ta în lumina a ceea ce știi acum.
Dacă ați fost forțat să plătiți un abonament pentru acesta; dacă aplicația este plină de reclame; dacă aplicația vine cu un marketing mai mare decât viața și recenzii strălucitoare, totuși vine de la o companie despre care nu ați auzit niciodată; sau dacă pur și simplu ai pe gânduri secunde și ceva nu este în regulă...
… luați în considerare trecerea la o aplicație obișnuită pe care echipa dvs. IT a aprobat-o deja sau pentru care cineva tehnic, pe care îl cunoașteți și în care aveți încredere, poate garanta.
După cum am menționat mai sus, Apple are un generator de coduri 2FA încorporat Setări cont > Parolele, iar Google are propriile sale Google Authenticator aplicația din Magazinul Play.
Furnizorul tău de securitate preferat are probabil o aplicație gratuită, fără anunțuri, generatoare de coduri, pe care o poți folosi și tu. (Sophos are un autentificator independent pentru iOS și o componentă de autentificare în aplicația gratuită Sophos Intercept X for Mobile pentru ambele iOS și Android.)
Dacă decideți să schimbați aplicația de autentificare deoarece nu sunteți sigur de cea pe care o aveți, asigurați-vă că resetați toate semințele 2FA pentru toate conturile pe care i le-ați încredințat.
(De fapt, dacă vechea aplicație are o opțiune de a vă exporta semințele, astfel încât să le puteți citi într-o aplicație nouă, acum știți nu numai că nu ar trebui să utilizați această funcție, ci și că decizia dvs. de a schimba aplicațiile a fost bună unu!)
CUANTIFICAREA RISCULUI PENTRU DVS
Riscul de a vă lăsa contul protejat de o sămânță 2FA pe care credeți că altcineva ar putea să-l cunoască deja (sau să-l poată da seama) este evident.
Vă puteți dovedi acest lucru utilizând algoritmul TOTP pe care l-am prezentat mai devreme și introducând în [A] șirul „secret” de la Tommy Mysk. tweet de mai sus și [B] ora la care a făcut captura de ecran, care era 7:36, ora Europei Centrale, pe 2023, cu o oră înaintea UTC (Ora Zulu, notat Z
în marcajul temporal de mai jos).
Sămânța furată este: 6QYW4P6KWALGCUWM Ora Zulu a fost: 2023-02-25T18:36:00Z Care este: 1,677,350,160 de secunde în epoca Unix
După cum v-ați putea aștepta și așa cum vă puteți potrivi cu imaginile din tweetul de mai sus, codul produce următoarea ieșire:
$ luax totp-mysk.lua Codul lui Tommy Mysk a fost: 660680
După cum ar putea spune faimoasa meme a jocurilor video: Toate codurile lui TOTP ne aparțin.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://nakedsecurity.sophos.com/2023/02/27/beware-rogue-2fa-apps-in-app-store-and-google-play-dont-get-hacked/
- 1
- 2FA
- 7
- a
- Capabil
- Despre Noi
- mai sus
- Absolut
- acceptare
- Cont
- Conturi
- dobândi
- act
- Add-on
- Suplimentar
- adopta
- Anunţuri
- După
- înainte
- Algoritmul
- TOATE
- deja
- Cu toate ca
- Google Analytics
- și
- Android
- Anunț
- oricine
- oriunde
- aplicaţia
- App Store
- aparent
- Apple
- aplicație
- aprobat
- Apps
- în jurul
- articol
- Autentificare
- autor
- Auto
- imagine de fundal
- backup-uri
- bazat
- coş
- deoarece
- înainte
- în spatele
- de mai jos
- între
- Ai grijă
- biometrice
- Pic
- Albastru
- insigna albastră
- frontieră
- De jos
- au cumpărat
- marca
- tampon
- construit
- construit-in
- afaceri
- buton
- cumpăra
- calcula
- apel
- denumit
- Tabără
- Poate obține
- pasă
- Categorii
- prins
- Centru
- central
- cu siguranță
- certificat
- Schimbare
- caracter
- chinez
- cip
- Co-fondator
- cod
- culoare
- cum
- Companii
- companie
- component
- Lua în considerare
- converti
- Nucleu
- Colț
- A costat
- Cheltuieli
- Contracara
- Curs
- acoperi
- a creat
- criptografic
- Curent
- CYBERCRIMINAL
- Securitate cibernetică
- abuzive
- Moarte
- dezbatere
- hotărât
- decizie
- categoric
- cererile
- descrie
- descriere
- Dezvoltatorii
- dispozitiv
- FĂCUT
- diferit
- rezumat
- cifre
- direct
- destitui
- Afişa
- afișarea
- împărțit
- Nu
- face
- Dont
- fiecare
- Mai devreme
- în mod eficient
- Ouă
- oricare
- suficient de
- a intrat
- încredințate
- epocă
- mai ales
- european
- Chiar
- EVER
- Fiecare
- toată lumea
- exact
- exemplu
- aștepta
- Explica
- a explicat
- exporturile
- extensiv
- suplimentar
- extrage
- Ochi
- Falls
- celebru
- Caracteristică
- Recomandate
- DESCRIERE
- hrănire
- Taxe
- puțini
- Figura
- Fişiere
- Găsi
- deget
- amprentă digitală
- termina
- First
- următor
- pentru totdeauna
- formă
- găsit
- fracționar
- Gratuit
- Vineri
- Prietenii lui
- din
- Complet
- viitor
- în general
- genera
- generată
- generează
- generator
- generator
- obține
- Da
- ochire
- Go
- merge
- bine
- Google Analytics
- Google Play,
- acordate
- mână
- Piese metalice
- Securitate hardware
- hașiș
- având în
- auzit
- înălțime
- ajutor
- Lovit
- Acasă
- sperând
- planare
- Cum
- HTTPS
- identic
- Identitate
- imagine
- imagini
- imediat
- important
- Improbabil
- in
- În altele
- Inclusiv
- Inclusiv
- independent
- informații
- încălcare
- instala
- in schimb
- investit
- invitatiile
- iOS
- iPhone
- IT
- repetare
- în sine
- Loc de munca
- A pastra
- păstrare
- Cheie
- chei
- Cunoaște
- cunoscut
- mare
- Nume
- lansa
- avocat
- conducere
- Părăsi
- lăsând
- scrisoare
- Nivel
- Viaţă
- ușoară
- Probabil
- Linie
- blocat
- Lung
- mai lung
- cautati
- făcut
- Mainstream
- malware
- manager
- multe
- Margine
- Marketing
- Meci
- max-width
- mijloace
- Întâlni
- meme
- Memorie
- menționat
- mesaje
- metodă
- ar putea
- milion
- greşeli
- Mobil
- Aplicatie mobila
- telefon mobil
- Modern
- bani
- mai mult
- cele mai multe
- muta
- Securitate goală
- nume
- În apropiere
- Nevoie
- nevoilor
- cu toate acestea
- Nou
- aplicație nouă
- următor
- normală.
- număr
- numere
- evident
- ocazional
- promoții
- oficial
- Vechi
- ONE
- de operare
- sistem de operare
- Opțiune
- comandă
- iniţial
- Altele
- propriu
- parte
- Parolă
- manager de parole
- Parolele
- trecut
- Paul
- Plătește
- de plată
- oameni
- oamenii lui
- poate
- telefon
- Plato
- Informații despre date Platon
- PlatoData
- Joaca
- Joaca Store
- sărac
- poziţie
- postat
- postări
- prezentat
- preţ
- probabil
- Problemă
- proces
- Programatorii
- protejat
- protecţie
- protocol
- Dovedi
- furniza
- prevăzut
- publicitate
- cumpărare
- scop
- pune
- Codul QR
- calitate
- gamă
- ajunge
- Citeste
- real
- viata reala
- motive
- a primi
- recent
- recent
- respectabil
- cercetători
- REST
- rezultat
- dezvălui
- Recenzii
- Risc
- sigur
- acelaşi
- Economisiți
- Înșelătorie
- aplicații de înșelătorie
- Caută
- căutare
- Al doilea
- secunde
- Secret
- sigur
- securitate
- token de securitate
- sămânţă
- seminţe
- pare
- trimitere
- Secvenţă
- serie
- Servere
- serviciu
- set
- câteva
- șocat
- Pantaloni scurți
- să
- Arăta
- semnat
- semnificativ
- semnare
- asemănător
- simplu
- pur şi simplu
- întrucât
- Ședință
- SMS-uri
- So
- Software
- solid
- unele
- Cineva
- ceva
- undeva
- specificată
- petrece
- Începe
- început
- Pornire
- fură
- furate
- Stop
- oprit
- depozitare
- stoca
- abonament
- astfel de
- furnizat
- a presupus
- uimit
- suspicios
- SVG
- Intrerupator
- comutate
- sistem
- Lua
- luare
- echipă
- Tehnic
- lor
- se
- prin urmare
- gândit
- trei
- timp
- timestamp-ul
- la
- astăzi
- semn
- de asemenea
- top
- TOTP
- atingeţi
- tranziţie
- transparent
- trata
- Trilion
- adevărat
- Încredere
- demn de încredere
- transformat
- tweet
- tweets
- De două ori
- stare de nervozitate
- Lesne de înțeles
- Univers
- unix
- URL-ul
- us
- utilizare
- Utilizator
- utilizatorii
- UTC
- utilitati
- utilitate
- vânzător
- verifica
- de
- Vizualizare
- de avertizare
- web
- site-uri web
- săptămână
- săptămâni
- bun venit
- bine cunoscut
- Ce
- dacă
- care
- OMS
- lățime
- voi
- dispus
- în
- fără
- cuvinte
- Apartamente
- fabrică
- ar
- scris
- X
- an
- ani
- Tu
- Ta
- te
- zephyrnet
- zero