NPM продължава с проблеми със сигурността и сега един засегна системата за актуализиране

Преди няколко дни GitHub разкри два инцидента в инфраструктурата на хранилището на пакети NPM, от които подробно се описва, че на 2 ноември изследователи по сигурността на трети страни като част от програмата Bug Bounty откриха уязвимост в хранилището на NPM което позволява да се публикува нова версия на всеки пакет, използващ, въпреки че не е оторизиран за извършване на такива актуализации.

Уязвимостта е причинена от неправилни проверки за оторизация в кода на микроуслугите които обработват заявки към NPM. Услугата за оторизация извърши проверка на разрешенията на пакетите въз основа на данните, предадени в заявката, но друга услуга, която качваше актуализацията в хранилището, определи пакета за публикуване въз основа на съдържанието на метаданни в качения пакет.

Така нападателят може да поиска публикуване на актуализация за своя пакет, до който има достъп, но да посочи в самия пакет информация за друг пакет, който евентуално ще бъде актуализиран.

През последните няколко месеца екипът на npm инвестира в подобрения на инфраструктурата и сигурността, за да автоматизира мониторинга и анализа на наскоро пуснатите версии на пакети, за да идентифицира зловреден софтуер и друг зловреден код в реално време.

Има две основни категории събития за публикуване на злонамерен софтуер, които се случват в екосистемата на npm: злонамерен софтуер, който се публикува поради отвличане на акаунт, и злонамерен софтуер, който нападателите публикуват чрез собствените си акаунти. Въпреки че придобиванията на акаунти с голямо въздействие са относително редки, в сравнение с директния зловреден софтуер, публикуван от нападателите, използващи собствените им акаунти, придобиването на акаунти може да бъде далече, когато се насочва към популярни поддържащи пакети. Въпреки че нашето време за откриване и реакция при придобиване на популярни пакети е само 10 минути при последните инциденти, ние продължаваме да развиваме нашите възможности за откриване на зловреден софтуер и стратегии за уведомяване към по-проактивен модел на реакция.

Проблемът той беше коригиран 6 часа след съобщаването на уязвимостта, но уязвимостта присъстваше в NPM по-дълго отколкото покриват телеметричните регистрационни файлове. GitHub заявява, че не е имало следи от атаки, използващи тази уязвимост от септември 2020г, но няма гаранция, че проблемът не е бил използван преди.

Вторият инцидент е станал на 26 октомври. В хода на техническата работа с базата данни на услугата replicant.npmjs.com, беше разкрито, че в базата данни има поверителни данни, достъпни за външна консултация, разкривайки информация за имената на вътрешните пакети, които са споменати в регистъра на промените.

Информация за тези имена може да се използва за извършване на атаки на зависимост на вътрешни проекти (През февруари подобна атака позволи на код да се изпълнява на сървърите на PayPal, Microsoft, Apple, Netflix, Uber и 30 други компании.)

Освен това, във връзка с нарастващата честота на изземване на хранилища на големи проекти и насърчаване на злонамерен код чрез компрометиране на акаунти на програмисти, GitHub реши да въведе задължително двуфакторно удостоверяване. Промяната ще влезе в сила през първото тримесечие на 2022 г. и ще се отнася за поддържащите и администраторите на пакетите, включени в списъка на най-популярните. Допълнително се отчита модернизацията на инфраструктурата, която ще въведе автоматизиран мониторинг и анализ на нови версии на пакети за ранно откриване на злонамерени промени.

Припомнете си, че според проучване, проведено през 2020 г., само 9.27% от мениджърите на пакети използват двуфакторно удостоверяване за защита на достъпа, а в 13.37% от случаите, когато регистрират нови акаунти, разработчиците се опитаха да използват повторно компрометирани пароли, които се появяват в известни пароли .

По време на проверката на силата на използваните пароли, 12% от акаунтите в NPM (13% от пакетите) са били достъпни поради използването на предвидими и тривиални пароли като "123456". Сред проблемите бяха 4 потребителски акаунта от 20-те най-популярни пакета, 13 акаунта, чиито пакети са били изтегляни повече от 50 милиона пъти месечно, 40 - повече от 10 милиона изтегляния на месец и 282 с повече от 1 милион изтегляния на месец. Като се има предвид натоварването от модули по веригата от зависимости, компрометирането на ненадеждни акаунти може да засегне до 52% от всички модули в NPM общо.

И накрая, ако се интересувате да научите повече за това можете да проверите подробностите В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.