1. Utangulizi
Uthibitishaji kwa kutumia nenosiri bado ndio njia kuu ya uthibitishaji wa wavuti licha ya changamoto zake za usalama zilizorekodiwa vizuri. Watumiaji wanakabiliwa na mzigo wa kiakili katika kuunda na kukumbuka nenosiri thabiti na za kipekee, na hii husababisha matumizi ya nenosiri moja mara kwa mara na uundaji dhaifu wa hati za kutambulisha. Meneja wa nenosiri wanaahidi kupunguza mzigo huu kwa kuzalisha, kuhifadhi, na kujaza otomatiki nenosiri. Hata hivyo, usalama wao umekuwa ukishikwa shaka katika utafiti uliopita. Karatasi hii inawasilisha tathmini ya kisasa na kamili ya usalama ya meneja kumi na tatu maarufu wa nenosiri wa kivinjari, miaka mitano baada ya udhaifu mkubwa kuwasilishwa mara ya mwisho. Utafiti huu unashughulikia mzunguko mzima wa maisha ya meneja wa nenosiri: uundaji, uhifadhi, na kujaza otomatiki.
2. Mbinu & Upeo
Tathmini hii ilishughulikia meneja kumi na tatu wa nenosiri, ikiwa ni pamoja na viendelezi vitano vya kivinjari (mfano, LastPass, 1Password), meneja sita wa ndani wa kivinjari (mfano, Chrome, Firefox), na wateja wawili wa desktop kwa kulinganisha. Mbinu ilijumuisha:
- Kuzalisha na kuchambua mkusanyiko wa nenosiri milioni 147 kwa nasibu na nguvu.
- Kurudia na kupanua tathmini za awali za usalama wa uhifadhi wa nenosiri.
- Kujaribu utaratibu wa kujaza otomatiki kwa udhaifu kama vile clickjacking na XSS.
- Kukagua mipangilio ya chaguo-msingi ya usalama na mazoea ya usimbuaji.
3. Uchambuzi wa Uundaji wa Nenosiri
Huu ndio uchambuzi wa kwanza kamili wa algoriti za uundaji wa nenosiri katika meneja wa nenosiri.
3.1. Usambazaji wa Herufi & Nasibu
Uchambuzi wa mkusanyiko wa nenosiri milioni 147 ulifunua matukio kadhaa ya usambazaji usio wa nasibu wa herufi katika nenosiri zilizozalishwa. Baadhi ya meneja walionyesha upendeleo katika uteuzi wa herufi, na kukosa kutoka kwa usambazaji wa nasibu sawasawa. Kwa kizazi cha nasibu cha kweli, uwezekano wa kuchagua herufi yoyote kutoka kwa seti ya ukubwa $N$ unapaswa kuwa $P(char) = \frac{1}{N}$. Kupotoka kutoka kwa hii kunadokeza kasoro za ki-algoriti.
3.2. Udhaifu kwa Mashambulizi ya Kukisia
Ugomvi muhimu zaidi ulikuwa kwamba sehemu ndogo ya nenosiri zilizozalishwa zilikuwa na udhaifu kwa mashambulizi ya nguvu zote:
- Kukisia Mtandaoni: Nenosiri fupi kuliko herufi 10 ziligundulika kuwa dhaifu dhidi ya mashambulizi ya mtandaoni yaliyopunguzwa kiwango.
- Kukisia Nje ya Mtandao: Nenosiri fupi kuliko herufi 18 zilikuwa na udhaifu kwa majaribio ya kuvunja nje ya mtandao baada ya uvunjaji wa hifadhidata, ambapo mshambuliaji anaweza kufanya makisio yasiyo na kikomo.
Hii inapingana na ahadi ya msingi ya meneja wa nenosiri ya kuunda nenosiri thabiti.
4. Usalama wa Uhifadhi wa Nenosiri
Ingawa maboresho yalionekana ikilinganishwa na tathmini za miaka mitano iliyopita, masuala makubwa bado yanadumu.
4.1. Usimbuaji & Ushughulikiaji wa Metadata
Meneja kadhaa wa nenosiri waligundulika kuhifadhi metadata kwa fomu isiyosimbwa. Hii inajumuisha URL za tovuti, majina ya watumiaji, na mihuri ya wakati. Ingawa nenosiri lenyewe linaweza kusimbwa, metadata hii hutoa ramani ya thamani kwa washambuliaji, ikifunua akaunti za mtandao na tabia za mtumiaji, ambazo zinaweza kutumika kwa mashambulizi ya kulenga phishing au uhandisi wa kijamii.
4.2. Chaguo-msingi Zisizo Salama
Meneja fulani walikuwa na mipangilio ya chaguo-msingi isiyo salama, kama vile kuwezesha kujaza otomatiki kwenye tovuti zote kwa chaguo-msingi au kutumia itifaki dhaifu za usimbuaji. Hii huweka mzigo wa usalama kwa watumiaji kugundua na kubadilisha mipangilio hii, ambayo wengi hawafanyi.
5. Udhaifu wa Utaratibu wa Kujaza Otomatiki
Kipengele cha kujaza otomatiki, kilichoundwa kwa urahisi, huleta eneo kubwa la mashambulizi.
5.1. Clickjacking & UI Redressing
Meneja wengi wa nenosiri walikuwa na udhaifu kwa mashambulizi ya clickjacking. Mshambuliaji angeweza kuunda ukurasa wa wavuti wenye madhara na tabaka zisizoonekana ambazo huwadanganya watumiaji kubonyeza kidirisha cha mazungumzo ya kujaza otomatiki ya meneja wa nenosiri, na hivyo kufunua hati za kutambulisha kwa tovuti ya mshambuliaji badala ya tovuti halali iliyokusudiwa.
5.2. Hatari za Cross-Site Scripting (XSS)
Utaratibu wa kujaza otomatiki ambao huingiza hati za kutambulisha kwenye fomu za ukurasa wa wavuti bila ukaguzi mkali wa asili unaweza kutumiwa kupitia udhaifu wa XSS kwenye tovuti zingine zinazoaminika. Ikiwa tovuti nzuri ina kasoro ya XSS, hati iliyoingizwa inaweza kusababisha meneja wa nenosiri kujaza hati za kutambulisha kwenye uga wa fomu uliofichwa unaodhibitiwa na mshambuliaji.
6. Matokeo & Uchambuzi wa Kulinganisha
Ukubwa wa Mkusanyiko
147M
Nenosiri Zilizochambuliwa
Meneja Waliojaribiwa
13
Kivinjari & Desktop
Kasoro Muhimu
<18 chars
Ina Udhaifu kwa Kuvunjwa Nje ya Mtandao
Ugomvi Muhimu: Hali imeboreshwa tangu masomo ya awali (mfano, Li et al., 2014; Silver et al., 2013), lakini kasoro za msingi za usalama bado zipo kwa wauzaji wengi. Hakuna meneja mmoja wa nenosiri aliyekuwa kamili katika hatua zote tatu zilizotathminiwa (uundaji, uhifadhi, kujaza otomatiki). Meneja wa ndani wa kivinjari na viendelezi maalum vyote vilionyesha muundo tofauti wa udhaifu.
7. Mapendekezo & Mwelekeo wa Baadaye
Karatasi hii inahitimisha kwa mapendekezo yanayoweza kutekelezwa:
- Kwa Watumiaji: Epuka meneja wa nenosiri wenye kasoro zinazojulikana za uundaji au chaguo-msingi dhaifu za kujaza otomatiki. Pendelea meneja ambao huruhusu udhibiti wa kina juu ya tabia ya kujaza otomatiki.
- Kwa Wasanidi Programu: Tekeleza vizazi vya nambari za nasibu salama kwa kriptografia (CSPRNGs) kwa uundaji wa nenosiri. Simbu metadata yote. Tekeleza ukaguzi imara wa asili na utaratibu wa idhini ya mtumiaji kwa kujaza otomatiki (mfano, kuhitaji kubonyeza kwenye kipengele kisichoweza kurekebishwa na UI).
- Kwa Watafiti: Chunguza ushirikishwaji wa mbinu rasmi kuthibitisha mantiki ya kujaza otomatiki na utumiaji wa masomo ya mashine kugundua maombi yasiyo ya kawaida ya kujaza otomatiki yanayoonyesha shambulio.
8. Uchambuzi wa Asili & Uchambuzi wa Mtaalamu
Uelewa wa Msingi: Utafiti wa Oesch na Ruoti unaleta ukaguzi wa ukweli wenye kukatisha tamaa: zana za usalama tunazoamini kwa kuunganisha funguo zetu za kidijitali zimejengwa kwa misingi inayotetemeka kwa kiasi cha kutisha. Miaka mitano baada ya kasoro kubwa kufichuliwa, maendeleo ya tasnia ni ya hatua kwa hatua kwa bora, na kushindwa kushughulikia masuala ya kimfumo katika nguzo zote tatu za msingi—uundaji, uhifadhi, na kujaza otomatiki. Hii sio ripoti tu ya mdudu; ni shutuma ya kuridhika katika wima muhimu ya usalama.
Mtiririko wa Mantiki: Nguvu ya karatasi hii iko katika mbinu yake ya mzunguko wa maisha. Inatambua kwa usahihi kwamba mnyororo ni dhaifu tu kama kiungo chake kilicho dhaifu zaidi. Kupata kutokuwa na nasibu katika uundaji ($P(char) \neq \frac{1}{N}$) kwa msingi kunaharibu dhana nzima kabla ya uhifadhi au kujaza otomatiki hata kuzingatiwa. Kurudia kwa majaribio ya awali ya uhifadhi/kujaza otomatiki kisha huonyesha muundo: ingawa udhaifu wa juu unaweza kurekebishwa, kasoro za usanifu (kama metadata isiyosimbwa au kujaza otomatiki ovyo) zinadumu. Maendeleo haya ya kimantiki kutoka kwa uundaji wenye kasoro hadi usimamizi usio salama hadi utekelezaji wenye hatari huchora picha kamili na yenye kulaumiwa.
Nguvu & Kasoro: Nguvu kuu ya utafiti huu ni mbinu yake kubwa, inayoendeshwa na data ya uundaji wa nenosiri—ya kwanza katika fasihi. Mkusanyiko wa nenosiri milioni 147 hutoa ushahidi wa takwimu usioweza kukanushwa wa udhaifu wa ki-algoriti, ukisonga zaidi ya wasiwasi wa kinadharia. Hata hivyo, uchambuzi una pengo: kwa kiasi kikubwa unachukulia meneja wa nenosiri kama wateja waliojitenga. Ukweli wa kisasa ni usawazishaji wa wingu na programu za rununu. Kama ilivyoelezwa katika IEEE Symposium on Security and Privacy kuhusu mifano ya usalama ya wingu, uso wa tishio unaenea hadi itifaki za usawazishaji, API za upande wa seva, na ushirikishwaji wa OS ya rununu, ambayo utafiti huu haukutathmini. Zaidi ya hayo, ingawa unataja "chaguo-msingi zisizo salama," haupimki kiwango cha utumiaji wa watumiaji wa mipangilio salama—jambo muhimu katika hatari ya ulimwengu halisi, kama masomo ya utumiaji kutoka kwenye mkutano wa USENIX SOUPS yanavyoonyesha kila wakati kwamba watumiaji wengi hawabadilishi chaguo-msingi kamwe.
Uelewa Unaoweza Kutekelezwa: Kwa timu za usalama za makampuni, utafiti huu unalazimisha mabadiliko kutoka kwa mapendekezo ya jumla ya "tumia meneja wa nenosiri" hadi mwongozo maalum kwa muuzaji, maalum kwa usanidi. Meneja wenye vizazi dhaifu lazima wazingatiwe kama wabaya. Orodha za ukaguzi za ununuzi sasa lazima zijumuhe uthibitishaji wa matumizi ya CSPRNG na usimbuaji wa metadata. Kwa wasanidi programu, njia ya mbele ni wazi: kukubali kanuni ya "kutokuamini" kwa kujaza otomatiki, kuhitaji idhini wazi, inayojua muktadha ya mtumiaji kwa kila kitendo cha kujaza, sawa na mifano ya ruhusa inayotetezwa na World Wide Web Consortium (W3C) kwa API zenye nguvu za wavuti. Siku zijazi haziko katika kujaribu kuhakikisha usalama kamili wa kujaza otomatiki ovyo, lakini katika kubuni moja yenye ruhusa ndogo, inayodhibitiwa na mtumiaji. Kushindwa kwa tasnia kujirekebisha kwa miaka mitano kunadokeza kuwa uingiliaji wa udhibiti au wa taasisi za viwango (mfano, na NIST au FIDO Alliance) kunaweza kuwa muhimu ili kutekeleza mahitaji ya msingi ya usalama kwa walinzi hawa wa utambulisho wetu wa kidijitali.
9. Maelezo ya Kiufundi & Matokeo ya Majaribio
Uchambuzi wa Uundaji wa Nenosiri: Entropy $H$ ya nenosiri lililozalishwa la urefu $L$ kutoka kwa seti ya herufi $C$ kwa bora ni $H = L \cdot \log_2(|C|)$ bits. Utafiti ulipata matukio ambapo entropy halisi ilikuwa chini kwa sababu ya uteuzi wa herufi wenye upendeleo. Kwa mfano, ikiwa kizazi kilikusudia kutumia seti ya herufi 94 lakini herufi fulani zilionekana kwa uwezekano $p \ll \frac{1}{94}$, entropy halisi inapunguzwa: $H_{halisi} = -\sum_{i=1}^{94} p_i \log_2(p_i)$ kwa kila herufi, ambapo $\sum p_i = 1$.
Maelezo ya Chati ya Majaribio: Chati muhimu katika utafiti ingeonyesha sehemu ya jumla ya nenosiri zilizovunjwa dhidi ya idadi ya majaribio ya kukisia (kiwango cha logi) kwa nenosiri zilizozalishwa za urefu tofauti (mfano, herufi 8, 12, 16). Mkunjo wa nenosiri fupi kuliko herufi 10 ungeonyesha kupanda kwa kasi, ikionyesha kuvunjwa haraka chini ya simulisho la shambulio la mtandaoni (mfano, makisio 1000). Mkunjo wa nenosiri fupi kuliko herufi 18 ungeonyesha sehemu kubwa iliyovunjwa baada ya makisio $10^{10}$ hadi $10^{12}$ nje ya mtandao, na kuziweka ndani ya uwezo wa washambuliaji walio na azimio na vifaa vya kisasa, kama ilivyopimwa na zana kama Hashcat na jedwali za upinde wa mvua.
10. Mfumo wa Uchambuzi & Uchunguzi wa Kesi
Mfumo wa Kutathmini Usalama wa Meneja wa Nenosiri:
- Uadilifu wa Uundaji: Jaribu takwimu pato kwa nasibu (mfano, majaribio ya NIST STS, Dieharder) na uhesabu entropy halisi. Thibitisha urefu wa chini wa chaguo-msingi unalingana na miongozo ya sasa ya NIST (>= herufi 12).
- Usalama wa Uhifadhi: Chunguza uhifadhi wa ndani (mfano, IndexedDB ya kivinjari, faili za SQLite) na trafiki ya mtandao kwa data iliyosimbwa dhidi ya maandishi wazi. Kagua maktaba ya usimbuaji na kitendakazi cha utokaji ufunguo (mfano, je, inatumia PBKDF2 na marudio ya kutosha, au Argon2?).
- Hali ya Usalama ya Kujaza Otomatiki: Panga utaratibu wa kusababisha kujaza otomatiki. Jaribu kwa UI redressing kwa kuunda iframes zinazokaa juu ya nyingine. Jaribu mantiki ya kulinganisha asili kwa kuweka tovuti zilizo na majina ya kikoa yanayofanana (mfano, `example.com` dhidi ya `example.com.evil.net`). Angalia ikiwa kujaza otomatiki kunahitaji kitendo cha mtumiaji kwenye kipengele cha ukurasa kisichoweza kutabirika.
Uchunguzi wa Kesi - Udhaifu wa Clickjacking: Fikiria Meneja X, ambaye anaonyesha kitufe cha kujaza otomatiki juu ya fomu ya kuingia. Mshambuliaji anaunda ukurasa wenye madhara na iframe isiyoonekana inayopakia `bank.com`. Iframe imewekwa ili kitufe cha kujaza otomatiki cha Meneja X kionekane juu ya kitufe cha kificho cha "kutumia kwa mshambuliaji" kwenye ukurasa wenye madhara. Mtumiaji anabonyeza ili kujaza otomatiki, lakini badala yake anabonyeza kitufe cha mshambuliaji, na kutumia hati za kutambulisha za `bank.com` kwa seva ya mshambuliaji. Hii inaonyesha kushindwa kwa meneja katika kuunganisha tukio la kubonyeza na uthibitishaji wa asili.
11. Matumizi ya Baadaye & Mtazamo wa Utafiti
Matokeo yanafungua njia kadhaa za kazi ya baadaye:
- Uundaji & Uhifadhi Unaoungwa mkono na Vifaa: Ushirikishwaji na Moduli za Jukwaa Zinazoaminika (TPMs) au Maeneo Salama (mfano, Kipengele Salama cha Apple) kwa kuzalisha mbegu za nasibu na kuhifadhi funguo za usimbuaji, na kusonga siri nje ya nyanja za programu tu.
- Kujaza Otomatiki Kinafahamu Muktadha, Kulingana na Hatari: Kuchukua fursa ya masomo ya mashine kuchambua muktadha wa ukurasa (muundo wa DOM, maelezo ya cheti, sifa ya tovuti) ili kukadiria hatari ya kujaza otomatiki. Muktadha wenye hatari kubwa unaweza kuhitaji uthibitishaji wa ziada (kibayometri) au kuzuia kujaza otomatiki kabisa.
- API Zinazostandardishwa za Usalama: Uundaji wa API iliyoidhinishwa, iliyostandardishwa ya kivinjari kwa meneja wa nenosiri (mfano, mrithi wa API ya `chrome.loginState`) ambayo hutoa ufikiaji salama, ulio na sanduku la mchanga kwa hati za kutambulisha na ishara wazi za idhini ya mtumiaji, na kupunguza uso wa mashambulizi kutoka kwa uingizwaji ovyo wa DOM.
- Uandali wa Kriptografia ya Baada ya Quantum: Utafiti katika kuhamisha usimbuaji wa meneja wa nenosiri kwa algoriti zinazostahimili mashambulizi ya kompyuta za quantum, kwani chumba kilichosimbwa cha hati ni mali ya muda mrefu inayovutia sana kwa maadui wa kuvuna-sasa-kusimbua-baadaye.
- Mifumo ya Utambulisho Usio wa Kati & Usimamizi wa Kibinafsi: Kuchunguza matumizi ya itifaki za utambulisho zisizo za kati (mfano, kulingana na Hati za Kuthibitika za W3C) ili kupunguza utegemezi kwa chumba cha kati, kusambaza hatari na kumpa mtumiaji udhibiti mkubwa.
12. Marejeo
- Oesch, S., & Ruoti, S. (2020). That Was Then, This Is Now: A Security Evaluation of Password Generation, Storage, and Autofill in Browser-Based Password Managers. USENIX Security Symposium.
- Li, Z., He, W., Akhawe, D., & Song, D. (2014). The Emperor's New Password Manager: Security Analysis of Web-based Password Managers. IEEE Symposium on Security and Privacy (SP).
- Silver, D., Jana, S., Boneh, D., Chen, E., & Jackson, C. (2013). Password Managers: Attacks and Defenses. USENIX Security Symposium.
- National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B).
- Stock, B., & Johns, M. (2013). Protecting the Intranet Against "JavaScript Malware" and Related Attacks. International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA).
- Herley, C. (2009). So Long, And No Thanks for the Externalities: The Rational Rejection of Security Advice by Users. Proceedings of the New Security Paradigms Workshop (NSPW).
- World Wide Web Consortium (W3C). (2021). Permissions Policy. https://www.w3.org/TR/permissions-policy-1/
- FIDO Alliance. (2022). FIDO2: WebAuthn & CTAP. https://fidoalliance.org/fido2/