NL1034451C2 - Het bewaken van een uitvoeringspatroon voor een doelagent op een systeem dat geschikt gemaakt is voor vt. - Google Patents
Het bewaken van een uitvoeringspatroon voor een doelagent op een systeem dat geschikt gemaakt is voor vt. Download PDFInfo
- Publication number
- NL1034451C2 NL1034451C2 NL1034451A NL1034451A NL1034451C2 NL 1034451 C2 NL1034451 C2 NL 1034451C2 NL 1034451 A NL1034451 A NL 1034451A NL 1034451 A NL1034451 A NL 1034451A NL 1034451 C2 NL1034451 C2 NL 1034451C2
- Authority
- NL
- Netherlands
- Prior art keywords
- virtual
- machine
- target process
- manager
- expected
- Prior art date
Links
- 238000012544 monitoring process Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 159
- 230000008569 process Effects 0.000 claims description 138
- 238000012795 verification Methods 0.000 claims description 48
- 238000005259 measurement Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims 1
- 241000700605 Viruses Species 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005352 clarification Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Bioethics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Description
HET BEWAKEN VAN EEN UITVOERINGSPATROON VOOR EEN DOELAGENT OP EEN SYSTEEM DAT GESCHIKT GEMAAKT IS VOOR VT
Uitvoeringen hebben betrekking op de gebieden van dataverwerking en informatiegarantie, in het bijzonder, op het bewaken van een uitvoeringspatroon van een doelproces om te bepalen of het proces op een verwachte manier wordt 5 uitgevoerd.
Achtergrond
Moderne virussen en wormen zijn een significante be-10 dreiging voor de veiligheid van informatieverwerkingssystemen. Op Host-gebaseerde intrusiedetectiesystemen verschaffen een effectieve oplossing om wormen te detecteren wanneer deze eenmaal systeemverdediging penetreren. Echter zijn talrijke wormen in staat om intrusiedetectiesystemen 15 te storen en uit te schakelen.
Een aantal oplossingen is aangeboden om dit probleem op te lossen, waarbij methodologieën zijn verschaft voor het garanderen dat intrusiedetectiesystemen correct functioneren. Bijvoorbeeld, zijn systeemintegriteitsdiensten 20 bekend die bewaakte software-agenten vereisen, zoals intrusiedetectiesystemen, om niet bedriegbaar bewijs van correct functioneren te verschaffen. Deze diensten vereisen echter wijzigingen aan de programmeerinstructies voor de bewaakte agent. Vele software-aanbieders aarzelen om 1034451 2 dergelijke wijzigingen te maken. Tevens kunnen een groot aantal van bestaande software-agenten, gecreëerd voorafgaand aan het ontstaan van systeemintegriteitsdiensten, niet in staat zijn om het niet te bedriegen bewijs te ver-5 schaffen dat voor deze technologie vereist is.
Host-agentmeting verschaft een verdere oplossing voor het probleem van wormen en virussen die intrusiedetectie-systemen uitschakelen. Host-agentmeting staat een proces toe dat wordt uitgevoerd in een onafhankelijke uitvoerom-10 geving om periodiek te verifiëren dat een bewaakte software-agent, zoals een intrusiedetectiesysteem, in het host-geheugen bestaat in ongewijzigde vorm. Deze methodologie verschaft echter niet een beveiliging tegen aanvallen waar het virus of de worm in feite niet de bewaakte agent wij-15 zigt, maar de agent eenvoudig uitschakelt door de program-maregelaar van het besturingssysteem te storen.
Korte beschrijving van de tekeningen 20 Uitvoeringen van de onderhavige uitvinding zullen bij wijze van voorbeelduitvoeringen, maar niet als beperking, weergegeven in de begeleidende tekeningen, waarin gelijke verwijzingen gelijke elementen aangeven, beschreven worden en waarin: 25 figuren la-lb schema's van verscheidene uitvoeringen van de onderhavige uitvinding tonen, waarbij een uitvoe-ringspatroon van een doelproces wordt bewaakt om te bepalen of het proces op een verwachte manier wordt uitgevoerd; 30 figuur 2 een stroomschema toont van geselecteerde be werkingen van de werkwijzen van verscheidene uitvoeringen van de onderhavige uitvinding; en figuur 3 een voorbeeldcomputersysteem toont dat geschikt is voor gebruik voor het uitvoeren van verscheidene 35 uitvoeringen van de onderhavige uitvinding.
3
Gedetailleerde beschrijving van illustratieve uitvoeringen
Illustratieve uitvoeringen van de onderhavige uitvinding omvatten, maar zijn niet beperkt tot, werkwijzen en 5 inrichtingen voor het waarnemen, door een virtuele machi-nemanager van een fysieke inrichting, het uitvoeren van een doelproces van een virtuele machine van de fysieke inrichting, omvattende virtuele adressen van de virtuele machine waarnaar gedurende de uitvoering verwezen wordt, 10 worden hierin beschreven. De virtuele machinemanager bepaalt verder of het doelproces op een verwachte manier wordt uitgevoerd, gebaseerd ten minste gedeeltelijk op de waargenomen virtuele adresreferenties en verwachte virtuele adresreferenties.
15 Verscheidene aspecten van de illustratieve uitvoerin gen zullen beschreven worden onder gebruikmaking van uitdrukkingen die gebruikelijk gebruikt worden door diegenen die bekwaam zijn in de techniek om de materie van hun werk over te dragen op andere mensen die bekwaam zijn in de 20 techniek. Echter, zal het voor diegenen die bekwaam zijn in de techniek duidelijk zijn dat alternatieve uitvoeringen uitgevoerd kunnen worden met slechts enkele van de beschreven aspecten. Ten behoeve van verduidelijking, worden specifieke aantallen, materialen en configuraties uiteen-25 gezet teneinde een grondig begrip van de illustratieve uitvoeringen te verschaffen. Het zal echter voor diegenen die bekwaam zijn in de techniek duidelijk zijn dat alternatieve uitvoeringen uitgevoerd kunnen worden zonder de specifieke details. In andere gevallen zijn bekende maat-30 regelen weggelaten of vereenvoudigd om niet de illustratieve uitvoeringen onduidelijk te maken.
Verder zullen verscheidene bewerkingen beschreven worden als meervoudige diskrete bewerkingen, beurtelings, op een manier die het meest behulpzaam is bij het begrij-35 pen van de illustratieve uitvoeringen; echter, de volgorde van beschrijving dient niet beschouwd te worden als te impliceren dat deze bewerkingen noodzakelijk volgorde- 4 afhankelijk zijn. In het bijzonder hoeven deze bewerkingen niet uitgevoerd te worden in de volgorde van presentatie.
De uitdrukking "in één uitvoering" wordt herhaaldelijk gebruikt. De uitdrukking verwijst in het algemeen 5 niet naar dezelfde uitvoering; maar kan dat echter wel. De uitdrukkingen "omvattende", "hebbende" en "omvattende" zijn synoniemen, tenzij de context anders voorschrijft. De uitdrukking "A/B" betekent "A of B". De uitdrukking "A en/of B" betekent " (A) , (B) of (A en B) ". De uitdrukking
10 "ten minste één van A, B en C" betekent " (A) , (B), (C), (A
en B), (A en C), (B en C) of (A, B en C)". De uitdrukking "(A)B" betekent "(B) of (A B)", dat is A is optioneel.
Figuren la-lb tonen aanzichten van verscheidene uitvoeringen van de onderhavige uitvinding, waarbij een uit-15 voeringspatroon van een doelproces wordt bewaakt voor het bepalen of het proces op een verwachte manier wordt uitgevoerd. Zoals weergegeven, kan een verificatiemachine 120 van virtuele machinemanager 106 van rekeninrichting 102 (aangepast om virtuele machines van rekeninrichting 102 te 20 beheren), verder aangepast zijn om virtuele adressen waarnaar door een doelproces 110 van een virtuele machine 104 van rekeninrichting 102 wordt verwezen te vergelijken met virtuele adressen waarvan verwacht wordt dat het doelproces 110 naar verwijst. De vergelijking kan de opwekking 25 van statistiek omvatten door de verificatiemachine 120 en het vergelijken van de statistiek met drempelmeeteenheden voor het bevorderen van een bepaling of het doelproces 110 aangetast is. De virtuele adressen waarnaar werkelijk wordt verwezen door het doelproces kunnen worden bepaald 30 door het waarnemen van de virtuele adressen waarnaar gedurende uitvoering wordt verwezen. In één uitvoering, weergegeven door figuur la, kunnen de virtuele adresreferenties worden bewaakt door het wijzigen van actieve bladzij-detabellen 116 van de virtuele machinemanager 106 om een 35 bladzijdefout aan de geheugenmanager 114 te veroorzaken telkens wanneer naar één van de verwachte virtuele adressen wordt verwezen. In een alternatieve uitvoering, weer- 5 gegeven door figuur lb, kan een code-instrumentatiemachine 118 van de virtuele machinemanager het doelproces 110 code in geheugen wijzigen zodat wanneer het doelproces 110 naar één van de verwachte virtuele adressen verwijst, het doel-5 proces 110 een oproepinstructie aan de code-instrumentatiemachine 118 kan afgeven, die dergelijke oproepen kan invangen.
In verscheidene uitvoeringen, kan de rekeninrichting 102, in aanvulling op virtuele machine 104 en virtuele ma-10 chinemanager 106, andere additionele virtuele machines bevatten. Virtuele machine 104 kan gastbladzijdetabellen 108 bevatten die lineair geheugenadres naar gastfysieke adresafbeeldingen opslaan, en een aantal processen, zoals doelproces 110. In verscheidene uitvoeringen kan doelproces 15 110 een kritisch proces zijn, zoals een intrusiedetectie- proces. Virtuele machinemanager 106 kan een aantal componenten omvatten die beheer van de virtuele machines van rekeninrichting 102 bevorderen. Onder deze componenten kan een integriteitsmeetmodule 112 zijn aangepast voor het ve-20 rifiëren van de integriteit van het doelproces wanneer dit in geheugen geladen wordt en voor het verschaffen van de geheugenmanager 116 en/of code-instrumentatiemachine 118, alsmede de verificatiemachine 120, met een integriteitsma-nifest die de verwachte virtuele adresreferenties specifi-25 ceert. Additioneel kunnen de componenten van de virtuele machinemanager 106 verder een geheugenmanager 114, actieve bladzijdetabellen 116, een verificatiemachine 120, en, in de uitvoeringen weergegeven door figuur lb, een code-instrumentatiemachine 118 omvatten.
30 Zoals getoond, kan rekeninrichting 102 elke enkelvou dige of multiprocessor zijn of rekensysteem met centrale verwerkingseenheid (CPU-processorkern die bekend zijn in de techniek). Rekeninrichting 102 kan een persoonlijke computer (PC), een werkstation, een server, een router, 35 een mainframe, een modulaire computer en een blade server of hogedichtheidsserver, een persoonlijke digitale assistent (PDA) , een amusementscentrum, een set top box of een 6 mobiele inrichting zijn. De rekeninrichting 102 kan in staat zijn tot het bedienen van een veelvoud van besturingssystemen van een veelvoud van virtuele machines, zoals virtuele machine 104, en van een virtuele machinemana-5 ger 106 die gebruik maakt van virtualisatietechnologieën. Indien rekeninrichting 102 een multiprocessor of een mul-tiprocessorkernsysteem is, kan elke virtuele machi-ne/virtuele machinemanager van rekeninrichting 102 gekoppeld worden aan een processor of processorkern die toege-10 voegd is aan die virtuele machine/virtuele machinemanager. In een enkele processor of rekeninrichting 102 met enkele processorkern, kan de veelvoud van virtuele machines en virtuele machinemanager 108 de enkele processor of processorkern delen. Een voorbeeld van een enkele/multiprocessor 15 of rekeninrichting 102 met processorkern is weergegeven door figuur 3, en wordt in groter detail hierna beschreven. Hierna, inclusief in de conclusies, zullen processor en processorkern onderling uitwisselbaar gebruikt worden, waarbij elke term de andere omvat.
20 Zoals getoond en eerder vermeld, kan rekeninrichting 102 een veelvoud van virtuele machines omvatten, zoals virtuele machine 104. Virtuele machine 104, met uitzondering van de leer van uitvoeringen van de onderhavige uitvinding, kan elk soort virtuele machine zijn. Virtuele ma-25 chine 104 kan een autonome besturingsomgeving zijn die zich gedraagt alsof deze een afzonderlijk computersysteem is. Voor een uitwendig systeem dat gekoppeld is aan rekeninrichting 102 door een netwerkweefsel, kan virtuele machine 104 op een afzonderlijke rekeninrichting lijken. 30 Virtuele machine 104 kan tevens een besturingssysteem hebben dat in staat is tot het beheren van meerdere processen, zoals doelproces 110, kan datastructuren omvatten voor het afbeelden van lineaire geheugenadressen naar gastfysieke adressen waarnaar verwezen wordt, zoals blad-35 zijdetabellen 108, en kan een beschermde geheugenruimte hebben die operationeel uitsluitend tot virtuele machine 104 behoort. Geschikte virtuele machines en virtualisatie- 7 technologieën omvatten maar zijn niet beperkt tot die welke beschikbaar zijn van Microsoft Corporation uit Redmond, WA, VMware Ine. uit Palo Al to, CA, en XenSource uit Cambridge, UK.
5 In enkele uitvoeringen, kan de rekeninrichting 102 een virtuele machinemanager (hierna VMM) 106 bevatten, die een dienstbesturingssysteem (OS) (niet weergegeven) kan hebben, een integriteitsmeetmodule (IMM) 112, een geheu-genmanager 114, actieve bladzijdetabellen 116, een verifi-10 catiemachine 120 en, in sommige uitvoeringen, zoals die getoond door figuur lb, een code-instrumentatiemachine 118. De VMM 106 kan een dienstpartitie van de rekeninrichting 102 omvatten, die de werkelijke hardwarehulpbronnen van inrichting 102 beheert, omvattende geheugenbladzijden, 15 zoals de geheugenbladzijde van proces 110, en die het gebruik van de hulpbronnen onder de virtuele machinerekenin-richting 102 coördineert. VMM 106 kan worden bediend door dezelfde processor als virtuele machine 104, indien rekeninrichting 102 een enkele processorinrichting is, of kan 20 bediend worden door een andere processor van rekeninrichting 102 (niet weergegeven).
Zoals weergegeven kan virtuele machine 104 gastblad-zijdetabellen 108 bevatten. De gastbladzijdetabellen 108 kunnen worden gebruikt door de processor van virtuele ma-25 chine 104 om het gastfysieke geheugenadres geassocieerd met een lineair geheugenadres waarnaar verwezen wordt door een instructie die de processor uitvoert op te zoeken. De gastbladzijdetabellen 108 kunnen echter niet afbeeldingen omvatten tussen het gastfysieke adres en het host-fysieke 30 adres van de geheugenbladzijde die geprobeerd wordt om bereikt te worden door de instructie die verwerkt wordt. Zoals hierna verder besproken, kunnen dergelijke afbeeldingen worden opgeslagen in actieve bladzijdetabellen 116 van de VMM 106. Dienovereenkomstig, terwijl deze gastbladzij-35 detabellen 108 worden gevormd door de virtuele machine 104 om adrestranslatie van doelproces 110 te bevorderen, worden de gastbladzijdetabellen 108 niet gebruikt door de 8 virtuele machine 104 voor volledige adrestranslatie. Gast-bladzijdetabellen zijn bekend in de techniek, en zullen dienovereenkomstig niet verder beschreven worden.
In verscheidene uitvoeringen kan virtuele machine 104 5 een aantal processen bevatten, zoals doelproces 110. Doel-proces 110 kan een host-gebaseerd intrusiedetectieproces zijn dat in staat is tot het detecteren van computervei-ligheidsgebruiken zoals wormen en virussen. Voorbeelden van intrusiedetectieprocessen omvatten die welke aangebo-10 den worden door McAfee uit Santa Clara, CA en Symantec uit Cupertino, CA. Doelproces 110 kan geladen worden in geheugen van de rekeninrichting 102 en kan verwijzen naar een aantal virtuele adressen van zijn geheugenruimte gedurende uitvoering. Naar de virtuele adressen kan verwezen worden 15 met een bepaalde frequentie en in een bepaalde volgorde gedurende routine-uitvoering van doelproces 110. In enkele uitvoeringen, zoals die getoond door figuur lb, kunnen de instructies van doelproces 110 in geheugen gewijzigd worden door een code-instrumentatiemachine 118 om te veroor-20 zaken dat doelproces 110 VM-oproepen afgeeft aan de code-instrumentatiemachine 110 van de VMM 106. Na het af geven van VM-oproepen, kan de code-instrumentatiemachine 118 de instructies van doelproces 110 in hun oorspronkelijke conditie herstellen. In een andere uitvoering, niet weergege-25 ven, kan doelproces 110 in plaats van te verwijzen naar virtuele adressen voor geheugentoegangen, verwijzen naar virtuele adressen van geheugen afgebeelde rekeninrichting 102 registers. In nog een andere uitvoering kan het doelproces 110 verwijzen naar een virtueel adres van een ander 30 proces, dat een oproep van het proces bij het virtuele adres uitvoert.
Zoals getoond kan VMM 106 een integriteitsmeetmodule (IMM) 112 bevatten. In enkele uitvoeringen is IMM 112 in staat tot het meten en verifiëren van de integriteit van 35 doelproces 110 wanneer dit in geheugen geladen wordt. Bij het meten en verifiëren van het doelproces 110 kan IMM 112 vertrouwen op een integriteitsmanifest voorzien voor de 9 IMM door, bijvoorbeeld, een administrateur. Het integri-teitsmanifest kan het doelproces 110 beschrijven wanneer dit in geheugen geladen wordt, kan statistiekinformatie omvatten omtrent het doelproces 110, zoals inhoud van ver-5 scheidene secties van het doelproces 110, en kan een statistisch uitvoeringsprofiel van het doelproces 110 beschrijven dat in staat is tot het identificeren van de virtuele adressen waarvan verwacht wordt dat het doelproces 110 naar verwijst, alsmede de frequentie waarmee ver-10 wacht wordt dat het doelproces 110 naar elk adres verwijst. In één uitvoering kan het statistische uitvoerings-profiel van het integriteitsmanifest een histogram bevatten representerende hoe vaak het doelproces 110 naar bepaalde virtuele adressen dient te verwijzen. De IMM 112 15 kan gebruik maken van het deel van het integriteitsmanifest dat doelproces 110 beschrijft wanneer dit in geheugen geladen wordt door het vergelijken van die beschrijving met hoe het doelproces 110 momenteel in geheugen geladen is, aldus verifiërende dat de instructies omvattende het 20 doelproces 110 niet aangetast zijn. Na verificatie van het doelproces 110, kan IMM 112 in één uitvoering weergegeven in figuur la, het integriteitsmanifest verschaffen aan ge-heugenmanager 114 en verificatiemachine 120. In een alternatieve uitvoering, weergegeven door figuur lb, kan IMM 25 112 in plaats daarvan het integriteitsmanifest verschaffen aan code-instrumentatiemachine 118 en verificatiemachine 120. Verdere details over IMM 112 en het integriteitsmanifest kunnen gevonden worden in "Signed Manifest for RunTime Verification of Software Program Identity and 30 Integrity", Amerikaanse octrooiaanvrage nummer 11/173.851, ingediend op 30 juni 2005.
In verscheidene uitvoeringen kan VMM 106 een geheu-genmanager 114 omvatten aangepast om actieve bladzijdeta-bellen 116 van de VMM 106 op te wekken en bij te houden. 35 In enkele uitvoeringen, zoals die weergegeven door figuur la, kan de geheugenmanager 114 van VMM 106 tevens aangepast zijn om referenties naar virtuele adressen waar te 10 nemen waarvan verwacht wordt dat het doelproces naar verwijst, en om verificatiemachine 120 van de referenties te notificeren. In één uitvoering kan geheugenmanager 114 verder aangepast zijn om onderlinge afhankelijkheden tus-5 sen doelproces 110 en een ander proces waarnaar virtueel verwezen wordt door doelproces 110 te bewaken, en/of oproep en terugkeerpunten te bewaken tussen doelproces 110 en het virtueel verwezen proces. De onderlinge afhankelijkheden en/of oproep en terugkeerpunten kunnen tevens 10 worden genotificeerd aan de verificatiemachine 120. Na het ontvangen van verificatie van het doelproces 110 van IMM 112 en het ontvangen van het integriteitsmanifest, kan de geheugenmanager 114 de actieve bladzijdetabellen 116 wijzigen gebaseerd op het statistische uitvoeringsprofiel van 15 doelproces 110 beschreven door het integriteitsmanifest. Bijvoorbeeld, voor elk virtueel adres waarvan verwacht wordt dat doelproces 110 naar verwijst, kan de geheugenmanager 114 de corresponderende actieve bladzijdetabelinvoer voor dat virtuele adres markeren als "niet aanwezig". De 20 processor van virtuele machine 104 verwerkende de instructies van doelproces 110 verwijzende naar het virtuele adres dat als niet aanwezig gemarkeerd is, kan een bladzi jdefout aan VMM 106 via een VMEXIT-instructie afgeven. De geheugenmanager 114 kan dan elke bladzi jdefout opmer-25 ken, en bepalen of het verwezen virtuele adres geassocieerd met de bladzi jdefout één van de virtuele adressen is gemarkeerd door de geheugenmanager 114 als niet aanwezig in de actieve bladzijdetabellen 116. Indien de bladzijdefout geassocieerd is met één van deze adressen, kan de ge-30 heugenmanager 114 de verificatiemachine 120 notificeren van de waargenomen virtuele adresreferentie. In één uitvoering kan de geheugenmanager 114 alleen de verificatie-machine 120 notificeren van de waargenomen virtuele adresreferenties in een match aan het eind van het uitvoeren 35 van doelproces 110. In andere uitvoeringen, in aanvulling op het notificeren van de verif icatiemachine 120 van de verwezen virtuele adressen, kan geheugenmanager 114 tevens 11 het type van toegang opmerken geassocieerd met elke referentie (dat is leestoegang, schrijftoegang, uitvoe- ringstoegang, toegang van een computerinrichting 102 register, enzovoort) en kan verder de verificatiemachine 120 5 van de type toegangen notificeren. In een andere, niet weergegeven, uitvoering kan geheugenmanager genestelde en uitgebreide bladzijdetabellen vormen en bijhouden in plaats van actieve bladzijdetabellen 116. Dergelijke genestelde en uitgebreide bladzijdetabellen kunnen niet au-10 tomatisch gesynchroniseerd worden met de gastbladzijdeta-bellen 108, maar kunnen coherent uitgevoerd worden met de gastbladzijdetabellen 108. In alle andere aspecten, zoals de introductie van bladzijdefouten zoals boven beschreven, kan geheugenmanager 114 werken op genestelde en uitgebrei-15 de bladzijdetabellen op dezelfde manier zoals boven beschreven onder verwijzing naar de actieve bladzijdetabellen 116.
Zoals weergegeven, kan VMM 106 actieve bladzijdeta-bellen 116 bevatten verschaffend gastfysiekadres aan host-20 fysiekadresafbeeldingen. Zoals boven beschreven kunnen de actieve bladzijdetabellen 116 door geheugenmanager 114 gevormd en bijgehouden worden. De actieve bladzijdetabellen 116 kunnen corresponderen met de gastbladzijdetabellen 108 en periodiek of continu met de gastbladzijdetabellen ge-25 sync-upt worden. In plaats van het gebruiken van de gastbladzi jdetabellen 108 voor adresvertaling, kan de processor van virtuele machine 104 in feite gebruik maken van de actieve bladzijdetabellen 116 voor het verkrijgen van fysieke geheugenlokatie van de geheugenbladzijde die de in-30 structies van het doelproces 110 proberen te bereiken. In enkele uitvoeringen, zoals weergegeven door figuur la, kan de geheugenmanager 114 één of meerdere invoeren van de actieve bladzijdetabellen 116 markeren als "niet aanwezig", veroorzakende dat de processor de invoeren gebruikt om een 35 bladzijdefout af te geven. Actieve bladzijdetabellen 116 zoals actieve bladzijdetabellen 116 zijn bekend in de 12 techniek, en zullen dienovereenkomstig niet verder beschreven worden.
In enkele uitvoeringen, zoals die weergegeven door figuur lb, kan VMM 106 verder een code-instrumentatie-5 machine 118 bevatten. De code-instrumentatiemachine 118 kan in staat zijn tot het waarnemen van virtuele adressen waarnaar door doelproces 110 verwezen wordt en tot het notificeren van verificatiemachine 120 van de referenties. Voorafgaand aan het uitvoeren van het doelproces 110, kan 10 code-instrumentatiemachine 118 de instructies van het doelproces 110 wijzigen wanneer deze in geheugen opgeslagen worden om te veroorzaken dat het doelproces 110 VM oproepen afgeeft aan de code-instrumentatiemachine 118 in plaats van of in aanvulling op het verwijzen naar een vir-15 tueel adres waarvan verwacht wordt dat het doelproces 110 naar verwijst. De wijzigingen kunnen bepaald worden gebaseerd ten minste gedeeltelijk op het boven beschreven in-tegriteitsmanifest dat een statistisch uitvoeringsprofiel van het doelproces 110 kan beschrijven, omvattende virtue-20 le adressen waarvan verwacht wordt dat het doelproces 110 naar verwijst. Voor elk adres kan de code-instrumentatiemachine 118 de instructie wijzigen die zou verwijzen naar het virtuele adres, waarbij dit wordt vervangen door of wordt gevoegd bij een instructie die, wan-25 neer uitgevoerd, een VM-oproep aan de code-instrumentatiemachine 118 kan maken. De code-instrumentatiemachine 118 kan dan de VM-oproepen invangen, een referentie opmerken van een virtueel adres voor elke VM-oproep voor het virtuele adres geassocieerd met de VM-30 oproep, en de verificatiemachine 120 notificeren van de referentie van het virtuele adres. In één uitvoering kan de code-instrumentatiemachine 118 alleen de verificatiemachine 120 notificeren van de waargenomen virtuele adresreferenties in een batch aan het eind van het uitvoeren van 35 doelproces 110. In andere uitvoeringen in aanvulling op het notificeren van de verificatiemachine 120 van de verwezen virtuele adressen, kan code-instrumentatiemachine 13 118 tevens het type toegang geassocieerd met elke referentie opmerken (dat is leestoegang, schrijftoegang, enzovoort) en kan verder de verificatiemachine 120 van de types toegangen notificeren. Tevens kan in verscheidene uit-5 voeringen de code-instrumentatiemachine 118 een kopie van de voorgewijzigde doelproces 110 instructies opslaan en, na ontvangst van een VM-oproep, directe wijziging van het doelproces 110 uitvoeren, dit herstellende tot zijn voor-wijzigingstoestand en ongewijzigde uitvoering van het 10 doelproces 110 emuleren. Code-instrumentatiemachine 118 kan dan de wijziging opnieuw invoeren in het doelproces in 110 geheugen, toestaand dat verdere referenties resulteren in verdere VM-oproepen.
Zoals getoond in zowel figuur la als lb, kan VMM 106 15 ook een verificatiemachine 120 omvatten aangepast voor het vergelijken van de waargenomen virtuele adresreferenties met de verwachte virtuele adresreferenties, statistiek genereren gebaseerd op de vergelijking, en ten minste één van de gegenereerde statistiek vergelijken met een drem-20 pelmeeteenheid. Zoals boven beschreven, kan de verificatiemachine 120 notificatie van de waargenomen virtuele adresreferenties ontvangen van geheugenmanager 114, in de serie van uitvoeringen (weergegeven door figuur la) of code-instrumentatiemachine 118 (in de serie van uitvoeringen 25 weergegeven door figuur lb).
In één uitvoering kan verificatiemachine 120 ook genotificeerd worden van de types toegangen van ten minste enkele van de waargenomen virtuele adresreferenties. Zoals ook boven beschreven is, kan verificatiemachine 120 tevens 30 het integriteitsmanifest ontvangen van IMM 112 beschrijvende het statistische uitvoeringsprofiel van doelproces 110, omvattende virtuele adressen waarvan verwacht wordt dat doelproces 110 naar verwijst en ook een frequentie waarmee doelproces 110 verwacht wordt naar één of meer van 35 de virtuele adressen te verwijzen. In één uitvoering kan het integriteitsmanifest tevens drempelmeeteenheden omvatten .
14
Na ontvangst van de waargenomen virtuele adresreferenties in het integriteitsmanifest kan verificatiemachine 120 de waargenomen referenties vergelijken met de verwachte referenties en een statistische maat genereren, zoals 5 een percentage, om de waargenomen uitvoering te beschrijven. In enkele uitvoeringen kan verificatiemachine 120 tevens een waargenomen frequentie of frequenties bepalen beschrijvende hoe vaak naar één of meer virtuele adressen verwezen werd, de berekende waargenomen frequentie verge-10 lijken met een verwachte frequentie, en een statistische maat opwekken, zoals een standaarddeviatie om de grootte van variatie van de verwachte frequentie te beschrijven.
In enkele uitvoeringen kan het integriteitsmanifest tevens een verwacht type van toegang bevatten, en kan ve-15 rificatiemachine 120 het waargenomen toegangstype vergelijken met een verwacht toegangstype, en kan statistische maten genereren, zoals die welke boven beschreven zijn, gebaseerd op de vergelijking. In één uitvoering kan het integriteitmanifest tevens verwachte onderlinge afhanke-20 lijkheden en/of oproep- en terugkeerpunten bevatten, zoals die welke boven beschreven zijn, en kan verificatiemachine 120 de waargenomen onderlinge afhankelijkheden en/of oproep- en terugkeerpunten vergelijken met verwachte onderlinge afhankelijkheden en/of oproep en terugkeerpunten, en 25 kan statistische maten genereren, zoals die welke boven beschreven zijn, gebaseerd op de vergelijking.
Na het genereren van statistische maten, kan verificatiemachine 120 de maten vergelijken met drempelmeeteen-heden. Drempelmeeteenheden kunnen bijvoorbeeld een waarde 30 representeren waaraan de maat moet voldoen. Indien de vergelijking resulteert in de conclusie dat de maat niet voldoet aan de drempelmeeteenheid, kan de verificatiemachine 120 bijvoorbeeld een administrateur van rekeninrichting 102 notificeren via een waarschuwing of elk ander geschikt 35 mechanisme dat in de techniek bekend is.
Figuur 2 toont een stroomschema-aanzicht van geselecteerde bewerkingen van de werkwijzen van verscheidene uit- 15 voeringen van de onderhavige uitvinding. Zoals weergegeven, kan een IMM van een VMM van een rekeninrichting de integriteit van een doelproces van een virtuele machine van de rekeninrichting verifiëren wanneer dit in geheugen 5 geladen wordt, blok 202. Bij het verifiëren van de integriteit van het doelproces, kan de IMM gebruikmaken van een integriteitsmanifest beschrijvende het proces zoals dit in geheugen geladen wordt, alsmede beschrijvende een statistisch uitvoeringsprofiel van het doelproces, omvat-10 tende virtuele adressen waarvan verwacht wordt dat het doelproces naar verwijst en frequenties waarmee verwacht wordt dat het doelproces naar virtuele adressen verwijst.
In enkele uitvoeringen, weergegeven door figuur la en boven beschreven, kan de IMM, na het verifiëren van het 15 doelproces, het integriteitsmanifest verschaffen aan een geheugenmanager en een verificatiemachine van de VMM. De geheugenmanager kan dan de actieve bladzijdetabellen van de VMM wijzigen, blok 204, waarbij virtuele adressen die opgesomd zijn door het integriteitsmanifest zoals verwacht 20 om naar verwezen te worden gemarkeerd worden als "niet aanwezig". De geheugenmanager kan vervolgens de uitvoering van het doelproces waarnemen, blok 206, door het invan-gen/markeren van bladzijdefouten, blok 208, afgegeven door de processor van de virtuele machine die de instructies 25 van het doelproces verwerkt. De processor kan fouten afgeven na het proberen om het verwezen virtuele adres te vertalen door gebruik te maken van de actieve bladzijdetabellen, daar de actieve bladzijdetabellen gewijzigd zijn door de geheugenmanager om het virtuele adres als "niet aanwe-30 zig" te markeren. Na het vangen/opmerken van een bladzij -defout, kan de geheugenmanager de waarneming van een virtuele adresreferentie opmerken en de verificatiemachine van de waargenomen referentie notificeren, blok 210.
In alternatieve uitvoeringen, weergegeven door figuur 35 lb en boven beschreven, kan de IMM, na het verifiëren van het doelproces, het integriteitsmanifest verschaffen aan een code-instrumentatiemachine en de verificatiemachine 16 van de VMM. De code-instrumentatiemachine kan dan de virtuele adressen waarvan verwacht wordt dat het doelproces naar verwijst opmerken, en kan de instructies omvattende het doelproces in geheugen wijzigen, blok 212, om te ver-5 oorzaken dat het doelproces VM-oproepen afgeeft aan de code-instrumentatiemachine na het bereiken van een instructie om te verwijzen naar één van de verwachte virtuele adressen. De code-instrumentatiemachine kan tevens de doelprocesinstructies in ongewijzigde vorm opslaan vooraf-10 gaand aan het wijzigen van het doelproces. Na het wijzigen van het doelproces kan de code-instrumentatiemachine het uitvoeren van het doelproces waarnemen, blok 214, waarbij VM-oproepen worden ingevangen ontvangen die gemaakt zijn door het doelproces in reactie op de wijzigingen, blok 15 216. Na het ontvangen van elke VM-oproep, kan de code- instrumentatiemachine looptijd directe wijziging van het doelproces uitvoeren, blok 218, waarbij de instructies hersteld worden tot hun voorgewijzigde toestand, aldus emulerende ongewijzigde uitvoering van het doelproces. Na 2 0 het vangen van een VM-oproep, kan de code-instrumentatiemachine een referentie naar het virtuele adres waarnemen, die geassocieerd is met de VM-oproep, en kan de verificatiemachine van de waarneming van een virtuele adresreferentie notificeren, blok 220.
25 Na ontvangst van de notificaties van virtuele adres- referentiewaarnemingen van ofwel de geheugenmanager of de code-instrumentatiemachine, kan de verificatiemachine de waargenomen referenties vergelijken met verwachte virtuele adresreferenties verkregen uit het integriteitsmanifest, 30 blok 222, en kan één of meer statistische maten genereren, zoals een percentage, voor het samenvatten van de waargenomen uitvoering. In één uitvoering kan de verificatiemachine tevens één of meer frequenties bepalen waarmee naar de waargenomen virtuele adressen verwezen werd, kan die 35 frequentie of frequenties vergelijken met verwachte frequenties verkregen uit het integriteitsmanifest, en kan één of meer statistische maten genereren, zoals een stan- 17 daarddeviatie. Na het genereren van de statistische maten kan de verificatiemachine de statistische maten vergelijken met drempelmeeteenheden, blok 224, om te bepalen of een administrateur van de rekeninrichting gewaarschuwd 5 dient te worden.
Figuur 3 toont een voorbeeld computersysteem geschikt voor gebruik voor het uitvoeren van verscheidene uitvoeringen van de onderhavige uitvinding. Zoals getoond bevat rekensysteem 300 een aantal processoren of processorkernen 10 302, en systeemgeheugen 304. Ten behoeve van deze aanvra ge, inclusief de conclusies kunnen de termen "processor" en "processorkernen" beschouwd worden als zijnde synoniem, tenzij de context duidelijk anders vereist. Additioneel bevat rekensysteem 300 massa-opslaginrichtingen 306 (zoals 15 diskette, harde schijf, compact-disk uitleesgeheugen (CD-ROM), enzovoorts), invoer/uitvoerinrichtingen 308 (zoals een toetsenbord, cursorbesturing, enzovoort) en communica-tie-interfaces 310 (zoals netwerkinterfacekaarten, modems, enzovoorts). De elementen zijn onderling gekoppeld via 20 systeembus 312, die één of meer bussen representeert. In het geval van meerdere bussen, worden deze overbrugd door één of meer busbruggen (niet weergegeven). In verscheidene uitvoeringen kunnen massa-opslaginrichtingen 306 verdeeld worden in meerdere partities voor gebruik door de virtuele 25 machines, waarbij elke virtuele machine uitsluitend gebruik kan maken van de toegewezen partitie.
Elk van deze elementen voert zijn conventionele functies uit zoals bekend in de techniek. In het bijzonder kunnen systeemgeheugen 304 en massa-opslag 306 gebruikt 30 worden om een werkkopie en een permanente kopie van de programmeerinstructies op te slaan implementerende alle of een geselecteerd aspect van de geheugenmanager, integri-teitsmeetmodule, code-instrumentatiemachine, verificatie-machine, enzovoorts, hier collectief aangeduid als 322. De 35 instructies kunnen gecompileerd worden uit assembler-instructies ondersteund door processor(en) 302 of talen van hoger niveau, zoals C.
18
De permanente kopie van de programmeerinstructies kan geplaatst worden in permanente opslag 306 in de fabriek, of in het veld, via bijvoorbeeld, een (niet weergegeven) distributiemedium, zoals een compact disk (CD) of via com-5 municatie-interface 310 (van een (niet weergegeven) dis-tributieserver).
De samenstelling van deze elementen 302-312 is bekend, en zal dienovereenkomstig niet verder beschreven worden.
10 Hoewel specifieke uitvoeringen hierin getoond en be schreven zijn, zal het voor diegenen met normale bekwaamheid in de techniek duidelijk zijn dat een grote verscheidenheid aan alternatieve en/of equivalente implementaties gesubstitueerd kan worden voor de specifieke uitvoeringen 15 die getoond en beschreven zijn, zonder af te wijken van de omvang van de uitvoeringen van de onderhavige uitvinding. Deze aanvrage is bedoeld om alle aanpassingen of variaties van de hierin beschreven uitvoeringen te dekken. Dientengevolge wordt uitdrukkelijk bedoeld dat de uitvoeringen 20 van de onderhavige uitvinding uitsluitend beperkt worden door de conclusies en de equivalenten daarvan.
1034451
Claims (30)
1. Een werkwijze omvattende: het door een virtuele machinemanager van een fysieke inrichting waarnemen van het uitvoeren van een doelproces van een virtuele machine van de fysieke inrichting, omvat-5 tende virtuele adressen van de virtuele machine waarnaar gedurende het uitvoeren verwezen wordt; en het door de virtuele machinemanager bepalen of het doelproces wordt uitgevoerd op een verwachte manier gebaseerd ten minste gedeeltelijk op de waargenomen virtuele 10 adresreferenties en verwachte virtuele adresreferenties.
2. De werkwijze volgens conclusie 1, waarin de verwachte uitvoeringsmanier wordt weergegeven in een integri-teitsmanifest, waarbij het manifest virtuele adressen waarvan verwacht wordt dat het doelproces naar verwijst 15 omvat, en het bepalen het vergelijken van de waargenomen virtuele adresreferenties met de verwachte virtuele adresreferenties door de virtuele machinemanager omvat.
3. De werkwijze volgens conclusie 2, waarin het waarnemen wordt uitgevoerd door een geheugenmanager van de 20 virtuele machinemanager, en de werkwijze verder het wijzigen van actieve bladzijdetabellen van de virtuele machinemanager door de geheugenmanager omvat, zodat de referenties naar virtuele adressen voor verwerking door de geheugenmanager worden gevangen.
4. De werkwijze volgens conclusie 3, waarin het wij zigen, door de geheugenmanager, het wijzigen omvat van de actieve bladzijdetabellen van de virtuele machinemanager zodat de referenties naar virtuele adressen bladzijdefou-ten aan de geheugenmanager veroorzaken. 1034451
5. De werkwijze volgens conclusie 2, waarin het waarnemen wordt uitgevoerd door een geheugenmanager van de virtuele machinemanager, en de werkwijze verder het wijzigen, door de geheugenmanager, omvat van genestelde en uit- 5 gebreide bladzijdetabellen van de virtuele machinemanager, zodat de referenties naar virtuele adressen voor verwerking door de geheugenmanager worden gevangen.
6. De werkwijze volgens conclusie 2, waarin het waarnemen wordt uitgevoerd door een code-instrumentatiemachine 10 van de virtuele geheugenmanager, en de werkwijze verder het wijzigen van het doelproces door de code- instrumentatiemachine omvat, zodat de referenties naar de virtuele adressen voor verwerking door de code- instrumentatiemachine worden gevangen.
7. De werkwijze volgens conclusie 6, waarin het wij zigen het wijzigen omvat van het doelproces voor het oproepen van de code-instrumentatiemachine wanneer naar de virtuele adressen verwezen dient te worden, en de werkwijze verder omvat: 20 eerst, bij het vangen van een referentie, het opnieuw opslaan, door de code-instrumentatiemachine, van vervangen instructies van het doelproces om toe te staan dat een originele functie wordt uitgevoerd, als tweede, bij het vangen van een referentie, het 25 notificeren, door de code-instrumentatiemachine, van een verificatiemachine van het vangen, waarbij de verificatie-machine de referentie naar het virtuele adres opmerkt, en als derde, bij het uitvoeren, het opnieuw wijzigen, door de code-instrumentatiemachine, van de instructie voor 30 het mogelijk maken van toekomstige referentie naar het virtuele adres dat opnieuw gevangen dient te worden naar de code-instrumentatiemachine.
8. De werkwijze volgens conclusie 1, waarin de virtuele adressen geheugen-afgebeeld worden op een rekeninrich- 35 tingregister.
9. De werkwijze volgens conclusie 1, verder omvattende het additioneel waarnemen van een type van geheugentoe gang voor ten minste één van de waargenomen virtuele adresreferenties.
10. De werkwijze volgens conclusie 1, verder omvattende een verificatiemachine die referentiestatistiek van 5 verscheidene virtuele adressen vergelijkt met corresponderende drempelmeeteenheden.
11. De werkwijze volgens conclusie 1, waarin het doelproces een intrusiedetectieproces is.
12. De werkwijze volgens conclusie 1, waarin het 10 waarnemen verder het bewaken omvat van ten minste één van onderlinge afhankelijkheden en oproep- en terugkeerpunten van het doelproces en een ander proces waarnaar virtueel door het doelproces verwezen wordt.
13. Een fysieke inrichting omvattende: 15 één of meerdere processoren; en een virtuele machinemanager bediend door de één of meerdere processoren en aangepast om het uitvoeren van een doelproces van een virtuele machine van de fysieke inrichting waar te nemen, omvattende het waarnemen van virtuele 20 adressen van de virtuele machine waarnaar gedurende het uitvoeren verwezen wordt, en om te bepalen of het doelproces op een verwachte manier wordt uitgevoerd gebaseerd ten minste gedeeltelijk op de waargenomen virtuele adresreferenties en verwachte vir-25 tuele adresreferenties, waarbij de virtuele machinemanager een geheugenmanager bevat aangepast om het waarnemen uit te voeren, omvattende het wijzigen van actieve bladzijde-tabellen zodat referenties naar virtuele adressen voor verwerking door de geheugenmanager worden gevangen.
14. De fysieke inrichting volgens conclusie 13, waar in de virtuele machine en de virtuele machinemanager door dezelfde processor worden bediend.
15. De fysieke inrichting volgens conclusie 13, waarin de geheugenmanager aangepast is om de actieve bladzij -35 detabellen van de virtuele machinemanager te wijzigen zodat de referenties naar virtuele adressen bladzijdefouten aan de geheugenmanager veroorzaken.
16. De fysieke inrichting volgens conclusie 15, waarin de verwachte uitvoeringsmanier wordt gereflecteerd in een integriteitsmanifest, waarbij het manifest virtuele adressen bevat waarvan verwacht wordt dat het doelproces 5 naar verwijst, en de virtuele machinemanager verder een verificatiemachine bevat aangepast voor het uitvoeren van het bepalen door vergelijking van de waargenomen virtuele adresreferenties met de verwachte virtuele adresreferenties en voor het opwekken van referentiestatistiek geba-10 seerd op de vergelijking.
17. De fysieke inrichting volgens conclusie 16, waarin de virtuele machinemanager verder een integriteitsmana-gementsmodule bevat aangepast voor het verifiëren van de integriteit van het doelproces door gebruik te maken van 15 het integriteitsmanifest, waarin het integriteitsmanifest verder het doelproces beschrijft wanneer dit wordt geladen in geheugen van de fysieke inrichting.
18. De fysieke inrichting volgens conclusie 16, waarin de verificatiemachine verder aangepast is voor het ver- 20 gelijken van de referentiestatistiek van verscheidene virtuele adressen met corresponderende drempelmeeteenheden.
19. De fysieke inrichting volgens conclusie 13, waarin het doelproces een intrusiedetectieproces is.
20. Een voorwerp van vervaardiging omvattende: 25 een opslagmedium; en een veelvoud van programmeerinstructies ontworpen voor het programmeren van een fysieke inrichting voor het verschaffen van een virtuele machinemanager omvattende een code-instrumentatiemachine voor de fysieke inrichting, om 30 toe te staan dat de fysieke inrichting door gebruik te maken van de code-instrumentatiemachine een doelproces van een virtuele machine van de fysieke inrichting wijzigt, zodat de referenties naar virtuele adressen van de virtuele machine worden gevangen voor 35 verwerking door de code-instrumentatiemachine, door gebruik te maken van de code-instrumentatiemachine van de virtuele machinemanager van de fysieke inrichting het uitvoeren van het doelproces waar te nemen, omvattende virtuele adressen van de virtuele machine waarnaar gedurende het uitvoeren verwezen wordt, en 5 door de virtuele machinemanager te bepalen of het doelproces op een verwachte manier wordt uitgevoerd gebaseerd ten minste gedeeltelijk op de waargenomen virtuele adresreferenties en verwachte virtuele adresreferenties.
21. Het voorwerp volgens conclusie 20, waarin de ver-10 wachte uitvoeringsmanier wordt gereflecteerd in een integ- riteitsmanifest, waarbij het manifest virtuele adressen bevat waarvan verwacht wordt dat het doelproces naar verwijst, en de programmeerinstructies het verder mogelijk maken dat de fysieke inrichting het bepalen door de virtu-15 ele machinemanager uitvoert door vergelijking van de waargenomen virtuele adresreferenties met de verwachte virtuele adresreferenties.
22. Het voorwerp volgens conclusie 21, waarin het veelvoud van programmeerinstructies verder ontworpen is 20 voor het verschaffen van de virtuele machinemanager met een verificatiemachine, waardoor mogelijk wordt gemaakt dat de fysieke inrichting verder het bepalen door de veri-ficatiemachine uitvoert door vergelijking van referentie-statistiek van verscheidene virtuele adressen met corres-25 ponderende drempelmeeteenheden.
23. Het voorwerp volgens conclusie 20, waarin het veelvoud van programmeerinstructies verder ontworpen is voor het programmeren van de fysieke inrichting om het mogelijk te maken dat de fysieke inrichting het doelproces 30 wijzigt, door gebruik te maken van de code- instrumentatiemachine, zodat het doelproces de code-instrumentatiemachine oproept wanneer naar de virtuele adressen verwezen dient te worden, en het veelvoud van programmeerinstructies verder ont-35 worpen is voor het programmeren van de fysieke inrichting voor het mogelijk maken dat de fysieke inrichting het doelproces opnieuw opslaat na het vangen van een referen- tie, door gebruik te maken van de code-instrumentatie-machine, onder het vervangen van instructies van het doel-proces voor het mogelijk maken dat een originele functie uitgevoerd wordt, en voor het opnieuw wijzigen van het 5 proces na uitvoering, om opnieuw toekomstige referentie naar het te vangen virtuele adres naar de code-instrumentatie-machine mogelijk te maken.
24. Het voorwerp volgens conclusie 23, waarin de pro-grammeerinstructies verder aangepast zijn voor het ver- 10 schaffen van de virtuele machinemanager met een verifica-tiemachine, en voor het verschaffen van de code-instrumentatiemachine aangepast om de verificatiemachine te modificeren, na het vangen van een referentie, waarbij de verificatiemachine de referentie naar het virtuele 15 adres opmerkt.
25. Het voorwerp volgens conclusie 20, waarin het doelproces een intrusiedetectieproces is.
26. Een systeem omvattende: één of meerdere processoren; 20 vluchtig geheugen gekoppeld aan de één of meer pro cessoren, en in staat tot het opslaan van waargenomen virtuele adressen waarnaar verwezen wordt gedurende het uitvoeren van een doelproces van een virtuele machine van het systeem en verwachte virtuele adresreferenties voor verge-25 lijking; en een massa-opslag gekoppeld aan de één of meer processoren, en met daarin opgeslagen instructies implementerende een virtuele machinemanager bediend door één van de één of meer processoren en aangepast om: 30 door de virtuele machinemanager het uitvoeren van het doelproces waar te nemen, omvattende de virtuele adressen waarnaar gedurende het uitvoeren verwezen wordt; en te bepalen of het doelproces op een verwachte manier wordt uitgevoerd gebaseerd ten minste gedeeltelijk op de 35 waargenomen virtuele adresreferenties en verwachte virtuele adresreferenties.
27. Het systeem volgens conclusie 26, waarin de virtuele machinemanager verder een geheugenmanager bevat aangepast voor het uitvoeren van het waarnemen en het wijzigen van actieve bladzijdetabellen van de virtuele machine- 5 manager zodat de referenties naar virtuele adressen blad-zijdefouten naar de geheugenmanager veroorzaken.
28. Het systeem volgens conclusie 26, waarin de verwachte uitvoeringsmanier wordt gereflecteerd in een integ-riteitsmanifest, waarbij het manifest virtuele adressen 10 bevat waarvan verwacht wordt dat het doelproces naar verwijst en de virtuele machinemanager verder een verifica-tiemachine bevat aangepast voor het vergelijken van de waargenomen virtuele adresreferenties met de verwachte virtuele adresreferenties en voor het opwekken van de re-15 ferentiestatistiek gebaseerd op de vergelijking.
29. Het systeem volgens conclusie 28, waarin de virtuele machinemanager verder een integriteitsmanagementmo-dule bevat, waarbij de integriteitsmanagementsmodule aangepast is voor het verifiëren van de integriteit van het 20 doelproces door gebruik te maken van het integriteitsmani-fest, waarin het integriteitsmanifest verder het doelproces beschrijft wanneer dit in de massa-opslag wordt geladen .
30. Het systeem volgens conclusie 26, waarin het 25 doelproces een intrusiedetectieproces is. 1034451
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/541,474 US7802050B2 (en) | 2006-09-29 | 2006-09-29 | Monitoring a target agent execution pattern on a VT-enabled system |
US54147406 | 2006-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
NL1034451A1 NL1034451A1 (nl) | 2008-04-01 |
NL1034451C2 true NL1034451C2 (nl) | 2010-01-26 |
Family
ID=38701878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL1034451A NL1034451C2 (nl) | 2006-09-29 | 2007-10-01 | Het bewaken van een uitvoeringspatroon voor een doelagent op een systeem dat geschikt gemaakt is voor vt. |
Country Status (7)
Country | Link |
---|---|
US (1) | US7802050B2 (nl) |
KR (1) | KR100938306B1 (nl) |
CN (1) | CN101221608B (nl) |
DE (1) | DE102007046475A1 (nl) |
FR (1) | FR2907242B1 (nl) |
GB (1) | GB2442350B (nl) |
NL (1) | NL1034451C2 (nl) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7555628B2 (en) | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
US7882318B2 (en) * | 2006-09-29 | 2011-02-01 | Intel Corporation | Tamper protection of software agents operating in a vitual technology environment methods and apparatuses |
US20080162805A1 (en) * | 2007-01-03 | 2008-07-03 | Springfield Randall S | Method and Apparatus for Using Non-Addressable Memories of a Computer System |
US8108856B2 (en) | 2007-03-30 | 2012-01-31 | Intel Corporation | Method and apparatus for adaptive integrity measurement of computer software |
US8032897B2 (en) * | 2007-07-31 | 2011-10-04 | Globalfoundries Inc. | Placing virtual machine monitor (VMM) code in guest context to speed memory mapped input/output virtualization |
US8522236B2 (en) * | 2007-12-28 | 2013-08-27 | Intel Corporation | Method and system for establishing a robust virtualized environment |
US8307360B2 (en) * | 2008-01-22 | 2012-11-06 | Advanced Micro Devices, Inc. | Caching binary translations for virtual machine guest |
US8032660B2 (en) * | 2008-12-30 | 2011-10-04 | Intel Corporation | Apparatus and method for managing subscription requests for a network interface component |
US9229758B2 (en) * | 2011-10-28 | 2016-01-05 | International Business Machines Corporation | Passive monitoring of virtual systems using extensible indexing |
CN104937550B (zh) | 2013-01-15 | 2019-03-26 | 英派尔科技开发有限公司 | 以函数为目标的虚拟机切换 |
US10102374B1 (en) | 2014-08-11 | 2018-10-16 | Sentinel Labs Israel Ltd. | Method of remediating a program and system thereof by undoing operations |
US9710648B2 (en) | 2014-08-11 | 2017-07-18 | Sentinel Labs Israel Ltd. | Method of malware detection and system thereof |
US11507663B2 (en) | 2014-08-11 | 2022-11-22 | Sentinel Labs Israel Ltd. | Method of remediating operations performed by a program and system thereof |
US9779240B2 (en) * | 2015-01-30 | 2017-10-03 | Vmware, Inc. | System and method for hypervisor-based security |
KR101729680B1 (ko) * | 2015-12-01 | 2017-04-25 | 한국전자통신연구원 | 경량 하이퍼바이저에 기반하는 운영체제의 제공 방법 및 장치 |
CN105373451B (zh) * | 2015-12-07 | 2018-06-12 | 中国联合网络通信集团有限公司 | 一种虚拟机放置的方法及装置 |
US10963280B2 (en) | 2016-02-03 | 2021-03-30 | Advanced Micro Devices, Inc. | Hypervisor post-write notification of control and debug register updates |
US11695800B2 (en) | 2016-12-19 | 2023-07-04 | SentinelOne, Inc. | Deceiving attackers accessing network data |
US11616812B2 (en) | 2016-12-19 | 2023-03-28 | Attivo Networks Inc. | Deceiving attackers accessing active directory data |
JP2020530922A (ja) * | 2017-08-08 | 2020-10-29 | センチネル ラボ, インコーポレイテッドSentinel Labs, Inc. | エッジネットワーキングのエンドポイントを動的にモデリングおよびグループ化する方法、システム、およびデバイス |
US10628591B2 (en) * | 2017-11-20 | 2020-04-21 | Forcepoint Llc | Method for fast and efficient discovery of data assets |
US11470115B2 (en) | 2018-02-09 | 2022-10-11 | Attivo Networks, Inc. | Implementing decoys in a network environment |
US11025638B2 (en) | 2018-07-19 | 2021-06-01 | Forcepoint, LLC | System and method providing security friction for atypical resource access requests |
US11134087B2 (en) | 2018-08-31 | 2021-09-28 | Forcepoint, LLC | System identifying ingress of protected data to mitigate security breaches |
US11245723B2 (en) | 2018-11-02 | 2022-02-08 | Forcepoint, LLC | Detection of potentially deceptive URI (uniform resource identifier) of a homograph attack |
US11171980B2 (en) | 2018-11-02 | 2021-11-09 | Forcepoint Llc | Contagion risk detection, analysis and protection |
US11295026B2 (en) | 2018-11-20 | 2022-04-05 | Forcepoint, LLC | Scan, detect, and alert when a user takes a photo of a computer monitor with a mobile phone |
US11297099B2 (en) | 2018-11-29 | 2022-04-05 | Forcepoint, LLC | Redisplay computing with integrated data filtering |
US11050767B2 (en) | 2018-12-17 | 2021-06-29 | Forcepoint, LLC | System for identifying and handling electronic communications from a potentially untrustworthy sending entity |
US11379426B2 (en) | 2019-02-05 | 2022-07-05 | Forcepoint, LLC | Media transfer protocol file copy detection |
US11562093B2 (en) | 2019-03-06 | 2023-01-24 | Forcepoint Llc | System for generating an electronic security policy for a file format type |
JP7278423B2 (ja) | 2019-05-20 | 2023-05-19 | センチネル ラブス イスラエル リミテッド | 実行可能コード検出、自動特徴抽出及び位置独立コード検出のためのシステム及び方法 |
US11579857B2 (en) | 2020-12-16 | 2023-02-14 | Sentinel Labs Israel Ltd. | Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach |
US11899782B1 (en) | 2021-07-13 | 2024-02-13 | SentinelOne, Inc. | Preserving DLL hooks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004095275A2 (en) * | 2003-04-22 | 2004-11-04 | Red Hat, Inc. | Method and apparatus for creating an execution shield |
EP1674965A2 (en) * | 2004-12-21 | 2006-06-28 | Microsoft Corporation | Computer security management, such as in a virtual machine or hardened operating system |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809160A (en) | 1985-10-28 | 1989-02-28 | Hewlett-Packard Company | Privilege level checking instruction for implementing a secure hierarchical computer system |
JP3369580B2 (ja) | 1990-03-12 | 2003-01-20 | ヒューレット・パッカード・カンパニー | 直接メモリアクセスを行うためのインターフェース装置及び方法 |
US5491806A (en) * | 1990-06-26 | 1996-02-13 | Lsi Logic Corporation | Optimized translation lookaside buffer slice having stored mask bits |
US5483641A (en) | 1991-12-17 | 1996-01-09 | Dell Usa, L.P. | System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities |
US5312673A (en) | 1992-07-28 | 1994-05-17 | Bradford Industries, Inc. | Adhesive system for athletic lettering and the like |
EP0721621B1 (en) | 1993-09-30 | 2002-01-30 | Apple Computer, Inc. | System for decentralized backing store control of virtual memory in a computer |
US5634043A (en) | 1994-08-25 | 1997-05-27 | Intel Corporation | Microprocessor point-to-point communication |
US5687370A (en) | 1995-01-31 | 1997-11-11 | Next Software, Inc. | Transparent local and distributed memory management system |
FR2744818B1 (fr) | 1996-02-12 | 1998-03-27 | Bull Sa | Procede de verification de la conservation de l'integrite d'une requete emise sans protection par un client vers un serveur au moyen de l'integrite de la reponse |
US5991881A (en) | 1996-11-08 | 1999-11-23 | Harris Corporation | Network surveillance system |
US6360244B1 (en) | 1997-04-11 | 2002-03-19 | Fujitsu Limited | System and method for multi-level memory domain protection |
US6075938A (en) | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US6163834A (en) | 1998-01-07 | 2000-12-19 | Tandem Computers Incorporated | Two level address translation and memory registration system and method |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6105137A (en) | 1998-07-02 | 2000-08-15 | Intel Corporation | Method and apparatus for integrity verification, authentication, and secure linkage of software modules |
US6321276B1 (en) | 1998-08-04 | 2001-11-20 | Microsoft Corporation | Recoverable methods and systems for processing input/output requests including virtual memory addresses |
US6704925B1 (en) * | 1998-09-10 | 2004-03-09 | Vmware, Inc. | Dynamic binary translator with a system and method for updating and maintaining coherency of a translation cache |
US7516453B1 (en) * | 1998-10-26 | 2009-04-07 | Vmware, Inc. | Binary translator with precise exception synchronization mechanism |
US6732220B2 (en) | 1999-02-17 | 2004-05-04 | Elbrus International | Method for emulating hardware features of a foreign architecture in a host operating system environment |
US6775779B1 (en) | 1999-04-06 | 2004-08-10 | Microsoft Corporation | Hierarchical trusted code for content protection in computers |
WO2001001262A1 (fr) | 1999-06-24 | 2001-01-04 | Fujitsu Limited | Controleur de peripherique et systeme d'entree/sortie |
US7650504B2 (en) | 1999-07-22 | 2010-01-19 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US6751737B1 (en) | 1999-10-07 | 2004-06-15 | Advanced Micro Devices | Multiple protected mode execution environments using multiple register sets and meta-protected instructions |
US6738882B1 (en) | 1999-11-30 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Concurrent multi-processor memory testing beyond 32-bit addresses |
US7270193B2 (en) | 2000-02-14 | 2007-09-18 | Kabushiki Kaisha Toshiba | Method and system for distributing programs using tamper resistant processor |
US6553438B1 (en) | 2000-04-24 | 2003-04-22 | Intel Corporation | Methods and system for message resource pool with asynchronous and synchronous modes of operation |
US6931540B1 (en) | 2000-05-31 | 2005-08-16 | Networks Associates Technology, Inc. | System, method and computer program product for selecting virus detection actions based on a process by which files are being accessed |
US6751720B2 (en) | 2000-06-10 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Method and system for detecting and resolving virtual address synonyms in a two-level cache hierarchy |
US6996551B2 (en) | 2000-12-18 | 2006-02-07 | International Business Machines Corporation | Apparata, articles and methods for discovering partially periodic event patterns |
US6907600B2 (en) | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
DE10105284A1 (de) | 2001-02-06 | 2002-08-29 | Infineon Technologies Ag | Mikroprozessorschaltung für Datenträger und Verfahren zum Organisieren des Zugriffs auf in einem Speicher abgelegten Daten |
US6567897B2 (en) | 2001-03-01 | 2003-05-20 | International Business Machines Corporation | Virtualized NVRAM access methods to provide NVRAM CHRP regions for logical partitions through hypervisor system calls |
US20030037237A1 (en) | 2001-04-09 | 2003-02-20 | Jean-Paul Abgrall | Systems and methods for computer device authentication |
US6684305B1 (en) | 2001-04-24 | 2004-01-27 | Advanced Micro Devices, Inc. | Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence |
CA2446584A1 (en) | 2001-05-09 | 2002-11-14 | Ecd Systems, Inc. | Systems and methods for the prevention of unauthorized use and manipulation of digital content |
US7478394B1 (en) | 2001-06-04 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | Context-corrupting context switching |
US6671791B1 (en) | 2001-06-15 | 2003-12-30 | Advanced Micro Devices, Inc. | Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms |
US6920534B2 (en) | 2001-06-29 | 2005-07-19 | Intel Corporation | Virtual-port memory and virtual-porting |
US8001594B2 (en) | 2001-07-30 | 2011-08-16 | Ipass, Inc. | Monitoring computer network security enforcement |
US6685567B2 (en) | 2001-08-08 | 2004-02-03 | Igt | Process verification |
US6883116B2 (en) | 2001-09-27 | 2005-04-19 | International Business Machines Corporation | Method and apparatus for verifying hardware implementation of a processor architecture in a logically partitioned data processing system |
US6823433B1 (en) | 2001-11-13 | 2004-11-23 | Advanced Micro Devices, Inc. | Memory management system and method for providing physical address based memory access security |
US6850994B2 (en) | 2001-11-16 | 2005-02-01 | Microsoft Corporation | Method for determining status of a computer device and detecting device behavior in response to a status request |
US6804741B2 (en) | 2002-01-16 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Coherent memory mapping tables for host I/O bridge |
US7058768B2 (en) | 2002-04-17 | 2006-06-06 | Microsoft Corporation | Memory isolation through address translation data edit control |
JP2003330365A (ja) | 2002-05-09 | 2003-11-19 | Toshiba Corp | コンテンツ配布/受信方法 |
US6922766B2 (en) | 2002-09-04 | 2005-07-26 | Cray Inc. | Remote translation mechanism for a multi-node system |
US6895491B2 (en) | 2002-09-26 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching |
US7028229B2 (en) | 2002-09-30 | 2006-04-11 | Sun Microsystems, Inc. | Kernel event subscription and publication system and method |
US7107497B2 (en) | 2002-09-30 | 2006-09-12 | Sun Microsystems, Inc. | Method and system for event publication and subscription with an event channel from user level and kernel level |
US7111200B2 (en) | 2003-04-17 | 2006-09-19 | International Business Machines Corporation | Apparatus and method for debugging a logical partition |
US20040226009A1 (en) | 2003-05-09 | 2004-11-11 | International Business Machines Corporation | System and method for software application task abstraction |
US6961852B2 (en) | 2003-06-19 | 2005-11-01 | International Business Machines Corporation | System and method for authenticating software using hidden intermediate keys |
US7010630B2 (en) | 2003-06-30 | 2006-03-07 | International Business Machines Corporation | Communicating to system management in a data processing system |
US7103779B2 (en) | 2003-09-18 | 2006-09-05 | Apple Computer, Inc. | Method and apparatus for incremental code signing |
US7542026B2 (en) | 2003-11-03 | 2009-06-02 | International Business Machines Corporation | Apparatus method and system for improved feedback of pointing device event processing |
US20050132122A1 (en) | 2003-12-16 | 2005-06-16 | Rozas Carlos V. | Method, apparatus and system for monitoring system integrity in a trusted computing environment |
US20050138417A1 (en) | 2003-12-19 | 2005-06-23 | Mcnerney Shaun C. | Trusted network access control system and method |
US7225325B2 (en) | 2003-12-30 | 2007-05-29 | International Business Machines Corporation | Customizing a computer system by using stored configuration parameters in a configuration mechanism |
CN100383763C (zh) * | 2004-02-27 | 2008-04-23 | 中国人民解放军国防科学技术大学 | 基于操作系统反向页表的页迁移和复制方法 |
US7831838B2 (en) | 2004-03-05 | 2010-11-09 | Microsoft Corporation | Portion-level in-memory module authentication |
US20050213768A1 (en) | 2004-03-24 | 2005-09-29 | Durham David M | Shared cryptographic key in networks with an embedded agent |
US7653727B2 (en) | 2004-03-24 | 2010-01-26 | Intel Corporation | Cooperative embedded agents |
US8584239B2 (en) * | 2004-04-01 | 2013-11-12 | Fireeye, Inc. | Virtual machine with dynamic data flow analysis |
US7594124B2 (en) | 2004-06-09 | 2009-09-22 | Intel Corporation | Cross validation of data using multiple subsystems |
US7558966B2 (en) | 2004-06-09 | 2009-07-07 | Intel Corporation | Notifying remote administrator of platform integrity determination |
US20050289311A1 (en) | 2004-06-29 | 2005-12-29 | David Durham | System and method for secure inter-platform and intra-platform communications |
US7644287B2 (en) | 2004-07-29 | 2010-01-05 | Microsoft Corporation | Portion-level in-memory module authentication |
US20060026387A1 (en) | 2004-07-31 | 2006-02-02 | Dinechin Christophe D | Method and system for recognizing instructions and instruction blocks in computer code |
US7934076B2 (en) * | 2004-09-30 | 2011-04-26 | Intel Corporation | System and method for limiting exposure of hardware failure information for a secured execution environment |
US7765544B2 (en) * | 2004-12-17 | 2010-07-27 | Intel Corporation | Method, apparatus and system for improving security in a virtual machine host |
US7571474B2 (en) | 2004-12-30 | 2009-08-04 | Intel Corporation | System security event notification aggregation and non-repudiation |
US7886126B2 (en) | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
US7577848B2 (en) | 2005-01-18 | 2009-08-18 | Microsoft Corporation | Systems and methods for validating executable file integrity using partial image hashes |
CN100365590C (zh) * | 2005-01-31 | 2008-01-30 | 浙江大学 | 在嵌入式系统模拟器上调试应用程序的方法 |
US7739517B2 (en) | 2005-03-31 | 2010-06-15 | Intel Corporation | Hardware-based authentication of a software program |
US7603484B2 (en) | 2005-04-21 | 2009-10-13 | Microsoft Corporation | Protocol for communication with a user-mode device driver |
US20060294596A1 (en) | 2005-06-27 | 2006-12-28 | Priya Govindarajan | Methods, systems, and apparatus to detect unauthorized resource accesses |
US7953980B2 (en) | 2005-06-30 | 2011-05-31 | Intel Corporation | Signed manifest for run-time verification of software program identity and integrity |
US20070005935A1 (en) | 2005-06-30 | 2007-01-04 | Khosravi Hormuzd M | Method and apparatus for securing and validating paged memory system |
US20070006175A1 (en) | 2005-06-30 | 2007-01-04 | David Durham | Intra-partitioning of software components within an execution environment |
US20070006307A1 (en) | 2005-06-30 | 2007-01-04 | Hahn Scott D | Systems, apparatuses and methods for a host software presence check from an isolated partition |
US7761674B2 (en) | 2005-12-30 | 2010-07-20 | Intel Corporation | Identifier associated with memory locations for managing memory accesses |
US9390031B2 (en) | 2005-12-30 | 2016-07-12 | Intel Corporation | Page coloring to associate memory pages with programs |
US7882318B2 (en) | 2006-09-29 | 2011-02-01 | Intel Corporation | Tamper protection of software agents operating in a vitual technology environment methods and apparatuses |
JP4270293B2 (ja) | 2007-03-05 | 2009-05-27 | 株式会社デンソー | 燃料噴射弁 |
US8364973B2 (en) | 2007-12-31 | 2013-01-29 | Intel Corporation | Dynamic generation of integrity manifest for run-time verification of software program |
-
2006
- 2006-09-29 US US11/541,474 patent/US7802050B2/en not_active Expired - Fee Related
-
2007
- 2007-09-28 DE DE102007046475A patent/DE102007046475A1/de not_active Withdrawn
- 2007-09-28 FR FR0757961A patent/FR2907242B1/fr not_active Expired - Fee Related
- 2007-09-28 GB GB0719018A patent/GB2442350B/en not_active Expired - Fee Related
- 2007-09-29 CN CN2007101929138A patent/CN101221608B/zh not_active Expired - Fee Related
- 2007-10-01 KR KR1020070098808A patent/KR100938306B1/ko not_active IP Right Cessation
- 2007-10-01 NL NL1034451A patent/NL1034451C2/nl not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004095275A2 (en) * | 2003-04-22 | 2004-11-04 | Red Hat, Inc. | Method and apparatus for creating an execution shield |
EP1674965A2 (en) * | 2004-12-21 | 2006-06-28 | Microsoft Corporation | Computer security management, such as in a virtual machine or hardened operating system |
Also Published As
Publication number | Publication date |
---|---|
FR2907242B1 (fr) | 2018-04-06 |
CN101221608A (zh) | 2008-07-16 |
US7802050B2 (en) | 2010-09-21 |
FR2907242A1 (fr) | 2008-04-18 |
GB2442350A (en) | 2008-04-02 |
US20080082722A1 (en) | 2008-04-03 |
GB2442350B (en) | 2008-09-10 |
GB0719018D0 (en) | 2007-11-07 |
KR100938306B1 (ko) | 2010-01-22 |
KR20080029945A (ko) | 2008-04-03 |
CN101221608B (zh) | 2011-03-02 |
DE102007046475A1 (de) | 2008-07-17 |
NL1034451A1 (nl) | 2008-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL1034451C2 (nl) | Het bewaken van een uitvoeringspatroon voor een doelagent op een systeem dat geschikt gemaakt is voor vt. | |
KR101946982B1 (ko) | 가상 머신에서 멀웨어 탐지를 위한 프로세스 평가 | |
Cheng et al. | A lightweight live memory forensic approach based on hardware virtualization | |
US11777705B2 (en) | Techniques for preventing memory timing attacks | |
CN109923546B (zh) | 虚拟机安全性应用程序的事件过滤 | |
CN105393229B (zh) | 虚拟机中的页面错误注入 | |
CN104205113B (zh) | 向操作系统报告恶意活动 | |
CN106897121B (zh) | 一种基于虚拟化技术的无代理客户机进程防护方法 | |
US10061918B2 (en) | System, apparatus and method for filtering memory access logging in a processor | |
Prakash et al. | Enforcing system-wide control flow integrity for exploit detection and diagnosis | |
US10114948B2 (en) | Hypervisor-based buffer overflow detection and prevention | |
Wang et al. | Vmdetector: A vmm-based platform to detect hidden process by multi-view comparison | |
CN111428240B (zh) | 一种用于检测软件的内存违规访问的方法及装置 | |
Du et al. | Dynamic integrity measurement model based on vTPM | |
EP2720170B1 (en) | Automated protection against computer exploits | |
Ghosh et al. | On the feasibility of deploying software attestation in cloud environments | |
Delgado et al. | EPA-RIMM: An Efficient, Performance-Aware Runtime Integrity Measurement Mechanism for Modern Server Platforms | |
Yi et al. | DADE: a fast data anomaly detection engine for kernel integrity monitoring | |
Cheng et al. | Investigating the hooking behavior: A page-level memory monitoring method for live forensics | |
US20240020377A1 (en) | Build system monitoring for detecting abnormal operations | |
Sutherland et al. | On the creation of a secure key enclave via the use of memory isolation in systems management mode | |
Pham | Multi-layered Monitoring for Virtual Machines | |
CN113268726A (zh) | 程序代码执行行为的监控方法、计算机设备 | |
Wang et al. | Transparent security-sensitive process protection via vmm-based process shadowing | |
Lin et al. | POSTER: TraceVirt: A Framework for Detecting the Non-tampering Attacks in the Virtual Machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AD1A | A request for search or an international type search has been filed | ||
RD2N | Patents in respect of which a decision has been taken or a report has been made (novelty report) | ||
PD2B | A search report has been drawn up | ||
MM | Lapsed because of non-payment of the annual fee |
Effective date: 20191101 |