Unsa ang Fuzzing?

Unsa ang naglibog

Intro: Unsa ang Fuzzing?

Niadtong 2014, ang mga hacker sa China gi-hack sa Community Health Systems, usa ka for-profit nga kadena sa ospital sa US, ug gikawat ang 4.5 milyon nga datos sa mga pasyente. Gipahimuslan sa mga hacker ang usa ka bug nga gitawag Heartbleed nga nadiskobrehan sa OpenSSL cryptography library pipila ka bulan sa wala pa ang hack.

Ang Heartbleed usa ka pananglitan sa usa ka klase sa mga vector sa pag-atake nga nagtugot sa mga tig-atake nga maka-access sa usa ka target pinaagi sa pagpadala sa mga sayup nga hangyo nga balido nga igo aron makapasa sa mga pasiuna nga pagsusi. Samtang ang mga propesyonal nga nagtrabaho sa lainlaing mga bahin sa usa ka app naghimo sa ilang labing maayo aron masiguro ang seguridad niini, imposible nga mahunahuna ang tanan nga mga kaso sa suok nga mahimong makaguba sa usa ka app o maghimo niini nga huyang sa panahon sa pag-uswag.

Dinhi diin ang 'fuzzing' moabut.

Unsa ang Fuzzing Attack?

Ang fuzzing, fuzz testing, o fuzzing attack, usa ka automated software testing technique nga gigamit sa pagpakaon sa random, wala damha, o dili balido nga data (gitawag nga fuzz) ngadto sa usa ka programa. Ang programa gibantayan alang sa dili kasagaran o wala damha nga mga kinaiya sama sa buffer overflows, crashes, memory leakage, thread hangs, ug read/write access violations. Gigamit dayon ang fuzzing tool o fuzzer aron mahibal-an ang hinungdan sa dili kasagaran nga pamatasan.

Ang fuzzing gibase sa pangagpas nga ang tanang sistema adunay mga bug nga naghulat nga madiskubre, ug mahimong mahatagan ug igong panahon ug mga kahinguhaan sa pagbuhat niini. Kadaghanan sa mga sistema adunay maayo kaayo nga mga parser o pagpugong sa pag-validate sa input cybercriminals gikan sa pagpahimulos sa bisan unsang hypothetical nga mga bug sa usa ka programa. Bisan pa, sama sa among gihisgutan sa ibabaw, ang pagtabon sa tanan nga mga kaso sa suok sa panahon sa pag-uswag lisud.

Ang mga fuzzer gigamit sa mga programa nga nagkuha sa structured input o adunay usa ka matang sa pagsalig nga utlanan. Pananglitan, ang usa ka programa nga modawat sa mga PDF file adunay pipila ka validation aron masiguro nga ang file adunay .pdf extension ug parser aron maproseso ang PDF file.

Ang usa ka epektibo nga fuzzer makamugna og mga input nga balido nga igo aron makalapas niini nga mga utlanan apan dili balido nga igo nga hinungdan sa wala damha nga kinaiya sa ubos sa programa. Importante kini tungod kay ang makalusot lang sa mga validation dili kaayo magpasabot kung wala nay dugang kadaot nga mahitabo.

Nadiskobrehan sa mga fuzzer ang mga vector sa pag-atake nga susama kaayo ug lakip ang mga sama sa SQL injection, cross-site scripting, buffer overflow, ug denial-of-service nga mga pag-atake. Kining tanan nga mga pag-atake resulta sa pagpakaon sa wala damha, dili balido, o random nga datos ngadto sa usa ka sistema. 

 

Mga matang sa Fuzzers

Ang mga fuzzer mahimong maklasipikar base sa pipila ka mga kinaiya:

  1. Mga target sa pag-atake
  2. Pamaagi sa paghimo og fuzz
  3. Kahibalo sa istruktura sa input
  4. Kahibalo sa istruktura sa programa

1. Mga Target sa Pag-atake

Kini nga klasipikasyon gibase sa matang sa plataporma nga gigamit sa fuzzer sa pagsulay. Ang mga fuzzer kasagarang gigamit sa mga protocol sa network ug mga aplikasyon sa software. Ang matag plataporma adunay usa ka partikular nga tipo sa input nga madawat niini, ug sa ingon nanginahanglan lainlaing lahi sa mga fuzzer.

Pananglitan, kung mag-atubang sa mga aplikasyon, ang tanan nga dili maayo nga pagsulay mahitabo sa lainlaing mga channel sa pag-input sa aplikasyon, sama sa interface sa gumagamit, terminal sa command-line, mga porma/text input, ug pag-upload sa file. Mao nga ang tanan nga mga input nga gihimo sa fuzzer kinahanglan nga motakdo niini nga mga kanal.

Ang mga fuzzer nga nag-atubang sa mga protocol sa komunikasyon kinahanglan nga mag-atubang sa mga pakete. Ang mga fuzzer nga nag-target niini nga plataporma makamugna og mga peke nga pakete, o gani molihok isip mga proxy aron usbon ang mga natanggong nga mga pakete ug i-replay kini.

2. Pamaagi sa Paglalang sa Fuzz

Ang mga fuzzer mahimo usab nga maklasipikar base sa kung giunsa nila paghimo ang mga datos nga gamiton. Sa kasaysayan, ang mga fuzzer nakamugna og fuzz pinaagi sa pagmugna og random data gikan sa scratch. Mao kini ang gibuhat ni Propesor Barton Miller, ang nagpasiugda niini nga teknik, sa sinugdan. Kini nga matang sa fuzzer gitawag nga a fuzzer nga nakabase sa henerasyon.

Bisan pa, samtang ang usa sa teorya mahimo’g makamugna mga datos nga makalikay sa usa ka utlanan sa pagsalig, magkinahanglan kini daghang oras ug kahinguhaan aron mahimo kini. Busa kini nga pamaagi kasagarang gigamit alang sa mga sistema nga adunay yano nga mga istruktura sa pag-input.

Ang solusyon sa kini nga problema mao ang pag-mutate sa datos nga nahibal-an nga balido aron makamugna ang datos nga balido nga igo aron makaagi sa usa ka utlanan sa pagsalig, apan dili balido nga igo nga hinungdan sa mga problema. Usa ka maayong pananglitan niini mao ang a DNS fuzzer nga nagkuha sa usa ka domain name ug unya nagmugna og usa ka dako nga listahan sa mga domain name aron sa pag-ila sa posibleng makadaot nga mga dominyo nga nagpunting sa tag-iya sa gipiho nga domain.

Kini nga pamaagi mas maalamon kaysa sa nauna ug hinungdanon nga makitid ang posible nga mga permutasyon. Ang mga fuzzer nga naggamit niini nga pamaagi gitawag mutation-based fuzzers

Adunay usa ka ikatulo nga bag-o nga pamaagi nga naggamit sa genetic algorithm aron maghiusa sa labing maayo nga datos sa fuzz nga gikinahanglan aron matangtang ang mga kahuyangan. Naglihok kini pinaagi sa padayon nga pagpino sa datos sa fuzz niini, nga gikonsiderar ang paghimo sa matag datos sa pagsulay kung gipakaon sa usa ka programa. 

Ang pinakagrabe nga performance sets sa data gikuha gikan sa data pool, samtang ang labing maayo kay mutated ug/o combine. Ang bag-ong henerasyon sa datos gigamit dayon sa pag-fuzz test pag-usab. Kini nga mga fuzzer gitawag nga ebolusyonaryong mutation-based fuzzers.

3. Kahibalo Sa Input Structure

Kini nga klasipikasyon gibase kung ang usa ka fuzzer nahibalo ug aktibong naggamit sa input structure sa usa ka programa sa pagmugna og fuzz data. A buang nga fuzzer (usa ka fuzzer nga wala nahibal-an ang istruktura sa pag-input sa usa ka programa) nagpatunghag fuzz sa kasagaran nga random nga paagi. Mahimong maglakip kini sa generation ug mutation-based fuzzers. 


Kung ang usa ka fuzzer mahatagan sa input model sa usa ka programa, ang fuzzer mahimo unya nga mosulay sa pagmugna o pagbag-o sa datos aron kini mohaum sa gihatag nga modelo sa input. Kini nga pamaagi labi nga nagpamenos sa gidaghanon sa mga kapanguhaan nga gigasto sa paghimo og dili balido nga datos. Ang ingon nga fuzzer gitawag nga a maalamon nga fuzzer.

4. Kahibalo Sa Istruktura sa Programa

Ang mga fuzzer mahimo usab nga maklasipikar base sa kung nahibal-an ba nila ang mga internal nga pagtrabaho sa programa nga ilang gikulbaan, ug gigamit kana nga kahibalo aron matabangan ang paghimo sa datos sa fuzz. Kung ang mga fuzzer gigamit sa pagsulay sa usa ka programa nga wala makasabut sa internal nga istruktura, gitawag kini nga pagsulay sa black-box. 

Ang datos sa fuzz nga namugna atol sa pagsulay sa black-box kasagarang random gawas kon ang fuzzer usa ka evolutionary mutation-based fuzzer, diin kini 'nakakat-on' pinaagi sa pagmonitor sa epekto sa iyang fuzzing ug paggamit niana impormasyon aron mapino ang fuzz data set niini.

Ang white-box testing sa laing bahin naggamit ug modelo sa internal structure sa programa aron makamugna og fuzz data. Kini nga pamaagi nagtugot sa usa ka fuzzer nga makaadto sa mga kritikal nga lokasyon sa usa ka programa ug sulayan kini. 

Popular nga Fuzzing Tools

Adunay daghan nga naglibog mga himan didto gigamit sa pen tester. Ang pipila sa mga labing popular mao ang:

Mga Limitasyon sa Pag-fuzzing

Samtang ang Fuzzing usa ka mapuslanon nga teknik sa pagsulay sa pen, kini dili kung wala ang mga sayup niini. Pipila niini mao ang:

  • Nagkinahanglan kini og taas nga panahon sa pagdagan.
  • Ang mga pag-crash ug uban pang wala damha nga mga kinaiya nga nakit-an sa panahon sa pagsulay sa black-box sa usa ka programa mahimong lisud, kung dili imposible nga analisahon o i-debug.
  • Ang paghimo og mutation templates alang sa smart mutation-based fuzzers mahimong makagugol sa panahon. Usahay, dili gani kini mahimo tungod sa modelo sa input nga proprietary o wala mailhi.

 

Bisan pa, kini usa ka mapuslanon ug kinahanglan nga himan alang sa bisan kinsa nga gusto nga makit-an ang mga bug sa wala pa ang dili maayo nga mga tawo.

Panapos

Ang Fuzzing usa ka kusgan nga teknik sa pagsulay sa pen nga magamit aron mahibal-an ang mga kahuyangan sa software. Adunay daghang lain-laing mga matang sa mga fuzzer, ug ang mga bag-ong fuzzer gihimo sa tanang panahon. Samtang ang fuzzing usa ka labi ka mapuslanon nga himan, kini adunay mga limitasyon. Pananglitan, ang mga fuzzer makit-an ra ang daghang mga kahuyangan ug mahimo silang labi ka kusog sa kapanguhaan. Bisan pa, kung gusto nimo sulayan kining talagsaon nga teknik alang sa imong kaugalingon, kami adunay usa ka libre nga DNS Fuzzer API nga imong magamit sa among plataporma. 

Busa unsay imong gipaabut? 

Sugdi ang kalibog karon!

Google ug Ang Incognito Myth

Google ug Ang Incognito Myth

Google ug The Incognito Myth Niadtong Abril 1 2024, miuyon ang Google nga husayon ​​ang usa ka kiha pinaagi sa pagguba sa binilyon nga mga rekord sa datos nga nakolekta gikan sa Incognito mode.

Basaha ang Dugang »