Часто встречаемым дефектом в системах является так называемое «подразумеваемое доверие».
Пусть некая подпрограмма «A» передает управление подпрограмме «B» и передает ей некоторые параметры.
Подпрограмма «B» считает, что вызвавшая ее подпрограмма работает правильно и осуществляет все необходимые проверки. А сама подпрограмма «A» полагается на то, что эти проверки выполнит «B».
В результате никакого контроля в действительности не осуществляется.
Пользовательские процессы во время своего выполнения в обязательном порядке производят обращения к операционной системе. При выполнении этих системных вызовов ОС может пользоваться некоторой критической информацией.
Проблема заключается в том, что эта информация, либо ее следы, по завершении выполнения системного вызова могут остаться в адресном пространстве пользовательского процесса. А раз так, то при желании эта информация может быть извлечена и проанализирована обычным пользователем.
Часто оказывается возможным легко угадать пароли или определить их с помощью повторных проб.
Это происходит в том случае, если система либо использует слишком короткие пароли, либо не используется механизм «пороговые значения».
После определенного числа некорректных попыток входа следует заблокировать данного пользователя или терминал, с которого пытались войти в систему и сообщить об этом администратору.
Сюда же можно отнести и следующий дефект. Часто операционная система для предоставления пользовательским процессам некоторого ресурса запрашивает пароль для доступа к нему. В результате обычный пользовательский процесс может постоянно запрашивать доступ к этому ресурсу, перебирая возможные значения пароля.
Если система не отслеживает данную ситуацию, то рано или поздно процесс получит в свое распоряжение ресурс, не имея на то никаких прав.
Следите за