Глава 9 Прошлое и настоящее сетевых операционных систем
Глава 9 Прошлое и настоящее сетевых операционных систем
Извечной и зловещей мечтой вирусов является абсолютное мировое господство, и, как ни ужасны методы, коими они в настоящее время пользуются, им нельзя отказать в настойчивости, изобретательности и способности к самопожертвованию во имя великой цели.
А. Стругацкий, Б. Стругацкий. Сказка о тройке
В предыдущей части книги были рассмотрены протоколы TCP/IP и показаны их слабые стороны с точки зрения безопасности. Эти протоколы (соответственно и изъяны в них) являются в большей степени независимыми от конкретной их реализации в операционных системах или программах, то есть любая из них в той или иной степени небезопасна. При этом неудачная реализация протоколов еще больше усиливает заложенную в них уязвимость.
Однако протоколы никогда не являлись непосредственной целью атаки кракера. Его действия всегда направлены на определенный компьютер с конкретной реализаций протоколов TCP/IP, с конкретной операционной системой и конкретным набором приложений, поэтому нетрудно предположить, что хакеры также занимаются исследованием особенностей разных ОС и приложений. Ясно, что такие атаки будут специфичными не только для конкретных ОС и программ, но и для их версий и диалектов, хотя и в этом случае можно выделить некоторые общие механизмы атак, классифицировать их и те уязвимости ОС, которые делают подобные атаки возможными.
Пришло время рассмотреть сетевые операционные системы, составляющие большинство в сегодняшней Сети, – семейства UNIX и Windows.
Internet – это сеть UNIX-машин. Такое утверждение является не совсем справедливым в наше время, когда успех и конкурентоспособность операционной системы напрямую зависят от того, насколько легко они интегрируются в Сеть. Однако сеть Internet (вернее, ее прадед – ARPANET) возникла именно из необходимости связать между собой UNIX-компьютеры, которые были самыми распространенными и прогрессивными в то время. (Кстати, UNIX-идеология наложила свой отпечаток и на все основные сетевые протоколы.) Мы ни в коем случае не хотим принизить значение принципов построения UNIX для развития операционных систем, но общеизвестно, что у этой ОС в ее классическом варианте слишком много проблем с безопасностью, причем проблемы настолько глубоки, что корректное и надежное их искоренение приведет к перерождению UNIX как таковой – это будет новая операционная система. Много пролито слез по этому поводу: «Ах, если бы разработчики UNIX уделили больше внимания безопасности». Но не следует забывать, что все концепции UNIX прорабатывались в начале 70-х годов, когда практически не было никакой теории компьютерной безопасности, а создатели и вовсе делали ее «под себя», не подозревая, насколько теснее (появятся сети) и опаснее (появятся кракеры) станет компьютерный мир через несколько лет.
Следовательно, современные операционные системы (Novell Netware, Windows NT) оказываются в заведомо более выгодном положении – они разрабатывались, во-первых, с учетом ошибок UNIX и современной ситуации с безопасностью сетей, а во-вторых, сразу придерживались четкой концепции клиент – сервер, при которой, в частности, клиенту еще надо доказать, что он тот, за кого себя выдает. Из сказанного читатель может сделать вывод, что современные системы являются более безопасными, чем добрая старая UNIX. К сожалению, нет. И вряд ли кто-то может дать четкий ответ, какая же из ОС является более, а какая менее безопасной.
Да, у UNIX есть серьезные изъяны по части безопасности, и именно на UNIX были осуществлены самые громкие компьютерные атаки, однако она используется в качестве сетевой ОС с момента зарождения Сети, и опыт ее использования позволяет говорить о том, какого рода атаки на нее возможны, а какие – нет. Исследователями написаны, а администраторами изучены сотни статей и книг относительно механизмов безопасности UNIX и способов их нарушения, построены соответствующие классификации. Все это позволяет предположить, что никаких сюрпризов UNIX больше не преподнесет.
С новыми операционными системами ситуация в корне противоположная. Да, в них заложены концепции, согласующиеся с современным состоянием теории безопасности, – и мощные модели разграничения доступа, и надежная подсистема аутентификации, и аудит. Однако именно молодость делает ОС «темными лошадками», которые активно исследуются как хакерами, так и кракерами (а репутация фирм-производителей и агрессивная маркетинговая политика только активизируют их усилия). Похоже, что операционные системы, не совместимые с UNIX, несмотря на печальный опыт своей предшественницы, начинают проходить тот же самый путь и совершать те же самые ошибки в обеспечении безопасности (на другом витке спирали, естественно). И до окончательного вывода о качествах этих ОС еще далеко. Сравните – червь Морриса появился спустя 15 лет после выпуска UNIX и спустя 5 лет после включения в нее поддержки TCP/IP. А выход Windows NT 4.0 состоялся в 1996 году.
Описанию подсистемы безопасности, уязвимых мест, механизмов атак и защиты от них в двух самых популярных на сегодняшний день ОС – UNIX (различные версии) и Windows NT (версия 4.0) – и посвящена эта глава.
Классификация пользователей и типовых сценариев атак в UNIX
Рассмотрим основные пути получения взломщиком несанкционированного доступа на UNIX-компьютере.
Как известно, в UNIX различают два вида пользователей – обычный пользователь, имеющий права на доступ в рамках своего идентификатора ( UID, user id) и членства в группе (GID, group ID), и так называемый суперпользователь (root), имеющий неограниченные права (UID и GID у него равны специальному значению 0).
Данный текст является ознакомительным фрагментом.