Искусственный интеллект может быть использован в качестве инструмента для подбора паролей
Привет. Подбор паролей - это ключ к чувствительной для пользователей информации, которым часто пользуются хакеры. Но, сегодня, с бурным развитием технологий искусственного интеллекта (AI), в руках злоумышленников может оказаться очень мощный инструмент, который подвергнет опасности конфиденциальность миллионов пользовательских аккаунтов.
Пароль легко подбирается потому, что люди предсказуемы
Если вы попросите Марину установить пароль. Она просто установит его как «Marina». После того, как система сообщает ей, что ее пароль должен содержать еще и цифры, на сделает это: «Marina123». Хотя, скорей всего, вы достаточно умны, чтобы не вводить такие небезопасные пароли, есть много людей, которые похожи на Марину.
В интернете часто можно встретить определенные шаблоны, используемые беспечными пользователями при установке паролей. Большинство из них могут представлять собой комбинацию одного или нескольких имени, фамилии, даты рождения или любимых объектов (имена автомобилей, мотоциклов, актеров, актрис и т.д.).
Инструменты подбора пароля, такие как HashCat или John the Ripper, обычно используют атаку слов из словаря, чтобы угадать пароль. Атака слов просто пытается подбирать слова из словаря один за другим в качестве пароля, чтобы увидеть, какое слово сработает. Атака из словаря выполняется путем ручного перебора списка возможных паролей с учетом обычных правил создания паролей. Например, какое-то слово и "123" - "Стол123" и т.п.
В инструментах для подбора паролей эти данные определяются вручную или, другими словами, это правила, определяемые человеком. Проблема с такими правилами заключается в том, что человеческое поведение и интересы меняются со временем. Поэтому эти правила должны часто обновляться. Также, когда список украденных образцов паролей огромен, подбор пароля вручную будет весьма сложным процессом. Есть шансы, что некоторые образцы паролей останутся без внимания.
Именно здесь и будет играть свою роль искусственный интеллект. Некоторые исследователи недавно обучили нейронные сети наборам данных утекших из сети паролей и смогли генерировать пароли путем подбора по основным образцам. Результативность их метода превзошла популярные инструменты, такие как HashCat и John the Ripper.
Нейронные сети - компьютерные программы, алгоритм которых построен таким образом, что они в состоянии анализировать каждый поступающий на вход байт информации согласно сложившейся в результате их обучения конфигурации "весов" (аналог нейронов в мозгу). Эти алгоритмы способны обучаться весь жизненный цикл при наличии удобных для цифрового "переваривания" данных.
Люди учатся через моделирование и наблюдение. Если показать кому-либо четыре фотографии человека и сказать, что это Вася, то в следующий раз ему легко будет узнать Васю в любой ситуации. Нейронные сити помогает компьютеру делать то же самое.
Исследователи использовали систему Generative Adversarial Neural Networks (GAN) для реализации этого. Эта система состоит из двух нейронных сетей. Одна нейронная сеть нужна для генерации паролей, а другая дает ответную реакцию. Это можно представить, как о профессора и студента. Студент пытается что-то сделать, а профессор реагирует на эти попытки примерно так: «Вам нужно попробовать еще» или «Вы близки к истине» и т.д. Эти нейронные сети используют несколько итераций, пока не получат удовлетворительные результаты.
Применение таких технологий делает процесс подбора паролей полностью автоматизированным и максимально эффективным. Исследователи также заметили, что, хотя в некоторых случаях нейронные сети не могли подобрать точный пароль, сгенерированный ими пароль был очень похож на оригинал. Например, если пароль был «AEF@123», сгенерированный был «A3F@123».
С позитивной стороны мы можем использовать эту технологию для того, чтобы сделать системы, защищаемые паролями, более безопасными, путем определения вариантов наиболее уязвимых паролей.