W związku z rosnącą liczbą przypadków przejęcia repozytoriów dużych projektów oraz wprowadzania złośliwego kodu przez kompromitację kont deweloperów, firma GitHub wprowadza powszechną rozbudowaną weryfikację kont. Oddzielnie dla opiekunów i administratorów 500 najpopularniejszych pakietów NPM, na początku przyszłego roku zostanie wdrożona obowiązkowa dwuetapowa weryfikacja.
Od 7 grudnia 2021 roku do 4 stycznia 2022 roku dojdzie do przekształcenia wszystkich konserwatorów, którzy mają prawo publikacji pakietów NPM, ale nie stosują dwuetapowej weryfikacji, na korzystanie z rozbudowanej weryfikacji kont. Rozbudowana weryfikacja wymaga wprowadzenia jednorazowego kodu, który zostanie wysłany na email podczas próby zalogowania się na stronie npmjs.com lub wykonania uwierzytelnionej operacji w narzędziu npm.
Rozbudowana weryfikacja nie zastępuje, lecz jedynie uzupełnia wcześniej dostępną opcjonalną dwuetapową weryfikację, w której wymagane jest potwierdzenie za pomocą jednorazowych haseł (TOTP). Po włączeniu dwuetapowej weryfikacji rozbudowana weryfikacja przez email nie jest stosowana. Od 1 lutego 2022 roku rozpocznie się proces przekształcania na obowiązkową dwuetapową weryfikację opiekunów 100 najpopularniejszych pakietów NPM, które mają największą liczbę zależności. Po zakończeniu migracji pierwszej setki, zmiana zostanie rozszerzona na 500 najpopularniejszych pakietów NPM pod względem liczby zależności.
Oprócz dostępnego obecnie schematu dwuetapowej weryfikacji opartej na aplikacjach do generowania jednorazowych haseł (Authy, Google Authenticator, FreeOTP itp.), w kwietniu 2022 roku planowane jest dodanie możliwości użycia kluczy sprzętowych oraz skanerów biometrycznych, które obsługują protokół WebAuthn, a także możliwość rejestracji i zarządzania różnymi dodatkowymi czynnikami uwierzytelniającymi.
Przypominamy, że zgodnie z badaniem przeprowadzonym w 2020 roku, zaledwie 9,27% maintainerów pakietów korzysta z dwuetapowej weryfikacji dla zabezpieczenia dostępu, a w 13,37% przypadków podczas rejestracji nowych kont programiści próbowali ponownie wykorzystać skompromitowane hasła zjawiające się w znanych wyciekach. W trakcie weryfikacji bezpieczeństwa używanych haseł udało się uzyskać dostęp do 12% kont na NPM (13% pakietów) z powodu używania przewidywalnych i trywialnych haseł, takich jak „123456”. Wśród problematycznych znalazły się 4 konta użytkowników z Top20 najpopularniejszych pakietów, 13 kont, których pakiety pobierano ponad 50 mln razy miesięcznie, 40 — z ponad 10 mln pobrań miesięcznie oraz 282 z ponad 1 mln pobrań miesięcznie. Uwzględniając pobieranie modułów przez łańcuchy zależności, kompromitacja niebezpiecznych kont mogła dotknąć łącznie do 52% wszystkich modułów w NPM.
Źródło: opennet.ru
