Взлом пароля - Password cracking

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Инциденты

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

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

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

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

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

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

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

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

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

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

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

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

В 2013 году долгосрочная Конкурс по хешированию паролей было объявлено о выборе нового стандартного алгоритма хеширования паролей[32], с участием Аргон2 выбран победителем в 2015 году. Другой алгоритм, Воздушный шар, рекомендуется NIST.[33] Оба алгоритма требуют много памяти.

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

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

Существует множество программных средств для взлома паролей, но самые популярные[34] находятся Aircrack, Каин и Авель, Джон потрошитель, Hashcat, Гидра, Дэйв Грол и ЭлкомСофт. Много программное обеспечение для судебной поддержки пакеты также включают функцию взлома паролей. Большинство из этих пакетов используют смесь стратегий взлома, алгоритмов с использованием грубой силы и словарных атак, что оказалось наиболее продуктивным.[35]

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

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

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

  1. ^ а б oclHashcat-lite - расширенное восстановление пароля. Hashcat.net. Проверено 31 января, 2013.
  2. ^ Монторо, Массимилиано (2009). "Взломщик паролей грубой силой". Oxid.it. Архивировано 20 августа 2013 года.. Получено 13 августа, 2013.CS1 maint: неподходящий URL (ссылка на сайт)
  3. ^ Бахадурсинг, Роман (19 января 2020 г.). [Роман Бахадурсинг. (2020). Распределенный алгоритм для взлома паролей методом грубой силы на n процессорах. http://doi.org/10.5281/zenodo.3612276 "Распределенный алгоритм для взлома пароля методом грубой силы на n процессорах"] Проверьте | url = ценить (Помогите). zenodo.org. Дои:10.5281 / zenodo.3612276.
  4. ^ Лундин, Ли (11 августа 2013 г.). «ПИН-коды и пароли, часть 2». Пароли. Орландо: SleuthSayers.
  5. ^ Александр, Стивен. (20 июня 2012 г.) Заклинатель ошибок: Какой длины должны быть пароли?. Bugcharmer.blogspot.com. Проверено 31 января, 2013.
  6. ^ Блог Cryptohaze: 154 миллиарда NTLM / сек на 10 хешах. Blog.cryptohaze.com (15 июля 2012 г.). Проверено 31 января 2013.
  7. ^ Тесты John the Ripper. openwall.info (30 марта 2010 г.). Проверено 31 января 2013.
  8. ^ Burr, W. E .; Додсон, Д. Ф .; Полк, В. Т. (2006). «Правила электронной аутентификации» (PDF). NIST. Дои:10.6028 / NIST.SP.800-63v1.0.2. Получено 27 марта, 2008. Цитировать журнал требует | журнал = (Помогите)
  9. ^ «64-битный ключевой статус проекта». Distributed.net. Архивировано из оригинал 10 сентября 2013 г.. Получено 27 марта, 2008.
  10. ^ Таблица скорости восстановления пароля, из ЭлкомСофт. NTLM пароли, Nvidia Tesla S1070 GPU, по состоянию на 1 февраля 2011 г.
  11. ^ http://www.mosix.org/txt_vcl.html/
  12. ^ «Кластер на 25 GPU взламывает каждый стандартный пароль Windows менее чем за 6 часов». 2012.
  13. ^ «Машина EFF DES Cracker привносит честность в дебаты о криптографии». ЭФФ. Архивировано из оригинал 1 января 2010 г.. Получено 7 июня, 2020.
  14. ^ "В Нью-Йоркском университете СЛУЧАЙНО ОБНАРУЖИЛ ПРОЕКТ НА ВСЕЙ ИНТЕРНЕТ ВОЕННОМ КОДЕКСОМ".
  15. ^ "Джон-Потрошитель 1.9.0-jumbo-1".
  16. ^ «Взлом пароля Bcrypt очень медленный? Нет, если вы используете сотни FPGA!».
  17. ^ Управление сетевой безопасностью. Фред Коэн и партнеры. All.net. Проверено 31 января, 2013.
  18. ^ Yan, J .; Blackwell, A .; Андерсон, Р .; Грант, А. (2004). «Запоминаемость и безопасность паролей: эмпирические результаты» (PDF). Журнал IEEE Security & Privacy Magazine. 2 (5): 25. Дои:10.1109 / MSP.2004.81. S2CID  206485325.
  19. ^ Стейнберг, Джозеф (21 апреля 2015 г.). «Новые технологии взламывают« надежные »пароли - что вам нужно знать». Forbes.
  20. ^ «СЕРТ ИН-98.03». Получено 9 сентября, 2009.
  21. ^ «Наихудшие способы использования пользовательских паролей» (PDF).
  22. ^ "Хакерская атака НАТО". Получено 24 июля, 2011.
  23. ^ «Анонимные утечки 90 000 военных учетных записей электронной почты в последней антисекционной атаке». 11 июля 2011 г.
  24. ^ «Анализ военного пароля». 12 июля 2011 г.
  25. ^ "Блокировка Microsoft Hotmail 123456". Imperva. 18 июля 2011 г. Архивировано с оригинал 27 марта 2012 г.
  26. ^ Певица, Абэ (ноябрь 2001 г.). «Нет паролей с открытым текстом» (PDF). Авторизоваться. 26 (7): 83–91. Архивировано из оригинал (PDF) 24 сентября 2006 г.
  27. ^ Криптоанализ протокола Microsoft Point-to-Point Tunneling Protocol. Schneier.com (7 июля 2011 г.). Проверено 31 января 2013.
  28. ^ Грасси, Пол А (июнь 2017 г.). «SP 800-63B-3 - Руководство по цифровой идентификации, аутентификация и управление жизненным циклом». NIST. Дои:10.6028 / NIST.SP.800-63b. Цитировать журнал требует | журнал = (Помогите)
  29. ^ Схема паролей, адаптируемая к будущему. Usenix.org (13 марта 2002 г.). Проверено 31 января 2013.
  30. ^ MDCrack FAQ 1.8. Никто. Проверено 31 января, 2013.
  31. ^ Защита паролем для современных операционных систем. Usenix.org. Проверено 31 января, 2013.
  32. ^ «Конкурс по хешированию паролей». Архивировано из оригинал 2 сентября 2013 г.. Получено 3 марта, 2013.
  33. ^ NIST SP800-63B Раздел 5.1.1.2
  34. ^ «10 лучших взломщиков паролей». Sectools. Получено 1 ноября, 2009.
  35. ^ «Оставайтесь в безопасности: посмотрите, как работают взломщики паролей - блог Keeper». Блог Keeper Security - Новости кибербезопасности и обновления продуктов. 28 сентября 2016 г.. Получено 7 ноября, 2020.
  36. ^ Андерсон, Нейт (24 марта 2013 г.). «Как я стал взломщиком паролей: теперь взлом паролей официально стал делом« скриптовых детей »». Ars Technica. Получено 24 марта, 2013.

внешняя ссылка