У криптоаналізі і комп'ютерній безпеці, злом пароля являє собою процес відновлення паролів з даних, які були збережені або передані за допомогою комп'ютерної системи. Загальний підхід складається в тому, щоб підбором вгадати пароль. Інший поширений підхід полягає в тому, щоб сказати, що ви «забули» пароль, а потім змінити його.
Цілями злому пароля можуть бути: допомога користувачеві у відновленні забутого пароля (хоча установка нового паролю представляє меншу загрозу безпеки, але вимагає привілеїв системного адміністрування); отримання несанкціонованого доступу до системи; профілактична міра, коли системні адміністратори перевіряють наскільки легко зламуються паролі. У файловій системі злом пароля використовується для отримання доступу до цифрових доказів, для яких суддя отримав доступ, але для звичайних користувачів доступ обмежений
Час, необхідний для підбору пароля Час, необхідний для злому пароля, пов’язаний із розрядністю, яка є мірою ентропії пароля, і деталями того, як пароль зберігається. Більшість методів злому паролів вимагають від комп’ютера створювати багато потенційних паролів, кожен з яких перевіряється. Одним із прикладів є злам грубою силою, під час якого комп’ютер намагається спробувати всі можливі ключі чи паролі, поки це не вдасться. З кількома процесорами цей час можна оптимізувати за допомогою пошуку з останньої можливої групи символів і початку одночасно, при цьому інші процесори розміщуються для пошуку через визначений вибір можливих паролів. Більш поширені методи злому паролів, такі як атаки за словником, перевірка шаблонів і варіації звичайних слів, спрямовані на оптимізацію кількості вгадувань і зазвичай застосовуються перед атаками грубої сили. Вища розрядність пароля експоненційно збільшує кількість паролів-кандидатів, які необхідно перевірити в середньому, щоб відновити пароль, і зменшує ймовірність того, що пароль буде знайдено в будь-якому злому словнику.
Можливість зламувати паролі за допомогою комп’ютерних програм також залежить від кількості можливих паролів за секунду, які можна перевірити. Якщо зловмиснику доступний хеш цільового пароля, це число може складати мільярди або трильйони за секунду, оскільки можлива офлайн-атака. Якщо ні, швидкість залежить від того, чи програмне забезпечення автентифікації обмежує частоту спроб введення пароля через затримки, CAPTCHA або примусове блокування після певної кількості невдалих спроб.
Для деяких типів хешу паролів звичайні настільні комп’ютери можуть тестувати понад сто мільйонів паролів за секунду за допомогою інструментів злому паролів, що працюють на центральному процесорі загального призначення, і мільярди паролів за секунду за допомогою інструментів злому паролів на основі GPU. Швидкість вгадування пароля значною мірою залежить від криптографічної функції, яка використовується системою для створення хешів пароля. Відповідна функція хешування пароля, наприклад bcrypt, на багато порядків краща, ніж проста функція, як-от проста MD5 або SHA. Вибраний користувачем (на відміну від випадково згенерованого) восьмисимвольний пароль із цифрами, змішаним регістром і символами, з відфільтрованими часто вибираними паролями та іншими словниковими збігами досягає приблизно 30-бітної надійності, згідно з NIST. 230 - це лише один мільярд перестановок. Коли звичайні настільні комп’ютери об’єднуються для злому, як це можна зробити з ботнетами, можливості злому паролів значно розширюються. У 2002 році distributed.net успішно знайшла 64-розрядний ключ RC5 за чотири роки, в ході якого брали участь понад 300 000 різних комп’ютерів у різний час і які генерували в середньому понад 12 мільярдів ключів на секунду.
Графічні процесори можуть пришвидшити злом паролів у 50-100 разів порівняно з комп’ютерами загального призначення для певних алгоритмів хешування. Наприклад, у 2011 році доступні комерційні продукти стверджували про здатність тестувати до 2 800 000 000 паролів NTLM за секунду на стандартному настільному комп’ютері з використанням високоякісного графічного процесора. Однак деякі алгоритми працюють повільно або навіть спеціально розроблені для повільної роботи, у т.ч. на графічних процесорах за рахунок потреби використання великої кількості оперативної пам'яті, та на ASIC. Прикладами є bcrypt, scrypt і Argon2.
Апаратне прискорення в графічному процесорі дозволило використати ресурси для підвищення ефективності та швидкості атаки грубої сили для більшості алгоритмів хешування. У 2012 році Stricture Consulting Group представила кластер із 25 GPU, який досягав швидкості атаки грубою силою 350 мільярдів вгадувань паролів NTLM за секунду, дозволяючи їм перевіряти комбінацій паролів за 5,5 годин, цього достатньо, щоб зламати всі 8-символьні паролі з букв, цифр і спеціальних символів, які зазвичай використовуються в корпоративних налаштуваннях. Використовуючи на віртуальній кластерній платформі OpenCL, кластер GPU на базі Linux використовувався для «зламу 90 відсотків із 6,5 мільйонів хешів паролів, що належать користувачам LinkedIn».
Індивідуальні настільні комп'ютери можуть перевірити більше ста мільйонів паролів в секунду, використовуючи утиліти для злому паролів, запущених на CPU і мільярди паролів в секунду при використанні утиліт, які використовують GPUoclHashcat-lite – advanced password recovery . Hashcat.net. Retrieved on January 31, 2013.Alexander, Steven. (June 20, 2012) The Bug Charmer: How long should passwords be? . Bugcharmer.blogspot.com. Retrieved on January 31, 2013.Cryptohaze Blog: 154 Billion NTLM/sec on 10 hashes . Blog.cryptohaze.com (July 15, 2012). Retrieved on 2013-01-31. See: John the Ripper benchmarks.John the Ripper benchmarks . openwall.info (March 30, 2010). Retrieved on 2013-01-31.
Вибраний користувачем пароль з восьми знаків з числами, у змішаному регістрі, і з символами, за оцінками, досягає 30-бітної надійності, згідно з NIST. 2^30 — це один мільярд перестановок і потрібно в середньому 16 хвилин, щоб зламати його. Коли звичайні настільні комп'ютери об'єднуються для злому, як це може бути зроблено при ботнетах, можливості злому пароля значно розширюються. В 2002 році distributed.net успішно підібрало 64-бітний ключ RC5 за 4 роки, використовуючи більш 300000 різних комп'ютерів в різний час, і генеруючи в середньому понад 12 мільярдів ключів в секунду. Графічні процесори можуть прискорити злом паролів на коефіцієнт з 50 до 100 і більше для комп'ютерів загального призначення. З 2011-го комерційні продукти мають можливість тестування до 2,800,000,000 паролів в секунду на стандартному настільному комп'ютері з використанням потужного графічного процесора. Такий пристрій може зламати 10-символьний пароль в одному регістрі за один день. Слід зазначити, що робота може бути розподілена на кілька комп'ютерів для додаткового прискорення пропорційно числа доступних комп'ютерів з порівнянними GPU.
Незважаючи на свої можливості, настільні процесори повільніше в зломі паролів, ніж спеціально побудовані машини, призначені для злому пароля. У 1998 the Electronic Frontier Foundation (EFF) зібрали виділений зломщик паролів, який використовує FPGA, на відміну від CPU. Їх машина, Deep Crack, зламала 56-бітний ключ DES за 56 годин, тестуючи близько 90 млрд ключів в секунду. У 2010, the Georgia Tech Research Institute розробили метод використання GPGPU для злому паролів, придумуючи мінімально безпечну довжину пароля до 12 символів У 2010 році розробив метод використання GPGPU для злому паролів, встановивши мінімальну безпечну довжину пароля 12 символів..
Легко запам'ятати, важко відгадати Пароль, який легко запам'ятати, як правило, також легко відгадати. Паролі, важкі для запам'ятовування, зменшують безпеку системи, тому що:
а) користувачам може знадобитися записати або в електронному вигляді зберегти пароль;
б) користувачам необхідно буде часто скидати пароль;
в) користувачі, швидше за все, повторно використовують той же пароль.
Крім того, більш жорсткі вимоги до надійності пароля, наприклад наявність як малих, так і великих букв і цифр або зміна його щомісяця, збільшують імовірність того, що користувачі зруйнують систему.
У книзі Джеффа Яна та ін. «Запам'ятовуваність і безпека паролів» розглядається вплив порад, даних користувачам про вибір хорошого пароля. Автори виявили, що паролі, складені з перших літер якоїсь фрази також прості в запам'ятовуванні, як звичайні паролі і при цьому також важкі для злому, як довільно згенеровані паролі. Комбінування двох незв'язаних слів також є непоганим методом. Вироблення власного «алгоритму» для генерації неочевидних паролів — ще один хороший спосіб. У світлі останніх поліпшень, все більше людей помічають зміни у забезпеченні таємності паролів.
Разом з тим, прохання до користувачів запам'ятати пароль, що складається зі змішаних малих і великих символів схоже на прохання запам'ятати послідовність біт: важко запам'ятати, і лише трохи складніше зламати (напр., якщо користувач змінює регістр одного символу в 7-символьному паролі, зламати його буде всього у 128 разів складніше). Прохання до користувачам використовувати і букви, і цифри, що часто призводить до простою замінам, як 'E' → '3' й 'I' → '1', добре відомі злодіям. Аналогічно, введення пароля на один рядок вище на клавіатурі також відомий атакуючим прийом.
Інциденти 16 липня 1998-го CERT повідомив про інцидент, при якому зловмисник знайшов 186 126 зашифрованих паролів. До того часу, як це виявили, він вже зламав 47 642 з них.
У грудні 2009-го був відзначений випадок злому сайту Rockyou.com, що призвело до звільнення 32 мільйонів паролів. Зловмисник потім виклав паролі (без якої-небудь іншої ідентифікаційної інформації) в інтернет. Паролі зберігалися в відкритому вигляді в базі даних і були витягнуті через вразливість за допомогою SQL-ін'єкції. The Imperva Application Defense Center (ADC) зробила аналіз паролів на міцність.
У червні 2011-го НАТО(North Atlantic Treaty Organization, Організація Північноатлантичного договору) була зламана, що призвело до оприлюднення імен і прізвищ, імен користувачів і паролів більш ніж 11 000 користувачів електронного книжкового магазину. Ці дані були вилучені в рамках операції AntiSec, руху, яке включає в себе Anonymous, LulzSec, а також інші групи злому і окремі особи.
11 липня 2011-го сервери Booz Allen Hamilton, великої американської консалтингової фірми, яка виконує значний обсяг робіт для Пентагону, були зламані Anonymous'ом і піддалися витоку в один день. «Витік, названий 'Військовий Кризовий Понеділок' включає 90 000 логінів військовослужбовців, у тому числі працівників Центрального командування США, командування спеціальних операцій США, морської піхоти, різних об'єктів ВВС, Національної безпеки, Державного департаменту з персоналу, і, схоже, приватних підрядників сектора». Ці паролі були захешовані з допомогою SHA-1, і пізніше були розшифровані і проаналізовані командою ADC в Imperva, підтверджуючи, що навіть військовослужбовці використовують ярлики і способи обійти вимоги до паролів.
18 липня 2011-го Microsoft Hotmail заборонила пароль «123456».
У липні 2015 року група, яка називає себе "The Impact Team" викрала дані користувача Ешлі Медісон. Багато паролів було хешовано, використовуючи як відносно сильний bcrypt алгоритм, так і слабший хеш MD5. Напад на останній алгоритм дозволив відновити близько 11 мільйонів паролів відкритого тексту.
Запобігання злому Найкращим способом запобігання злому паролів є забезпечення того, щоб зловмисники не могли отримати доступу навіть до хешованих паролів. Наприклад, в операційній системі Unix, хеші паролів спочатку зберігалися у відкритому файлі /etc/passwd. На сучасних Unix (і подібних) системах, з іншого боку, вони зберігаються у файлі /etc/shadow, яка доступна тільки для програм, що працюють з підвищеними привілеями (наприклад, «системними» привілеями). Це створює додаткові складності зловмиснику, який, в першу чергу, повинен отримати хеші паролів. На жаль, багато поширених мережевих протоколи передають паролі у відкритому вигляді або використовують слабкі схеми запитів/відповідей.