Интернет-хаки: атаки методом перебора и способы их предотвращения
Атака грубой силы, также называемая исчерпывающим поиском ключа, по сути является игрой в догадки и может быть выполнена против любого типа системы аутентификации..
Ключи шифрования особенно уязвимы для атак методом "грубой силы", поскольку не существует простого способа ограничить количество предположений, которые атакующий может сделать, чтобы взломать его. Следовательно, можно продолжать вводить все возможные пароли, пока не будет найден правильный пароль..
Contents
Простые числовые пароли
Длина и сложность пароля позволяют нам рассчитать, сколько попыток потребуется для его взлома..
Например, типичный четырехзначный код двери будет иметь 10 000 различных комбинаций, от 0000 до 9999. Легко посчитать, что при случайном вводе паролей правильный код двери с вероятностью 50% будет угадан в течение 5000 попыток..
Хотя было бы скучно вводить так много разных ключей для человека, мы могли бы создать небольшую роботизированную руку, чтобы сделать это для нас, или даже найти способ вводить коды в электронном виде. Если нашей маленькой роботизированной руке понадобится одна секунда, чтобы ввести код, мы можем открыть любую такую дверь в течение 167 минут - менее трех часов..
Ограничение количества разрешенных догадок для пароля.
Повышение безопасности систем за счет ограничения количества догадок
Есть несколько способов сделать вышеупомянутую дверь более безопасной. Например, мы могли бы разрешить только три предположения, прежде чем считыватель кода двери будет заперт внутри коробки, для открытия которой требуется физический ключ. Вероятность правильного угадывания правильного кода двери в таком случае будет снижена до 0,3%, что достаточно мало, чтобы надеяться оттолкнуть злоумышленника..
Банковские карты часто используют этот механизм; после определенного количества неудачных попыток банкомат сохранит карту пользователя.
Телефонные SIM-карты также часто допускают только ограниченное количество предположений пароля, после чего для доступа к карте требуется гораздо более длинный ключ разблокировки PIN-кода (PUK)..
Недостатком этого является неудобство. Вторичная система кодов доступа сделает замок двери, банковскую карту или телефон непригодным на определенное время. Кроме того, если PUK-файл не хранится надежно, он может представлять совершенно новую угрозу безопасности..
Альтернативная система состоит в том, чтобы разрешить только определенное количество паролей в минуту. Например, если вы можете попытаться разблокировать ранее упомянутую дверь только раз в минуту, то для ее открытия потребуется до 167 часов. Это почти ровно неделя, и, скорее всего, достаточно, чтобы злоумышленник не стал пытаться - или достаточно долго, чтобы законные владельцы могли обнаружить атаку.
Ничто не может ограничить количество догадок для ключей шифрования
Однако ограничение попыток ввода пароля возможно только для устройства или онлайн-службы. Если злоумышленник имеет доступ к зашифрованному файлу или злоумышленник перехватил ваши зашифрованные сообщения, ничто не может ограничить количество предположений, которые они могут сделать.
Единственным вариантом в таких случаях является увеличение длины пароля, что делает его более безопасным. Для каждой добавленной цифры к паролю становится угадывать в десять раз больше времени. Например, шестизначный дверной код потребует почти 12 дней, чтобы взломать одну догадку в секунду.
Однако создание более длинных паролей требует больших затрат, так как их становится все труднее запомнить. А когда дело доходит до чисто догадки, компьютеры могут легко угадать миллиард цифр в секунду, поэтому пароли должны быть очень длинными. 18-значный код доступа может занять больше года, чтобы компьютер мог угадать, но не могли бы вы вспомнить такой длинный код?
Сложность так же важна, как длина
Учет более сложных паролей значительно повышает безопасность. Если мы разрешаем только цифры, на одну цифру может быть только десять возможных записей (0-9). Дальнейшее разрешение строчных букв увеличивает это до 36 записей на цифру (0-9, a-z). Добавление заглавных букв увеличится до 62 записей на цифру (0-9, a-z, A-Z).
Использование исходной таблицы Unicode (набор символов латинского алфавита) дополнительно увеличит каждую цифру до 95 возможных записей. Разрешение для других сценариев, таких как арабский или греческий, быстро увеличивает это число еще больше.
В текущем наборе Unicode содержится более 120000 символов, символов и смайликов, и все это можно использовать для надежного пароля. Простое использование любых двух из этих символов дает пароль с более чем 14 миллиардами различных возможностей. Добавление третьего делает это квадриллионом возможностей.
Если предположить, что компьютер может угадать миллиард паролей в секунду, то для поиска трехсимвольного пароля с использованием набора Юникод потребуется более миллиона секунд - около 12 дней. Делать пароли сложнее так же, как делать их длиннее, но, как правило, их легче запомнить.
Люди неспособны быть случайными.
Случайное важно, но люди плохие наугад
На самом деле пароли редко бывают случайными. Люди систематически не могут придумать действительно случайные пароли, что делает возможными некоторые варианты атаки методом перебора.
Например, мы можем выбрать отдельные популярные слова, когда их просят создать пароль, что значительно снижает сложность наших паролей. Несмотря на то, что для шестибуквенного пароля существует 300 миллионов возможных комбинаций, даже если мы допустим только строчные буквы, злоумышленники начнут с наиболее часто используемых английских слов, что часто дает результаты. Такая атака называется словарная атака.
Атака по словарю часто сочетается со знанием наиболее часто используемых паролей. Мы знаем популярность определенных паролей от предыдущих взломов паролей. Например, пароль 1234 открывает более 10% всех телефонов. Пароли 1111 и 0000, еще 8%.
При трех попытках взлома пароля теоретически взлома пароля происходит 0,3%, но на практике это ближе к 18%..
Это должно значительно увеличить сложность пароля, когда определенные буквы заменяются специальными символами, такими как «Pa $$ w0rd». Однако способ, которым люди заменяют эти буквы, довольно предсказуем, и он не добавляет много случайности. Легко угадать популярные замены, такие как электронная -> 3, а -> @, о -> 0 или с -> $, тогда проверьте это. Это часто называют замена персонажа.
Если у компьютера или злоумышленника есть возможность узнать о пользователе, это может значительно сократить количество попыток взлома их пароля. Многие люди добавляют свои даты рождения или годы рождения в пароли. Другие используют имя своего супруга, ребенка или домашнего животного. Некоторые могут использовать определенные символы с заглавной буквы или просто включать URL-адрес сайта, для которого они используют этот пароль - вещи, которые злоумышленник может легко угадать.
Обычная формула для пароля - это слово, которое начинается с заглавной буквы, за которой следует число, и заканчивается специальным символом, например, EG Word1111 !. Если злоумышленник узнает некоторую информацию о своей цели, он может использовать этот шаблон, но заменить содержимое информацией, относящейся к жертве. Это называется проверка шаблона.
Лучшая защита - надежный случайный пароль
Ограничение количества догадок в секунду или общего числа угадываний до блокировки учетной записи в значительной степени защищает вас от атак методом перебора.
С ключами шифрования такие ограничения невозможны, поэтому лучший способ защититься от атаки методом перебора - использовать генератор случайных паролей, либо как отдельный инструмент, либо как часть менеджера паролей. Вы также можете использовать технику Diceware.