Snapchange, AWS atvērtā koda izplūdes rīks

 

Amazon Web Services izlaida jaunu atvērtā pirmkoda KVM nodrošināto izplūdes rīku

Tika izlaista ziņa, kaUzņēmums Amazon ir izlaidis jaunu izplūdes rīku ar nosaukumu Snapchange, kas ļauj pārbaudīt izpildāmos failus, tos nemodificējot un bez lietojumprogrammas pirmkoda klātbūtnes. Šis solis ir daļēji paredzēts, lai novērstu bažas par programmatūras piegādes ķēdes drošību.

Amazon ierakstā minēts, ka Snapchange sākās kā eksperiments no AWS Find and Fix (F2) atvērtā pirmkoda drošības pētniecības grupas, lai izpētītu KVM izmantošanas iespējas momentuzņēmumu izplūdes nodrošināšanai.

Šodien mēs ar prieku paziņojam par Snapchange — jaunu atvērtā pirmkoda projektu, kas atvieglo momentuzņēmumu izplūšanu. Snapchange ļauj izplūdināt mērķa bināro failu ar minimālām modifikācijām, sniedzot noderīgu ieskatu, kas palīdz izplūdināt.

Snapchange ir Rust ietvars, lai izveidotu fuzerus, kas atskaņo fiziskās atmiņas momentuzņēmumus, lai palielinātu efektivitāti un samazinātu daudzu veidu mērķu izplūdes sarežģītību. Snapchange izmanto Linux kodola iebūvētās virtuālās mašīnas pārvaldnieka funkcijas, kas pazīstamas kā Kernel Virtual Machine jeb KVM. 

Par Snapchange

Tiek minēts, ka, Snapchange ļauj ielādēt fiziskas atmiņas izgāztuves ar atvasinātu izpildāmo kodu un organizēt, izmantojot KVM hipervizoru, koda ciklisku izpildi atrodas izgāztuvē, atkārtošana dažādās ievaddatu kombinācijās, izsekojot jaunās kļūmes vai anomālijas un restartējot pārbaudi pēc nākamās iterācijas, katru reizi, kad atmiņas segments un CPU reģistri tiek atjaunoti sākotnējā stāvoklī.

Iterācija tiek atiestatīta un restartēta pēc neparastām beigām, gaidīšanas laiks vai noteikta notikuma iestāšanās. Ievaddati tiek aizvietoti tieši atmiņā un, lai taupītu resursus inicializācijas laikā līdz atmiņas sākuma stāvoklim, pēc nākamās iterācijas veikšanas tiek noteikts, kādi dati ir atmiņā un ir mainījušies.

Sākotnējā atmiņas izgāztuve tiek izveidota, saglabājot virtuālās mašīnas momentuzņēmumu kurā tiek izpildīta vide ar testējamo aplikāciju, kas darbojas zem VirtualBox vai QEMU Ievaddatu aizstāšanas loģika tiek noteikta, veidojot īpašus skriptus, un cikliskās izpildes sākuma pozīcija tiek iestatīta, iestatot no pārtraukuma punkta atkļūdotājā.

Piemēram, ja nepieciešams pārbaudīt tīkla pieprasījuma apstrādi vairākos stāvokļos, pētnieks palaiž lietojumprogrammu viesu sistēmā VirtualBox vai QEMU, atkļūdotājs atrod pieprasījuma apstrādes procedūras izpildes sākumu (piemēram, , pēc recv funkcijas izsaukšanas), uzliek tai pārtraukuma punktu un nosaka atmiņas apgabalu, kurā tiek ielādēta saņemtā tīkla pakete. Pēc tam tiek izveidots viesu sistēmas momentuzņēmums un augšupielādēts Snapchange.

Pārbaudei tiek uzrakstīts skripts, kas uzskaitīšanas laikā ieraksta datus tieši buferī. no tīkla paketes, kas ļauj simulēt reālu tīkla pakešu apstrādi. Snapchange atsāk no vietas, kur tas tika pārtraukts, katru reizi mainot datu saturu buferī un atiestatot atmiņas stāvokli sākotnējā stāvoklī.

Ievaddatu ģenerēšanai tiek atbalstītas dažādas stratēģijas. Ar paralēlu izpildi var uzskaitīt vairākas vides, kas saistītas ar dažādiem CPU kodoliem. Papildus kļūmju noteikšanai koda izpildes laikā, tā atbalsta arī veiktspējas rādītāju apkopošanu, pārklājuma statistikas uzkrāšanu, lai novērtētu izpildāmā koda pārklājumu, un izpildāmā koda pakāpenisku izsekošanu.

Par interesē projekts, jums jāzina, ka projekta kods ir rakstīts Rust valodā un tiek izplatīts saskaņā ar Apache 2.0 licenci, izmantojot GitHub.

Snapchange darbojas operētājsistēmā Linux, taču tai ir nepieciešama tieša piekļuve pamatā esošajiem KVM primitīviem. Tāpēc tas atbalsta EC2 tukša metāla gadījumu tipus, kas darbojas bez hipervizora, bet ne EC2 virtualizētos gadījumus.

Visbeidzot, ja vēlaties uzzināt vairāk par to, varat skatīt sākotnējo paziņojumu Šajā saitē.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.