- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Атака на Internet - Илья Медведовский
Шрифт:
Интервал:
Закладка:
Однако протоколы никогда не являлись непосредственной целью атаки кракера. Его действия всегда направлены на определенный компьютер с конкретной реализаций протоколов 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).
...Каждый пользователь UNIX в текущий момент может быть членом только одной группы, поэтому он имеет один UID и один GID.
По мере развития ОС среди обычных пользователей выделились так называемые специальные пользователи. Они, как правило, имеют зарезервированные имена (например, guest, bin, uucp и т. п.) и номера UID и GID (например, меньше 100). Хотя в защите UNIX нет никакого особого механизма, отличающего специального пользователя от обычного, можно сказать, что первый имеет еще меньше прав, чем второй. В частности, специальным пользователям обычно нельзя зайти в систему нормальным образом. Самым интересным для нас примером специального пользователя является анонимный пользователь ftp, который так и называется – anonymous, или ftp.
Наконец, условно к категории пользователей можно отнести человека, удаленно подключившегося (обычно по протоколу TELNET) к вашей машине и взаимодействующего с одной из программ-демонов (в современной терминологии такие программы называются серверами). Эти программы обычно стартуют при загрузке машины, чаще всего от имени суперпользователя, и постоянно активны как процессы, что позволяет пользователю в любой момент удаленно подключаться к ним, но при этом он не имеет никаких прав на чтение/запись информации на вашем компьютере и вообще не идентифицируется системой UNIX (команда who). Однако он может исполнять некоторые команды – не программы UNIX, а команды-запросы к тому демону, к которому он подключен. Так, подключившись по протоколу TELNET на 25-й порт, можно вводить команды SMTP-сервера, например mail или expn. Последний тип пользователя (назовем его псевдопользователь) оказывается чуть ли не самым важным для нашего рассмотрения, так как, не обладая никакими правами и обязанностями (кстати, от него не требуется аутентификации, учет по нему тоже не ведется), он взаимодействует с демонами, которые практически всегда имеют полномочия суперпользователя.
Итак, условно иерархию пользователей на UNIX-машине можно представить следующим образом:
0. Суперпользователь – неограниченные права.
1. Обычный пользователь – права с ограничениями, установленными для него суперпользователем.
2. Специальный пользователь – права с ограничениями, установленными ему суперпользователем для работы с конкретным приложением.
3. Псевдопользователь – нет никаких прав, он вообще не идентифицируется системой.
Очевидно, что любой пользователь Internet всегда имеет привилегии третьего уровня на вашем хосте, а также, если поддерживается соответствующий сервис, привилегии второго уровня.
Таким образом, задачей хакера является несанкционированное получение привилегий более высокого уровня. (Заметим, что необязательно конечной целью хакера является получение именно привилегий суперпользователя – вирус Морриса, например, даже и не пытался сделать этого.) Эту задачу он, очевидно, может попытаться решить различными путями: либо получить сразу требуемые привилегии, либо постепенно наращивать их. Рассмотрим далее типовые сценарии получения привилегий и средства UNIX, делающие их возможными.
1. «Сразу в дамки» – имея привилегии третьего уровня, хакер получает права суперпользователя. Как уже отмечалось, такой фантастический прыжок возможен благодаря механизму демонов UNIX, отвечающих за обработку удаленных запросов. Так как эти демоны чаще всего выполняются от имени суперпользователя, то все, что нужно псевдопользователю, – это знать существующие «дыры» или ошибки в этих демонах (или найти самому), которые позволят эксплуатировать их нестандартным или запрещенным образом. Обычно это сводится к возможности удаленно выполнить от их имени любую команду на атакуемом хосте, какую конкретно – зависит от намерений и характера хакера. Иногда это может быть создание ошибочной ситуации, приводящей к аварийному завершению демона с выдачей дампа памяти на диск, содержащий весьма полезную для хакера информацию (например, кэшированные пароли). Типичными примерами уязвимых демонов были и остаются sendmail, ftpd, fingerd. Новые демоны (типа httpd или talkd) имеют гораздо меньшую историю эксплуатации, поэтому известно меньшее число их дыр и, соответственно, они перспективнее для поиска новых.