More Related Content Similar to Олег Купреев. Атаки на банковские системы: как добраться до АБС Similar to Олег Купреев. Атаки на банковские системы: как добраться до АБС (20) Олег Купреев. Атаки на банковские системы: как добраться до АБС3. ДБО защищены?
© 2002—2013, Digital Security
Атаки на банковские системы
1) Мы имеем опыт проведения тестов на проникновение почти всех
систем ДБО, представленных на российском рынке.
2) В ходе работ были выявлены множественные уязвимости в каждой из
систем ДБО.
3) В результате всех работ были выявлены векторы атак, с помощью
которых можно украсть деньги у клиентов банков (иногда – у всех
клиентов!)
3
4. © 2002—2013, Digital Security
Атаки на банковские системы
ActiveX-компоненты – специальные надстройки, устанавливаемые в
браузер (ОС) для взаимодействия с ЭЦП и токенами у клиента банка.
клиент ДБО
хакер
ActiveX. Пример 1. Заражение клиента банковским трояном
4
5. ActiveX. Пример 1. Заражение клиента банковским трояном
© 2002—2013, Digital Security
Атаки на банковские системы
клиент ДБО
хакер
Вирус у клиента = полный контроль над клиентом = кража денег у клиента
вирус
5
6. © 2002—2013, Digital Security
клиент ДБО
хакер
Вирус у клиента = полный контроль над клиентом = кража денег у клиента
вирус
ActiveX. Пример 1. Заражение клиента банковским трояном
Атаки на банковские системы
6
7. © 2002—2013, Digital Security
клиент ДБО
хакер
вирус
Вирус у клиента = полный контроль над клиентом = кража денег у клиента
ActiveX. Пример 1. Заражение клиента банковским трояном
Атаки на банковские системы
7
8. ActiveX. Пример 2. Кража ЭЦП клиента через ActiveX
© 2002—2013, Digital Security
клиент ДБО
хакер
Все еще не используете токены? Тогда мы идем к вам!
ЭЦП
Атаки на банковские системы
8
9. © 2002—2013, Digital Security
клиент ДБО
хакер
ЭЦП
ActiveX. Пример 2. Кража ЭЦП клиента через ActiveX
Все еще не используете токены? Тогда мы идем к вам!
Атаки на банковские системы
9
10. © 2002—2013, Digital Security
клиент ДБО
хакерЭЦП
ActiveX. Пример 2. Кража ЭЦП клиента через ActiveX
Все еще не используете токены? Тогда мы идем к вам!
Атаки на банковские системы
10
12. ДБО защищены?
© 2002—2013, Digital Security
В 100% компонентов ActiveX различных систем ДБО нами были
выявлены критичные уязвимости!
Почему?
1) Не поставлен процесс тестирования и анализа безопасности у
разработчиков систем ДБО
2) Уязвимости в ActiveX не так знакомы программистам, как уязвимости из
OWASP TOP 10
Атаки на банковские системы
12
13. Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
© 2002—2013, Digital Security
Оператор СУБД ДБО –
сердце всей системы
Оператор входит в систему по личному логину/паролю.
Есть ролевая модель (администраторы, операторы).
Атаки на банковские системы
13
14. © 2002—2013, Digital Security
Оператор СУБД ДБО –
сердце всей системы
Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
Оператор входит в систему по личному логину/паролю?
Есть ролевая модель (администраторы, операторы)?
Атаки на банковские системы
14
15. © 2002—2013, Digital Security
Оператор СУБД ДБО –
сердце всей системы
1) Оператор входит под привилегированной учетной записью СУБД.
2) Оператор ограничен на клиентской стороне возможностями в
интерфейсе АРМ.
3) Зашифрованный пароль хранится в текстовом файле.
Логин и пароль от dba
Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
Атаки на банковские системы
15
16. 1) Оператор входит под привилегированной учетной записью СУБД.
2) Оператор ограничен на клиентской стороне возможностями в
интерфейсе АРМ.
3) Зашифрованный пароль хранится в текстовом файле.
© 2002—2011, Digital Security
Оператор СУБД ДБО –
сердце всей системы
Логин и пароль от dba
1) Общеизвестная специфика системы
2) Пароль от СУБД зашифрован
Пример 3. Внутри банка. Насколько вы доверяете вашим операторам?
Атаки на банковские системы
16
17. ДБО защищены?
© 2002—2013, Digital Security
Пароль от СУБД зашифрован – это защита?..
1) Зашифрованное – можно расшифровать.
2) Файл с паролем от привилегированной учетной записи СУБД ДБО
должен быть доступен для чтения оператору.
1) Общеизвестная специфика системы
2) Пароль от СУБД зашифрован
Атаки на банковские системы
17
18. ДБО защищены?
© 2002—2013, Digital Security
Насколько вы доверяете вашим операторам?
Оператор = > Администратор СУБД ДБО = > Возможность украсть деньги
у любого клиента банка
Это архитектурная проблема.
В ближайшее время не стоит ждать исправлений.
Атаки на банковские системы
18
19. © 2002—2013, Digital Security
Пример 4. Опасные XSS
В 95% систем ДБО были выявлены уязвимости, позволяющие
злоумышленнику внедрять свой код JavaScript (XSS).
Не слишком ли много для столь критичного продукта?
XSS позволяет полностью контролировать то, что отображается у
пользователя, и то, что отправляется на сервер.
Злоумышленник может эмулировать действия клиента.
Злоумышленник может обойти защиту с использованием токенов.
Атаки на банковские системы
19
20. © 2002—2013, Digital Security
клиент
ДБО
Пример 4. Опасные XSS
браузер
хакер
Атаки на банковские системы
20
21. © 2002—2013, Digital Security
клиент
ДБО
Пример 4. Опасные XSS
браузер
хакер XSS
Атаки на банковские системы
21
22. © 2002—2013, Digital Security
клиент
ДБО
Пример 4. Опасные XSS
браузер
хакер
XSS
Атаки на банковские системы
22
23. © 2002—2013, Digital Security
клиент
ДБО
Пример 4. Опасные XSS
браузер
хакер
XSS
Удаленное управление,
подмена отображаемых данных
Кража денег
Атаки на банковские системы
23
24. © 2002—2013, Digital Security
ДБО
Пример 4. Опасные XSS
браузеры
хакер
клиенты
XSS
Свяжем вместе две уязвимости:
1) Хранимая XSS
2) Некорректное разграничение доступа между клиентами
Атаки на банковские системы
24
25. © 2002—2013, Digital Security
ДБО
Пример 5. Опасные XSS
браузеры
хакер
клиенты
XSS
Свяжем вместе две уязвимости:
1) Хранимая XSS
2) Некорректное разграничение доступа между клиентами
Хранимая XSS + Некорректное разграничение доступа =
Заражение всех клиентов банка JavaScript-кодом
КРАЖА ДЕНЕГ У ВСЕХ/ЛЮБОГО КЛИЕНТА БАНКА
Атаки на банковские системы
25
26. Причины проблем
© 2002—2013, Digital Security
1) Мы имеем опыт проведения тестов на проникновение почти всех
систем ДБО, представленных на российском рынке.
2) В ходе работ были выявлены множественные уязвимости в каждой из
систем ДБО.
3) В результате всех работ были выявлены векторы атак, с помощью
которых можно украсть деньги у клиентов банков
Причина?
Отсутствие поставленного процесса тестирования и анализа
безопасности систем ДБО у разработчиков
Атаки на банковские системы
26
27. Причины проблем. Пример 1
© 2002—2013, Digital Security
Отсутствие поставленного процесса тестирования и
анализа безопасности систем ДБО у разработчиков
Проведено тестирование в ДБО для Банка А.
Результаты попадают к разработчику. Разработчик выпускает патчи для
банка А.
С выходом новой версии ДБО от того же разработчика количество
аналогичных уязвимостей выросло в разы.
Атаки на банковские системы
27
28. Причины проблем. Пример 1
© 2002—2013, Digital Security
Отсутствие поставленного процесса тестирования и
анализа безопасности систем ДБО у разработчиков
Защита?
a) Защита Cookie с помощью флага HttpOnly
b) Защита Cookie с помощью флага Secure
c) Защита от XSS с помощью заголовков Content-Security-Policy
d) Защита от clickjacking-атак с помощью заголовков X-FRAME-OPTIONS
e) Защита ActiveX-компонентов за счёт внедрения ASLR, DEP и т. д.
Эти методы затрудняют проведение атак и не влияют на функционал,
но не используются в большинстве систем ДБО.
Интересно, почему?
Атаки на банковские системы
28
29. Причины проблем. Пример 2. Надежда на других?
© 2002—2013, Digital Security
Отсутствие универсальных обновлений и не поставленный
процесс распространения обновлений среди банков
Система ДБО разработчика В установлена в банках А и Б.
После аудита безопасности ДБО банка А разработчик выпустил
обновления для закрытия выявленных уязвимостей.
Через год, при проведении аудита ДБО банка Б, были выявлены те же
уязвимости, что и в банке А.
При этом у банка Б стояла последняя версия ДБО.
Разработчик выпустил специальный патч для банка А, хотя это была
общесистемная проблема.
И это распространённое поведение разработчиков.
Атаки на банковские системы
29
30. Что-то меняется?
© 2002—2013, Digital Security
4 года аудитов защищённости систем ДБО
Аудиты ДБО различных версий и внедрений от разработчиков
Ежегодно участники множества конференций с темами по проблемам
ДБО
Тенденции?
Средней уровень системы ДБО, количество уязвимостей, находимых в
ДБО, и их типы остаются на прежнем уровне
Интерес банков сильно повысился
Атаки на банковские системы
30
31. Ещё больше проблем для банков…
© 2002—2013, Digital Security
Атаки на банковские системы
Уязвимости
ДБО
Уязвимости
дополнений
к ДБО
Уязвимости
внедрения
ДБО
31
32. Внедрение – это непросто
© 2002—2013, Digital Security
Пример 1:
У нескольких протестированных банков был разрешён доступ к
административной панели из сети Интернет, причём без пароля.
Полная компрометация системы ДБО и кража денег у любого из клиентов
ДБО (или у всех).
Пример 2:
У нескольких протестированных банков отсутствовала или была
некорректно внедрена защита от CSRF-атак.
Злоумышленник имел возможность выполнять действия в ДБО от имени
клиента. Это в совокупности с другими уязвимостями приводило к краже
денег клиентов.
Атаки на банковские системы
32
33. Защита?
© 2002—2013, Digital Security
•Web Application Firewall (WAF)
•Системы мониторинга и сбора логов
•Системы проверки целостности
•IPS/IDS
•Антифрод-системы
•И т.д.
В большинстве банков отсутствуют или некорректно внедрены!
Атаки на банковские системы
33
34. Защита?
© 2002—2013, Digital Security
Web Application Firewall (WAF) – один из основных методов защиты ДБО,
даже от 0-day уязвимостей. Имеются бесплатные версии и при этом очень
качественные.
В большинстве банков отсутствует, либо некорректно внедрён, либо
некорректно настроен.
Атаки на банковские системы
хакер WAF ДБОRUS SSL
RUS SSL
34
35. Выводы
© 2002—2013, Digital Security
Банк может надеяться только на себя. У разработчика свои
интересы
Создание защищённой и безопасной системы ДБО – это процесс
Создание защищённой и безопасной системы ДБО – это
комплексный подход
Атаки на банковские системы
35
38. © 2002—2014, Digital Security
Виды мобильных приложений
По месту расположения приложения:
• SIM-приложения;
• Веб-приложения;
• Мобильные приложения.
По типу
используемой технологии
взаимодействия с сервером:
• Сетевые приложения;
• SMS-приложения;
• USSD-приложения;
• IVR-приложения.
Атаки на банковские системы
38
39. © 2002—2014, Digital Security
Мобильное банковское приложение
Атаки на банковские системы
Приложение, разработанное для определенной мобильной ОС с
использованием специализированного API, устанавливаемое в
смартфон для взаимодействия со своим банковским сервисом
СерверКлиентское устройство
Соединение
ОС
40. © 2002—2014, Digital Security
Модели злоумышленника
1. Злоумышленник с физическим
доступом к устройству.
2. Злоумышленник, не имеющий
доступ к устройству,
находящийся рядом с жертвой
3. Злоумышленник, установивший
вредоносное ПО, на устройство
жертвы.
Атаки на банковские системы
41. © 2002—2014, Digital Security
Проблема избыточности приложений
• Много функционала, не связанного напрямую с работой со
счетом
Увеличивается область атаки
Решение:
минимизировать приложение
…
…
Атаки на банковские системы
42. © 2002—2014, Digital Security
Организационные проблемы
• Проблемы в процессе разработки между заказчиком и
исполнителем
Отсутствие или слабые требования по ИБ в ТЗ
Отсутствие хорошей тестовой среды
Решение:
Рекомендации ЦБ РФ, SDL
Атаки на банковские системы
43. © 2002—2014, Digital Security
Проблема хранения данных
• Мобильные устройства часто теряют и выпускают из виду
Злоумышленник при получении физического доступа к
устройству может скачать критичные файлы
Решение: не хранить критичную информацию на устройстве,
использовать сильную криптографию
Атаки на банковские системы
44. © 2002—2014, Digital Security
Проблема работы в не доверенной среде
• Android-устройство с root-доступом
• iOS-устройство с установленным jailbreak
Встроенные механизмы безопасности ОС частично или
полностью отключены
Увеличивается вероятность заражения устройства
вредоносным кодом
Решение: предупреждать пользователя и перекладывать
ответственность на него
Атаки на банковские системы
45. © 2002—2014, Digital Security
Проблема многофакторной аутентификации
• В классической системе ДБО второй фактор часто приходит в
виде SMS на телефон
В случае мобильного банкинга при этом подходе оба фактора
приходят на одно устройство
Не поможет при наличии вируса на устройстве
Решение: смягчающей мерой может быть шифрование
передаваемого SMS или использование дополнительного
внешнего устройства
Атаки на банковские системы
46. © 2002—2014, Digital Security
Проблема распространения приложений
Проблема касается только ОС со множеством магазинов
приложений
В одном магазине легитимное приложение
В другом магазине вредоносное приложение
Решение: мониторинг магазинов приложений на наличие
подделок
Атаки на банковские системы
47. © 2002—2014, Digital Security
Проблема защиты канала передачи данных
• Мобильные устройства очень часто присоединяются к
неизвестным сетям
• Устройства имеют очень много встроенных корневых
сертификатов
При компрометации одного из встроенных сертификатов
компрометируются все данные, передаваемые по SSL
Решение: необходимо шифрование канала передачи данных,
вшитый сертификат банка (SSL Pinning)
Атаки на банковские системы
48. © 2002—2013, Digital Security
клиент ДБО
хакер
Пример 4. Мобильный банк
HTTPS/SSL
Мобильный банк. Атака типа «человек посередине» (MitM)
Атаки на банковские системы
48
49. © 2002—2013, Digital Security
клиент ДБО
хакер
Мобильный банк. Атака типа «человек посередине» (MitM)
А что делать с SSL?
Атаки на банковские системы
49
50. © 2002—2013, Digital Security
клиент ДБО
хакер
Уязвимости, связанные с SSL (самоподписанные сертификаты, некорректная
проверка имён хостов и т. д.) – примерно в 10-15% приложений
Мобильный банк. Атака типа «человек посередине» (MitM)
Атаки на банковские системы
50
51. © 2002—2013, Digital Security
клиент ДБОхакер
Хакер имеет полный контроль над трафиком между ДБО и клиентом
Кража аутентификационных данных, кража денег клиента
Мобильный банк. Атака типа «человек посередине» (MiTM)
Атаки на банковские системы
51
53. © 2002—2014, Digital Security
Проблема защиты кода
• Программы пишутся с помощью языков программирования,
которые содержат много служебной информации:
o Имена классов
o Имена функций
o Имена переменных
Упрощается анализ для потенциального злоумышленника
Упрощается поиск уязвимостей в коде
Решение: анализ кода на уязвимости, обфускация кода
Атаки на банковские системы
54. © 2002—2014, Digital Security
Рекомендации
Использовать SDL (Security Development Lifecycle)
Также касается систем ДБО
Определить минимально необходимый функционал
Грамотно использовать многофакторную аутентификацию
Обрабатывать ситуацию при работе в недоверенной среде
Использовать вшитый сертификат банка
Защищать код приложения
Атаки на банковские системы
55. © 2002—2014, Digital Security
Предварительные данные из отчета
за 2013 год (NEW)
- Можно украсть деньги из ~10% приложений для мобильного
банкинга
- Множественные ошибки на стороне сервера
- Можно дотянуться даже до АБС
- Предварительно можно оставить без мобильного банкинга
клиентов около 10 банков
Атаки на банковские системы
57. © 2002—2013, Digital Security 57
Атаки на банковские системы
Интернет банкинг на стороне клиента.
58. © 2002—2013, Digital Security
Как это работает?
58
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
59. © 2002—2013, Digital Security
Как это работает?
59
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
60. © 2002—2013, Digital Security
Как это работает?
60
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
61. © 2002—2013, Digital Security
Как это работает?
61
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
62. © 2002—2013, Digital Security
Цель
62
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
63. © 2002—2013, Digital Security
Цель
63
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
64. © 2002—2013, Digital Security
Цель
64
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
65. © 2002—2013, Digital Security 65
Атаки на банковские системы
Рабочее место оператора
Оператор DBMS
oper_login
oper_pass
dbo_admin
Аутенификация
66. © 2002—2013, Digital Security 66
Атаки на банковские системы
• dbo_admin единственный аккаунт в DBMS
• dbo_admin имеет полный доступ
• каждый оператор подключен к DBMS
напрямую
• аутентификацию пользователя проверяет
прилоежени
Dbo_admin
67. © 2002—2013, Digital Security 67
Атаки на банковские системы
dbo_admin пароль зашифрован….
Пароль
… и хранится в .cfg файле рядом с
приложением
68. © 2002—2013, Digital Security 68
Атаки на банковские системы
Цитата
“Его не возможно расшифровать!”
(c) Тех. поддержка BSS
69. © 2002—2013, Digital Security 69
Атаки на банковские системы
На практике…
RSA modulus
RSA private exp
Unusual base64 alphabet
70. © 2002—2013, Digital Security 70
Атаки на банковские системы
Дешифровщик
Well… looks like base64?
71. © 2002—2013, Digital Security 71
Атаки на банковские системы
А так же…
Аналогичная система хранения пароля
используется в других продуктах BSS с тем же
самым ключом RSA.
72. © 2002—2013, Digital Security
Malware
72
Атаки на банковские системы
ABS
WEB Server + App Server
DBMS
Operator
Operator’s environment
Get conf file
Decrypt dbo_admin pass
Wreak havoc
73. © 2002—2013, Digital Security 73
Атаки на банковские системы
Векторы для атаки
•Инсайдер
•Целевая атака
•Вирусное ПО
75. Digital Security in Moscow: +7 (495) 223-07-86
Digital Security in Saint Petersburg: +7 (812) 703-15-47
Questions?
www.dsec.ru
www.erpscan.com
info@dsec.ru