А вы задумывались когда нибудь, сколько стоит разгадать пароль вашего Wi-Fi? Понятно, что все прекрасно помнят, что с увеличением длины парольной фразы - увеличивается сложность и при достаточной длине, перебор занимает ХХХХ - лет.
Давайте вместе разберемся - сколько это стоит в $$$ деньгах
План
Итак, как все мы прекрасно знаем, что самое уязвимое место двери - это замок, а самое не защищенное место в нашей беспродной сети (после физического доступа к роутеру) - это момент установления соединения.
Немного про установление соединение
Процесс установления защищенного соединения в сети Wi-Fi с использованием протокола WPA2 (Wi-Fi Protected Access 2) включает в себя несколько этапов:
Поиск сети: Когда устройство пытается подключиться к беспроводной сети, оно сначала сканирует доступные сети и идентифицирует их по именам (SSID).
Аутентификация: Клиент (подключающееся устройство) отправляет запрос на аутентификацию к точке доступа (AP) или маршрутизатору. Точка доступа может быть настроена на использование предварительно установленного пароля (PSK - Pre-Shared Key) или может быть настроена на работу с сервером аутентификации (обычно RADIUS-сервером).
Обмен ключами 4-Way Handshake: После успешной аутентификации клиент и точка доступа начинают обмениваться ключами, используемыми для защиты передачи данных. Этот обмен называется "4-Way Handshake". Он включает в себя генерацию общего ключа (Pairwise Transient Key, PTK), который используется для шифрования данных.
Установление защищенного канала: После завершения 4-Way Handshake клиент и точка доступа могут начать использовать общий ключ (PTK) для защиты данных, передаваемых по беспроводной сети. Вся передача данных между ними теперь зашифрована и аутентифицирована.
Обновление ключей: Периодически, для усиления безопасности, ключи могут быть обновлены с помощью генерации новых ключей и их обмена между клиентом и точкой доступа.
Поэтому если злоумышленнику получится подслушать эфир, то есть далеко не теоретическая возможноость получить дамп рукопожатий, и попробовать получить пароль перебором разных вариантов паролей.
Вот примерный механизм получения дампа
Перехват рукопожатия в беспроводной сети WPA2 происходит на этапе обмена ключами 4-Way Handshake. Вот как это происходит:
Если атакующий слушает эфир, то может произвести Перехват рукопожатия. Те перехватить этот обмен сообщениями (M1, M2, M3, M4) между клиентом и точкой доступа. Если получить полный 4-Way Handshake, он сможет использовать этот дамп рукопожатие для дальнейшей атаки, такой как атака перебором пароля с использованием словаря (dictionary attack) или атака методом перебора (brute-force).
Тестовый стенд
В качестве тестового оборудования будет использоваться ноутбук - macbook pro 2017 (а1708).
Как на практике поймать рукопожатие.
В сети огромное количество описаний с использованием Kali Linux, внешних чувствительных сетевых карт. В данном случае - это было не важно, и нужно было просто получить само рукопожатие. Поэтому будем использовать встроенную карточку и MacOS.
В качестве простого и удобного интерфейса я выбрал WiFiCrackPy . Возможно, на более новых Маках, это уже не сработает. Процесс установки простой и описан на ГитХабе.
Запуск тоже происходит совсем не сложно
Выбираем нашу сеть и просто ждем.
После получения рукопожатия, в папке будет сохранен файл - capture.hc22000 , который уже готов к брутфорсу.
Давайте проверим, сколько выдаст "попугаев" хешей в секунду, наш мобильный CPU - i5-7360U.
Далее попробуем перебор на облачном сервере.
Возьмём самую жирную комплектацию, а именно - 96 ядер IceLake - цена 1,27$/h (127,95 ₽ в час)
Теперь попробуем разные GPU, для проверки скорости, возьмем не очень известного, но очень лояльного клауд провайдера.
Тест 2080TI - цена 0,2843$/h (28,43 ₽ в час)
Начали бодро с 859 kH/s и по мере прогрева карты снизились до 841
Тест RTX 3090 - цена 0,6456$/h (64,56 ₽ в час)
Начали с 1074 kH/s и после прогрева 1068.6 kH/s к окончанию.
Тест RTX 4090 - цена 0,7915$/h (79,15 ₽ в час)
Начали с 2522 kH/s и после прогрева 2477.5 kH/s
Думаю тут не вооруженным взглядом будет понятно, что хоть закон Мура и не соблюдается в полной мере, но точно каждый год видим прогресс в скорости вычислений.
А что у нас со скоростью на профессиональных картах?
Тест Tesla A2 - цена 0,2328$/h (23,28 ₽ в час)
Никак не уменьшает хеш при прогреве
Тест Tesla A10 - цена 0,3271$/h (32,71 ₽ в час)
Тест Tesla A100 - цена 1,7824$/h (178,24 ₽ в час)
В отличии от десктопных игровых карт, данные карты максимально холодные, однако и имеет меньшую производительность под нашу задачу за сопоставимую стоимость.
Тест Tesla V100 - цена 0,9424$/h (94,24 ₽ в час)
Так же, очень холодная карта, но и показывает всего. 802,9 kH/s
Все тесты проводились на последней версии hashcat, на системе ubuntu 20.04, используя последнею версию hashcap и последнею версию драйвера.
Немного про hashcat
Очень полезная программа, для восстановления паролей. https://github.com/hashcat/hashcat
Немного о синтаксисе. В нашем случае это hashcat [ тип ключа ] [тип работы - в нашем случае брутфорс] файл с хешами и маска перебора.
hashcat -m 22000 -a 3 capture.hc22000 \?d\?d\?d\?d\?d\?d\?d\?d
Однако сам hashcat в не умеет рекурсивную комбинацию масок, поэтому накидал скрипт на Python 3. Для создания списка всех масок, которые нужно перебрать.
# Комбинатор варинтов для hashcat
# ?l - представляет собой одну букву нижнего регистра (a-z).
# ?u - представляет собой одну букву верхнего регистра (A-Z).
# ?d - представляет собой одну цифру (0-9).
import itertools
# Элементы перебора
mask_elements = ['?l', '?u', '?d']
# Длина пароля
position_count = 8
# Создаем файл my.hcmask для записи
with open('my.hcmask', 'w') as file:
# Генерируем комбинации для всех возможных комбинаций элементов включая все позиции
combinations = itertools.product(mask_elements, repeat=position_count)
# Записываем комбинации в файл
for combo in combinations:
mask = ''.join(combo) + '\n'
file.write(mask)
В процессе поиска дешевого облачного вычисления, нашел несколько совсем чумовых предложений. Например, RTX 4090 - за 0.35$ в час. Но там рынок, поэтому в расчетах взят среднее значение в 0.4$ в час.
Для сравнения сведём все данные в таблицу по цене хеша, условно примем, что дополнительных затрат на масштабирование у нас нет, а оценку сложности будем брать максимальной.
Таблица цен - в стоимости 1 Гига хеш.
Формула расчета
Расчет идет по формуле (Цена за 1 час) / (Производительность * 3600) и для лучшего представления переводим в Гига Хеши (GH) из kH
Оборудование |
Производительность kH/s |
Цена $/h |
Цена за $ / GH |
i5-7360U |
2 .415 |
1 |
113,3786848 |
96 ядер IceLake |
240 |
1,27 |
2,777777778 |
2080TI |
841 |
0,2843 |
0,09390276126 |
3090 |
1068,5 |
0,6456 |
0,167836531 |
4090 |
2477,5 |
0,4 |
0,04484807714 |
Tesla A2 |
130,7 |
0,2328 |
0,4947717419 |
Tesla A10 |
762,8 |
0,3271 |
0,1191152479 |
Tesla A100 |
1115,4 |
1,7824 |
0,4438865977 |
Tesla V10 |
802,9 |
0,9424 |
0,326040326 |
Теперь давайте вспомним, сколько комбинаций в пароле в зависимости от использовании разных символов.
Формула расчета
У нас в таблице сверху есть цена в Гига Хешах, в долларах.
Значит нам нужно сложность в цифрах разделить на 10^9 и умножить минимальную цену в GH
Тип |
Сложность в цифрах и Gh |
Цена перебора |
8 символов, только цифры |
100,000,000 комбинаций |
≈ 0,01 $ |
8 символов, только маленькие буквы латинского алфавита |
208,827,064,576 комбинаций |
≈ 9,373 $ |
8 символов, из маленьких букв латинского алфавита, больших букв латинского алфавита и цифр |
218,340,105,584,896 комбинаций ≈ 218340 GH |
≈ 9.792 $ |
8 символов, из маленьких букв латинского алфавита, больших букв латинского алфавита, цифр и спец символов |
6,095,689,385,410,816 комбинаций ≈ 6095689 GH |
≈ 273.380 $ |
А насколько дорогой у тебя ВайФай?
Выводы, для себя, сделает каждый самостоятельно. Однако при дальнейшей снижении стоимости вычисления, старые подходы к безопастности уже не кажутся такими не вероятными.
Не согласны с методикой оценки? Давайте обсудим в комментариях.
Комментарии (149)
Mihaelc
13.10.2023 06:35+4А сам роутер позволяет делать достаточно быстрый брутфорс? Я не особо знаком с тем, как это устроено, но вряд ли время проверки пароля не зависит от скорости роутера
PS и у вас в последней таблице 3 и 4 типы одинаковые
ky0
13.10.2023 06:35+28Для перебора ничего отправлять роутеру не нужно — всё после того, как будут пойманы хэндшейки, происходит локально.
deathbel
13.10.2023 06:35+3методика рассчитана на то, что пароль будет сгенерирован псевдослучайным генератором, но поскольку для простоты запоминания люди используют относительно осмысленные комбинации, то в случае атаки сначала будет атака по словарю - а там скорость перебора повыше и вероятность подбора около 50% , а еще радужные таблицы, так что брутфорс это сферический конь в вакууме а реальная атака это совсем другое.
SpiderEkb
13.10.2023 06:35+8для простоты запоминания люди используют относительно осмысленные комбинации
Не думаю. У меня лично фантазия иссякла давно уже, так что пользуюсь генератором. Комбинации абсолютно бессмысленные, запоминаются просто мнемонически т.к. каждый день пользуешься.
aspid-crazy
13.10.2023 06:35В результате, у вас всего 2-3 пароля для всех сервисов. Одна утечка на любом из них, и данный пароль попадает в радужные таблицы. После этого, взлом превращается в поиск готового хеша в индексе, а не генерация и проверка в цикле, что имеет несколько другую сложность.
Я тоже так делаю, но кажется, правильнее для каждого сервиса иметь свой случайный пароль, и не запоминать его, а пользоваться менеджером паролей.Ksoo
13.10.2023 06:35+1Вот это: $2a$12$A8mmR6GZui2HQFZxp8BTFOE7pgy1NVc2ikfVB/T9HwLJt2YAcUUJG хеш(Bcrypt) для пароля 123, уверен что нету ни одной радужной таблицы, где он есть
Ansud
13.10.2023 06:35Bcrypt работает немного по другому, как раз для того, чтобы радужные таблицы для этого не подошли. Во-первых, добавляет рандомную соль к паролю. Во-вторых, делает очень много раундов хеширования. И если второе ещё как то можно обойти для генерации радужных таблиц (хотя это оч дорого), то после соли они становятся практически бесполезны.
saboteur_kiev
13.10.2023 06:35+3Во-вторых, делает очень много раундов хеширования. И если второе ещё как то можно обойти для генерации радужных таблиц (хотя это оч дорого),
Мда. Радужные таблицы ДЛЯ ЭТОГО и делают, чтобы дорогое хеширование делать один раз.
Соль и вектор инициализации - вот что убивает смысл радужных таблиц.Ansud
13.10.2023 06:35Сколько раундов делать будете для записи в таблице (настройки для конкретного сайта неизвестны)? Сколько займет генерация чего то адекватного?
saboteur_kiev
13.10.2023 06:35Ваш вопрос неправильный.
Для кастомного сайта радужные таблицы вообще не подходят, ибо они подходят там, где алгоритм (и количество раундов) не только известны, но еще и являются штатным способом. Ибо смысл генерации радужных таблиц для КОНКРЕТНОГО сайта отсутствовал всегда, чего тогда уж не перебор?Если говорить про сайты, да и вообще про более менее актуальный софт, то везде уже штатные алгоримы предлагаются с солью, поэтому польза от радужных таблиц заметно подупала еще лет 10 назад, но все еще актуальна для нишевых случаев.
Тем более что универсальные таблицы для популярных хешей можно тупо купить на черном рынке по очень недорогим ценам, точнее даже не таблицы а доступ к ним (кинул хеш, получил ответ, и не надо генерить, где-то хранить...)
GeneAYak
13.10.2023 06:35+9о я так сделал пароль когда-то довольно длинный, вводил его пару лет с клавиатуры, а потом понадобилось войти с телефона, и все, не могу вспомнить
M_AJ
13.10.2023 06:35+1а там скорость перебора повыше и вероятность подбора около 50%
Очень интересно как посчитана эта вероятность
а еще радужные таблицы
Которые в случае с WI-FI имеют смысл только если точка доступа имеет SSID "по-умолчанию", тот же Keenetic добавляет к SSID рандоный постфикс.
polearnik
13.10.2023 06:35распечатать qr с подключением вайфай и вообще пофиг на название сети и пароль . у меня около 20 символов но всем абсолютно все равно. все сканируют
ogost
13.10.2023 06:35+6Это если с телефона подключаться. А если надо будет ноутбук подключить?
V-core
13.10.2023 06:35Телефоном сканировать и прочитать. Передать с телефона на ноутбук 20 байт это проблема?
Сейчас большинство ноутбуков с камерой.
ogost
13.10.2023 06:35+9Передать с телефона на ноутбук 20 байт это проблема?
А как вы передадите? Ноут-то без подключения ещё.
Для использования встроенной веб камеры нужна программа-считыватель qr кодов. Которое может быть не установлено на данный момент. Короче тот ещё квест.
Kanut
13.10.2023 06:35+2А как вы передадите? Ноут-то без подключения ещё.
Записали в текстовый файл, подключили телефон через USB, переписали файл на нотебук, профит!!!
FoxWMulder
13.10.2023 06:35а современные телефоны могут это? по юсб? помнится давно гугл вырезали возможность как накопитель телефон подключать к пк и чтобы его подключить там жуткие танцы с бубном начались. с тех пор уж не подключал телефон к пк, а потом wifi стало достаточно (внутренняя сетка).
что-то сложные ходы вы придумываете. сделать доступ по whitelist к wifi и, я не знаю насколько это надëжно, но думаю вероятность взлома падает в разы.
Kanut
13.10.2023 06:35Ни разу ещё не видел чтобы это не работало. На своём телефоне пользуюсь этим регулярно.
Endeavour
13.10.2023 06:35+4Мне кажется у большинства людей пароль вайфая написан на наклейке на роутере и рандомно сгенерирован провайдером.
Darkholme
13.10.2023 06:35+1Радужные таблицы не работают для WPA2, разве что вы собрались ломать только точки доступа с именем home .
Rayven2024
13.10.2023 06:35ну это смотря какие люди.... есть люди, которые прекрасно помнят 3-5-10 12-16 символьных комбинаций, есть люди которые понмят комбинации и по 64 символа - именно комбинации, а не "осмысленные" сочетания.
Иногда эти комбинации могут быть визуальными - например "ход конём" по клавиатуре делать с определёнными правилами направления или еще что.... но часть из таких комбинаций вполне подходит под "пароль из списка".... в общем всё достаточно сложно
даже если вспоминать произведения Лукьяненко - там например не использование пробелов было, вместо строчных прописные и наоборот вроде (сейчас уже не помню точно, давно читал), а уж если добавить ошибки в слова - например вместо каждой 2й "А" ставить латинскую, вместо каждой 3й "О" ставить "0" и тд и тп
тут сильно зависит от того, как сильно пароль должен быть "в оперативном доступе", какой длинны, какое время на его воспроизведение готов потратить пользователь, сколько усилий для запоминания и какие риски при утере (если нет копии)
например если пароль нужен редко и можно потратить несколько минут на его воспроизведение то можно придумать очень простые правила, которые в итоге не дадут подобрать его просто по словарю.... а уж если поизгаляться...
например набираем на клавиатуре слово, но на 1 букву выше чем буквы слова, а если там символов нет, то на 2 ниже... - такое подобрать "по словарю" уже крайне сложно будет...
И всё это рушиться под напором социальной инженерии.... Если человека очень хорошо знают или он использует похожие пароли на разных сервисах, если он может просто записать пароль в блокнот или на стикере у монитора и тд и тп
А еще бесят сервисы типа почты.... сложный пароль они позволяют аннулировать указав кличку собаки, девичью фамилию или подобные вещи... которые очень просто найти/узнать или подобрать....
OlegIva
13.10.2023 06:35А еще бесят сервисы типа почты.... сложный пароль они позволяют аннулировать указав кличку собаки, девичью фамилию или подобные вещи... которые очень просто найти/узнать или подобрать
В смысле узнать/подобрать? Разве туда не случайную последовательность из символов так 20 вбивают, а что-то осмысленное? ))
NAI
13.10.2023 06:35Зачем вообще запоминать пароль к Wi-Fi?
Создал рандомный пароль, напечатал QR-код, наклеил\положил под на роутер, копию (текстовую и QR) положил в мобилку. Друзьям и мобильным устройствам показываешь QR, ноутбукам и прочим PC скидываешь файликом для Ctrl+C, Ctrl+V. Единственная проблема - телевизор, но 1080\4к по wi-fi такое себе удовольствие, лучше избегать
dartraiden
13.10.2023 06:35напечатал QR-код
Нормальные роутеры умеют генерировать и показывать его в админке. Вдобавок, не придётся переделывать бумажку, когда понадобиться поменять пароль.
NAI
13.10.2023 06:35Только это долго и запарно ползти в админку =) - пароль от роутера вспоминать, ПК запускать.
dartraiden
13.10.2023 06:35В админку и со смартфона заходить можно, а пароли лично я не ввожу никогда, они у меня настолько стойкие, что вводит их KeePass по нажатию горячей клавиши.
SpiderEkb
13.10.2023 06:35+2А почему только 8 символов?
У нас сейчас требования УИБ в компании - пароль (как минимум один доменный и один к тестовому серверу) не менее 12-ти символов с использованием не менее 3-х групп из 4-х
маленькие буквы латинского алфавита
большие буквы латинского алфавита
цифры
символы
Еще и менять каждые 90 дней...
Для роутеров и точек доступа использую то же правило. 12 символов, большие буквы, маленькие буквы, цифры (символы уже сложнее в голове держать, так что ладно уж).
Ну и тут вопрос даже не в стоимости, а во времени. Вообще, криптография - это про время, требуемое на взлом. Успеете ли взломать до того, как информация не перестала быть актуальной или нет.
zuek
13.10.2023 06:35+6символы уже сложнее в голове держать, так что ладно уж
Самые популярные из попадавшихся мне приёмов - ставить "!", "?", ".", "$" или "#" скраю, либо "@" между "половинами" пароля...
zlat_zlat
13.10.2023 06:35+19Мне кажется, чем больше требований, тем больше вероятность, что пароль окажется на бумажке под клавиатурой. Ну, или, как минимум, превратится в superPassword!1
strvv
13.10.2023 06:35+1в принципе, этот суперпассворд!1 без компроментации вполне даже сложен для счёта.
если по классике не первый символ в подслове, а произвольный и вместо a, o подставлять символы @ и прочие. но как он где-то скомпроментирован - тушите свет.
GoDevSeoTaxi Автор
13.10.2023 06:35+4В век облаков - время уже не имеет принципиального значения. Прямо сейчас можно арендовать несколько десятков тысяч инстансов - которые уже расшифруют за приемлемое время. Все упирается в цену этого решения.
Arkasha
13.10.2023 06:35Вот интересно было бы сравнить с обычным домашним компом на ryzen+radeon (с домашними же ценами на электричество)
MountainGoat
13.10.2023 06:35+4Рекомендую: пароль Aa1!Aa1!Aa1! удовлетворяет почти всем когда либо придуманным требованиям. Через месяц меняется на Bb2@Bb2@Bb2@.
Javian
13.10.2023 06:35+4Пользователи быстро пришли к умозаключению, что проще запомнить "Месяцгод123456-". И набирается быстрее т.к. только два раза нажать шифт.
strvv
13.10.2023 06:35а через два или три символа жать шифт? или контрольные слова буквы перемежать цифра, знак?
опять же у многих современных кешей есть куча проблемных мест в кодировании и какой бы не был длинный исходный пароль, хэш под него может быть подобран с "коротким" но неудобным. просто тот отобразится также как и длинный пароль.
Redduck119
13.10.2023 06:35+3У меня дома на файвай пароль 26 символов, так просто дочь прикололась.
А себе на телефон дочь поставила код из 16 цифр.
Специалист по информационной безопасности растет :)Sau
13.10.2023 06:35+526 символов, столько же, сколько букв в английском алфавите. Совпадение?
Redduck119
13.10.2023 06:35+4Совпадение :)
Еще совпадение - дочь финалист олимпиады по английскому языку.
AlexGluck
13.10.2023 06:35символы уже сложнее в голове держать
Возьмите все символы которые хотели бы использовать, буквы (заглавные и строчные), цифры и составьте из этого определённую матрицу соответствий с системой счисления (8,10,16-ричные), после чего напишите формулу которая будет вычислять пароль любой длинны и вводите первые 20-30 символов. В итоге только вы знаете формулу и правило составления матрицы символов и можете в любой момент на любом устройстве вычислить и ввести пароль. А для случаев регулярной смены сделайте 12-15 сдвигов матрицы.
mva
13.10.2023 06:35+8Sap_ru
13.10.2023 06:35-2Какая-то лютая дичь у вас на картинке.
Первый случай: Большие+маленькие+цифры+символы на 11 символов, это не менее 41 бит энтропии и 2'000'000'000'000 лет перебора.
А второй случай, это пара суток подбора по словарю.VADemon
13.10.2023 06:35На картинке принцип diceware. Энтропия зависит от используемого словаря и длины.
Sap_ru
13.10.2023 06:35+1Как на картинке получилось 28 бит энтропии?
Редкое слово, неверное написание, большие и маленькие латинские буквы, цифры и символы. 11 символов. Какова энтропия при таких вводных?И чтобы два раза не вставать. 6 слов из базового корпуса английского словаря (6000 слов), только маленькие буквы. Какое количество сочетаний и какой энтропии оно соответствует?
И ещё один гвоздь в крышку, чтобы гроб точно не открылся: diceware, набор из 28 слов, 6 слов в последовательности. Какова получается энтропия?
VADemon
13.10.2023 06:35Вы это, не дописывайте 3 параграфа изменением коммента. Лучше новый киньте, а то бы после уведомления в почте и не зашел.
Я, когда задался этим вопросом, "а как KeePass 2 высчитывает энтропию паролей?" не понимал, что да к чему. А потом как поооонял. (По памяти) классическое понимание: "сколько надо бит, чтобы закодировать эту последовательность символов". Если отталкиваться от этого, то всего две вводных, 1) размер словаря и 2) количество элементов из этого словаря.
Теперь, если исходя из этого спрашивать "а что если выпадет редкое слово" - то тут либо подмена постулатов (получили статистику, а не подсчет энтропии), либо критика этого метода подсчета, потому что у каждого слова будет свой "вес"* для отражения атак в действительности. (*подсмотрел, если говоря про энтропию, то частота вхождения)
набор из 28 слов, 6 слов в последовательности. Какова получается энтропия?
Исходя из моего параграфа - это статистическое, а что если. При идеальном CSPRNG решение одно и то же, что и для другого любого результата, потому что слова выпадают с вероятностью 1/28 независимо друг от друга. http://bearcave.com/misl/misl_tech/wavelets/compression/shannon.html
Тут мне остается только заметить, что ваш ответ похож на https://en.wikipedia.org/wiki/Gambler's_fallacy и отправить вас к статистикам за объяснением, потому что это не моё. А что считали на картинке - не знаю, банально брать равнозначную вероятность каждого символа, но это не соотносится с практикой символов в паролях.
Sap_ru
13.10.2023 06:35+1Вот тут и закопана манипуляция. Энтропия (количество бит) считается не просто из двоичной длины пароля, а на самом деле представляется собой разрядность двоичного числа, которое хранит все возможные комбинации пароля.
А потому давайте посчитаем.
Первая картинка:
маленькие буквы+больше+цифры+символы (10 штук) = 26+26+10+10 = 72 доступных символов. На картинке нет явных закономерностей и нужен будет полный перебор.
Пароль из 11 знаков. Возводим 72 в степень 11: 72^11 = 2.69e20. Что приблизительно равно 2 в степени 68.
Таким образом энтропия получается 68 бит.
Далеко не 28 бит энтропии, и выходит, что тут нам уже наврали с три короба.
Во втором случае. Видная явная закономерность, которая происходит из способа генерации пароля: английские слова, существительные, маленькими буквами в количестве 6 штук.
Если выбираем слова из набора 20 слов, то 20^6 = 6.4e7 = 2^26, то есть 26 бит;
Набор из 100 слов, то 100^6 = 1e12 ~ 2^40 то есть 40 бит;
Набор из 1000 слов, то 1000^6 = 1e18 ~ 60 бит;
Весь базовый корпус английского языка - примерно 2500 слов, то 2500^6 = 2,44e20 ~ 68 бита; Вот теперь похоже.
Выходит, что для сравнимой с первым паролем сложности подбора нужно составлять предложения из 2500 слов. И что там проще запомнить - большой есть вопрос: так как лошадь/конь/кобыла/мул и батарея/батарейка/аккумулятор, скоба/скобка/шпилька/гвоздь и т.п. Успехов в запоминании.VADemon
13.10.2023 06:35+1Всмотрелся в картинку, там типа каждый бит энтропии серым квадратом обозначен. Судя по расположению квадратов, оценивается энтропия на выходе описанного алгоритма:
Взять слово
Менять ли первую букву на заглавную
Три раза: менять ли гласные на цифры по типу 1337
В конце добавить спецсимвол + число в рандомном порядке
У спецсимвола 4 квадрата энтропии
У числа 3 квадрата
Кто тут ближе к реальности брутфорса - не знаю, но по подсчетам поступил бы как вы, не поняв сути картинки. Столько раз видел, а ни разу не задумывался. Короче, зря они так это нарисовали.
Sap_ru
13.10.2023 06:35+1Это и есть манипуляция.
И осталось понять, что они считают энтропией во втором случае. У них разная длина слов, при равной энтропии. Почему у них энтропия слова 11 бит? Хрен его знает почему - потому, что гладиолус! Точнее, потому, что они посчитали, что слова берутся из словаря в 2000 слов.
Но в этом случае они в пух и прах проигрывают первому случаю, и им нужно не четыре слова, а 7 или 8. А запомнить такое количество слов из большого словаря, это уже не "лошадь, батарея, скоба", забыть и перепутать очень легко.
Раздражает, что эту картинку приводят в качестве аргумента там, где на самом деле она доказывает обратное - что не нужно верить абы чему из интернетов, а нужно честно считать энтропию или писать старые добрые длинные пароли с разнообразными символами.
Прав был доктор Хаус.
VADemon
13.10.2023 06:35Другими словами, словарь для пароля {f, g, h, ф}. Если выпадают только первые три символа, то пароль брутфорсится на раз-два-три. Выпадает русская ф (которая действительно часть пароля) - до свидания. А высчитанная энтропия не отличается.
Sap_ru
13.10.2023 06:35Отличается. Энтропия считается исходя из возможных компонентов пароля.
Если у вас словарь для пароля {f, g, h, ф}, то он брутфорсится за более чем вменяемое время полным перебором по битовой длине всего возможного европейского юникода.
Более того, если это у вас способ формирования паролей такой (то есть некая программа таким образом генерирует, или вы всегда/часто таким образом пароль придумываете), то хоть японские иероглифы используйте или символы из мёртвых языков, но энтропия будет считается из алфавита в четыре символа и реальная энтропия 12 символьного пароля будет 24 бита, а потому подбирается он за секунды.VADemon
13.10.2023 06:35Подбираться он будет за секунды только в случае бинарного брутфорса (и то 4 против 5 байт в UTF-8), иначе несовпадение словарей вообще не даст сбрутфорсить. В остальном разногласий не вижу.
Sap_ru
13.10.2023 06:35+1Наука говорит, что нужно исходить из того, что возможности злоумышленника по подбору ограничены только максимальной вычисленной мощностью (а не алгоритмами и способами перебора), он обладает всей возможной информацией о пароле и способе его формирования, кроме самого пароля, и он будет использовать самый эффективный способ перебора.
На практике несколько нестандартных символов в достаточно длинном пароле действительно делают его практически неподбираемым.
Но та же практика говорит, что криворукие уроды совершенно точно и неизбежно однажды налажают с пользовательским интерфейсом или начнут фильтровать вводимые символы и/или налажают с юникодом, и использующий нестандартные символы хитрец совершенно неизбежно потеряет доступ к своей информации даже если будет помнить пароль ;)
Rayven2024
13.10.2023 06:35замены так часто - шанс что пароль будет записан или новый пароль будет равен позапрошлому (равенство с предыдущим обычно проверяется), ну или они меняются по какому-то простому правилу....
1dNDN
13.10.2023 06:35+1Nvidia требует для того, чтобы запустить geforce experience пароль (емнип) из всех четырех перечисленных групп. И сверху еще двухфакторную авторизацию.
Все это чтобы никто ни в коем случае не спёр мои дрова на видяху, я полагаю
chieftain_yu
13.10.2023 06:35+2Что-то я не понимаю табличку.
Третья и четвертая строка в поле "Тип" мне видятся идентичными - при разной сложности и стоимости.
GoDevSeoTaxi Автор
13.10.2023 06:35Спасибо, поправил.
aspid-crazy
13.10.2023 06:35+5А еще, точка очень слабо отличается от запятой, в колонке со стоимостью. Первые секунд 30 вкуривал, почему у вариантов 2 и 3, оценка требуемых ресурсов отличается на несколько порядков, а стоимость на считанные проценты.
Можно использовать пробел для выделения тысяч.nick-for-habr
13.10.2023 06:35+2Использовать национальные стандарты при написании чисел - это как писать грамотно даже "в интернете": то же становится редкостью и признаком образованного человека.
Иногда прям порадуешься, видя грамотно написанный текст с числами на русском языке )))
Cerberuser
13.10.2023 06:35+1то же становится редкостью и признаком образованного человека
То, допустим, становится, а это?
NikaLapka
13.10.2023 06:35+2Было бы интересно для 12, 16, 24 символов: только цифры, только маленькие буквы, только маленькие и большие буквы? Чтобы посмотреть на тему длины пароля.
iamoblomov
13.10.2023 06:35Вообще я всегда делал перебор по словарям, а брут только до определенного предела.
Ну и уже 10 символов увеличат потребное время и стоимость на два порядка.
ЗЫ. У меня пароль от моей сети 14 символов, а у гостевой, которую даю если требуется вайфай кому пароль 12345678. Но из гостевой сети попасть можно тока в интернет...
Earthsea
13.10.2023 06:35+1Но из гостевой сети попасть можно тока в интернет...
И сделать там что-нибудь нехорошее, а потом майор в 6 утра дверь болгаркой будет пилить.
iamoblomov
13.10.2023 06:35ну кстати да, однако она 5ггц, и мне крайне сомнительно что ее можно свардайвить издалека, стены режут сигал 5ггц отлично
exadmin
13.10.2023 06:35+2если кто-то захочет сделять бяку - придет на лестничную площадку и дотянется - так что нафиг нафиг
Westus
13.10.2023 06:358 символов, из маленьких букв латинского алфавита, больших букв латинского алфавита и цифр
В последнем варианте наверное еще символы.
TheChief5055
13.10.2023 06:35+5Мой пароль, достаточно простой (19 латинских символов, только строчные), стоит по этой формуле ~176 287 триллионов долларов. Значит ли это, что его невозможно сломать? Конечно, нет. Смысл статьи совершенно непонятен.
Kwent
13.10.2023 06:35qwertyuiopasdfghjkl?) 176 287 триллионов это если полным перебором и пароль окажется последним)
balamutang
13.10.2023 06:35+7Мой пароль, достаточно простой (19 латинских символов, только строчные), стоит по этой формуле ~176 287 триллионов долларов
Почему-то ожидал после этой фразы вопрос "Где я могу получить свои деньги?" :)
vadimr
13.10.2023 06:35Злоумышленник в общем случае не знает же заранее, какие символы фактически используются в пароле. Поэтому пробовать ломать брутфорсом всё равно придётся по сложному варианту, а упрощение взлома от сокращения алфавита несколько надумано.
HepoH
13.10.2023 06:35+3Можно ломать сначала только циферные комбинации, потом идти на цифро-буквенные (исключая чисто циферные). В этом случае количество переборов будет такое же как и у самого сложного варианта, но при этом сами варианты будут "отсортированы" по сложности и более простые сломаются раньше.
vadimr
13.10.2023 06:35+3Мы же длину искомого пароля тоже не знаем. Поэтому, прежде чем мы перейдём к паролям из 8 цифр, мы должны будем перебрать все 7-значные пароли с наиболее широким алфавитом (иначе до какой длины мы должны перебирать цифры, прежде чем принять решение использовать буквы?). Это не учтено в приводимой оценке сложности.
HepoH
13.10.2023 06:35Справедливо. Видимо после прочтения статьи я как-то откалибровался под сценарий "только 8-значные пароли".
Kwent
13.10.2023 06:35например, мы видим по имени сети провайдера и знаем какая длина паролей у него обычно) Речь не про гарантированный взлом тут, как мне кажется, а "попробовали 10 и 5 сломали"
vadimr
13.10.2023 06:35Ради подключения к провайдеру это какой-то слишком сложный цирк.
Kwent
13.10.2023 06:35цирк не для подключения к провайдеру, а к "сделать темные делишки с чужого интернета"
Rayven2024
13.10.2023 06:35поэтому умные люди, если понимают что ломать будут скорее всего не конкретно их (в ином случае они несколько по иному относятся к безопасности) и в итоге "главное что бы моя дверь была лишь чуть более взломостойкой, чем дверь соседа".....
RTFM13
13.10.2023 06:35Можно перебирать в порядке усложнения. Условно 6 цифр, 4 буквы, 7 цифр, 8 цифр, 5 букв и т.п. Туда же идёт "словарь + 1 символ", "словарь + 2 символа" и т.п.
Это увеличит время подбора простых паролей, но даже близко не приравняет их к сложным.
janvarev
13.10.2023 06:35+5По-моему, ошибка в 2-3 варианте где-то.
gxcreator
13.10.2023 06:35+6Там точка как сепаратор 000.000.000 и запятая как разделитель дробной части.
janvarev
13.10.2023 06:35+10А-а, всё, увидел. Нетривиальное форматирование.
(Автору: я бы заменил точку на пробел при разделителях тысяч, а то имхо вводит в заблуждение)
GoDevSeoTaxi Автор
13.10.2023 06:35-1Спасибо за идею, вот только редактор текста на хабре, начинает жестко тупить (с пробелами) Поэтому пришлось выдумывать как отобразить в едином стиле.
Komrus
13.10.2023 06:35+3Тоже запнулся на этом месте таблицы...
Тем более что во втором столбце разделитель тысяч - это запятая, а в третьем - запятая отделяет дробную часть от целой; а разделитель тысяч - уже точка...
Если сложно использовать пробел как разделитель тысяч, то для дробной части чуть меньше знаков после запятой?
Или примечание под таблицей написать. Про отличие точки и запятой в данном конкретном случае.
(Ибо не всегда статья читается как научная монография. Зачастую - бегло и по-диагонали. Особенно - в пятницу :)
aspid-crazy
13.10.2023 06:35+3Может быть, использовать неразрывный пробел?
Ndochp
13.10.2023 06:35Да можно было просто указать одинаковую точность — и если в первом случае 0,01, то потом должно было быть 9,37 и 9.792,00 и 273.380,00
Выравнивание вправо и никакой путаницы.
Vsevo10d
13.10.2023 06:35+18Повторял, повторяю и буду повторять. Расширение на цифры, иврит и символы из dingbats увеличивают основание степени. А увеличивать надо показатель.
40^8=6,55*10^12
60^8=1,69*10^14
20^12=4,1*10^15 - слово чуть подлиннее даже без использования верхнего регистра защищает лучше всей этой символьной чуши. Запись слова наоборот или использование датского/польского слова - и все словари оказываются w dupie.
DistortNeo
13.10.2023 06:35+5Да, я тоже являюсь противником этих жёстких требований к множеству символов. Набирать 8-символьный пароль с телефона с переключением регистра и спецсимволами займёт больше времени, чем 16-символьный без переключений. Но последний более криптостоек.
iliasam
13.10.2023 06:35+6Все уже давно сказано: https://xkcd.ru/936/
Sap_ru
13.10.2023 06:35Не 28, а 41 бит энтропии, и успехов в подборе. Это перелицованная шутка про цитату Ленина об Интернете.
Arbuzer
13.10.2023 06:35Погодите. Но ведь таблица актуальна, если только заранее знать словарь. А если загодя достоверно неизвестно, какие символы используются, то сложность перебора будет по умолчанию по 4-ой строке, разве нет?
Ndochp
13.10.2023 06:35Кажется при переборе все давно используют психологию пользователя. Так как для сгенерированного пароля примерно все равно в каком порядке перебирать, а для придуманного можно выдернуть суперприз раньше. Поэтому сначала словари, потом цифры, потом цифры и чуть-чуть букв/спецсимволов, потом буквы и цифры и тд.
ne555
13.10.2023 06:35+1Не согласны с методикой оценки? Давайте обсудим в комментария
Ваш пример из таблицы:
96 ядер IceLake - машина
240K/с
1,27$/ч
2,777777778$/1Gh
Давайте пересчитаем:
240K * 3600c = 864млн_хэшей/ч
Тогда стоимость 1G_хэша = 1.47$ = 1Г_хэш * 1.27$ / 864млн
а у вас по расчетам 1G_хэша = 2.77$
Кто прав?Другое не проверял.
Статья про элементарную математику брутфорса паролей, которую знает каждый новоиспеченный хакер после просмотра сериала Mr.Robot.
offline268
13.10.2023 06:35+2Просто любопытно, если вот например взять максимальную комплектацию из статьи (буквы+цифры+кейс+спец) и длину 8, будут ли коллизии хэшей или выборка маловата?
Ну т.е. можно угадать хэш, но не угадать пароль )
aborouhin
13.10.2023 06:35На WPA-Enterprise c авторизацией через Radius->LDAP по паролю этот расчёт тоже распространяется, или там по-другому? А если по сертификату?
Komrus
13.10.2023 06:35+1Вот тут описывалось кем-то:
https://habr.com/ru/articles/150179/navion
13.10.2023 06:35+1Сертификаты неудобно настраивать, а пароли можно украсть. Остаются DPSK или вход через captive-портал со своими нюансами.
AADogov
13.10.2023 06:35Для параноиков можно организовать что то вроде "One Time Password " написать скрипты на роутере и телефоне компьютере, которые к паролю добавляли цифры ДДММГГГГ. И каждый день они меняются. Или какую-нибудь математическую функцию от них F(ДД,ММ,ГГГГ). Но тогда отпадают умные устройства.
Или WIFI давать доступ только по МАС адресам
Dima_Sharihin
13.10.2023 06:35Да сразу аутентификацию WPA2-Enteprise с отдельным логином-паролем для каждого юзера. И TOTP в довес
DaemonGloom
13.10.2023 06:35Или WIFI давать доступ только по МАС адресам
Этот метод даёт только неудобство для легального пользования сетью. Злоумышленник подходящие MAC адреса поймает без проблем.
V_PA
13.10.2023 06:35+3у меня у половины соседей пароли это какая-нибудь дата - 8 цифр. 1080ти очень быстро перебирает)
еще у большей части не выключен WPS на роутерах. При этом если это старый и не обновленный TP-Link, то подбирать PIN выгоднее и быстрее.
cahbeua
13.10.2023 06:35+1Очередной спор какой пароль лучше... Паяльник стоит 2 бакса. Дороже чем 8 цифр, но дешевле всех остальных методов.
Newbilius
13.10.2023 06:35Паяльник неэффективен в случае массового брутфорса кучи пользователей, потому что удалённо вы паяльник к каждому из них не принесёте ;)
NutsUnderline
13.10.2023 06:35+1пароль на WifI как замок от честных воров. В ethernet тоже могут включиться, в подъезде например. секурность надо обеспечивать другими методами
Phoenix_free
13.10.2023 06:35А нельзя один раз вычислить хеши и добавить в таблицу, следующие хеши подбирать по таблице? И ещё глупый вопрос, а хеши все одной длинны?
VADemon
13.10.2023 06:35+2Криптографические хеш-функции (и вообще наверно все хеш-функции) имеют результат одной длины. Иное реализовывать программно бессмысленно.
Про радужные таблицы писали выше в комментариях. Отличается при различных SSID. Значит SSID - выполняет функцию соли.
Phoenix_free
13.10.2023 06:35Спасибо за разъяснения, вчера решил попробовать ради интереса. Оказывается сильно заморачиваться не нужно, первый же роутер за минуту и тридцать восемь секунд на проце. Видимо обыватели совсем не парятся, ставят простые цифры.
ky0
13.10.2023 06:35+2Это зачастую из-за того, что при первичной установке монтажники ISP не парятся, устанавливая пароль равным номеру договора, "аА123456", а то и что-нибудь вроде "названиепровайдера""номер квартиры" или "номер_мобильного_телефона_владельца".
saboteur_kiev
13.10.2023 06:35А нельзя один раз вычислить хеши и добавить в таблицу, следующие хеши подбирать по таблице? И ещё глупый вопрос, а хеши все одной длинны?
Это и есть радужные таблицы.
Против них изобрели соль, вектор инициализации.Ну и в идеале вообще защитить хеш от открытого доступа...
sim31r
13.10.2023 06:35+4Как вариант усложнения взлома автоматически передавать ложные хендшейки которые не расшифровываются ни как. На 99% злоумышленник перехватит именно их и понесет финансовые убытки и интерес пропадет.
dartraiden
13.10.2023 06:35А насколько дорогой у тебя ВайФай?
50 символов из букв разного регистра, цифр и спецсимволов. И это мои требования ко всем паролям.
Было 30, но когда заметил, что уже неделю под окнами крутится фургон с белорусскими номерами, поменял все пароли, вдобавок усилил. Тревога, правда, оказалась ложной - в доме реально поселился белорус.
TsarS
Мне почему-то казалось, что цена такая сложится, если только правильный пароль окажется последним при переборе. А если он подберется при "половине" работы, то и цена снизится вдвое. Т.е. эти цифры как бы максимальная цена.
ImagineTables
Это если взлом поставить на поток и обеспечить постоянный приток клиентов. А если нет, то и ориентироваться надо на минимальную сумму оплаты услуг.
izirayd
Пишется исходя из худшего случая
MaximRV
Наверное стоит рассчитывать не на худший сценарий и не на удачу в переборе, а брать среднее, ну типа как период полураспада.
Tsentr
надо значит все пароли свои с цифры 9 начинать)
ky0
С пробела :)
Rayven2024
поможете взломщикам, если они начнут с конца ;-)
на самом деле - брать первые или последние комбинации - самая плохая идея, да и средние то же не очень.... но и бесконечно на половинки делить взломщики не будут
просто проверять первые и последние %5-10 комбинаций будут скорее всего в первую очередь, возможно и середину диапазона то же проверят....
тут всё зависит только от алгоритмов перебора, я вот например не помню "мастер-пароль" принтера по умолчанию, но помню что я его не менял, т.к. доступа по сети к нему нет, а помещение закрыто на ключ.
И когда приходится заходить в админку принтера я начинаю перебирать все комбинации, которые мог поставить завод от 123, 1234, 123456, 000, 0000 и тп
в итоге за пару-тройку минут я пароль"вспоминаю"... искать его в мануале или в Интернете будет немного дольше (включить комп, зайти в поиск, найти сайт - да он еще и не первый в выдаче будет и тд).
так и взломщики - они совсем не дураки. сначала прогонят самые часто встречающиеся пароли(а там не такие уж и большие списки), словарные пароли, потом то же самое в другой раскладке, потом с добавлением цифр и тд
В итоге если вы не конкретная цель, то при правильном пароле проще взломать соседний вай-фай, чем ваш...