Nopea selitys haarukkapommista. Mitä haarukkapommi tekee GNU / Linuxissa?
: () {: |: &};:
Se on eräänlainen palvelujen kieltäminen tai DoS-hyökkäys, joka periaatteessa kyllästää tietokoneen käytettävissä olevan tilan, vaikka haarukkapommeja on mahdollista käyttää millä tahansa kielellä, keskityn vain kemut, sen muoto, joka näyttää niin oudolta
Vaikka se näyttää hyvin monimutkaiselta, se on yksinkertainen, se on yksinkertainen toiminto, joka kutsuu itseään ... Nyt haarukkapumpun ihmisen luettavissa oleva XD
: () {: |: &};:
Tässä yksinkertainen toiminto ...
function () {var1 = $ 1 kaiku "Toiminto"}
Jokaiselle, joka osaa lukea ja vähän ohjelmoida
pommi () {pommi | pumppu &}; pumppu
Kuten näette, se on todella yksinkertainen, se luo itselleen kutsuvan toiminnon, joka luo syklin, joka ei pysähdy ennen kuin saavuttaa tavoitteensa, kyllästämällä tietokoneen.
Yhteenvetona ...
: () {
Se on funktio nimeltä:
: |:
Toiminto kutsuu itseään rekursiolla ja putkilla. Pahinta on, kun soitat toisen kerran ...
&
Käynnistää taustatoiminnon, joten prosessia ei voida lopettaa ennen kuin kaikki resurssit on käytetty loppuun
} ;:
Toiminto päättyy ja sitä kutsutaan uudelleen ...
Jos joku olisi utelias näkemään sen viettelevän koodin, joka newbelle voi olla jopa outoa, mutta se ei ole mikään, mitä pieni logiikka ei ratkaise
Alfred.
Itse asiassa se on mielenkiintoista, vaikka tänään, jos he heittäisivät haarukka-pommin sinulle, mitään ei tapahtuisi, koska olet asettanut suojaustasot, joissa rajoitat minkä tahansa ohjelman tuottamien prosessien määrää, vain distrot, kuten Arch, Gentoo jne. sinulla ei ole näitä rajoituksia oletuksena, ja sinun on luotava ne.
On hauskaa, koska Tete ja minä vietämme päivän nauramaan tämän aiheen parissa. Monet ihmiset, jotka asentavat Archin, vain asentavat sen ja asettavat ympäristön siihen, mutta unohtavat monia muita erittäin tärkeitä asioita, jotka ovat tarpeen konfiguroimiseksi (tai ainakin he olivat välttämätöntä, totuus on, että minulla ei ole aavistustakaan, miten se on nyt), ja siksi sanottiin, että se oli "helppo ja nopea asentaa".
Joka tapauksessa mielestäni olisi ollut hieman yksinkertaisempaa selittää se pythonin pommilla, joka on vielä selvempi.
Itse asiassa nämä prosessin suoritusasetukset ovat yleensä melko tärkeitä asennettaessa GNU / Linux-distro minimalistisella tavalla, kuten Archilla ja / tai Gentoolla.
Ja muuten, aloin käyttää Archia testaamaan juuri uunista tulleet ohjelmien ja käyttöliittymien versiot. Joka tapauksessa, tämä haarukkapommi on varsin mielenkiintoinen.
Kyllä, pythonissa on paljon helpompi ymmärtää, jätän ne tänne, jos joku on kiinnostunut:
tuonti os
kun taas totta:
—-Os.fork ()
Ja rekursiolla:
tuonti os
def-pommi ():
—-Os.fork ()
--pommi()
pommi()
Ja nanossa on huomattava, että debian 7 Stable -sovelluksessa myöskään tätä ei ole suojattu, ainakaan pythonilla, järjestelmä jumittuu välittömästi.
Tervehdys.
No, olen suorittanut haarukkapommin Ubuntussa ja tietokone pysähtyi välittömästi
Pumpun deaktivoimiseksi päätelaitteen prosessit ovat rajoitettuja: ulimit -u 50 ja pumppu deaktivoitu: s.
Joka tapauksessa on mainittava, että nykyiset käyttöjärjestelmät ovat rajoittaneet kuinka monta prosessia niillä voi olla aktiivinen, kyse on haarukkapommin laukaisemisesta Fedoralle, eikä mitään tapahdu.
Epäilemättä, mutta esimerkiksi solaris ja ikkunat (missä olen testannut sen) eivät ole suojattuja.
VIILEÄ! 🙂
Tee sama; mutta tällä kertaa tehdä siitä hyödyllinen, eli ajaa Windows ja saada mitä tapahtuu. Ei GNU / Linuxissa.
Hyvin utelias, läheisyys tietokoneen sabotaasiin, en tiedä, voisiko näin olla Gnash-soittimen kohdalla: Vimeo-sivustolla se toistaa videoita virheettömästi, mutta YouTubessa se tuskin saavuttaa 240 pikselin resoluutiota; Dailymotions-ohjelmassa se ei toista mielestäni jotain minulle käsittämätöntä, koska en ole ohjelmoija.
Jos tätä ei muuteta, mielestäni ei ole huono idea vapaiden ohjelmistojen kannattajille julkaista videoitamme siellä, missä sitä levitetään kaikille ilman syrjintää.
Gnashin tulisi kiinnittää huomiota tähän, mutta koska sen kehitys oli hidasta, Mozilla päätti tehdä oman Flash-soittimensa Javascriptin pohjalta nimeltä Shumway. Toivon, että Shumway on pian poissa, jotta voin korvata Flash Playerin, joka minulla on GNU / Linuxissa.
Ja koska olemme, ei riitä sanomaan kuinka suojata itseäsi, hyvin yksinkertainen tapa (ja erityisesti Noobs Archersille) on rajoittaa prosessien määrää. Tätä varten siirrymme osoitteeseen /etc/security/limits.conf ja lisää seuraava rivi:
* kova nproc 1000
Tällä tavoin rajoitamme prosessit siihen määrään, esimerkiksi minulla on se asetettu siihen määrään (vaikka koko käyttöjärjestelmä on täysin käynnissä paljon vähemmän, noin 200-300 prosessia) ja haarukkapommia käytettäessä käyttöjärjestelmäni pysyy täysin toimiva ja immuuni, on selvää, että jos rajoitamme prosessien lukumäärän johonkin hyvin alhaiseen, se voi aiheuttaa muita seurauksia, koska jokin ohjelma haluaa luoda prosesseja ja käyttöjärjestelmä ei anna sen, minun tapauksessani, rajoitettuna 1000 prosessiin, se on täydellinen
Olen laittanut sen
* soft nproc 500
* hard nproc 1000
Vaikka kaariviki suosittelee pehmeää 100: een ja kovaa 200: een.
Vaikka ongelman ei pitäisi olla, pelkään heittää pommi testata ... xD
Helpoin tapa suojata itsesi on rajoittamalla ulimits-arvoa, jotta pumppuprosessi voidaan tappaa.
Mielenkiintoinen artikkeli, estääkseen sen Slackwaressa, käytämme ulimitia tiedostossa / etc / profile
Ulimitin rajoittamisen ongelma on, että se voi rajoittaa järjestelmän käyttöä riippuen siitä, mitä teet.