Концепция изоляции – вариант безопасного выполнения кода
Концепция изоляции – вариант безопасного выполнения кода
Под chroot в UNIX-подобных операционных системах подразумевается техника, позволяющая создать изолированную среду – имитацию корневого каталога файловой системы. Запущенная в такой среде любая программа будет воспринимать только указанный рабочий каталог – и «ни шагу влево». chroot затрагивает только текущий процесс и всех его потомков. Программа в такой изолированной среде не может обращаться к файлам вне этого каталога, что обеспечивает надежный способ защиты в случае компрометации программы в chroot.
К слову будет сказано, chroot-каталог может быть использован, чтобы сымитировать реальную систему с запущенными сетевыми сервисами. Такой искусственно созданный механизм безопасности может быть использован как "наживка" для взломщиков, или honeypot.
Jail, или «тюрьма», – механизм изолирования выполнения процессов в операционных системах UNIX. Системный вызов jail заключает процесс и всех его потомков в изолированную среду выполнения. Процесс, выполняющийся в jail, не имеет возможности получить доступ к тому, что не принадлежит jail. Более того, даже суперпользователь – root – не в состоянии выполнить большинство операций, которые он может выполнять снаружи от jail.
Если chroot и Jail – это инструменты безопасности, обсуждаемые в контексте UNIX-систем, то о следующем инструменте безопасности так сказать нельзя.
Виртуальная машина (от англ. virtual machine) представляет собой программную или аппаратную среду, исполняющую некоторый код. Фактически, как это и следует из названия, виртуальная машина эмулирует работу реального компьютера. Виртуальная машина, как и реальная, может иметь свою операционную систему (и даже несколько), обслуживаемую искусственно эмулированным «железом»: BIOS, ОЗУ, жесткий диск (часть места на жестком диске реального компьютера).
В контексте обеспечения безопасности применение виртуальных машин оправдано там, где высока вероятность поражения вредоносным кодом или нельзя допустить выхода из строя основной системы. Установив несколько виртуальных машин на одну реальную, можно легко и просто сымитировать локальную сеть.
В качестве примеров наиболее популярных виртуальных машин можно привести VMWare, Xen (для UNIX-подобных систем), Microsoft Virtual PC.
Live-CD представляет собой загрузочный диск, на котором имеется все необходимое для развертывания виртуальной операционной системы прямо в памяти компьютера. Live-CD может оказаться особенно полезным, когда необходимо получить доступ к файловой системе, поврежденной или инфицированной вирусом. Применение Live-CD также оправдано в нестандартных вариантах работы пользователя (например, на чужом компьютере или на компьютере без винчестера и т. д.). Примеры LiveCD – Windows LiveCD, Linux Knoppix LiveCD.
Вовсе не надо быть гением, чтобы проследить закономерность – логическую связь между вышеперечисленными техниками безопасности: в каждом из случаев выполнение кода идет в изолированной среде, не затрагивая при этом рабочую зону основной системы.
Данный текст является ознакомительным фрагментом.