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 процессорах». doi :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". 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 г.

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