Upload
artemageev
View
511
Download
2
Tags:
Embed Size (px)
Citation preview
Атаки на банковские системы.
Олег Купреев
Digital Security
© 2002—2013, Digital Security
Атаки на банковские системы
Атаки на ДБО
2
ДБО защищены?
© 2002—2013, Digital Security
Атаки на банковские системы
1) Мы имеем опыт проведения тестов на проникновение почти всех систем ДБО, представленных на российском рынке.
2) В ходе работ были выявлены множественные уязвимости в каждой из систем ДБО.
3) В результате всех работ были выявлены векторы атак, с помощью которых можно украсть деньги у клиентов банков (иногда – у всех клиентов!)
3
© 2002—2013, Digital Security
Атаки на банковские системы
ActiveX-компоненты – специальные надстройки, устанавливаемые в браузер (ОС) для взаимодействия с ЭЦП и токенами у клиента банка.
клиент ДБО
хакер
ActiveX. Пример 1. Заражение клиента банковским трояном
4
ActiveX. Пример 1. Заражение клиента банковским трояном
© 2002—2013, Digital Security
Атаки на банковские системы
клиент ДБО
хакер
Вирус у клиента = полный контроль над клиентом = кража денег у клиента
вирус
5
© 2002—2013, Digital Security
клиент ДБО
хакер
Вирус у клиента = полный контроль над клиентом = кража денег у клиента
вирус
ActiveX. Пример 1. Заражение клиента банковским трояном
Атаки на банковские системы
6
© 2002—2013, Digital Security
клиент ДБО
хакер
вирус
Вирус у клиента = полный контроль над клиентом = кража денег у клиента
ActiveX. Пример 1. Заражение клиента банковским трояном
Атаки на банковские системы
7
ActiveX. Пример 2. Кража ЭЦП клиента через ActiveX
© 2002—2013, Digital Security
клиент ДБО
хакер
Все еще не используете токены? Тогда мы идем к вам!
ЭЦП
Атаки на банковские системы
8
© 2002—2013, Digital Security
клиент ДБО
хакер
ЭЦП
ActiveX. Пример 2. Кража ЭЦП клиента через ActiveX
Все еще не используете токены? Тогда мы идем к вам!
Атаки на банковские системы
9
© 2002—2013, Digital Security
клиент ДБО
хакерЭЦП
ActiveX. Пример 2. Кража ЭЦП клиента через ActiveX
Все еще не используете токены? Тогда мы идем к вам!
Атаки на банковские системы
10
«Заманиваем» клиентов
© 2002—2013, Digital Security
клиент
Любой сайт
хакер
Атаки на банковские системы
11
ДБО защищены?
© 2002—2013, Digital Security
В 100% компонентов ActiveX различных систем ДБО нами были выявлены критичные уязвимости!
Почему?
1) Не поставлен процесс тестирования и анализа безопасности у разработчиков систем ДБО
2) Уязвимости в ActiveX не так знакомы программистам, как уязвимости из OWASP TOP 10
Атаки на банковские системы
12
Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
© 2002—2013, Digital Security
Оператор СУБД ДБО – сердце всей системы
Оператор входит в систему по личному логину/паролю.Есть ролевая модель (администраторы, операторы).
Атаки на банковские системы
13
© 2002—2013, Digital Security
Оператор СУБД ДБО – сердце всей системы
НЕТ
Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
Оператор входит в систему по личному логину/паролю?Есть ролевая модель (администраторы, операторы)?
Атаки на банковские системы
14
© 2002—2013, Digital Security
Оператор СУБД ДБО – сердце всей системы
1) Оператор входит под привилегированной учетной записью СУБД.2) Оператор ограничен на клиентской стороне возможностями в интерфейсе АРМ.3) Зашифрованный пароль хранится в текстовом файле.
Логин и пароль от dba
Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
Атаки на банковские системы
15
1) Оператор входит под привилегированной учетной записью СУБД.2) Оператор ограничен на клиентской стороне возможностями в интерфейсе АРМ.3) Зашифрованный пароль хранится в текстовом файле.
© 2002—2011, Digital Security
Оператор СУБД ДБО – сердце всей системы
Логин и пароль от dba
1) Общеизвестная специфика системы2) Пароль от СУБД зашифрован
Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
Атаки на банковские системы
16
ДБО защищены?
© 2002—2013, Digital Security
Пароль от СУБД зашифрован – это защита?..
1) Зашифрованное – можно расшифровать.
2) Файл с паролем от привилегированной учетной записи СУБД ДБО должен быть доступен для чтения оператору.
1) Общеизвестная специфика системы2) Пароль от СУБД зашифрован
Атаки на банковские системы
17
ДБО защищены?
© 2002—2013, Digital Security
Насколько вы доверяете вашим операторам?
Оператор = > Администратор СУБД ДБО = > Возможность украсть деньги у любого клиента банка
Это архитектурная проблема. В ближайшее время не стоит ждать исправлений.
Атаки на банковские системы
18
© 2002—2013, Digital Security
Пример 4. Опасные XSS
В 95% систем ДБО были выявлены уязвимости, позволяющие злоумышленнику внедрять свой код JavaScript (XSS).
Не слишком ли много для столь критичного продукта?
XSS позволяет полностью контролировать то, что отображается у пользователя, и то, что отправляется на сервер.
Злоумышленник может эмулировать действия клиента.Злоумышленник может обойти защиту с использованием токенов.
Атаки на банковские системы
19
© 2002—2013, Digital Security
клиентДБО
Пример 4. Опасные XSS
браузер
хакер
Атаки на банковские системы
20
© 2002—2013, Digital Security
клиентДБО
Пример 4. Опасные XSS
браузер
хакер XSS
Атаки на банковские системы
21
© 2002—2013, Digital Security
клиентДБО
Пример 4. Опасные XSS
браузер
хакер
XSS
Атаки на банковские системы
22
© 2002—2013, Digital Security
клиентДБО
Пример 4. Опасные XSS
браузер
хакер
XSS
Удаленное управление,подмена отображаемых данныхКража денег
Атаки на банковские системы
23
© 2002—2013, Digital Security
ДБО
Пример 4. Опасные XSS
браузеры
хакер
клиенты
XSS
Свяжем вместе две уязвимости:1) Хранимая XSS2) Некорректное разграничение доступа между клиентами
Атаки на банковские системы
24
© 2002—2013, Digital Security
ДБО
Пример 5. Опасные XSS
браузеры
хакер
клиенты
XSS
Свяжем вместе две уязвимости:1) Хранимая XSS2) Некорректное разграничение доступа между клиентами
Хранимая XSS + Некорректное разграничение доступа = Заражение всех клиентов банка JavaScript-кодом
КРАЖА ДЕНЕГ У ВСЕХ/ЛЮБОГО КЛИЕНТА БАНКА
Атаки на банковские системы
25
Причины проблем
© 2002—2013, Digital Security
1) Мы имеем опыт проведения тестов на проникновение почти всех систем ДБО, представленных на российском рынке.
2) В ходе работ были выявлены множественные уязвимости в каждой из систем ДБО.
3) В результате всех работ были выявлены векторы атак, с помощью которых можно украсть деньги у клиентов банков
Причина?
Отсутствие поставленного процесса тестирования и анализа безопасности систем ДБО у разработчиков
Атаки на банковские системы
26
Причины проблем. Пример 1
© 2002—2013, Digital Security
Отсутствие поставленного процесса тестирования и анализа безопасности систем ДБО у разработчиков
Проведено тестирование в ДБО для Банка А. Результаты попадают к разработчику. Разработчик выпускает патчи для
банка А.
С выходом новой версии ДБО от того же разработчика количество аналогичных уязвимостей выросло в разы.
Атаки на банковские системы
27
Причины проблем. Пример 1
© 2002—2013, Digital Security
Отсутствие поставленного процесса тестирования и анализа безопасности систем ДБО у разработчиков
Защита?
a) Защита Cookie с помощью флага HttpOnlyb) Защита Cookie с помощью флага Securec) Защита от XSS с помощью заголовков Content-Security-Policyd) Защита от clickjacking-атак с помощью заголовков X-FRAME-OPTIONSe) Защита ActiveX-компонентов за счёт внедрения ASLR, DEP и т. д.
Эти методы затрудняют проведение атак и не влияют на функционал, но не используются в большинстве систем ДБО.
Интересно, почему?
Атаки на банковские системы
28
Причины проблем. Пример 2. Надежда на других?
© 2002—2013, Digital Security
Отсутствие универсальных обновлений и не поставленный процесс распространения обновлений среди банков
Система ДБО разработчика В установлена в банках А и Б.После аудита безопасности ДБО банка А разработчик выпустил
обновления для закрытия выявленных уязвимостей.
Через год, при проведении аудита ДБО банка Б, были выявлены те же уязвимости, что и в банке А.
При этом у банка Б стояла последняя версия ДБО.
Разработчик выпустил специальный патч для банка А, хотя это была общесистемная проблема.
И это распространённое поведение разработчиков.
Атаки на банковские системы
29
Что-то меняется?
© 2002—2013, Digital Security
4 года аудитов защищённости систем ДБО
Аудиты ДБО различных версий и внедрений от разработчиков
Ежегодно участники множества конференций с темами по проблемам ДБО
Тенденции?
Средней уровень системы ДБО, количество уязвимостей, находимых в ДБО, и их типы остаются на прежнем уровне
Интерес банков сильно повысился
Атаки на банковские системы
30
Ещё больше проблем для банков…
© 2002—2013, Digital Security
Атаки на банковские системы
Уязвимости ДБО
Уязвимости дополнений
к ДБО
Уязвимости внедрения
ДБО
31
Внедрение – это непросто
© 2002—2013, Digital Security
Пример 1:
У нескольких протестированных банков был разрешён доступ к административной панели из сети Интернет, причём без пароля.
Полная компрометация системы ДБО и кража денег у любого из клиентов ДБО (или у всех).
Пример 2:
У нескольких протестированных банков отсутствовала или была некорректно внедрена защита от CSRF-атак.
Злоумышленник имел возможность выполнять действия в ДБО от имени клиента. Это в совокупности с другими уязвимостями приводило к краже денег клиентов.
Атаки на банковские системы
32
Защита?
© 2002—2013, Digital Security
•Web Application Firewall (WAF)
•Системы мониторинга и сбора логов
•Системы проверки целостности
•IPS/IDS
•Антифрод-системы
•И т.д.
В большинстве банков отсутствуют или некорректно внедрены!
Атаки на банковские системы
33
Защита?
© 2002—2013, Digital Security
Web Application Firewall (WAF) – один из основных методов защиты ДБО, даже от 0-day уязвимостей. Имеются бесплатные версии и при этом очень качественные.
В большинстве банков отсутствует, либо некорректно внедрён, либо некорректно настроен.
Атаки на банковские системы
хакер WAF ДБОRUS SSL
RUS SSL
34
Выводы
© 2002—2013, Digital Security
Банк может надеяться только на себя. У разработчика свои интересы
Создание защищённой и безопасной системы ДБО – это процесс
Создание защищённой и безопасной системы ДБО – это комплексный подход
Атаки на банковские системы
35
© 2002—2013, Digital Security
36
Атаки на банковские системы
Мобильный банкинг
© 2002—2014, Digital Security
Исследования
Атаки на банковские системы
© 2002—2014, Digital Security
Виды мобильных приложений
По месту расположения приложения:• SIM-приложения;• Веб-приложения;• Мобильные приложения.
По типу используемой технологии взаимодействия с сервером:• Сетевые приложения;• SMS-приложения;• USSD-приложения;• IVR-приложения.
Атаки на банковские системы
38
© 2002—2014, Digital Security
Мобильное банковское приложение
Атаки на банковские системы
Приложение, разработанное для определенной мобильной ОС с использованием специализированного API, устанавливаемое в смартфон для взаимодействия со своим банковским сервисом
СерверКлиентское устройство
Соединение
ОС
© 2002—2014, Digital Security
Модели злоумышленника
1. Злоумышленник с физическим доступом к устройству.
2. Злоумышленник, не имеющий доступ к устройству, находящийся рядом с жертвой
3. Злоумышленник, установивший вредоносное ПО, на устройство жертвы.
Атаки на банковские системы
© 2002—2014, Digital Security
Проблема избыточности приложений
• Много функционала, не связанного напрямую с работой со счетом
Увеличивается область атаки
Решение: минимизировать приложение
…
…
Атаки на банковские системы
© 2002—2014, Digital Security
Организационные проблемы
• Проблемы в процессе разработки между заказчиком и исполнителем Отсутствие или слабые требования по ИБ в ТЗ Отсутствие хорошей тестовой среды
Решение: Рекомендации ЦБ РФ, SDL
Атаки на банковские системы
© 2002—2014, Digital Security
Проблема хранения данных
• Мобильные устройства часто теряют и выпускают из виду
Злоумышленник при получении физического доступа к устройству может скачать критичные файлы
Решение: не хранить критичную информацию на устройстве, использовать сильную криптографию
Атаки на банковские системы
© 2002—2014, Digital Security
Проблема работы в не доверенной среде
• Android-устройство с root-доступом• iOS-устройство с установленным jailbreak
Встроенные механизмы безопасности ОС частично или полностью отключены
Увеличивается вероятность заражения устройства вредоносным кодом
Решение: предупреждать пользователя и перекладывать ответственность на него
Атаки на банковские системы
© 2002—2014, Digital Security
Проблема многофакторной аутентификации
• В классической системе ДБО второй фактор часто приходит в виде SMS на телефон
В случае мобильного банкинга при этом подходе оба фактора приходят на одно устройство
Не поможет при наличии вируса на устройстве
Решение: смягчающей мерой может быть шифрование передаваемого SMS или использование дополнительного внешнего устройства
Атаки на банковские системы
© 2002—2014, Digital Security
Проблема распространения приложений
Проблема касается только ОС со множеством магазинов приложений
В одном магазине легитимное приложение В другом магазине вредоносное приложение
Решение: мониторинг магазинов приложений на наличие подделок
Атаки на банковские системы
© 2002—2014, Digital Security
Проблема защиты канала передачи данных
• Мобильные устройства очень часто присоединяются к неизвестным сетям
• Устройства имеют очень много встроенных корневых сертификатов
При компрометации одного из встроенных сертификатов компрометируются все данные, передаваемые по SSL
Решение: необходимо шифрование канала передачи данных, вшитый сертификат банка (SSL Pinning)
Атаки на банковские системы
© 2002—2013, Digital Security
клиент ДБО
хакер
Пример 4. Мобильный банк
HTTPS/SSL
Мобильный банк. Атака типа «человек посередине» (MitM)
Атаки на банковские системы
48
© 2002—2013, Digital Security
клиент ДБО
хакер
Мобильный банк. Атака типа «человек посередине» (MitM)
А что делать с SSL?
Атаки на банковские системы
49
© 2002—2013, Digital Security
клиент ДБО
хакер
Уязвимости, связанные с SSL (самоподписанные сертификаты, некорректная проверка имён хостов и т. д.) – примерно в 10-15% приложений
Мобильный банк. Атака типа «человек посередине» (MitM)
Атаки на банковские системы
50
© 2002—2013, Digital Security
клиент ДБОхакер
Хакер имеет полный контроль над трафиком между ДБО и клиентом Кража аутентификационных данных, кража денег клиента
Мобильный банк. Атака типа «человек посередине» (MiTM)
Атаки на банковские системы
51
© 2002—2013, Digital Security
Видео
Атаки на банковские системы
52
ВИДЕО ДЕМОНСТРАЦИЯ
© 2002—2014, Digital Security
Проблема защиты кода
• Программы пишутся с помощью языков программирования, которые содержат много служебной информации:o Имена классовo Имена функцийo Имена переменных
Упрощается анализ для потенциального злоумышленника Упрощается поиск уязвимостей в коде
Решение: анализ кода на уязвимости, обфускация кода
Атаки на банковские системы
© 2002—2014, Digital Security
Рекомендации
Использовать SDL (Security Development Lifecycle) Также касается систем ДБО
Определить минимально необходимый функционал Грамотно использовать многофакторную аутентификацию Обрабатывать ситуацию при работе в недоверенной среде Использовать вшитый сертификат банка Защищать код приложения
Атаки на банковские системы
© 2002—2014, Digital Security
Предварительные данные из отчета за 2013 год (NEW)
- Можно украсть деньги из ~10% приложений для мобильного банкинга
- Множественные ошибки на стороне сервера- Можно дотянуться даже до АБС
- Предварительно можно оставить без мобильного банкинга клиентов около 10 банков
Атаки на банковские системы
© 2002—2013, Digital Security
56
Атаки на банковские системы
Как украсть миллиард?
© 2002—2013, Digital Security
57
Атаки на банковские системы
Интернет банкинг на стороне клиента.
© 2002—2013, Digital Security
Как это работает?
58
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
© 2002—2013, Digital Security
Как это работает?
59
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
© 2002—2013, Digital Security
Как это работает?
60
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
© 2002—2013, Digital Security
Как это работает?
61
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
© 2002—2013, Digital Security
Цель
62
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
SQL injection
Insider attack
© 2002—2013, Digital Security
Цель
63
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
© 2002—2013, Digital Security
Цель
64
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
© 2002—2013, Digital Security
65
Атаки на банковские системы
Рабочее место оператораОператор DBMS
oper_loginoper_pass
dbo_admin
Аутенификация
© 2002—2013, Digital Security
66
Атаки на банковские системы
• dbo_admin единственный аккаунт в DBMS• dbo_admin имеет полный доступ• каждый оператор подключен к DBMS напрямую• аутентификацию пользователя проверяет прилоежени
Dbo_admin
© 2002—2013, Digital Security
67
Атаки на банковские системы
dbo_admin пароль зашифрован….
Пароль
… и хранится в .cfg файле рядом с приложением
© 2002—2013, Digital Security
68
Атаки на банковские системы
Цитата
“Его не возможно расшифровать!” (c) Тех. поддержка
BSS
© 2002—2013, Digital Security
69
Атаки на банковские системы
На практике…
RSA modulus
RSA private exp
Unusual base64 alphabet
© 2002—2013, Digital Security
70
Атаки на банковские системы
Дешифровщик
Well… looks like base64?
© 2002—2013, Digital Security
71
Атаки на банковские системы
А так же…
Аналогичная система хранения пароля используется в других продуктах BSS с тем же самым ключом RSA.
© 2002—2013, Digital Security
Malware
72
Атаки на банковские системы
ABS
WEB Server + App ServerDBMS
OperatorOperator’s environment
Get conf file
Decrypt dbo_admin pass
Wreak havoc
© 2002—2013, Digital Security
73
Атаки на банковские системы
Векторы для атаки
•Инсайдер
•Целевая атака
•Вирусное ПО
© 2002—2013, Digital Security
74
Атаки на банковские системы
Итого
Digital Security in Moscow: +7 (495) 223-07-86
Digital Security in Saint Petersburg: +7 (812) 703-15-47
Questions?
www.dsec.ruwww.erpscan.com