Alexey Sintsov - Where do the money lie

60
Где лежат деньги? © 2002—2011 , Digital Security Алексей Синцов Руководитель Департамента Аудита ИБ Digital Security

description

International Security Conference "ZeroNights 2011" - http://www.zeronights.org/

Transcript of Alexey Sintsov - Where do the money lie

Page 1: Alexey Sintsov - Where do the money lie

Где лежат деньги?

© 2002—2011 , Digital Security

Алексей Синцов

Руководитель Департамента Аудита ИБ

Digital Security

Page 2: Alexey Sintsov - Where do the money lie

#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: Alexey Sintsov - Where do the money lie

$$$

© 2002—2011, Digital Security

Где лежат деньги?

Где можно поднять немного РЕАЛЬНЫХ

денег ?

Клиенты:

Банковские Карты

Клиенты: ДБО ТСП: Шопы

Мерчанты

Банки: ДБО/АБС

Процессинги

Page 4: Alexey Sintsov - Where do the money lie

$$$

© 2002—2011, Digital Security

Где лежат деньги?

Где можно поднять немного РЕАЛЬНЫХ

денег ?

Клиенты:

Банковские Карты

Клиенты: ДБО ТСП: Шопы

Мерчанты

Банки: ДБО/АБС

Процессинги

Page 5: Alexey Sintsov - Where do the money lie

Цель - ПО Банка

© 2002—2011, Digital Security

• Мало информации

• Инциденты - не было/неизвестны/скрыты (нужное подчеркнуть)

• Ответственность Банка

• Будущие цели …

Где лежат деньги?

Page 6: Alexey Sintsov - Where do the money lie

Как это работает

© 2002—2011, Digital Security

Где лежат деньги?

Ы

Операционная

Система

Ы

WEB-сервер

WEB-

приложение

Ы

Операционная

Система

СУБД

Ы

Операционная

Система

Ы

Браузер

ActiveX

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

Ы

Операционная

Система

АБС/СУБД

Page 7: Alexey Sintsov - Where do the money lie

. . .

© 2002—2011, Digital Security

Где лежат деньги?

Page 8: Alexey Sintsov - Where do the money lie

Так где лежат деньги?

© 2002—2011, Digital Security

Где лежат деньги?

Page 9: Alexey Sintsov - Where do the money lie

Так где лежат деньги?

© 2002—2011, Digital Security

Где лежат деньги?

АБС - счета клиентов и все самое ценное там

Процессинг - работа с картами

WEB SOFT RDBMS SOFT RDBMS

\\Деньги тут

Page 10: Alexey Sintsov - Where do the money lie

Атака в лоб…. WEB

© 2002—2011, Digital Security

Где лежат деньги?

• В 90% отечественных ДБО есть/были XSS

• SQLi - то же бывают

^^^^^^^^^^^^^^^^^^^^^^^^^^^

…это и так все знают (Правда?)

Page 11: Alexey Sintsov - Where do the money lie

Атака в лоб…. WEB

© 2002—2011, Digital Security

Где лежат деньги?

• В 90% отечественных ДБО есть/были XSS

• SQLi - то же бывают

^^^^^^^^^^^^^^^^^^^^^^^^^^^

…это и так все знают (Правда?)

• Ошибки авторизации

(местами их и вовсе не бывает)

• Раскрытие данных

• Ошибки АРХИТЕКТУРЫ

• И многое другое……..

Не слишком ли много для такого

критичного продукта?

Page 12: Alexey Sintsov - Where do the money lie

Хотите примеров? Их есть у меня!

© 2002—2011, Digital Security

Где лежат деньги?

ДБО для физ. лиц (pre-auth):

> GET /online/usersPANList.jsp?uname=OAOKlient3 HTTP/1.1

> ….

> ….

< 200 OK HTTP/1.1

< ….

< PAN[0]=4234567890123456

< PAN[1]=4234567890123457

< ….

Получаем карты без аутентификации…

Кстати, PCI DSS НЕ работает тут…

Page 13: Alexey Sintsov - Where do the money lie

Хотите примеров? Их есть у меня ещё!

© 2002—2011, Digital Security

Где лежат деньги?

ДБО для юр. лиц (post-auth):

GET /online/userinfo.jsp?uid=1478 HTTP/1.1

• Это было c CitiBank недавно….

GET /online/main_template.jsp?uid=1478 HTTP/1.1

• Доступ к ЧУЖИМ шаблонам страниц

• С возможностью ИЗМЕНЕНИЯ

• С уязвимостью типа stored XSS …

Инфицирование всех профелей

EPIC FAIL

Page 14: Alexey Sintsov - Where do the money lie

Баги-багами, а деньги-то где?

© 2002—2011, Digital Security

Где лежат деньги?

Для примера c физ. лицами :

• CSRF для получения данных виртуальных карт CVV2 …

• HolderName = Virtual Card

• EXP. Date = + 1 месяц

// Если не вируталка, то все кроме CVV2

Profit!

Для примера с юр лицами:

- ЭЦП ставит клиент на своем ПК!

- Баги на сервере НЕ могут влиять на ключ клиента.

- Деньги не украсть?

P.S.

• Мы говорим о клиенте который защищен и не затроянен.

• Используем только дыры на ДБО.

Page 15: Alexey Sintsov - Where do the money lie

XSS vs. Token

© 2002—2011, Digital Security

Где лежат деньги?

XSS

-> OOO “WikiLeaks”

-> 3.000 RUR

Page 16: Alexey Sintsov - Where do the money lie

XSS vs. Token

© 2002—2011, Digital Security

Где лежат деньги?

Troll-in-the-Browser

-> OOO “WikiLeaks”

-> 3.000 RUR

Page 17: Alexey Sintsov - Where do the money lie

XSS vs. Token

© 2002—2011, Digital Security

Где лежат деньги?

<- OOO “WikiLeaks”

<- 3.000 RUR

<- OOO “RogaKopyta”

<- 3.000 RUR

Bender-in-the-Browser

Page 18: Alexey Sintsov - Where do the money lie

XSS vs. Token

© 2002—2011, Digital Security

Где лежат деньги?

<- OOO “WikiLeaks”

<- 3.000 RUR

<- OOO “RogaKopyta”

<- 3.000 RUR

Подписать

Bender-in-the-Browser

Page 19: Alexey Sintsov - Where do the money lie

XSS vs. Token

© 2002—2011, Digital Security

Где лежат деньги?

<- OOO “WikiLeaks”

<- 3.000 RUR

-> OOO “RogaKopyta”

-> 3.000 RUR

-> Sign

Подписать

Bender-in-the-Browser

Page 20: Alexey Sintsov - Where do the money lie

XSS vs. Token

© 2002—2011, Digital Security

Где лежат деньги?

<- OOO “WikiLeaks”

<- 3.000 RUR

<- Статус: подписано

-> OOO “RogaKopyta”---- >

-> 3.000 RUR ---- >

-> Sign ---- >

Отправить

Bender-in-the-Browser

Page 21: Alexey Sintsov - Where do the money lie

XSS vs. Token

© 2002—2011, Digital Security

Где лежат деньги?

<- OOO “WikiLeaks”

<- 3.000 RUR

<- Статус: Выполнено

<- OOO “RogaKopyta”

<- 3.000 RUR

<- Статус: Выполнено

Bender-in-the-Browser

Page 22: Alexey Sintsov - Where do the money lie

Решение 1: Уведомление по второму каналу

© 2002—2011, Digital Security

Где лежат деньги?

Troll-in-the-Browser

<- OOO “WikiLeaks”

<- 3.000 RUR

-> OOO “RogaKopyta”

-> 3.000 RUR

-> Подготовить

Подготовить!

1. SHA1(in + RND)

= hash

2. Send SMS

Page 23: Alexey Sintsov - Where do the money lie

Решение 1: Уведомление по второму каналу

© 2002—2011, Digital Security

Где лежат деньги?

Troll-in-the-Browser

<- OOO “WikiLeaks”

<- 3.000 RUR

-> OOO “RogaKopyta”

-> 3.000 RUR

-> Подготовить

Отмена!

1. SHA1(in + RND)

= hash

2. Send SMS

3. Send hash for sign

-> OOO “RogaKopyta”

-> 3.000 RUR

-> OOO “RogaKopyta”

-> 3.000 RUR

-> hash

Page 24: Alexey Sintsov - Where do the money lie

Решение 1: Уведомление по второму каналу

© 2002—2011, Digital Security

Где лежат деньги?

Troll-in-the-Browser

<- OOO “WikiLeaks”

<- 3.000 RUR

-> OOO “RogaKopyta”

-> 3.000 RUR

-> Подготовить

Отмена!

1. SHA1(in + RND)

= hash

2. Send SMS

3. Send hash for sign

+ OTP

-> OOO “RogaKopyta”

-> 3.000 RUR + OTP

Page 25: Alexey Sintsov - Where do the money lie

Решение 2: Токен с дисплеем

© 2002—2011, Digital Security

Где лежат деньги?

Troll-in-the-Browser

<- OOO “WikiLeaks”

<- 3.000 RUR

-> OOO “RogaKopyta”

-> 3.000 RUR

-> Sign

Отмена!

^ ^ ^

| | |

Page 26: Alexey Sintsov - Where do the money lie

SMS - OTP

© 2002—2011, Digital Security

Где лежат деньги?

SuperBankInfo:

Перевод:

3.000 руб

на счет:

400810000010010

Page 27: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

Кому

Сколько

Сессия

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Page 28: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

Кому

Сколько

Сессия

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Page 29: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

Кому

Сколько

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Принято

Кому

Сколько

Id

Status:0

Page 30: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

id

Подпись

Сессия

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:0

Page 31: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

id

Подпись

Сессия

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:0

Page 32: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

id

Подпись

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:1

UID.pub

Подписано

Page 33: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

id

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:1

INSERT INTO ABS.docz …

FROM DBO.docz

WHERE status=1

Кому

Сколько

Id_ABS

Page 34: Alexey Sintsov - Where do the money lie

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

id

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:2

Доставлено

Кому

Сколько

Id_ABS

Page 35: Alexey Sintsov - Where do the money lie

Кому

Сколько

Id_ABS

Кое-что об АБС

© 2002—2011, Digital Security

Где лежат деньги?

id

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:3

Ваше желание

исполнено!

Page 36: Alexey Sintsov - Where do the money lie

Атака с учетом архитектуры

© 2002—2011, Digital Security

Где лежат деньги?

• Обход проверки ЭЦП

• Не спасут Токены

• Не спасут Токены с дисплеем

• Уведомления - постфактум (DoS via SMS)

Page 37: Alexey Sintsov - Where do the money lie

Атака

© 2002—2011, Digital Security

Где лежат деньги?

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Сессия

Page 38: Alexey Sintsov - Where do the money lie

Отсылка без ЭЦП…

© 2002—2011, Digital Security

Где лежат деньги?

Кому

Сколько

Сессия

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Page 39: Alexey Sintsov - Where do the money lie

Жаль, что нет ключа у нас

© 2002—2011, Digital Security

Где лежат деньги?

Кому

Сколько

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Принято

Кому

Сколько

Id

Status:0

Page 40: Alexey Sintsov - Where do the money lie

SQLi против АБС

© 2002—2011, Digital Security

Где лежат деньги?

Id; update …

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:1

‘; update … set status =1

Page 41: Alexey Sintsov - Where do the money lie

INSERT INTO ABS.docz …

FROM DBO.docz

WHERE status=1

Троллим АБС

© 2002—2011, Digital Security

Где лежат деньги?

id

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:1

Кому

Сколько

Id_ABS

Page 42: Alexey Sintsov - Where do the money lie

Платежка ушла

© 2002—2011, Digital Security

Где лежат деньги?

id

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:2

Доставлено

Кому

Сколько

Id_ABS

Page 43: Alexey Sintsov - Where do the money lie

Кому

Сколько

Id_ABS

… yea.

© 2002—2011, Digital Security

Где лежат деньги?

id

Browser WEB SOFT RDBMS RDBMS

\\Деньги тут

Кому

Сколько

Id

Status:3

Ваше желание

исполнено!

Page 44: Alexey Sintsov - Where do the money lie

Логика работы с Token’ом

© 2002—2011, Digital Security

Где лежат деньги?

<object … id=‘token’>

<script>

token.silent_mode=true;

var sign = token.Sing(data); //PIN из памяти…

</script>

• Подпись «на лету»

• Подпись с сохраненным PIN’ом

• Ввод PIN’а средствами JavaScript

Можно выполнить подпись на ДРУГОМ сайте и отправить

платежку, например, используя CSRF

P.S. Молчу уж про XSS…

Page 45: Alexey Sintsov - Where do the money lie

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

© 2002—2011, Digital Security

ActiveX

- SafeForScripting

- SafeForInit

- Домен

Где лежат деньги?

Page 46: Alexey Sintsov - Where do the money lie

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

© 2002—2011, Digital Security

ActiveX

- SafeForScripting

- SafeForInit

- Домен -------------> bankZ.ru <> bankckient.bankZ.ru

Где лежат деньги?

Page 47: Alexey Sintsov - Where do the money lie

Old 1DAY -

© 2002—2011, Digital Security

Где лежат деньги?

Мы уведомили производителя ДВА года назад

Но на одном из доменов обновления нет…

Page 48: Alexey Sintsov - Where do the money lie

New 0DAY -

© 2002—2011, Digital Security

Где лежат деньги?

Ошибки логики…

Свежая, но стоит ли раскрывать? --- #NOMOREFREEBUGS

Page 49: Alexey Sintsov - Where do the money lie

New 0/1DAY -

© 2002—2011, Digital Security

Где лежат деньги?

Мне нечего сказать…

p.S Не только ActiveX

Page 50: Alexey Sintsov - Where do the money lie

Выводы

© 2002—2011, Digital Security

Где лежат деньги?

• Ошибки в коде

• Ошибки в архитектуре

• Ошибки при внедрении

• Отсутствие применения существующих мер защиты (от DEP до HTTPOnly)

• Отсутствие процедур проверки ИБ

• Отсутствие процедуры распространения КРИТЧИНЫХ патчей!

• Банки НЕ информируются о наличиях проблем с ИБ в ПО!

Классические ошибки в коде + слабая архитектура + отсутствие защит = ДБО

Зато сертифицированные СКЗИ есть!

Page 51: Alexey Sintsov - Where do the money lie

Выводы

© 2002—2011, Digital Security

Где лежат деньги?

Page 52: Alexey Sintsov - Where do the money lie

Меры смягчения: СУБД

© 2002—2011, Digital Security

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

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

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

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

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

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

Где лежат деньги?

Page 53: Alexey Sintsov - Where do the money lie

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

- HttpOnly

- Secure

- Уникальный токен запроса

- SSL

- Frame Busting

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

платежной системы!

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

пользователя в Системе!

© 2002—2011, Digital Security

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

OWASP_Code_Review_Guide_Ta

ble_of_Contents

https://www.owasp.org/index.php/Clickjacking https://www.owasp.org/index.php/Cross-

Site_Request_Forgery_(CSRF)_Prevent

ion_Cheat_Sheet

Где лежат деньги?

Page 54: Alexey Sintsov - Where do the money lie

Меры смягчения: ПО

- ASLR

- DEP

- /GS

- SEHOP

- Анализ кода

- Анализ логики

- Фаззинг

© 2002—2011, Digital Security

Где лежат деньги?

https://www.securecoding.cert.org/confluence/display/s

eccode/CERT+C+Secure+Coding+Standard

https://www.securecoding.cert.org/confluence/pages/vi

ewpage.action?pageId=637 http://www.microsoft.com/security/sdl/default.aspx

Page 55: Alexey Sintsov - Where do the money lie

Процессы…

© 2002—2011, Digital Security

Где лежат деньги?

Рекомендую…

Page 56: Alexey Sintsov - Where do the money lie

Заключение

© 2002—2011, Digital Security

Где лежат деньги?

• Большая часть ДБО - содержит уязвимости. (По результатам пен-тестов,

в 100% системах были XSS уязвимости)

• Что бы обойти защиту Token’а - достаточно XSS или CSRF

• Большую часть ошибок могут поэксплуатировать НЕ специалисты (CitiBank)

• При неправильной архитектуре - ЭЦП и вовсе ‘ФИКТИВНАЯ’ защита

• Уязвимое ПО выдается не только Банку, но и его клиентам.

• Вендоры НЕ информируют Банки о наличиях проблем с ИБ в ПО!

• Системы разрабатывалась без учета возможных угроз

+

• Проблемы ИБ внутри Банка (фильтрация, сегментация, патч-менеджмент)

• Ошибки при внедрении

Деньги лежат в …

Page 57: Alexey Sintsov - Where do the money lie

• Большая часть ДБО - содержит уязвимости. (По результатам пен-тестов,

в 100% системах были XSS уязвимости)

• Что бы обойти защиту Token’а - достаточно XSS или CSRF

• Большую часть ошибок могут поэксплуатировать НЕ специалисты (CitiBank)

• При неправильной архитектуре - ЭЦП и вовсе ‘ФИКТИВНАЯ’ защита

• Уязвимое ПО выдается не только Банку, но и его клиентам.

• Вендоры НЕ информируют Банки о наличиях проблем с ИБ в ПО!

• Системы разрабатывалась без учета возможных угроз

+

• Проблемы ИБ внутри Банка (фильтрация, сегментация, патч-менеджмент)

• Ошибки при внедрении

Деньги лежат в …

Заключение

© 2002—2011, Digital Security

Где лежат деньги?

Page 58: Alexey Sintsov - Where do the money lie

Заключение

© 2002—2011, Digital Security

Где лежат деньги?

Page 59: Alexey Sintsov - Where do the money lie

Заключение

© 2002—2011, Digital Security

Где лежат деньги?

Page 60: Alexey Sintsov - Where do the money lie

www.twitter.com/asintsov

[email protected]

© 2002—2011, Digital Security