stringtranslate.com

Взлом пароля

В криптоанализе и компьютерной безопасности взлом паролей — это процесс восстановления паролей [1] из данных , которые были сохранены или переданы компьютерной системой в зашифрованном виде. Распространенный подход ( атака методом перебора ) заключается в многократной попытке угадать пароль и сверить их с доступным криптографическим хэшем пароля. [2] Другой тип подхода — распыление паролей, которое часто автоматизировано и происходит медленно с течением времени, чтобы оставаться незамеченным, с использованием списка общих паролей. [3]

Целью взлома пароля может быть помощь пользователю восстановить забытый пароль (поскольку установка совершенно нового пароля потребует привилегий системного администратора), получение несанкционированного доступа к системе или действие в качестве превентивной меры, при которой система администраторы проверяют пароли, которые легко взломать. Для каждого файла взлом пароля используется для получения доступа к цифровым доказательствам, к которым судья разрешил доступ, когда права доступа к конкретному файлу ограничены.

Время, необходимое для поиска пароля

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

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

Для некоторых видов хеширования паролей обычные настольные компьютеры могут проверять более ста миллионов паролей в секунду с помощью инструментов взлома паролей, работающих на процессоре общего назначения, и миллиарды паролей в секунду с помощью инструментов взлома паролей на базе графического процессора [ 1] [6] [7] ] (см. тесты John the Ripper ) . [8] Скорость подбора пароля во многом зависит от криптографической функции, используемой системой для генерации хэшей паролей. Подходящая функция хеширования паролей, такая как bcrypt , на много порядков лучше, чем простая функция, такая как простые MD5 или SHA . По данным NIST, выбираемый пользователем восьмизначный пароль с цифрами, смешанным регистром и символами, с отфильтрованными часто выбираемыми паролями и другими словарными совпадениями, достигает примерно 30-битной прочности. 2 30 — это всего лишь один миллиард перестановок [9] , и его можно было бы взломать за секунды, если бы хеш-функция была наивной. Когда обычные настольные компьютеры объединяются для взлома, как это можно сделать с помощью ботнетов , возможности взлома паролей значительно расширяются. В 2002 году компания Distributed.net за четыре года успешно нашла 64-битный ключ RC5 , в ходе которого в разное время было задействовано более 300 000 различных компьютеров и которые генерировали в среднем более 12 миллиардов ключей в секунду. [10]

Графические процессоры могут ускорить взлом пароля в 50–100 раз по сравнению с компьютерами общего назначения для конкретных алгоритмов хеширования. Например, в 2011 году доступные коммерческие продукты утверждали, что способны проверять до 2 800 000 000 паролей NTLM в секунду на стандартном настольном компьютере с использованием высокопроизводительного графического процессора. [11] Такое устройство способно взломать однорегистровый пароль из 10 букв за один день. Работу можно распределить между многими компьютерами для дополнительного ускорения, пропорционального количеству доступных компьютеров с сопоставимыми графическими процессорами. Однако некоторые алгоритмы работают медленно или даже специально разработаны для медленной работы на графических процессорах. Примерами являются DES , Triple DES , bcrypt , scrypt и Argon2 .

Появление за последнее десятилетие [ когда? ] аппаратного ускорения в графическом процессоре позволило использовать ресурсы для повышения эффективности и скорости атаки методом перебора для большинства алгоритмов хеширования. В 2012 году Stricture Consulting Group представила кластер из 25 графических процессоров, который достиг скорости грубой атаки 350 миллиардов попыток в секунду, что позволяет им проверять комбинации паролей за 5,5 часов. С помощью ocl- Hashcat Plus на платформе виртуального кластера OpenCL [12] кластер графического процессора на базе Linux был использован для «взлома 90 процентов из 6,5 миллионов хэшей паролей, принадлежащих пользователям LinkedIn». [13]

Для некоторых конкретных алгоритмов хеширования процессоры и графические процессоры не подходят друг другу. Для работы на высоких скоростях требуется специальное оборудование. Пользовательское оборудование может быть изготовлено с использованием технологии FPGA или ASIC . Разработка обеих технологий сложна и (очень) дорога. В целом, FPGA предпочтительнее в небольших количествах, ASIC предпочтительнее в (очень) больших количествах, они более энергоэффективны и работают быстрее. В 1998 году Electronic Frontier Foundation (EFF) создал специальный взломщик паролей с использованием ASIC. Их машина Deep Crack взломала 56-битный ключ DES за 56 часов, проверяя более 90 миллиардов ключей в секунду. [14] В 2017 году просочившиеся документы показали, что ASIC использовались в военном проекте, который потенциально мог взломать многие части интернет-коммуникаций с помощью более слабого шифрования. [15] Предполагается [ кем] проектирование и создание средств взлома паролей на базе ASIC? ] быть вне досягаемости для неправительственных организаций. [ нужна цитата ] С 2019 года John the Ripper поддерживает взлом паролей для ограниченного числа алгоритмов хеширования с использованием FPGA. [16] Коммерческие компании теперь используют установки на основе FPGA для взлома паролей. [17]

Легко запомнить, трудно угадать

Пароли, которые трудно запомнить, снизят безопасность системы, поскольку

Аналогично, чем более строгие требования к надежности пароля, например «сочетать прописные и строчные буквы и цифры» или «менять его ежемесячно», тем в большей степени пользователи будут подрывать систему. [18]

В «Запоминаемости и безопасности паролей» [19] Джефф Ян и др. изучить влияние советов, данных пользователям о правильном выборе пароля. Они обнаружили, что пароли, основанные на обдумывании фразы и выборе первых букв каждого слова, так же запоминаются, как и наивно выбранные пароли, и их так же трудно взломать, как и случайно сгенерированные пароли. Еще один хороший метод — объединение двух несвязанных слов. Еще одним хорошим методом является наличие лично разработанного « алгоритма » для генерации непонятных паролей.

Однако просить пользователей запомнить пароль, состоящий из «смесь символов верхнего и нижнего регистра», аналогично просить их запомнить последовательность битов: трудно запомнить и лишь немного труднее взломать (например, всего в 128 раз сложнее). взломать пароли из 7 букв (меньше, если пользователь просто пишет одну из букв с заглавной буквы). Просьба к пользователям использовать «и буквы, и цифры» часто приводит к легко угадываемым заменам, таким как «E» → «3» и «I» → «1»: замены, которые хорошо известны злоумышленникам. Аналогичным образом, ввод пароля на одну строку клавиатуры выше — распространенный трюк, известный злоумышленникам.

Исследования, подробно описанные в статье нескольких профессоров Университета Карнеги-Меллона в апреле 2015 года , показывают, что выбор людьми структуры пароля часто следует нескольким известным закономерностям. Например, когда требования к паролю требуют минимальной длины, например 16 символов, люди склонны повторять символы или даже целые слова в своих паролях. [20] В результате пароли могут быть взломаны гораздо легче, чем можно было бы предположить с помощью математических вероятностей. Например, пароли, содержащие одну цифру, непропорционально включают ее в конец пароля. [20]

Инциденты

16 июля 1998 г. CERT сообщил об инциденте, когда злоумышленник обнаружил 186 126 зашифрованных паролей. К моменту обнаружения взлома уже было взломано 47 642 пароля. [21]

В декабре 2009 года произошла крупная утечка паролей на сайте Rockyou.com , в результате которой было раскрыто 32 миллиона паролей. Затем злоумышленник выложил в Интернет полный список из 32 миллионов паролей (без какой-либо другой идентифицируемой информации). Пароли хранились в базе данных в открытом виде и были извлечены с помощью уязвимости SQL-инъекции . Центр защиты приложений Imperva (ADC) провел анализ надежности паролей. [22] Вот некоторые из ключевых выводов:

В июне 2011 года в НАТО (Организация Североатлантического договора) произошла утечка информации, которая привела к обнародованию имен и фамилий, имен пользователей и паролей более чем 11 000 зарегистрированных пользователей их электронного книжного магазина. Данные были раскрыты в рамках Operation AntiSec , движения, в которое входят Anonymous , LulzSec и другие хакерские группы и отдельные лица. [24]

11 июля 2011 года серверы Booz Allen Hamilton , крупной американской консалтинговой фирмы, выполняющей значительный объем работы для Пентагона , были взломаны Anonymous , и в тот же день произошла утечка данных. «Утечка, получившая название «Военный кризис в понедельник», включает в себя 90 000 учетных записей военнослужащих, включая сотрудников USCENTCOM , SOCOM , Корпуса морской пехоты , различных объектов ВВС , национальной безопасности , сотрудников Госдепартамента и, похоже, подрядчиков частного сектора. " [25] Было обнаружено, что эти утекшие пароли были хешированы с помощью несоленого SHA-1 , а затем были проанализированы командой ADC в Imperva , обнаружив, что даже некоторые военнослужащие использовали такие слабые пароли, как «1234». [26]

18 июля 2011 г. Microsoft Hotmail заблокировала пароль: «123456». [27]

В июле 2015 года группа, называющая себя «The Impact Team», украла пользовательские данные Эшли Мэдисон . [28] Многие пароли были хешированы с использованием как относительно надежного алгоритма bcrypt , так и более слабого хеша MD5 . Атака на последний алгоритм позволила группе взлома паролей CynoSure Prime восстановить около 11 миллионов паролей в виде открытого текста. [29]

Профилактика

Один из методов предотвращения взлома пароля — гарантировать, что злоумышленники не смогут получить доступ даже к хешированному паролю. Например, в операционной системе Unix хешированные пароли изначально хранились в общедоступном файле . С другой стороны, в современных системах Unix (и подобных) они хранятся в файле теневых паролей , который доступен только программам, работающим с расширенными привилегиями (т. е. «системными» привилегиями). Это затрудняет получение злоумышленником хешированных паролей в первую очередь, однако, несмотря на такую ​​защиту, многие коллекции хэшей паролей были украдены. А некоторые распространенные сетевые протоколы передают пароли в открытом виде или используют слабые схемы запроса/ответа. [30] [31]/etc/passwd/etc/shadow

Другой подход заключается в объединении секретного ключа, специфичного для сайта, с хэшем пароля, что предотвращает восстановление пароля в виде открытого текста, даже если хешированные значения украдены. Однако атаки с целью повышения привилегий , которые могут похитить защищенные хэш-файлы, также могут раскрыть секрет сайта. Третий подход заключается в использовании функций получения ключей , которые уменьшают скорость подбора паролей. [32] : 5.1.1.2 

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

Современные системы Unix заменили традиционную функцию хеширования паролей crypt() на основе DES более сильными методами, такими как crypt-SHA , bcrypt и scrypt . [33] Другие системы также начали применять эти методы. Например, Cisco IOS изначально использовала обратимый шифр Виженера для шифрования паролей, но теперь использует md5-crypt с 24-битной солью при использовании команды «enable secret». [34] Эти новые методы используют большие значения соли, которые не позволяют злоумышленникам эффективно проводить автономные атаки на несколько учетных записей пользователей одновременно. Алгоритмы также выполняются намного медленнее, что резко увеличивает время, необходимое для проведения успешной автономной атаки. [35]

Многие хеши, используемые для хранения паролей, такие как MD5 и семейство SHA , предназначены для быстрых вычислений с низкими требованиями к памяти и эффективной аппаратной реализацией. Несколько экземпляров этих алгоритмов могут запускаться параллельно на графических процессорах (GPU), что ускоряет взлом. В результате быстрые хэши неэффективны для предотвращения взлома пароля, даже с использованием соли. Некоторые алгоритмы растяжения ключей , такие как PBKDF2 и crypt-SHA, итеративно вычисляют хэши паролей и могут значительно снизить скорость проверки паролей, если количество итераций достаточно велико. Другие алгоритмы, такие как scrypt , требуют больших объемов памяти в дополнение к трудоемким вычислениям, и поэтому их труднее взломать с помощью графических процессоров и специальных интегральных схем .

В 2013 году был объявлен долгосрочный конкурс по хешированию паролей с целью выбора нового стандартного алгоритма хеширования паролей, [36] победителем которого в 2015 году был выбран Argon2 . Другой алгоритм, Balloon , рекомендован NIST . [37] Оба алгоритма требовательны к памяти.

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

Программное обеспечение

Существует множество программных инструментов для взлома паролей, но наиболее популярными [38] являются Aircrack-ng , Cain & Abel , John the Ripper , Hashcat , Hydra , DaveGrohl и ElcomSoft . Многие пакеты программного обеспечения для поддержки судебных процессов также включают функцию взлома паролей. Большинство этих пакетов используют сочетание стратегий взлома; алгоритмы с брутфорсом и атаками по словарю оказались наиболее продуктивными. [39]

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

Смотрите также

Рекомендации

  1. ^ ab oclHashcat-lite – расширенное восстановление пароля. Hashcat.net. Проверено 31 января 2013 г.
  2. ^ Монторо, Массимилиано (2005). «Руководство пользователя Cain & Abel: Взлом паролей методом грубой силы». оксид.it (несуществующий) . Архивировано из оригинала 7 июня 2019 года . Проверено 13 августа 2013 г.{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  3. ^ «Что такое распыление паролей? Как остановить атаки с распылением паролей» .
  4. Бахадурсингх, Роман (19 января 2020 г.). «Распределенный алгоритм грубого взлома паролей на n процессорах». дои : 10.5281/zenodo.3612276. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  5. Лундин, Ли (11 августа 2013 г.). «ПИН-коды и пароли, часть 2». SleuthSayers.org . Орландо.
  6. ^ Александр, Стивен. (20 июня 2012 г.) The Bug Charmer: Какой длины должны быть пароли? Bugcharmer.blogspot.com. Проверено 31 января 2013 г.
  7. ^ Блог Cryptohaze: 154 миллиарда NTLM/сек на 10 хэшах. Blog.cryptohaze.com (15 июля 2012 г.). Проверено 31 января 2013 г.
  8. ^ Тесты Джона Потрошителя. openwall.info (30 марта 2010 г.). Проверено 31 января 2013 г.
  9. ^ Берр, МЫ; Додсон, Д.Ф.; Полк, WT (2006). «Руководство по электронной аутентификации». НИСТ. дои : 10.6028/NIST.SP.800-63v1.0.2 . Проверено 27 марта 2008 г. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  10. ^ «64-битный ключевой статус проекта» . Распределенный.нет. Архивировано из оригинала 10 сентября 2013 года . Проверено 27 марта 2008 г.
  11. ^ «Таблица скорости восстановления пароля» . ЭлкомСофт . Архивировано из оригинала 21 февраля 2011 года . Проверено 1 февраля 2011 г.
  12. ^ «Кластерная платформа VCL». mosix.cs.huji.ac.il .
  13. ^ «Кластер из 25 графических процессоров взламывает каждый стандартный пароль Windows менее чем за 6 часов» . 2012.
  14. ^ «Машина EFF DES Cracker привносит честность в дебаты о криптовалютах» . ЭФФ. Архивировано из оригинала 1 января 2010 года . Проверено 7 июня 2020 г.
  15. Биддл, Сэм (11 мая 2017 г.). «Нью-Йоркский университет случайно раскрыл всему Интернету компьютерный проект по взлому военных кодов» . Перехват .
  16. ^ "анонсировать - [openwall-announce] John the Ripper 1.9.0-jumbo-1" . openwall.com .
  17. ^ «Взлом паролей Bcrypt очень медленный? Нет, если вы используете» . Середина . 8 сентября 2020 г.
  18. ^ Управление сетевой безопасностью. Фред Коэн и партнеры. All.net. Проверено 31 января 2013 г.
  19. ^ Ян, Дж.; Блэквелл, А.; Андерсон, Р.; Грант, А. (2004). «Запоминаемость и безопасность паролей: эмпирические результаты» (PDF) . Журнал IEEE Security & Privacy . 2 (5): 25. дои :10.1109/MSP.2004.81. S2CID  206485325.
  20. ↑ Аб Стейнберг, Джозеф (21 апреля 2015 г.). «Новая технология взламывает «надежные» пароли – что вам нужно знать». Форбс .
  21. ^ "СЕРТ ИН-98.03" . Архивировано из оригинала 9 июля 2010 года . Проверено 9 сентября 2009 г.
  22. ^ «Наихудшие практики использования потребительских паролей» (PDF) . Imperva.com .
  23. ^ «Наихудшие практики использования потребительских паролей» (PDF) . Imperva.com .
  24. ^ "Хакерская атака НАТО" . Регистр . Проверено 24 июля 2011 г.
  25. ^ «Анонимные утечки 90 000 учетных записей военной электронной почты в ходе последней антибезопасной атаки» . 11 июля 2011 г.
  26. ^ «Анализ военных паролей». Imperva.com . 12 июля 2011 г.
  27. ^ «Запреты Microsoft Hotmail 123456» . Imperva.com . 18 июля 2011 г. Архивировано из оригинала 27 марта 2012 г.
  28. ^ «Эшли Мэдисон: Хакеры сбрасывают украденные данные сайта знакомств» . Bankinfosecurity.com . Проверено 11 апреля 2021 г.
  29. ^ «Исследователи взломали 11 миллионов паролей Эшли Мэдисон» . Bankinfosecurity.com . Проверено 11 апреля 2021 г.
  30. Сингер, Абэ (ноябрь 2001 г.). «Нет открытых текстовых паролей» (PDF) . Авторизоваться . 26 (7): 83–91. Архивировано (PDF) из оригинала 24 сентября 2006 г.
  31. ^ «Криптоанализ протокола двухточечного туннелирования Microsoft» . Шнайер.com . 7 июля 2011 года . Проверено 31 января 2013 г.
  32. ^ Грасси, Пол А (июнь 2017 г.). «SP 800-63B-3 – Рекомендации по цифровой идентификации: аутентификация и управление жизненным циклом» (PDF) . НИСТ. doi : 10.6028/NIST.SP.800-63b . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  33. ^ Схема паролей, адаптируемая к будущему. Usenix.org (13 марта 2002 г.). Проверено 31 января 2013 г.
  34. ^ Часто задаваемые вопросы по MDCrack 1.8. Никто. Проверено 31 января 2013 г.
  35. ^ Защита паролем для современных операционных систем. Usenix.org. Проверено 31 января 2013 г.
  36. ^ «Соревнование по хешированию паролей» . Архивировано из оригинала 2 сентября 2013 года . Проверено 3 марта 2013 г.
  37. ^ «NIST SP800-63B, раздел 5.1.1.2» (PDF) . nvlpubs.nist.gov .
  38. ^ «10 лучших взломщиков паролей» . Сектулс . Проверено 1 ноября 2009 г.
  39. ^ «Оставайтесь в безопасности: посмотрите, как работают взломщики паролей - блог Keeper» . Блог Keeper Security — новости кибербезопасности и обновления продуктов . 28 сентября 2016 г. Проверено 7 ноября 2020 г.
  40. Андерсон, Нейт (24 марта 2013 г.). «Как я стал взломщиком паролей: взлом паролей теперь официально является занятием «скрипт-кидди»». Арс Техника . Проверено 24 марта 2013 г.

Внешние ссылки