Безопасность систем интернет-банкинга
При выборе банка пользователи зачастую сравнивают такие параметры, как предлагаемые проценты по вкладам, типы вкладов и, конечно же, услуги, например, возможность оформления кредита или ссуды. Но в мире, где всё больше сервисов переходит в онлайн, системы интернет-банкинга постепенно становятся всё популярнее. В будущем они будут удивлять не больше, чем банкомат в соседнем магазине. Так не пора ли нам задуматься о безопасности, которую обеспечивают эти самые банки?
Начнём мы с уязвимостей страниц входа. Обычно банки используют достаточно строгие дизайны страниц, имеющие поля для ввода PIN-кода или пароля. Но в чём же проблема? Почему эти страницы опасны? И что предлагают разработчики этих систем для более безопасной работы через Интернет?
Сегодня среди экспертов по безопасности активно обсуждается двухфакторная аутентификация (2 Factor Authentication – 2FA). Конечно, она вовсе не станет решением всех проблем аутентификации в Интернете, но позволит существенно укрепить защиту.
Двухфакторная аутентификация ставит ещё один барьер между хакером и вашим счётом в банке. Суть в том, чтобы второй фактор находился вне досягаемости для злоумышленников. Например, одноразовые коды доступа, генерируемые на основе PIN-кодов или без них и выводящиеся на смартфон, КПК или даже мобильный телефон.
Но не будем забегать вперёд. Посмотрим, где хранятся наши учётные данные от системы интернет-банкинга.
Ситуация сегодня
В нашем предыдущем материале мы рассмотрели некоторые угрозы, с которыми сталкивается сегодня обычный пользователь онлайновых сервисов. Надеемся, что читатель учёл описанные там особенности своей работы с такими сервисами.
Ниже мы приведём решения, которые используются для обеспечения безопасности в современном Интернете, включая двухфакторную аутентификацию.
Решения однофакторной аутентификации основываются на простой аутентификации, при которой пароль может быть перехвачен клавиатурными или экранными шпионами. Либо пароль можно получить с помощью социальной инженерии. Рассмотрим следующие варианты:
- передача всего пароля;
- частичная передача пароля или PIN-кода;
- клавиатура-скремблер;
- виртуальная клавиатура.
Раздельная двухфакторная аутентификация использует два различных, никак не взаимосвязанных между собой фактора. Другими словами, вводится пароль или PIN-код, а также какие-то данные, полученные не с компьютера, с которого осуществляется доступ. Рассмотрим следующие методы:
- статические таблицы кодов;
- списки TAN;
- пароли, передаваемые через SMS.
Комбинированная двухфакторная аутентификация предусматривает использование пароля и ключа. При этом мы обрабатываем выдаваемые банком данные с помощью брелока-шифратора или программы на КПК/мобильном телефоне, после чего вводим ответный код. Мы рассмотрим:
- динамические таблицы;
- электронные брелоки-шифраторы;
- мобильные телефоны/КПК.
Что ж, позвольте начать со столь знакомого диалога ввода логина и пароля.
Как мы уже отмечали в предыдущей статье, защита, основанная на полной передаче пароля или PIN-кода, себя не оправдывает. Данные, которые полностью вводятся в соответствующих окнах, может перехватить злоумышленник и с успехом использовать. К сожалению, множество известных сайтов по-прежнему используют именно такой подход.
Не правда ли, следующая иллюстрация выглядит знакомо?
Вряд ли для кого-то является секретом, что такие сайты, как PayPal, сегодня наиболее популярны среди фишеров.
Сайт Fraudwatch собирает статистику о множестве различных типов онлайнового мошенничества. И PayPal действительно можно встретить в списках Fraudwatch. Кроме того, существует множество сайтов, подвергающихся атакам мошенников, которые не встречаются в подобных списках. Дело в том, что компании часто замалчивают информацию о взломе.
Вот ещё один пример.
Davy Stock Brokers.
Ещё вариант с вводом другого типа данных, но на самом деле пароли и PIN-коды одинаково уязвимы.
Сайты, использующие подобный способ аутентификации, рано или поздно могут столкнуться с серьёзными проблемами, поскольку код такой web-страницы скачать вовсе не сложно. Программы, подобные WGET, можно без проблем скачать и сохранить все объекты сайта на жёсткий диск. В таком случае вы получите почти полную копию сайта, включая картинки и всяческие предупреждения, в том числе и о фишинге! Не сложно понять, почему фишинг стал столь популярной атакой.
Частичная передача паролей или PIN-кодов позволяет несколько повысить уровень защиты. Но, опять же, здесь есть опасность подвергнуться атаке фишинга, либо методом социальной инженерии, или даже стать жертвой перехватчика клавиатуры, который получит всю необходимую информацию через два-три успешных входа. Несмотря на это, такой подход наиболее популярен в сегодняшних системах интернет-банкинга. Пример ниже.
Практически все данные, необходимые для доступа, злоумышленник может получить через серию атак на ПК, либо сразу добыть их через фишинг и социальную инженерию.
Клавиатура-скремблер. На экран выводится краткая таблица шифрования, где нужная цифра соответствует какой-либо букве. И пользователь должен набрать PIN-код с помощью букв. К сожалению, при таком подходе всё, что нужно перехватить, уже есть на экране. Поэтому хакеру достаточно захватить экран пользователя. Пример показан ниже.
Троян-перехватчик экрана и клавиатуры прекрасно преодолевает такую защиту. Да и фишинг здесь тоже сработает, поскольку нужный PIN-код можно получить из вводимой пользователем информации.
Экранные клавиатуры ничем не лучше.
Экранный шпион может легко захватить все “клики”. Фишинг по-прежнему работает, так как пользователь всё равно даёт пароль/PIN-код, пусть и с помощью экранной клавиатуры.
Двухфакторная аутентификация
Статические таблицы кодов относятся к двухфакторной аутентификации и действительно усиливают защиту. Посмотрим на следующий пример.
Сначала пользователю предлагается ввести имя и пароль, а затем некоторые значения из таблицы кодов.
В таком случае необходимо знать не только имя пользователя и пароль, но и ещё один фактор, который достаточно стоек к фишингу, – код из таблицы. Таблица генерируется для конкретного пользователя (скажем, в банке, после чего распечатывается), так что получить её хакеру будет весьма проблематично. Единственное, чему следует уделить внимание, – каждый раз для входа должен использоваться новый код из таблицы (новые координаты), иначе безопасность ослабевает. Конечно, на стойкость защиты влияет размер карты и количество координат в ней. Кстати, схожий способ использовали немецкие подводные лодки во времена Второй мировой войны для шифровки и расшифровки сообщений – книгу с кодами.
Списки TAN. Разовые коды доступа (Transactional Access Numbers – TAN) являются логическим продолжением идеи таблиц, но их считают менее надёжными. Они относятся к той же категории раздельной двухфакторной аутентификации. Список TAN представляет собой упорядоченный список чисел определённой длины.
Пользователю может предлагаться ввести нужное значение примерно так.
После ввода имени пользователя следует ввести число из списка TAN. Такой подход популярен в странах Евросоюза.
Пароли, передаваемые через SMS . Это ещё один вид двухфакторной аутентификации. Если пользователь желает войти в систему, то на его мобильный телефон отправляется SMS с определённым кодом, который нужно ввести для входа. Понятно, что предварительно пользователь должен зарегистрировать свой телефонный номер в системе.
При использовании такой схемы есть ряд ограничений: необходимо, чтобы пользователь мог получать SMS, то есть находился в зоне доступа сети, и, естественно, имел мобильный телефон.
Комбинированная двухфакторная аутентификация
Комбинированная двухфакторная аутентификация опирается на информацию, которую может обработать пользователь, но не могут программы (или что-либо ещё) на компьютере. Пользователь меняет выдаваемый пароль или PIN с помощью своего алгоритма, после чего вводимый код проверяется на сайте.
Два фактора – это обычно PIN-код (его вы знаете) и брелок-шифратор (он у вас есть с собой).
Шифраторы могут быть совершенно разными, как отдельными устройствами-брелоками, так и программой на КПК или мобильном телефоне.
Ниже мы приведём некоторые примеры.
Электронные брелоки-шифраторы. Такие решения достаточно надёжны. Каждому пользователю выдаётся электронный брелок, который можно подцепить к ключам.
Пользователь вводит PIN-код на брелок, который преобразует его в код доступа. Затем код доступа указывается на сайте и выполняется вход.
Из плюсов такого подхода нужно отметить высокую степень защиты, из минусов – стоимость.
Динамические кодовые таблицы. Они напоминают статические таблицы, но имеют одно важное отличие. Данное решение сочетает пароль или PIN-код пользователя с информацией, которая выдаётся на экране, после чего происходит дополнительная обработка с помощью динамической таблицы или брелока-шифратора.
Пользователь получает примерно такой экран.
У пользователя есть пароль или PIN-код, а также динамическая таблица.
Мы сочетаем информацию экрана, PIN-код и динамическую таблицу (брелок-шифратор), после чего получаем код аутентификации, который передаётся на сайт для проверки.
Мобильные телефоны/КПК. В данном случае предлагается получать ответный код доступа средствами специальной программы для КПК или мобильных телефонов. С точки зрения функциональности, технология не сильно отличается от использования электронных брелоков-шифраторов, но более привлекательна для пользователей из-за меньшей стоимости.
Заключение
В нашей статье мы постарались вкратце пройтись по современным способам двухфакторной аутентификации. Применение подобных решений может существенно повысить уровень безопасности и позволит расширить список онлайн-услуг. Но, если вспомнить наш предыдущий материал, двухфакторная аутентификация всё равно не спасёт от той же атаки “человек в середине”.
Именно этим вопросом сегодня озадачена индустрия безопасности.