Bitdefender Hypervisor Memory Introspection
_EVENT_INTEGRITY_VIOLATION Struct Reference

Event structure for integrity violations on monitored structures. More...

#include <intro_types.h>

Data Fields

INTRO_VIOLATION_HEADER Header
 The alert header. More...
 
struct {
   INTRO_MODULE   Module
 The module that modified the monitored region. More...
 
   INTRO_PROCESS   Process
 The module to which the current code return to. More...
 
Originator
 
struct {
   INTRO_MODULE   Module
 The module that modified the translation. More...
 
Return
 
struct {
   INTRO_OBJECT_TYPE   Type
 
   WCHAR   Name [ALERT_PATH_MAX_LEN]
 NULL-terminated string with a human readable description of the modified object. More...
 
   union {
      INTRO_PROCESS   Process
 The process which had the access token modified. Valid only if Type is introObjectTypeTokenPtr. More...
 
      INTRO_DRVOBJ   DriverObject
 The modified driver object. Valid only if Type is introObjectTypeDriverObject. More...
 
      BYTE   IdtEntry
 The modified IDT entry. Valid only if Type is introObjectTypeIdt. More...
 
   } 
 
Victim
 
union {
   INTRO_WRITE_INFO   WriteInfo
 
   INTRO_SEC_DESC_INFO   SecDescWriteInfo
 
}; 
 
QWORD BaseAddress
 The guest virtual address at which the monitored integrity region starts. More...
 
QWORD VirtualAddress
 The guest virtual address which was modified. More...
 
DWORD Size
 The size of the modified memory area. More...
 

Detailed Description

Event structure for integrity violations on monitored structures.

These events are triggered by the integrity check mechanism, which is invoked on the timer event, so Introcore may not always be able to block them. For the same reason the information needed for the alert may no longer be present in the guest memory when Introcore detects the violation.

Definition at line 1572 of file intro_types.h.

Field Documentation

◆ @306

union { ... }

◆ BaseAddress

◆ DriverObject

INTRO_DRVOBJ _EVENT_INTEGRITY_VIOLATION::DriverObject

The modified driver object. Valid only if Type is introObjectTypeDriverObject.

Definition at line 1597 of file intro_types.h.

Referenced by IntWinDrvObjSendIntegrityAlert().

◆ Header

◆ IdtEntry

BYTE _EVENT_INTEGRITY_VIOLATION::IdtEntry

The modified IDT entry. Valid only if Type is introObjectTypeIdt.

Definition at line 1599 of file intro_types.h.

Referenced by IntWinIdtSendIntegrityAlert(), and IntWinIntObjSendIntegrityAlert().

◆ Module

INTRO_MODULE _EVENT_INTEGRITY_VIOLATION::Module

◆ Name

◆ Originator

◆ Process

INTRO_PROCESS _EVENT_INTEGRITY_VIOLATION::Process

The module to which the current code return to.

The process which had the access token modified. Valid only if Type is introObjectTypeTokenPtr.

Definition at line 1579 of file intro_types.h.

Referenced by IntLixTaskSendCredViolationEvent(), IntWinSDSendAclIntegrityViolation(), IntWinSDSendSecDescIntViolation(), IntWinTokenPrivsSendIntegrityAlert(), and IntWinTokenPtrCheckIntegrityOnProcess().

◆ Return

struct { ... } _EVENT_INTEGRITY_VIOLATION::Return

◆ SecDescWriteInfo

INTRO_SEC_DESC_INFO _EVENT_INTEGRITY_VIOLATION::SecDescWriteInfo

The original and the new value of the security descriptor address, buffer and hash (valid only if INTRO_OBJECT_TYPE is introObjectTypeSecDesc or introObjectTypeAcl).

Definition at line 1610 of file intro_types.h.

Referenced by IntWinSDSendAclIntegrityViolation(), and IntWinSDSendSecDescIntViolation().

◆ Size

◆ Type

◆ Victim

◆ VirtualAddress

◆ WriteInfo


The documentation for this struct was generated from the following file: