Rask forklaring av gaffelbomben i GNU / Linux

Vi advarer om at hvis du av nysgjerrighet vil prøve det vi viser nedenfor, er det ditt ansvar

Rask forklaring av gaffelbomben. Hva gjør gaffelbomben i GNU / Linux?

: () {: |: &};:

Det er en type nektelse av tjenester eller DoS-angrep, som i utgangspunktet det den metter den tilgjengelige plassen på datamaskinen, selv om det er mulig å bruke gaffelbomber på hvilket som helst språk, vil jeg bare fokusere på bash, av formen som virker så rart

Selv om det ser veldig komplekst ut, er det enkelt det er en enkel funksjon som kaller seg selv ... Nå kan gaffelpumpen leses XD

: () {: |: &};:

Her er en enkel funksjon ...

funksjon () {var1 = $ 1 ekko "Funksjon"}

For alle som kan lese og litt programmering

bombe () {bombe | pumpe &}; pumpe

Som du kan se er det veldig enkelt, det skaper en funksjon som kaller seg selv, som skaper en syklus som ikke stopper før den når sitt mål, og metter datamaskinen.

Oppsummert…

: () {

Det er funksjonen som kalles:

: |:

Funksjonen kaller seg selv, ved hjelp av rekursjon og rør. Det verste er når du ringer en gang til ...

&

Gjør bakgrunnsfunksjonen kjørt, slik at prosessen ikke kan avsluttes før alle ressurser er oppbrukt

} ;:

Funksjonen avsluttes og den kalles på nytt ...

I tilfelle noen var nysgjerrige på å se den forførende koden som for en nybegynner til og med kunne være merkelig, men det er ingenting som en liten logikk ikke løser

Denne artikkelen er skrevet i forumet vårt av WadaJeg tar det bare hit med noen små endringer i teksten.

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   eliotime3000. sa

    Fordi det er menn som ikke leter etter noe logisk, som penger. Du kan ikke kjøpe dem, skremme dem, overbevise dem eller forhandle med dem. Det er menn som bare vil se på at verden brenner.

    Alfred.

  2.   nano sa

    Faktisk er det interessant, selv om i dag hvis de kaster en gaffelbombe på deg, ville ingenting skje fordi det er sikkerhetsnivåer du angir der du begrenser antall prosesser som et program kan generere, bare distroer som Arch, Gentoo, etc ikke har disse begrensningene som standard, og du må opprette dem.

    Det er morsomt fordi Tete og jeg tilbringer en dag med å le oss av latter med dette emnet. Mange som installerer Arch installerer det bare og legger miljøet på det, men glemmer mange andre veldig viktige ting som er nødvendige for å konfigurere (eller i det minste de var nødvendig, sannheten er at jeg ikke aner hvordan det er nå), og det ble derfor sagt at det var "enkelt og raskt å installere".

    Uansett tror jeg det hadde vært litt enklere å forklare det med bomben i python, som er enda mer eksplisitt.

    1.    eliotime3000. sa

      Faktisk er disse prosessutførelsesinnstillingene vanligvis ganske viktige når du installerer en GNU / Linux-distro med en minimalisme som Arch og / eller Gentoo har.

      Og forresten, de gangene jeg begynner å bruke Arch er å teste versjonene av programmer og grensesnitt som nettopp har kommet ut av ovnen. Uansett, den gaffelbomben er ganske interessant.

    2.    f3niX sa

      Ja, det er mye lettere å forstå i python, jeg lar dem være her i tilfelle noen er interessert:
      import os
      mens sant:
      —-Os.fork ()

      Og med rekursjon:

      import os
      def bombe ():
      —-Os.fork ()
      --bombe()
      bombe()

      Og nano det skal bemerkes at i debian 7 Stable er det heller ingen sikkerhet for dette, i det minste ikke med python, systemet henger umiddelbart.

      Hilsener.

    3.    O_Pixote_O sa

      Vel, jeg har utført en gaffelbombe i Ubuntu, og datamaskinen krasjet umiddelbart

  3.   Bi0sPo1n7 sa

    For å deaktivere pumpen er prosessene i terminalen begrenset med: ulimit -u 50 og pumpen deaktivert: p.

  4.   Modem sa

    I alle fall bør det nevnes at nåværende operativsystemer har begrenset hvor mange prosesser de kan ha aktive, det handler om å skyte en gaffelbombe på en Fedora og ingenting vil skje.

    1.    Roberto sa

      Uten tvil, men for eksempel solaris og windows (det er der jeg har testet det) er ikke beskyttet.

  5.   sirjuno sa

    KUL! 🙂

  6.   mj sa

    Gjør det samme; men denne gangen gjør det nyttig, det vil si kjøre i windows og ha det som skjer. Ikke på GNU / Linux.
    Veldig nysgjerrig, nærheten til temaet datamaskinsabotasje, jeg vet ikke om det kan være tilfelle med Gnash-spilleren: på Vimeo-siden kjører den videoer feilfritt, men på YouTube når den knapt en oppløsning på 240 piksler; I Dailymotions reproduserer den ikke, etter mitt syn, noe uforståelig for meg, siden jeg ikke er programmerer.
    Hvis dette ikke endres, tror jeg det ikke er en dårlig idé for gratis programvaresupportere å publisere videoene våre der de blir spredt til alle, uten diskriminering.

    1.    eliotime3000. sa

      Gnash burde være oppmerksom på det, men siden utviklingen var treg valgte Mozilla å lage sin egen Flash-spiller basert på Javascript kalt Shumway. Jeg håper Shumway er ute snart, så jeg kan erstatte Flash Player jeg har på GNU / Linux.

  7.   x11tete11x sa

    Og siden vi er det, er det ikke nok å si hvordan du kan beskytte deg selv, en veldig grunnleggende måte (og spesielt for Noobs Archers) er å begrense antall prosesser, for dette går vi til /etc/security/limits.conf og legger til følgende linje:

    * hard nproc 1000

    Med dette begrenser vi prosessene til den mengden, for eksempel har jeg den satt til den mengden (selv om hele operativsystemet fullt kjører med mye mindre, ca 200-300 prosesser), og når jeg bruker gaffelbomben, forblir operativsystemet mitt fullt funksjonelt og Immune, er det klart at hvis vi begrenser antall prosesser til noe veldig lavt, kan det føre til noen annen konsekvens siden et eller annet program vil lage prosesser, og operativsystemet ikke vil la det, i mitt tilfelle, være begrenset til 1000 prosesser, det er perfekt for meg

    1.    xphnx sa

      Jeg har satt den på
      * soft nproc 500
      * hard nproc 1000

      Selv om arch wiki anbefaler myk på 100 og hard på 200.

      Selv om det ikke skal være noe problem, er jeg redd for å kaste en bombe for å teste ... xD

  8.   Martin sa

    Den enkleste måten å skjerme på er ved å begrense ulimitsverdien slik at pumpeprosessen kan drepes.

  9.   vidagnu sa

    Interessant artikkel, for å forhindre det i Slackware bruker vi ulimit i / etc / profilfilen

    1.    MSX sa

      Problemet med å begrense ulimit er at det kan begrense bruken av systemet avhengig av hva du gjør.