Как защитить пароли


На сегодняшний день наиболее часто используемым инструментом защиты являются пароли. Во многих компаниях несложные пароли зачастую охраняют наиболее важные секреты организации, например медицинскую информацию, секретные бизнес-стратегии, финансовые данные и т.д.. К сожалению, простые пароли - слабое звено в цепи безопасности ваших систем. Определив пароль, атакующий может получить доступ к ценным сведениям или закрыть важные компьютерные системы.

Проблема паролей действительно серьезна: дело в том, что у каждого пользователя есть по крайней мере один пароль, а у некоторых пользователей их десятки. Люди должны запоминать пароли, по которым они входят в сеть, подключаются к различным приложениям, соединяются с внешними сайтами, используют голосовую почту и даже делают междугородние звонки с помощью телефонной карты.

Почти во всех системах пользователи сами придумывают пароли, при этом бремя обеспечения безопасности перекладывается на их плечи, однако пользователи либо не знают вообще, либо просто не беспокоятся о безопасности систем. Сотрудники часто выбирают такие пароли, которые легко запомнить, но и легко угадать. Часто люди в качестве пароля вводили просто день недели, слово password или обычное слово, которое можно найти в любом словаре.

Один несложный пароль одного пользователя позволит атакующему проникнуть в систему. Многие работники для подключения к различным системам применяют один и тот же пароль - следовательно, атакующий получит доступ сразу ко многим системам. После того как атакующий угадает один пароль, он может пойти дальше: определять другие пароли и взламывать уязвимые программы, расширяя свои привилегии.

Даже для неопытного атакующего угадать пароль и получить доступ - обычный процесс. Различные бесплатные инструменты автоматически распознают пароли, притом довольно быстро. Ниже мы рассмотрим, как работают эти инструменты взлома.


Защита от взлома стандартных паролей



Во многих приложениях и операционных системах есть пароли, указанные производителем по умолчанию. По незнанию либо по своей загруженности или лени администраторы часто не удаляют такие пароли из систем.

Чтобы получить доступ к системе, атакующий может легко и просто угадать эти стандартные пароли. Огромная база данных стандартных паролей для различных платформ доступна по простым запросам в поисковике.


Взлом паролей с помощью сценария входа в систему



Но что делать, если ни один из паролей по умолчанию не действует? Еще один способ взлома несложных паролей - просто написать, который активизируется на машине атакующего и периодически пытается подключиться к выбранной системе по сети. Атакующий составит сценарий так, что тот будет определять часто применяемые или известные варианты пользователя.

Сценарий также будет угадывать пароль - возможно даже, по словарю. Атакующий направляет выполнение сценария против компьютера жертвы, который может запрашивать пароль через командную строку, диалоговое окно или как-либо еще. Сценарий атакующего введет вариант ID пользователя и пароля, а затем автоматически определит, правильный он или нет. Если нет, отправляется следующий вариант. Многие атакующие пишут собственные сценарии, которые пытаются войти в удаленную систему по сети. Другие пользуются инструментом THC-Login Hacker, brute_ssl и brute_web или им подобными

Взлом паролей с помощью сценария входа в систему - довольно продолжительный процесс. Каждая попытка подключения занимает в среднем 5-10 с. Для того чтобы перебрать все 40 тысяч слов из обычного словаря, понадобится много дней, а на определение произвольного сочетания символов требуются недели или даже месяцы. Однако самый большой ресурс, который находится в распоряжении атакующего, - это время в сети. Хакеры могут быть весьма настойчивыми при атаках выбранной системы и даже не думают о том, что на получение доступа понадобятся месяцы.

Помимо огромного запаса времени такой метод имеет и другие ограничения. Постоянные попытки входа в систему значительно увеличивают обычный трафик сети, что легко зафиксировать системному администратору или системе обнаружения вторжений. Еще одна проблема, с которой сталкивается атакующий при взломе пароля с помощью сценария, - это блокировка учетной записи.

Некоторые системы настроены таким образом, что после определенного числа неудачных попыток подключения (то есть ввода неверного пароля) учетная запись пользователя блокируется. Аккаунт снова активизируется только в том случае, если пользователь обратится в «справочный стол», либо автоматически - после истечения определенного периода времени.

Таким образом, попытки атакующего определить пароль будут замечены или значительно замедлены. Блокировка учетной записи - отличный способ предотвращения атак с использованием сценариев входа в систему. Однако в подобной ситуации атакующий может вызвать DDoS-атаку, с помощью сценария заблокировав все учетные записи.
Искусство и наука взлома паролей

Обычно взлом стандартных паролей не действует. Определение пароля с помощью сценария входа в систему в лучшем случае может занять слишком много времени, а в худшем атакующий будет раскрыт. Гораздо более сложный способ распознавания паролей, при котором таких проблем не существует, - это взлом паролей (password cracking). Чтобы понять, как он работает, необходимо знать, как пароли хранятся в большинстве систем.

Когда вы подключаетесь к системе - неважно, UNIX это, NT, Novell-сервер или Cisco-маршрутизатор, - в процессе аутентификации вы вводите ID пользователя и пароль. Система должна проверить, точна ли указанная информация, и только после этого решить, впускать вас в систему или нет. Основой для такого решения может послужить локальный файл паролей всех пользователей и сравнение только что введенного пароля с хранящимся в базе. К сожалению, файл с паролем каждого пользователя несет поразительную ответственность с точки зрения безопасности. Атакующий, получивший доступ к такому файлу, способен войти в систему под именем любого пользователя.

Разработчики систем, учитывая необходимость списка паролей, с которыми нужно сравнивать вводимые пользователем пароли, но понимая также, что брешь в системе никому не нужна, решили применить методы шифрования для защиты каждого пароля в файле. Итак, в файле паролей содержится список ID пользователей и пароли в кодированном или хэш-формате. Я использую слова «кодированный и хэш», так как употребляются различные алгоритмы шифрования.

В некоторых системах действуют только алгоритмы кодирования, например стандарт шифрования данных (Data Encryption Standard - DES), которому для кодирования необходим ключ. В других работают хэш-алгоритмы, например Message Digest 4 (MD4), - это односторонние функции, преобразующие данные с помощью или без помощи ключа. В любом случае пароль изменяется, кодируется, так что атакующий не может определить его, просто посмотрев на кодированный или хэш-формат в файле паролей.

Когда пользователь хочет войти в систему, система получает пароль, применяет к нему один и тот же алгоритм кодирования, а затем сравнивает результат с тем, что содержится в файле паролей. Если эти величины совпадают, пользователь получает доступ к системе. В противном случае ему будет отказано в подключении.


Файл паролей



Как защитить пароли


Во многих системах есть файл паролей, где содержатся пароли в кодированном или хэш-формате. В процессе взлома паролей происходит следующее: атакующий ворует зашифрованный пароль, а затем автоматизированный инструмент пытается определить его. Инструмент взлома паролей работает по простому циклу.

Инструмент взлома паролей может угадывать пароли несколькими способами. Вероятно, самый простой метод - воспользоваться словарем, выбирая из него один термин за другим. Конечно, если пароль не является словом из словаря, данный метод окажется неэффективным. К счастью для атакующих, обычно этот способ отлично работает.

Помимо взлома паролей по словарю специальные инструменты поддерживают взлом «в лоб». При такой атаке программа будет пробовать различные сочетания символов, чтобы угадать пароль: например, начнет с цифр и латинских символов (a-z и 0-9), а затем перейдет к специальным символам (!@#$ и т.д.). Даже с помощью быстрого инструмента взлома паролей подобное угадывание может занять много времени (от недель до столетий). Однако, если пароль достаточно короткий, описанный метод оправдает себя за несколько недель.

Гибрид двух ранее изложенных методов - отличный компромисс между быстрым, но ограниченным взломом по словарю и медленным, но эффективным определением пароля «в лоб». В такой гибридной атаке программа начнет пробовать слова из словаря. Затем она создаст другие варианты, добавляя спереди и сзади слова какие-нибудь символы.

С точки зрения атакующего, взлом паролей - просто фантастика, поскольку процесс взлома может проходить и на машине атакующего. Если атакующему удастся украсть файл закодированных/хэшированных паролей, он без труда запустит инструмент взлома паролей на собственной системе в своем уютном доме либо на любой другой машине. Таким образом угадать пароль можно быстрее, нежели с помощью сценария входа в сеть.

Если сценарию, подключающемуся к выбранному компьютеру, требуется определенное время, чтобы установить, была ли удачной попытка угадывания, инструмент взлома паролей способен перебрать сотни или даже тысячи вариантов в секунду! Взломщику паролей нужно работать только с украденным файлом паролей, который хранится на машине атакующего, он будет применять быстрые и оптимизированные алгоритмы кодирования. Словарь, включающий 50 тысяч слов, можно рассмотреть всего за минуту!

К тому же, чем большее время процессор в состоянии уделить взлому паролей, тем быстрее пройдет эта операция. Итак, атакующий, который пытается угадать пароли для десятка машин по всему миру в поисках новой жертвы, может разделить задачу взлома паролей и создать с такой целью виртуальный суперкомпьютер.


Система «сильных» паролей



Система «сильных» паролей - наиболее значимый элемент обеспечения безопасности системы. Ваша организация должна иметь детально разработанную систему паролей, в которой любой пароль имеет небольшую длину и не содержит никаких определенных слов или терминов.

Хороший пароль представляет собой набор из девяти знаков и обязательно включает небуквенные символы. Более того, необходимо ограничить срок действия паролей: задавать их на 30, 60 или 90 дней - в зависимости от конкретной системы защиты.

Я рекомендую менять пароли каждые 60-90 дней: если менять их чаще, пользователи почти наверняка будут их записывать, ведь очень трудно за короткий срок привыкнуть к новому паролю. Конечно, особенности вашей организации могут потребовать и других решений. Наконец, убедитесь, что ваша система паролей обеспечивает легкий доступ к ней пользователей.

Еще советуем:
  • Как защитить компьютер от взлома
  • Что такое снифферы
  • Как выбрать пароль
  • Безопасность компьютера: взлом паролей
  • Защита сайта от взлома паролей