Введение
Криптоаналитический метод для несанкционированного доступа к данным
В криптографии атака полным перебором заключается в том, что злоумышленник многократно вводит различные пароли или парольные фразы в надежде на успешное угадывание. Злоумышленник систематически проверяет все возможные пароли и парольные фразы до тех пор, пока не будет найден верный. Альтернативно, злоумышленник может попытаться угадать ключ, который обычно генерируется из пароля с помощью функции выработки ключа. Это известно как исчерпывающий поиск ключа. Этот подход не требует интеллектуальной тактики, а основывается на большом количестве попыток. Атака полным перебором – это криптоаналитическая атака, которая теоретически может быть использована для попытки расшифровки любых зашифрованных данных (за исключением данных, зашифрованных способом, обеспечивающим информационную безопасность). Такая атака может быть применена, когда невозможно воспользоваться другими уязвимостями в системе шифрования (если они существуют), которые могли бы упростить задачу. При подборе паролей этот метод очень эффективен для проверки коротких паролей, но для более длинных паролей используются другие методы, такие как атака по словарю, поскольку полный перебор занимает слишком много времени. Более длинные пароли, парольные фразы и ключи имеют больше возможных значений, что из-за разнообразия символов делает их взлом экспоненциально более сложным, чем коротких. Эффективность атак полным перебором можно снизить, маскируя данные, подлежащие кодированию, что затруднит атакующему определение момента взлома кода, или заставляя атакующего выполнять больше работы для проверки каждой попытки. Одним из показателей надежности системы шифрования является теоретическое время, необходимое злоумышленнику для успешной атаки полным перебором. Атаки полным перебором являются применением метода полного перебора – общей техники решения задач, заключающейся в перечислении всех кандидатов и проверке каждого из них. Иногда для описания атаки полным перебором используется термин «взлом грубой силой», а для контрмер – «защита от взлома грубой силой».
Основная концепция
Атаки методом перебора работают, вычисляя все возможные комбинации, которые могут составлять пароль, и проверяя каждую из них на соответствие. С увеличением длины пароля время, необходимое для подбора правильного пароля, в среднем, растет экспоненциально.
Теоретические пределы
Ресурсы, необходимые для атаки полным перебором, растут экспоненциально с увеличением размера ключа, а не линейно. Хотя экспортные правила США исторически ограничивали длину ключей до 56-битных симметричных ключей (например, стандарта шифрования данных), эти ограничения больше не действуют, поэтому современные симметричные алгоритмы обычно используют более надежные с вычислительной точки зрения ключи длиной от 128 до 256 бит. Существует физический аргумент, что 128-битный симметричный ключ является вычислительно безопасным против атаки полным перебором. Предел Ландауэра, вытекающий из законов физики, устанавливает нижний предел энергии, необходимой для выполнения вычисления на один стертый бит, где T — температура вычислительного устройства в кельвинах, k — постоянная Больцмана, а натуральный логарифм 2 составляет примерно 0,693 (0,6931471805599453). Ни одно необратимое вычислительное устройство не может использовать меньше энергии, чем это, даже в принципе. Таким образом, для простого перебора возможных значений 128-битного симметричного ключа (не учитывая фактические вычисления для его проверки) теоретически потребуется 2<sup>128</sup> − 1 переворотов битов на обычном процессоре. Если предположить, что вычисление происходит при комнатной температуре (≈300 К), то предел фон Неймана — Ландауэра может быть применен для оценки требуемой энергии в ≈10<sup>18</sup> джоулей, что эквивалентно потреблению 30 гигаватт энергии в течение одного года. Это равно 30×10<sup>9</sup> Вт×365×24×3600 с = 9,46×10<sup>17</sup> Дж или 262,7 ТВт·ч (около 0,1% годового мирового производства энергии). Полное фактическое вычисление — проверка каждого ключа для определения, найдено ли решение — потребует во много раз больше энергии. Кроме того, это лишь энергетические затраты на перебор ключевого пространства; фактическое время, необходимое для переключения каждого бита, не учитывается, и оно, безусловно, больше нуля (см. предел Бремермана). Однако этот аргумент предполагает, что значения регистров изменяются с использованием обычных операций установки и сброса, которые неизбежно генерируют энтропию. Показано, что вычислительное оборудование может быть спроектировано таким образом, чтобы избежать этого теоретического препятствия (см. обратимые вычисления), хотя таких компьютеров, насколько известно, не было построено. С появлением коммерческих аналогов правительственных ASIC-решений, также известных как специализированные аппаратные атаки, две новые технологии доказали свою эффективность в атаках полным перебором на определенные шифры. Одна из них — современная технология графических процессоров (GPU), другая — технология программируемых вентильных матриц (FPGA). GPU выигрывают от широкой доступности и соотношения цены и производительности, а FPGA — от энергоэффективности на криптографическую операцию. Обе технологии стремятся перенести преимущества параллельной обработки на атаки полным перебором. В случае GPU — несколько сотен, в случае FPGA — несколько тысяч процессорных ядер, что делает их гораздо более подходящими для взлома паролей, чем обычные процессоры. Например, в 2022 году 8 графических процессоров Nvidia RTX 4090 были объединены для проверки надежности пароля с использованием программного обеспечения Hashcat, результаты которого показали, что 200 миллиардов восьмисимвольных комбинаций паролей можно перебрать за 48 минут. Различные публикации в области криптографического анализа доказали энергоэффективность современной технологии FPGA, например, компьютер COPACOBANA FPGA Cluster потребляет столько же энергии, сколько один ПК (600 Вт), но работает как 2500 ПК для определенных алгоритмов. Ряд компаний предоставляют решения для криптографического анализа FPGA на основе аппаратного обеспечения, от одной карты FPGA PCI Express до специализированных компьютеров FPGA. Шифрование WPA и WPA2 успешно подвергалось атакам полным перебором, снижая нагрузку в 50 раз по сравнению с обычными ЦП и в сотни раз в случае FPGA. Стандарт шифрования AES допускает использование 256-битных ключей. Для взлома симметричного 256-битного ключа полным перебором требуется в 2<sup>128</sup> раз больше вычислительной мощности, чем для 128-битного ключа. Один из самых быстрых суперкомпьютеров в 2019 году имел скорость 100 петафлопс, что теоретически позволяло проверять 100 миллионов (10<sup>14</sup>) ключей AES в секунду (при условии 1000 операций на проверку), но все равно потребовалось бы 3,67×10<sup>55</sup> лет, чтобы исчерпать 256-битное пространство ключей. Основное предположение атаки полным перебором состоит в том, что полное пространство ключей было использовано для генерации ключей, что зависит от эффективного генератора случайных чисел и отсутствия дефектов в алгоритме или его реализации. Например, ряд систем, которые изначально считались неуязвимыми для взлома полным перебором, тем не менее были взломаны, поскольку было обнаружено, что пространство ключей для поиска было намного меньше, чем предполагалось, из-за недостатка энтропии в их псевдослучайных генераторах чисел. К ним относятся реализация Secure Sockets Layer (SSL) компанией Netscape (взломана Яном Голдбергом и Дэвидом Вагнером в 1995 году) и версия OpenSSL для Debian/Ubuntu, обнаруженная в 2008 году с дефектом. Аналогичный недостаток реализованной энтропии привел к взлому кода Enigma.
Переработка аккредитив
Переработка учетных данных — это хакерская практика повторного использования комбинаций имени пользователя и пароля, полученных в результате предыдущих атак перебором. Особая форма переработки учетных данных — это метод "pass the hash", при котором украденные хеши паролей, не защищенные солью, используются повторно без предварительного взлома.
Неразрушимые коды
Некоторые типы шифрования, благодаря своим математическим свойствам, невозможно взломать методом полного перебора. Примером является шифрование одноразовым блоком, где каждому биту открытого текста соответствует ключ из истинно случайной последовательности ключевых бит. Строка, зашифрованная одноразовым блоком длиной 140 символов, подвергнутая атаке полным перебором, в конечном итоге выдаст все возможные строки длиной 140 символов, включая правильную – но среди всех полученных вариантов невозможно будет определить, какой из них верный. Для взлома такой системы, как это было реализовано в проекте Venona, обычно требуется не чисто криптографический подход, а использование ошибок в реализации, таких как недостаточная случайность ключевых блоков, перехват ключевых блоков или ошибки операторов.
Контрмеры
В случае оффлайн-атаки, когда злоумышленник получил доступ к зашифрованным данным, можно перебирать комбинации ключей без риска быть обнаруженным или подвергнуться вмешательству. В случае онлайн-атак администраторы баз данных и каталогов могут применять меры противодействия, такие как ограничение числа попыток ввода пароля, введение временных задержек между последовательными попытками, повышение сложности аутентификации (например, требование ответа на CAPTCHA или использование многофакторной аутентификации) и/или блокировка учетных записей после нескольких неудачных попыток входа. Администраторы веб-сайтов могут запретить определенному IP-адресу совершать более заданного количества попыток подбора пароля для любой учетной записи на сайте.
Обратная атака грубой силы
В атаке обратного перебора один (обычно распространённый) пароль проверяется на соответствие множеству имён пользователей или зашифрованных файлов. Этот процесс может быть повторен для небольшого числа отобранных паролей. В данной стратегии злоумышленник не ориентирован на конкретного пользователя.