A szoftveres sérülékenységek jelentős problémát jelentenek a kiberbiztonság területén. Lehetővé teszik a szoftvertermékek megtámadását, és amikor ezek a termékek egyébként biztonságos hálózatokhoz csatlakoznak, belépési pontot biztosítanak a hackerek számára.

Minden professzionális szoftverterméket alaposan tesztelnek a kiadás előtt. Sajnos a sérülékenységek még mindig gyakoriak. A további sebezhetőségek megtalálásának egyik módja a fuzzing néven ismert szoftvertesztelési technika.

Tehát mi az a fuzzing és hogyan működik?

Mi az a Fuzzing?

A Fuzzing egy automatizált szoftvertesztelési technika, amely véletlenszerű bemenetek segítségével próbálja megtalálni a sebezhetőséget.

A szoftver gyakran kiszámíthatatlanul viselkedik, ha a felhasználó a kérttől eltérő bevitelt ad meg. A fuzzing az a gyakorlat, amikor nagy mennyiségű váratlan bevitelt adunk meg, és rögzítjük, mi történik. Az ötlet az, hogy a felhasználó ezután figyelheti a szoftvert, és megállapíthatja, hogy vannak-e sérülékenységek.

A Fuzzing a szoftvertermékek tesztelésére szolgál, a biztonsági szakemberek pedig annak megállapítására, hogy a hálózat biztonságos-e. Azok a hackerek is használják, akik fuzzingot gyakorolnak, hogy megtalálják azokat a sebezhetőségeket, amelyeket maguk is használhatnak.

instagram viewer

A fuzzing által felfedezett sérülékenységek igen változatosak. A váratlan bevitel a szoftver összeomlását okozhatja. De személyes adatokat is visszaadhat, vagy lehetővé teheti a felhasználó számára a szoftver olyan részeihez való hozzáférést, amelyek egyébként nem lennének elérhetők.

Mik a fuzzing előnyei?

A fuzzing csak egy a számos módszer közül, amellyel a szoftvertermékeket sebezhetőség szempontjából tesztelni lehet. Népszerű, mert:

  • A fuzzing teljesen automatizált. Amint egy fuzzing program be van állítva, emberi beavatkozás nélkül folytathatja a sebezhetőségek keresését.
  • A Fuzzing olyan sebezhetőségeket találhat, amelyeket más szoftvertesztelési technikák nem. Emiatt gyakran használják a manuális technikák mellett.
  • A hackerek gyakran használják a fuzzingot nulladik napi sebezhetőségeket találni. A hackerekkel megegyező technikák alkalmazása lehetővé teszi a fejlesztők számára, hogy mielőbb megtalálják a nulladik napi sebezhetőséget.

Hogyan működik a Fuzzing?

A fuzírozáshoz használt eszköz általában három összetevőből áll. Gyakran emlegetik őket költőnek, futárnak és orákulumnak.

A költő

A költő elindítja a folyamatot, és ő felelős egy teszteset létrehozásáért. A teszteset a lehetséges bemenetek hosszú listája.

A futár

A futár az összes véletlenszerű bemenetet beilleszti a megcélzott szoftverbe. A fuzzereket úgy tervezték, hogy ezt automatikusan megtegyék, lehetővé téve nagy mennyiségű bemenet tömeges tesztelését.

Az Orákulum

Az orákulum ellenőrzi, hogy a bemenetek valamelyike ​​nem okoz-e valami mást, mint amire tervezték. Ha a fuzzing törvényes célból történik, a viselkedés reprodukálható és javítható. Vagy ha a fuzzingot egy hacker hajtja végre, és a váratlan viselkedés hasznos, akkor azt rosszindulatú célokra használhatják fel.

Hogyan használják a támadók a fuzzingot?

A fuzzing népszerű technika a hackerek körében, mert lehetővé teszi számukra, hogy a forráskódhoz való hozzáférés nélkül találjanak sebezhető pontokat a szoftverben. Mivel a fuzzing automatizált, könnyen végrehajtható. Ha egy hacker biztonsági rést fedez fel, a következő támadásokat hajthatja végre.

DDoS támadások

Ha a fuzzing azt észleli, hogy bizonyos bemenetek feldolgozása hosszú időt igényel, ez az információ felhasználható DDoS-támadás indítására. DDoS támadás annyi kérést küld egy rendszernek, hogy az leáll. A Fuzzing lehetővé teszi a kérések testreszabását úgy, hogy azok válaszadása a legtöbb rendszererőforrást igényli.

SQL-injekció

SQL injekciós támadás amikor rosszindulatú SQL utasításokat küldenek egy alkalmazásnak. Ha ezek az utasítások nincsenek megfelelően megtisztítva, lehetővé tehetik a támadó számára, hogy kapcsolatba lépjen az adatbázissal. Ez lehetővé teheti számukra az adatok ellopását vagy módosítását. A fuzzing hatékony eszköz nagy mennyiségű SQL-utasítás megkísérlésére és annak meghatározására, hogy adnak-e kedvező választ.

Puffer túlcsordulás

Puffer túlcsordulási támadás amikor több adat kerül a program pufferébe, mint amennyit képes kezelni. Ebben a forgatókönyvben előfordulhat, hogy egy hacker rosszindulatú kód futtatására készteti a programot. Ez felhasználható adatok ellopására vagy jogosulatlan hozzáférésre. A fuzzing olyan bemenetek keresésére szolgál, amelyek puffer túlcsordulást okozhatnak.

Fuzzing típusai

A „fuzzing” eszközök osztályozhatók a tesztesetek létrehozásának módja és a rendszerről ismert tudás alapján.

Hülye vs. Okos

A hülye fuzzing egyszerűen nagy mennyiségű véletlenszerű bemenetet ad hozzá. Nem választ ki olyan bemeneteket, amelyeket a legnagyobb valószínűséggel fogad el az alkalmazás. Ez megkönnyíti a megvalósítást anélkül, hogy bármit is tudna a szoftverről; ugyanakkor rendkívül nem hatékony, mivel a legtöbb input elutasításra kerül.

Az intelligens fuzzing olyan bemeneteket generál, amelyeket az alkalmazás valószínűleg elfogad. Ez megköveteli, hogy a felhasználó megértse, melyik beviteli formátum elfogadható, majd nagy mennyiségű bemenetet generál ezen a formátumon belül. Az intelligens fuzzing megvalósítása több erőfeszítést és termékismeretet igényel, de lényegesen hatékonyabb.

Mutációs vs. Generációs

A mutációs fuzzerek egy korábban elfogadott bemenetet vesznek, és kisebb módosításokat hajtanak végre rajta. Ez lehetővé teszi olyan bemenetek generálását, amelyek valószínűleg elfogadásra kerülnek az elfogadott formátum ismerete nélkül.

A generációs fuzzerek teljesen új bemeneteket hoznak létre az elfogadott formátumról ismert ismeretek alapján.

White Box vs. Fekete doboz

A fekete doboz fuzzingot a tesztelt alkalmazással kapcsolatos információk nélkül használják. Kevésbé hatékony, mint a fehér doboz fuzzing, de bármilyen alkalmazásra alkalmazható anélkül, hogy hozzáférne a forráskódhoz. Ez teszi népszerűvé a hackerek körében.

A White box fuzzing a tesztelt alkalmazással kapcsolatos információkat használja fel olyan bemenetek létrehozására, amelyeket a legnagyobb valószínűséggel fogadnak el, és amelyek sebezhetőséget okoznak. Elsősorban a szoftverfejlesztők használják, mert hatékonyabb, mint a fekete dobozos fuzzing.

A Fuzzing egy hatékony szoftvertesztelési módszer, amelyet szoftverfejlesztők, biztonsági szakemberek és hackerek használnak. A megvalósítás minimális erőfeszítést igényel, és képes olyan sebezhetőségeket találni, amelyeket más szoftvertesztelési technikák nem.

Biztonsági szempontból különösen fontos, mert gyakran használják nulladik napi sebezhetőségek felfedezésére. Ezeket a sebezhetőségeket vagy biztonsági szakemberek fedezhetik fel és javíthatják ki, vagy hackerek fedezhetik fel és használhatják ki.