Вечная проблема паролей
На сегодняшний день в связи с развитием сетевых и Интернет технологий,
когда все большее количество, как простой, так и критически важной
информации человек доверяет компьютерам и сети, особую актуальность
приобретает проблема безопасности в компьютерном мире. Многие уже заметили,
что пока компьютеры не были объединены в сеть, о безопасности ходили лишь
слухи. Теперь вы сможете ощутить все это уже на себе. Как всем известно,
большинство используемых сегодня в белорусских сетях систем компьютерной
безопасности основано на контроле доступа по паролям и ключам. В этой статье
рассматривается проблема воровства сетевых паролей.
Цель настоящей статьи не довести до пользователей многотомные
теоретические выкладки из специализированной литературы, но помочь людям,
которым в настоящее время все больше и больше приходится сталкиваться с
информационными технологиями вплотную, приобрести некоторые практические
навыки, которые уже издавна у профессионалов в крови.
Вы можете возражать, что прочитали стандартную инструкцию типа "не
записывай пароль на манжетах", но это далеко не идеальное средство защиты
вашего пароля.
Чем же опасно попадание вашего пароля к злоумышленнику, которым может,
например, оказаться ваш собирающийся уволиться сотрудник или начинающий
хакер студент.
В первом случае, если ваша сеть, например, построена на основе систем
Windows NT и Windows 95, ваш сотрудник-шпион в течение двух-трех суток
элементарными общедоступными средствами взломает всю вашу с большой буквы
корпоративную сеть, включая пароли администраторов и других сотрудников и
далеко не в единичном экземпляре. После удачного декодирования паролей, а
пароль нашего помощника администратора из четырех символов расшифровывался
за считанные доли секунды, злоумышленник получит доступ ко всем без
ограничения информационным ресурсам вашей сети, включая бухгалтерию, учет
кадров, отчеты и прочую недоступную для него ранее информацию.
Во втором случае, если вы, например, имеете коммутируемый доступ к
поставщику услуг сети Интернет, или если вы администратор локальной сети в
образовательной организации, студент столь же элементарными и общедоступными
средствами украдет ваш пароль. В результате вы будете терять кровные
заработанные деньги и не сможете дозваниваться до поставщика услуг Интернет
или под угрозой окажутся долгие часы, дни, а может и месяцы работы других
студентов или преподавателей.
Многие встречали объявления в компьютерной газете с заголовками типа
"Продам пароль..." и, на основе этого, строили различные предположения. На
самом деле все оказывается настолько просто, что украсть чужой пароль сможет
даже понятливый школьник на одном из первых занятий по информатике.
Прежде чем читать дальше, следует учесть, что все материалы в настоящем
документе представлены только с целью информации и не являются каким бы то
ни было побуждением к действию или бездействию. Автор статьи в любом случае
не несет ответственности ни перед кем, за какой бы то ни было прямой,
непрямой, фактический или косвенный ущерб, полученный в результате
использования настоящего материала и материалов, на которые сделаны ссылки в
данной статье.
Для начала рассмотрим различные виды контроля доступа по паролю для
того, чтобы позже понять, насколько просты методы воровства паролей. Среди
современных компьютерных технологий существуют несколько видов контроля
доступа по паролю или ключу, которые по техническим методам можно разделить
на три основных вида.
Для всех видов характерно, когда, при начале работы с информационным
ресурсом, во время запроса доступа к нему, программным обеспечением у
пользователя в диалоговой форме запрашивается ввод пароля с устройства ввода
или клавиатуры. Во время ввода пароля в наиболее отсталых, с технологической
точки зрения, программах пароль отображается на экране прямым текстом, в
более продвинутом программном обеспечении он скрывается символами
заменителями, например, звездочками, или не отображается вовсе. К паролю
обычно прилагается имя пользователя или наименование системного профиля
(счета) пользователя. На некоторых системах имени пользователя не требуется,
но такие системы уже устарели. Сходный алгоритм используется теперь в
основном только при защите лицензионного программного обеспечения от
копирования, например, серийные номера.
Итак, первый вид контроля доступа, когда полученный пароль отправляется
или пересылается через сеть или программе клиенту в виде чистого текста.
Такой вид контроля, например, используется, в таких программах как TELNET,
FTP, POP3, IMAP и других, в основном программах низкого уровня связи. Взлом
здесь не требуется вовсе и кража таких паролей не требует никаких ухищрений.
Второй вид контроля доступа, когда полученный пароль пересылается на
сервер в зашифрованном виде. Такой вид контроля доступа используют,
например, Windows NT, Windows 95 и другие. В частности дополнительными
примерами могут послужить виды контроля доступа к ресурсам серверов WWW в
Интернет. В этом случае придется поискать средства для взлома и расшифровки
паролей, который могут занять время, хотя и не настолько продолжительное,
как это описывают в рекламе.
Существует еще и третий вид контроля доступа, когда пароль является
дополнением к многоуровневой системе безопасности на основе сертификатов
(простые и многоуровневые). Естественно, что сертификаты, как и сам пароль,
передаются в шифрованном виде. Таких систем достаточно много. С одной из
таких систем Я постоянно имею дело по долгу службы. Это семейство продуктов
фирмы Lotus - Notes/Domino. Система Notes/Domino (тип клиент- сервер)
использует иерархическую структуру сертификатов, и соответствует
спецификации стандарта безопасности C2. При установлении соединения с такой
системой проверяется не только пароль, но и производится поиск одинаковых
сертификатов. После этого вы получаете доступ только к тем ресурсам, которые
соответствуют этому сертификату или сертификату, находящемуся на более
низком уровне.
Существуют также виды контроля доступа, которые являются комбинациями более простых видов контроля доступа и основаны на трех описанных выше и других методах.
При краже пароля и взломе сети злоумышленники также как и администраторы при защите сетей должны обязательно учитывать фактор операционных систем. Этот фактор заключается в том, что с помощью имени пользователя и пароля, которые предназначены для доступа к одному информационному ресурсу, можно также получить доступ к самой операционной системе и другим информационным ресурсам. Примером может служить получение электронной почты по протоколу POP3. В результате с помощью перехваченного почтового пароля можно получить доступ к другим информационным ресурсам. Именно по этой причине у таких грамотных поставщиков услуг сети Интернет, как, например, Открытый Контакт, используются разные пароли на доступ к коммутируемому соединению и почтовому ящику. Далее я буду подразумевать под Windows системами Windows 95, Windows 98 и Windows NT, а под UNIX системами те, с которыми я работал или работаю в настоящее время, а это такие системы как Linux, AIX, Solaris и FreeBSD.
Теперь рассмотрим методы воровства паролей. Как всем известно, самый простой способ воровства паролей это простое подглядывание. Кроме подглядывания еще существует несколько простейших методов воровства паролей и различных их комбинаций. По технике исполнения методы кражи паролей можно разделить на: подглядывание, перехват и метод троянского коня. В последний метод также входит использование так называемых программ "exploit", что в переводе с английского означает "разрабатывать копи". Естественно мы исключили метод рытья в мусорных корзинах, поскольку на бумагу пароли записывают только воистину глупцы, и метод подслушивания стука клавиатуры, поскольку не все обладают очень хорошим слухом и большим опытом использования клавиатуры.
Первый метод на первый взгляд прост, но с прогрессом техники и человеческого ума некоторые вредные программисты придумали прятать пароли под звездочками и другими символами, что осложнило задачу хакеров, но и хакеры оказались на высоте. Теперь хакеры кроме глаз используют специализированное программное обеспечение. Это программное обеспечение в состоянии записать пароль на доступ к Интернет в файл и отослать его по электронной почте. При этом пароль "подглядывается" такой программой прямо в окошке для ввода пароля под звездочками, прочитав пароль напрямую из памяти. В частности достаточно распространенная и известная программа HOOKDUMP, как написано в инструкции, предназначена для записи всего, что набрано на клавиатуре, в файл, определяет название окна и программы, где набирается текст, и является оптимальной для слежения и определения чужих паролей под управлением операционных систем Windows. Для UNIX систем также существуют аналогичные средства.
Второй метод тоже прост для тех, кто знаком хотя бы теоретически с теорией компьютерных сетей и сетевых протоколов пакетного типа. В основе этого протокола лежит способ передачи информации по энтропии сети. В сети Token Ring, например, по умолчанию информация переходит непосредственно от клиента к серверу, в сети Ethernet информация в момент передачи от клиента к серверу проходит по всем сетевым интерфейсам, в сети Интернет, состоящей из множества сетей с различными топологиями, информация передается от клиента к серверу минуя цепочку промежуточных узлов. Но есть и исключения, например, при передаче информации по Token Ring к другим кольцам, при передаче информации по сети Ethernet через хорошие и очень дорогие "умные" устройства маршрутизации, при пересылке информации по сети Интернет к ближайшему узлу. В любом случае информацию в виде пакетов данных могут перехватывать промежуточные узлы в виде мостов, коммутаторов, маршрутизаторов и клиентов сети Ethernet. Особенно уязвимой в этом плане является сеть Ethernet, даже при использовании соединений на основе сетевых устройств, витой пары и оптико-волоконных преобразователей. Таким образом, специальное программное обеспечение, которое используют хакеры, в состоянии отслеживать и перехватывать как простые пароли в виде гладкого текста, так и пароли в зашифрованном виде. В основном такие программы написаны для Linux и Solaris, но поскольку C/C++ язык переносимый компилируются практически на любой UNIX системе. Для Windows таких программ немного и одной из самых известных является изначально написанная для Solaris программа под название L0phtCrack. Программа L0phtCrack особо опасна, так как, даже при использовании умной сетевой аппаратуры, остается возможность перехвата паролей при считывании файлов по сети, например, администратором с локального жесткого диска компьютера, на котором установлена программа L0phtCrack. При работе в обычном Ethernet L0phtCrack в состоянии не только воровать зашифрованный пароль Windows из реестра, но и перехватывать пароли других пользователей при их входе в систему, oepeohq{b`mhh фалов по сети и сетевой печати. Для расшифровки Windows паролей L0phtCrack требуются лишь считанные доли секунды. Также L0phtCrack осуществляет так называемую атаку грубой силы, в переводе от brute force attack, когда пароль Windows взламывается методом подбора. Для UNIX систем таким средством является, например, очень известная программа LINUX SNIFFER, которая перехватывает пароли во время их ввода пользователями при соединениях через TELNET, FTP, POP3, IMAP, WWW BASIC AUTHENTICATION и многим другим протоколам. Это означает, что пароль для доступа к известному платному ресурсу по финансовой информации http://www.finance.minsk.by/, а также к другим информационным ресурсам для дилеров известных российских компаний может быть легко перехвачен при утере осторожности.
Третий способ обсуждать не буду, так как большинство стандартов касающихся третьего способа являются закрытыми, возможно, только кроме Pretty Good Privacy (PGP). Также большинство систем такого рода имеют параноидальную систему защиты на базе многоуровневого шифрования на основе симметричных и несимметричных ключей, сертификатов, электронной подписи и паролей. Например, до сих пор ни один сервер на базе Lotus Domino Server не был взломан хакерами.
Перейдем к теме защиты от воровства паролей. Для того чтобы ваш пароль никто не узнал, и он остался с вами даже в могиле необходимо следовать правилам и принципам, которые описаны ниже, и стараться привить эти правила и принципы так, чтобы, они были у вас в крови.
Первый принцип, один из главных в том, что вы должны установить пароли на все что можно. Это могут быть пароли на доступ к установкам BIOS, на включение, компьютера, на жесткий диск, на Интернет, на почту, на программу заставки, на каждый отдельный вход в систему и на многие другие вещи, включая сетевые устройства. Пароль должен быть не менее восьми символов и быть составлен из прописных, строчных, специальных и цифровых символов одновременно. На каждое отдельно взятое устройство, системный счет или другой ресурс необходимо установить неодинаковые и несхожие пароли, не являющиеся синонимами или палиндромами, а также простыми словосочетаниями или словами. Кстати, при использовании PGP даже при перехвате вашей почты воры не смогут ее прочитать, не имея вашего ключа, который при получении вашего пароля на ваш компьютер можно легко узнать.
Станьте параноиком в отношении компьютерной безопасности, даже если позже придется лечиться, и меняйте все пароли как минимум каждую неделю. Изменяйте все пароли немедленно при малейшем нарушении приведенных принципов.
Нигде, никогда и ни при каких условиях не записывайте свой пароль на бумагу, не гравируйте его на часах, крышке стола и так далее. В случае же необходимости заприте пароль в самый надежный сейф в пределах здания вашей фирмы, не доверяя сейфу банка.
Нигде, никогда и ни при каких обстоятельствах не вводите свой пароль на чужом компьютере или рабочей станции значительно удаленной от сервера по сетевой топологии. Особенно если вас об этом попросит человек, у которого доступа к информационному ресурсу нет или доступ более ограничен, чем ваш.
Если пользуетесь услугами поставщика услуг Интернет и, например, обновляете свой сервер WWW через FTP, то производите обновление категорически только через прямое постоянное или коммутируемое соединение с сервером поставщика услуг. Это также относится к смене паролей, получению электронной почты и другим защищенным паролем службам Интернет.
Если к вам подошел сотрудник и попросил переписать файл с его диска по сети, то старайтесь не делать этого, так как существует очень вероятная возможность того, что он намеревается украсть ваш пароль. В таком случае необходимо усилить контроль над сотрудником.
В заключение хочется сказать, что многие разработчики допускают огрехи в создании программного обеспечения, что позволяет хакерам их находить и использовать. Еще много не взломанных и неизведанных дыр в безопасности компьютерных систем, но как говорится "и на старуху, бывает проруха".
Для администраторов отдельный совет. Необходимо отказаться от TELNET, FTP и прочих и использовать Secure Shell (SSH), а также регулярно анализировать журналы системных событий. Особенное внимание следует уделить проектированию сетей с учетом новых требований безопасности и использованию специальных программ "детекторов", которые определяют когда, кто, откуда и где пытается взломать вашу информационную систему. Ни в коем случае не использовать метод BASIC WWW AUTHENTICATION для доступа к ресурсам WWW серверов, даже при использовании Secure Server Layer (SSL) используйте метод DIGEST WWW AUTHENTICATION с шифрованием на основе стандарта RSA MD5C. Обязательно необходимо установить систему FIREWALL и усиленных ограничений доступа. Постоянно совершенствуйте свои познания в области компьютерной безопасности.