Âûáèðàé : Ïîêóïàé : Èñïîëüçóé
0

Àòàêîâàí Arch Linux. Áîëåå 400 ïðîãðàììíûõ ïàêåòîâ çàðàæåíû è ðàçäàþò òðîÿíû

Âîëíà àòàê íà ëîãèñòè÷åñêèå öåïî÷êè è ðàçðàáîò÷èêîâ ÏÎ ñòàâèò ïîä óãðîçó íåîïðåäåë¸ííîå êîëè÷åñòâî ïðîåêòîâ. Àäìèíèñòðàòîðû AUR ñïåøíî âû÷èùàþò âðåäîíîñíûå êîììèòû è àêêàóíòû.

Äîâåðèå íå ðàáîòàåò

Îò 400 äî 1500 ïðîãðàììíûõ ïàêåòîâ ïîä äèñòðèáóòèâ Arch Linux, ðàçìåù¸ííûõ â ðåïîçèòîðèè Arch User Repository, îêàçàëèñü ñêîìïðîìåòèðîâàíû è èñïîëüçóþòñÿ äëÿ ðàñïðîñòðàíåíèÿ ðóòêèòà è èíôîñòèëåðà.

Êàê óêàçûâàåòñÿ â ïóáëèêàöèè èçäàíèÿ BleepingComputer, Arch Linux ïîëüçóåòñÿ ïîïóëÿðíîñòüþ ñðåäè ïðîäâèíóòûõ ïîëüçîâàòåëåé è ðàçðàáîò÷èêîâ, à êàòàëîã AUR ñëóæèò èñòî÷íèêîì äëÿ ïîñëåäíèõ îáíîâëåíèé ÏÎ, äðàéâåðîâ è ÿäðà ÎÑ Linux. Ðåïîçèòîðèé ïðåäëàãàåò ñêðèïòû äëÿ êîìïèëÿöèè ïàêåòîâ (PKGBUILD) ñ èíñòðóêöèÿìè, â òîì ÷èñëå, ïî óñòàíîâêå ÏÎ, êîòîðîå â îôèöèàëüíûõ ðåïîçèòîðèÿõ Arch Linux íåäîñòóïíî. Êðîìå òîãî, â AUR ðàçìåùàþòñÿ ïðîïðèåòàðíûå ïðèëîæåíèÿ, ïðîìåæóòî÷íûå âåðñèè îïåíñîðñíîãî ÏÎ, íèøåâûå óòèëèòû è áîëåå ñòàðûå âåðñèè ïàêåòîâ, â êîòîðûõ ñîõðàíÿåòñÿ òà ôóíêöèîíàëüíîñòü, êîòîðàÿ ìîæåò îòñóòñòâîâàòü â íîâûõ âåðñèÿõ.

Îò 400 äî 1500 ïðîãðàììíûõ ïàêåòîâ äëÿ äèñòðèáóòèâà Arch Linux ñêîìïðîìåòèðîâàíû è èñïîëüçóþòñÿ äëÿ ðàñïðîñòðàíåíèÿ ðóòêèòà è èíôîñòèëåðà

Îäíàêî êàêîé-ëèáî öåíòðàëèçîâàííîé ïðîâåðêè ïóáëèêàöèè íà AUR íå ïðîõîäÿò, ÷åì è ïîëüçóþòñÿ çëîóìûøëåííèêè.

Ïî ñâåäåíèÿì èññëåäîâàòåëÿ IFIN Ìàéêëà Òýããàðòà (Michael Taggart), ñêîìïðîìåòèðîâàííûå ïàêåòû îêàçàëèñü ñíàáæåíû âðåäîíîñíîé «çàâèñèìîñòüþ», ò.å. ññûëàþòñÿ íà âíåøíèé êîìïîíåíò - ïàêåò atomic-lockfile, îáåñïå÷èâàþùèé ñêà÷èâàíèå è çàïóñê âðåäîíîñíûõ ñîñòàâëÿþùèõ.

Íåçàâèñèìûé èññëåäîâàòåëü ïîä ïñåâäîíèìîì Whanos îòìåòèë, ÷òî â îäíîì èç ïåðåõâà÷åííûõ ýêçåìïëÿðîâ atomic-lockfile ïðèñóòñòâîâàë èñïîëíÿåìûé ELF-ôàéë ïîä íàçâàíèåì deps, ïðåäñòàâëÿâøèé ñîáîé ñðåäñòâî êðàæè ó÷¸òíûõ äàííûõ, à òàêæå ñîäåðæàâøèé ôóíêöèîíàëüíîñòü ðóòêèòà, ýêñïëóàòèðóþùåãî ôóíêöèîíàëüíîñòü ñèñòåìû eBPF.

Äàííàÿ ñèñòåìà (extended Berkeley Packet Filter) ïðåäíàçíà÷åíà äëÿ áåçîïàñíîãî çàïóñêà ïîëüçîâàòåëüñêîãî êîäà ïðÿìî âíóòðè ÿäðà. Åñëè eBPF óñòàíîâëåí íà ñêîìïðîìåòèðîâàííîé ðàáî÷åé ñòàíöèè, òî è âðåäîíîñ deps ìîæåò çàïóñêàòüñÿ â êîíòåêñòå ÿäðà ñ ïîâûøåííûìè ïðèâèëåãèÿìè è ñêðûâàòü ïðîöåññû.

Êàê íàïèñàë Whanos, «Îí [deps] íàöåëåí íà ðàáî÷èå ñòàíöèè ðàçðàáîò÷èêîâ è ñðåä ñáîðêè. Îí àòàêóåò áðàóçåðû, äàííûå ïðèëîæåíèé Electron, Slack, Microsoft Teams, Discord, GitHub, npm, Vault, Docker/Podman, äàííûå SSH, VPN, à òàê æå èñòîðèè shell è äðóãèå ëîêàëüíûå êîíôèäåíöèàëüíûå ñâåäåíèÿ ðàçðàáîò÷èêà».

Íå «äî», à «ïîñëå»

Èññëåäîâàòåëè êîìïàíèè Sonatype, ñïåöèàëèçèðóþùèåñÿ íà çàùèòå öåïî÷åê ïîñòàâîê, îïóáëèêîâàëè ñâîé ñîáñòâåííûé àíàëèç àòàê íà AUR è ïðèøëè ê íåñêîëüêî èíûì âûâîäàì.

Ïî èõ ìíåíèþ, çëîóìûøëåííèêè ïåðåõâàòèëè êîíòðîëü íàä ìíîæåñòâîì çàáðîøåííûõ ïàêåòîâ íà AUR è, ìîäèôèöèðîâàâ ôàéë PKGBUILD, âíåäðèëè â íèõ «çàâèñèìîñòü», ò.å. èíñòðóêöèè ïî óñòàíîâêå êîìïîíåíòà atomic-lockfile.

Çàáðîøåííûìè ñ÷èòàþòñÿ ïàêåòû, àêòèâíàÿ ðàçðàáîòêà èëè ñîïðîâîæäåíèå êîòîðûõ íå âåä¸òñÿ äëèòåëüíîå âðåìÿ.

Åñëè èçíà÷àëüíàÿ îöåíêà ìàñøòàáîâ êàìïàíèè áûëà íåâåëèêà, òî ñåé÷àñ ðå÷ü èä¸ò î ïðèìåðíî 1500 ïàêåòàõ. Ñ 12 èþíÿ çëîóìûøëåííèêè íà÷àëè äîáàâëÿòü â êà÷åñòâå çàâèñèìîñòåé íîâûå ïàêåòû - js-digest è lockfile-js, óñòàíîâêà êîòîðûõ îñóùåñòâëÿåòñÿ óæå ñ ïîìîùüþ Bun, ñðåäû âûïîëíåíèÿ JavaScript.

«Êîðåíü ïðîáëåìû òóò çàêëþ÷àåòñÿ â òîì, ÷òî êîíòðîëü íàä çàáðîøåííûìè (îðôàííûìè) ïàêåòàìè â AUR ìîæåò çàïðîñèòü êòî óãîäíî, è, ñêîðåå âñåãî, áåç îñîáûõ ïðîáëåì òàêîé êîíòðîëü ïîëó÷èò, - óêàçûâàåò Äìèòðèé Ïåøêîâ, ýêñïåðò ïî èíôîðìàöèîííîé áåçîïàñíîñòè êîìïàíèè SEQ. - Åñëè ðå÷ü èä¸ò î ïàêåòàõ ñ ïîçèòèâíîé èñòîðèåé, òî âåëèêà âåðîÿòíîñòü, ÷òî âíåäð¸ííûå â íèõ çàâèñèìîñòè îêàæóò âîçäåéñòâèå íà áîëüøîå êîëè÷åñòâî ÷óæèõ ïðîåêòîâ, ññûëàþùèõñÿ íà íèõ. Ðàáîòàåò ïðèíöèï öåïíîé ðåàêöèè. Ê ñîæàëåíèþ, â òåêóùåé îáñòàíîâêå «ðàññëàáëåííûé» ðåæèì áåçîïàñíîñòè â êðóïíåéøèõ îïåíñîðñíûõ ðåïîçèòîðèÿõ íà÷èíàåò ïðåâðàùàòüñÿ â ãèïåðìàñøòàáíóþ ïðîáëåìó».

Êîìïîíåíò èíôîñòèëåðà, ïî äàííûì èññëåäîâàòåëåé, îõîòèòñÿ íà ðåêâèçèòû äîñòóïà GitHub, SSH-àðòåôàêòû, òîêåíû HashiCorp Vault, ôàéëû cookie áðàóçåðîâ, äàííûå Slack, Discord, Telegram è Microsoft Teams.

Âðåäîíîñ ñïîñîáåí àðõèâèðîâàòü äàííûå, äðîáèòü àðõèâû íà ñîñòàâíûå ÷àñòè è âûãðóæàòü èõ ÷åðåç HTTP, - òèïè÷íûé ìåõàíèçì ýêñôèëüòðàöèè.

Àäìèíèñòðàòîðû AUR â íàñòîÿùåå âðåìÿ ïûòàþòñÿ âû÷èñëèòü âñå ñêîìïðîìåòèðîâàííûå ïàêåòû è çàáëîêèðîâàòü àêêàóíòû, ïåðåõâàòèâøèå êîíòðîëü íàä íèìè.

«Ìû ïî-ïðåæíåìó ïðèçûâàåì âñåõ ïîëüçîâàòåëåé ïàêåòîâ AUR ïðîâåðÿòü ëþáûå èçìåíåíèÿ â PKGBUILD è ñêðèïòàõ óñòàíîâêè ïðè îáíîâëåíèè, îñîáåííî â íàñòîÿùåå âðåìÿ», - çàÿâèëè àäìèíèñòðàòîðû.

Âîëíà çà âîëíîé

Àòàêè íà ëîãèñòè÷åñêèå öåïî÷êè â êðóïíåéøèõ îòêðûòûõ ðåïîçèòîðèÿõ ïðîãðàììíîãî êîäà íà÷àëèñü åù¸ íåñêîëüêî ëåò íàçàä; äî íåäàâíåãî âðåìåíè êðóïíåéøèì èíöèäåíòîì ñ÷èòàëàñü óñïåøíàÿ àòàêà íà ïðàâèòåëüñòâåííûå è êîììåð÷åñêèå îðãàíèçàöèè ïî âñåìó ìèðó ñ èñïîëüçîâàíèåì ÏÎ SolarWinds Orion, ïðèâåäøàÿ ê ìàññèðîâàííîé óòå÷êå äàííûõ â 2020 ãîäó.

Âî âòîðîé ïîëîâèíå 2025 ãîäà íà÷àëàñü êàìïàíèÿ Shai Hulud, ïåðâîíà÷àëüíî íàöåëåííàÿ íà ðåïîçèòîðèè PyPI è npm. Çà íåé ïðåäïîëîæèòåëüíî ñòîèò ãðóïïèðîâêà TeamPCP.

Õàêåðû ïîñòåïåííî ðàñïðîñòðàíèëè ñâîè àòàêè è íà äðóãèå ðåïîçèòîðèè.

×òî êàñàåòñÿ àòàê íà AUR, òî ïîêà íèêòî íå âçÿë íà ñåáÿ îòâåòñòâåííîñòü çà íèõ, è èññëåäîâàòåëè íå âûñêàçûâàþò íèêàêèõ ïðåäïîëîæåíèé, êòî ìîæåò ýòèì çàíèìàòüñÿ.

Êîììåíòàðèè