Vis enkel innførsel

dc.contributor.authorEverett, Jon
dc.date.accessioned2011-05-05T08:27:05Z
dc.date.available2011-05-05T08:27:05Z
dc.date.issued2010
dc.identifier.urihttp://hdl.handle.net/11250/143962
dc.description.abstractENGELSK: A monolithic operating system (OS) - such as Windows or Linux - distinguish between executing in restricted user mode or privileged kernel mode. Third party device drivers and modules are executing in kernel mode alongside the code of the OS, thus has direct access to memory, hardware devices and execution state. Limitations in memory protection makes it possible to modify any memory, including read-only. This is exploited by kernel malware to manipulate the code and workflow of the OS. Security software such as integrity checkers, anti-virus and host-firewalls attempt to mitigate this threat, but are also prone to subversion. It is arguably impossible to implement effective security on a privilege level equal to the malicious code, and implemented in the very environment to be protected. Hardware virtualization indroduces a new privilege level superior to the OS. This technology is designed to utilize ample computational resources by collocating several operating systems on one physical machine. A hypervisor manage and monitor virtual machines by intercepting privileged instructions and events. The idea behind this work is to leverage the hypervisor to protect kernel memory in a way the OS itself is not able to. This thesis investigates whether the hypervisor provides a suitable environment for preventing unwanted memory modifications. Memory management, kernel attack surface and hardwareassisted virtualization are addressed to enumerate protection limitations and opportunities. Based on this, a set of techniques to prevent modification of memory in need of protection is presented. The hypervisor is used to intercept and deny attempts to write to memory defined as protected. A prototype of the proposed protection is demonstrated in a simulated attack scenario. The malicious modification attempts are successfully prevented, thus protecting the kernel from a known design vulnerability.en_US
dc.description.abstractNORSK: Monolittiske operativsystemer som Windows og Linux opererer med to privilegienivåer for eksekvering av kode. Begrensede user mode eller priviligerte kernel mode. I arbeidsminnet i kjernen finnes operativsystemkode side om side med ekstern kode for maskinvaredrivere og andre tredjeparts moduler. Disse har direkte tilgang til minne, øvrig maskinvare og operativsystemets tilstand. Svakheter i implementasjonen av minnetilgang og isolasjon muligjør modifikasjon av alt arbeidsminne, også minne med kun lesetilgang. Dette kan utnyttes av ondsinnede kjernemoduler for å manipulere tilstand og funksjonsflyt i operativsystemet. Sikkerhetsprogramvare som for eksempel antivirus, host-brannmur og integritetssjekker forsøker å beskytte mot denne trusselen, men er også utsatt for subversjon. Implementasjon av effektive sikkerhetsmekanismer på samme privilegienivå, og i samme system, som trusselen man skal beskyttes mot er i beste fall vanskelig, kanskje umulig. Virtualisering av maskinvare er en relativt ny teknologi som introduserer et nytt privilegienivå overordnet operativsystemets kernel mode. Denne teknologien er tiltenkt å utnytte et overskudd av maskinkraft ved å konsolidere flere operativsystemer på en enkelt fysisk maskin. En hypervisor kontrollerer og organiserer virtuelle maskiner ved å overta eksekvering ved priviligerte instruksjoner eller spesielle hendelser. Konseptet denne oppgaven bygger på er å utnytte en hypervisor til å beskytte operativsystemkjernens arbeidsminne, noe kjernen selv har begrensede muligheter for å gjøre. Masteroppgavens målsetning er å undersøke hvorvidt en hypervisor egner seg til å implementere beskyttelsesmekanismer mot uønskede minnemodifikasjoner. Minnehåndtering, operativsystemets angrepsflate og prosessor-støttet virtualisering blir innledningsvis introdusert. Basert på denne teorien blir begrensninger og muligheter for minnebeskyttelse synliggjort. Et sett av beskyttelsesmekanismer blir deretter foreslått. Hypervisoren benyttes til å avskjære og forhindre forsøk på å modifisere minneområder som er merket for beskyttelse. En prototyp av mekanismene er implementert og demonstrert i et simulert angrepsscenario. Et ondsinnet forsøk på å manipulere kjernens funskjonsflyt ved bruk av en kjent angrepsteknikk kan forhindres.en_US
dc.language.isoengen_US
dc.subjectinformation securityen_US
dc.subjectmemory protectionen_US
dc.subjectmalware preventionen_US
dc.subjecthardware-assisted virtualizationen_US
dc.titleEnforcing memory protection with hardware virtualizationen_US
dc.typeMaster thesisen_US
dc.subject.nsiVDP::Mathematics and natural science: 400::Information and communication science: 420::Security and vulnerability: 424en_US
dc.source.pagenumberXIII, 75 s.en_US


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel