коментариев
Поделиться статьей:

Как взламывают слабые пароли

07.08.2024 на прочтение 15 минуты

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

Создайте надежный и уникальный пароль, который невозможно взломать , с помощью генератора паролей.Защитите свои данные и будьте уверены в безопасности данных ваших аккаунтов! 

Что значит слабый пароль

Стойкость или сила пароля является мерой оценки времени, затраченного на его взлом. Соответственно, чем слабее пароль, тем меньше времени понадобится злоумышленнику для получения доступа к вашему ресурсу. Можно ли заранее оценить силу пароля? Да, можно.

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

Для сравнения в Таблице 1 приведены некоторые значения силы или стойкости пароля для случаев использования в нём разного количества символов. Здесь предполагается, что код может быть составлен из цифр и символов латинского алфавита с количеством 36 знаков. При этом скорость обработки данных приблизительно равна скорости восстановления пароля в Windows.

Таблица 1. Сила пароля, содержащего разное количество символов.

Кол-во символов Сила пароля, бит Время взлома, с
1 5 < 1
3 15 < 1
5 26 600
7 36 777 600
9 46 31557600х32

Как видим, разница в силе кода для разного количества составляющих его символов весьма ощутима.

Внешне слабый пароль можно отличить по следующим характерным признакам:

  • Имеет длину менее 8-ми символов;
  • Содержит только цифры или только буквы;
  • Отсутствуют специальные символы и / или заглавные буквы;
  • Пароль связан с личными данными или событиями биографии владельца. 

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

Почему даже надежный пароль – взламывают

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

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

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

8 методов взлома паролей

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

Рассмотрим наиболее «популярные» методики реализации атак по двум указанным направлениям.

Прямой перебор

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

С ростом длины кода время взлома увеличивается по экспоненте пропорционально формуле:

T = 2N

Где N – количество бит, содержащихся в коде.

Наиболее эффективны криптографические атаки при длине кода до 64 бит. При использовании ключей длиной в 128 бит и более эффективность атаки заметно снижается. Хотя и в этом случае результат может быть позитивным при распараллеливании вычислений, о чём говорилось выше.

Чтобы защититься от "прямого перебора", достаточно воспользоваться сервисом  генерации паролей .

Подбор по словарю

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

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

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

Фишинг

Распространённый метод «выуживания» учётных данных пользователей и другой коммерческой информации всевозможными путями. Отсюда и название – fishing (ловля). Основные направления «работы» злоумышленников:

  • Подмена Интернет-ресурсов банковских учреждений, финансовых организаций и платёжных систем, раскрученных брендов, Интернет-магазинов и т. д.;
  • Принудительный таргетинг на нужные веб-сайты, в частности, с помощью редиректа;
  • Рассылки писем от имени известных брендов и других «проверенных» веб-ресурсов.

Заманенных таким образом пользователей «стимулируют» оставлять на сайтах-дублёрах данные своих банковских карт, пароли от аккаунтов социальных сетей и другую конфиденциальную информацию, которая в дальнейшем используется в корыстных целях.

Охват Интернет-аудитории колоссальный, а число пострадавших от фишинга исчисляется десятками миллионов человек в год и постоянно прогрессирует.

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

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

Эксплойты

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

Такие программы могут действовать удалённо через сеть или же запускаться локально на конкретном аппаратном устройстве по специальной команде. 

Эксплойты обычно различаются в зависимости от вида системы – объекта взлома. Могут быть эксплойты для систем управления контентом (CMS), конкретных сайтов или социальных сетей, ОС, браузеров и других типов ПО. Так, браузерный эксплойт с лёгкостью сможет получить сохранённые пользователем учётные данные, которые затем позволят злоумышленнику войти в аккаунт платёжной системы или социальной сети.     

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

Сниффер

Название метода происходит от англ. sniff (нюхать), которое вполне отвечает принципам его использования – анализ сетевого трафика на предмет выявления полезной для злоумышленника информации, в частности, логина и пароля. При этом злоумышленник может анализировать только тот трафик, который проходит через его сетевое устройство. Возможность его применения обусловлена тем, что IP-пакеты в сети рассылаются всем её участникам, а не только тому узлу, которому они предназначены.

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

Защитой от таких атак может стать использование защищённых каналов связи для передачи данных, например, https-протокол и другие. Кроме того, повсеместное использование во всех сегментах сети маршрутизаторов нового поколения – коммутаторов, поможет не допустить проникновения подозрительных пакетов, чем в принципе устраняется возможность «прослушивания» трафика.       

Трояны

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

Одной из разновидностей такого ПО являются кейлоггеры и бэкдоры.

Термин «кейлоггер» происходит от двух слов – key и logger, что означает регистрацию клавиш. Исторически такие программы и появились лишь для того, чтобы регистрировать нажатия клавиш пользователем в специальном лог-файле. Однако вскоре многим стало ясно, что эту его особенность можно использовать для совсем других целей, а именно – для перехвата введённых пользователем логинов и паролей. Возможности программы позволяют получать информацию о дате и времени нажатия клавиши, перемещениях и кликах мышью, скриншоты экранов с мобильного или стационарного цифрового устройства и многое другое.

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

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

Социальная инженерия

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

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

Другие техники ориентированы на свои точки приложения. Например, одна из них использует ложное антивирусное ПО или, как его называют, «scareware». Его основная задача – с помощью ложных уведомлений об угрозах вынудить пользователя выполнить определённые действия – перевести деньги, передать код банковской карты и другие  подобные.        

Техника под названием «вишинг» (от англ. Vishing)  ориентирована на использование заранее подготовленных голосовых сообщений, дублирующих какие-либо официальные учреждения, например, банковские. С их помощью злоумышленникам нередко удаётся в телефонном режиме ввести абонента в заблуждение, после чего без всякого риска получить от него нужную информацию.   

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

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

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

Радужные таблицы

В большинстве случаев пароли от аккаунтов хранятся в базах данных в зашифрованном виде или, как говорят, в хешах. Хеш пароля представляет собой комбинацию символов, полученную путём применения к нему одного из распространённых алгоритмов кодирования, например, sha-1 или md5, а также дополнительных преобразований.

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

«Радужные» таблицы (rainbow table) являются разновидностью поисковых таблиц для обращения хеш-функций. В них собраны хеши наиболее слабых, а также часто используемых паролей. Для их формирования задаётся список паролей, над которыми затем производятся криптографические преобразования. Сам пароль и результаты преобразований заносятся в таблицу в виде отдельной записи. Перехваченный хеш сравнивается с имеющимися в таблице и, в случае их совпадения, выписывается пароль, принадлежащий записи с найденным хешем. В этом и состоит суть рассматриваемой методики.

Для защиты от атаки можно пойти двумя путями – увеличить длину пароля или же воспользоваться способом шифрования с применением так называемой «соли».

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

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

Приведём пример формирования хеша с «солью» для системы авторизации Интернет-магазина.     

function salt() {       
                 return substr(sha1(mt_rand()),0,22);
      } 
$salt = salt();
function newhash($password, $salt) {  
                                    return crypt($password, '$2a$10$'.$salt);
 }
$hash = newhash($_POST['pass'], $salt); 

Здесь salt() – функция, формирующая код «соли»; mt_rand – функция генерации наилучшего случайного значения; sha1 – алгоритм кодирования; newhash() – функция, формирующая результирующий хеш на основе пароля и «соли»; crypt() – криптографическая функция кодирования данных; $password – введённый пользователем пароль, над которым производятся преобразования. 

В результате выполнения представленного кода, хеш будет выглядеть следующим образом:

$hash: $2a$10$67e905fb391b53b4ae0290ySLPYbZ0OGmPpUaImtu0i46IBt2H7Ey

Первые четыре символа указывают на используемый алгоритм шифрования. Следующие три – это опции алгоритма шифрования. Символы, выделенные зелёным цветом – это  «соль» нашего хеша.

Таким образом, если даже злоумышленнику станут известны значения хеш-функции и хеша, он всё равно не сможет по ним воспроизвести изначальное кодовое слово или пароль. Единственное условие при этом – тщательно скрывать «соль». Только в этом случае пароль можно считать надёжным.    

Как создать пароль который не взломают

При рассмотрении каждого из доступных методов взлома мы уже указывали на возможные «меры профилактики» по его предотвращению в каждой конкретной ситуации. Теперь нам остаётся только представить общие рекомендации по созданию пароля достаточной степени надёжности.

Рекомендации следующие:

  • Создавать по возможности длинный код с количеством символов от 10-ти до 12-ти;
  • Использовать оба регистра при создании секретного кода из ASCII диапазона;
  • Обязательно вписывать специальные символы типа $, %, &, _, ! и другие;
  • Избегать смысловой связи между символами кодового слова;
  • Не связывать код с информацией о себе;
  • Не использовать одно и то же кодовое слово для всех аккаунтов;
  • Не сохранять пароли в кеше браузеров;
  • По возможности использовать многофакторную систему аутентификации и защищённые каналы связи.

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

Создать надежный пароль 

 

Close Screen
Yulia Lys
Статей: 72
Оцените статью:


Спасибо за отзыв
Рейтинг: 5 из 5 Голосов: 2