Пользователь
0,0
рейтинг
8 декабря 2011 в 10:23

Разработка → Щит и Меч в системах ДБО


Проблемы с безопасностью в системах дистанционного банковского обслуживания (ДБО) ни для кого не секрет. Там где на кон поставлены деньги, информационная безопасность проверяется на прочность особенно часто. Основной вектор атаки в системах ДБО направлен на клиентское ПО, так как оно выполняется в небезопасной среде. Для защиты клиентского рабочего места в разное время применялись разные методы. Эволюцию средств нападения и средств защиты, используемых в ДБО, я попытаюсь описать в этом топике. В основном будут рассмотрены технические средства защиты клиентской части ДБО.


Пароли.
Первые системы ДБО были защищены обычным паролем. Иногда для проведения платежа использовался дополнительный платежный пароль. Сейчас подобная схема используется в некоторых платежных системах. Думаю не стоит объяснять, как при этом строилась атака. Кейлоггера было вполне достаточно, что бы получить доступ к чужому счету.

Ключи подписи в файле.
С некоторых пор стали появляться системы ДБО, где для подтверждения платежа было необходимо сформировать электронную подпись под платежным поручением. Ключи для формирования подписи хранились в зашифрованных файлах. Рекомендовалось хранить их на внешних носителях. Подобная схема до сих пор используется в некоторых банках. Схема атаки стала выглядеть по другому. Пароль к файлу с ключами так же перехватывался кейлоггером, а сам ключик воровался шпионским ПО.

Ключи на «обычном» токене.
Стоит дать небольшую вводную информацию. Грубо все токены можно поделить на два типа. Одни токены могут только хранить в своей защищенной памяти ключи для подписи, другие токены умеют генерировать ключи подписи и выполнять операцию подписи аппаратно, так что закрытый ключ никогда не покидает токена. Даже владелец токена не может извлечь из него закрытый ключ.
В начале конечно появились более простые варианты токенов. Они конечно осложнили жизнь злоумышленникам, но проблемы не решили. В ответ на внедрение токенов стало появляться более «разумное» шпионское ПО, нацеленное на конкретные системы ДБО. Это ПО имело возможность воровать ключи из оперативной памяти компьютера в момент выполнения пользователем законной операции подписи. Тогда развитие средств защиты пошло по пути внедрение дополнительных средств подтверждения платежа. К этим средствам я вернусь позже.

Токен с криптографией на борту
Окончательную точку в воровстве ключей подписи могут поставить токены с криптографией на борту, однако пока они имеют слабое распространение. На то есть объективные причины. Да, действительно, они не позволят украсть ключи подписи злоумышленнику, но они не могут решить основную задачу — остановить кражу денег в системах ДБО. Да, они могут сильно снизить количество краж, но только на время. Уже сейчас набирает обороты схема кражи денег при которой подпись платежного поручения осуществляется прямо на компьютере пользователя в то время пока подключен токен. Это делается либо с помощью удаленного управления компьютером, либо использую технологию USB-over-IP, либо подменяя платежное поручение в момент выполнения подписи.

Дополнительное подтверждение платежа
Основная идея дополнительного подтверждения заключается в использовании независимого от компьютера устройства. Самое широкое распространение получили одноразовые пароли — OTP (One Time Password). Реализация могла быть разной, это могли быть SMS сообщения с кодом подтверждения, OTP токены, таблицы с одноразовыми паролями. Кстати, ужасно бесит не приходящая вовремя SMS-ка. :) Злоумышленникам пришлось искать новые способы атаки на системы ДБО. При таких механизмах защиты чисто технические способы атаки стали комбинироваться с социальной инженерией. Наиболее распространенный способ атаки на схему с одноразовыми паролями это фишинг. На фишинговом сайте у пользователя получают одноразовый пароль, который тут же используют для проведения своего платежа. Основным недостатком схемы защиты с OTP является отсутствие взаимосвязи между паролем и содержимым платежного поручения.

Конечно же, следом появилось другие устройств, которые уже умели формировать код подтверждения на основе данных платежного поручения. Например, человек должен ввести номер расчетного счета и сумму платежа на каком-то внешнем устройстве и получить код, который затем ему надо ввести в систему ДБО. Решение достаточно безопасное, однако юзабилити этого решения не лезет ни в какие рамки. На картинке инструкция к одному такому устройству.
Один платеж еще провести можно, а десять?

Последний писк
В этом году на российском рынке появились новые устройства для защиты ДБО. Это доверенные устройства формирования цифровой подписи. Устройства оснащены экраном для отображения платежной информации и кнопками подтверждения платежа и отказа от проведения платежа. На фото устройство Рутокен PINPad.



Смысл этого устройства заключается в том, что поступающая в устройство информация отображается на экране, проверяется пользователем, если она корректна, подтверждается пользователем, затем аппаратно хэшируется и подписывается. Такой подход позволяет полностью исключить возможность подмены платежного поручения при подписи, а так же исключает возможность формирования подписи с помощью удаленного управления компьютером. Решение интересное, однако, пока нигде не эксплуатируется. Внедрения идет в нескольких банках.

Думаю, использование подобных устройств решит проблему кражи денег с помощью шпионского ПО. Однако, если исчезнет техническая возможность воровать, будут активнее использоваться способы основанные на социальной инженерии. Основная масса пользователей имеет слабое представление о информационной безопасности, а это хорошая почва для различного рода махинаций.
@EugeneSukhov
карма
27,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (30)

  • –3
    от обезьяны до человека с М-16…

    Разьве связка Операция — SMS — Подтверждение недостаточно надежный вариант?
    • 0
      Нет, траффик GSM спокойно перехватывается.
      • –2
        спокойно? терморектальный криптоанализ выйдет гораздо дешевле, чем перехват обычной СМСки.
        ладно бы вы про фишинг или social engineering сказали.
    • +2
      В большинстве случаев достаточно надежно, но атаки есть. Обычно SMS подтверждение просто одноразовый пароль не связанный с содержимым платежки, и потому это код может быть использован для подтверждения незаконного платежа. Пути получения этого кода тоже есть. Это фишинговые сайты, это переадресация SMS сообщений. Это социальная инженерия, например звонок на телефон из «банка»- «Извините, у нас сбой, и у вас прошел ошибочный платеж, что бы отменить назовите код из SMS».
  • 0
    Вот информация с сайта компании РУТОКЕН:
    >>Для аутентификации может использоваться протокол ISO Public-Key Two-Pass Unilateral Authentication Protocol

    И еще, не совсем понятно, из системы ДБО в Рутокен PINPad данные о платеже будут передаваться в зашифрованном виде или по-старинке через текстовые файлы.
    • 0
      В PINPad данные передаются по старинке в текстовом виде. На безопасность это не влияет.
      • 0
        Тогда, что помешает зловредоному ПО, подсовывать в пинпад «верную»(для пользователя) информацию, получать пин-код, а затем в канал до банка подсовывать другие платежные реквизиты?
        • 0
          В банк отправляется код подтверждения (подпись), той информации, которую пользователь подтвердил на экране устройства. Код подтверждения аппаратно формируется из тех данных, что поступили в устройство.
          • 0
            Спасибо за разъяснения, сейчас стало понятно.

            Параноик внутри меня предпочел бы, чтоб «канал» между пинпадом и ДБО тоже шифровался.
  • 0
    Это кошмар порожденный сном разума российской банковской системы.

    К самому устройству претензий нет, уверен, оно отлично решает свою задачу.
    Сам факт появления спроса на такое устройство — вот что страшно.
  • +5
    Расскажу про немецкие системы.

    Вначале (не совсем вначале, а когда я начал пользоваться) были списки TAN-ов — это шестизначные числа и для подтверждения транзакции надо было ввести любой из неиспользованых с бумажки. Когда кончались — банк высылал новый.

    Потом перешли на iTAN (indexed TAN). Это когда можно было вводить не любое число, а форма говорила, мол скажи ка мне число номер 14… Но в моем банке это уже больше года как тоже отменили. В других пока используют.

    Сейчас, собственно, работают такие способы:

    1. SMS (mTAN — «mobile»). После заполнения формы, например, для перевода денег, появляется кнопка «запросить mTAN». Приходит SMS-ка на заранее прописанный в системе номер. Номеров мобильников может быть несколько, но добавлять/менять их можно только по почте с подтверждением. Приходит, значит, SMS текстом «код XXX для перевода суммы YYY на счет ZZZ». Так что даже если троян подменил номер счета и хочет заставить тебя отправить деньги на какой-то левый счет — в SMS это будет видно.

    2. генератор одноразового кода (chipTAN). Выглядит как калькулятор. Для подтверждения транзакции появляется какая-то мигающая картинка. Этот «калькулятор» ее считывает прямо с экрана, и вычисляет код. Может еще на своем экранчике вывести сумму перевода и счет получателя для проверки. Есть модели в которые надо свою банковскую карту засовывать. ИЧСХ, это похоже какой-то стандарт на мигающие картинки, потому что банки не продают эти «калькуляторы», а отсылают к сторонним производителям, и есть модели разной степени сложности и цены. Работает это так: www.youtube.com/watch?v=U7PnC1S-j4I

    3. И совсем недавно появилось что-то что втыкается в USB. Почти ничего сказать не могу, кроме того что в Постбанке ее называют «BestSign», и там на экранчике высвечивается, как обычно, счет и сумма, которые надо нажатием кнопки подтвердить (и инструкция, естественно, подчеркивает: сверяйте номер счета и сумму с данными на счет-фактуре, не с данными на экране компьютера)
  • 0
    ну вопервых, трафик gsm перехватывается легко, посетите любой фрикерский форум и там куча устройст в продаже.
    во вторых аа ну как обычно самый главный фактор безопасности это СИ, и прежде всего надо обучать специалистов банка на антиСИ атаки.
    и в третих, простые да мелочи, очень часто на сайтах крупных банков находишь sql-inj.
    на мелочи ни кто никогда не обращает внимания, а надо бы.
  • 0
    С Рутокен PINPad идея интересная, узнать бы еще вес, габариты и ориентировочную стоимость устройства.
    Ну и учитывая, что достаточно большое количество банков до сих пор используют iTAN, устройства подобные PINPad'у до конечных пользователей систем ДБО дойдут еще не скоро…
  • +1
    Эхх… читаю статью и плАчу: какие правильные и вполне удобные вещи существуют… а потом смотрю на установленные последние версии клиентов Сбербанка и пары банков поменьше…

    Плюс защищенных устройств авторизации, отдельных от ПК, еще и том, что в случае кражи, инициированной доверенным лицом, сложно переложить вину на вредоносное ПО.
  • 0
    safe-tech.ru/index.php/products-ru/safetouch-desc-ru
    image

    Производитель (SafeTech, основана в 2010 году) декларирует 1600 руб./устройство, на деле выходит примерно раза в два дороже: клиентская и серверная лицензии для системы ДБО для поддержки смарт-карт + сама смарт-карта.

    Ну и если надо подписать N документов — на экране будет отображаться количество и общая сумма.
    • 0
      >>SafeTech, основана в 2010 году
      Компании занимающиеся безопасностью зарабатывают доверие годами, иногда десятилетиями. На худой конец, имеют лицензии и сертификаты. Использовать же устройство неизвестно кем разработанное для защиты своих денег я бы поостерегся.
      • 0
        Я так понимаю главный минус этой компании — тесное партнёрство с вашими конкурентами (Аладдин Р.Д.)?
        • 0
          не без этого :)
          Но основное я уже написал. Неизвестно кто разрабатывал, неизвестно кто будет оказывать тех. поддержку, какие гарантии у компании созданной вчера?

          • 0
            спасибо за искренний ответ :) с минусами согласен
            а вообще железка интересная, есть ли у вас возможные сценарии её использования не в сфере ДБО?
            • 0
              Мне такие сценарии не видятся. Устройство узко специализированно, оно конечно может заверять любую информацию, отображенную у него на экране, но есть ли еще настолько же значимая информация как финансовая, я не знаю.
      • 0
        Евгений,
        Я бы на Вашем месте поостерегся говорить о доверии, так как используемые Вашей компанией методы и технологии довольно далеки от категории «доверенные». Если Вам интересно, могу конкретизировать.
        Если Вы сомневаетесь в профессионализме компании SafeTech, то прошу аргументировать свои слова и привести обоснование, отличное от «зарабатывается годами» и «неизвестно кто».
        Как мне кажется, в если в довольно тесном кругу специалистов по защите ДБО Вы называете основателей компании SafeTech «неизвестно кем», то Вы, мягко говоря, сами мало знакомы с темататикой.
      • 0
        Всем привет,
        Для начала представлюсь, Денис Калемберг, компания СэйфТек.
        Что хотелось бы ответить на пост Евгения:
        1. Думаю, все согласятся, что не так важна дата регистрации юридического лица, как опыт команды, которая это юр.лицо создала. В нашем случае суммарный опыт специалистов компании в области информационной безопасности исчисляется не одним десятилетием. Кстати, как показывает опыт того же RSA, срок жизни компании на рынке не является гарантией безопасности конечных решений.

        2. Возникает вопрос, почему компания Актив-софт со своим 17-летним опытом разработала свое решение для защиты от атак с подменой документа почти на год позже, чем «неизвестно кто»?

        P.S. Евгений, Вы прекрасно знаете, что я на этом рынке работаю уже много лет. С Вашей стороны было крайне некорректно употреблять выражение «неизвестно кем».
        • 0
          Привет, коллеги!
          Рад слышать! :)
          Я свое мнение высказал. Оно относится не к Вам лично, а к компании производителю. Как Вы могли заметить я не обсуждал технических достоинств решений и тем более Ваш профессионализм, а только организационные моменты. Приходя на рынок и покупая, например, автомобиль, люди задумываются не только о характеристиках данного авто, а и о гарантиях, о условиях тех. обслуживания, о том будет ли существовать компания через год, будет ли кому предъявить претензии.

          • 0
            Евгений,
            Компания может «пропасть» с рынка как через год, так и через 15 лет, примерно с равной вероятностью. Примеров масса.
            Повторюсь, юридическое лицо, это, прежде всего, команда. Уверяю, с перечисленными Вами задачами наша команда справится.
            • 0
              Жизнь покажет! :)
    • 0
      Спасибо за комментарий.
      Хотелось бы отметить, что итоговая цена = считыватель смарт-карт SafeTouch + смарт-карта. Это примерно 2100 руб. Считать туда стоимость лицензий на систему ДБО не совсем правильно, так как данные лицензии банком уже закуплены.

      Кстати, SafeTouch также работает со смарт-картами, выпущенными в рамках проекта «доступ к порталу государственных услуг». Суть — в чип стандартной банковской карты (EMV-сертифицированной) добавлен сертифицированный апплет (приложение), реализующий российскую криптографию. С помощью такой карты клиент банка может также получать доступ к порталу государственных услуг и подписывать электронные документы (в том числе платежные).
      Если у клиента уже есть такая карта — ему уже не надо тратиться на дополнительную. У нас сейчас в стадии реализации пилотные проекты с несколькими банками. Надеюсь, скоро сможем рассказать подробнее:)
  • 0
    Ждём эксплоитов для этих «подписантов».
  • 0
    в нашем королевстве все банки используют устройства VASCO DIGIPASS или аналогичные



    в него вставляется карточка с чипом (та же самая, которая используется в банкоматах), набирается пин и выдаётся пароль на вход (I) или на подписание платежа (S) по входным данным, которые показываются на сайте

    для получения пароля нужны три компонента — устройство + карта + пин
    никаких SMS и никаких USB, можно с телефона использовать, можно в интернет-кафе

    по существу, эксплойтится только одним способом — сделать сайт 1:1 похожий на банковский, и убедить жертву его использовать
    но при крупных платежах (больше пары сотен евро) надо вводить как челлендж в т.ч. и сумму, и часть номера счёта бенефициара
    поэтому такой хак заставить эффективно работать тоже не совсем понятно как
    • 0
      Хе-хе, эти штуки имеют другие проблемы. Вернее не они. А ПО которое с ними работает на стороне банка и сносит эффективность к нулю.
      • 0
        Ну не все ПО — я про конкретную реализацию (коробочный продукт). Должны были исправиться уже…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.