У свету компјутера, одређене команде Они на први поглед могу изгледати безопасно, али крију разорну моћ која, злонамерно или случајно, може да одведе цео систем у пропаст. Међу овим командама, једна од најпознатијих – или не –, а којих се страхује, јесте тзв виљушка бомба, или виљушкасте бомбе.
Виљушка бомба није ништа друго до облик напада на ускраћивање услуге (ДоС), дизајниран да троши расположиве системске ресурсе, као што су ЦПУ и меморија, до тачке у којој постаје неупотребљива. Ако сте се икада запитали како ова команда функционише, зашто може бити толико штетна и које кораке можете предузети да бисте се заштитили, овде ћете пронаћи све што вам је потребно да знате, објашњено на приступачан и детаљан начин.
Шта је виљушка бомба?
Виљушка бомба, такође позната као "вирус зеца" због своје тенденције да се експоненцијално реплицира, је техника која користи масовно стварање процеса за засићење система оперативни. Ово се постиже командом која користи функцију виљушке, доступну на Уник и Линук системима. Функција форк омогућава процесу да креира тачну копију себе, познату као подређени процес.
Најрепрезентативнија команда повезана са а виљушка бомба је следеће:
: () {: |: &};:
Ова команда има структуру која је, иако компактна, невероватно моћна. Оно што ради је да дефинише функцију која се зове :, који себе позива рекурзивно, генеришући два нова процеса у сваком извршењу захваљујући оператору цев | а извршење у позадини са &. Резултат је експоненцијални раст процеса који урушава систем за неколико секунди.
Како ради виљушка бомба?
Команда : () {: |: &};: У почетку може изгледати збуњујуће, па хајде да то разложимо корак по корак:
:
: Овај симбол представља назив функције. У ствари, можете користити било које име.() { }
: Ова синтакса дефинише функцију без икаквих параметара.:|:
: Једном дефинисана, функција позива себе и оператора | преусмерава свој излаз на нову своју инстанцу.&
: Овај симбол извршава позиве у позадини, омогућавајући истовремено креирање процеса.;
: Служи као сепаратор између дефиниције функције и њеног почетног извршавања.:
: Коначно, овај последњи симбол извршава функцију, која покреће каскаду процеса.
Једном покренута, виљушка бомба брзо троши системске ресурсе, блокирање могућности покретања нових процеса и обично принудно поновно покретање рачунара.
Рањиви системи
Практично било који оперативни систем заснован на Уник-у или Линук-у, као што је Убунту, Дебиан или Ред Хат, рањив је на форк бомбу, пошто сви они користе системски позив форк. Међутим, системи виндовс Они нису рањиви на ову специфичну врсту напада, пошто немају функцију еквивалентну виљушку. Уместо тога, на Виндовс-у бисте морали да креирате скуп нових процеса на сличан начин, али то захтева сложенији приступ.
Примери виљушке бомбе на различитим језицима
La виљушка бомба Није ексклузивно за Басх; Може се имплементирати у другим програмским језицима. Ево неколико примера:
Питхон Форк Бомб
#!/уср/бин/енв питхон импорт ос док је тачно: ос.форк()
Јава Форк Бомб
публиц цласс Бомб { публиц статиц воид маин(финал Стринг[] аргс) { вхиле (труе) { Рунтиме.гетРунтиме().екец("јава Бомб"); } } }
Ц Форк Бомб
#инцлуде инт маин(воид) { вхиле (1) { форк(); } }
Утицај виљушке бомбе
Главни утицај виљушке бомбе је преоптерећење система. Ресурси као што су ЦПУ, меморија и процесни улази се брзо троше, што доводи до тога да систем постане нестабилан или не реагује. У већини случајева, потребан вам је а принудно поновно покретање да поврати контролу. Поред тога, постоји значајан ризик од губитка података због наглог понашања апликације током катастрофе.
Превентивне мере
Иако виљушка бомба може бити разорна, Постоје начини да се ублажи његов утицај, па чак и спречи. у потпуности:
1. Ограничите број процеса
Команда улимит У Линуку вам омогућава да поставите ограничење максималног броја процеса које корисник може да креира. на пример:
ограничење -у 5000
Ово ограничава корисника да има највише 5000 активних процеса.
2. Конфигуришите стална ограничења
Да бисте трајно применили ограничења, можете да измените датотеку /etc/security/limits.conf
. На пример:
тврди корисник нпроц 5000
Ово осигурава да ограничења остају и након што се корисник одјави.
3. Коришћење Цгроупс
На савременим Линук системима, цгроупс (контролне групе) вам омогућавају да успоставите детаљнију контролу над системским ресурсима, укључујући број дозвољени процеси.
Не обраћајте пажњу на оно што видите на друштвеним мрежама
Ове врсте команди се могу појавити на друштвеним мрежама као практична шала, тако да морамо бити опрезни и не уносити оно што нам кажу у терминал. Без да идемо даље, ако ставимо „бомбу виљушке“ у Кс, видећемо одговор на пост који каже "здраво, виљушка бомба." Оригинални пост, подељен пре неколико тренутака, каже да постоји мачка са именом :(){ :|:& };: и да сте је ставили у терминал. Већ смо објаснили шта ради, па немојте то да радите.
Виљушка бомба, иако једноставна у концепту, има дубок утицај на рањиве системе. Разумевање начина на који функционише, његових импликација и начина за ублажавање је од виталног значаја за заштиту савремених рачунарских окружења. То је подсетник како једноставна команда може довести до катастрофалних последица, а такође и на важност правилне администрације система и постављања безбедносних ограничења.