Ki sa ki Fuzzing?

Ki sa ki fuzzing

Intro: Ki sa ki Fuzzing?

Nan 2014, entru Chinwa pirate nan Sistèm Sante Kominotè, yon chèn lopital US pou pwofi, epi li vòlè done 4.5 milyon pasyan yo. Entru yo eksplwate yon ensèk ki rele Heartbleed ki te dekouvri nan bibliyotèk kriptografik OpenSSL la kèk mwa anvan Hack a.

Heartbleed se yon egzanp yon klas vektè atak ki pèmèt atakè yo jwenn aksè nan yon sib lè yo voye demann malfòme ki valab ase pou pase chèk preliminè. Pandan ke pwofesyonèl ki travay sou diferan pati nan yon aplikasyon fè pi byen yo asire sekirite li yo, li enposib panse a tout ka kwen ki ta ka kraze yon aplikasyon oswa fè li vilnerab pandan devlopman.

Sa a se kote 'fuzzing' vini nan.

Ki sa ki se yon atak Fuzzing?

Fuzzing, tès fuzz, oswa yon atak fuzzing, se yon teknik tès lojisyèl otomatik ki itilize pou bay done owaza, inatandi oswa envalid (ki rele fuzz) nan yon pwogram. Yo kontwole pwogram nan pou konpòtman etranj oswa inatandi tankou debòde tanpon, aksidan, flit memwa, fil pann, ak vyolasyon aksè lekti/ekri. Lè sa a, se zouti nan fuzzing oswa fuzzer itilize dekouvwi kòz la nan konpòtman an etranj.

Fuzzing baze sou sipozisyon ke tout sistèm yo genyen pinèz k ap tann pou yo dekouvri, epi yo ka bay ase tan ak resous pou fè sa. Pifò sistèm yo gen parseur trè bon oswa prevansyon validation opinyon sibèrkriminèl yo soti nan eksplwate nenpòt ensèk ipotetik nan yon pwogram. Sepandan, jan nou mansyone pi wo a, kouvri tout ka kwen pandan devlopman se difisil.

Fuzzers yo itilize sou pwogram ki pran nan opinyon estriktire oswa ki gen yon kalite fwontyè konfyans. Pa egzanp, yon pwogram ki aksepte fichye PDF ta gen kèk validation pou asire ke fichye a gen yon ekstansyon .pdf ak analizeur pou trete fichye PDF la.

Yon fuzzer efikas ka jenere entrées ki valab ase pou pase fwontyè sa yo men ase envalid pou lakòz konpòtman inatandi pi lwen nan pwogram nan. Sa a enpòtan paske jis ke yo te kapab pase validation yo pa vle di anpil si pa gen okenn mal ankò ki te koze.

Fuzzers dekouvri vektè atak ki sanble anpil ak tankou piki SQL, scripting kwa-site, debòde tanpon, ak atak refi sèvis. Tout atak sa yo se yon rezilta nan manje done inatandi, envalid, oswa o aza nan yon sistèm. 

 

Kalite Fuzzers

Fuzzers yo ka klase dapre kèk karakteristik:

  1. Atak objektif
  2. Metòd kreyasyon fuzz
  3. Konsyantizasyon estrikti opinyon
  4. Konsyantizasyon sou estrikti pwogram lan

1. Atak objektif yo

Klasifikasyon sa a baze sou ki kalite platfòm fuzzer la ap itilize pou teste. Fuzzers yo souvan itilize ak pwotokòl rezo ak aplikasyon lojisyèl. Chak platfòm gen yon kalite patikilye nan opinyon li resevwa, epi konsa mande pou diferan kalite fuzzers.

Pou egzanp, lè w ap fè fas ak aplikasyon yo, tout tantativ fuzzing fèt nan divès chanèl antre aplikasyon an, tankou koòdone itilizatè a, tèminal liy kòmand, fòm / antre tèks, ak uploads dosye. Se konsa, tout antre ki te pwodwi pa fuzzer a gen matche ak chanèl sa yo.

Fuzzers ki gen rapò ak pwotokòl kominikasyon yo dwe fè fas ak pake. Fuzzers ki vize platfòm sa a ka jenere pake fòje, oswa menm aji kòm proxy pou modifye pake entèsepte epi rejoue yo.

2. Metòd kreyasyon fuzz

Fuzzers kapab tou klase selon jan yo kreye done pou fuzz ak. Istorikman, fuzzers te kreye fuzz pa jenere done o aza nan grafouyen. Men ki jan Pwofesè Barton Miller, inisyatè teknik sa a, te fè li okòmansman. Kalite fuzzer sa a rele yon fuzzer ki baze sou jenerasyon.

Sepandan, pandan ke yon moun te kapab teyorikman jenere done ki pral kontoune yon fwontyè konfyans, li ta pran tan konsiderab ak resous yo fè sa. Se poutèt sa metòd sa a anjeneral yo itilize pou sistèm ki gen estrikti opinyon senp.

Yon solisyon a pwoblèm sa a se mutation done yo konnen ki valab pou jenere done ki valab ase pou pase yon fwontyè konfyans, men ase envalid pou lakòz pwoblèm. Yon bon egzanp sa a se yon DNS fuzzer ki pran yon non domèn ak Lè sa a, jenere yon lis gwo nan non domèn yo detekte domèn potansyèlman move vize mèt kay la nan domèn nan espesifye.

Apwòch sa a pi entelijan pase yon sèl anvan an epi siyifikativman réduit pèmitasyon posib yo. Fuzzers ki itilize metòd sa a yo rele fuzzers ki baze sou mitasyon

Gen yon twazyèm metòd ki pi resan ki sèvi ak algoritm jenetik pou konvèje sou done fuzz optimal ki nesesè pou elimine frajilite yo. Li travay pa kontinye rafine done fuzz li yo, pran an konsiderasyon pèfòmans nan chak done tès lè yo manje nan yon pwogram. 

Yo retire seri done ki pi mal yo nan pisin done yo, pandan y ap pi bon yo mitasyon ak/oswa konbine. Lè sa a, nouvo jenerasyon done yo itilize pou tès fuzz ankò. Fuzzers sa yo refere yo kòm fuzzers evolisyonè ki baze sou mitasyon.

3. Konsyantizasyon Estrikti Antre

Klasifikasyon sa a baze sou si wi ou non yon fuzzer okouran ak aktivman itilize estrikti nan opinyon nan yon pwogram nan jenere done fuzz. A bèbè fuzzer (yon fuzzer ki pa okouran de estrikti antre yon pwogram) jenere fuzz nan yon mòd sitou o aza. Sa a ta ka gen ladan tou de jenerasyon ak mitasyon ki baze sou fuzzers. 


Si yo ta dwe bay yon fuzzer ak modèl opinyon nan yon pwogram, fuzzer la ka eseye jenere oswa mitasyon done konsa ke li matche ak modèl opinyon yo bay la. Apwòch sa a diminye plis kantite resous ki depanse pou kreye done ki pa valab. Yo rele yon fuzzer konsa yon fuzzer entelijan.

4. Konsyantizasyon Estrikti Pwogram

Fuzzers yo kapab tou klase selon si wi ou non yo okouran de fonksyonman entèn pwogram yo ap fuzzing la, epi sèvi ak konsyans sa a pou ede jenerasyon done fuzz. Lè yo itilize fuzzers pou teste yon pwogram san yo pa konprann estrikti entèn li, yo rele sa tès nwa-bwat. 

Done fuzz ki te pwodwi pandan tès bwat nwa yo anjeneral o aza sof si fuzzer la se yon fuzzer evolisyonè ki baze sou mitasyon, kote li 'aprann' lè li kontwole efè fuzzing li yo epi sèvi ak sa. enfòmasyon rafine seri done fuzz li yo.

Tès White-box sou lòt men an sèvi ak yon modèl nan estrikti entèn pwogram nan jenere done fuzz. Apwòch sa a pèmèt yon fuzzer rive nan pozisyon kritik nan yon pwogram epi teste li. 

Zouti Fuzzing popilè

Genyen anpil fuzzing zouti deyò itilize pa teste plim. Kèk nan sa ki pi popilè yo se:

Limit nan Fuzzing

Pandan ke Fuzzing se yon teknik plim-tès vrèman itil, li pa san defo li yo. Kèk nan sa yo se:

  • Li pran yon bon bout tan pou kouri.
  • Aksidan ak lòt konpòtman inatandi yo te jwenn pandan tès bwat nwa nan yon pwogram ka difisil, si se pa enposib pou analize oswa debogaj.
  • Kreye modèl mitasyon pou fuzzers entelijan ki baze sou mitasyon ka pran tan. Pafwa, li ka pa menm posib akòz modèl D 'yo propriétaires oswa enkoni.

 

Men, li se yon zouti trè itil ak nesesè pou nenpòt moun ki vle dekouvri pinèz anvan move mesye yo.

konklizyon

Fuzzing se yon teknik tès plim pwisan ki ka itilize pou dekouvri frajilite nan lojisyèl. Gen anpil diferan kalite fuzzers, ak nouvo fuzzers yo ap devlope tout tan tout tan an. Pandan ke fuzzing se yon zouti ekstrèmman itil, li gen limit li yo. Pou egzanp, fuzzers ka sèlman jwenn anpil frajilite epi yo ka byen entansif resous. Sepandan, si ou vle eseye teknik etonan sa a pou tèt ou, nou gen yon gratis DNS Fuzzer API ke ou ka itilize sou platfòm nou an. 

Se konsa, sa ou ap tann? 

Kòmanse fuzzing jodi a!

Google ak mit enkoyito a

Google ak mit enkoyito a

Google ak Lejann Enkoyito a Nan dat 1ye avril 2024, Google te dakò pou rezoud yon pwosè lè li detwi plizyè milya dosye done yo kolekte nan mòd Enkoyito.

Li piplis "