Вопрос: Как сделать систему безопасности виртуальных машин?

Лучший ответ:
Краткий ликбез в то как работает виртуализация, чтобы чуть чуть продвинуть вас в вопросе про решение. Начнём с простого, как работает x86 система? 
Очень укрупнённо и упрощённо, она работает тактами. Каждый такт, процессор выполняет какие либо действия, что-то считает, что-то читает, что-то записывает. 
Каждый такт, на процессор поступает набор инструкций и они выполняются. 
В каждом такте у нас есть кусочек памяти, с которой мы можем работать - регистры. Какие-то мы можем читать и записывать, какие-то можем только читать, какие-то показывают нам текущее состояние. Регистров много и они разные.
У нас есть таблица прерываний - она показывает нам состояние системы, состояние оборудования и устройств ввода и вывода. 
И много всего ещё. Всё это называет Контекст исполнения. 
Помимо прочего, у процессора (опять же если упростить) есть система безопастности основанная на уровнях привилегий процесса. Для Windows (и многих других систем), например, это два уровня: ядро (нулевой уровень, уровень ядра) и пользовательский (User-mode). Процесс (а в данном приближении - инструкции) запущенные на разных уровнях имеют различные привилегии, различный доступ к регистрам и прочим ресурсам и имеют различный Контекст исполненияКак работает ОС в штатном режиме?
Операционная система запускает приложения, передаёт им управление на определённое время, делит процессор между приложениями согласно их приоритетам, их потребностям, наличию фокуса на окне, прерыванием от оборудования или драйверов, забирает процессор, если есть процесс важнее или если есть ожидание чего-либо (чтение, запись диска, сеть и тыды).
Сама ОС и её драйвера, процессы, службы и прочее - работают в определённом Контексте исполнения, он частично меняется для каждого приложения, но не значительно. 
ОС (её ядро), часть процессов и часть драйверов - работают на нулевом уровне, с максимальными привилегиями, могут писать\читать куски памяти, писать в любое место, могут читать большинство регистров и так далее. С точки зрения ОС, что такое виртуальная машина?
Ничего. Ну то есть прям вот так, для ОС нет никакого процесса или представления, для ОС (хостовой ОС) виртуальной машины не существует. А что есть? Ало? 
Есть процесс - гипервизард (если чуть точнее - мониторинг виртуальной машины - VMM). В его задачи входит следить за контекстом исполнения, за прерываниями, забирать управление у гостевой или хостовой ОС. Менять контекст исполнения и возвращать всё назад. И как это работает?Такт первый, в комнате двое ОС и VMM. 
ОС, вздыхая, присаживаясь на кушетку:
- Кажется я немного устала и дел на сегодня больше нет
VMM:
- Тогда пожалуй мне пора. 
Выходит из комнаты с чайникомТакт второй, улица, фонарь, двое в тени.
VMM:
- Псс, слышь, процессор интересует? 
Некто:
- О! И маска процессора мне нравится и вообще круто, только регистры что-то не вижу, где, позвольте VT-D? 
VMM:
- Чё сказал? Брать будешь нет? 
Некто: 
- Да ладно, ладно, я ж только спросил, буду конечно, быть виртуалкой меня ещё поучиТак третий. Заключительный
В комнате накуренно, разбросаны бутылки, пахнет жжёными тряпками. Где-то смеются.
Мужчина в трусах и с пультом от PS4 уставился в монитор. Дверь срывается с петель и падает на пол.
VMM врываясь:
- Всем выйти из сумрака! Это ночной дозор! 
*переводя на компьютерные термины. 
Для ОС VMM это процесс. ОС передаёт ему управление, как обычному процессу. Тот, меняет контекст исполнения (меняет все все регистры. Или почти все все регистры) и передаёт управление гостевой ОС, та выполняет какую-то свою работу (заведомо зная что она виртуализирована). Дальше гипервизард ставит гостевую ОС на паузу и возвращает всё назад. ПОсле этого хостовая ОС получает свой контекст исполнения и делает свою работу. 
И так такт за тактом. 
Поступило прерывание? Проверили кому оно, сменили контекст исполнения, доставили прерывание, почистили таблицы, вернули назад. 
**на самом деле всё чуть сложнее. И с прерываниями, и с уровнями доступа, и с регистрами, и с оборудованием, и тыды, но это выходит за пределы вопроса (и мне лень). 
***речь идёт про аппаратную виртуализацию. 
Возвращаясь к вашему вопросу. Как вы хотите из хостовой системы увидеть, что творится в ОС гостя без "особого вмешательства"? 
Смените тему диплома. ПОкопайте как работает виртуализация. Сама по себе это очень годная тема для изучения.

Худший ответ:
vShield Endpoint работает путём анализа файловых систем внутри гостевых ОС. То есть, он в состоянии разобрать гостевую ФС, понять, что там за каталоги и файлы и прочитать их содержимое. Операции внутри ОС ("что качал и что запускал") он контролировать и даже просматривать не в состоянии. По этой схеме максимум что вы можете делать -- это отслеживать изменения каких-то критичных файлов, таких как /etc/passwd или /boot/kernel. И при их изменении выдавать предупреждение.
И ещё большой вопрос -- какой набор гостевых ФС он поддерживает. NTFS/EXT3/EXT4 -- наверняка. А если внутри будет ZFS? XFS? BTRFS? Будет облом :-)