PyTorch: Koneoppimisen työkalupakki joulusta uuteen vuoteen PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

PyTorch: Koneoppimisen työkalupakki joulusta uuteen vuoteen

PyTorch on yksi suosituimmista ja laajimmin käytetyistä koneoppimistyökalusarjoista.

(Meitä ei piirretä siihen, missä se sijaitsee tekoälyn tulostaulukossa – kuten monien laajalti käytettyjen avoimen lähdekoodin työkalujen kohdalla kilpailevalla alalla, vastaus näyttää riippuvan siitä, keneltä kysyt ja mitä työkalupakkia he sattuvat käyttämään itse.)

Alun perin Facebookin, nykyisen Metan, avoimen lähdekoodin projektina kehittämä ja julkaisema ohjelmisto luovutettiin vuoden 2022 lopulla Linux Foundationille, joka nyt pyörittää sitä PyTorch Foundationin alaisuudessa.

Valitettavasti, hanke vaarantui toimitusketjun hyökkäyksen avulla lomakauden aikana vuoden 2022 lopussa, joulupäivän [2022-12-25] ja uudenvuodenaattona edeltävänä päivänä [2022-12-30].

Hyökkääjät loivat ilkeästi Python-paketin nimeltä torchtriton PyPI:ssä, suositussa Python Package Index -tietovarastossa.

Nimi torchtriton valittiin niin, että se vastaisi itse PyTorch-järjestelmässä olevan paketin nimeä, mikä johtaisi vaaralliseen tilanteeseen PyTorch-tiimi selitti (korostus) seuraavasti:

[A] haitallinen riippuvuuspaketti (torchtriton) […] ladattiin Python Package Index (PyPI) -koodivarastoon samalla paketin nimellä kuin se, jonka toimitamme PyTorchin yöpakkausindeksissä. Koska PyPI-indeksi on etusijalla, tämä haitallinen paketti asennettiin virallisen arkistomme version sijaan. Tämän mallin avulla joku voi rekisteröidä paketin samalla nimellä kuin se, joka on olemassa kolmannen osapuolen hakemistossa, ja pip asentaa heidän versionsa oletuksena.

Ohjelma pip, muuten, tunnettiin aiemmin nimellä pyinstall, ja se on ilmeisesti rekursiivinen vitsi, joka on lyhenne pip installs packages. Alkuperäisestä nimestään huolimatta sitä ei ole tarkoitettu itse Pythonin asentamiseen – se on Python-käyttäjille tavallinen tapa hallita Pythonilla kirjoitettuja ohjelmistokirjastoja ja sovelluksia, kuten PyTorchia ja monia muita suosittuja työkaluja.

Toimitusketjun tempun aiheuttama

Jokainen, joka oli tarpeeksi onneton asentamaan PyTorchin pwned-version vaara-aikana, päätyi lähes varmasti tietokoneeseensa istutettuihin tietoja varastaviin haittaohjelmiin.

PyTorchin mukaan lyhyt mutta hyödyllinen haittaohjelman analyysi, hyökkääjät varastivat joitakin, suurimman osan tai kaikki seuraavista merkittävistä tiedoista tartunnan saaneista järjestelmistä:

  • Järjestelmätiedot, mukaan lukien isäntänimi, käyttäjänimi, järjestelmän tunnetut käyttäjät ja kaikkien järjestelmäympäristömuuttujien sisältö. Ympäristömuuttujat ovat tapa tarjota vain muistia sisältäviä syöttötietoja, joita ohjelmat voivat käyttää käynnistyessään. Usein ne sisältävät tietoja, joita ei ole tarkoitus tallentaa levylle, kuten salausavaimet ja todennustunnisteet, jotka mahdollistavat pääsyn pilvipohjaisiin palveluihin. Tunnettujen käyttäjien luettelo on poimittu /etc/passwd, joka ei onneksi sisällä salasanoja tai salasanatiivisteitä.
  • Paikallinen Git-kokoonpanosi. Tämä on varastettu $HOME/.gitconfig, ja sisältää yleensä hyödyllistä tietoa kaikkien suosittua Git-lähdekoodin hallintajärjestelmää käyttävien henkilökohtaisista asetuksista.
  • SSH-avaimesi. Nämä varastetaan hakemistosta $HOME/.ssh. SSH-avaimet sisältävät tyypillisesti yksityiset avaimet, joita käytetään yhteyden muodostamiseen SSH:n (secure shell) tai SCP:n (secure copy) kautta muihin palvelimiin omissa verkoissasi tai pilvessä. Monet kehittäjät pitävät ainakin osan yksityisistä avaimistaan ​​salaamattomina, jotta heidän käyttämänsä komentosarjat ja ohjelmistotyökalut voivat muodostaa automaattisesti yhteyden etäjärjestelmiin ilman, että he joutuvat kysymään salasanaa tai laitteiston suojausavainta joka kerta.
  • Ensimmäiset 1000 muuta kotihakemistosi tiedostoa, joiden koko on pienempi kuin 100 kilotavua. PyTorch-haittaohjelman kuvaus ei kerro, kuinka "ensimmäisen 1000 tiedostoluettelo" lasketaan. Tiedostoluetteloiden sisältö ja järjestys riippuu siitä, onko luettelo lajiteltu aakkosjärjestykseen; käydäänkö alihakemistoissa ennen minkä tahansa hakemiston tiedostojen käsittelyä, sen aikana tai sen jälkeen; onko piilotettuja tiedostoja mukana; ja onko hakemistojen läpi kulkevassa koodissa käytetty satunnaisuutta. Sinun pitäisi luultavasti olettaa, että tiedostot, jotka alittavat kokokynnyksen, voivat joutua varastetuiksi.

Mainitsemme tässä vaiheessa hyvät uutiset: Vain ne, jotka hakivat ohjelmiston niin sanotun "iltaisen" tai kokeellisen version, olivat vaarassa. (Nimi "nightly" tulee siitä, että se on uusin versio, joka luodaan yleensä automaattisesti jokaisen työpäivän lopussa.)

Useimmat PyTorchin käyttäjät todennäköisesti pitävät kiinni niin sanottu "vakaa" versio, johon tämä hyökkäys ei vaikuttanut.

Myös PyTorchin raportin perusteella näyttää siltä Triton-haittaohjelman suoritettava tiedosto kohdistettiin erityisesti 64-bittisiin Linux-ympäristöihin.

Siksi oletamme, että tämä haittaohjelma toimisi Windows-tietokoneissa vain, jos Windows Subsystem for Linux (WSL) on asennettuna.

Älä kuitenkaan unohda, että ihmisiä, jotka todennäköisimmin asentavat tavallisia "iltapäiviä" ovat itse PyTorchin tai sitä käyttävien sovellusten kehittäjät – ehkä myös omat kehittäjät, joilla saattaa olla yksityiseen avaimeen perustuva pääsy yrityksen rakentamiseen. , testi- ja tuotantopalvelimet.

DNS-tietojen varastaminen

Mielenkiintoista on, että Triton-haittaohjelma ei suodata tietojaan (militaristinen ammattikieltä, jota kyberturvallisuusteollisuus käyttää mielellään sen sijaan varastaa or kopioida laittomasti) käyttämällä HTTP-, HTTPS-, SSH- tai mitä tahansa muuta korkean tason protokollaa.

Sen sijaan se salaa ja koodaa tiedot, jotka se haluaa varastaa, sarjaksi, joka näyttää "palvelinnimiltä", jotka kuuluvat rikollisten hallitsemaan verkkotunnukseen.

Tämä tarkoittaa, että tekemällä sarjan DNS-hakuja, huijarit voivat livahtaa esiin pienen määrän tietoa jokaisessa väärennetyssä pyynnössä.

Tämä on samanlainen temppu, jota käytettiin Log4Shell-hakkerit vuoden 2021 lopussa, joka vuoti salausavaimia tekemällä DNS-hakuja "palvelimille", joiden "nimiä" vain sattui olemaan salaisen AWS-käyttöavaimesi arvo, joka ryöstettiin muistissa olevasta ympäristömuuttujasta.

Joten mikä näytti viattomalta, joskin turhalta, DNS-haulta "palvelimelle", kuten S3CR3TPA55W0RD.DODGY.EXAMPLE vuotaisi hiljaa pääsyavaimesi yksinkertaisen haun varjolla, joka ohjasi viralliselle DNS-palvelimelle. DODGY.EXAMPLE domain.


LIVE LOG4SHELL-DEMO, KUVA SELITTÄVÄ TIETOJEN EXFILTROINTI DNS:N kautta

[Upotetun sisällön]

Jos et voi lukea tekstiä selkeästi tässä, kokeile koko näytön tilaa tai katsoa suoraan Youtubessa.
Napsauta videosoittimen hammasratasta nopeuttaaksesi toistoa tai ottaaksesi tekstitykset käyttöön.


Jos roistot omistavat verkkotunnuksen DODGY.EXAMPLE, he saavat kertoa maailmalle, mihin DNS-palvelimeen muodostaa yhteyden, kun he tekevät näitä hakuja.

Vielä tärkeämpää on, että jopa verkot, jotka suodattavat tiukasti TCP-pohjaisia ​​verkkoyhteyksiä käyttämällä HTTP:tä, SSH:ta ja muita korkean tason tiedonjakoprotokollia…

…älä joskus suodata DNS-hakuihin käytettyjä UDP-pohjaisia ​​verkkoyhteyksiä ollenkaan.

Ainoa haittapuoli huijareille on, että DNS-pyyntöjen koko on melko rajallinen.

Yksittäisten palvelimien nimet on rajoitettu 64 merkkiin 37 merkin joukosta (AZ, 0-9 ja viiva- tai tavumerkki), ja monet verkot rajoittavat yksittäisten DNS-pakettien, mukaan lukien kaikki suljetut pyynnöt, otsikot ja metatiedot, vain 512 tavuun.

Oletamme, että siksi haittaohjelmat lähtivät tässä tapauksessa etsimään yksityisiä avaimiasi ja rajoittuivat sitten enintään 1000 100,000 tiedostoon, joista jokainen on pienempi kuin XNUMX XNUMX tavua.

Tällä tavalla roistot voivat varastaa runsaasti yksityistä dataa, erityisesti palvelimen pääsyavaimet mukaan lukien, ilman, että he generoivat hallitsemattoman suurta määrää DNS-hakuja.

Epätavallisen suuri määrä DNS-hakuja saatetaan huomata rutiininomaisista toiminnallisista syistä, jopa ilman kyberturvallisuustarkoituksiin sovellettua valvontaa.

Mitä tehdä?

PyTorch on jo ryhtynyt toimiin sulkeakseen tämän hyökkäyksen, joten jos et ole vielä osunut sinuun, et melkein varmasti joudu nyt, koska ilkeä torchtriton paketti PyPI:ssä on korvattu tarkoituksella "dud", tyhjällä samannimisellä paketilla.

Tämä tarkoittaa, että kuka tahansa henkilö tai mikä tahansa ohjelmisto, joka yritti asentaa torchtriton PyPI:ltä 2022-12-30T08:38:06Z jälkeen, vahingossa tai tarkoituksella, ei vastaanottaisi haittaohjelmia.

Rogue PyPI-paketti PyTorchin väliintulon jälkeen.

PyTorch on julkaissut kätevän listan IoC:istä tai kompromissin indikaattorit, joita voit etsiä verkostasi.

Muista, kuten yllä mainitsimme, että vaikka melkein kaikki käyttäjäsi pitäytyvät "vakaassa" versiossa, johon tämä hyökkäys ei vaikuttanut, sinulla saattaa olla kehittäjiä tai harrastajia, jotka kokeilevat "yömäisiä", vaikka he käyttäisivätkin vakaata versiota. vapauttaa myös.

PyTorchin mukaan:

  • Haittaohjelma asennetaan tiedostonimellä triton. Oletuksena sen oletetaan löytävän alihakemistosta triton/runtime Python-sivustopakettihakemistossasi. Koska tiedostonimet yksinään ovat heikkoja haittaohjelmien ilmaisimia, pidä tämän tiedoston läsnäoloa todisteena vaarasta. älä pidä sen puuttumista täysin selvänä.
  • Tämän hyökkäyksen haittaohjelmalla on SHA256-summa 2385b294­89cd9e35­f92c0727­80f903ae­2e517ed4­22eae672­46ae50a5cc738a0e. Jälleen kerran, haittaohjelma voidaan helposti kääntää uudelleen tuottamaan erilainen tarkistussumma, joten tämän tiedoston puuttuminen ei ole merkki varmasta terveydestä, mutta voit käsitellä sen olemassaoloa infektion merkkinä.
  • Tietojen varastamiseen käytetyt DNS-haut päättyivät verkkotunnuksen nimeen H4CK.CFD. Jos sinulla on verkkolokeja, jotka tallentavat DNS-haut nimen perusteella, voit etsiä tätä tekstimerkkijonoa todisteena salaisten tietojen vuotamisesta.
  • Haitalliset DNS-vastaukset ilmeisesti menivät osoitteeseen, ja mahdolliset vastaukset tulivat DNS-palvelimelta nimeltä WHEEZY.IO. Tällä hetkellä emme löydä kyseiseen palveluun liittyviä IP-numeroita, eikä PyTorch ole toimittanut IP-tietoja, jotka sitoisivat DNS-liikenteen tähän haittaohjelmaan, joten emme ole varmoja, kuinka paljon näitä tietoja käytetään uhkien metsästykseen. tällä hetkellä [2023-01-01T21:05:00Z].

Onneksi arvaamme, että tämä ei ole vaikuttanut useimpiin PyTorchin käyttäjiin, koska he eivät käytä öisiä koontiversioita tai eivät työskennelleet lomajakson aikana tai molemmat.

Mutta jos olet PyTorch-harrastaja, joka puuhailee öisin rakennelmia, ja jos olet työskennellyt lomien aikana, vaikka et löydä selkeitä todisteita siitä, että olet vaarantunut…

…saatat kuitenkin harkita uusien SSH-avainparien luomista varotoimenpiteenä ja julkisten avainten päivittämistä, jotka olet ladannut eri palvelimille, joihin käytät SSH:n kautta.

Jos epäilet, että sinut on vaarantunut, älä lykkää SSH-avainpäivityksiä – jos et ole vielä tehnyt niitä, tee ne heti!


Aikaleima:

Lisää aiheesta Naked Security