Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:seminari2024:malware_u_pypi_ekosustavu [2024/12/28 10:44]
Brlek Marko [Primjer malicioznog paketa]
racfor_wiki:seminari2024:malware_u_pypi_ekosustavu [2024/12/29 19:16] (trenutno)
Brlek Marko [Malware u PyPI ekosustavu]
Redak 1: Redak 1:
 +===== Malware u PyPI ekosustavu =====
 +[[https://ferhr-my.sharepoint.com/:v:/g/personal/mb53187_fer_hr/EbcC19QedplIo11I5ko2THUBIgQ_Y4H2Eq5Zz_yKm7hdgg?nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJPbmVEcml2ZUZvckJ1c2luZXNzIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXciLCJyZWZlcnJhbFZpZXciOiJNeUZpbGVzTGlua0NvcHkifX0&e=e0mv8m|Videoprezentacija]]
 +==== Sažetak ====
 +
 +PyPI, centralni repozitorij za Python pakete, ključan je za ubrzani razvoj softvera, ali njegova otvorenost čini ga ranjivim na maliciozne pakete. Napadači koriste različite metode za distribuciju zlonamjernog koda, poput manipulacije verzijama ovisnosti, imitacije popularnih biblioteka (typosquatting) ili implementacije skrivene maliciozne funkcionalnosti. Primjeri poput incidenta s PyTorchom i lažnih paketa poput "nupmy" pokazuju ozbiljnost prijetnje.
 +
 +
 +
 ==== Uvod ==== ==== Uvod ====
  
Redak 52: Redak 60:
 Maliciozni paketi često koriste kreativne tehnike kako bi ostali neprimijećeni i proširili se na što veći broj korisnika. Evo nekoliko primjera takvih strategija: Maliciozni paketi često koriste kreativne tehnike kako bi ostali neprimijećeni i proširili se na što veći broj korisnika. Evo nekoliko primjera takvih strategija:
  
-Manipulacijama verzijama ovisnosti+**Manipulacijama verzijama ovisnosti** 
 U prosincu 2022., PyTorch, popularan radni okvir za strojno učenje, je objavio da je u sebi imao uključenu malicioznu ovisnost. Način na koji se maliciozni paket uvukao u ovisnosti je tako što je zbunio PyPI jer je paket imao isto ime kao i interni, neobjavljeni, paket koji je PyTorch koristio. Naime, kod instaliranja paketa, prioritizirati će se onaj s većom verzijom. Napadači su to znali, te su javno objavili njihov maliciozni paket i stavili mu jako visoku verziju. Ovaj zlonamjerni paket ostao je neprimijećen pet dana. U prosincu 2022., PyTorch, popularan radni okvir za strojno učenje, je objavio da je u sebi imao uključenu malicioznu ovisnost. Način na koji se maliciozni paket uvukao u ovisnosti je tako što je zbunio PyPI jer je paket imao isto ime kao i interni, neobjavljeni, paket koji je PyTorch koristio. Naime, kod instaliranja paketa, prioritizirati će se onaj s većom verzijom. Napadači su to znali, te su javno objavili njihov maliciozni paket i stavili mu jako visoku verziju. Ovaj zlonamjerni paket ostao je neprimijećen pet dana.
  
-Imitacija legitimnih paketa+**Imitacija legitimnih paketa** 
 Jedna od najčešćih taktika je stvaranje paketa s imenom koje nalikuje nekom popularnom i legitimnom paketu. Primjerice, napadač može paket umjesto "numpy" nazvati "nupmy". Za očekivati je da će, pošto legitiman paket ima velik broj instalacija, neki korisnik nekada krivo upisati ime paketa pri instalaciji i time preuzeti malicioznu verziju. Ova metoda oslanja se na ljudske pogreške, što je čini jednostavnom, ali učinkovitom. Jedna od najčešćih taktika je stvaranje paketa s imenom koje nalikuje nekom popularnom i legitimnom paketu. Primjerice, napadač može paket umjesto "numpy" nazvati "nupmy". Za očekivati je da će, pošto legitiman paket ima velik broj instalacija, neki korisnik nekada krivo upisati ime paketa pri instalaciji i time preuzeti malicioznu verziju. Ova metoda oslanja se na ljudske pogreške, što je čini jednostavnom, ali učinkovitom.
  
-Maskiranje u korisne biblioteke s malicioznim skrivenim funkcionalnostima+**Maskiranje u korisne biblioteke s malicioznim skrivenim funkcionalnostima** 
 Maliciozni paketi mogu se predstaviti kao korisne biblioteke koje zaista obavljaju određeni zadatak, dok istovremeno izvode i zlonamjerne aktivnosti. Na primjer, napadač može kreirati biblioteku koja olakšava rad s bazama podataka, ali u pozadini presreće i šalje podatke na udaljeni poslužitelj prije nego što ih pohrani u bazu korisnika. Ovo čini paket naizgled legitimnim i teže ga je otkriti. Maliciozni paketi mogu se predstaviti kao korisne biblioteke koje zaista obavljaju određeni zadatak, dok istovremeno izvode i zlonamjerne aktivnosti. Na primjer, napadač može kreirati biblioteku koja olakšava rad s bazama podataka, ali u pozadini presreće i šalje podatke na udaljeni poslužitelj prije nego što ih pohrani u bazu korisnika. Ovo čini paket naizgled legitimnim i teže ga je otkriti.
  
Redak 66: Redak 77:
 ==== Detekcija malicioznih paketa ==== ==== Detekcija malicioznih paketa ====
  
-Zbog ranjivog ekosustava, određene tvrtke specijalizirane za kibernetičku sigurnost kontinuirano skeniraju PyPI repozitorij i traže maliciozne pakete. SJedan od primjera je Security Labs, koji je razvio alat GuardDog. GuardDog analizira pakete i na temelju specifičnih značajki podiže upozorenja o mogućoj zlonamjernoj aktivnosti. Na sljedećoj slici prikazan je primjer takvog upozorenja:+Zbog ranjivog ekosustava, određene tvrtke specijalizirane za kibernetičku sigurnost kontinuirano skeniraju PyPI repozitorij i traže maliciozne pakete. Jedan od primjera je Security Labs, koji je razvio alat GuardDog. GuardDog analizira pakete i na temelju specifičnih značajki podiže upozorenja o mogućoj zlonamjernoj aktivnosti. Na sljedećoj slici (Slika 4) prikazan je primjer takvog upozorenja:
  
-<slika>+{{https://datadog-securitylabs.imgix.net/img/malicious-pypi-package-targeting-highly-specific-macos-machines/triage-workflow.png?500}} 
 +  Slika 4. Primjer GuardDog upozorenja
  
 Te značajke su: Te značajke su:
  
 **Prazan opis paketa**:  Legitimni paketi gotovo uvijek uključuju opise kako bi pojasnili svoju svrhu, dok maliciozni često ostavljaju opis prazan. **Prazan opis paketa**:  Legitimni paketi gotovo uvijek uključuju opise kako bi pojasnili svoju svrhu, dok maliciozni često ostavljaju opis prazan.
 +
 **Jedna python datoteka**: Paketi koji sadrže samo jednu Python datoteku mogu biti sumnjivi jer većina legitimnih paketa ima složeniju strukturu. **Jedna python datoteka**: Paketi koji sadrže samo jednu Python datoteku mogu biti sumnjivi jer većina legitimnih paketa ima složeniju strukturu.
 +
 **Prepisivanje komandi**: Ako paket prepisuje ponašanje prilikom izvršenja komande install, to može ukazivati na potencijalnu malicioznu namjeru. **Prepisivanje komandi**: Ako paket prepisuje ponašanje prilikom izvršenja komande install, to može ukazivati na potencijalnu malicioznu namjeru.
 +
 **Izvršavanje sustavnih komandi**: Paketi koji pozivaju komande operacijskog sustava izuzetno su sumnjivi jer to omogućava pokretanje zlonamjernog koda. **Izvršavanje sustavnih komandi**: Paketi koji pozivaju komande operacijskog sustava izuzetno su sumnjivi jer to omogućava pokretanje zlonamjernog koda.
  
 No, ove značajke nisu dovoljne da bi mogli sa sigurnošću reći da je paket maliciozan, već nam samo kažu da moramo obaviti detaljniju analizu. No, ove značajke nisu dovoljne da bi mogli sa sigurnošću reći da je paket maliciozan, već nam samo kažu da moramo obaviti detaljniju analizu.
  
-Koraci detaljnije analize+ 
 +Koraci detaljnije analize:
  
 **1. Pregled datoteke setup.py** **1. Pregled datoteke setup.py**
  
-Detaljnija analiza bi trebala započeti tako da analiziramo "setup.py" datoteku. U njoj možemo vidjeti je li paket prepisao instalacijsku komandu te unutra umetnuo maliciozan kod, kao na slici:+Detaljnija analiza bi trebala započeti tako da analiziramo "setup.py" datoteku. U njoj možemo vidjeti je li paket prepisao instalacijsku komandu te unutra umetnuo maliciozan kod, kao na slici (Slika 5):
  
-<slika>+{{racfor_wiki:seminari2024:override_install.jpg}} 
 +  Slika 5. Prepisivanje instalacijske komande paketa
  
 **2. Analiza izvornog koda** **2. Analiza izvornog koda**
racfor_wiki/seminari2024/malware_u_pypi_ekosustavu.1735382648.txt.gz · Zadnja izmjena: 2024/12/28 10:44 od Brlek Marko
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0