Buggar i våra programvarusystem är så gott som ofrånkomliga. Men med rätt teknologi kan man förhindra att sårbarheter i systemen utnyttjas av hackare. På KTH undersöker en grupp forskare hur ny teknik kan minska faran med säkerhetsbrister och skapa ett starkare skydd mot attacker.
Dagens datorer och mobiltelefoner är resultatet av årtionden av teknikutveckling runt om i världen, av tiotusentals programvaru- och hårdvaruutvecklare. Lägg därtill att miljarder människor använder dem dagligen för krävande uppgifter som höghastighetskommunikation. Systemens enorma komplexitet, med miljontals rader källkod, gör det i princip oundvikligt att de innehåller sårbarheter och buggar.
Minskar risk
I projektet Tillförlitliga Fullstackprogramsystem (TrustFull) vid KTH är målet att minska risken för att sårbarheter och buggar i programvara och hårdvara utnyttjas av fientliga hackare. Genom en kombination av tekniker, som tar hänsyn till hela systemet, skapas obruten säkerhet genom hela programvarustacken.
– Attacker mot systemen kan handla om pengar, makt eller helt enkelt att sabotera och skapa oreda. Det kan få väldigt svåra konsekvenser när attackerna riktas mot samhällskritiska verksamheter som banker, infrastruktur eller sjukvård, berättar Roberto Guanciale, lektor på avdelningen för teoretisk datalogi vid KTH.
Skapar rörliga mål
Forskargruppen arbetar i två spår. Det ena är att säkerställa att de allra mest kritiska delarna av programvarusystemen är skyddade och tillfälligt kan stängas av om en attack upptäcks. Det andra är diversifiering, där tanken är att skapa ett föränderligt system, med rörliga mål, som blir mycket svårare för hackare att attackera. Här utnyttjas den slumpmässighet som exempelvis en lavalampa uppvisar. Sådana slumpmässiga rörelser är nästan omöjliga att förutspå, vilket gör det väldigt svårt för hackare att hitta känslig data eller placera ut fientlig kod.
– En utmaning är att det finns en asymmetri mellan att förhindra attacker och att utnyttja sårbarheter. För en hackare räcker det att hitta en enda svag punkt, medan ett skydd måste täcka hela systemet, förklarar Benoit Baudry, professor i programvaruteknik vid KTH.
Nu arbetar forskarna med att integrera de båda spåren. En säker programvarustack ska utvecklas som demonstrationsplattform och användas för att köra två konkreta demonstrationsapplikationer, en e-plånbok och en säker e-röstningsklient.
Målet med TrustFull-projektet är att utveckla teknik som kan garantera säkerheten i komplexa IT-miljöer, från hårdvara till programvara. TrustFull undersöker hur en kombination av tekniker kraftigt kan reducera säkerhetsbrister och stärka skyddskapaciteten hos olika digitala system och nätverk. Forskningen använder en blandning av reaktiva och proaktiva tekniker för att skydda och reparera komplexa programvarusystem.
Kontakt:
Mads Dam
E-post: mfd@kth.se