Атака грубой силой (полным перебором)
Полный перебор (или метод 'грубой силы' от англ. brute force) - метод решения задачи путем перебора всех возможных вариантов. Сложность полного перебора зависит от размерности пространства всех возможных решений задачи. В криптографии на сложности полного перебора основывается оценка криптостойкости шифров. В частности, шифр считается криптостойким, если не существует метода взлома, существенно более быстрого, чем полный перебор всех ключей.
Это определение атаки грубой силы взято с сайта Википедии.
Выражаясь более простым языком, атака перебором - это угадывание пароля путем перебора всех возможных вариантов на основе длины пароля и заданного набора символов. Например, все варианты на основе малых Латинских символов, т.е. 'abcdefghijklmnopqrstuvwxyz'. Атака перебором - самая медленная. К примеру, если вы задали набор из малых Латинских символов для вашей атаки, то потребуется перебрать 217 180 147 158 вариантов для 8-символьного пароля. Эта атака должна использоваться только тогда, когда все остальные не увенчались успехом.
Опции атаки перебором можно разделать на три группы:
Набор символов
Атака перебором подразумевает использование всех возможных вариаций из заданного диапазона символов, который задается в первой группе опций. Можно выбирать и сочетать комбинации предустановленных наборов (например, Латинские символы, цифры или специальные символы), либо задавать свои. Чтобы задать свой диапазон символов, следует выставить опцию 'Пользовательский набор'. После этого, для формирования своего набора, станут доступны два поля ввода: первое - для ввода ASCII или OEM символов, второе - для ввода непечатных символов. Свой набор можно сохранить на диске.
Длина пароля и его начальная позиция
Эта группа опций позволяет задать минимальную и максимальную длину генерируемого пароля. Если предыдущая атака перебором была прервана или остановлена, то можно продолжить атаку с последней запомненной позиции, которая задается опцией 'Начальный пароль'.
Распределенная атака
Группа опций 'Distributed attack' бывает полезной, если у вас имеется доступ к нескольким компьютерам. В этом случае, весь перебираемый диапазон символов, если он слишком велик, можно разбить на части и перебирать частями на разных компьютерах одновременно. Для этого надо выбрать количество компьютеров, принимающих участие в распределенном переборе, выставить на всех компьютерах одинаковые настройки и каждому компьютеру присвоить свой порядковый номер. После этого можно запускать атаки.
Ниже приведена таблица оценки примерного времени, необходимого для поиска 6 буквенного пароля при скорости перебора 1 миллион паролей в секунду.
Имя файла с набором символов |
Набор |
Пример пароля |
Кол-во паролей |
Время |
0-9.pcf |
0123456789 |
666929 |
1 111 110 |
1 секунда |
1-13.pcf |
0x1 ... 0xd |
|
5 229 042 |
5 сек |
a-z.pcf |
abcdefghijklmnopqrstuvwxyz |
qwerty |
321 272 406 |
5 минут |
a-z, 0-9.pcf |
abcdefghijklmnopqrstuvwxyz0123456789 |
asd123 |
2 238 976 116 |
37 минут |
a-z, 0-9, symbol14.pcf |
abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+= |
a#q1*9 |
15 943 877 550 |
4.5 часа |
a-z, A-Z.pcf |
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz |
QWErty |
20 158 268 676 |
5,5 ч |
a-z, A-Z, 0-9.pcf |
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 |
Asd123 |
57 731 386 986 |
16 ч |
a-z, A-Z, 0-9, symbol14.pcf |
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= |
As12#$ |
195 269 260 956 |
2 дня, 6 ч |
all.pcf |
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; |
Aa1@|} |
742 912 017 120 |
8 дней, 15 ч |