В теории защиты информационных систем — да, собственно, и не только информационных — есть замечательное старое правило: стойкость защиты определяется стойкостью самого слабого её элемента. Справедливость этого утверждения очевидна без доказательств. Можно навешать на банк супердорогие замки, идентифицировать сотрудников по радужке глаза и отпечаткам пальцев, заставить их использовать бессмысленные пароли длиной в десятки символов — но пока те же сотрудники хранят свои пароли на бумажках, налепленных на монитор, толку не будет.
Отсюда же следует и важное практическое дополнение: самым слабым звеном в большинстве случаев является человек. Пользователь. Глупая прослойка между стулом и клавиатурой. Кевин Митник (один из легендарных компьютерных взломщиков, чья активность во многом определила формулировки первых «антихакерских» законов), Брюс Шнайер (мировой авторитет в области ИТ-безопасности), Фрэнк Абигнейл (чековый мошенник, а после сотрудник ФБР; помните фильм «Поймай меня, если сможешь»?) и много кто ещё из знаменитостей, работавших и работающих в самых разных сферах и по разные стороны баррикад, сходятся в одном: нет нужды ломать двери, замки, подбирать ключи, искать уязвимости в технике и технологиях. Всегда проще вломиться в охраняемое пространство используя методы социальной инженерии.
Позвонить сотруднику, знающему пароль и обманом выудить нужную информацию. Втереться в доверие. Порыться в офисном мусоре. Применить метод терморектального криптоанализа, наконец, как в шутку называют физическое или психологическое давление на нужного человека. Если у него есть ключ, он его в конце концов выдаст, хочет он того или нет.
До последнего времени эта проблема считалась неразрешимой. Но решение нашлось. Несколько дней назад группа американских учёных (Боне, Божинов, Рибер и др.) прогремела на всю Сеть работой, в которой демонстрируется фантастическая вещь: оказывается, человека можно заставить запомнить пароль, который он никогда не сможет выдать
Исследователи взяли за опорную точку так называемый механизм скрытого обучения. В отличие от обучения явного, когда мы, к примеру, грызём гранит науки за школьной партой, скрытое предполагает накопление опыта в процессе проб и ошибок, незаметно для человека.
Подумайте как вы научились ездить на велосипеде. Сведения, полученные в процессе такого обучения, хранятся в зоне памяти, отдельной от памяти осознаваемых фактов. Так что вы не в силах описать словами как именно вы удерживаете велосипед в равновесии, хоть и замечательно с ним справляетесь. Изучение этого механизма ведётся уже несколько десятилетий и Божинов с коллегами не первые задумались над его применением для устранения слабостей парольной защиты. Зато они точно первыми смогли воплотить научные достижения в форме практичного алгоритма, пригодного для реальной жизни.
Так что же они сделали? Написали простецкую компьютерную игру (поиграть самому можно здесь: brainauth.com). Шесть стаканов, падающие шарики, игрок должен успеть перехватить шарик точно в нужный момент нажатием соответствующей каждому стакану клавиши (крайний слева — «S», следующий — «D» и т.д.). Внешне это здорово напоминает всем известную Guitar Hero, нет только гитары. Длится игра от получаса до часа, шарики валятся в случайном порядке. Но вот в чём фокус: случайность — кажущаяся. На самом деле — незаметно для игрока, но больше ста раз за игру — шарики начинают падать в определённой последовательности, соответствующей некоторому набору букв. Записав нажимаемые в этот момент клавиши, игрок увидел бы бессмысленную комбинацию из 30 символов. И хочет он того или нет, по окончании игры эта комбинация сидит в его мозгу!
Игрок не в состоянии вспомнить эту комбинацию — ни целиком, ни даже по частям. Он ничего не почувствует (вроде «ага, я это уже видел!»), если ему показать эту комбинацию написанной на бумаге. И тем не менее, если теперь вновь усадить его за игру и сыпать шарики в соответствующей последовательности, он «пройдёт» её лучше, чем в процессе обучения. Он не осознаёт свой опыт, но пальцы помнят, как нужно реагировать в конкретных случаях. И статистика это легко выявит (игрок сделает меньше ошибок). Возвращаясь к аналогии с Guitar Hero, результат можно объяснить так: заученную мелодию игрок сыграет лучше.
Собственно оказавшаяся в скрытой памяти 30-буквенная последовательность и есть пароль, который человеку необходимо было запомнить. Исследователи доказали, что информация удерживается в голове подопытного минимум на протяжении двух недель и скорее всего (опираясь на имеющиеся научные данные о механизме функционирования человеческой памяти) сохранится там намного дольше. Гарантировать эффект позволяют периодические повторные тренировки (меньшей длительности, чем первое обучение). Проверка на знание пароля занимает пять минут.
Божинов с коллегами классифицируют свой проект как относящийся к поведенческой биометрии и когнитивной психологии. Не нужно быть специалистом в этих областях, чтобы понять, что для домашней персоналки подобная защита будет неадекватно сложной. Авторы предполагают, что она найдёт применения на объектах большой важности, вроде атомных электростанций и военных предприятий. Однако вспоминая, что финансовые системы нынче обладают едва ли меньшим разрушительным потенциалом, можно предположить, что идеей заинтересуется и частный бизнес. Ведь скрытое обучение позволяет не только вбить в голову лишённую смысла длиннющую последовательность символов (попробуйте-ка проделать это осознанно!), но и — парадокс! — гарантировать, что знающий её человек никогда её не выдаст.
Представьте, что сотрудника, прошедшего обучение на тренажёре Божинова, похитили злоумышленники. Как выбить из него пароль? Насилие не поможет: ведь информация хранится в участке головного мозга, отдельном от памяти осознаваемых фактов, так что человек не в силах её записать или опознать. Усаживать беднягу за компьютер, на котором работает копия тренажёра, тоже бессмысленно. Чтобы проверить знание пароля, шарики должны падать в нужной последовательности (иначе говоря, игра должна знать, какую мелодию сыграть, чтобы проверить реакцию игрока), а для этого недостаточно похитить только человека, нужно получить доступ к компьютеру, пароль к которому собственно и неизвестен. Больше того, если каким-то образом похитителям всё же удастся посадить украденного сотрудника перед служебным компьютером, есть теоретическая возможность распознать, что человек действует под принуждением (по стилю нажатий на клавиши).
Конечно же вопросов пока больше чем ответов. Как долго без повторных тренировок пользователь будет в состоянии воспроизвести пароль? Как быстро нарастают ошибки? Можно ли сократить время обучения без ухудшения стойкости? И насколько конкурентоспособным окажется такой метод авторизации на фоне других современных разработок: помните, IBM предвещает, что через пять лет мы забудем о паролях как о страшном сне, обратившись к мультифакторной биометрии (см. «А можно без пароля?»)?.
Так что до практической стадии ещё далеко. Но проект Божинова и коллег интересен уже как шаг в неизведанное. Помнить, но не знать — где ещё вас такому научат?