Angripare kan utnyttja sårbarheter programvara genom patchar antingen manuellt eller automatiskt identifiera sårbar kod. Men för vissa typer av patchar, effektiviteten av utnyttja verktyg kan minskas, vilket stänger en angripares fönster av möjligheter. E mycket andra tisdagen i månaden, Microsoft släpper sin "Patch tisdag" programuppdateringar. Dessa uppdateringar inkluderar säkerhetsplåster, varav de flesta dokumenteras för att informera systemadministratörer om vad som är sårbart. Microsoft brukar ord detta utan att ge konkreta tips om hur man utnyttjar de fasta sårbarheter, men dess beskrivningar inte alltid matchar de lappade sårbarheter, och vissa inte ens nämns. 1 Så när säkerhetsforskare eller angripare får sina händer på binära patchar, de börjar inspektera dem som förberedelse för "Exploit onsdag," fönstret av möjlighet för angripare att rikta osannolika användare som inte omedelbart tillämpa uppdateringen. I vissa fall kan angripare också rikta användare som applicerade plåstret omedelbart men lämnades sårbara eftersom en fix inte var komplett. 2 Med hjälp av så kallade diffing verktyg såsom Darungrim (www.darungrim.org) och BinDiff (www.zynamics.com/bindiff.html), angripare jämföra binära koden före och efter patchen för att identifiera de fasta kodfragment och tillämpade korrigeringar, bestämma de stängda sårbarheter, och slutligen utforma faktiska bedrifter för dessa sårbarheter. Medan Patch tisdag och Exploit onsdag är de mest kända fall av detta scenario, sker det varje gång mjukvaruleverantörer släpper binära säkerhetsuppdateringar. Angripare kan till exempel starta en liknande exploatering för att identifiera koden som implementerar ny funktionalitet i programuppdateringar som ett första steg mot omvänd konstruktion eller stöld av immateriella rättigheter. De kan också använda sådana attacker och diffing verktyg för att anpassa information från en programversion till en annan. När de identifierar motsvarande delar i efterföljande programversioner, kan angripare lättare återanvända sin befintliga back-engineering kunskap. David Brumley och hans kollegor visade att bedrifter ibland kan utformas utan någon mänsklig kodanalys eller förståelse: alla angreppsbehov är en korrekt identifiering av de nya instruktioner som plåstret infogas. 3 På den grunden, angripare tillämpa begränsningslösning tekniker på programingångar för att generera attacker automatiskt. Såvitt vi vet bygger varje publicerad patchad-baserad attack hittills på samma sätt på antagandet att experter angripare med hjälp av diffing verktyg lätt kan identifiera de relativt få relevanta skillnaderna mellan opatched och patched binärer. [4] [5] [6] I denna artikel visar vi att detta antagande ofta men inte alltid gäller för vanlig kod, det faller helt isär för diversifierad kod. Här är diversifiering den avsiktliga generationen av olika binärer från samma källkod. Vi utvärderar hur det komplicerar och försenar identifieringen av sårbara koder genom att göra difflingsverktygen mindre effektiva. En fördröjning förkortar angriparens fönster av möjligheter, vilket minskar den potentiella vinsten. Det motsvarar också en ökad insats för att kompensera för verktygens minskade effektivitet, och därmed en ökad investering från angriparens sida.
Diversifiering kan också förhindra samverkan attacker för att identifiera sårbarheter REF.
Protecting Your Software Updates
{'venue': 'IEEE Security & Privacy', 'journal': 'IEEE Security & Privacy', 'mag_field_of_study': ['Computer Science']}