Kompiuterių pasaulyje, tam tikros komandos Iš pirmo žvilgsnio jie gali atrodyti nekenksmingi, tačiau slepia destruktyvią galią, kuri, piktybiškai ar netyčia panaudota, gali sužlugdyti visą sistemą. Tarp šių komandų viena iš geriausiai žinomų – ar ne – ir baimingų yra vadinamoji šakių bomba, arba šakių bomba.
Šakės bomba yra ne kas kita, kaip paslaugų atsisakymo (DoS) ataka, skirtas naudoti turimus sistemos išteklius, pvz., centrinis procesorius ir atmintis, iki taško, kai jis tampa netinkamas naudoti. Jei kada nors susimąstėte, kaip ši komanda veikia, kodėl ji gali būti tokia žalinga ir kokių veiksmų galite imtis, kad apsisaugotumėte, čia rasite viską, ką reikia žinoti, suprantamai ir išsamiai paaiškintą.
Kas yra šakės bomba?
Šakės bomba, dar vadinama „triušio virusu“ dėl savo tendencijos eksponentiškai daugintis, yra technika, sistemai prisotinti naudoja masinį procesų kūrimą veikiantis. Tai pasiekiama naudojant komandą, kuri naudoja šakutės funkciją, prieinamą Unix ir Linux sistemose. Šakės funkcija leidžia procesui sukurti tikslią savo kopiją, žinomą kaip antrinis procesas.
Reprezentatyviausia komanda, susijusi su a šakių bomba yra taip:
: () {: |: &};:
Šios komandos struktūra, nors ir kompaktiška, yra neįtikėtinai galinga. Ką jis daro, tai apibrėžia funkciją, vadinamą :, kuri vadinasi rekursyviai, operatoriaus dėka kiekviename vykdyme sugeneruodama du naujus procesus vamzdis | ir vykdymas fone su &. Rezultatas – eksponentinis procesų augimas, kuris per kelias sekundes žlugdo sistemą.
Kaip veikia šakės bomba?
Įsakymas : () {: |: &};: Iš pradžių tai gali atrodyti painu, todėl suskirstykime jį žingsnis po žingsnio:
:
: Šis simbolis nurodo funkcijos pavadinimą. Tiesą sakant, galite naudoti bet kokį pavadinimą.() { }
: Ši sintaksė apibrėžia funkciją be jokių parametrų.:|:
: Kai apibrėžta, funkcija iškviečia save ir operatorių | peradresuoja savo išvestį į naują savo egzempliorių.&
: Šis simbolis vykdo skambučius fone, leidžiantį vienu metu kurti procesus.;
: skiria funkcijos apibrėžimą ir pradinį jos vykdymą.:
: Galiausiai šis paskutinis simbolis vykdo funkciją, kuri pradeda procesų kaskadą.
Paleidusi šakių bombą greitai sunaudoja sistemos išteklius, blokuoja galimybę vykdyti naujus procesus ir dažniausiai priverstinai iš naujo paleisti kompiuterį.
Pažeidžiamos sistemos
Praktiškai bet kuri „Unix“ ar „Linux“ pagrindu veikianti operacinė sistema, pvz., Ubuntu, Debian ar Red Hat, yra pažeidžiamas šakutės bombos, nes visos jos naudoja šakutės sistemos iškvietimą. Tačiau sistemos Windows Jie nėra pažeidžiami šio specifinio tipo atakų, nes jie neturi šakės lygiavertės funkcijos. Vietoj to, sistemoje „Windows“ turėtumėte panašiai sukurti naujų procesų rinkinį, tačiau tam reikia sudėtingesnio požiūrio.
Šakės bombos pavyzdžiai įvairiomis kalbomis
La šakių bomba Tai nėra išskirtinė Bash; Jis gali būti įdiegtas kitomis programavimo kalbomis. Štai keletas pavyzdžių:
Python šakės bomba
#!/usr/bin/env python import OS, o True: os.fork()
Java šakių bomba
public class Bomb { public static void main(final String[] args) { while (true) { Runtime.getRuntime().exec("Java Bomb"); } } }
C Šakės bomba
#įtraukti int main(void) { while (1) { šakutė(); } }
Šakės bombos smūgis
Pagrindinis šakės bombos smūgis yra sistemos perkrova. Tokie ištekliai, kaip CPU, atmintis ir proceso įvestis, greitai sunaudojami, todėl sistema tampa nestabili arba nereaguoja. Daugeliu atvejų jums reikia a priverstinis paleidimas iš naujo kad atgautų kontrolę. Be to, kyla didelė duomenų praradimo rizika dėl staigios programos veikimo nelaimės metu.
Prevencinės priemonės
Nors šakės bomba gali būti pražūtinga, Yra būdų, kaip sušvelninti jo poveikį ir net užkirsti kelią. visiškai:
1. Apribokite procesų skaičių
Įsakymas riba Linux sistemoje jis leidžia nustatyti maksimalaus procesų, kuriuos vartotojas gali sukurti, skaičių. Pavyzdžiui:
iki 5000 iki
Tai riboja vartotoją iki maksimalaus 5000 aktyvių procesų.
2. Konfigūruokite nuolatines ribas
Norėdami visam laikui taikyti apribojimus, galite modifikuoti failą /etc/security/limits.conf
. Por ejemplo:
sunkus vartotojas nproc 5000
Tai užtikrina, kad apribojimai išliks net vartotojui atsijungus.
3. C grupių naudojimas
Šiuolaikinėse Linux sistemose grupės (valdymo grupės) leidžia nustatyti detalesnę sistemos išteklių kontrolę, įskaitant skaičių leidžiamus procesus.
Nekreipkite dėmesio į tai, ką matote socialiniuose tinkluose
Tokio tipo komandos socialiniuose tinkluose gali pasirodyti kaip praktiškas pokštas, todėl turime būti atsargūs ir nevesti į terminalą to, ką jos mums sako. Be to, jei į X įdėsime „šakės bombą“, pamatysime atsakymas į pranešimą sakoma „labas, šakių bomba“. Pradiniame įraše, pasidalintame prieš kelias akimirkas, rašoma, kad yra katė vardu :(){ :|:& };: ir kad jūs jį įdėjote į terminalą. Jau paaiškinome, ką tai daro, todėl nedarykite to.
Šakės bomba, nors ir paprastos koncepcijos, turi didelį poveikį pažeidžiamoms sistemoms. Norint apsaugoti šiuolaikinę kompiuterinę aplinką, labai svarbu suprasti, kaip tai veikia, jos pasekmes ir būdus, kaip ją sumažinti. Tai priminimas apie tai, kaip paprasta komanda gali sukelti katastrofiškų pasekmių, taip pat apie tinkamo sistemų administravimo ir saugumo ribų nustatymo svarbą.