Вивчаємо довжину паролів
Відновлення пароля може бути досить складним процесом. Шифрування можна порівняти з головоломкою "Судоку". Чим більше і заплутаніше головоломка, тим складніше обійти схему шифрування. Хоча є два способи, щоб спробувати це зробити.
Зазвичай в ході першого хакери намагаються знайти якусь загальну закономірність. Цей спосіб можна розділити на кілька різних класів атак, про деякі з них ви, можливо, чули в новинах, наприклад, таких, як атака по стороннім каналах. Ці методи складні і не з тих, якими користуються звичайні комп'ютерні користувачі. Тільки невелика група людей вміє їх застосовувати і застосовує.
Набагато більш примітивний підхід до обходу шифрування - просто "гадати і перевіряти". Цей спосіб відомий як метод підбору. Уявіть, що ви приводите кожну одиничну комбінацію чисел, яку можна використовувати для вирішення вищезазначеної головоломки "Судоку", починаючи з використання одиниць у всіх напрямках і закінчуючи всіма дев'ятками. Існують способи, які дозволяють приховати "перевірку", щоб атака стала більш складною. Але такі прості програми, як WinZip і WinRAR, не мають такої переваги. Якщо ви наполегливі, то можете продовжувати вгадувати паролі, поки рак на горe НЕ свисне. Немає межі кількості варіантів, які ви можете запропонувати до перевірки. Таким чином, справжня проблема в питанні відновлення пароля полягає в швидкості, з якою ви зможете відгадати правильний варіант.
Вручну перевіряти паролі - це, в кращому випадку, дурна спроба, особливо якщо ви маєте справу з довгим паролем. Ось тут-то і виходять на сцену програми відновлення паролів. Вони автоматизують процес "вгадування" паролів.
Доступні символи з застосуванням англійського алфавіту
Можливих паролів з двох символів
689 869 781 056
Атаки методом підбору розраховані на ймовірність. Чим довше пароль, тим більше буде паролів на перевірку. Тут покладаються на ідею перестановки, тобто розстановки об'єктів в певному порядку. Уявіть, що паролі - це анаграми. Якщо ми дамо вам літери a, b і c, скільки різних упорядкованих розстановок ви зможете зробити? Всього з трьома буквами ви зможете провести шість перестановок набору, а саме: [a, b, c], [a, c, b], [b, a, c], [b, c, a], [c, a , b] і [c, b, a].
Обчислити кількість можливих паролів просто. Повторення допускаються, тому формула буде такою: n (довжина пароля), де n - це число можливих символів. Як бачите, при шести символах ми вже маємо справу з мільярдами варіантів, якщо в пароль включені малі та великі літери. Якщо ви також використовували особливі символи і числа (всі символи ASCII (American Standard Code for Information Interchange - Американський стандартний код для обміну інформацією)), то виявите, що число паролей- "кандидатів" різко зросте до. трильйона (10 в 12-го ступеня). І не забувайте, що, якщо ви не знаєте довжини свого пароля, то повинні будете випробувати всі можливі комбінації, починаючи з пароля в один символ, поки не дійдете до обраного вами пароля.
Розумієте, до чого ми хилимо?
Злом паролів: обчислення на базі CPU
Існує безліч програм, з яких можна вибрати ту, яка допоможе вам відновлювати паролі, але дві найбільш популярні називаються так: Advanced Archive Password Recovery і Visual Zip Password Recovery Processor. Коли ми втратили пароль до якогось з WinZip-файлів, то змогли побачити в справі першу програму, яка відновила пароль довжиною в сім символів за 20 хвилин. Але це дало нам їжу для роздумів і розпалило нашу цікавість. З якою швидкістю наш комп'ютер шукав паролі? Що б сталося, якби ми використовували сильніший метод шифрування, такий як AES-128?
Ще важливіше наступне питання: невже для відкриття всіх наших захищених паролями архівів потрібно всього лише 20 хвилин, а потім до них отримає доступ хтось, хто не повинен його отримати?
Швидкість прямого підбору паролів, паролів в секунду
Стиснення: RAR стандартне
Шифрування: AES-128, назви файлів
Як бачите, стиснення лише в малому ступені впливає на швидкість, з якою ви можете спробувати підбирати паролі, але найбільший недолік полягає в старій схемі шифрування Zip 2.0. В результаті пароль з п'яти символів може бути знайдений лише за кілька секунд, тому що ви можете обробляти дані зі швидкістю близько 28 мільйонів паролів в секунду, використовуючи процесор Core i5-2500K. Visual Zip також виявив правильний пароль за допомогою методу шифрування Zip 2.0, але, внаслідок проблем із програмним забезпеченням, ця утиліта не змогла відновити пароль файлу, зашифрованого за допомогою AES-128.
Безсумнівно, це ще не вся історія. Нас не цікавить продуктивність CPU тільки заради того, щоб можна було похвалитися, що може зробити новий центральний процесор (хоча це могло б, по суті, привести нас до проведення цікавого еталонного тесту). І тому ми турбуємося про продуктивність ЦП через те, що вона впливає на швидкість, з якою ми можемо знайти пароль.
Загальний час підбору, якщо він йде зі швидкістю 28 мільйонів паролів / сек.
Паролі від 1 до 4 символів
Паролі від 1 до 6 символів
701 193 345 років
Навіть якщо ви припустімо, що зможете спробувати обробляти 28 мільйонів паролів в секунду, то ваші шанси вгадати правильну пароль будуть все більш і більш неясними, коли ви приступите до більш довгим паролів і наборам символів. Витратити цілий місяць на те, щоб зламати пароль з восьми символів, з яких всі вісім є літерами, - це не така вже й страшна перспектива, якщо захищена інформація дійсно важлива. Але 700 мільйонів років - це, погодьтеся, дуже велика цифра, щоб змушувати вас чекати.
На щастя, програма Advanced Archive Password Recovery дозволяє призупинити процес і зберегти позицію, на якій перервався пошук. А якщо у вашому розпорядженні кілька домашніх комп'ютерів, то ви зможете значно знизити час пошуку, розподіливши обсяг робіт між ними. Вам ще не страшно?
Злом паролів: технологія GPGPU
Злом пароля: центральний процесор i5-2500K.
Мета атаки методом підбору - швидко перебрати максимальну кількість паролів. Але сучасні CPU недостатньо добре оптимізовані для цього. У той час, як наша робоча станція на архітектурі Sandy Bridge може обробляти близько 28 мільйонів паролів в секунду, вона все ж не використовує всі доступні такти ЦП. Згадайте, ми адже тільки вгадуємо і перевіряємо. Вищенаведений знімок екрана з даними по використанню центрального процесора ілюструє це: тоді як тактова частота, звичайно ж, допомагає в даному процесі, програма здатна скористатися перевагою паралелізму, тому наявність бoльшего кількості ядер допоможе прискорити процес пошуку пароля.
Були часи, коли злом паролів за допомогою технології GPGPU (General-purpose graphics processing units - обчислення загального призначення на GPU) не виходив за межі наукового світу: студенти-випускники докладали великих зусиль для роботи зі спеціальними програмами, які так і не знаходили комерційного застосування . Але тепер все змінилося. В даний час існують дві GPGPU-утиліти, які може купити будь-який, у кого є кредитна карта: Parallel Password Recovery і Accent Password Recovery.
Parallel Password Recovery - це програма, оптимізована виключно під архітектуру з паралельними обчисленнями Nvidia CUDA. Ми не говоримо про те, що ядра CUDA краще, ніж розробка AMD Stream. Однак слід віддати належне Nvidia. Її "вторгнення" в область обчислень загального плану за допомогою графічного процесора почалося вже досить давно і компанія надала розробникам доступ до численних бібліотекам низького рівня, необхідним для вивчення даної технології. AMD зробила відповідні дії набагато пізніше. Насправді, ми все ще стикаємося з деякими проблемами при застосуванні прискорення Stream, включеного в популярні додатки для перекодування. Це частково пояснює, чому ще одне рішення, Accent Password Recovery, все ж схиляється в бік застосування розробок Nvidia. Хоча ця утиліта розпізнає CUDA і Stream, тільки апаратне забезпечення від Nvidia оптимізовано для того, щоб можна було проникнути в файл з шифруванням Zip 2.0.
Прямий підбір паролів, паролів в секунду
Parallel Password Recovery
Прямий підбір паролів, всі символи ASCII, загальний час підбору
Довжина пароля від 1 до 6 символів
Довжина пароля від 1 до 8 символів
Якщо підбір йде зі швидкістю 180.000 паролів в секунду.
50 днів, 20 годин
1 284 року, 79 днів
Якщо підбір йде зі швидкістю 24 мільйони паролів в секунду.
9 годин, 9 хвилин
Якщо підбір йде зі швидкістю 500 мільйонів паролів в секунду.
26 хвилин, 21 секунда
168 днів, 17 годин
Безсумнівно, Zip 2.0 вельми застарілий алгоритм шифрування. Програма WinZip підтримує його тільки з міркувань сумісності. Стандарт AES - ось новий "фаворит", до якого всі прагнуть. Цю схему набагато складніше використовувати в паралельних завданнях, хоча розробники ПЗ, звичайно ж, роблять такі спроби.
Продуктивність особливо сильно страждає, коли ми починаємо намагатися відновити пароль, зашифрований із застосуванням коду AES. Курсор миші в нашій тестовій системі буквально почав "спотикатися". Атаки методом підбору на файли з AES-шифруванням проводяться досить повільно. Для того, щоб випробувати всі можливі комбінації з символів ASCII для пароля довжиною від 1 до 7 символів, знадобиться більше 13 років.
2 х GeForce GTX 570 SLI
Прямий підбір паролів, паролів в секунду
Parallel Password Recovery