1.7 Testing for Weak Security Question Answer
Суть тестування:
Питання та відповіді, які часто називають «секретними», контрольні питання та відповіді часто використовуються для відновлення забутих паролів.
Зазвичай вони створюються під час створення облікового запису та вимагають від користувача вибору із заздалегідь створених питань. Вони можуть дозволити користувачеві створювати власні запитання та відповіді. В ідеалі питання безпеки повинні давати відповіді, які відомі лише користувачеві, і ніхто інший не може їх вгадати чи виявити. Однак, багато веб проектів роблять більшість питань і відповідей, які є у відкритому вигляді і доступні всім, хто там реєструється.
Попередньо створені питання
Більшість заздалегідь згенерованих питань мають спрощений характер і можуть призвести до ненадійних відповідей. Наприклад:
-Відповіді можуть бути відомі членам сім'ї або близьким друзям користувача, наприклад «Яке дівоче прізвище у твоєї матері? ім'я?», «Яка у вас дата народження? »
- Відповіді можна легко вгадати, наприклад, "Який твій улюблений колір?", "Яка твоя улюблена бейсбольна команда?"
- Відповіді можуть бути грубими, наприклад: "Як звуть вашого улюбленого вчителя середньої школи?" - відповідь ймовірно знаходиться в деяких сайтах, де можна викачати список імен, а потім скористатися брутфорсом.
- Відповіді можуть бути загальнодоступними, наприклад "Який твій улюблений фільм?"
- Відповідь можна легко знайти на сторінці профілю користувача у соціальній мережі.
Самостійні питання
Проблема з тим, що користувачі створюють власні питання, полягає в тому, що це дозволяє їм створювати дуже небезпечні питання, або навіть обійти весь сенс секретного питання. Ось який насправді реальний світ, приклади:
- «Скільки буде 1+1?»
- "Яке у тебе ім'я користувача?"
- «Мій пароль – S3cur | ty!»
Як протестувати
Тестування на слабкі заздалегідь підготовлені питання
Спробуйте отримати список секретних питань, створивши новий обліковий запис або дотримуючись інструкцій «Я не пам'ятаю свій пароль». Постарайтеся скласти якнайбільше питань, щоб отримати уявлення про типи питань безпеки. Якщо будь-які питання безпеки потрапляють у категорії, описані вище, вони вразливі до атак. (можна догодити, метод брутфорсу, доступний у соціальних мережах і т. д.).
Тестування на слабкі питання, що створюються самостійно
Спробуйте створити контрольні питання, створивши новий обліковий запис або настроївши відновлення пароля наявного облікового запису. Якщо система дозволяє користувачеві створювати власні питання безпеки, вона вразлива для небезпечних питань.
Тестування на брутфорс відповіді
Використовуйте методи, описані в розділі "1.3 Testing for Weak lock out mechanism", щоб визначити, чи запуститься механізм блокування на декілька даних неправильних відповідей.
Перше, що потрібно враховувати при спробі використання секретних питань, – це кількість питань, на які необхідно отримати відповідь. Більшість програм потрібно, щоб користувач відповів лише на одне запитання, в той час як деякі критично важливі програми можуть вимагати від користувача відповіді на два або більше запитань.
Наступним кроком є оцінка сили безпеки. Чи можна отримати відповіді за допомогою Google чи атака соціальної інженерії? Ось покроковий посібник з експлуатації:
- Чи дозволяє програма кінцевому користувачеві вибрати питання, на яке потрібно відповісти? Якщо так, зосередьтеся на питання, що мають:
-- «Публічна» відповідь; наприклад, те, що можна знайти за допомогою простого запиту в пошуковій системі.
-- Фактична відповідь, така як «перша школа» чи інші факти, які можна знайти.
-- Декілька можливих відповідей, наприклад, «яка модель машини була вашою першою».
- Якщо можливо, визначте скільки у вас припущень.
-- Чи дозволяється скидання пароля необмежену кількість спроб?
-- Чи є період блокування після X неправильних відповідей? Майте на увазі, що система блокування може бути проблемою і для простого користувача, якщо хацкер блокуватиме вчитки своїми скриптами.
Ключем до успішного використання та обходу слабкої схеми секретних питань є пошук питання або набори питань, які дають змогу легко знайти відповіді. Завжди шукайте питання, які можуть дати вам найбільший статистичний шанс вгадати правильну відповідь. Зрештою, схема секретних питань настільки сильна, наскільки надійним є найслабше питання.