stringtranslate.com

Взлом пароля

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

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

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

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

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

Для некоторых видов хэшей паролей обычные настольные компьютеры могут проверять более ста миллионов паролей в секунду с помощью инструментов взлома паролей, работающих на универсальном процессоре, и миллиарды паролей в секунду с помощью инструментов взлома паролей на базе графического процессора [1] [6] [7] (см. тесты John the Ripper ) . [8] Скорость угадывания пароля в значительной степени зависит от криптографической функции, используемой системой для генерации хэшей паролей. Подходящая функция хэширования паролей, такая как bcrypt , на много порядков лучше, чем наивная функция, такая как простая MD5 или SHA . Выбранный пользователем восьмисимвольный пароль с цифрами, смешанным регистром и символами, с отфильтрованными обычно выбранными паролями и другими совпадениями из словаря, достигает предполагаемой 30-битной прочности, согласно NIST. 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 .

Аппаратное ускорение в GPU позволило использовать ресурсы для повышения эффективности и скорости атаки методом перебора для большинства алгоритмов хеширования. В 2012 году Stricture Consulting Group представила кластер из 25 GPU, который достиг скорости атаки методом перебора в 350 миллиардов попыток угадать пароли NTLM в секунду, что позволило им проверить комбинации паролей за 5,5 часов, что достаточно для взлома всех 8-символьных буквенно-цифровых-специальных паролей, обычно используемых в корпоративных настройках. Используя ocl- Hashcat Plus на платформе виртуального кластера OpenCL , [12] кластер GPU на базе 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] С 2019 года John the Ripper поддерживает взлом паролей для ограниченного числа алгоритмов хеширования с использованием FPGA. [16] Коммерческие компании теперь используют установки на основе ПЛИС для взлома паролей. [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 зарегистрированных пользователей их электронного книжного магазина. Данные были украдены в рамках операции AntiSec , движения, в которое входят Anonymous , LulzSec и другие хакерские группы и отдельные лица. [23]

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

18 июля 2011 года Microsoft Hotmail забанил пароль: «123456». [26]

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылки

  1. ^ ab oclHashcat-lite – расширенное восстановление пароля. Hashcat.net. Получено 31 января 2013 г.
  2. ^ Монторо, Массимилиано (2005). «Руководство пользователя Cain & Abel: взломщик паролей методом перебора». oxid.it (недействительный) . Архивировано из оригинала 7 июня 2019 г. Получено 13 августа 2013 г.{{cite web}}: CS1 maint: неподходящий URL ( ссылка )
  3. ^ «Что такое Password Spraying? Как остановить атаки Password Spraying».
  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. Тесты производительности John the Ripper. openwall.info (30 марта 2010 г.). Получено 31 января 2013 г.
  9. ^ Burr, WE; Dodson, DF; Polk, WT (2006). Руководство по электронной аутентификации (PDF) (Отчет). Гейтерсберг, Мэриленд: Национальный институт стандартов и технологий. doi :10.6028/nist.sp.800-63v1.0.2.
  10. ^ "64-битный статус проекта ключа". Distributed.net. Архивировано из оригинала 10 сентября 2013 г. Получено 27 марта 2008 г.
  11. ^ "Таблица скорости восстановления пароля". ElcomSoft . Архивировано из оригинала 21 февраля 2011 г. Получено 1 февраля 2011 г.
  12. ^ "VCL Cluster Platform". mosix.cs.huji.ac.il .
  13. ^ «Кластер из 25 GPU взламывает все стандартные пароли Windows менее чем за 6 часов». 2012.
  14. ^ "EFF DES Cracker machine bring honesty to crypto debate". EFF. Архивировано из оригинала 1 января 2010 года . Получено 7 июня 2020 года .
  15. Биддл, Сэм (11 мая 2017 г.). «Нью-Йоркский университет случайно раскрыл военный компьютерный проект по взлому кодов всему Интернету». The Intercept .
  16. ^ "анонс - [openwall-announce] Джон Потрошитель 1.9.0-jumbo-1". openwall.com .
  17. ^ "Взлом пароля Bcrypt крайне медленный? Нет, если вы используете". Medium . 8 сентября 2020 г.
  18. ^ Управление сетевой безопасностью. Fred Cohen & Associates. All.net. Получено 31 января 2013 г.
  19. ^ Ян, Дж.; Блэквелл, А.; Андерсон, Р.; Грант, А. (2004). «Запоминаемость и безопасность паролей: эмпирические результаты» (PDF) . Журнал IEEE Security & Privacy . 2 (5): 25. doi :10.1109/MSP.2004.81. S2CID  206485325.
  20. ^ ab Steinberg, Joseph (21 апреля 2015 г.). «Новая технология взламывает «сильные» пароли — что вам нужно знать». Forbes .
  21. ^ "CERT IN-98.03". Архивировано из оригинала 9 июля 2010 г. Получено 9 сентября 2009 г.
  22. ^ ab «Худшие практики использования паролей потребителями» (PDF) . Imperva.com .
  23. ^ "NATO Hack Attack". The Register . Получено 24 июля 2011 г.
  24. ^ «Anonymous слили 90 000 учетных записей военной электронной почты в ходе последней атаки по борьбе с киберугрозами». 11 июля 2011 г.
  25. ^ "Анализ военных паролей". Imperva.com . 12 июля 2011 г.
  26. ^ "Microsoft's Hotmail Bans 123456". Imperva.com . 18 июля 2011 г. Архивировано из оригинала 27 марта 2012 г.
  27. ^ "Эшли Мэдисон: Хакеры слили украденные данные с сайта знакомств". bankinfosecurity.com . Получено 11 апреля 2021 г. .
  28. ^ «Исследователи взломали 11 миллионов паролей Ashley Madison». bankinfosecurity.com . Получено 11 апреля 2021 г. .
  29. ^ Сингер, Абэ (ноябрь 2001 г.). «No Plaintext Passwords» (PDF) . Login . 26 (7): 83–91. Архивировано (PDF) из оригинала 24 сентября 2006 г.
  30. ^ "Криптоанализ протокола туннелирования точка-точка от Microsoft". Schneier.com . 7 июля 2011 г. Получено 31 января 2013 г.
  31. ^ Грасси, Пол А. (июнь 2017 г.). "SP 800-63B-3 – Руководство по цифровой идентификации: аутентификация и управление жизненным циклом" (PDF) . NIST. doi : 10.6028/NIST.SP.800-63b . {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  32. ^ Схема паролей, адаптируемая к будущему. Usenix.org (13 марта 2002 г.). Получено 31 января 2013 г.
  33. ^ MDCrack FAQ 1.8. Нет. Получено 31 января 2013 г.
  34. ^ Защита паролем современных операционных систем. Usenix.org. Получено 31 января 2013 г.
  35. ^ "Соревнование по хешированию паролей". Архивировано из оригинала 2 сентября 2013 г. Получено 3 марта 2013 г.
  36. ^ "NIST SP800-63B Раздел 5.1.1.2" (PDF) . nvlpubs.nist.gov .
  37. ^ "10 лучших взломщиков паролей". Sectools . Получено 1 ноября 2009 г.
  38. ^ «Оставайтесь в безопасности: узнайте, как работают взломщики паролей — блог Keeper». Блог безопасности Keeper — новости и обновления продуктов кибербезопасности . 28 сентября 2016 г. Получено 7 ноября 2020 г.
  39. Андерсон, Нейт (24 марта 2013 г.). «Как я стал взломщиком паролей: взлом паролей теперь официально считается занятием «скрипт-кидди». Ars Technica . Получено 24 марта 2013 г.

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