Datoru pasaulē, noteiktas komandas No pirmā acu uzmetiena tie var šķist nekaitīgi, taču tie slēpj destruktīvu spēku, kas, ļaunprātīgi vai nejauši izmantots, var sagraut visu sistēmu. Starp šīm komandām viena no pazīstamākajām - vai ne - un no kurām baidās, ir tā sauktā dakšu bumba, vai dakšu bumba.
Dakšu bumba ir nekas cits kā pakalpojuma atteikuma (DoS) uzbrukums, paredzēti, lai patērētu pieejamos sistēmas resursus, piemēram, centrālais procesors un atmiņa, līdz vietai, kur tā kļūst nelietojama. Ja esat kādreiz domājis, kā šī komanda darbojas, kāpēc tā var būt tik kaitīga un kādas darbības varat veikt, lai sevi aizsargātu, šeit atradīsit visu, kas jums jāzina, saprotamā un detalizētā veidā izskaidrots.
Kas ir dakšu bumba?
Dakšu bumba, kas pazīstama arī kā "truša vīruss", jo tai ir tendence eksponenciāli vairoties, ir paņēmiens, izmanto masveida procesu izveidi, lai piesātinātu sistēmu operatīvi. Tas tiek panākts, izmantojot komandu, kurā tiek izmantota funkcija Fork, kas pieejama Unix un Linux sistēmās. Funkcija Fork ļauj procesam izveidot precīzu sevis kopiju, ko sauc par bērnu procesu.
Reprezentatīvākā komanda, kas saistīta ar a dakšu bumba ir šāds:
: () {: |: &};:
Šai komandai ir struktūra, kas, lai arī tā ir kompakta, ir neticami spēcīga. Tas definē funkciju, ko tā sauc :, kas izsauc sevi rekursīvi, katrā izpildē ģenerējot divus jaunus procesus, pateicoties operatoram caurule | un izpilde fonā ar &. Rezultāts ir eksponenciāls procesu pieaugums, kas sabrūk sistēmu dažu sekunžu laikā.
Kā darbojas dakšu bumba?
Komanda : () {: |: &};: Sākumā tas var šķist mulsinoši, tāpēc sadalīsim to soli pa solim:
:
: Šis simbols apzīmē funkcijas nosaukumu. Patiesībā jūs varētu izmantot jebkuru nosaukumu.() { }
: šī sintakse definē funkciju bez parametriem.:|:
: pēc definēšanas funkcija izsauc sevi un operatoru | novirza savu izvadi uz jaunu sevi.&
: šis simbols izpilda zvanus fonā, ļaujot vienlaicīgi izveidot procesus.;
: kalpo kā atdalītājs starp funkcijas definīciju un tās sākotnējo izpildi.:
: Visbeidzot, šis pēdējais simbols izpilda funkciju, kas sāk procesu kaskādi.
Kad dakšu bumba darbojas, tā ātri patērē sistēmas resursus, bloķējot spēju palaist jaunus procesus un parasti piespiežot piespiedu kārtā restartēt datoru.
Neaizsargātas sistēmas
Praktiski jebkura operētājsistēma, kuras pamatā ir Unix vai Linux, piemēram, Ubuntu, Debian vai Red Hat, ir neaizsargāti pret dakšu bumbu, jo tie visi izmanto dakšu sistēmas izsaukumu. Tomēr sistēmas Windows Tie nav neaizsargāti pret šo specifisko uzbrukuma veidu, jo tiem nav dakšai līdzvērtīgas funkcijas. Tā vietā operētājsistēmā Windows jums būtu jāizveido jaunu procesu kopa līdzīgā veidā, taču tas prasa sarežģītāku pieeju.
Dakšu bumbas piemēri dažādās valodās
La dakšu bumba Tas nav ekskluzīvs Bash; To var ieviest citās programmēšanas valodās. Šeit ir daži piemēri:
Python Fork bumba
#!/usr/bin/env python import OS, kamēr True: os.fork()
Java dakšu bumba
public class Bomb { public static void main(final String[] args) { while (true) { Runtime.getRuntime().exec("java Bomb"); } } }
C Dakšu bumba
#iekļauts int main(void) { while (1) { fork(); } }
Dakšu bumbas trieciens
Dakšu bumbas galvenais trieciens ir sistēmas pārslodze. Tādi resursi kā centrālais procesors, atmiņa un procesa ievades tiek ātri patērēti, izraisot sistēmas nestabilitāti vai nereaģēšanu. Vairumā gadījumu jums ir nepieciešams a piespiedu restartēšana lai atgūtu kontroli. Turklāt pastāv ievērojams datu zuduma risks pēkšņas lietojumprogrammas darbības dēļ katastrofas laikā.
Profilakses pasākumi
Lai gan dakšu bumba var būt postoša, Ir veidi, kā mazināt tā ietekmi un pat to novērst. pilnībā:
1. Ierobežojiet procesu skaitu
Komanda ierobežojums Operētājsistēmā Linux tas ļauj iestatīt ierobežojumu maksimālajam procesu skaitam, ko lietotājs var izveidot. Piemēram:
limits -u 5000
Tas ierobežo lietotājam līdz maksimālajam 5000 aktīvo procesu.
2. Konfigurējiet pastāvīgos ierobežojumus
Lai pastāvīgi piemērotu ierobežojumus, varat modificēt failu /etc/security/limits.conf
. Piemēram:
cietais lietotājs nproc 5000
Tas nodrošina, ka ierobežojumi saglabājas pat pēc lietotāja izrakstīšanās.
3. Cgrupu izmantošana
Mūsdienu Linux sistēmās grupas (kontroles grupas) ļauj izveidot detalizētāku kontroli pār sistēmas resursiem, tostarp to skaitu atļautie procesi.
Nepievērsiet uzmanību tam, ko redzat sociālajos tīklos
Šāda veida komandas sociālajos tīklos var parādīties kā praktisks joks, tāpēc jābūt uzmanīgiem un terminālī neievadiet to, ko viņi mums saka. Neejot tālāk, ja X ieliekam "fork bomb", mēs redzam atbilde uz ziņu kas saka "sveiki, dakšu bumba". Sākotnējā ziņa, kas tika kopīgota pirms dažiem mirkļiem, saka, ka ir kaķis ar vārdu :(){ :|:& };: un ka jūs to ievietojāt terminālī. Mēs jau esam paskaidrojuši, ko tas dara, tāpēc nedariet to.
Dakšu bumba, lai arī pēc būtības ir vienkārša, ir liela ietekme uz neaizsargātām sistēmām. Lai aizsargātu mūsdienu skaitļošanas vidi, ir ļoti svarīgi saprast, kā tas darbojas, kā tas ietekmē un kā to mazināt. Tas ir atgādinājums par to, kā vienkārša komanda var izraisīt katastrofālas sekas, kā arī par pareizu sistēmu administrēšanas un drošības robežu noteikšanas nozīmi.