Приемы профессиональной работы в UNIX

СИСТЕМНЫЙ РЕЖИМ


Данный прием, пожалуй, редко применяется, если только у вас нет человека, который очень близко знаком с низкоуровневым функционированием того или иного процессора, используемого в вашей машине. Он может проникнуть в сердце аппаратного оборудования и пристроиться поверх операционной системы. Тем не менее, администраторы должны осознавать, что такие вещи возможны.

Во многих процессорах, например в процессоре Motorola 68000, имеется регистр состояния процессора (Processor Status Register), называемый обычно PSW, хотя у разных процессоров он может называться по -разному. PSW содержит бит, определяющий, работает ли машина в "супервизорном" или в пользовательском режиме. Этот режим важен для многопользовательской аппаратуры, поскольку все пользовательские программы работают в пользовательском режиме, что сегментирует и защищает память от "коллизий" между процессами.

С другой стороны, ядро работает в супервизорном режиме. Это означает, что защита памяти не действует и центральный процессор может изменять содержимое любой ячейки памяти во всей машине. Ядру необходима такая возможность, поскольку ядро поддерживает механизм своппинга для перемещения процесса в защищенную память и из нее, когда процесс выполняется.

Если нарушители безопасности могут получить в прграмму, работающую в системном режиме, то они получают возможность изменять всю память в системе. Последствия могут варьироваться от абсолютного разрушения, например записывания нулей в каждую ячейку памяти, до способности читать и сортировать данные в памяти, включая пароли и другую информацию с очень ограниченным к ней доступом.

Для того чтобы добиться системного режима, нарушителю необходима возможность сгенерировать и установить новое ядро. Используемый метод зависит от того, есть ли у нарушителя исходный текст программ ядра. Приводимые нами подробности относятся к процессору 68000, но могут быть аналогичными для других процессоров.



Содержание раздела