Proaktivna Obfuscation

Pregled

Neodvisnost napak kopij je ključna pri uporabi replikacije v zanesljivih distribuiranih storitvah. Toda replike, ki uporabljajo isto kodo, imajo enake ranljivosti. Torej, replike ne zmorejo neodvisno, ko so pod napadom. Proaktivno obfuscation je nova metoda za obnavljanje določenega merila te neodvisnosti, pri čemer se vsaka replika občasno ponovno zažene s sveže ustvarjenim raznolikim izvršljivim.

Za obfuscation so bile predlagane različne tehnike, ki samodejno ustvarjajo različne izvedljive datoteke med zbiranjem, natovarjanjem ali v času delovanja. Te vključujejo preurejanje naslovov in skladiščenje nabora, preureditev sistemskih klicev, naključno izbiranje instrukcij in naključno razmnoževanje. Vsi proizvajajo neizprosne izvedljive izdelke, za katere se verjame, da bodo bolj verjetno, da bodo padle v odziv na določene razrede napadov in ne bodo pod nadzorom nasprotnika. Naprimer, preusmeritev preusmeritve medpomnilnika je običajno odvisna od podrobnosti o postavitvi stika, zato bodo verjetno, da se bodo kopije, ki uporabljajo različno izvedene izvršilne datoteke na podlagi preureditve naslovov ali obloge naslovov, umaknile, namesto da bi podlegle kontroli napadalca.

Model Obfuscation

Namesto da bi bili odvisni od lastnosti posameznih tehnik obfuscation, povzemamo dve lastnosti, ki jih od njih zahtevamo.

  • Nefunkcionalnost obfuscation.

Pri t> 1 je količina dela za nasprotnika, ki ogroža tanke replike, Ω (t) večja od dela, potrebnega za ogrožanje ene replike.

  • Omejen nasprotnik.

Čas, ki je potreben, da sovražnik kompromitira t + 1 replike, je večji od časa, potrebnega za ponovitev, ponovnega zagona in obnovitve n replik.

Nefunkcionalnost obfuscij pomeni, da različni izvedeni izvršilni elementi kažejo določeno mero neodvisnosti. Predpostavka sedanjih načinov zajemanja je, da približujejo neodvisnost obfuscacij. Vendar pa ima lahko dovolj časa, da bi nasprotnik še vedno lahko ogrozil t + 1 replike. Nefunkcijska osamosvojitev in omejeni nasprotnik skupaj pomenita, da je kljub temu, da redno ponovnega uvajanja in ponovnega zagona replik kljub vsemu nasprotnikom ohrani nadzor nad več kot t kompromitiranimi replikami. Zlasti do trenutka, ko bi nasprotnik lahko ogrozil t + 1 neurejene replike, so bili vsi n reobfuscated in ponovno zagnani (z napadalcem izseljen), tako da ne morejo več ogroziti replik.

Mehanizmi

Proaktivna obfuscacija je odvisna od treh mehanizmov, ki so prikazani v naslednji predstavitvi ponovljene storitve z n replikami.

  • Sinteza odgovora.

Stranke pošiljajo vnose v replike — vsaka replika izvaja isti vmesnik kot centralizirana storitev in pošlje izpis strankam. Če želite pretvoriti izhod iz več replik v izhod iz replicirane storitve, replike uporabljajo funkcijo sinteze izhodov fd, kjer d določa najmanjše število različnih replik, iz katerih je potreben odgovor. Sinteza odgovora je mehanizem, ki izvede funkcijo sinteze izhodov za stranke.

 

  • Državno okrevanje.

Replike ohranjajo stanje, ki se lahko spremeni, ko obdelujejo vnose od strank — po ponovnem zagonu mehanizem za obnovitev države zagotavlja način, kako replike lahko obnovijo stanje, tako da lahko še naprej sodelujejo pri ponovljeni storitvi. Če želite pretvoriti stanje, prejeto iz več replik v eno samo stanje, ponovljene replike uporabljajo funkcijo sinteze stanja gr, kjer r določa najmanjše število različnih replik, iz katerih je potreben odgovor.

 

  • Osveži.

Mehanizem osveževanja ponuja sveže izpraznjene izvedljive datoteke v replike, občasno znova zažene gostitelje in obvešča o replikah sprememb epohe

 

Izvajanje

Te mehanizme smo uporabili za izvajanje prototipov dveh storitev: distribuiranega požarnega zidu (na osnovi pf v OpenBSD) z uporabo replikacije državnih strojev in porazdeljene storitve za posodobitev poizvedb z uporabo kvorumskih sistemov. Oba prototipa izvajajo mehanizme v uporabniškem prostoru z uporabo pseudo-naprave za obdelavo paketov, ki jih prejme jedro. Obe izvedeni v C s pomočjo OpenSSL. V članku so podane podrobnosti o vrednotenju teh prototipov.

Koristna spletna stran: https://www.cs.cornell.edu/fbs/proactiveObuscation/proactive_obfuscation.html

 

Leave a Reply

Your email address will not be published. Required fields are marked *