Vzhľadom na častejšie prípady prevzatia repozitárov veľkých projektov a propagácie škodlivého kódu cez kompromitáciu účtov vývojárov, spoločnosť GitHub zavádza rozšírené overovanie účtov. Na začiatku budúceho roka bude pre správcov a administrátorov 500 najpopulárnejších NPM balíkov zavedená povinná dvojfaktorová autentifikácia.
Od 7. decembra 2021 do 4. januára 2022 prebehnú prevody všetkých údržbárov, ktorí majú právo publikovať NPM balíky, ale nepoužívajú dvojfaktorovú autentifikáciu, na rozšírené overovanie účtov. Rozšírené overovanie predpokladá potrebu zadávať jednorazový kód zaslaný na email pri pokuse o prihlásenie na stránke npmjs.com alebo vykonávaní autentifikovanej operácie v nástroji npm.
Rozšírené overovanie nenahrádza, ale iba dopĺňa predtým dostupnú voliteľnú dvojfaktorovú autentifikáciu, pri ktorej je potrebné potvrdenie pomocou jednorazových hesiel (TOTP). Pri aktivácii dvojfaktorovej autentifikácie sa rozšírené overovanie prostredníctvom emailu nepoužíva. Od 1. februára 2022 začne proces prevodu na povinnú dvojfaktorovú autentifikáciu pre údržbárov 100 najpopulárnejších NPM balíkov s najvyšším počtom závislostí. Po dokončení migrácie prvej stovky sa zmena rozšíri na 500 najpopulárnejších NPM balíkov podľa počtu závislostí.
Okrem aktuálne dostupnej schémy dvojfaktorovej autentifikácie založenej na aplikáciách na generovanie jednorazových hesiel (Authy, Google Authenticator, FreeOTP a pod.) sa v apríli 2022 plánuje pridať možnosť používania hardvérových kľúčov a biometrických skenerov, pre ktoré existuje podpora protokolu WebAuthn, ako aj možnosť registrácie a správy rôznych dodatočných autentifikačných faktorov.
Pripomíname, že v súlade s výskumom uskutočneným v roku 2020 len 9,27 % správcov balíkov používa na ochranu prístupu dvojfaktorovú autentifikáciu, a v 13,37 % prípadoch sa pri registrácii nových účtov vývojári pokúsili opakovane použiť kompromitované heslá, ktoré sa objavili v známych únikoch hesiel. Počas kontroly spoľahlivosti použitých hesiel sa podarilo získať prístup k 12 % účtov v NPM (13 % balíkov) kvôli používaniu predvídateľných a triviálnych hesiel, ako je „123456“. Medzi problémovými sa nachádzali 4 účty používateľov z Top 20 najpopulárnejších balíkov, 13 účtov, balíky ktorých sa sťahovali viac ako 50 miliónkrát mesačne, 40 — s viac ako 10 miliónami sťahovaní mesačne a 282 s viac ako 1 miliónom sťahovaní mesačne. Zohľadňujúc sťahovanie modulov prostredníctvom reťazca závislostí, kompromitácia nespoľahlivých účtov mohla zasiahnuť až 52 % zo všetkých modulov v NPM.
Zdroj: opennet.ru
