Хакер или администратор?
АрхивЗнаете, когда каждый день встречаешься с людьми на работе, трудно заподозрить их в черных мыслях. Репортажи о взломах сетей, краже информации из компьютеров все еще кажутся нереальными. Рассказы о взломе компьютеров Пентагона слушаешь с интересом, но они с трудом накладываются на нашу действительность.
- Вот в Америке - это да! А у нас и брать-то нечего.
- А если есть, то кому? Они же не умеют!
Это неправда. По статистике больше всего компьютерных преступлений совершается сотрудниками (или бывшими сотрудниками) фирмы. В любой организации есть секретная информация, и все большая ее часть оказывается доверенной компьютеру. Мотивы могут быть разные: деньги, месть, желание поиграть, любопытство, неудовлетворенное чувство собственной значимости. Это намного проще, чем забраться в чужой дом и стащить столовое серебро. Несколько нажатий на клавиши и все: многолетняя работа потеряна навсегда. Нужно быть готовым к тому, что таким человеком может оказаться любой. Как в детективе Агаты Кристи. Нормы морали ныне слабо сдерживают людей от многочисленных соблазнов. Интернет дает любому неподготовленному человеку возможность взломать сложную компьютерную систему. Достаточно запустить поисковую машину, и каждый сможет найти инструкции для начинающих хакеров и боевой арсенал для нападения. Это намного проще, чем разыскать отмычку!
Ваша задача, как администратора сети (шерифа городка в прериях), состоит в том, чтобы изобличить преступника или, лучше, предотвратить преступление. Нападение через Интернет заслуживает отдельного разговора, поэтому я хотел бы обратить внимание на локальную сеть, которая имеется практически в любой организации. Это может оказаться сложным, но всегда интересно состязаться с умным противником. Взять хотя бы Кевина Митника, одного из самых известных хакеров современности. Что заставило его проникнуть в компьютер ведущего специалиста по компьютерной безопасности Цутому Шимомуры? Мания величия или же иные причины - неважно, но такие люди очень опасны, потому что они думают о взломе вашей сети постоянно. А сколько раз в день вы думаете о защите? Противостояние меча и щита, брони и снаряда будет продолжаться все время, пока существует мир. Победителями в этом сражении становятся только временно. Показательно то, что меч изобрели раньше, чем щит. Значит, ваш противник всегда на один шаг впереди.
Какую же стратегию защиты сети выбрать?
Пассивный вариант предполагает включение всех защитных механизмов, имеющихся в наличии, внимательное наблюдение за всеми историями взлома, регулярное залатывание дыр. Это вполне традиционное поведение, и от хакеров оно спасти не может. В самом деле, разве не обнаруживают то одну дыру, то другую в программах Microsoft, Netscape и других? Ошибки неизбежны, и считать систему безопасной можно, лишь ничего не зная о ней. Это напоминает спокойствие человека, сидящего на бомбе с зажженным фитилем, не зная об этом. Его нельзя считать смелым: он не знает. Хотите примеров? - Пожалуйста!
Первым оборонительным редутом обычно считается пароль в BIOS. Если злоумышленник не имеет доступа к работающему компьютеру, то, по идее, единственным выходом для него будет разборка корпуса и снятие пароля. Это затрудняет действия хакера и заставляет его оставить следы взлома. И что вы скажете: для BIOS AWARD 4.22-4.50 имеются универсальные пароли! А ведь AWARD BIOS в настоящее время очень распространен. Я был в шоке, когда набрал на своем домашнем компьютере слово "AWARD_SW" и система меня впустила. Как вам это нравится? У меня было такое чувство, что я остался голым! Пусть в версиях выше 4.50 это исправлено, но уже появилась утилита unaward3, которая читает и пароли новой версии. Нужно лишь заставить пользователя запустить маленькую программу (под видом законной), и пароль перекочует в чужой карман!
Novell Netware (так же как и Windows NT) можно считать относительно защищенной ОС. Если соблюсти все рекомендации по безопасности, можно заставить хакера попотеть. Тем не менее, расслабляться не следует, так как известно достаточно способов обхода этой защиты.
- Если злоумышленник получает доступ к файл-серверу, пусть и выключенному, через 15 минут он получит на ней права администратора. Кому интересно, может прочитать "The Unofficial Netware Hack FAQ" (www.tsu.tomsk.su/~eugene/) и убедиться в этом.
- Если пользователь получает доступ к машине администратора, он может установить небольшой перехватчик кодов клавиатуры типа GETIT. Так как в выходном файле будет куча мусора, можно взять NWL, ориентированную на запись нажатий после запуска login. Заметит администратор, или нет?
- Если физического допуска на машину администратора нет, можно положиться на более сложную процедуру анализа пакетов.
- Но гораздо проще взять CHKNULL. Это отличная программа, которая после запуска выдает список пользователей, у которых нет паролей. Она не делает ничего противозаконного с точки зрения ОС!
Дыр в защите Windows NT тоже немало (www.hackzone.ru).
- Получить доступ к тому NTFS из ДОС можно с помощью специального драйвера ntfsdos (www.sysinternals.com/ntfs13.htm).
- Если вы забыли убрать права изменения для Everyone (они имеются по умолчанию) в каталогах %systemroot% и %systemroot%\system32, то этим кто-нибудь вполне может воспользоваться. Чтобы легче было контролировать назначенные права, воспользуйтесь программой DumpAcl (http://somarsoft.com/ftp/DUMPACL.ZIP).
- Поддельные DLL (типа fpnwclnt) позволяют выводить в файл пароли и права пользователей.
- При переименовании выполняемых файлов они все равно будут запущены. Например: start readme.doc (readme.doc может оказаться утилитой rollback или любой другой программой).
- Если Administrator имеет право входа в систему через сеть, то это позволяет хакеру запустить процедуру угадывания пароля, так как для администратора нет защиты по числу неудачных попыток.
- Достаточно много ошибок защиты связано с привилегированными Microsoft-программами типа IIS, FrontPage и другими (http://ntsecurity.com/News/bugs/alert.html, http://www.iss.net/vd/ntfaq.html). Часть багов исправлена, другие остаются. Но как мы можем узнать, сколько сделано новых?
Однако подлинной "дырой в защите" нужно назвать Windows 95. Эта система, можно сказать, оптимизирована для взлома. Сама себя она защитить никак не может, поэтому запрос пароля на вход в Windows 95 можно назвать насмешкой над пользователем. Хуже всего, что система запоминает вводимые пароли в PWL-файлах и в кэше. Для тех, кто еще не очень в курсе, разъясняю, что при вводе нового имени и пароля в каталоге Windows 95 создается файл с указанным именем и расширением PWL. Для шифровки используется неплохой алгоритм, но в нем записано и имя пользователя, которое вы вводили. Благодаря такой ошибке программа glide успешно читает этот пароль (исправлено в OSR2). Если включено кэширование паролей, то небольшая программа pwlview успешно выбирает их из кэша. В принципе, пароль в Windows 95 потерять не так страшно, его лучше вообще сделать пустым. Ужасно выглядит то, когда пароли в Windows 95, Netware и NT совпадают. Это очень удобно…для хакеров! Многие диски пользователей открыты рабочей группе для чтения. Одним движением можно получить доступ ко всему. Печально и то, что система предлагает сохранять пароли для доступа к отдельным ресурсам. Администратор может случайно забыть, что входил на другой машине, и оставить путь свободным. Утилиту PWLEDIT (из Windows Resource Kit) следовало бы лучше рекламировать.
Двумя лучшими "инструментами" хакеров следует признать Microsoft Excel и Microsoft Word. Макро-вирусы встречаются столь часто, что ухо уже привыкает к знакомой трели DrWeb, и когда ее не слышишь, становится грустно. Написать макрос несложно (особенно если по образцу), а что вставить во вредоносный раздел программы - зависит только от фантазии автора.
Активная защита. Вспомните нашего легендарного BOFH (Bastard of Hell). Как он управлялся со своими юзерами! Сказка сказкою, но в ней намек! Администратор сети - это действительно важный человек в компании, потому что он владеет (или может овладеть) секретной информацией. Он может выведать все и обо всех. О его действиях может не узнать никто. Он - хозяин сети! В компьютерном мире он босс. Администратор может быть самым жестоким тираном, каким вы можете его себе представить, и самым опасным врагом для фирмы. И примеров здесь предостаточно. Как вы думаете, почему на должности специалистов по безопасности известные западные компании часто приглашают бывших хакеров? Потому что они думают иначе, чем обычные люди. Их мышление и навыки такие же, как и у противника. Думать как преступник - намного сложнее. Другой вопрос, а можно ли доверять им?
Активная оборона предусматривает действия, во многом аналогичные хакерским. Чтобы предотвратить преступление, вы должны знать о нем, пока оно еще готовится. Вы должны собрать доказательства, уличающие в подготовке к совершению действия.
Какие мероприятия должны проводиться регулярно, чтобы достичь результата?
По аналогии с полицейским расследованием, вы должны прослушивать разговоры подозреваемых, просматривать их почту, знать об их увлечениях и планах.
Фирме следует утвердить некоторый документ, описывающий права и обязанности пользователей компьютера, и ознакомить с ним персонал. Это снимает отговорки типа "Я не знал, что это нельзя" и дисциплинирует сотрудников, которые дорожат своей работой. В этом документе необходимо упомянуть и об их обязанностях по защите информации, включающих сохранность собственных паролей, резервных копий и т. д. На администратора (или специальное лицо) возлагается контроль выполнения инструкции, включающий в себя разнообразные мероприятия, описанные ниже.
Полное обследование компьютеров постоянно проводить неудобно (слишком долго), но поиск определенных имен файлов и словосочетаний в них осуществить можно. "Ищейку" можно замаскировать под антивирус или что-нибудь другое. Для того чтобы пользователи привыкли, нужно проводить регулярное антивирусное обследование их машин, а затем подменить программу своей. Замечу, что для примеров я буду использовать Netware и Windows NT. Поисковую программу необходимо вставить в системную процедуру регистрации (или входной скрипт). Вывод перенаправляется в некоторый каталог, где пользователи имеют права только на создание файлов. Для создания уникальных имен выходных файлов используется системная переменная - адрес сетевой карты. В Netware удобно использовать следующее имя файла: %P_STATION.%LOGIN_NAME. Если у вас не установлена поддержка длинных имен для Netware, записывайте передаваемый параметр в выходной файл. Тогда внутри файла у вас будет имя типа: A0С941АF04.MANAGER (а файл будет называться A0С941АF04.MAN). После обследования администратор запускает утилиту проверки, которая, пользуясь базой адресов и соответствующих имен, проводит поиск. Можно просматривать и вручную. Для определения имени пользователя по его адресу сетевой карты нужно создать файл с полным списком командой userlist /a, а затем запускать маленький BAT файл:
find "%1" c:\admin\ulist.txt
Чтобы затруднить нарушителю вход с чужих машин и не впасть в заблуждение, используйте ограничение, допускающее вход под данным именем только с определенного компьютера.
Очень хорошо регулярно сканировать жесткие диски пользователей, проверяя размеры всех каталогов. Для этой цели подойдет любая программа типа ncd из Norton Utilities.
ncd /L:t:\log\tree\ %P_STATION.%LOGIN_NAME /batch /t /a
Внимательно рассматривая содержимое, можно узнать кучу интересной информации, например, сколько места занимают игры, а сколько отчеты.
После такой проверки круг подозреваемых резко сужается.
Это единственный способ выявить кражу данных, доступ к которым официально разрешен, но вынос запрещен строжайше. Вот пример из личной практики. База данных фирмы работает под управлением FOXPRO для DOS. Разумеется, пользователи, имеющие права на эту задачу, могут читать файлы из этого каталога. Далее командой "copy" легко можно скопировать базу на свою машину и потихоньку унести копию. К счастью, незадачливый хакер не смог унести данные, и был обнаружен службой безопасности во время поиска покупателей на товар. Когда же начали просматривать офисный компьютер, нашли столько интересной информации, что и представить было трудно.
Могла ли программа-ищейка помочь его обнаружить раньше? В принципе могла! Конечно, хакер мог переименовать и заархивировать файлы. Но ему необходимо прятать значительный объем информации на компьютере. Если бы "ищейка" проверяла объем свободного места на диске и структуру каталогов, то это смогло бы навести на подозрения администратора.
Еще одна интересная игра, выявляющая пристрастия ваших подопечных к компьютерному взлому, называется "ловля на живца". "Живец" - это некий ресурс, который может вызвать у "рыбки" интерес. Например, какой-нибудь популярный декодер паролей или самораспаковывающийся архив с названием password (или любое другое). Создать такую программу достаточно легко. После запуска она запишет файл с сообщением ("поплавок") в каталог ловушки (недоступный для удаления пользователем) и предупредит его об ошибочности его намерений. Небольшая беседа в тесном кругу наверняка отобьет у этого новичка вредные мысли. В итоге никто не пострадал, и преступление не было совершено! Для более опытных хакеров предназначаются и более серьезные ловушки. В качестве наживки нужно использовать настоящего "живца", и "рыбалка" будет очень интересной!
Чтобы получить реальные доказательства, потребуются программы, отслеживающие и протоколирующие действия подозреваемого. Например, spy для DOS. Она записывает все открытые файлы в log-отчет. К сожалению, если пользователь работает под Windows, это не проходит. Но достаточно поискать, и подобные программы легко можно найти. Обязательно нужно использовать средства аудита той операционной системы, которую вы используете. Включение компьютера в нерабочее время, странная активность пользователя, большой объем файлов в неподходящих местах - все это признаки, которые нужно отслеживать. Разумеется, этим должны заниматься специально написанные программы, иначе администратору и вздохнуть будет некогда.
Интересную возможность предоставляют утилиты визуального слежения за работой пользователя. В Netware, при работе пользователя в DOS, это не приводит к сильным задержкам и прекрасно позволяет следить за несколькими экранами поочередно (парочка master и minion). Вы даже можете нажимать клавиши за пользователя. Обычно такие утилиты используются для удаленного управления, но их можно приспособить и чисто для слежки. При работе в Windows скрыть свое пребывание значительно сложнее. И для создания своих программ вам вполне могут подойти хакерские разработки, в большом количестве встречающиеся в Интернете. В самом деле, с мечом нужно бороться мечом!
Очень важно не забыть про контрразведку. То, что за вами могут подсматривать - достаточно очевидно. Как и всегда, в DOS вы можете обнаружить это легче и быстрее, проверяя оперативную память, сравнивая Login с эталоном. Стандартная утилита безопасности SECURITY стоит того, чтобы ее запустить, хотя и выдает кучу ненужной информации. Очень полезна CHKNULL (легко найти в Сети). Она проверяет базу и выдает список пользователей, у которых нет пароля.
Каждый администратор должен уметь писать собственные программы, и желательно, на Си. Воспользовавшись Novell SDK, можно значительно облегчить себе жизнь. К примеру, автоматически сверять список назначенных прав с эталонным, производить сравнение паролей с имеющимися в собственной базе и т. д.
На своей машине, если вы пользуетесь Windows, ставьте хотя бы Windows NT! NT не пустит злоумышленника так просто, как Windows 95.
Какую бы стратегию защиты вы ни выбрали, помните, что фитиль уже зажжен и бомба может взорваться в самый неподходящий момент.
Желаю успеха!
С автором можно связаться по адресу: ds@yarobl.tax.yaroslavl.su