Разработка ДБО: что нужно...

19
Разработка ДБО: Разработка ДБО: что что нужно сделать, нужно сделать, чтобы чтобы Вас не взломали Вас не взломали © 2002—2010 , Digital Security Алексей Синцов Руководитель департамента аудита ИБ, Digital Security

Transcript of Разработка ДБО: что нужно...

Page 1: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Разработка ДБО: Разработка ДБО: что что нужно сделать, нужно сделать,

чтобы чтобы Вас не взломалиВас не взломали

© 2002—2010 , Digital Security

Алексей СинцовРуководитель департамента аудита ИБ,Digital Security

Page 2: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

#whoami

© 2002—2011, Digital Security

Digital Security:• Аудит/Тест на проникновение (ISO/PCI/PA–DSS и бла-бла-бла)• Анализ защищенности ERP/SAP/ ДБОДБО/Citrix/VMware• Разработка «специализированного софта»• Поиск ошибок и уязвимостей (DSECRG)• Поиск путей эксплуатации

Журнал XAKEP:• Когда-то: колонка «Обзор Эксплойтов»• Статьи на тему разработки эксплойтов и тестовна проникновение

Люблю поболтать:• CONFidence 2011 Krakow• Hack In The Box 2010 Amsterdam• Chaos Construction 2011 СПБ

Разработка ДБО: проблемы ИБ

Page 3: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

ДБО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

Ы

Операционная Система

Ы

WEB-сервер

WEBWEB--приложениеприложение

Ы

Операционная Система

СУБДСУБД

Ы

Операционная Система

Ы

Браузер

ActiveXActiveX

СЕРВЕРНАЯ ЧАСТЬ КЛИЕНТСКАЯ

Ы

Операционная Система

АБС/СУБД

Page 4: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Клиентское ПО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

• Сервер приложений для «толстого» клиента

• ActiveX

• Прочее ПО

Page 5: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Клиентское ПО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

• Установка ЭЦП

• Шифрование

• Работа с документами

• Работа с устройствами хранения ключей

Page 6: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Клиентское ПО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

ActiveXActiveX

- SafeForScripting- SafeForInit- Подпись

Page 7: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Клиентское ПО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

ActiveXActiveX

- Buffer Overflow strcpy, memcpy, etc- Format String snprintf(var1,var2,…), printf(var) - Memory Corruption malloc, free- Unsecure methods obj.readfile() fopen()

CVE-2008-1107Summary: Multiple stack-based buffer overflows in the Danske Bank e-Sec Control Module ActiveX control

(DanskeSikker.ocx) 3.1.0.48, and possibly earlier versions, allow remote attackers to execute arbitrarycode via long arguments to unspecified methods, which are not properly handled by a logging function.

Published: 04/17/2009CVSS Severity: 9.3 (HIGH)

Page 8: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Клиентское ПО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

• DEP

• ASLR

• /GS

• SafeSEH

• SEHOP

http://msdn.microsoft.com/ru-ru/security/cc448177 http://msdn.microsoft.com/en-us/magazine/cc337897.aspx

Page 9: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Клиентское ПО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

Page 10: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Клиентское ПО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

Отечественное ПО (из пяти вендоров):

2009 - Две уязвимости

2010 - Еще две уязвимости

2011 - ?

Page 11: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Не только ActiveX

Inter-PRO – HTTP прокси сервер,шифрующий трафик с помощью СКЗИ Сигнал-КОМ

В 2010 году нами были обнаружены 2 уязвимости в клиентской и серверной части ПО:

• Удаленное переполнение буфера в сервере - любой клиент может «отключить» сервер банка

• Локальное переполнение буфера в клиенте - возможность выполнять произвольный код в случае несоблюдения рекомендаций при работе с АРМ

Разработка ДБО: проблемы ИБ

© 2002—2011, Digital Security

Page 12: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Защитные механизмы ОС

Inter-PRO скомпилирован с флагом GS (защита от переполнения буфера в стеке)

Если бы не эта деталь, то было бы удаленное выполнение произвольного кода А что же в версии под Linux?

Почти никто из разработчиков не использует типовые защитные механизмы ОС: DEP, ASLR, SafeSEH, GS

Это позволяет писать вредоносное ПО для Windows XP/Vista/2008/Windows 7

Разработка ДБО: проблемы ИБ

© 2002—2011, Digital Security

Page 13: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

ActiveX от одной системы ДБО

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

Page 14: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

WEB

© 2002—2011, Digital Security

Разработка ДБО: проблемы ИБ

Ошибки в WEB:

• Межсайтовый скриптинг - Фишинг, перехват сессии и др. • Межсайтовые запросы - Обход авторизации• SQL-Инъекция - Обход аутентификации и др. • XPath-Инъекция - Обход авторизации• Внедрение кода - Выполнение кода• Логические ошибки - Обход авторизации и др.

https://www.owasp.org/index.php/Top_10_2010

Page 15: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Меры смягчения

- HttpOnly- Secure- Уникальный токен запроса- SSL- Frame Busting

XSS позволяет подменять данные и код на странице платежной системы!

CSRF позволяет выполнять действия от имени пользователя в Системе!

Разработка ДБО: проблемы ИБ

© 2002—2011, Digital Security

https://www.owasp.org/index.php/OWASP_Code_Review_Guide_Table_of_Contents

https://www.owasp.org/index.php/Clickjackinghttps://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet

Page 16: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

SSL

Разработка ДБО: проблемы ИБ

© 2002—2011, Digital Security

• Для всех форм аутентификации• Не использовать смешанный контент• Флаг ‘Secure’ для Cookie• Использовать доверенный УЦ для подписи сертификата• Использовать сильный крипто-алгоритмы

• AES• 3DES• ГОСТ• SHA1

• Использовать сертификат только на домен Системы• Использовать последний проверенные протоколы

https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheetи не только…

Page 17: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

СУБД

Разработка ДБО: проблемы ИБ

© 2002—2011, Digital Security

• Роли приложений

• Роли операторов

• Роли администраторов

• Шифрование паролей

• Хранение ЭЦП

• Хранимые процедуры

Page 18: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

Заключение

Разработка ДБО: проблемы ИБ

© 2002—2011, Digital Security

• Анализ угроз• Архитектура

• SSL• httpOnly• FrameBasting• RDBS

• Проверка исходного кода• XSS• Injections• OpenRedirects• Buffer errors

• Пост-проверки, фаззинг• XSS• Injections• Buffer errors

Page 19: Разработка ДБО: что нужно сделать,2011.secrus.org/2011/banks/sintsov-presentation.pdf · 2011. 11. 3. · Журнал XAKEP: •Когда-то: колонка

www.twitter.com/[email protected]

© 2002—2011, Digital Security