Часто встречаемым дефектом в системах является так называемое «подразумеваемое доверие».

Пусть некая подпрограмма «A» передает управление подпрограмме «B» и передает ей некоторые параметры.

Подпрограмма «B» считает, что вызвавшая ее подпрограмма работает правильно и осуществляет все необходимые проверки. А сама подпрограмма «A» полагается на то, что эти проверки выполнит «B».

В результате никакого контроля в действительности не осуществляется.

Пользовательские процессы во время своего выполнения в обязательном порядке производят обращения к операционной системе. При выполнении этих системных вызовов ОС может пользоваться некоторой критической информацией.

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

Часто оказывается возможным легко угадать пароли или определить их с помощью повторных проб.

Это происходит в том случае, если система либо использует слишком короткие пароли, либо не используется механизм «пороговые значения».

После определенного числа некорректных попыток входа следует заблокировать данного пользователя или терминал, с которого пытались войти в систему и сообщить об этом администратору.

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

Если система не отслеживает данную ситуацию, то рано или поздно процесс получит в свое распоряжение ресурс, не имея на то никаких прав.