attack killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев...

25
Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или успех нападающих InfoWatch Attack Killer

Upload: others

Post on 15-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Москва, 2016 Алексей Афанасьев

Современные атаки

на веб: ошибки

защитников или успех

нападающих

InfoWatch Attack Killer

Page 2: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

ВЗГЛЯД НА ВЕБ-ПРИЛОЖЕНИЯ

Бизнес видит

возможности

$10 млрд объем российского рынка электронной

коммерции

Бизнес не интересуют

уязвимости и атаки

Безопасность видит угрозы

$4 млрд ущерб российских

компаний от хакерских атак

Безопасность несет ответственность за

инциденты

East-West Digital News, 2015 Symantec, 2015

Page 3: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Чем опасны взломы Атаки на ресурсы

По данным компаний Qrator и OnSec

Кража внутренних баз данных: учетные записи пользователей, пароли, номера карт и т.д.

Подмена содержания страниц: размещение ложной или противозаконной информации

Нарушение работоспособности сайта: удаление или искажение файлов, баз данных и т.п.

Заражение страниц

вредоносным кодом:

затем заражение посетителей ресурса через уязвимости браузера

Page 4: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Как монетизируют взломанные сайты После атаки

Кража и эксплуатация пользовательской базы продажа, рассылка спама

Установка зловредного кода и заражение посетителей ресурса вирусом

BlackSEO

Шантаж владельцев ресурса под разными предлогами

Page 5: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Web Services

Internet Internet

Application Server

Database Authentication Server

Ap

plicatio

n In

frastructu

re

Client Banking Trading Weather Email Blog

Ajax

HTML/CSS

Widget

Flash/RIA

JavaScript

DOM

XML

JSON

JSON-RPC

XML-RPC

SOAP

Services

SaaS

Open APIs

Современный веб – приложение приложений Как всё работает

Browser Stack

Structures Protocols

Server-Side

HTTP(S)

REST

Page 6: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

5 самых частых причин взлома сайтов Причины успешных взломов

Старое ПО и незащищенные тестовые стенды на периметре проекта, о которых все забыли

1

Заражение сотрудников компании, имеющих нужные доступы (пароли к FTP, SSH, VPN и т.д.)

2

Случайно опубликованные в открытом доступе учетные записи (форумы разработчиков, репозитории кода на GitHub и т.д.)

3

Глупые ошибки администрирования (сделал “как на хабре”)

4

Слабая парольная политика 5

По данным компании OnSec

Page 7: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Посетитель сайта

страницы сайта, графика, документы

Запросы и данные из форм

CMS на хостинге

Шаблоны дизайна База данных с контентом

Админ сайта

Управление контентом через админзону CMS

Как работает типовой сайт Как все работает

Page 8: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Взлома сайта через веб и не только… Как все работает

ВЗЛОМ САЙТА

Через веб

Брутфорс Эксплуатация уязвимостей

В CMS

В плагинах

В доработках

Не через веб Подрядчики

Перехват доступов

Кража доступов

Брутфорс FTP/SSH/панели

Взлом через соседей по хостингу

Компрометация сервера, VPS, облака

«Закладки»

Использование небезопасных плагинов/шаблонов

Утечка доступов

Социальная инженерия

Рассмотрим вариант взлома сайта через эксплуатацию уязвимости в коде

Page 9: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

По данным OnSec

37,75% SQL-инъекции

28,73% XSS

21,85% Другие серверные уязвимости

12,07% Атаки перебора (брутфорс) 5,8% Прочие

35% SQL и NoSQL-инъекции

28% XSS

18,4% Другие серверные уязвимости

18,6% RCE (удаленное исполнение кода)

При успешной SQL-инъекции злоумышленник получает возможность доступа к БД

2014 2015

Два года на долю SQL-инъекций приходится больше всего вредоносных запросов

SQL-инъекция является максимальной угрозой класса А1 по OWASP

Статистика 2014 и 2015 гг Атаки на ресурсы

Page 10: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Внедрение произвольного кода в SQL-запрос Атаки на ресурсы

SQL-инъекция - что это? подделка запроса к базе данных сайта

В чем опасность? • атакующий может изменить логику выполнения SQL

запроса, и получить доступ к "закрытым данным"

• часто эксплуатируется не только для взлома сайта, но и для хищения конфиденциальных данных

• такой взлом сайта может долго оставаться незамеченным для владельца и администратора сайта

Page 11: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Эксплуатация SQL-инъекций: логика работы Атаки на ресурсы

Вызывает ошибку синтаксиса SQL запроса 2

Заражение ключевой машины

Внедряет свой запрос, эксплуатируя SQL инъекцию 3

Получает учетные данные доступа к сайту из базы данных 4

Эксплуатация SQL инъекций может позволить атакующему выполнить произвольный запрос к базе данных и в результате • прочитать содержимое любых таблиц БД сайта, • удалить, изменить или добавить данные, • прочитать и/или записать локальные файлы, • выполнить произвольные команды на атакуемом сервере и т.п.

5

Подготовка к атаке Атакующий изменяет запрос, нарушая логику его выполнения 1

Page 12: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

SQL-инъекций: как это работает Атаки на веб-ресурсы

Fire

wal

l

Hardened OS

Web Server

App Server

Fire

wal

l

Dat

abas

es

Lega

cy S

yste

ms

Web

Ser

vice

s

Dir

ecto

ries

Hu

man

Res

rcs

Bill

ing

Custom Code

APPLICATION ATTACK

Net

wo

rk L

ayer

A

pp

licat

ion

Lay

er

Acc

ou

nts

Fin

ance

Ad

min

istr

atio

n

Tran

sact

ion

s C

om

mu

nic

atio

n

Kn

ow

led

ge

Mgm

t E-

Co

mm

erce

Bu

s. F

un

ctio

ns

HTTP

request

SQL

query

DB Table

HTTP

response

"SELECT * FROM

accounts WHERE

acct=‘’ OR 1=1--

’"

1. Приложение предоставляет форму ввода атакующему

2. Атакующий вводит данные атаки в форму ввода

3. Приложение передает данные атаки в БД как SQL запрос

Account Summary

Acct:5424-6066-2134-4334

Acct:4128-7574-3921-0192

Acct:5424-9383-2039-4029

Acct:4128-0004-1234-0293

4. БД выполняет запрос с данными атаки и передает результат в приложение

5. Приложение возвращает результат запроса атакующему

Account:

SKU:

Account:

SKU:

Page 13: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

SQL-инъекция: пример уязвимой формы Атаки на ресурсы

Вводим ID пользователя, получаем имя и фамилию. Функционально все работает. Что здесь не так?

Форма ввода данных

Результат работы

Page 14: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

SQL-инъекция: пример уязвимой формы Атаки на ресурсы

Что не так? Вводим вместо номера строку: 1' or 1 union select password, first_name from users where '1

Форма ввода данных

Результат работы

Page 15: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

SQL-инъекция: пример уязвимой формы Атаки на ресурсы

SQL-инъекция возможна из-за

некорректной обработки входных данных, используемых

в SQL-запросах Код функциональный, но не безопасный?

Исходный код

WHERE user_id = ‘ $id’ ”

Page 16: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Защита от SQL-инъекций Атаки на ресурсы

SQL-инъекция возможна из-за некорректной обработки входных данных, используемых в SQL-запросах

Фильтрация параметров, работающих с базой данных

Проверка валидности числовых параметров. В PHP можно использовать функцию is_numeric(n); для проверки параметра

Проверка валидности строковых параметров

Экранизация символов. В PHP можно использовать функции addslashes($str); и mysql_real_escape_string($str)

Для защиты необходима фильтрация параметров, работающих с базой данных

Такая уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании сайта…

Page 17: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Система контроля качества кода Вариант решения

По данным компаний Qrator и OnSec

Анализ Выполняет анализ исходного кода веб-приложения на основе статических технологий (SAST)

1

База шаблонов Анализ происходит с использованием регулярно пополняемой базы шаблонов уязвимостей

2

Добавление шаблонов Добавление в базу закладок шаблоны, специфичные для бизнеса организации

3

Отчетность После сканирования кода клиент получает отчет с рекомендациями по исправлению ошибок

4

Важно: непрерывность контроля постоянно меняющихся объектов защиты

Page 18: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Сканеры Вариант решения

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

Активный сканер Собирает сетевой периметр приложения (хосты, домены, порты — и связи между ними). Сканирует этот периметр на предмет уязвимостей и создаем тикеты

Речекер атак Извлекает из атак вредоносные эксплойты и проверяет их активным способом, чтобы дать ответ на вопрос "Действительно ли атака направлена на существующую

уязвимость“

Page 19: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Что если…

приложение уже написано и не вами? приложение написано давно?

ЧТО ЕСЛИ ПРИЛОЖЕНИЕ “НЕЛЬЗЯ ТРОГАТЬ ВООБЩЕ”?

Уязвимости в сторонних продуктах могут

исправляться очень долго, подвергая

риску всю инфраструктуру

Пока исправление (“заплатка”) не

установлена, злоумышленники могут эксплуатировать уязвимость

… и почему не работает Защита есть

Page 20: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Современные FW: эволюция вида Выбор средства защиты

Эволюция FW –

не маркетинг, а реальная

необходимость в защите от современных сетевых

угроз

Впервые термин

Next Generation Firewall (NGFW) введен Gartner

в исследовании Defining the Next-Generation

Firewall*

WAF – необходимость использования

специальных технологий

для защиты веб-приложений (L7)

*https://www.gartner.com/doc/1204914

Page 21: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

WAF Вариант решения

Использование результатов сканирования уязвимостей • WAF использует данные, полученные от инструментов SAST, DAST, для получения

эксплойта по обнаруженной уязвимости и включения дополнительного контроля и защиты от обнаруженной угрозы

клиент

хакер

Сервер приложения

HTTP-запрос

Вектор атаки

Page 22: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Must have: виртуальный патчинг Выбор средства защиты

Принцип работы

Тут же генерирует эксплойт, то есть вызов с конкретными значениями для эксплуатации обнаруженной уязвимости (а не просто отчёт о строке уязвимого кода)

2

Найденный эксплойт передается в WAF для автоматического создания виртуального патча, что позволяет «закрыть брешь» до исправления кода

3

Подготовка к атаке WAF использует данные, полученные от инструментов SAST, DAST… 1

• Минимально - ручной импорт результатов сканирования • Автоматическое реагирование на критические уязвимости, возможность повторного

сканирования, оценка “закрытия” уязвимости и применения виртуального патча

Функционал

Page 23: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

От чего еще нужно защищаться: OWASP TOP-10 Атаки на веб-ресурсы

Цель проекта OWASP — увеличение осведомленности о безопасности приложений при помощи определения наиболее критичных рисков, угрожающих организациям

Page 24: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Что мы ожидаем от системы защиты?

Непрерывная защита

регулярно изменяющихся веб-

приложений

Исключение человеческого фактора

благодаря автоматизации работы всех

систем защиты

Единый веб-интерфейс

управления и получения отчетности

Синергия различных технологий

передача информации об атакующих и

уязвимостях между применяемыми

различными решениями

Page 25: Attack Killer - bis-expert.ru€¦ · Москва, 2016 Алексей Афанасьев Современные атаки на веб: ошибки защитников или

Спасибо за внимание!

Ваши вопросы?

[email protected] Алексей

Афанасьев

Москва, 2016