Att kombinera en hårdvarufunktion processorer från halvledarföretaget Intel med en mjukvarumetod, forskare vid Max Planck Institute for Software Systems i Kaiserslautern och Saarbrücken har kommit fram till en ny teknik som kallas ERIM för att isolera mjukvarukomponenter från varandra. På det här sättet, till exempel, kreditkortsuppgifter eller lösenord kan skyddas från hackare när de behandlas av onlinetjänster. Kredit:123RF
Skydda lösenord, kreditkortsnummer eller kryptografiska nycklar i datorprogram kommer att kräva mindre beräkningsarbete i framtiden. Forskare vid Max Planck Institute for Software Systems i Kaiserslautern och Saarbrücken har kommit med en ny teknik som kallas ERIM för att isolera mjukvarukomponenter från varandra. Detta gör att känsliga uppgifter kan skyddas från hackare när uppgifterna bearbetas av onlinetjänster, till exempel. Den nya metoden har tre till fem gånger mindre beräkningsoverhead än den tidigare bästa isoleringstekniken, gör det mer praktiskt för onlinetjänster att använda tekniken. Detta var skäl nog för USENIX, en amerikansk-amerikansk datorsystemförening, och Facebook för att dela ut sitt Internet Defense Prize 2019 till forskarna.
Datorprogram är som en fästning. Precis som en fästning skyddas av tjocka murar, vallgravar och järnportar, brandväggar och andra säkerhetstekniker förhindrar cyberbrottslingar från att uppsåtligt utnyttja programvaruappar. Och precis som en dåligt bevakad port eller en förmodat hemlig utrymningstunnel kan tillåta belägrare att inta ett slott, allt hackare behöver är en liten säkerhetslucka för att få tillgång till alla komponenter i en programvara. I värsta fall, de kan sedan lägga vantarna på data som ger dem tillgång till användarkonton eller till och med låta dem göra kreditkortsbetalningar. Till exempel, Heartbleed-felet i den mycket använda OpenSSL-krypteringsmjukvaran gjorde användarnamn och lösenord för olika onlinetjänster och program sårbara för hackare.
Programvarukomponenter bör isoleras som fästningar
För att förhindra sådana dödliga attacker, mjukvaruutvecklare kan gå tillväga på liknande sätt som mästarbyggarna av skickligt utformade fästningar. De kan isolera olika programvarukomponenter från varandra, precis som flera murar hindrar direkt tillgång till hjärtat av en fästning för alla angripare som lyckas övervinna de yttre vallarna.
Men uppenbarligen, ju bättre skydd, ju mer arbete detta innebär:slott behöver mer byggmaterial och vakter, och för en programvara innebär detta mer datortid. Faktiskt, nuvarande isoleringstekniker för datorprogram kräver upp till 30 procent mer CPU-kraft, och ett motsvarande större antal servrar måste köras av onlinetjänster, vilket också ökar infrastrukturkostnaderna proportionellt. "Ett antal tjänster anser inte att denna ökade kostnad är motiverad och använder därför inga isoleringstekniker, " säger Deepak Garg, en ledande forskare vid Max Planck Institute for Software Systems. "Vår isoleringsteknik använder bara fem procent mer datortid, vilket gör det mycket attraktivt för företag." Så det kommer inte som någon överraskning att forskarna har tilldelats de 100, 000 amerikanska dollar 2019 Internet Defense Prize, med vilken USENIX och Facebook hedrar enastående utveckling inom området Internetsäkerhet.
Minnet kan delas upp med relativt liten ansträngning
Ett team som leds av Deepak Garg och Peter Druschel, Direktör vid Max Planck Institute for Software Systems, genialiskt kombinerat en hårdvarufunktion som nyligen introducerats i processorer som tillverkats av halvledarföretaget Intel med en mjukvaruteknik för att bygga denna isoleringsteknik.-. Den nya hårdvarufunktionen kallas minnesskyddsnycklar, eller MPK för kort, bland experter.
Dock, MPK ensam kan inte på ett tillförlitligt sätt isolera komponenter eftersom det fortfarande är öppet för attacker från fyndiga hackare. Max Planck-forskarna använder denna metod tillsammans med en annan teknik som kallas instruktionsomskrivning. "En programvaras kod kan skrivas om på ett sådant sätt att en angripare inte längre kan ta sig runt "väggarna" mellan programkomponenter, " säger Peter Druschel. "Men, detta ändrar inte kodens faktiska syfte." Dessa två metoder kan användas tillsammans för att dela upp minnet i en programvaruapp med relativt lite beräkningsarbete och sedan isolera dessa delar från varandra. Andra isoleringstekniker får åtkomst till operativsystemets kärna för detta ändamål , vilket innebär en större beräkningsansträngning. "Mjukvaruutvecklare är i en permanent kapplöpning mot tids- och cyberbrottslingar, " säger Peter Druschel. "Men dataskydd måste fortfarande vara praktiskt. Detta kräver ibland systematiska men okonventionella tillvägagångssätt, som den vi jagade med ERIM."