Среди людей, занимающихся незаконной деятельностью в сфере информационных технологий, распространена методика сокрытия конфиденциальных данных и манипуляций с ними с помощью виртуальных машин. Концепция виртуализации операционной системы подразумевает создание песочницы для приложений, работающих в ее окружении. Теоретически: гостевая ОС не должна оставлять следов в основной ОС и манипулировать ее данными. Именно это подталкивает многих взломщиков работать исключительно в рамках виртуальной машины.
В данном посте я рассмотрю некоторые каналы утечки данных из гостевой системы в основную, чтобы показать: степень конфиденциальности – весьма относительная метрика.
В клиентских линейках многих операционных систем присутствует режим гибернации. При переходе в данный режим содержимое оперативной памяти отображается на жесткий диск и при стандартных настройках системы остается до следующего перехода. Риск сохранения состояния гостевой ОС на жестком диске довольно высок и не стоит списывать его со счетов.
Второй вариант также связан с оперативной памятью. Для ускорения работы ОС существует механизм постраничного сохранения участков оперативной памяти, которые не используются довольно продолжительное время (swap). Далее, при обращении к такому участку он восстанавливается в оперативную память. Соль этого механизма в том, что все эти манипуляции производятся прозрачно для пользователя и последний никак не может повлиять на процесс копирования.
Изменение размера файла подкачки снижает, но не устраняет риск попадания данных о состоянии сеанса гостевой ОС на жесткий диск из оперативной памяти. В свою очередь, полное отключение свопа устраняет потенциальный источник «утечки», но снижает скорость работы системы в целом. Тут придется идти на компромисс.
Возможно использование сторонних утилит для постоянной очистки файла подкачки. Однако, если все таки отдается предпочтение «конфиденциальность» данных «скорости» повседневной работы, то, на мой взгляд, swap лучше просто отключить, чем использовать специальное ПО для его постоянной очистки. Конечно, это дела вкуса. Однако сам факт использования сторонних утилит для манипуляции со swap и его многократной перезаписи заставляет думать, что пользователю есть что скрывать.
Тем самым я хочу сказать, что дополнительные утилиты создают лишь повод задуматься, с какой целью их используют. В данном случае можно обойтись и без них с эквивалентным результатом.