SlideShare a Scribd company logo
1 of 38
Типичная атака на систему ДБО


                     Евгения Поцелуевская
              epotseluevskaya@ptsecurity.ru
Positive Technologies – это:


   MaxPatrol – уникальная система анализа
   защищенности и соответствия стандартам

   XSpider – инновационный сканер безопасности

   Positive Research – один из крупнейших
   исследовательских центров в Европе

   Positive Hack Days – международный форум по
   информационной безопасности
Мы

 Проводим более 20-ти крупномасштабных
 тестирований на проникновение в год

 Анализируем защищенность систем ДБО на потоке

 Участвуем в ПК 3, разработке СТО БР ИББС

 Развиваем SecurityLab.ru – самый популярный
 интернет-портал, посвященный информационной
 безопасности

 Лицензиаты ФСТЭК, ФСБ, Министерства обороны РФ
А еще
Самые распространенные уязвимости систем ДБО


  Возможна идентификация приложений

    Недостаточная защита от Brute Force

    Межсайтовое выполнение сценариев

   Возможно проведение атак на сессию

            Слабая парольная политика
  Предугадываемый формат идентификаторов
                           пользователей

    Стандартные сообщения об ошибках
            Незащищенная передача данных
                      при аутентификации

  Раскрытие информации об идентификаторах

         Отсутствует маскирование PAN
Результаты анализа защищенности ДБО

                                        Получение данных для подключения к
                   Полный контроль      СУБД и внутренним системам (возможно
                     над системой       развитие из внутренней сети)

                                                     Доступ в личные кабинеты
      Выполнение                                     пользователей
       команд на
        сервере
                                                          Проведение транзакций
                                                          без ввода OTP
                                                          авторизованным
                                                          пользователем
     Полный
    контроль
    над СУБД              Несанкционированное
                          проведение транзакций




  Большинство систем ДБО содержали серьезные уязвимости,
  просто каждая ДБО была уязвима по-своему
PHDays I-Bank




PHDays I-Bank НЕ ЯВЛЯЕТСЯ системой
ДБО, которая действительно работает в
каком-либо из существующих банков
Система разрабатывалась специально
для конкурса на PHDays 2012
Демонстрация
Самые распространенные уязвимости систем ДБО


  Возможна идентификация приложений

    Недостаточная защита от Brute Force

    Межсайтовое выполнение сценариев

   Возможно проведение атак на сессию

            Слабая парольная политика
  Предугадываемый формат идентификаторов
                           пользователей

    Стандартные сообщения об ошибках
            Незащищенная передача данных
                      при аутентификации

  Раскрытие информации об идентификаторах

         Отсутствует маскирование PAN
Шаг 1: аутентификация

                                       Есть же CAPTCHA. В чем проблема?


  Недостаточная защита от Brute Force

                                   Пользователь может установить свой пароль. Проверяется только
                                   его длина. Наверняка найдется кто-то с паролем 12345678


           Слабая парольная политика
Предугадываемый формат идентификаторов
                         пользователей




      В PHDays I-Bank, как и почти во всех реальных системах ДБО,
      идентификатор пользователя состоит из цифр.

      Примеры идентификаторов: 1000001, 1000002, …
Демонстрация
Проблемы реализации CAPTCHA у PHDays I-BANK

    Значение передается в скрытом поле HTML-формы




  public function encodeCaptchaCode($code) {
    return @base64_encode(@strrev(@base64_encode($code)));
  }


    Для шифрования не используются временные
    значения – расшифровать строку проще простого




 PUlUTTVFak0= =ITM5EjM  MjE5MTI= 
Как еще можно обходить CAPTCHA

   Brute Force (допускается повторная отправка одного и того же
   значения)
   Передавать значение, не совпадающее с кодом, но попадающее
   под требования проверки (приложение проверяет только длину
   кода или наличие определенных символов)
   Передавать запросы, для которых CAPTCHA       не проверяется
   (например,  код   может     не  требоваться   при   передаче
   определенных заголовков в запросе)
   Использовать автоматические распознаватели текста (FineReader)
   Автоматизировать удаление
   наложенных на текст шумов
   ...
   На крайний случай всегда есть
   дрессированные обезьянки
   ручная проверка
Шаг 1: аутентификация



  Недостаточная защита от Brute Force




          Слабая парольная политика
Предугадываемый формат идентификаторов
                         пользователей




Раскрытие информации об идентификаторах
Шаг 2: авторизация для проведения транзакции



    Предугадать OTP не получится, алгоритм
    генерации достаточно надежный
Шаг 2: авторизация для проведения транзакции



    Предугадать OTP не получится, алгоритм
    генерации достаточно надежный

    Но так ли нужно его угадывать? ;)
Шаг 2: авторизация для проведения транзакции

Шаг1             Шаг2           Шаг3              Шаг4
Ввод платежных   Ввод           Проверка          Проведение
реквизитов и     одноразового   OTP, подтвержде   транзакции
суммы платежа    пароля         ние транзакции
Демонстрация
Другие варианты обхода авторизации по OTP

    Brute Forсe (возможна повторная      отправка
    значений для одного и того же OTP)

    Проведение транзакций небольшими частями,
    для которых ввод OTP не требуется (в системе
    установлены   лимиты,   начиная  с   которых
    необходима авторизация)

    Предугадывание    значений   OTP     (слабые
    алгоритмы генерации OTP)

    Получение информации об ожидаемом значении
    OTP   в  открытом    виде   (например, путем
    получения доступа к лог-файлу)
Race condition

Если отправлять много запросов, то возможна ситуация,
когда запросы будут выполняться одновременно:

                      Хочу перевести
      Запрос N                           Запрос N+1
                      1000 рублей на
                       свой же счет



      Проверка                            Проверка
      наличия                             наличия
    необходимой                         необходимой
       суммы                               суммы




   Зачисление денег                    Зачисление денег




                         Profit! $$$
Race condition

Если отправлять много запросов, то возможна ситуация,
когда запросы будут выполняться одновременно:
                      Пользователь: хочу
                            Хочу перевести
      Запрос N        перевести 10 000 рублей на     Запрос N+1
                            1000 рублей на
                      свой же свой же счет
                              счет



      Проверка                                        Проверка
      наличия                                         наличия
    необходимой                                     необходимой
       суммы                                           суммы




   Зачисление денег                                Зачисление денег




                                Profit! $$$
Race condition

Если отправлять много запросов, то возможна ситуация,
когда запросы будут выполняться одновременно:
                      Пользователь: хочу
                            Хочу перевести
      Запрос N        перевести 10 000 рублей на      Запрос N+1
                            1000 рублей на
                      свой же свой же счет
                              счет

                      Приложение: Проверяю… у
                      пользователя 10 000 рублей,
      Проверка        достаточно для перевода.         Проверка
      наличия                                          наличия
    необходимой                                      необходимой
       суммы                                            суммы




   Зачисление денег                                 Зачисление денег




                                Profit! $$$
Race condition

Если отправлять много запросов, то возможна ситуация,
когда запросы будут выполняться одновременно:
                      Пользователь: хочу
                            Хочу перевести
      Запрос N        перевести 10 000 рублей на     Запрос N+1
                            1000 рублей на
                      свой же свой же счет
                              счет

                      Приложение: Проверяю… у
                      пользователя 10 000
      Проверка        рублей, достаточно для          Проверка
      наличия         перевода.                       наличия
    необходимой                                     необходимой
       суммы          ….                               суммы
                      Перевожу необходимую
                      сумму (баланс=0 рублей)


   Зачисление денег                                Зачисление денег




                                Profit! $$$
Race condition

Если отправлять много запросов, то возможна ситуация,
когда запросы будут выполняться одновременно:
                      Пользователь: хочу
                            Хочу перевести
      Запрос N        перевести 10 000 рублей на      Запрос N+1
                            1000 рублей на
                      свой же свой же счет
                              счет

                      Приложение: Проверяю… у
                      пользователя 10 000 рублей,
      Проверка        достаточно для перевода.         Проверка
      наличия         ….                               наличия
    необходимой                                      необходимой
       суммы          Перевожу необходимую              суммы
                      сумму (баланс=0 рублей)
                      ….
                      Начисляю необходимую
                      сумму (Запрос N: + 10 000,
   Зачисление денег   Запрос N+1: +10 000)          Зачисление денег




                                Profit! $$$
Демонстрация
XML External Entity

   Уязвимость позволяет внедрять XML-код, и, как
   следствие:
     Читать файлы на сервере

     Сканировать ресурсы внутренней сети посредством HTTP-,
     SMB-, FTP- запросов

     Реализовать отказ в обслуживании

     Читать файлы общедоступных ресурсов на базе Windows
     (hostC$)

     …
Демонстрация
Хотите пример из продуктивной системы?

                 Милочка, а проверьте-ка
                 систему ДБО нашего
                 банка




                            Да, сэр



               через полчаса…



               Да тут же SQL-инъекция! Грубейшая ошибка
               разработки веб-приложения!
А ведь можно было бы…

                По содержимому базы проанализировать
                платежи: порядок обработки, статусы, суммы,
                получатели
А ведь можно было бы…

                По содержимому базы проанализировать
                платежи: порядок обработки, статусы, суммы,
                получатели

                Найти клиентов, периодически переводящих
                крупные суммы в пределах установленных
                лимитов
А ведь можно было бы…

                По содержимому базы проанализировать
                платежи: порядок обработки, статусы, суммы,
                получатели

                Найти клиентов, периодически переводящих
                крупные суммы в пределах установленных
                лимитов

                Выбрать тех, где не подключена услуга SMS-
                оповещения (например, сосредоточиться на
                некарточных счетах)
А ведь можно было бы…

                По содержимому базы проанализировать
                платежи: порядок обработки, статусы, суммы,
                получатели

                Найти клиентов, периодически переводящих
                крупные суммы в пределах установленных
                лимитов

                Выбрать тех, где не подключена услуга SMS-
                оповещения (например, сосредоточиться на
                некарточных счетах)

                Создать свой платеж, присвоив ему нужный
                статус, или просто подменить реквизиты
                платежа, уже готового к отправке в АБС
А ведь можно было бы…

                По содержимому базы проанализировать
                платежи: порядок обработки, статусы, суммы,
                получатели

                Найти клиентов, периодически переводящих
                крупные суммы в пределах установленных
                лимитов

                Выбрать тех, где не подключена услуга SMS-
                оповещения (например, сосредоточиться на
                некарточных счетах)

                Создать свой платеж, присвоив ему нужный
                статус, или просто подменить реквизиты
                платежа, уже готового к отправке в АБС

                Profit!
Заключение

  Большинство систем
  ДБО имеют
  серьезные
  уязвимости
Заключение

  Большинство систем
  ДБО имеют
  серьезные
  уязвимости
  Эксплуатация
  уязвимостей часто
  бывает не такой уж
  сложной
Заключение

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

аутентификации           Использовать правильную CAPTCHA (не передавать код CAPTCHA вместе со страницей; «шум»
                         должен мешать не человеку, а машине; и т.п.)
                         Реализовать блокировку попыток подбора данных (при этом блокировка должна зависеть как от
                         частоты попыток подбора и количества неправильно введенных паролей, так и от количества
                         неправильно введенных идентификаторов, чтобы избежать блокировки легитимных
                         пользователей)
                         ….
                         Реализовать эффективный алгоритм генерации OTP
                         Устранить недостатки в логике авторизации: OTP должен обязательно требоваться для всех
Возможен обход           транзакций, вне зависимости от суммы, времени суток, или индивидуальных настроек
механизма авторизации    пользователей
по OTP                   Обеспечить защиту от подбора OTP (при каждом вводе неправильного значения OTP меняется)
                         …
                         Обеспечить невозможность одновременного доступа к данным с целью изменения для разных
             Race        потоков или разных компонентов приложения (использовать блокировку данных на время
             Condition   обработки)
                         Обеспечить проверку и фильтрацию входных данных от пользователя (экранирование
                         специальных символов)
                 XXE     При необходимости использования XML запретить поддержку внешних сущностей (External
                         Entity) и DTD
                         ….
Спасибо за внимание!


                 Евгения Поцелуевская
          epotseluevskaya@ptsecurity.ru

More Related Content

What's hot

Безопасность Drupal сайтов
Безопасность Drupal сайтовБезопасность Drupal сайтов
Безопасность Drupal сайтовEugene Fidelin
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системDmitry Evteev
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...Dmitry Evteev
 
Е. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтовЕ. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтовAlbina Tiupa
 
Мошенничество в системах ДБО. Анализ и контроль операций
Мошенничество в системах ДБО. Анализ и контроль операцийМошенничество в системах ДБО. Анализ и контроль операций
Мошенничество в системах ДБО. Анализ и контроль операцийКРОК
 
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхАнализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
 
Емельянников_Безопасность электронного бизнеса
Емельянников_Безопасность электронного бизнесаЕмельянников_Безопасность электронного бизнеса
Емельянников_Безопасность электронного бизнесаMikhail Emeliyannikov
 
Pt devteev-risspa
Pt devteev-risspaPt devteev-risspa
Pt devteev-risspayaevents
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?phpdevby
 
Атаки на web-приложения. Основы
Атаки на web-приложения. ОсновыАтаки на web-приложения. Основы
Атаки на web-приложения. ОсновыPositive Hack Days
 
Application security? Firewall it!
Application security? Firewall it!Application security? Firewall it!
Application security? Firewall it!Positive Hack Days
 
Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...
Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...
Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...qqlan
 
Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Dmitry Evteev
 
Реальные опасности виртуального мира.
Реальные опасности виртуального мира.Реальные опасности виртуального мира.
Реальные опасности виртуального мира.Dmitry Evteev
 
Практический опыт реализации системы антифрода промышленного производства – о...
Практический опыт реализации системы антифрода промышленного производства – о...Практический опыт реализации системы антифрода промышленного производства – о...
Практический опыт реализации системы антифрода промышленного производства – о...SelectedPresentations
 
Максим Кочкин (Wamba)
Максим Кочкин (Wamba)Максим Кочкин (Wamba)
Максим Кочкин (Wamba)Ontico
 
Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложенияMaxim Krentovskiy
 
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложенийСтажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений7bits
 

What's hot (19)

Безопасность Drupal сайтов
Безопасность Drupal сайтовБезопасность Drupal сайтов
Безопасность Drupal сайтов
 
Типовые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских системТиповые проблемы безопасности банковских систем
Типовые проблемы безопасности банковских систем
 
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...История из жизни. Демонстрация работы реального злоумышленника на примере ата...
История из жизни. Демонстрация работы реального злоумышленника на примере ата...
 
Е. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтовЕ. Фиделин Безопасность Drupal сайтов
Е. Фиделин Безопасность Drupal сайтов
 
Мошенничество в системах ДБО. Анализ и контроль операций
Мошенничество в системах ДБО. Анализ и контроль операцийМошенничество в системах ДБО. Анализ и контроль операций
Мошенничество в системах ДБО. Анализ и контроль операций
 
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхАнализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условиях
 
Емельянников_Безопасность электронного бизнеса
Емельянников_Безопасность электронного бизнесаЕмельянников_Безопасность электронного бизнеса
Емельянников_Безопасность электронного бизнеса
 
Pt devteev-risspa
Pt devteev-risspaPt devteev-risspa
Pt devteev-risspa
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
 
Атаки на web-приложения. Основы
Атаки на web-приложения. ОсновыАтаки на web-приложения. Основы
Атаки на web-приложения. Основы
 
Application security? Firewall it!
Application security? Firewall it!Application security? Firewall it!
Application security? Firewall it!
 
Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...
Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...
Sergey Gordeychik and Dmitry Evteev (Positive Technologies) "One Time Passwor...
 
Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.Истории из жизни. Как взламывают сети крупных организаций.
Истории из жизни. Как взламывают сети крупных организаций.
 
Реальные опасности виртуального мира.
Реальные опасности виртуального мира.Реальные опасности виртуального мира.
Реальные опасности виртуального мира.
 
Практический опыт реализации системы антифрода промышленного производства – о...
Практический опыт реализации системы антифрода промышленного производства – о...Практический опыт реализации системы антифрода промышленного производства – о...
Практический опыт реализации системы антифрода промышленного производства – о...
 
PT MIFI Labxss
PT MIFI LabxssPT MIFI Labxss
PT MIFI Labxss
 
Максим Кочкин (Wamba)
Максим Кочкин (Wamba)Максим Кочкин (Wamba)
Максим Кочкин (Wamba)
 
Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложения
 
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложенийСтажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
 

Viewers also liked

Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...Dmitry Evteev
 
SerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValSerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValElitesru
 
Сергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от EsetСергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от EsetExpolink
 
6.2. Hacking most popular websites
6.2. Hacking most popular websites6.2. Hacking most popular websites
6.2. Hacking most popular websitesdefconmoscow
 
Intercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияIntercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияPositive Hack Days
 
4.3. Rat races conditions
4.3. Rat races conditions4.3. Rat races conditions
4.3. Rat races conditionsdefconmoscow
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
 
Сергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL InjectionСергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL InjectionSQALab
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Mikhail Vanin
 
Собираем команду хакеров
Собираем команду хакеровСобираем команду хакеров
Собираем команду хакеровDmitry Evteev
 
Непрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQubeНепрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQubeVasilii Chernov
 
PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?Ivan Tsyganov
 
Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийDmitry Evteev
 
Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»Sciencehit.by
 
Тестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийТестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийSQALab
 
Город никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never SleepsГород никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never SleepsPositive Hack Days
 
Как начать бизнес в ИБ
Как начать бизнес в ИБКак начать бизнес в ИБ
Как начать бизнес в ИБPositive Hack Days
 

Viewers also liked (20)

Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...Противодействие хищению персональных данных и платежной информации в сети Инт...
Противодействие хищению персональных данных и платежной информации в сети Инт...
 
penetest VS. APT
penetest VS. APTpenetest VS. APT
penetest VS. APT
 
SerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerValSerVal site monitoring presentation - Презентация SerVal
SerVal site monitoring presentation - Презентация SerVal
 
Сергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от EsetСергей Федоров - Современная безопасность от Eset
Сергей Федоров - Современная безопасность от Eset
 
6.2. Hacking most popular websites
6.2. Hacking most popular websites6.2. Hacking most popular websites
6.2. Hacking most popular websites
 
Intercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколенияIntercepter-NG: сниффер нового поколения
Intercepter-NG: сниффер нового поколения
 
4.3. Rat races conditions
4.3. Rat races conditions4.3. Rat races conditions
4.3. Rat races conditions
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестирования
 
Сергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL InjectionСергей Полаженко - Security Testing: SQL Injection
Сергей Полаженко - Security Testing: SQL Injection
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
 
PT MIFI Labsql
PT MIFI LabsqlPT MIFI Labsql
PT MIFI Labsql
 
Собираем команду хакеров
Собираем команду хакеровСобираем команду хакеров
Собираем команду хакеров
 
Непрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQubeНепрерывный анализ качества кода с помощью SonarQube
Непрерывный анализ качества кода с помощью SonarQube
 
PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?PiterPy#3. DSL in Python. How and why?
PiterPy#3. DSL in Python. How and why?
 
PT MIFI Labsql
PT MIFI LabsqlPT MIFI Labsql
PT MIFI Labsql
 
Введение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложенийВведение в тему безопасности веб-приложений
Введение в тему безопасности веб-приложений
 
Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»Описание задач «Научного Хакатона»
Описание задач «Научного Хакатона»
 
Тестирование защищенности веб-приложений
Тестирование защищенности веб-приложенийТестирование защищенности веб-приложений
Тестирование защищенности веб-приложений
 
Город никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never SleepsГород никогда не спит / The City Never Sleeps
Город никогда не спит / The City Never Sleeps
 
Как начать бизнес в ИБ
Как начать бизнес в ИБКак начать бизнес в ИБ
Как начать бизнес в ИБ
 

Similar to Демонстрация атаки на ДБО

Мобильный платеж Xsolla
Мобильный платеж XsollaМобильный платеж Xsolla
Мобильный платеж Xsollaxsollacom
 
М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"
М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"
М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"Yandex
 
как получать яндекс.деньги (2012)
как получать яндекс.деньги (2012)как получать яндекс.деньги (2012)
как получать яндекс.деньги (2012)Яндекс.Деньги
 
Как получать Яндекс.Деньги
Как получать Яндекс.ДеньгиКак получать Яндекс.Деньги
Как получать Яндекс.ДеньгиMaria Gracheva
 
imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...
imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...
imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...UAMASTER Digital Agency
 
банк презентация речевых сервисов голосовой интерактив
банк презентация речевых сервисов голосовой интерактивбанк презентация речевых сервисов голосовой интерактив
банк презентация речевых сервисов голосовой интерактивrobotspeech
 
Система противодействия мошенничеству по-русски
Система противодействия мошенничеству по-русскиСистема противодействия мошенничеству по-русски
Система противодействия мошенничеству по-русскиЕвгений Царев
 
Как принимать оплату в интернете
Как принимать оплату в интернетеКак принимать оплату в интернете
Как принимать оплату в интернетеYandex
 
Игорь Ивченко "Деньги Онлайн"
Игорь Ивченко "Деньги Онлайн"Игорь Ивченко "Деньги Онлайн"
Игорь Ивченко "Деньги Онлайн"Artem Polyanskiy
 
HydraLAB Mechanics of Cryptocurrency Exchanges
HydraLAB Mechanics of Cryptocurrency ExchangesHydraLAB Mechanics of Cryptocurrency Exchanges
HydraLAB Mechanics of Cryptocurrency ExchangesHydraLaboratory
 

Similar to Демонстрация атаки на ДБО (14)

Hlaponin_Svitit
Hlaponin_SvititHlaponin_Svitit
Hlaponin_Svitit
 
Мобильный платеж Xsolla
Мобильный платеж XsollaМобильный платеж Xsolla
Мобильный платеж Xsolla
 
М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"
М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"
М.Грачева "Как получать Яндекс.Деньги. Инструменты. Затраты. Сроки. Примеры"
 
как получать яндекс.деньги (2012)
как получать яндекс.деньги (2012)как получать яндекс.деньги (2012)
как получать яндекс.деньги (2012)
 
Как получать Яндекс.Деньги
Как получать Яндекс.ДеньгиКак получать Яндекс.Деньги
Как получать Яндекс.Деньги
 
платежный шлюз от Bitmonsters
платежный шлюз от Bitmonstersплатежный шлюз от Bitmonsters
платежный шлюз от Bitmonsters
 
Get yandexmoney 2012_lviv
Get yandexmoney 2012_lvivGet yandexmoney 2012_lviv
Get yandexmoney 2012_lviv
 
imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...
imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...
imu2010 - АПИ Приватбанка для СМИ и бизнеса. Харитич, Центр Электронного Бизн...
 
банк презентация речевых сервисов голосовой интерактив
банк презентация речевых сервисов голосовой интерактивбанк презентация речевых сервисов голосовой интерактив
банк презентация речевых сервисов голосовой интерактив
 
Система противодействия мошенничеству по-русски
Система противодействия мошенничеству по-русскиСистема противодействия мошенничеству по-русски
Система противодействия мошенничеству по-русски
 
Как принимать оплату в интернете
Как принимать оплату в интернетеКак принимать оплату в интернете
Как принимать оплату в интернете
 
Cashmob payment messenger
Cashmob payment messengerCashmob payment messenger
Cashmob payment messenger
 
Игорь Ивченко "Деньги Онлайн"
Игорь Ивченко "Деньги Онлайн"Игорь Ивченко "Деньги Онлайн"
Игорь Ивченко "Деньги Онлайн"
 
HydraLAB Mechanics of Cryptocurrency Exchanges
HydraLAB Mechanics of Cryptocurrency ExchangesHydraLAB Mechanics of Cryptocurrency Exchanges
HydraLAB Mechanics of Cryptocurrency Exchanges
 

More from Dmitry Evteev

Такой (не)безопасный веб
Такой (не)безопасный вебТакой (не)безопасный веб
Такой (не)безопасный вебDmitry Evteev
 
PHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это былоPHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это былоDmitry Evteev
 
Практика проведения DDoS-тестирований
Практика проведения DDoS-тестированийПрактика проведения DDoS-тестирований
Практика проведения DDoS-тестированийDmitry Evteev
 
Мобильный офис глазами пентестера
Мобильный офис глазами пентестераМобильный офис глазами пентестера
Мобильный офис глазами пентестераDmitry Evteev
 
Безопасность веб-приложений сегодня
Безопасность веб-приложений сегодняБезопасность веб-приложений сегодня
Безопасность веб-приложений сегодняDmitry Evteev
 
Penetration testing (AS IS)
Penetration testing (AS IS)Penetration testing (AS IS)
Penetration testing (AS IS)Dmitry Evteev
 
CC HackQuest 2010 Full Disclosure (мастер-класс)
CC HackQuest 2010 Full Disclosure (мастер-класс)CC HackQuest 2010 Full Disclosure (мастер-класс)
CC HackQuest 2010 Full Disclosure (мастер-класс)Dmitry Evteev
 
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)Dmitry Evteev
 
РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)Dmitry Evteev
 
РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)Dmitry Evteev
 
Развитие систем анализа защищенности. Взгляд в будущее!
Развитие систем анализа защищенности. Взгляд в будущее!Развитие систем анализа защищенности. Взгляд в будущее!
Развитие систем анализа защищенности. Взгляд в будущее!Dmitry Evteev
 
WAF наше все?!
WAF наше все?!WAF наше все?!
WAF наше все?!Dmitry Evteev
 
Ломаем (и строим) вместе
Ломаем (и строим) вместеЛомаем (и строим) вместе
Ломаем (и строим) вместеDmitry Evteev
 
Ruscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full DisclosureRuscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full DisclosureDmitry Evteev
 
Penetration testing, What’s this?
Penetration testing, What’s this?Penetration testing, What’s this?
Penetration testing, What’s this?Dmitry Evteev
 

More from Dmitry Evteev (15)

Такой (не)безопасный веб
Такой (не)безопасный вебТакой (не)безопасный веб
Такой (не)безопасный веб
 
PHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это былоPHDays CTF 2011 Quals/Afterparty: как это было
PHDays CTF 2011 Quals/Afterparty: как это было
 
Практика проведения DDoS-тестирований
Практика проведения DDoS-тестированийПрактика проведения DDoS-тестирований
Практика проведения DDoS-тестирований
 
Мобильный офис глазами пентестера
Мобильный офис глазами пентестераМобильный офис глазами пентестера
Мобильный офис глазами пентестера
 
Безопасность веб-приложений сегодня
Безопасность веб-приложений сегодняБезопасность веб-приложений сегодня
Безопасность веб-приложений сегодня
 
Penetration testing (AS IS)
Penetration testing (AS IS)Penetration testing (AS IS)
Penetration testing (AS IS)
 
CC HackQuest 2010 Full Disclosure (мастер-класс)
CC HackQuest 2010 Full Disclosure (мастер-класс)CC HackQuest 2010 Full Disclosure (мастер-класс)
CC HackQuest 2010 Full Disclosure (мастер-класс)
 
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
Chaos Constructions HackQuest 2010 Full Disclosure (мастер-класс)
 
РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)
 
РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)РусКрипто CTF 2010 Full Disclosure (мастер класс)
РусКрипто CTF 2010 Full Disclosure (мастер класс)
 
Развитие систем анализа защищенности. Взгляд в будущее!
Развитие систем анализа защищенности. Взгляд в будущее!Развитие систем анализа защищенности. Взгляд в будущее!
Развитие систем анализа защищенности. Взгляд в будущее!
 
WAF наше все?!
WAF наше все?!WAF наше все?!
WAF наше все?!
 
Ломаем (и строим) вместе
Ломаем (и строим) вместеЛомаем (и строим) вместе
Ломаем (и строим) вместе
 
Ruscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full DisclosureRuscrypto CTF 2010 Full Disclosure
Ruscrypto CTF 2010 Full Disclosure
 
Penetration testing, What’s this?
Penetration testing, What’s this?Penetration testing, What’s this?
Penetration testing, What’s this?
 

Демонстрация атаки на ДБО

  • 1. Типичная атака на систему ДБО Евгения Поцелуевская epotseluevskaya@ptsecurity.ru
  • 2. Positive Technologies – это: MaxPatrol – уникальная система анализа защищенности и соответствия стандартам XSpider – инновационный сканер безопасности Positive Research – один из крупнейших исследовательских центров в Европе Positive Hack Days – международный форум по информационной безопасности
  • 3. Мы Проводим более 20-ти крупномасштабных тестирований на проникновение в год Анализируем защищенность систем ДБО на потоке Участвуем в ПК 3, разработке СТО БР ИББС Развиваем SecurityLab.ru – самый популярный интернет-портал, посвященный информационной безопасности Лицензиаты ФСТЭК, ФСБ, Министерства обороны РФ
  • 5. Самые распространенные уязвимости систем ДБО Возможна идентификация приложений Недостаточная защита от Brute Force Межсайтовое выполнение сценариев Возможно проведение атак на сессию Слабая парольная политика Предугадываемый формат идентификаторов пользователей Стандартные сообщения об ошибках Незащищенная передача данных при аутентификации Раскрытие информации об идентификаторах Отсутствует маскирование PAN
  • 6. Результаты анализа защищенности ДБО Получение данных для подключения к Полный контроль СУБД и внутренним системам (возможно над системой развитие из внутренней сети) Доступ в личные кабинеты Выполнение пользователей команд на сервере Проведение транзакций без ввода OTP авторизованным пользователем Полный контроль над СУБД Несанкционированное проведение транзакций Большинство систем ДБО содержали серьезные уязвимости, просто каждая ДБО была уязвима по-своему
  • 7. PHDays I-Bank PHDays I-Bank НЕ ЯВЛЯЕТСЯ системой ДБО, которая действительно работает в каком-либо из существующих банков Система разрабатывалась специально для конкурса на PHDays 2012
  • 9. Самые распространенные уязвимости систем ДБО Возможна идентификация приложений Недостаточная защита от Brute Force Межсайтовое выполнение сценариев Возможно проведение атак на сессию Слабая парольная политика Предугадываемый формат идентификаторов пользователей Стандартные сообщения об ошибках Незащищенная передача данных при аутентификации Раскрытие информации об идентификаторах Отсутствует маскирование PAN
  • 10. Шаг 1: аутентификация Есть же CAPTCHA. В чем проблема? Недостаточная защита от Brute Force Пользователь может установить свой пароль. Проверяется только его длина. Наверняка найдется кто-то с паролем 12345678 Слабая парольная политика Предугадываемый формат идентификаторов пользователей В PHDays I-Bank, как и почти во всех реальных системах ДБО, идентификатор пользователя состоит из цифр. Примеры идентификаторов: 1000001, 1000002, …
  • 12. Проблемы реализации CAPTCHA у PHDays I-BANK Значение передается в скрытом поле HTML-формы public function encodeCaptchaCode($code) { return @base64_encode(@strrev(@base64_encode($code))); } Для шифрования не используются временные значения – расшифровать строку проще простого PUlUTTVFak0= =ITM5EjM  MjE5MTI= 
  • 13. Как еще можно обходить CAPTCHA Brute Force (допускается повторная отправка одного и того же значения) Передавать значение, не совпадающее с кодом, но попадающее под требования проверки (приложение проверяет только длину кода или наличие определенных символов) Передавать запросы, для которых CAPTCHA не проверяется (например, код может не требоваться при передаче определенных заголовков в запросе) Использовать автоматические распознаватели текста (FineReader) Автоматизировать удаление наложенных на текст шумов ... На крайний случай всегда есть дрессированные обезьянки ручная проверка
  • 14. Шаг 1: аутентификация Недостаточная защита от Brute Force Слабая парольная политика Предугадываемый формат идентификаторов пользователей Раскрытие информации об идентификаторах
  • 15. Шаг 2: авторизация для проведения транзакции Предугадать OTP не получится, алгоритм генерации достаточно надежный
  • 16. Шаг 2: авторизация для проведения транзакции Предугадать OTP не получится, алгоритм генерации достаточно надежный Но так ли нужно его угадывать? ;)
  • 17. Шаг 2: авторизация для проведения транзакции Шаг1 Шаг2 Шаг3 Шаг4 Ввод платежных Ввод Проверка Проведение реквизитов и одноразового OTP, подтвержде транзакции суммы платежа пароля ние транзакции
  • 19. Другие варианты обхода авторизации по OTP Brute Forсe (возможна повторная отправка значений для одного и того же OTP) Проведение транзакций небольшими частями, для которых ввод OTP не требуется (в системе установлены лимиты, начиная с которых необходима авторизация) Предугадывание значений OTP (слабые алгоритмы генерации OTP) Получение информации об ожидаемом значении OTP в открытом виде (например, путем получения доступа к лог-файлу)
  • 20. Race condition Если отправлять много запросов, то возможна ситуация, когда запросы будут выполняться одновременно: Хочу перевести Запрос N Запрос N+1 1000 рублей на свой же счет Проверка Проверка наличия наличия необходимой необходимой суммы суммы Зачисление денег Зачисление денег Profit! $$$
  • 21. Race condition Если отправлять много запросов, то возможна ситуация, когда запросы будут выполняться одновременно: Пользователь: хочу Хочу перевести Запрос N перевести 10 000 рублей на Запрос N+1 1000 рублей на свой же свой же счет счет Проверка Проверка наличия наличия необходимой необходимой суммы суммы Зачисление денег Зачисление денег Profit! $$$
  • 22. Race condition Если отправлять много запросов, то возможна ситуация, когда запросы будут выполняться одновременно: Пользователь: хочу Хочу перевести Запрос N перевести 10 000 рублей на Запрос N+1 1000 рублей на свой же свой же счет счет Приложение: Проверяю… у пользователя 10 000 рублей, Проверка достаточно для перевода. Проверка наличия наличия необходимой необходимой суммы суммы Зачисление денег Зачисление денег Profit! $$$
  • 23. Race condition Если отправлять много запросов, то возможна ситуация, когда запросы будут выполняться одновременно: Пользователь: хочу Хочу перевести Запрос N перевести 10 000 рублей на Запрос N+1 1000 рублей на свой же свой же счет счет Приложение: Проверяю… у пользователя 10 000 Проверка рублей, достаточно для Проверка наличия перевода. наличия необходимой необходимой суммы …. суммы Перевожу необходимую сумму (баланс=0 рублей) Зачисление денег Зачисление денег Profit! $$$
  • 24. Race condition Если отправлять много запросов, то возможна ситуация, когда запросы будут выполняться одновременно: Пользователь: хочу Хочу перевести Запрос N перевести 10 000 рублей на Запрос N+1 1000 рублей на свой же свой же счет счет Приложение: Проверяю… у пользователя 10 000 рублей, Проверка достаточно для перевода. Проверка наличия …. наличия необходимой необходимой суммы Перевожу необходимую суммы сумму (баланс=0 рублей) …. Начисляю необходимую сумму (Запрос N: + 10 000, Зачисление денег Запрос N+1: +10 000) Зачисление денег Profit! $$$
  • 26. XML External Entity Уязвимость позволяет внедрять XML-код, и, как следствие: Читать файлы на сервере Сканировать ресурсы внутренней сети посредством HTTP-, SMB-, FTP- запросов Реализовать отказ в обслуживании Читать файлы общедоступных ресурсов на базе Windows (hostC$) …
  • 28. Хотите пример из продуктивной системы? Милочка, а проверьте-ка систему ДБО нашего банка Да, сэр через полчаса… Да тут же SQL-инъекция! Грубейшая ошибка разработки веб-приложения!
  • 29. А ведь можно было бы… По содержимому базы проанализировать платежи: порядок обработки, статусы, суммы, получатели
  • 30. А ведь можно было бы… По содержимому базы проанализировать платежи: порядок обработки, статусы, суммы, получатели Найти клиентов, периодически переводящих крупные суммы в пределах установленных лимитов
  • 31. А ведь можно было бы… По содержимому базы проанализировать платежи: порядок обработки, статусы, суммы, получатели Найти клиентов, периодически переводящих крупные суммы в пределах установленных лимитов Выбрать тех, где не подключена услуга SMS- оповещения (например, сосредоточиться на некарточных счетах)
  • 32. А ведь можно было бы… По содержимому базы проанализировать платежи: порядок обработки, статусы, суммы, получатели Найти клиентов, периодически переводящих крупные суммы в пределах установленных лимитов Выбрать тех, где не подключена услуга SMS- оповещения (например, сосредоточиться на некарточных счетах) Создать свой платеж, присвоив ему нужный статус, или просто подменить реквизиты платежа, уже готового к отправке в АБС
  • 33. А ведь можно было бы… По содержимому базы проанализировать платежи: порядок обработки, статусы, суммы, получатели Найти клиентов, периодически переводящих крупные суммы в пределах установленных лимитов Выбрать тех, где не подключена услуга SMS- оповещения (например, сосредоточиться на некарточных счетах) Создать свой платеж, присвоив ему нужный статус, или просто подменить реквизиты платежа, уже готового к отправке в АБС Profit!
  • 34. Заключение Большинство систем ДБО имеют серьезные уязвимости
  • 35. Заключение Большинство систем ДБО имеют серьезные уязвимости Эксплуатация уязвимостей часто бывает не такой уж сложной
  • 36. Заключение Большинство систем ДБО имеют серьезные уязвимости Эксплуатация уязвимостей часто бывает не такой уж сложной Тем важнее их своевременно обнаружить и устранить
  • 37. Заключение Проблема Решение Реализовать эффективный алгоритм генерации идентификаторов пользователей, которые не были бы легко угадываемы (например, идентификатор может включать символы, зависящие от имени пользователя) Устранить уязвимости, связанные с раскрытием информации об используемых идентификаторах (исправить код приложения, что и где править – расскажем :) ) Реализовать строгую парольную политику (задать длину и сложность пароля, периодичность Возможен обход смены пароля, невозможность использования предыдущих паролей, а также легко угадываемых механизма словарных паролей) аутентификации Использовать правильную CAPTCHA (не передавать код CAPTCHA вместе со страницей; «шум» должен мешать не человеку, а машине; и т.п.) Реализовать блокировку попыток подбора данных (при этом блокировка должна зависеть как от частоты попыток подбора и количества неправильно введенных паролей, так и от количества неправильно введенных идентификаторов, чтобы избежать блокировки легитимных пользователей) …. Реализовать эффективный алгоритм генерации OTP Устранить недостатки в логике авторизации: OTP должен обязательно требоваться для всех Возможен обход транзакций, вне зависимости от суммы, времени суток, или индивидуальных настроек механизма авторизации пользователей по OTP Обеспечить защиту от подбора OTP (при каждом вводе неправильного значения OTP меняется) … Обеспечить невозможность одновременного доступа к данным с целью изменения для разных Race потоков или разных компонентов приложения (использовать блокировку данных на время Condition обработки) Обеспечить проверку и фильтрацию входных данных от пользователя (экранирование специальных символов) XXE При необходимости использования XML запретить поддержку внешних сущностей (External Entity) и DTD ….
  • 38. Спасибо за внимание! Евгения Поцелуевская epotseluevskaya@ptsecurity.ru