понедельник, 4 апреля 2011 г.

Капчить или не капчить: вот в чем вопрос...

Сначала собственно о капче: что это такое и с чем его едят (для тех, кто еще в счастливом неведении).
Капча (CAPTCHA) - Completely Automated Public Turing test to tell Computers and Humans Apart - полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей (Википедия). Что такое "тест Тьюринга" можно посмотреть на ней же.
Проще говоря, капча - это тест, который может очень легко решить человек, но компьютеру это сделать гораздо сложнее или невозможно. Сейчас капча используется практически везде: при регистрации, при отправке сообщений, при запросе какой-либо информации и т.д.
Видов капчи бесконечное множество. Это может быть распознавание символов и последующее их введение:

Это может быть выполнение каких-то действий:


Я не буду сейчас перечислять все виды капчи или писать о методах ее обхода, или исследовать капчу в контексте экономического развития (я, кстати, скачала подобное творение и собираюсь прочесть). Проблема в другом.
Есть система, связанная с финансами. Зарегистрированный пользователь входит в систему (т.е. вводит свои данные в поле логин/пароль). При этом кроме логина/пароля с пользователя больше ничего не спрашивается. Ограничений на количество неправильных вводов пароля нет. Продукт прошел альфа-тестирование, бета-тестирование и собирается в "большое плавание".
Есть предложение обезопасить (хотя бы от брутфорса) данные пользователя введением капчи после третьего неверного ввода пароля. Контраргумент: брутфорс - это долго и неэффективно, а админские пароли - md5.
Была идея провести брутфорс системы, чтобы выяснить насколько быстро подберутся пароли (потому что обход md5 уже придумали). Но возникла мысль: а что, если это означает стучаться в одну дверь, когда где-то открыта другая? Ищу другую дверь в безопасность...

4 комментария:

  1. Для систем, связанных с финансами, я видел два варианта:
    1) Банк ВТБ-24. Клиенту выдается карточка с сотней чисел. При каждом логине надо ввести следующее число с карточки. Соответственно, хватает на 100 логинов, потом пользователь запрашивает и получает в банке следующую карточку.
    2) Какая-то ныне не функционирующая платежная система. Для пользователя при регистрации генерируется карточка-матрица 4х4, в нее вписано 16 символов. При логине пользователя спрашивают, помимо пароля, случайные символы с карточки (например, А4). От брутфорса должно помочь. Минус - нужно думать, что делать, если пользователь потеряет карточку :)

    ОтветитьУдалить
  2. Интересненько. :)
    Опять же: на данный момент вопрос стоит не только в том, как обезопаситься, но и в том: как убедить в необходимости такого "обезопашивания"...

    ОтветитьУдалить
  3. Да, это сложно :) Если подсчитать затраты на разработку можно, то как оценить потенциальный материальный и нематериальный ущерб - большой вопрос. Тут я пасую. Если решение будет найдено - осветите его, пожалуйста.

    ОтветитьУдалить
  4. Если удастся - обязательно расскажу! ))

    ОтветитьУдалить