Глава 13. ИЗЪЯНЫ СРЕДСТВ УДАЛЕННОГО УПРАВЛЕНИЯ
|
Изъяны средств удаленного управления Неотъемлемой чертой глобальной единой экономики является то, что и управлять ею нужно глобально. Вспомогательный персонал не всегда может оказаться на месте, чтобы подойти к закапризничавшему компьютеру и устранить проблему. Какой же выход? Программное обеспечение удаленного управления. |
Обзор программ удаленного управления Каждая программа, предназначенная для работы в сети, ожидает установки соединений, открывая для этого определенные порты узла. Число и тип этих портов полностью определяется самой программой. Сканируя порты какого-то компьютера, можно определить все работающие на нем программы удаленного управления. Остается только удивляться, как много пользователей устанавливают такое программное обеспечение без соответствующих санкций и требуемой поддержки.
Как всегда, для одновременного сканирования нескольких сетей и обнаружения всех систем, от которых можно ждать неприятностей, мы рекомендуем использовать сценарий на языке Perl, который можно найти на Web-узле http://www.hackingexposed.com. |
Соединение Как только взломщик получит всю необходимую информацию о службах удаленного управления рабочих станций и серверов, скорее всего, он попытается получить к ним доступ. После установки с параметрами, используемыми по умолчанию, практически все приложения удаленного управления позволяют устанавливать соединение любому пользователю. Причем для этого не требуется указывать ни имя, ни пароль. (Взломщикам это нравится.) |
Раскрываемые пароли Программа Revelation компании SandBoy Software (http://www.sandboy.com) представляет собой одно из незаменимых средств. Единственный исполняемый файл размером 14 Кбайт позволяет получить хранящиеся в оперативной памяти пароли многих популярных программ удаленного управления. |
Загрузка профилей Как только взломщикам удастся проникнуть в систему NT и каким-нибудь способом получить административные привилегии, они смогут загрузить свои собственные профили (например, файлы . CIF или MAIN. SAB) и автоматически получить доступ к системе, пользуясь своим собственным паролем! Этой атаке подвержена как программа pcAnywhere, так и Remotely Possible 4.0. Для этого взломщику достаточно выполнить следующие действия. Контрмеры Для повышения защищенности и устранения перечисленных выше недостатков можно воспользоваться несколькими приемами. Выполнение следующих шагов позволит значительно повысить уровень безопасности установленного программного обеспечения. Использование паролей Хотя необходимость этой меры предосторожности очевидна и интуитивно понятна всем администраторам, имена пользователей и пароли на удаленных узлах применяются далеко не всегда. Производители программ тоже не всегда стремятся помочь в данной ситуации, надеясь на администраторов. Как видно из рис. 13.2, схема аутентификации, используемая в программе pcAnywhere по умолчанию, является весьма либеральной. Чтобы исправить эту ситуацию, просто установите режим Specify individual caller privileges.
Усиленные требования к паролям Некоторые приложения, такие как pcAnywhere, позволяют повысить требования к используемым паролям, например сделать их чувствительными к регистру. Чтобы активизировать этот режим, откройте диалоговое окно свойств сети (NETWORK properties). Затем перейдите во вкладку Security Options и установите флажок Make passwords case sensitive. Как видно из рис. 13.3, этот режим по умолчанию отключен. Альтернативная аутентификация Большинство приложений позволяет активизировать процедуру аутентификации в форме, отличной от принятой в системе NT. Однако по умолчанию этот режим обычно не активизирован. Несмотря на то, что при этом придется поддерживать два набора имен и паролей пользователей, такая возможность с успехом может расстроить планы взломщиков.
В программах Remotely Possible и ControlIT по умолчанию используются собственные механизмы аутентификации, тогда как в Timbuktu и ReachOut по умолчанию применяется аутентификация NT. При этом проблема состоит в том, что после успешного взлома злоумышленник сразу же получает пароли всех пользователей приложений удаленного управления. Дополнительные возможности использования паролей Программы Timbuktu и pcAnywhere предоставляют дополнительные возможности использования паролей, которыми следует пользоваться при любой возможности. Так, в pcAnywhere можно защитить паролем профили как исходящего, так и входящего соединения. Это не позволит кому-либо постороннему выведать пароль аутентификации, скрытый за звездочками. Установить пароль на доступ к профилям программы pcAnywhere (т.е. повысить уровень безопасности) можно в диалоговом окне NETWORK Properties во вкладке Protect Item, как показано на следующем рисунке.
Выход из системы после завершении сеанса связи Программы Remotely Possible/ControlIT, pcAnywhere и ReachOut можно настроить так, чтобы после окончания сеанса связи выполнялся также выход из системы. Такая возможность оказывается чрезвычайно важной, поскольку если администратор забудет выйти из системы после выполнения своей работы, кто-либо другой сможет воспользоваться его привилегиями. Кодирование сообщений во время сеанса связи В более ранних версиях многих программ удаленного управления можно было перехватить имена пользователей и пароли во время их передачи по сети или разгадать простые алгоритмы шифрования. Удостоверьтесь в том, что используется наивысший уровень шифрования, обеспечиваемый программным обеспечением. Наилучшим средством для проверки надежности алгоритмов шифрования является программа анализа сетевых пакетов SnifferPro от компании Network Associates (http://www. nai.com) Остается только удивляться, насколько слабыми оказываются алгоритмы шифрования, применяемые в некоторых программных продуктах. Ограничение числа попыток регистрации Большинство приложений позволяет ограничить количество попыток регистрации. В случае превышения заданного значения система будет заблокирована. Данная возможность хороша тем, что может отпугнуть взломщика, и он обратит свое внимание на менее защищенные системы. Даже если этого не произойдет, администратор сможет узнать об атаке и предпринять соответствующие меры. Мы рекомендуем ограничиться тремя неудачными попытками регистрации. Учет неудачных попыток регистрации Следует регистрировать как успешные, так и неудачные попытки регистрации. Для этого можно использовать либо журнал регистрации событий системы NT, либо соответствующие файлы самих приложений удаленного управления. Эта информация значительно облегчит обнаружение попыток взлома и выявление злоумышленников. Блокирование пользователей, которым не удалось зарегистрироваться Это одна из наиболее важных возможностей. Однако в большинстве приложений удаленного управления она отсутствует. ReachOut от компании Stac Electronics оказалась единственной из всех протестированных нами программ, в которой реализован так называемый режим IntmderGuard (защита от нарушителей). Для активизации этого важного режима выполните следующие действия. Изменение порта, прослушиваемого по умолчанию Многие не рассматривают изменение порта, используемого по умолчанию, как эффективную меру повышения безопасности, поскольку в ее основе лежит внутренне противоречивая парадигма "безопасность за счет сокрытия". Однако полученный нами практический опыт говорит о том, что применение подобных правил является достаточно эффективным. Другими словами, для обеспечения безопасности нужно предпринимать любые возможные меры. Пусть данная мера не позволит полностью защитить систему, но по крайней мере она может задержать дальнейшее продвижение взломщика, |
Какой пакет является наилучшим с точки зрения безопасности К сожалению, на поставленный вопрос ответить нелегко. Каждый программный продукт имеет свои преимущества и недостатки. Наилучший пакет должен сочетать в себе возможности различных программ. Обладая всеми другими современными возможностями, он, скорее всего, оказался бы слишком сложным. Далее приводится краткое описание основных средств удаленного управления, а также их сравнительная характеристика. |
pcAnywhere На современном рынке программа pcAnywhere компании Symantec (http://www.symantec.com) является одной из самых популярных. В значительной мере ее притягательность для потребителя определяется ее безопасностью. У всех приложений есть свои недостатки, но по сравнению с другими программными продуктами pcAnywhere обладает наиболее мощными средствами обеспечения безопасности. К другим возможностям относятся надежное шифрование паролей, механизм альтернативной аутентификации, установка паролей на файлы профилей и конфигурационных параметров, выход пользователя из системы после завершения сеанса связи, шифрование сетевого трафика, ограничение числа попыток регистрации, а также регистрация неудачных попыток. К сожалению, как и многие другие приложения, pcAnywhere не способна противостоять программе Revelation, предназначенной для получения пароля. Более подробную информацию по этому поводу можно найти в . разделе этой главы "Раскрываемые Пароли". |
ReachOut Программа ReachOut компании Stac Electronics (http://www.stac.com)— еще один добротный программный продукт, предназначенный для удаленного управления. Однако он предоставляет меньше возможностей для обеспечения безопасности. В этой программе отсутствуют средства реализации строгой политики выбора паролей, альтернативной аутентификации, а также защиты паролем файлов профилей и конфигурационных параметров. Однако не все упрощения программы ReachOut являются отрицательными. Она использует единственный порт TCP/UDP с номером 43188, что значительно ограничивает возможности взломщиков. |
Remotely Anywhere Remotely Anywhere (http://www.remotelyanywhere.com) является новичком среди программ данного класса, однако, несмотря на это, выглядит многообещающей. Этот программный продукт позволяет удаленно управлять рабочим столом, а по возможностям общего системного управления программа Remotely Anywhere выделяется среди других средств. Кроме обычных функций удаленного управления, с помощью Web-броузера она позволяет выполнять почти все административные функции, имеющиеся в системе NT.
|
Remotely Possible/ControllT ControlIT — известный и популярный продукт компании Computer Associates (http://www.cai.com). Однако эта программа предоставляет наиболее низкий уровень безопасности. Помимо того что в ее более ранних версиях использовались имена и пароли в виде незашифрованного текста, даже в последних версиях реализованы ненадежные алгоритмы шифрования, что делает пароли уязвимыми для злоумышленников. Производители не обеспечили поддержки строгой политики использования паролей, а также возможности установки пароля для доступа к файлам профилей и конфигурационных параметров. Кроме того, в программе отсутствуют средства аудита неудачных попыток регистрации и защита от применения программы Revelation. |
Timbuktu Приложение Timbuktu Pro 32 компании Netopia (http://www.netopia.com) — еще одно средство удаленного управления, широко применяемое в больших организациях. Эта программа предоставляет все стандартные инструменты удаленного управления, а также несколько дополнительных возможностей. Этот программный продукт позволяет совместно использовать экран нескольким пользователям одновременно, а также обладает такими надежными средствами защиты, как ограничение минимальной длины пароля, управление повторным использованием паролей, альтернативная аутентификация |
Virtual Network Computing (VNC) Программа Virtual Network Computing разработана в Англии, в лаборатории AT&T Research Labs Кембриджского университета. Ее можно найти по адресу https://www.comparitech.com/vpn/what-is-a-vnc-and-how-does-it-differ-from-a-vpn/. Программа обладает многими уникальными возможностями. Во-первых, ее можно использовать на многих платформах. Этот программный продукт можно устанавливать на компьютеры под управлением системы Windows, Linux и Solaris, а просматривать — в Windows, Linux, Solaris, Macintosh и даже с помощью Windows СЕ. Кроме того, эта программа имеет интерфейс на языке Java, что позволяет ее использовать через такие Java-совместимые броузеры, как Netscape Communicator и Microsoft Internet Explorer. Лучше всего то, что программа VNC является бесплатной!
Ниже каждая из этих атак будет рассмотрена более подробно. Прямой подбор паролей VNC
Основным механизмом защиты сервера VNC от несанкционированного доступа является пароль, выбранный системным администратором. В этой книге уже не раз отмечалось, что взлом проще всего осуществить, если используются ненадежные пароли. Поскольку серверу VNC зачастую предоставляются высокие привилегии, решительно настроенный взломщик, проявив определенное упорство, сможет подобрать пароль сервера VNC "в лоб", простым перебором. Для подбора паролей VNC можно воспользоваться дополнительной программой rfbproto.c , которую можно применить к клиентскому приложению vncviewer. С помощью команды patch программу rfbproto.c нужно применить к пакету vnc-3.3.3rl_unixsrc.tgz. В следующем примере демонстрируется, как легко подобрать пароль сервера VNC. [crush] # vncviewer 192.168.1.101 Модифицированный клиент vncviewer быстро перебрал предоставленный список паролей и отгадал пароль test. После этого программа vncviewer соединилась с удаленным сервером и взломщик получил полный контроль над системой. Подобный подбор паролей производится очень быстро, и сервер VNC никак не реагирует на неудачные попытки регистрации. Контрмеры: защита от подбора паролей VNС
При настройке сервера VNC важно выбрать надежный пароль. В нем должно содержаться не меньше восьми символов. Пароль не должен быть словом или производной от слова, найденного в словаре. Не забывайте о том, что пароль — это единственная преграда, стоящая между взломщиком и системой. Так что выбирайте его очень внимательно! Перехват сетевого трафика
Если пакет VNC установлен без каких бы то ни было модификаций, то после аутентификации шифрование потока сообщений между клиентом и сервером не выполняется. Не стоит надеяться на то, что если этот поток сообщений сжат, то его труднее перехватить, чем, скажем, в сеансе telnet. Поскольку файлы с исходным кодом VNC найти очень легко, то не составит особого труда и разработать специальный перехватчик сообщений VNC. Поэтому установка соединения с сервером VNC без применения шифрования сопряжена с большим риском. Хотя исходный пароль VNC передается с использованием механизма "вопрос/ответ", весь поток сообщений передается в незашифрованном виде. Вполне возможно, что взломщик сможет отследить передаваемые сообщения и перехватить пароли, вводимые пользователями при регистрации. Контрмеры: предотвращение перехвата сетевого трафика
К счастью, существуют различные механизмы, которые можно использовать для шифрования трафика VNC. Первым и основным из них является использование оболочки ssh, с помощью которой можно организовать защищенный канал между клиентом и сервером VNC. . Кроме того, к исходному коду пакета VNC можно применить дополнительные модули (http://web.mit.edu/thouis/vnc/), которые позволяют реализовать шифрование по открытому ключу. И наконец, для контроля каждого IP-адреса, с которого происходит доступ, можно использовать ТСР-оболочки (http://www.uk.research.att.com/vnc/archives/1998-09/0168.html). Ненадежный метод хранения паролей VNC
В октябре 1999 года Конд Вампиро (Conde Vampiro) сообщил о некоторых изъянах программы VNC (http://www.roses-labs.com/advisory/RLvncbug.txt). Самый серьезный недостаток связан с тем, как служба VNC хранит пароль сервера VNC (а именно в системном реестре Windows). Хотя пароль сервера VNC шифруется с помощью алгоритма 3DES, при этом пароль каждый раз сохраняется с использованием фиксированного ключа (23 82 107 6 35 78 88 7). Это еще один наглядный пример неумелого применения надежного алгоритма шифрования (3DES). Поскольку ключ известен, то можно без проблем расшифровать пароль любого сервера VNC. /*поместите в массив р[] хеш-код пароля*/ После этого можно скомпоновать исполняемый файл vndec, а затем запустить его. [shadow]# vncdec Как видно из примера, пароль сервера test без особых усилий можно перевести в незашифрованный текстовый формат. Контрмеры против ненадежного хранения паролей VNС
В последней версии программы, доступной во время написания данной книги, этот недостаток все еще не был устранен. Наилучшей зашитой от доступа взломщиков к системному реестру является использование средств обеспечения безопасности на уровне серверов. В главах 5 и 6 приведен исчерпывающий список мер предосторожности систем Windows NT и 2000. |
Citrix Клиентская программа ICA (Independent Computing Architecture) и программа MultiWin компании Citrix обеспечивают возможность реализации многопользовательской среды в Windows NT, являющейся однопользовательской операционной системой (конечно, терминальный сервер системы NT и Win 2000 с терминальными службами являются исключениями). Серверный продукт WinFrame и программа MetaFrame, предназначенная для использования вместе с NT Terminal Server, предосташшют то, что в мире UNIX имеется уже несколько десятков лет: многопользовательские возможности. |
Резюме Программное обеспечение удаленного управления существенно облегчает управление распределенными сетевыми узлами. Настроив эти программы надлежащим образом, администратор может облегчить свою жизнь, соединяясь с рабочими станциями пользователей и устраняя практически любую проблему. |