PyTorch: Machine Learning eszközkészlet karácsonytól újévig PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

PyTorch: Gépi tanulási eszköztár karácsonytól újévig

A PyTorch az egyik legnépszerűbb és legszélesebb körben használt gépi tanulási eszközkészlet.

(Nem leszünk megrajzolva, hogy hol helyezkedik el a mesterséges intelligencia ranglistáján – mivel sok széles körben használt nyílt forráskódú eszköz esetében egy versenyhelyzetben a válasz attól függ, hogy kit kérdezel, és melyik eszköztárat használják maguk.)

Az eredetileg a Facebook, ma Meta nyílt forráskódú projektként fejlesztett és kiadott szoftvert 2022 végén adták át a Linux Foundationnek, amely jelenleg a PyTorch Foundation égisze alatt fut.

Sajnálatos módon, a projektet egy ellátási lánc elleni támadás veszélyeztette ünnepi időszakban 2022 végén, karácsony napja [2022-12-25] és a szilveszter előtti nap [2022-12-30] között.

A támadók rosszindulatúan létrehoztak egy Python-csomagot torchtriton a PyPI-n, a népszerű Python Package Index adattáron.

A név torchtriton úgy választották ki, hogy megegyezzen magában a PyTorch rendszerben lévő csomag nevével, ami veszélyes helyzethez vezet magyarázta a PyTorch csapata (kiemelésünk) az alábbiak szerint:

[A] rosszindulatú függőségi csomag (torchtriton) […] a Python Package Index (PyPI) kódtárába került fel ugyanazzal a csomagnévvel, mint amelyet a PyTorch éjszakai csomagindexén szállítunk. Mivel a PyPI index elsőbbséget élvez, ezt a rosszindulatú csomagot telepítették a hivatalos adattárunkból származó verzió helyett. Ez a kialakítás lehetővé teszi, hogy valaki ugyanazon a néven regisztráljon egy csomagot, mint egy harmadik fél indexében, és pip alapértelmezés szerint telepíti a verziójukat.

A program pip, egyébként régebben úgy ismerték pyinstall, és láthatóan egy rekurzív vicc, ami a rövidítése pip installs packages. Eredeti neve ellenére nem magának a Pythonnak a telepítésére szolgál – ez a Python-felhasználók szokásos módja a Python nyelven írt szoftverkönyvtárak és alkalmazások, például a PyTorch és sok más népszerű eszköz kezelésének.

Egy ellátási lánc trükkje miatt

Aki szerencsétlenül telepítette a PyTorch pwned verzióját a veszély időszakában, az szinte bizonyosan a számítógépére ültetett adatlopó malware-t kapott.

Szerint a PyTorch saját rövid, de hasznos a rosszindulatú program elemzése, a támadók ellopták a következő jelentős adatok egy részét, a legtöbb vagy az összeset a fertőzött rendszerekről:

  • Rendszerinformációk, beleértve a gazdagépnevet, a felhasználónevet, a rendszeren lévő ismert felhasználókat és az összes rendszerkörnyezeti változó tartalmát. A környezeti változók csak a memóriát használó bemeneti adatok biztosításának módjai, amelyekhez a programok indításkor hozzáférhetnek, gyakran olyan adatokat is beleértve, amelyeket nem kellene lemezre menteni, például kriptográfiai kulcsokat és felhőalapú szolgáltatásokhoz való hozzáférést biztosító hitelesítési tokenek. Az ismert felhasználók listája innen származik /etc/passwd, amely szerencsére valójában nem tartalmaz jelszavakat vagy jelszókivonatokat.
  • A helyi Git konfiguráció. Ezt ellopták tőle $HOME/.gitconfig, és jellemzően hasznos információkat tartalmaz a népszerű Git forráskód-kezelő rendszert használók személyes beállításáról.
  • Az Ön SSH-kulcsai. Ezeket ellopták a könyvtárból $HOME/.ssh. Az SSH-kulcsok jellemzően az SSH-n (secure shell) vagy az SCP-n (secure copy) keresztüli biztonságos csatlakozáshoz használt privát kulcsokat tartalmazzák a saját hálózatán vagy a felhőben lévő más szerverekhez. Sok fejlesztő legalább néhány privát kulcsát titkosítatlanul tartja, így az általuk használt szkriptek és szoftvereszközök automatikusan kapcsolódhatnak távoli rendszerekhez anélkül, hogy minden alkalommal meg kellene állniuk, hogy jelszót vagy hardverbiztonsági kulcsot kérjenek.
  • Az első 1000 másik fájl a saját könyvtárában 100 kilobájtnál kisebb. A PyTorch kártevő leírása nem mondja meg, hogyan számítják ki az „első 1000-es fájllistát”. A fájllisták tartalma és sorrendje attól függ, hogy a lista ábécé szerint van-e rendezve; meglátogatják-e az alkönyvtárakat a fájlok feldolgozása előtt, közben vagy után bármely könyvtárban; rejtett fájlok szerepelnek-e benne; és használnak-e véletlenszerűséget a könyvtárakon áthaladó kódban. Valószínűleg azt kell feltételeznie, hogy a méretküszöb alatti fájlokat ellophatják.

Ezen a ponton megemlítjük a jó hírt: csak azok voltak veszélyben, akik letöltötték a szoftver úgynevezett „éjszakai” vagy kísérleti verzióját. (Az „éjszakai” név onnan ered, hogy ez a legfrissebb build, amely általában minden munkanap végén automatikusan jön létre.)

A legtöbb PyTorch-felhasználó valószínűleg ragaszkodik ehhez az úgynevezett „stabil” változat, amelyet ez a támadás nem érintett.

A PyTorch jelentéséből is úgy tűnik, hogy a Triton rosszindulatú program futtatható fájlja kifejezetten a 64 bites Linux környezeteket célozta meg.

Ezért feltételezzük, hogy ez a rosszindulatú program csak akkor futna Windows számítógépeken, ha telepítve lenne a Windows alrendszer Linuxhoz (WSL).

Ne feledje azonban, hogy a rendszeres „éjszakai adásokat” leggyakrabban magának a PyTorch-nek vagy az azt használó alkalmazásoknak a fejlesztői telepítik – esetleg az Ön saját házon belüli fejlesztői, akik privát kulcs alapú hozzáféréssel rendelkeznek a vállalati összeállításhoz. , teszt és éles szerverek.

DNS adatlopás

Érdekes módon a Triton kártevő nem szűri ki az adatait (ez a militarista szakzsargon kifejezés, amelyet a kiberbiztonsági ipar szívesen használ ahelyett lop or illegálisan másoljon) HTTP, HTTPS, SSH vagy bármely más magas szintű protokoll használatával.

Instead, it encrypts and encodes the data it wants to steal into a sequence of what look like “server names” that belong to a domain name controlled by the criminals.

This means that, by making a sequence of DNS lookups, the crooks can sneak out a small amount of data in every fake request.

Ez ugyanaz a trükk, mint amit használtak Log4Shell hackerek 2021 végén, aki titkosítási kulcsokat szivárogtatott ki azáltal, hogy DNS-keresést végzett olyan „szervereknél”, amelyek „nevei” éppen az Ön titkos AWS-hozzáférési kulcsának az értékei voltak, amelyet egy memórián belüli környezeti változóból zsákmányoltak.

Tehát mi úgy nézett ki, mint egy ártatlan, bár értelmetlen DNS-keresés egy „szerver” számára, mint pl S3CR3TPA55W0RD.DODGY.EXAMPLE csendesen kiszivárogtatná a hozzáférési kulcsát egy egyszerű keresés leple alatt, amely a hivatalos DNS-kiszolgálóra irányított DODGY.EXAMPLE domain.


ÉLŐ LOG4SHELL DEMO, AZ ADATOK KISZILÉRÉSÉT A DNS-EN keresztül

[Beágyazott tartalmat]

Ha itt nem tudja tisztán olvasni a szöveget, próbálja meg a Teljes képernyős módot, vagy nézd közvetlenül a Youtube-on.
Kattintson a fogaskerékre a videolejátszóban a lejátszás felgyorsításához vagy a feliratok bekapcsolásához.


Ha a csalók birtokolják a domaint DODGY.EXAMPLE, megmondhatják a világnak, hogy melyik DNS-kiszolgálóhoz csatlakozzanak a keresések során.

Ennél is fontosabb, hogy még olyan hálózatok is, amelyek szigorúan szűrik a TCP-alapú hálózati kapcsolatokat HTTP, SSH és más magas szintű adatmegosztási protokollok használatával…

…esetenként egyáltalán nem szűri a DNS-keresésekhez használt UDP-alapú hálózati kapcsolatokat.

Az egyetlen hátránya a csalóknak, hogy a DNS-kérelmek mérete meglehetősen korlátozott.

Individual server names are limited to 64 characters from a set of 37 (A-Z, 0-9 and the dash or hyphen symbol), and many networks limit individual DNS packets, including all enclosed requests, headers and metadata, to just 512 bytes each.

Feltételezzük, hogy ez az oka annak, hogy a rosszindulatú program ebben az esetben úgy indult, hogy az Ön privát kulcsait kereste, majd legfeljebb 1000 fájlra korlátozódott, amelyek mindegyike kisebb, mint 100,000 XNUMX bájt.

Így a szélhámosok rengeteg személyes adatot lophatnak el, különösen a szerver hozzáférési kulcsait, anélkül, hogy kezelhetetlenül sok DNS-keresést generálnának.

An unusually large number of DNS lookuos might get noticed for routine operational reasons, even in the absence of any scrutiny applied specifically for cybersecurity purposes.

Mit kell tenni?

A PyTorch már intézkedett a támadás leállítása érdekében, így ha még nem érte ütés, akkor most szinte biztosan nem fog eltalálni, mert a rosszindulatú torchtriton csomagot a PyPI-n egy szándékosan „dud”, üres, azonos nevű csomagra cserélték.

Ez azt jelenti, hogy bármely személy vagy szoftver, aki megpróbálta telepíteni torchtriton a PyPI-től a 2022-12-30T08:38:06Z után, akár véletlenül, akár tervezetten, nem kapná meg a kártevőt.

A szélhámos PyPI-csomag a PyTorch beavatkozása után.

A PyTorch közzétette az IoC-k praktikus listáját, ill a kompromisszum mutatói, amelyet a hálózatában kereshet.

Ne feledje, ahogy fentebb említettük, hogy még ha szinte minden felhasználója ragaszkodik is a „stabil” verzióhoz, amelyet nem érintett ez a támadás, előfordulhatnak olyan fejlesztők vagy rajongók, akik kísérleteznek az „éjszakai lapokkal”, még akkor is, ha a stabil verziót használják. kiadása is.

A PyTorch szerint:

  • A rosszindulatú program a fájlnévvel van telepítve triton. Alapértelmezés szerint az alkönyvtárban kell megtalálnia triton/runtime a Python webhelycsomagok könyvtárában. Tekintettel arra, hogy a fájlnevek önmagukban gyenge rosszindulatú programjelzők, kezelje a fájl jelenlétét a veszély bizonyítékaként; a hiányát ne kezelje teljesen egyértelműnek.
  • A rosszindulatú program ebben a támadásban az SHA256 összeggel rendelkezik 2385b294­89cd9e35­f92c0727­80f903ae­2e517ed4­22eae672­46ae50a5cc738a0e. A rosszindulatú program ismét könnyen újrafordítható, hogy más ellenőrző összeget állítson elő, így ennek a fájlnak a hiánya nem a biztos egészség jele, de jelenléte fertőzés jeleként kezelhető.
  • Az adatok ellopására használt DNS-keresések a domain névvel végződtek H4CK.CFD. Ha olyan hálózati naplói vannak, amelyek név szerint rögzítik a DNS-kereséseket, akkor megkeresheti ezt a szöveges karakterláncot annak bizonyítékaként, hogy titkos adatok szivárogtak ki.
  • A rosszindulatú DNS-válaszok nyilvánvalóan a címre érkeztek, és a válaszok, ha voltak, egy elnevezett DNS-kiszolgálóról érkeztek WHEEZY.IO. Jelenleg nem találunk a szolgáltatáshoz társított IP-számokat, és a PyTorch nem adott meg olyan IP-adatokat, amelyek a DNS-forgalmat ehhez a rosszindulatú programhoz kötnék, így nem tudjuk, hogy ez az információ mennyit használ a fenyegetésvadászathoz. jelenleg [2023-01-01T21:05:00Z].

Szerencsére úgy gondoljuk, hogy a PyTorch-felhasználók többségét ez nem fogja érinteni, vagy azért, mert nem használnak éjszakai buildeket, vagy nem dolgoztak a nyaralás alatt, vagy mindkettő.

De ha Ön PyTorch-rajongó, aki éjszakai építkezésekkel foglalkozik, és ha az ünnepek alatt is dolgozott, akkor még ha nem is talál egyértelmű bizonyítékot arra, hogy kompromittálódott…

…de érdemes lehet megfontolni elővigyázatosságból új SSH-kulcspárok létrehozását, és az SSH-n keresztül elért különféle szerverekre feltöltött nyilvános kulcsok frissítését.

Természetesen, ha azt gyanítja, hogy feltörték, akkor ne halassza el az SSH-kulcs frissítéseit – ha még nem tette meg, tegye meg azonnal!


Időbélyeg:

Még több Meztelen biztonság