Софтверске рањивости представљају значајан проблем у сајбер безбедности. Они омогућавају напад софтверских производа и када су ти производи повезани са иначе безбедним мрежама, могу да обезбеде улазну тачку за хакере.

Сви професионални софтверски производи су темељно тестирани пре објављивања. Нажалост, рањивости су и даље честа појава. Један од начина да се пронађу додатне рањивости је употреба технике тестирања софтвера познате као фуззинг.

Дакле, шта је фуззинг и како функционише?

Шта је Фузинг?

Фуззинг је аутоматизована техника тестирања софтвера која покушава да пронађе рањивости користећи насумичне улазе.

Софтвер се често понаша непредвидиво када корисник унесе унос који није тражен. Фазинг је пракса уноса велике количине неочекиваних улаза и снимања онога што се дешава. Идеја је да корисник тада може да надгледа софтвер и утврди да ли су присутне рањивости или не.

Фуззинг се користи за тестирање софтверских производа и од стране стручњака за безбедност да утврде да ли је мрежа безбедна. Такође га користе хакери који практикују фуззинг да би пронашли рањивости које и сами могу да искористе.

instagram viewer

Рањивости откривене фуззингом увелико варирају. Неочекивани унос може проузроковати да се софтвер једноставно сруши. Али такође може вратити приватне информације или омогућити кориснику приступ деловима софтвера који би иначе били ван граница.

Које су предности фузинга?

Фуззинг је само један од многих начина на које се софтверски производи могу тестирати на рањивости. Популарно је јер:

  • Фуззинг је потпуно аутоматизован. Једном када је фуззинг програм постављен, он може наставити да тражи рањивости без људског инпута.
  • Фузинг може да пронађе рањивости које друге технике тестирања софтвера немају. Због тога се често користи као додатак ручним техникама.
  • Хакери често користе фузинг да пронађите рањивости нултог дана. Коришћење истих техника као и хакери омогућава програмерима да пронађу рањивости нултог дана пре него што то учине.

Како Фузинг функционише?

Алат који се користи за фуззинг обично има три компоненте. Често се помињу као песник, курир и пророчиште.

Песник

Песник покреће процес и одговоран је за генерисање тестног случаја. Тестни случај је дуга листа потенцијалних улаза.

Курир

Курир убацује све насумичне уносе у циљани софтвер. Фузери су дизајнирани да то раде аутоматски, омогућавајући да се велике количине улаза тестирају на велико.

Тхе Орацле

Пророчанство проверава да ли било који од улаза узрокује да софтвер уради нешто друго од онога за шта је дизајниран. Ако се фуззинг спроводи у легитимне сврхе, понашање се тада може поновити и поправити. Или ако хакер спроводи фуззинг, а неочекивано понашање је корисно, може се користити у злонамерне сврхе.

Како нападачи користе Фузинг?

Фуззинг је популарна техника међу хакерима јер им омогућава да пронађу рањивости у софтверу без приступа изворном коду. Пошто је фуззовање аутоматизовано, такође га је лако извести. Ако хакер открије рањивост, можда ће моћи да изврши следеће нападе.

ДДоС напади

Ако фуззинг открије да је за обраду одређених уноса потребно дуго времена, ове информације се могу користити за покретање ДДоС напада. ДДоС напад укључује слање толиког броја захтева систему да он престаје да функционише. Фуззинг омогућава да се захтеви прилагоде тако да захтевају највише системских ресурса за одговор.

СКЛ Ињецтион

Напад СКЛ ињекције је када се злонамерни СКЛ изрази шаљу апликацији. Ако ове изјаве нису правилно саниране, могу дозволити нападачу да ступи у интеракцију са базом података. Ово им може омогућити да украду податке или их модификују. Фуззинг је ефикасан алат за покушај велике количине СКЛ наредби и утврђивање да ли неки производе повољан одговор.

Буффер Оверфлов

Напад прекорачења бафера је када се у бафер програма дода више података него што може да поднесе. У овом сценарију, могуће је да хакер изазове тај програм да изврши злонамерни код. Ово се може користити за крађу података или за добијање неовлашћеног приступа. Фуззинг се користи за проналажење улаза који могу изазвати преливање бафера.

Врсте фузинга

Фазинг алати се могу класификовати на основу начина на који се генеришу тестни случајеви и колико се зна о систему.

Думб вс. Оштроуман

Глупо фуззовање једноставно додаје велике количине насумичних улаза. Не бира уносе који ће највероватније бити прихваћени од стране апликације. Ово олакшава имплементацију без знања о софтверу; међутим, такође је веома неефикасан јер ће већина инпута бити одбијена.

Паметно фуззинг генерише улазе које ће апликација вероватно прихватити. Захтева да корисник разуме који је формат уноса прихватљив, а затим генерише велике количине уноса унутар тог формата. Паметно фуззовање захтева више труда и знања о производу за имплементацију, али је знатно ефикасније.

Мутатионал вс. Генератионал

Мутациони фузери узимају улаз који је претходно прихваћен и уносе мање измене у њега. Ово омогућава да се генеришу улази који ће вероватно бити прихваћени без познавања прихваћеног формата.

Генерацијски фузери креирају потпуно нове улазе на основу онога што је познато о прихваћеном формату.

Бела кутија вс. Црна кутија

фуззинг црне кутије се користи без икаквих информација о апликацији која се тестира. Мање је ефикасан од фуззирања беле кутије, али се може применити на било коју апликацију без приступа изворном коду. То га чини популарним међу хакерима.

Расипање беле кутије користи информације о апликацији која се тестира да би створила улазне податке који ће највероватније бити прихваћени и произвести рањивости. Првенствено га користе програмери софтвера јер је ефикаснији од црне кутије.

Фуззинг је моћна метода тестирања софтвера коју користе програмери софтвера, професионалци за безбедност и хакери. Захтева минималан напор за имплементацију и способан је да пронађе рањивости које друге технике тестирања софтвера немају.

То је посебно важно са безбедносног становишта јер се често користи за откривање рањивости нултог дана. Ове рањивости могу да открију и поправе професионалци за безбедност или да их открију и искористе хакери.