The Fundacja bezpieczeństwa otwartego oprogramowania (OpenSSF) i Fundacja OpenJSktóra wspiera wiele projektów oprogramowania typu open source (OSS) opartego na JavaScript, ostrzegła, że próba inżynierii społecznej zaobserwowana wcześniej w kwietniu 2024 r. względem biblioteki kompresji danych XZ Utils – może nie być odosobnionym przypadkiem.
W wyniku ataku XX Utils ugrupowanie zagrożenia znane jako JiaTan infiltrowało projekt XZ Utils przez wiele lat, zdobywając zaufanie opiekunów projektu i dostarczając legalne aktualizacje oprogramowania, zanim próbował przemycić lukę w zabezpieczeniach backdoora, CVE-2024-3094 , co mogłoby spowodować rzeź, gdyby nie szybkie działania sokolego badacza.
Teraz OpenSSF i OpenJS wzywają wszystkich opiekunów oprogramowania open source do zachowania czujności w przypadku podobnych prób przejęcia po tym, jak Rada Projektu OpenJS Cross otrzymała wiele podejrzanych e-maili z prośbą o aktualizację jednego z jej projektów w celu usunięcia krytycznych luk w zabezpieczeniach, bez podawania żadnych konkretnych szczegółów.
Robin Bender Ginn, dyrektor wykonawczy OpenJS Foundation i Omkhar Arasaratnam, dyrektor generalny OpenSSF, powiedzieli, że autorzy e-maili, które nosiły różne nazwiska, ale pochodziły z pokrywających się kont powiązanych z GitHub, chcieli zostać wyznaczeni na opiekunów projektu pomimo niewielkiego wcześniejszego zaangażowania , podobnie jak JiaTan wdarł się do projektu XZ Utils.
Dodali, że zespół OpenJS dowiedział się również o podobnym wzorcu w dwóch innych szeroko używanych projektach JavaScript, których sam nie hostuje, i zasygnalizował potencjalne ryzyko bezpieczeństwa odpowiednim liderom OpenJS, a także amerykańskim organom ds. bezpieczeństwa cybernetycznego.
„Żadna z tych osób nie otrzymała uprzywilejowanego dostępu do projektu hostowanego przez OpenJS. W projekcie obowiązują zasady bezpieczeństwa, w tym te określone przez grupę roboczą Fundacji ds. bezpieczeństwa” – napisali Bender Ginn i Arasaratnam we wspólnym poście na blogu szczegółowo opisując atak.
„Projekty open source zawsze mile widziane są wpłaty od kogokolwiek i gdziekolwiek, jednak przyznanie komuś dostępu administracyjnego do kodu źródłowego jako opiekuna wymaga wyższego poziomu zdobytego zaufania i nie jest rozdawane jako „szybkie rozwiązanie” jakiegokolwiek problemu.
„Wspólnie z Linux Foundation chcemy podnosić świadomość tego ciągłego zagrożenia wśród wszystkich opiekunów oprogramowania open source oraz oferować praktyczne wskazówki i zasoby od naszej szerokiej społeczności ekspertów w dziedzinie bezpieczeństwa i oprogramowania open source” – stwierdzili.
Na co zwrócić uwagę
Między innymi członkowie projektu OSS powinni zwracać uwagę na przyjazne, ale agresywne i uporczywe dążenie do statusu opiekuna przez nowych lub stosunkowo nieznanych członków społeczności, nowe prośby o podniesienie poziomu i poparcie ze strony innych nieznanych członków społeczności, którymi potencjalnie mogą być konta typu sockpuppet .
Członkowie powinni także zdawać sobie sprawę z żądań ściągnięcia (PR), które zawierają obiekty typu blob jako artefakty – backdoor XX był plikiem, którego nie można było odczytać dla człowieka, a nie kodem źródłowym; celowo zaciemniony lub trudny do zrozumienia kod źródłowy; problemy bezpieczeństwa, które wydają się powoli narastać – atak XZ rozpoczął się od stosunkowo nieszkodliwej poprawki do testu; odchylenie od typowych procedur kompilacji, budowania i wdrażania projektu; oraz fałszywe poczucie pilności, szczególnie jeśli wydaje się, że ktoś próbuje przekonać opiekuna do ominięcia kontroli lub przyspieszenia przeglądu.
„Te ataki socjotechniczne wykorzystują poczucie obowiązku, jakie opiekunowie mają wobec swojego projektu i społeczności, w celu manipulowania nimi” – napisali Bender Ginn i Arasaratnam. „Zwróć uwagę na to, jak czujesz się dzięki interakcjom. Interakcje wywołujące zwątpienie, poczucie nieadekwatności, nierobienia wystarczająco dużo dla projektu itp. mogą być częścią ataku socjotechnicznego”.
Ataki socjotechniczne mogą być trudne do wykrycia lub ochrony za pomocą środków programowych, ponieważ żerują na ludzkich emocjach i zaufaniu, dlatego w perspektywie krótkoterminowej ważne jest również udostępnianie jak największej ilości informacji o możliwych podejrzanych działaniach, bez wstydu i osądu, aby członkowie społeczności mogli nauczyć się strategii ochronnych.
Chrisa Hughesa, Laboratoria Endora dyrektor ds. bezpieczeństwa i specjalista ds. innowacji cybernetycznych w Agencji ds. Bezpieczeństwa Cybernetycznego i Infrastruktury (CISA) powiedział, że nie był zaskoczony słysząc o coraz powszechniejszych atakach z użyciem inżynierii społecznej na świat otwartego oprogramowania – ponadto biorąc pod uwagę, że atak XZ odbił się szerokim echem, jest prawdopodobne, że inni szkodliwi uczestnicy będą w przyszłości próbować podobnej taktyki.
„Możemy prawdopodobnie podejrzewać, że wiele z nich jest już w toku i mogło już zakończyć się sukcesem, ale nie zostało jeszcze ujawnionych ani zidentyfikowanych. Większość projektów open source jest niezwykle niedofinansowana i prowadzona przez jedną lub małą grupę opiekunów, więc wykorzystywanie ataków socjotechnicznych na nie nie jest zaskakujące, a biorąc pod uwagę, jak wrażliwy jest ekosystem i presja, pod jaką znajdują się opiekunowie, prawdopodobnie z radością przyjmą pomoc w wielu przypadkach” – stwierdził.
„Jeśli atakujący zrobią to dobrze, opiekunom może być trudno określić, które zaangażowanie pochodzi od osób zainteresowanych współpracą i wnoszeniem wkładu w projekty, a które od tych, które mają złe zamiary”.
Mówiąc bardziej ogólnie, ostrzegł Hughes, stwarza to ogromne ryzyko dla społeczności open source w ogóle, przy czym około jedna czwarta wszystkich projektów open source ma tylko jednego opiekuna, a 94% mniej niż 10. Ryzyko to przenosi się następnie na organizacje korzystające z open source źródła komponentów oprogramowania w swoim oprogramowaniu.
„To podnosi świadomość szerszego problemu, jakim jest nieprzejrzystość ekosystemu OSS. Komponenty i projekty obsługujące całą nowoczesną infrastrukturę cyfrową są często obsługiwane przez nieznane pseudonimy i osoby rozproszone po całym świecie. Co więcej, wiele projektów OSS jest prowadzonych przez jedną osobę lub małą grupę osób – często w wolnym czasie w ramach projektu hobbystycznego lub pasjonującego i zazwyczaj bez żadnego wynagrodzenia.
„To sprawia, że cały ekosystem jest podatny na złośliwe podmioty żerujące na tej rzeczywistości i wykorzystujące przytłoczonych opiekunów wraz ze społecznością stawiającą im wymagania bez faktycznego wynagrodzenia w zamian za ich ciężką pracę i zaangażowanie w utrzymanie kodu, od którego zależy świat,” powiedział.