Чому неправильна спроба паролю обробляє набагато більше часу, ніж правильна?


17

Найпомітніше місце, яке я помітив, - це коли СШ на роботі, але я відчуваю, що я спостерігав таку поведінку і деінде.

Коли я намагаюся увійти на сервери Linux зі свого робочого столу Windows, я помітив, що якщо я неправильно введіть свій пароль, це займе 5 секунд або близько того, перш ніж я поверну "Заборонено доступ". Тоді, коли я правильно введу свій пароль, логін (разом із вітальними повідомленнями тощо) практично миттєвий.

Чи є якась логічна причина цього, чи це зводиться до якоїсь дивної конфігурації, характерної для машин тут?


1
Є гарна дискусія / відповідь на це на stackoverflow.com/questions/712339/… , включаючи спеціально зменшення затримки
помилок

те ж станеться, коли ви ввійдете в Windows з неправильним паролем, але я помічаю, що час від часу змінюється в широкому діапазоні від декількох секунд до приблизно 1-2 хвилин
phuclv

Відповіді:


21

Напевно, вбудований штучний тайм-аут, який ускладнить успіх атаки грубої сили.

Ви побачите це в багатьох підказках для входу, які передбачають безпечну автентифікацію ...


1
Ах, не думав про це. Це має ідеальний сенс, і пояснив би, чому я відчуваю, що я бачив таку ж затримку в інших місцях.
Cam Jackson

aka tarpitting. Дякую, Майкл Кьорлінг ( superuser.com/questions/916187/… )
rfportilla

10

Це деяка задумана затримка для запобігання грубих нападів. Більш тривала затримка також не дозволяє зловмисникові здогадатися, що різниця між іменем користувача неправильним і паролем неправильним (хешування та перевірка пароля займає помітно довший час, ніж перевірка імені користувача).


1

Технічно ця навмисна затримка полягає у запобіганні таких атак, як "атака лінеаризації" (є й інші атаки та причини) .

Щоб проілюструвати атаку, розгляньте програму (без цієї навмисної затримки), яка перевіряє введений серіал, щоб побачити, чи відповідає він правильному серіалу, який у цьому випадку буває " xyba " . Для ефективності програміст вирішив перевірити один символ одночасно та вийти, як тільки буде знайдено неправильний символ, перед початком також перевіряються довжини.

Для правильної серійної довжини обробка займе більше часу, ніж неправильна серійна. Ще краще (для зловмисника) серійний номер, який має правильний перший символ, займе більше часу, ніж будь-який, який має неправильний перший символ. Послідовні кроки часу очікування пов’язані з тим, що кожного разу є ще один цикл, порівняння для правильного введення.

  • Отже, зловмисник може вибрати рядок з чотирма символами і те, що рядок, що починається з x, займає найбільше часу. (здогадуюсь роботу)
  • Потім нападник може виправити символ як x та змінити другий символ, і в такому випадку вони виявлять, що y займає найдовше.
  • Потім зловмисник може зафіксувати перші два символи як xy та змінити третій символ, і в такому випадку вони виявлять, що b займає найдовше.
  • Потім зловмисник може зафіксувати перші три символи як xyb і змінити четвертий символ, і в такому випадку вони виявлять, що a займає найдовше.

Отже, зловмисники можуть одночасно відновити серійний символ.

Лінеаризація.java.

Linearization.docx, вибірки виводу

Серійний номер - чотири символи, і кожен символ має 128 можливих значень. Тоді є 128 4 = 2 28 = 268 455 456 можливих серіалів . Якщо зловмисник повинен випадково відгадати повний серійний номер, вона вгадає серійний номер приблизно за 2 27 = 134,217,728 спроб, що є величезною роботою . З іншого боку, використовуючи атаку лінеаризації, вказану вище, для кожної літери потрібно в середньому лише 128/2 = 64 здогадів, для загальної очікуваної роботи приблизно 4 * 64 = 2 8 = 256 відгадок, що є тривіальною сумою роботи.

Значна частина написаних бойових дій адаптована з цього (взято з "Інформаційної безпеки: принципи та практика" Марка Штампа). Також наведені вище розрахунки не враховують кількість здогадок, необхідних для визначення правильної серійної довжини.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.