:(){ :|:& };:, ukaz Fork Bomb: kako deluje in kako se zaščititi

  • 'Fork bomba' je napad DoS, ki nasiči sistemske vire z rekurzivnimi procesi.
  • Sistemi Unix/Linux so ranljivi; Windows zahteva bolj zapletene metode za ponovitev napada.
  • Uporaba 'ulimit' in cgroups pomaga ublažiti vpliv in preprečiti izvedbo fork bombe.

Fork Bomb

V računalniškem svetu, določene ukaze Morda se na prvi pogled zdijo neškodljive, a skrivajo uničujočo moč, ki lahko ob zlonamerni ali nenamerni uporabi vodi celoten sistem v propad. Med temi ukazi je eden najbolj znanih – ali pa tudi ne – in strahu, ti vilica bomba, ali vilica bomba.

Viličasta bomba ni nič drugega kot oblika napada z zavrnitvijo storitve (DoS), zasnovan za porabo razpoložljivih sistemskih virov, kot sta CPE in pomnilnik, do te mere, da postane neuporaben. Če ste se kdaj spraševali, kako deluje ta ukaz, zakaj je lahko tako škodljiv in kaj lahko storite, da se zaščitite, boste tukaj našli vse, kar morate vedeti, razloženo na dostopen in podroben način.

Kaj je Fork Bomb?

Viličasta bomba, znana tudi kot "zajčji virus" zaradi svoje nagnjenosti k eksponentnemu razmnoževanju, je tehnika, ki uporablja množično ustvarjanje procesov za nasičenje sistema operativni. To se doseže z ukazom, ki uporablja funkcijo fork, ki je na voljo v sistemih Unix in Linux. Funkcija fork omogoča procesu, da ustvari natančno kopijo samega sebe, znano kot podrejeni proces.

Najbolj reprezentativen ukaz, povezan z a vilica bomba je naslednje:

: () {: |: &};:

Ta ukaz ima strukturo, ki je, čeprav kompaktna, neverjetno močna. Kar počne, je definiranje funkcije, imenovane :, ki se kliče rekurzivno in pri vsaki izvedbi po zaslugi operaterja ustvari dva nova procesa cevi | in izvajanje v ozadju z &. Rezultat je eksponentna rast procesov, ki sesuje sistem v nekaj sekundah.

Kako deluje bomba z vilicami?

Ukaz : () {: |: &};: Morda se sprva zdi zmedeno, zato ga razčlenimo korak za korakom:

  • :: Ta simbol predstavlja ime funkcije. Pravzaprav lahko uporabite katero koli ime.
  • () { }: Ta sintaksa definira funkcijo brez parametrov.
  • :|:: Ko je definirana, funkcija pokliče samo sebe in operater | preusmeri svoj izhod na nov primerek sebe.
  • &: Ta simbol izvaja klice v ozadju, kar omogoča hkratno ustvarjanje procesov.
  • ;: služi kot ločilo med definicijo funkcije in njeno začetno izvedbo.
  • :: Končno ta zadnji simbol izvede funkcijo, ki zažene kaskado procesov.

Ko se zažene, bomba vilice hitro porabi sistemske vire, blokiranje zmožnosti izvajanja novih procesov in običajno prisilni ponovni zagon računalnika.

Ranljivi sistemi

Praktično katerega koli operacijskega sistema Unix ali Linux, kot so Ubuntu, Debian ali Red Hat, je ranljiv za fork bombo, saj vsi uporabljajo sistemski klic fork. Vendar sistemi Windows Niso ranljivi za to specifično vrsto napada, saj nimajo funkcije, enakovredne vilicam. Namesto tega bi morali v sistemu Windows ustvariti niz novih procesov na podoben način, vendar to zahteva bolj zapleten pristop.

Primeri Fork Bomb v različnih jezikih

La vilica bomba Ni izključno za Bash; Lahko se izvaja v drugih programskih jezikih. Tukaj je nekaj primerov:

Python Fork Bomb

#!/usr/bin/env python import os while True: os.fork()

Java Fork Bomb

public class Bomb { public static void main(final String[] args) { while (true) { Runtime.getRuntime().exec("java Bomb"); } } }

C Fork Bomb

#vključi int main(void) { medtem ko (1) { fork(); }}

Udarec z vilicami

Glavni učinek bombe z vilicami je preobremenitev sistema. Viri, kot so CPE, pomnilnik in procesni vhodi, se hitro porabijo, kar povzroči, da sistem postane nestabilen ali se ne odziva. V večini primerov potrebujete a prisilni ponovni zagon da ponovno pridobi nadzor. Poleg tega obstaja veliko tveganje za izgubo podatkov zaradi nenadnega delovanja aplikacije med katastrofo.

Preventivni ukrepi

Čeprav je viličasta bomba lahko uničujoča, Obstajajo načini, kako ublažiti njegov vpliv in ga celo preprečiti. popolnoma:

1. Omejite število procesov

Ukaz neomejeno V Linuxu vam omogoča, da nastavite omejitev največjega števila procesov, ki jih lahko ustvari uporabnik. Na primer:

ulimit -u 5000

To omeji uporabnika na največ 5000 aktivnih procesov.

2. Konfigurirajte trajne omejitve

Če želite trajno uporabiti omejitve, lahko spremenite datoteko /etc/security/limits.conf. Na primer:

trdi uporabnik nproc 5000

To zagotavlja, da se omejitve ohranijo tudi po tem, ko se uporabnik odjavi.

3. Uporaba Cgroups

V sodobnih sistemih Linux, skupin (kontrolne skupine) vam omogočajo, da vzpostavite natančnejši nadzor nad sistemskimi viri, vključno s številom dovoljeni procesi.

Ne bodite pozorni na to, kar vidite na družbenih omrežjih

Tovrstni ukazi se lahko na družabnih omrežjih pojavljajo kot šala, zato moramo biti previdni in tega, kar nam sporočajo, ne vnašati v terminal. Ne da bi šli naprej, če v X vstavimo "fork bomb", vidimo odgovor na objavo ki pravi "zdravo, bomba z vilicami." Prvotna objava, ki ste jo delili pred nekaj trenutki, pravi, da obstaja mačka z imenom :(){ :|:& };: in da ste jo dali v terminal. Kaj počne, smo že razložili, zato tega ne počnite.

Viličasta bomba, čeprav preprosta po konceptu, močno vpliva na ranljive sisteme. Razumevanje delovanja, njegovih posledic in načinov za ublažitev je bistvenega pomena za zaščito sodobnih računalniških okolij. Je opomnik o tem, kako lahko preprost ukaz vodi do katastrofalnih posledic, in tudi o pomenu pravilne administracije sistema in postavljanja varnostnih omejitev.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.