SecuredKit

Опубліковано: · Оновлено: · автор:

За скільки зламають пароль? Реальні цифри на GPU (2026)

Час злому пароля на одній RTX 4090 залежно від довжини, набору символів і хешу (MD5 чи bcrypt). Чесні припущення за таблицею і яка довжина вам потрібна.

Час злому випадкового пароля залежить від трьох речей: довжини, набору символів, з якого його складено, і хешу, яким сайт його зберігав. На одній RTX 4090 пароль із 8 символів, що використовує всі друковані символи, падає приблизно за 11 годин, якщо сайт зберігав його як несолений MD5, і за приблизно 36 000 років, якщо там був bcrypt із cost 10. Який саме хеш використовує сайт, ви здебільшого не знаєте, тому обирайте довжину, що витримає гірший варіант.

Усі цифри нижче взято з бенчмарків hashcat 6.2.6 на одній RTX 4090, і всі вони припускають, що атакувальник перебирає весь простір ключів. У середньому пароль знаходиться на півдорозі, тож для типового випадку діліть будь-яке значення навпіл. Орендована ферма з 8 GPU ділить його ще на 8.

Час злому пароля залежно від довжини і набору символів

ПарольКомбінаційMD5 (164 млрд/с)bcrypt cost 10 (~5 750/с)
8 малих літер2,1 × 10¹¹1,3 секунди1,2 року
8 великих і малих літер5,3 × 10¹³5,4 хвилини295 років
8 літер і цифр2,2 × 10¹⁴22 хвилини1 200 років
8 друкованих символів ASCII (95)6,6 × 10¹⁵11 годин36 600 років
10 друкованих символів ASCII6,0 × 10¹⁹11,6 року330 млн років
12 малих літер9,5 × 10¹⁶6,7 доби526 000 років
12 літер і цифр3,2 × 10²¹623 роки17,8 млрд років
12 друкованих символів ASCII5,4 × 10²³104 000 роківблизько 3 трлн років
16 друкованих символів ASCII4,4 × 10³¹8,5 трлн роківне має сенсу рахувати

Несолений SHA-256 лежить між цими двома колонками, але значно ближче до MD5: близько 22 млрд спроб на секунду. Пароль із 8 друкованих символів протримається приблизно 3,5 доби замість 11 годин, а це не захист.

Якщо хочете побачити цифру для власного пароля, Перевірка стійкості рахує ту саму ентропію локально у браузері, і пароль нікуди зі сторінки не передається. Вважайте її результат верхньою межею: чому, пояснюю нижче, у розділі про атаки за словником.

Хеш важить більше за сам пароль

Різниця між двома колонками приблизно 28 мільйонів разів. MD5 і SHA-256 створювали швидкими. bcrypt, scrypt і Argon2id створювали повільними й налаштовуваними, а параметр cost у bcrypt подвоює роботу з кожним кроком. За cost 5 RTX 4090 рахує 184 000 хешів bcrypt на секунду, за cost 10 у 32 рази повільніше. (Багато статей, зокрема попередня версія цієї, наводять ці 184 000 так, ніби це cost 10. Це не так.)

Argon2id у таблиці немає свідомо. Його швидкість залежить від того, скільки пам'яті й проходів налаштував сайт, тож одне число «спроб на секунду» без параметрів нічого не означає. Сказати можна інше: кожна спроба коштує атакувальнику налаштований обсяг пам'яті (мінімум за OWASP становить 19 MiB), і саме це робить GPU-ферми проти нього неефективними.

Нічого з цього ви не контролюєте. Ви не знаєте, чи використовував MD5 форум, на якому ви зареєструвалися 2014 року, а якщо його зламали, база хешів уже лежить на чиємусь диску. Про бік зберігання паролів я детальніше писав у статті bcrypt проти MD5.

Онлайн- і офлайн-атаки

Таблиця описує лише офлайн-атаки: атакувальник має базу хешів і перебирає варіанти на власному залізі без жодних обмежень.

Онлайн-атаки йдуть через справжню форму входу. Навіть поблажливому сервісу, що дозволяє 10 спроб на секунду, знадобилося б близько 660 років, щоб перебрати всі комбінації з 8 малих літер. Тому ніхто не брутфорсить логіни по одному акаунту. Натомість атакувальники пробують кілька сотень найпоширеніших паролів на великій кількості акаунтів (password spraying), і це спрацює, лише якщо ваш пароль є в цьому списку.

Як порахувати самостійно

Кількість комбінацій дорівнює R^L, де R — розмір набору символів, а L — довжина. У бітах ентропії:

H = L × log₂(R)
  • 12 символів із 95 друкованих символів ASCII: 12 × 6,57 ≈ 78,8 біта
  • 15 символів із того самого набору: близько 98,5 біта
  • 6 випадкових слів зі словника EFF на 7 776 слів: 6 × log₂(7776) ≈ 77,5 біта

Щоб перевести це в час, поділіть кількість комбінацій (2^H) на швидкість хешування. 12 друкованих символів дають 5,4 × 10²³ комбінацій; поділивши на 164,1 млрд спроб MD5 на секунду, отримуємо 3,3 × 10¹² секунд, тобто 104 000 років.

Розмір набору зростає повільно, а показник степеня працює швидко. Перехід від малих літер до всіх 95 символів множить простір ключів пароля з 8 символів приблизно в 31 000 разів. Чотири додаткові малі літери до пароля з 12 малих літер множать його на 26⁴, тобто приблизно в 457 000 разів. Звідки береться межа «12 чи 15 символів», розбираю в статті ентропія пароля і мінімальна довжина.

Чому ваш справжній пароль, найімовірніше, впаде значно швидше

Усе вище припускає, що пароль випадковий. Паролі, які люди вигадують самі, такими не є, і їх ніхто не брутфорсить. Атака починається зі словників.

Збірка «RockYou2024» 2024 року містить майже 10 мільярдів рядків, здебільшого перероблених зі старіших витоків. Щоб просто захешувати кожен із них у MD5, вистачить частки секунди. Далі йдуть файли правил, що змінюють кожне слово тисячами способів: велика перша літера, a на @, 1, ! або рік у кінці. Десять мільярдів слів на 50 000 правил дають 5 × 10¹⁴ кандидатів, і на одній карті зі швидкістю MD5 це менше години.

Ось так падають такі паролі, хоч якої вони довжини:

  • P@ssw0rd2024!: словникове слово з найпоширенішими замінами та роком
  • Lito2026!: пора року латиницею, рік і символ, які правила пробують одними з перших
  • olena1998 або Andriy2001: ім'я плюс рік народження
  • qwertyuiop123: «доріжки» на клавіатурі є в кожному словнику

Заголовки 2023 року про те, що ШІ-інструменти на кшталт PassGAN зламують «більшість паролів за хвилину», здебільшого спиралися на тести з паролями з того самого витоку RockYou, на якому модель і навчали. Машинне навчання справді трохи краще вгадує паролі, придумані людьми. Проти пароля, згенерованого випадково, воно безсиле: там немає закономірності, яку можна вивчити.

Інший реальний ризик — повторне використання паролів. Credential stuffing (підстановка викрадених облікових даних) бере пари «пошта + пароль» з одного витоку і пробує їх на інших сайтах. Жодного злому тут немає, тож довжина не допомагає. Допомагає лише унікальний пароль для кожного сайту.

Якої довжини має бути ваш пароль

NIST SP 800-63B Rev. 4 (2025) встановлює мінімум 15 символів, коли пароль є єдиним фактором автентифікації, і 8, коли його використовують разом із MFA. Також документ радить сервісам відмовитися від вимог до складу пароля й примусової зміни та натомість перевіряти нові паролі за списками витоків. Цей мінімум розрахований на паролі, які люди обирають самі. Для випадково згенерованого пароля 15 друкованих символів дають близько 98 біт, і це поза межами будь-якої реалістичної офлайн-атаки.

Що використовую я:

Обліковий записДовжинаПримітка
Усе, що зберігається в менеджері паролів16–20 випадкових символівВи ніколи не вводите його вручну, тож немає сенсу робити коротшим
Майстер-пароль менеджера паролів6–7 випадкових слівБлизько 77–90 біт, і його ще реально набрати; див. парольна фраза чи пароль
Сайти, що обмежують довжину 12 або 16 символамиМаксимум дозволеногоІ ввімкніть 2FA: таке обмеження натякає на те, як вони зберігають паролі
PIN телефона, SIM-картки чи банківської картки6–8 цифрЗахищає ліміт спроб, а не довжина; скористайтеся Генератором PIN

Генеруйте паролі, а не вигадуйте їх. Люди погано справляються з випадковістю, і файли правил побудовані саме на цьому. Генератор паролів бере кожен символ із crypto.getRandomValues(), криптографічного генератора випадкових чисел браузера, а не з Math.random(), вихід якого можна передбачити вже за кількома значеннями.

FAQ

Скільки часу потрібно, щоб зламати пароль із 8 символів?

Залежить від символів і способу зберігання. На одній RTX 4090 при повному переборі 8 малих літер витримують близько 1,3 секунди проти MD5, а 8 символів з усіх 95 друкованих — близько 11 годин. За bcrypt із cost 10 цей другий пароль протримається на тій самій карті приблизно 36 000 років. Для середнього випадку діліть ці цифри навпіл, а потім ще на кількість GPU, які орендує атакувальник.

Чи достатньо пароля з 12 символів у 2026 році?

Випадковий пароль із 12 символів з усього друкованого набору дає близько 79 біт, тобто приблизно 104 000 років у найгіршому випадку проти MD5 на одній GPU. Цього достатньо. Пароль із 12 символів, який ви вигадали самі, — інша історія: якщо він повторює поширений шаблон, атака за словником із правилами знайде його задовго до того, як знадобиться перебір. NIST тепер вимагає 15 символів, коли пароль є єдиним фактором.

Чим відрізняється онлайн-злом пароля від офлайн-злому?

Онлайн-злом — це вгадування через справжню форму входу, обмежене лімітами запитів і блокуваннями до кількох спроб на секунду. Офлайн-злом відбувається після витоку, з викраденою базою хешів, на такій швидкості, яку дозволяє залізо атакувальника. Таблиці часу злому, зокрема наведена вище, описують лише офлайн-сценарій.

Що важливіше для пароля: довжина чи складність?

Довжина. Додавання спецсимволів до пароля з малих літер підіймає основу з 26 до 95, і це одноразовий виграш. Кожен додатковий символ знову множить увесь простір ключів на основу. Пароль із 16 малих літер (близько 4,4 × 10²² комбінацій) сильніший за пароль із 10 символів з усіх 95 друкованих (близько 6 × 10¹⁹).

Спробуйте безкоштовний генератор паролів

Генеруйте надійні, безпечні паролі миттєво. 100% приватно, на стороні клієнта.

Відкрити генератор паролів