Вы думаете Windows NT - безопасная система? На самом деле лишь некоторые ее конфигурации сертифицированы по классу защищенности C2. В большинстве же случаев компьютер под управлением Windows NT - прекрасная мишень для нападения. В этой статье обсуждаются некоторые возможные дефекты системы безопасности Windows.

Естественно, рассматриваются только лицензионные копии этой операционной системы. О безопасности пиратских версий говорить не приходится.

Права доступа к конфигурационным файлам

В Windows NT по умолчанию установлены такие права доступа к файлам конфигурации, что любой пользователь может не только прочитать их, но и изменить. Это - большой недостаток, так как пользователь, изменяя конфигурацию какой-либо программы, может намеренно или случайно вывести машину из строя. Причем это можно сделать даже удаленно на любом доступном сервере или рабочей станции (обычно доступны все серверы и компьютеры, которые разрешают доступ внешним пользователям).

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

Можно, конечно, анализировать записи конфигурационных файлов и выделять те из них, которые были сделаны не администратором. Но такой способ не решает проблемы. Глупо разрешать пользователю взламывать систему, а потом наказывать его за неправомочные действия. Чтобы не искушать пользователей изменять конфигурацию системы или ее отдельные части, очевидно, нужно запретить запись в конфигурационные файлы для всех пользователей, кроме администратора.

В ноябре 1995 г. Microsoft выпустил новую версию Windows NT - 3.51, в документации к которой подтверждена опасность неправильного распределения полномочий. Однако предложенное там решение неэффективно. Даже если сделать дерево HKEY_LOCAL_MACHINE доступным только на чтение для всех пользователей, то проблема все равно остается, так как администратор просто не в состоянии проанализировать права доступа для 6000 конфигурационных файлов и правильно их установить. Однако у хакеров для этого время найдется.

Удаленное исполнение процедур

Программы Windows NT используют удаленный запуск процедур (RPC) для доступа к другим компьютерам. Например, именно удаленное исполнение процедур дает возможность изменять конфигурационные файлы на удаленном компьютере.

RPC-сервер Windows NT проверяет имя RPC-клиента и на основе этого дает ему соответствующие полномочия. И если можно заставить RPC-сервер неправильно определять имя пользователя или устанавливать права доступа, то хакеры могут торжествовать. К сожалению, только Microsoft знает, насколько это возможно, так как RPC-сервер Windows NT имеет плохую документацию.

SMB

Сеансы протокола SMB, которые использует Windows NT для передачи файлов, можно подделать или перехватить еще проще, чем сеансы протокола NFS для Unix. Это существенно, так как NFS считается одним из основных недостатков безопасности систем Unix.

Шлюзовая машина может перехватить сеанс SMB и получить такой же доступ к файловой системе, как и легальный пользователь, открывший сеанс. Но, к счастью, шлюзовые машины редко используются в локальных сетях. А если попытку такого нападения предпримет компьютер в Ethernet или Token Ring-сети, в которой находится клиент или сервер SMB, то атаку выполнить достаточно трудно. Основная проблема - перехватывать пакеты, передаваемые между атакуемой машиной и реальным получателем.