Перебір за словником (англ. dictionary attack) — кібератака, що використовує метод повного перебору (англ. brute-force, грубої сили) можливих паролів з якогось великого, вичерпного списку. Наприклад, спроба автентифікації пробуючи кожен пароль, або спроба зашифрування якогось відомого відкритого тексту всіма можливими паролями, щоб дізнатись ключ, яким зашифровано текст.
Атака словником може здійснюватись онлайн та офлайн:
- При онлайн атаці зловмисник пробує увійти відправляючи запити як будь-який інший користувач, послідовно пробуючи кожен пароль зі списку. Таку атаку може помітити адміністратор сервера, крім того кількість спроб може бути обмежена алгоритмом.
- У випадку офлайн атаки атакуючий має доступ до зашифрованого файла і може перевірити всі допустимі паролі, не потребуючи при цьому зв'язку з сервером.
Складність пароля
З точки зору теорії ймовірностей, вибір пароля детермінований і закономірний. В якості пароля можуть виступати: дата народження, ім'я, предмет, набір цифр, послідовність близько розташованих на клавіатурі букв. В загальному випадку відбувається конкатенація вищепереліченого.
Результатом цих припущень стає той факт, що зумовленість у виборі пароля відіграє ключову роль у виборі алгоритмів, на яких заснований метод перебору за словником.
Історичні відомості
Використання Інтернет-хробака (англ. Internet Worm) в 1988 р. надає добре документований випадок злому паролів. Інтернет-хробак намагався зламати паролі, працюючи з серією словників. На першому етапі атаки було використано безліч слів, що містить імена користувачів, взятих з файлу паролів системи Unix. Якщо це не мало успіху, використовувався внутрішній словник 432 загальноприйнятих слів, що використовуються в Інтернет-жаргоні. Якщо другий етап не мав успіху, використовувався Unix словник, що складається з 24474 слів. Хробак також перевіряв на порожній пароль. Сайти, на які проводилася атака, повідомили, що близько 50 % паролів було успішно зламано, використовуючи дану стратегію.
Наступним кроком стала робота Даніеля Кляйна (англ. Daniel Klein). Щоб надати свої результати, він зібрав зашифровані файли паролів системи Unix. Ця колекція містила приблизно 15000 різних пар ім'я користувача/пароль (англ. login/password). Кляйн сконструював серію словників і набір механізмів, що дозволяють здійснювати перестановки. Наданий ним словник складався з приблизно 60000 пунктів. Цей лист включав в себе імена, місця, вигадані посилання, біблійні терміни, вирази з поем Вільяма Шекспіра і т. д. Після застосування стратегії перестановки (використання великих букв, очевидні заміни, перестановки цифр), він отримав простір паролів, більш ніж 3.3 млн можливостей. Використання цього словника допомогло Кляйну зламати 24,2 % всіх паролів на певних серверах.
У 1991-1992 рр. [en] (англ. Eugene Spafford) вдалося побудувати, ґрунтуючись на статистиці, словник, за допомогою якого піддалися злому 20 % паролів на вибраних серверах.
У 2000 р. команда дослідників з університету Кембриджа провела дослідження, в ході якого була проведена атака на 195 хешованих паролів, з яких 35 % були успішно зламані.
Дослідник(и) / проект | Час | Паролів перевірено | Відсоток знаходження, [%] |
---|---|---|---|
Інтернет-хробак | 1988 | тисячі | ~50 |
Дослідження Кляйна | 1990 | 15000 | 24.2 |
Дослідження [en] | 1992 | 13787 | 20.0 |
Дослідники з університету Кембриджа | 2000 | 195 | 35.0 |
Основні принципи побудови словника
У більшості паролів спостерігається фонетичну схожість зі словами звичайної (англійської) мови; причина цього полягає в простоті запам'ятовування такого роду інформації про даному паролю. Це властивість враховується у Марковських фільтрах», заснованих на ланцюгу Маркова, яка є стандартною технікою в обробці природної мови. Наявність неалфавітних символів в паролі можна інтерпретувати як застосування скінченого автомата до певного набору елементів.
Марківські фільтри
Алфавітний пароль, згенерований людиною, нерівномірно розподілений у просторі алфавітних послідовностей. Дана умова може бути враховано з великою точністю у «Марківських фільтрах» нульового і першого порядку:
- нульовий порядок моделі Маркова: кожен символ генерується у відповідності зі своїм імовірнісним розподілом і незалежно від попередніх символів.
- перший порядок моделі Маркова: кожній диграмі (впорядкованій парі) символів присвоюється імовірність і кожен символ породжується в умовній залежності від попереднього.
Математично,
нульовий порядок модели Маркова:
перший порядок моделі Маркова:
де — ймовірність розподілу послідовності символів, — символ даної послідовності, — частота індивідуального символу або диграми в тексті.
Для усунення малоймовірних рядків в словнику застосовується дискретизація ймовірностей — запроваджується дворівнева система з порогом :
нульовий порядок моделі Маркова:
перший порядок моделі Маркова:
Зауваження
- модель Маркова першого порядку демонструє кращі результати (дає більший відсоток злому) порівняно з моделлю Маркова нульового порядку. Винятковими є випадки, коли стратегія вибору пароля використовує скорочення, що складаються з перших літер кожного слова в абстрактному поєднанні;
- розподіл частот появи літер в паролі залежить від конкретної мови, для якої складається словник (узагальненням даного методу є комбінація передбачуваних мов для створення пароля).
Фільтри, що використовують скінченні автомати
Для створення скінченних автоматов вводяться деякі обмеження і припущення по відношенню до пароля, який необхідно зламати:
- в алфавітно-цифровому паролі всі цифри розташовані в кінці;
- перша літера в алфавітному паролі, найімовірніше, велика, порівняно з іншими;
- в алфавітному паролі кількість маленьких літер переважає над кількістю великих.
Детерміновані скінченні автомати є ідеальними засобами для виразів із запропонованими обмеженнями.
Першим етапом побудови словника, побудованого на скінченних автоматах, є створення послідовності регулярних виразів (\"нижній регістр", \"велика літера розташована перед малими", \"усі великі розташовані перед малими" і т. д.). Словник визначається як безліч слів, які відповідають Марківським фільтрам і кінцевого числа регулярних виразів, застосованих до них
Алгоритми
Модифікований словник моделі Маркова нульового порядку
Алгоритм, що використовується для побудови словника трохи відрізняється від Марківського фільтра нульового рівня (в даному випадку для різних довжин слів у словнику буде використовуватися різний поріг ).
Модифікований словник визначається як
Перепишемо фільтр (словник) в адитивній формі:
- где .
Нехай . Тоді визначимо часткові словники . Відзначимо, що визначено, оскільки , тому не залежить від вибору .
Для будь-якого префіксу, частковий словник містить всі можливі послідовності символів, які можуть додаватись до цього префікса, тому результуючий рядок задовольняє всім Марківським властивостями.
У загальному вигляді частковий словник можна записати так:
Рекурсивний алгоритм для підрахунку розміру часткового словника:
partial_size1(current_length, level) { if level >= threshold: return 0 if total_length = current_length: return 1 sum = 0 for each char in alphabet sum = sum + partial_size1(current_length+1, level+mu(char)) return sum }
Рекурсивний алгоритм знаходження ключа за словником (бере в якості входу індекс в просторі ключів і повертає відповідний ключ):
get_key1(current_length, index, level) { if total_length = current_length: return "" sum = 0 for each char in alphabet new_level = level + mu(char) // looked up from precomputed array size = partial_size1[current_length+1][new_level] if sum + size > index // ’|’ refers to string concatenation return char | get_key1(current_length+1, index-sum, new_level) sum = sum + size // control cannot reach here print "index larger than keyspace size"; exit }
Зауваження
- partial_size1 обчислюється лише один раз (а не щоразу для кожного ключа);
- get_key1 обчислюється в процесі криптоаналізу;
- аби переглянути весь набір ключів, слід запустити get_key1 с current_length = 0, и level = 0.
Словник моделі Маркова першого порядку
Як і у випадку методу нульового порядку, визначаються часткові словники.
Після перегляду рядка в частковому словнику, необхідно потурбуватися про останній символ (облік діграми і її розподілу)
partial_size2(current_length, prev_char, level) { if level >= threshold: return 0 if total_length = current_length: return 1 sum = 0 for each char in alphabet if current_length = 0 new_level = mu(char) else new_level = level + mu(prev_char, char) sum = sum + partial_size2(current_length+1, char, new_level) }
get_key2(current_length, index, prev_char, level) { if total_length = current_length: return "" sum = 0 for char in alphabet if current_length = 0 new_level = mu(char) else new_level = level + mu(prev_char, char) size = partial_size2(current_length+1, char, new_level) if sum + size > index return char | get_key2(current_length+1, index-sum, char, new_level) sum = sum + size // control cannot reach here print "index larger than keyspace size"; exit }
Зауваження
- використання гібридних алгоритмів дає кращі результати для криптоаналізу методом перебору за словником.
Основні методи протидії атакам за словником
Протидії online атакам за словником
Існує кілька способів протистояти online атакам за словником:
- затримка відповіді (англ. delayed response): для наданої пари login/password сервер використовує невелику, спеціально згенеровану затримку відповіді Yes/no (наприклад, не частіше одної відповіді на секунду);
- блокування облікового запису (англ. account locking): обліковий запис блокується після кількох (заздалегідь встановлене число) невдалих спроб введення login/password (для прикладу, обліковий запис блокується на годину після п'яти неправильних спроб введення пароля);
- використання Proof-of-Work;
- використання солі і повільних хеш-функцій на стороні клієнта.
Зауваження
- переважно такі заходи запобігають атаці по словнику і супутному злому пароля за припустимий час;
- такі реалізації протидії online атак за словником допускають довготривалі блокування користувальницьких акаунтів при правильному підборі періоду атаки.
Протоколи автентифікації користувачів
Передбачається, що введення вірної комбінації login/password здійснюється користувачем даного облікового запису, в той час як атака за словником проводиться автоматичною програмою. Потрібно, щоб спроба введення правильного пароля була «обчислювально простою» для людини, і «обчислювально складною» для машин.
Протокол явліє собою тест, що дозволяє серверу відрізнити людину від бота. Уперше він був запропонований [en] та має назву зворотний тест Тюринга (англ. Reverse Turing test (RTT)), або ж CAPTCHA. Зворотний тест Тюринга має відповідати таким умовам:
- автоматична генерація;
- простота виконання для людини;
- складність для машин;
- мала ймовірність вгадати відповідь.
Тест з використанням зображень задовольняє всім перерахованим умовам.
Протокол 1 (комбінація зворотного тесту Тюрінга з будь-якою системою автентифікації)
Користувача просять відповісти на RTT-повідомлення перед початком перевірки автентичності (перед введенням login/password).
Зауваження
Цей метод не оптимальний для великих систем, так як введення користувачем відповіді на RTT-тест кожен раз перед автентифікацією досить дратівлива і психологічно важка задача.
Протокол 2 (користувацький протокол входу в систему, модифікована версія протоколу 1)
Якщо користувач, який успішно увійшов до системи, сервер посилає в комп'ютер користувача cookie, які містять запис про автентифікації користувача і термін валідності цього повідомлення (мається на увазі неможливість змінити інформацію cookie, при цьому не сповістивши про це сервер. Це може бути гарантовано додаванням MAC (англ. message authentication code), який обчислюється, використовуючи ключ, відомий тільки серверу).
- користувач вводить login/password. Якщо його комп'ютер містить cookie, надані даним сервером, cookie витягується сервером;
- перевірка справжності login/password;
- якщо login/password справжні, тоді
- a. якщо cookie знаходиться в стані валідності (перевіряється за датою зміни сервером) і запис, що ідентифікує користувача (і що зберігається в cookie) узгоджується з введеним login, то користувач отримує доступ до сервера;
- b. в іншому випадку сервер генерує RTT-тест і відправляє його користувачеві. Користувач отримує доступ до сервера тільки після правильної відповіді на RTT-запит;
- якщо пара login/password некоректна, то
- a. з імовірністю (де — це системний параметр, наприклад ), користувачеві пропонують пройти RTT-тест і незалежно від відповіді, доступ до сервера блокується;
- b. з імовірністю негайно блокується з'єднання.
Зауваження
- передбачається, що користувач використовує мале число комп'ютерів і, малоймовірно, що атака буде проведена з одного з них;
- процесс входа в систему использует веббраузер и cookie необходимы;
- алгоритм роботи протоколу побудований так, що процес генерації RTT-повідомлення відбувається тільки в двох випадках: при невалідному записі cookie у вашому комп'ютері і при невірній парі login/password. Це дозволяє розвантажити сервери, що використовують цей протокол;
- ймовірність - є функція пари login/password. Можливі випадки, коли для фіксованих значень login/password будуть відбуватися або тільки блокування облікового запису або тільки генерації RTT-повідомлень при багаторазовій помилці.
Протидії offline атакам за словником
Offline атаки за словником можуть бути відвернені або ускладнені наступними способами:
- додавання в хешування відомої величини — солі (англ. salt)
- використання повільної хеш-функції, напр. scrypt
Апаратна реалізація
Trusted Platform Module (TPM) — являє собою апаратний чип, що дозволяє комп'ютерам зберігати безпеку даних. Володіння секретною інформацією (далі — authData) необхідно для доступу і використання TPM-ключів.
В процесі атаки, криптоаналітик може дізнатися:
- login для authData і відповідь TPM на цей запит;
- [en] (англ. shared secret), асоційований з authData і відповідь TPM.
Складання словників, заснованих на отриманих відомостях, використовується в offline атаках за словником, з метою визначити authData.
Методи боротьби — використання модифікованого криптографічного методу [en] (Simple Password Exponential Key Exchange), який заснований на алгоритмі обміну ключами Діффі-Геллмана (дозволяє двом сторонам створити [en] (англ. strong shared secret), ґрунтуючись на слабкому [en] (англ. weak secret), який вони поділяють).
Протокол (модифікований криптографічний метод SPEKE)
- користувач виконує команду , необхідну для авторизації з authData;
- призначений для користувача процес і TPM включаються в [en], використовуючи як слабкий спільний секрет ;
- призначений для користувача процес вибирає випадковий і посилає TPM, де — хеш-функція;
- TPM обирає випадковий і посилає користувацькому процесу;
- кожен з них обчислює секрет ;
- замінюється на як HMAC-ключ.
Зауваження
- обмеження, що накладаються на вибір , описані в алгоритмі обміну ключами Діффі-Геллмана;
- вибір хеш-функції визначається методом шифрування в криптопроцесорі (чип TPM).
- протокол допускає покращення.
Дивись також
Примітки
- Shirey R. (2007). RFC 4949, Internet Security Glossary, Version 2 (англ.).
- https://nordpass.com/blog/what-is-a-dictionary-attack/
- Spafford Eugene. The Internet Worm: Crisis and Aftermath : ( )[англ.]. — Communications of the ACM, June 1989. — С. 678-687.
- Daniel V. Klein. A Survey of, and Improvements to, Password Security : ( )[англ.] // USENIX Association. — 1990.
- Spafford Eugene. Observing Reusable Password Choices : [арх. 20 липня 2011] : ( )[англ.] // USENIX Association. — 31 July 1992.
- Yan Jianxin, Blackwell Alan, Anderson Ross, Gran Alasdair. The memorability and security of passwords some empirical results : ( )[англ.]. — September 2000.
- Narayanan Arvind, Shmatikov Vitaly. Fast Dictionary Attacks on Passwords Using Time-Space Tradeoff : ( )[англ.]. — November 7–11, 2005.
- Naor Moni. Verification of a human in the loop or Identification via the Turing Test : ( )[англ.]. — September 13th, 1996.
- Pinkas Benny, Sander Tomas. Securing Passwords Against Dictionary Attacks : ( )[англ.].
- Chen Liqun, Ryan Mark. Offline dictionary attack on TCG TPM weak authorisation data, and solution.
Посилання
- The Strong Password Dilemma. Архів оригіналу за 27 лютого 2012. Процитовано 13 листопада 2011.
- Dictionaries. Архів оригіналу за 27 лютого 2012. Процитовано 13 листопада 2011.
- CAPTCHA. Архів оригіналу за 27 лютого 2012. Процитовано 13 листопада 2011.
- Oechslin Philippe. Making a Faster Cryptanalytic Time-Memory Trade-Off (PDF). Архів (PDF) оригіналу за 27 лютого 2012. Процитовано 13 листопада 2011.
- John the Ripper password cracker. Архів оригіналу за 27 лютого 2012. Процитовано 13 листопада 2011.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu Perebir za slovnikom angl dictionary attack kiberataka sho vikoristovuye metod povnogo pereboru angl brute force gruboyi sili mozhlivih paroliv z yakogos velikogo vicherpnogo spisku 1 Napriklad sproba avtentifikaciyi probuyuchi kozhen parol abo sproba zashifruvannya yakogos vidomogo vidkritogo tekstu vsima mozhlivimi parolyami shob diznatis klyuch yakim zashifrovano tekst Ataka slovnikom mozhe zdijsnyuvatis onlajn ta oflajn 2 Pri onlajn ataci zlovmisnik probuye uvijti vidpravlyayuchi zapiti yak bud yakij inshij koristuvach poslidovno probuyuchi kozhen parol zi spisku Taku ataku mozhe pomititi administrator servera krim togo kilkist sprob mozhe buti obmezhena algoritmom U vipadku oflajn ataki atakuyuchij maye dostup do zashifrovanogo fajla i mozhe pereviriti vsi dopustimi paroli ne potrebuyuchi pri comu zv yazku z serverom Zmist 1 Skladnist parolya 2 Istorichni vidomosti 3 Osnovni principi pobudovi slovnika 3 1 Markivski filtri 3 2 Filtri sho vikoristovuyut skinchenni avtomati 3 3 Algoritmi 3 3 1 Modifikovanij slovnik modeli Markova nulovogo poryadku 3 3 2 Slovnik modeli Markova pershogo poryadku 4 Osnovni metodi protidiyi atakam za slovnikom 4 1 Protidiyi online atakam za slovnikom 4 1 1 Protokoli avtentifikaciyi koristuvachiv 4 2 Protidiyi offline atakam za slovnikom 4 2 1 Aparatna realizaciya 5 Divis takozh 6 Primitki 7 PosilannyaSkladnist parolyared Z tochki zoru teoriyi jmovirnostej vibir parolya determinovanij i zakonomirnij V yakosti parolya mozhut vistupati data narodzhennya im ya predmet nabir cifr poslidovnist blizko roztashovanih na klaviaturi bukv V zagalnomu vipadku vidbuvayetsya konkatenaciya visheperelichenogo Rezultatom cih pripushen staye toj fakt sho zumovlenist u vibori parolya vidigraye klyuchovu rol u vibori algoritmiv na yakih zasnovanij metod pereboru za slovnikom Istorichni vidomostired Vikoristannya Internet hrobaka angl Internet Worm v 1988 r nadaye dobre dokumentovanij vipadok zlomu paroliv 3 Internet hrobak namagavsya zlamati paroli pracyuyuchi z seriyeyu slovnikiv Na pershomu etapi ataki bulo vikoristano bezlich sliv sho mistit imena koristuvachiv vzyatih z fajlu paroliv sistemi Unix Yaksho ce ne malo uspihu vikoristovuvavsya vnutrishnij slovnik 432 zagalnoprijnyatih sliv sho vikoristovuyutsya v Internet zhargoni Yaksho drugij etap ne mav uspihu vikoristovuvavsya Unix slovnik sho skladayetsya z 24474 sliv Hrobak takozh pereviryav na porozhnij parol Sajti na yaki provodilasya ataka povidomili sho blizko 50 paroliv bulo uspishno zlamano vikoristovuyuchi danu strategiyu Nastupnim krokom stala robota Danielya Klyajna angl Daniel Klein 4 Shob nadati svoyi rezultati vin zibrav zashifrovani fajli paroliv sistemi Unix Cya kolekciya mistila priblizno 15000 riznih par im ya koristuvacha parol angl login password Klyajn skonstruyuvav seriyu slovnikiv i nabir mehanizmiv sho dozvolyayut zdijsnyuvati perestanovki Nadanij nim slovnik skladavsya z priblizno 60000 punktiv Cej list vklyuchav v sebe imena miscya vigadani posilannya biblijni termini virazi z poem Vilyama Shekspira i t d Pislya zastosuvannya strategiyi perestanovki vikoristannya velikih bukv ochevidni zamini perestanovki cifr vin otrimav prostir paroliv bilsh nizh 3 3 mln mozhlivostej Vikoristannya cogo slovnika dopomoglo Klyajnu zlamati 24 2 vsih paroliv na pevnih serverah U 1991 1992 rr Yudzhinu Spaffordu en angl Eugene Spafford vdalosya pobuduvati gruntuyuchis na statistici slovnik za dopomogoyu yakogo piddalisya zlomu 20 paroliv na vibranih serverah 5 U 2000 r komanda doslidnikiv z universitetu Kembridzha provela doslidzhennya v hodi yakogo bula provedena ataka na 195 heshovanih paroliv z yakih 35 buli uspishno zlamani 6 Tablicya Vidsotok paroliv znajdenih v hodi sistematichnih doslidzhen Doslidnik i proekt Chas Paroliv perevireno Vidsotok znahodzhennya Internet hrobak 1988 tisyachi 50 Doslidzhennya Klyajna 1990 15000 24 2 Doslidzhennya Yudzhina Spafforda en 1992 13787 20 0 Doslidniki z universitetu Kembridzha 2000 195 35 0Osnovni principi pobudovi slovnikared U bilshosti paroliv sposterigayetsya fonetichnu shozhist zi slovami zvichajnoyi anglijskoyi movi prichina cogo polyagaye v prostoti zapam yatovuvannya takogo rodu informaciyi pro danomu parolyu Ce vlastivist vrahovuyetsya u Markovskih filtrah zasnovanih na lancyugu Markova yaka ye standartnoyu tehnikoyu v obrobci prirodnoyi movi Nayavnist nealfavitnih simvoliv v paroli mozhna interpretuvati yak zastosuvannya skinchenogo avtomata do pevnogo naboru elementiv Markivski filtrired Alfavitnij parol zgenerovanij lyudinoyu nerivnomirno rozpodilenij u prostori alfavitnih poslidovnostej Dana umova mozhe buti vrahovano z velikoyu tochnistyu u Markivskih filtrah nulovogo i pershogo poryadku 7 nulovij poryadok modeli Markova kozhen simvol generuyetsya u vidpovidnosti zi svoyim imovirnisnim rozpodilom i nezalezhno vid poperednih simvoliv pershij poryadok modeli Markova kozhnij digrami vporyadkovanij pari simvoliv prisvoyuyetsya imovirnist i kozhen simvol porodzhuyetsya v umovnij zalezhnosti vid poperednogo Matematichno nulovij poryadok modeli Markova P a x a n x displaystyle P alpha prod x in alpha nu x nbsp pershij poryadok modeli Markova P x 1 x 2 x n n x 1 i 1 n 1 n x i 1 x i displaystyle P x 1 x 2 ldots x n nu x 1 prod i 1 n 1 nu x i 1 mid x i nbsp de P displaystyle P cdot nbsp jmovirnist rozpodilu poslidovnosti simvoliv x i displaystyle x i nbsp simvol danoyi poslidovnosti n displaystyle nu nbsp chastota individualnogo simvolu abo digrami v teksti Dlya usunennya malojmovirnih ryadkiv v slovniku zastosovuyetsya diskretizaciya jmovirnostej zaprovadzhuyetsya dvorivneva sistema z porogom 8 displaystyle theta nbsp nulovij poryadok modeli Markova D n 8 a x a n x 8 displaystyle D nu theta alpha prod x in alpha nu x geq theta nbsp pershij poryadok modeli Markova D n 8 x 1 x 2 x n n x 1 i 1 n 1 n x i 1 x i 8 displaystyle D nu theta x 1 x 2 ldots x n nu x 1 prod i 1 n 1 nu x i 1 mid x i geq theta nbsp Zauvazhennya model Markova pershogo poryadku demonstruye krashi rezultati daye bilshij vidsotok zlomu porivnyano z modellyu Markova nulovogo poryadku Vinyatkovimi ye vipadki koli strategiya viboru parolya vikoristovuye skorochennya sho skladayutsya z pershih liter kozhnogo slova v abstraktnomu poyednanni rozpodil chastot poyavi liter v paroli zalezhit vid konkretnoyi movi dlya yakoyi skladayetsya slovnik uzagalnennyam danogo metodu ye kombinaciya peredbachuvanih mov dlya stvorennya parolya Filtri sho vikoristovuyut skinchenni avtomatired Dlya stvorennya skinchennih avtomatov vvodyatsya deyaki obmezhennya i pripushennya po vidnoshennyu do parolya yakij neobhidno zlamati v alfavitno cifrovomu paroli vsi cifri roztashovani v kinci persha litera v alfavitnomu paroli najimovirnishe velika porivnyano z inshimi v alfavitnomu paroli kilkist malenkih liter perevazhaye nad kilkistyu velikih Determinovani skinchenni avtomati ye idealnimi zasobami dlya viraziv iz zaproponovanimi obmezhennyami 7 Pershim etapom pobudovi slovnika pobudovanogo na skinchennih avtomatah ye stvorennya poslidovnosti regulyarnih viraziv nizhnij registr velika litera roztashovana pered malimi usi veliki roztashovani pered malimi i t d Slovnik viznachayetsya yak bezlich sliv yaki vidpovidayut Markivskim filtram i kincevogo chisla regulyarnih viraziv zastosovanih do nih D n 8 M i a x a n x 8 i M i a displaystyle D nu theta left langle M i right rangle alpha prod x in alpha nu x geq theta exists i M i ni alpha nbsp Algoritmired Modifikovanij slovnik modeli Markova nulovogo poryadkured Algoritm sho vikoristovuyetsya dlya pobudovi slovnika trohi vidriznyayetsya vid Markivskogo filtra nulovogo rivnya v danomu vipadku dlya riznih dovzhin sliv u slovniku bude vikoristovuvatisya riznij porig 8 displaystyle theta nbsp 7 Modifikovanij slovnik viznachayetsya yak D n 8 l a a l x a n x 8 displaystyle D nu theta l alpha alpha l prod x in alpha nu x geq theta nbsp Perepishemo filtr slovnik v aditivnij formi D n 8 l a a l x a m x l displaystyle D nu theta l alpha alpha l sum x in alpha mu x geq lambda nbsp gde m x log n x l log 8 displaystyle mu x log nu x lambda log theta nbsp Nehaj a a l x a n x 8 displaystyle alpha alpha l prod x in alpha nu x theta nbsp Todi viznachimo chastkovi slovniki D n 8 l 8 l b a b D n 8 l displaystyle D nu theta l theta l beta alpha beta in D nu theta l nbsp Vidznachimo sho D n 8 l 8 l displaystyle D nu theta l theta l nbsp viznacheno oskilki x a b n x x a n x x b n x 8 x b n x displaystyle prod x in alpha beta nu x prod x in alpha nu x prod x in beta nu x theta prod x in beta nu x nbsp tomu ne zalezhit vid viboru a displaystyle alpha nbsp Dlya bud yakogo prefiksu chastkovij slovnik mistit vsi mozhlivi poslidovnosti simvoliv yaki mozhut dodavatis do cogo prefiksa tomu rezultuyuchij ryadok zadovolnyaye vsim Markivskim vlastivostyami U zagalnomu viglyadi chastkovij slovnik mozhna zapisati tak D n t h r e s h o l d t o t a l l e n g t h l e v e l c u r r e n t l e n g t h displaystyle mid D nu threshold total length level current length mid nbsp Rekursivnij algoritm dlya pidrahunku rozmiru chastkovogo slovnika 7 partial size1 current length level if level gt threshold return 0 if total length current length return 1 sum 0 for each char in alphabet sum sum partial size1 current length 1 level mu char return sum Rekursivnij algoritm znahodzhennya klyucha za slovnikom bere v yakosti vhodu indeks v prostori klyuchiv i povertaye vidpovidnij klyuch 7 get key1 current length index level if total length current length return sum 0 for each char in alphabet new level level mu char looked up from precomputed array size partial size1 current length 1 new level if sum size gt index refers to string concatenation return char get key1 current length 1 index sum new level sum sum size control cannot reach here print index larger than keyspace size exit Zauvazhennya partial size1 obchislyuyetsya lishe odin raz a ne shorazu dlya kozhnogo klyucha get key1 obchislyuyetsya v procesi kriptoanalizu abi pereglyanuti ves nabir klyuchiv slid zapustiti get key1 s current length 0 i level 0 Slovnik modeli Markova pershogo poryadkured Yak i u vipadku metodu nulovogo poryadku viznachayutsya chastkovi slovniki Pislya pereglyadu ryadka v chastkovomu slovniku neobhidno poturbuvatisya pro ostannij simvol oblik digrami i yiyi rozpodilu partial size2 current length prev char level if level gt threshold return 0 if total length current length return 1 sum 0 for each char in alphabet if current length 0 new level mu char else new level level mu prev char char sum sum partial size2 current length 1 char new level get key2 current length index prev char level if total length current length return sum 0 for char in alphabet if current length 0 new level mu char else new level level mu prev char char size partial size2 current length 1 char new level if sum size gt index return char get key2 current length 1 index sum char new level sum sum size control cannot reach here print index larger than keyspace size exit Zauvazhennya vikoristannya gibridnih algoritmiv daye krashi rezultati dlya kriptoanalizu metodom pereboru za slovnikom 7 Osnovni metodi protidiyi atakam za slovnikomred Protidiyi online atakam za slovnikomred Isnuye kilka sposobiv protistoyati online atakam za slovnikom zatrimka vidpovidi angl delayed response dlya nadanoyi pari login password server vikoristovuye neveliku specialno zgenerovanu zatrimku vidpovidi Yes no napriklad ne chastishe odnoyi vidpovidi na sekundu blokuvannya oblikovogo zapisu angl account locking oblikovij zapis blokuyetsya pislya kilkoh zazdalegid vstanovlene chislo nevdalih sprob vvedennya login password dlya prikladu oblikovij zapis blokuyetsya na godinu pislya p yati nepravilnih sprob vvedennya parolya vikoristannya Proof of Work vikoristannya soli i povilnih hesh funkcij na storoni kliyenta Zauvazhennya perevazhno taki zahodi zapobigayut ataci po slovniku i suputnomu zlomu parolya za pripustimij chas taki realizaciyi protidiyi online atak za slovnikom dopuskayut dovgotrivali blokuvannya koristuvalnickih akauntiv pri pravilnomu pidbori periodu ataki Protokoli avtentifikaciyi koristuvachivred Peredbachayetsya sho vvedennya virnoyi kombinaciyi login password zdijsnyuyetsya koristuvachem danogo oblikovogo zapisu v toj chas yak ataka za slovnikom provoditsya avtomatichnoyu programoyu Potribno shob sproba vvedennya pravilnogo parolya bula obchislyuvalno prostoyu dlya lyudini i obchislyuvalno skladnoyu dlya mashin Protokol yavliye soboyu test sho dozvolyaye serveru vidrizniti lyudinu vid bota Upershe vin buv zaproponovanij M Naorom en ta maye nazvu zvorotnij test Tyuringa angl Reverse Turing test RTT abo zh CAPTCHA Zvorotnij test Tyuringa maye vidpovidati takim umovam 8 avtomatichna generaciya prostota vikonannya dlya lyudini skladnist dlya mashin mala jmovirnist vgadati vidpovid Test z vikoristannyam zobrazhen zadovolnyaye vsim pererahovanim umovam Protokol 1 kombinaciya zvorotnogo testu Tyuringa z bud yakoyu sistemoyu avtentifikaciyi 9 Koristuvacha prosyat vidpovisti na RTT povidomlennya pered pochatkom perevirki avtentichnosti pered vvedennyam login password Zauvazhennya Cej metod ne optimalnij dlya velikih sistem tak yak vvedennya koristuvachem vidpovidi na RTT test kozhen raz pered avtentifikaciyeyu dosit drativliva i psihologichno vazhka zadacha 9 Protokol 2 koristuvackij protokol vhodu v sistemu modifikovana versiya protokolu 1 9 Yaksho koristuvach yakij uspishno uvijshov do sistemi server posilaye v komp yuter koristuvacha cookie yaki mistyat zapis pro avtentifikaciyi koristuvacha i termin validnosti cogo povidomlennya mayetsya na uvazi nemozhlivist zminiti informaciyu cookie pri comu ne spovistivshi pro ce server Ce mozhe buti garantovano dodavannyam MAC angl message authentication code yakij obchislyuyetsya vikoristovuyuchi klyuch vidomij tilki serveru koristuvach vvodit login password Yaksho jogo komp yuter mistit cookie nadani danim serverom cookie vityaguyetsya serverom perevirka spravzhnosti login password yaksho login password spravzhni todi a yaksho cookie znahoditsya v stani validnosti pereviryayetsya za datoyu zmini serverom i zapis sho identifikuye koristuvacha i sho zberigayetsya v cookie uzgodzhuyetsya z vvedenim login to koristuvach otrimuye dostup do servera b v inshomu vipadku server generuye RTT test i vidpravlyaye jogo koristuvachevi Koristuvach otrimuye dostup do servera tilki pislya pravilnoyi vidpovidi na RTT zapit yaksho para login password nekorektna to a z imovirnistyu p displaystyle p nbsp de 0 p 1 displaystyle 0 leq p leq 1 nbsp ce sistemnij parametr napriklad p 0 05 displaystyle p 0 05 nbsp koristuvachevi proponuyut projti RTT test i nezalezhno vid vidpovidi dostup do servera blokuyetsya b z imovirnistyu 1 p displaystyle 1 p nbsp negajno blokuyetsya z yednannya Zauvazhennya peredbachayetsya sho koristuvach vikoristovuye male chislo komp yuteriv i malojmovirno sho ataka bude provedena z odnogo z nih process vhoda v sistemu ispolzuet vebbrauzer i cookie neobhodimy algoritm roboti protokolu pobudovanij tak sho proces generaciyi RTT povidomlennya vidbuvayetsya tilki v dvoh vipadkah pri nevalidnomu zapisi cookie u vashomu komp yuteri i pri nevirnij pari login password Ce dozvolyaye rozvantazhiti serveri sho vikoristovuyut cej protokol jmovirnist p displaystyle p nbsp ye funkciya pari login password Mozhlivi vipadki koli dlya fiksovanih znachen login password budut vidbuvatisya abo tilki blokuvannya oblikovogo zapisu abo tilki generaciyi RTT povidomlen pri bagatorazovij pomilci Protidiyi offline atakam za slovnikomred Offline ataki za slovnikom mozhut buti vidverneni abo uskladneni nastupnimi sposobami dodavannya v heshuvannya vidomoyi velichini soli angl salt vikoristannya povilnoyi hesh funkciyi napr scrypt Aparatna realizaciyared Trusted Platform Module TPM yavlyaye soboyu aparatnij chip sho dozvolyaye komp yuteram zberigati bezpeku danih Volodinnya sekretnoyu informaciyeyu dali authData neobhidno dlya dostupu i vikoristannya TPM klyuchiv V procesi ataki kriptoanalitik mozhe diznatisya 10 login dlya authData i vidpovid TPM na cej zapit spilnij sekret en angl shared secret asocijovanij z authData i vidpovid TPM Skladannya slovnikiv zasnovanih na otrimanih vidomostyah vikoristovuyetsya v offline atakah za slovnikom z metoyu viznachiti authData Metodi borotbi vikoristannya modifikovanogo kriptografichnogo metodu SPEKE en Simple Password Exponential Key Exchange yakij zasnovanij na algoritmi obminu klyuchami Diffi Gellmana dozvolyaye dvom storonam stvoriti spilnij sekret en s displaystyle s nbsp angl strong shared secret gruntuyuchis na slabkomu spilnomu sekreti en w displaystyle w nbsp angl weak secret yakij voni podilyayut Protokol modifikovanij kriptografichnij metod SPEKE koristuvach vikonuye komandu d displaystyle d nbsp neobhidnu dlya avtorizaciyi z authData priznachenij dlya koristuvacha proces i TPM vklyuchayutsya v SPEKE protokol en vikoristovuyuchi d displaystyle d nbsp yak slabkij spilnij sekret w displaystyle w nbsp priznachenij dlya koristuvacha proces vibiraye vipadkovij x displaystyle x nbsp i posilaye H d x displaystyle H d x nbsp TPM de H displaystyle H nbsp hesh funkciya TPM obiraye vipadkovij y displaystyle y nbsp i posilaye H d y displaystyle H d y nbsp koristuvackomu procesu kozhen z nih obchislyuye sekret s H d x y displaystyle s H d xy nbsp w displaystyle w nbsp zaminyuyetsya na s displaystyle s nbsp yak HMAC klyuch Zauvazhennya obmezhennya sho nakladayutsya na vibir d w H x y displaystyle d w H x y nbsp opisani v algoritmi obminu klyuchami Diffi Gellmana vibir hesh funkciyi H displaystyle H nbsp viznachayetsya metodom shifruvannya v kriptoprocesori chip TPM protokol dopuskaye pokrashennya 10 Divis takozhred Skladnist parolya Rajduzhna tablicya Rozdilennya sekretuPrimitkired Shirey R 2007 RFC 4949 Internet Security Glossary Version 2 angl https nordpass com blog what is a dictionary attack Spafford Eugene The Internet Worm Crisis and Aftermath angl Communications of the ACM June 1989 S 678 687 Daniel V Klein A Survey of and Improvements to Password Security angl USENIX Association 1990 Spafford Eugene Observing Reusable Password Choices arh 20 lipnya 2011 angl USENIX Association 31 July 1992 Yan Jianxin Blackwell Alan Anderson Ross Gran Alasdair The memorability and security of passwords some empirical results angl September 2000 a b v g d e Narayanan Arvind Shmatikov Vitaly Fast Dictionary Attacks on Passwords Using Time Space Tradeoff angl November 7 11 2005 Naor Moni Verification of a human in the loop or Identification via the Turing Test angl September 13th 1996 a b v Pinkas Benny Sander Tomas Securing Passwords Against Dictionary Attacks angl a b Chen Liqun Ryan Mark Offline dictionary attack on TCG TPM weak authorisation data and solution Posilannyared The Strong Password Dilemma Arhiv originalu za 27 lyutogo 2012 Procitovano 13 listopada 2011 Dictionaries Arhiv originalu za 27 lyutogo 2012 Procitovano 13 listopada 2011 CAPTCHA Arhiv originalu za 27 lyutogo 2012 Procitovano 13 listopada 2011 Oechslin Philippe Making a Faster Cryptanalytic Time Memory Trade Off PDF Arhiv PDF originalu za 27 lyutogo 2012 Procitovano 13 listopada 2011 John the Ripper password cracker Arhiv originalu za 27 lyutogo 2012 Procitovano 13 listopada 2011 Otrimano z https uk wikipedia org wiki Perebir za slovnikom