Fuzzing çi ye?

Çi şaş e

Destpêk: Fuzzing çi ye?

Di 2014 de, hackerên Çînî di Pergalên Tenduristiya Civakê de hack kirin, zincîreyek nexweşxaneyê ya Dewletên Yekbûyî yên qezenckirî, û daneyên 4.5 mîlyon nexweşan dizîn. Hackeran xeletiyek bi navê Heartbleed ku çend meh beriya hackkirinê di pirtûkxaneya krîptografî ya OpenSSL de hate keşif kirin, bikar anîn.

Heartbleed mînakek çînek vektorên êrîşê ye ku dihêle êrîşkar bi şandina daxwazên xelet ên ku têra derbaskirina kontrolên pêşîn derbasdar in bigihîjin armancekê. Dema ku pisporên ku li ser beşên cihêreng ên serîlêdanê dixebitin çêtirîn dikin da ku ewlehiya wê peyda bikin, ne mimkûn e ku meriv li hemî dozên quncikê bifikirin ku di dema pêşkeftinê de dikarin serîlêdanek bişkînin an jî wê xeternak bikin.

Li vê derê 'fuzzing' tê.

Êrîşek Fuzzing çi ye?

Fuzzing, fuzz testing, an êrîşek fuzzing, teknîkek ceribandina nermalava otomatîkî ye ku ji bo daneya rasthatî, nediyar, an nederbasdar (bi navê fuzz) di bernameyekê de tê bikar anîn. Bername ji bo tevgerên neasayî an nediyar ên wekî zêdebûna tampon, têkçûn, rijandina bîranînê, qutbûna mijarê, û binpêkirinên gihîştina xwendin/nivîsandinê tê şopandin. Dûv re amûra fuzzing an fuzzer tê bikar anîn da ku sedema tevgera neasayî eşkere bike.

Fuzzing li ser bingeha wê yekê ye ku hemî pergal xeletiyên ku li benda vedîtinê ne hene, û ji bo vê yekê dikare têra xwe dem û çavkanî were dayîn. Pir pergalan parserên pir baş an pêşîlêgirtina pejirandina têketinê hene sûcdariyên berberî ji îstismarkirina her xeletiyên hîpotezîkî yên di bernameyekê de. Lêbelê, wekî ku me li jor behs kir, di dema pêşkeftinê de vegirtina hemî dozên quncikê dijwar e.

Fuzzers li ser bernameyên ku têketina birêkûpêk digirin an xwedan cûreyek sînorê pêbaweriyê ne têne bikar anîn. Mînakî, bernameyek ku pelên PDF-ê qebûl dike dê hin erêkirinê hebe da ku pê ewle bibe ku pêvek pêvekek .pdf û parserek heye ku pelê PDF-ê pêvajoyê bike.

Fûzzerek bi bandor dikare têketinên têra xwe derbasdar biafirîne da ku van sînoran derbas bike lê ew têra nederbasdar e ku bibe sedema tevgerek nediyar a bernameyê. Ev girîng e ji ber ku tenê ku meriv bikaribe ji erêkirinê derbas bibe, heke zirarek din çênebe pir nayê wê wateyê.

Fuzzers vektorên êrîşê pir dişibin û di nav de yên mîna derzîlêdana SQL, nivîsandina navmalperê, zêdebûna tampon, û êrîşên redkirina-karûbarê vedigirin. Hemî van êrîşan encama dayîna daneyên neçaverêkirî, nederbasdar an birêkûpêk di pergalê de ne. 

 

Cureyên Fuzzers

Fuzzers li gorî hin taybetmendiyan têne dabeş kirin:

  1. Êrîşî hedefan dikin
  2. Rêbaza afirandina Fuzz
  3. Hişmendiya avahiya têketinê
  4. Agahdariya avahiya bernameyê

1. Armancên êrîşê

Ev dabeşkirin li ser celebê platformê ye ku fuzzer ji bo ceribandinê tê bikar anîn. Fuzzers bi gelemperî bi protokolên torê û sepanên nermalavê têne bikar anîn. Her platformek xwedan celebek taybetî ya têketinê ye ku ew distîne, û ji ber vê yekê cûreyên cûda yên fuzzeran hewce dike.

Mînakî, dema ku bi serîlêdanan re mijûl dibin, hemî hewildanên tevlihevkirinê di kanalên têketinê yên cihêreng ên serîlêdanê de, wek navgîniya bikarhêner, termînala rêza fermanê, form / têketina nivîsê, û barkirina pelan pêk tê. Ji ber vê yekê hemî têketinên ku ji hêla fuzzerê ve têne hilberandin pêdivî ye ku van kanalan li hev bikin.

Fuzzers ku bi protokolên ragihandinê re mijûl dibin divê bi pakêtan re mijûl bibin. Fuzzers ku vê platformê armanc dikin dikarin pakêtên sexte biafirînin, an jî wekî proxy tevbigerin da ku pakêtên navbirî biguhezînin û wan ji nû ve bilîzin.

2. Rêbaza Afirandina Fuzzê

Di heman demê de Fuzzers dikarin li ser bingeha ka ew çawa daneyan çêdikin ku bi wan re bişewitînin werin dabeş kirin. Di dîrokê de, fuzz bi afirandina daneyên rasthatî ji nû ve fuzz afirandin. Bi vî rengî Profesor Barton Miller, destpêkerê vê teknîkê, ew di destpêkê de kir. Ji vê cureyê fuzzerê re tê gotin a fuzzer-bingeha nifşê.

Lêbelê, dema ku meriv bi teorîkî dikare daneyan biafirîne ku dê sînorê pêbaweriyê derbas bike, ew ê dem û çavkaniyên girîng bigire ku wiya bike. Ji ber vê yekê ev rêbaz bi gelemperî ji bo pergalên bi strukturên têketinê yên hêsan têne bikar anîn.

Çareseriyek ji vê pirsgirêkê re guheztina daneya ku tê zanîn derbasdar e ji bo hilberîna daneya têra xwe derbasdar e ku sînorê pêbaweriyê derbas bike, di heman demê de ew qas nederbasdar e ku bibe sedema pirsgirêkan. Mînaka vê ya baş a DNS fuzzer ku navek domainê digire û dûv re navnîşek mezin a navên domainê diafirîne da ku domên potansiyel xerab ên ku xwediyê domaina diyarkirî hedef digirin destnîşan bike.

Ev nêzîkatî ji ya berê jîrtir e û bi girîngî veguheztinên gengaz teng dike. Fuzzerên ku vê rêbazê bikar tînin têne gotin fuzzerên-based mutasyon

Rêbazek sêyemîn a nûtir heye ku algorîtmayên genetîkî bikar tîne da ku li ser daneyên fuzz ên çêtirîn ên ku ji bo rakirina qelsiyan hewce ne li hev bikin. Ew bi domdarî paqijkirina daneyên xwe yên fuzz dixebite, dema ku di bernameyekê de tê xwarin performansa her daneya ceribandinê dihesibîne. 

Daneyên herî xirab ên performansa ji hewza daneyê têne derxistin, dema ku çêtirîn têne guheztin û / an têne hev kirin. Dûv re nifşa nû ya daneyê ji bo ceribandina fuzz dîsa tê bikar anîn. Ev fuzzer wekî têne binav kirin fuzzerên-bingeha mutasyon evolutionary.

3. Awareness Of Input Structure

Ev tesnîfkirin li ser bingehê ye ka fuzzerek haydar e û bi awayekî aktîf avahiya têketina bernameyekê di hilberandina daneya fuzz de bikar tîne. YEK fuzzerê lal (Fuzzerek ku haya wê ji strukturên têketina bernameyê tune ye) fuzzê bi piranî bi rengek rasthatî çêdike. Ev dikare hem nifş û hem jî fuzzerên mutasyon-based vehewîne. 


Ger fuzzerek bi modela têketina bernameyekê ve were peyda kirin, wê hingê fuzzer dikare hewl bide ku daneyan biafirîne an biguhezîne ku ew bi modela têketina peydakirî re têkildar be. Ev nêzîkatî hêjmara çavkaniyên ku ji bo hilberîna daneyên nederbasdar têne xerc kirin kêm dike. Ji fuzzereke wiha re tê gotin a fuzzer jîr.

4. Awareness Of Structure Program

Di heman demê de Fuzzers dikarin li ser bingeha ku haya wan ji xebata hundurîn a bernameya ku ew dişoxilînin jî werin dabeş kirin, û wê hişmendiyê bikar bînin da ku arîkariya hilberîna daneya fuzz bike. Dema ku fuzzer ji bo ceribandina bernameyekê bêyî têgihîştina avahiya wê ya hundurîn têne bikar anîn, jê re ceribandina qutiya reş tê gotin. 

Daneyên Fuzzê yên ku di dema ceribandina qutiya reş de têne hilberandin bi gelemperî bêserûber in heya ku fuzzer fuzzerek mutasyon-based evolutionerî nebe, li wir ew bi şopandina bandora fuzzasyona xwe û karanîna wê 'fêr dibe'. agahî da ku daneyên xweya fuzz safî bike.

Ji hêla din ve ceribandina qutiya spî modelek avahiya hundurê bernameyê bikar tîne da ku daneyên fuzz çêbike. Ev nêzîkatî dihêle fuzzerek di bernameyekê de bigihîje cihên krîtîk û wê biceribîne. 

Amûrên Fuzzing Popular

Gelek gêjbûn hene Amûrên li wir ji hêla ceribandinên pênûsê ve têne bikar anîn. Hin ji yên herî populer ev in:

Sînorên Fuzzing

Digel ku Fuzzing teknîkek ceribandina pênûsê bi rastî bikêr e, ew ne bê xeletiyên wê ye. Hin ji van ev in:

  • Ji bo rêvekirinê demek pir dirêj digire.
  • Qezandin û tevgerên din ên nediyar ên ku di dema ceribandina qutiya reş a bernameyekê de têne dîtin, dibe ku dijwar be, heke ne ne gengaz be ku were analîz kirin an xelet kirin.
  • Afirandina şablonên mutasyonê ji bo fuzzerên bingehîn ên mutasyon-aqilmend dikare dem-dixwez be. Carinan, dibe ku ew ne gengaz be ji ber ku modela têketinê xwedan an nenas e.

 

Digel vê yekê, ew ji bo her kesê ku dixwaze li ber mirovên xirab keşif bike amûrek pir bikêr û pêdivî ye.

Xelasî

Fuzzing teknîkek ceribandina pênûsê ya hêzdar e ku dikare were bikar anîn da ku qelsiyên di nermalavê de kifş bike. Gelek celebên fuzzeran hene, û fuzzerên nû her dem têne pêşve xistin. Dema ku fuzzing amûrek bêkêmasî bikêr e, ew sînorên wê hene. Mînakî, fuzzer tenê dikarin ewqas qelsiyan bibînin û ew dikarin çavkaniyek pir zexm bin. Lêbelê, heke hûn dixwazin vê teknîka ecêb ji bo xwe biceribînin, me a belaş DNS Fuzzer API ku hûn dikarin li ser platforma me bikar bînin. 

Ji ber ku hûn li benda bisekinin? 

Îro dest bi fuzeyan bikin!