Ведущий: Эльдар Бейбутов
Интернет приложения - это интерфейс взаимодействия человеческого сознания с информационной системой. Процесс коммуникации людей и машинного кода не поддается формализации, невозможно учесть все возможные состояния системы в ручную, для этого необходимы интеллектуальные средства защиты, которые будут способны к самостоятельному обучению и принятию решений на основе многофакторных моделей. На докладе поговорим о эвристических механизмах обнаружения атак, автоматическом создании позитивной модели и поведенческом анализе.
4. Программная реализация подпроцессов.
Последовательность подпроцессов функции.
Конкретный функционал приложения.
Построение функциальности приложения
Выдача
данных
Перевод
средств
Обратная
связь
Создание и
обработка
форм
Выполнение
запросов к БД
Манипуляция
данными
.NET /
JAVA …
Python /
Perl ….
SQL / LDAP
/ SSI …
Бизнес функция
Процессная логика
Исполняемая
логика
5. Бизнес функция Процессная логика Исполняемая логика
Перевод средств
между
пользователями.
Аутентификация пользователя. query = "SELECT * FROM `users` WHERE
user = '$user' AND password = '$pass';";
Создание сессии. session_start();
$_SESSION[‘username’] = $user;
Формирование форм пользователя. echo “<html><form method=“GET”>";
print_r($_SESSION);
echo "</html></form>";
Обработка формы перевода
средств.
Списание средств по реквизитам.
Начисление средств по реквизитам.
$sender = $_SESSION[ ‘username’ ]
$amount = $_POST[ ‘amount’ ];
$receiver = $_POST[ ‘receiver’ ];
transaction($sender, $receiver, $amount);
Пример выстроенной функциональности
6. $query = "SELECT * FROM `users` WHERE user = '$_GET[ 'username' ]' AND password = ' $_GET[ ‘Password' ] ';";
$query = "SELECT * FROM `users` WHERE user = 'admin’ OR 1=1 #' AND password = '$pass';";
Атака на исполняемую логику
После внедрения данных пользователя
меняется структура / смысл запроса.
7. Угрозы исполняемой логики
Инъекции: SQL, XPATH, LDAP, SSI.
Удаленное выполнение кода
Переполнение буфера
Межсайтовое выполнение сценариев
Атака на функции форматирования строк
Расщепление HTTP-запроса
Получаемые данные логику исполнения кода.
Получаемые данные попадают в исполняемую область программы.
Используются слабые математические преобразования.
Угрозы исполняемой логики
8. Атака на процессную логику
На основе результата аутентификации
прикрепляется cookie.
По cookie создается форма перевода
средств. Ожидается прием
заполненной формы.
При обработке не проверяется
аутентичность отправителя и
авторизация доступа.
Прямое обращение к процессу обработки
формы перевода средств является
несанкционированным доступом, при
этом
Нарушение исполняемой логики не
происходит, однако угроза реализована.
Прямой доступ
9. Угрозы процессной логики
Логические атаки, недостаточная валидация процесса.
Недостаточная аутентификация.
Недостаточная авторизация.
Прямое обращение к ресурсам.
Небезопасное восстановление пароля.
Фиксация сессий.
Перебор идентификаторов доступа.
Небезопасные идентификаторы сессий.
Нет разграничения доступа.
Можно нарушить последовательность выполнения подпроцессов.
Недостаточная проверка данных от процессов других функций.
Угрозы процессной логики
10. Атака на бизнес функцию
Злоумышленник заражает пользователя
приложения по неконтролируемому
каналу данных, крадет учетную запись и от
его имени выполняет операции по
переводу средств. При этом
Нарушение процессной и исполняемой
логики не происходит, однако ущерб
нанесен.
11. Угрозы бизнес функции
Человек по середине, человек в браузере.
Вирусное заражение пользователя
Недостаточное противодействие автоматизации
Злоупотребление функциональными
возможностями
Кража учетных данных
Отказ в обслуживании
Доступ был скомпрометирован на стороне и похищен злоумышленником.
Интенсивность использования бизнес функции наносит вред бизнесу.
Взаимодействие выполняется не человеком, а автоматизировано машиной.
Угрозы бизнес функций
13. Безопасность с помощью Web Application Firewall
Машинное обучение
Эвристический анализ Корреляции
Усиление прикладного уровня
• Доступ по модели белых списков
• Защита от неизвестных уязвимостей
• Определение скрытых попыток
взлома
• Независимость от сигнатур
• Высокая эффективность
• Определение опасных функций
сайта
• Проверка по RFC
• Внедрение защищающих HTTP
заголовков
• Нормализация
• Защита процессной логики (CSRF,
Cookie protection, URL protection)
• Определение цепочек атак
• SIEM корреляции на уровне
приложения
• Заложенные правила выявления атак
• Верификация атак встроенным
сканером
HTTP
14. Защищенность бизнес
функции
Защищенность
процессной логики
Защищенность
исполняемой логики
Как хакер видит веб-приложение защищенное Web Application Firewall.
Защищенность исполняемой и
процессной логики существенно
возросла.
Но теперь самое слабое звено, это
защищенность бизнес функций, и
злоумышленники будут
прикладывать усилия для
совершения мошеннических
операций с целью нанести ущерб
и извлечь из этого выгоду.
15. Технология позволяющая защитить веб-приложение от вредоносной активности, используя машинное
изучение поведения, технологическую разведку и продвинутую корреляцию.
Интеллектуальный поведенческий анализ
219
Краулинг Отказ в
обслуживании
АвтоматизацияКража учетки Вирусное
заражение
Эксплуатация
функциональности
Машинное изучение поведения
• Уникальность запросов
• Статистика кодов ответа
• Связанные события безопасности
• Используемые методы
• Время ответа
• Временные рамки взаимодействия
• Переходы по приложению
Технологическая разведка
• Отслеживание мыши
• Сканирование устройства
• Сканирование браузерного окружения
• Доступ к скрытому от глаз функционалу
• Попытка эксплуатации симулируемых уязви
• Использование репарационных баз
С помощью развития данных атак возможно получить полный контроль над приложением и заставить его выполнять произвольную логику. Эксплуатация таких уязвимостей интересна даже в тех случаях, когда нечего красть из приложения – его можно использовать как часть ботнета или пользоваться наработанным кредитом доверия для распространения подложной информации, вирусов.
Логические атаки приводят к тому, что функции приложения могут выполняться вне зависимости от желания пользователей и даже администраторов систем. Злоумышленник может решать за других какой функционал и с какими параметрами использовать от их имени использовать, в целях извлечения для себя максимальной выгоды.
Пример:
Администратор использует для управления сетью веб-приложения подверженное атака на исполняемую логику. Это позволяет злоумышленнику подделать запрос через CSRF атаку на администратора и перехватить управление.
Информация должна предоставляться только людям, кто имеет доступ. Но так как процессы проверки и выдачи информации не связаны, можно обратиться к информации напрямую без прав.
Выдаваемые идентификаторы могут быть подвержены предсказуемости/небезопасности(в куке написано, что он админ), возможно есть возможность зафиксировать сессию.
Атака на интенсивность.
Атака на отказ в обслуживании.
Мошенничество.
Смысл в том, что бизнес функция решает определенную бизнес задачу. При разработке концепции решения этой задачи, подразумевается, что на вход будут подаваться определенные воздействия, а на выходе будет получен результат, который поможет развитию бизнеса в общем и целом. Например, возможность оставлять комментарии к продуктам и услугам на сайте ДОЛЖНА помогать делать их лучше. Но что если была слита база данных учетных записей популярного сервиса знакомств, часть пользователей которых являются и вашими клиентами тоже, при этом злоумышленник автоматизировал процедуру входа на сайт под скомпрометированной учеткой и оставления негативного комментария. В таком случае мы говорим о том, что это не помогает делать продукты и услуги лучше, потому что злоумышленник нарушил ЛОГИКУ решения бизнес задачи, то есть бизнес функции и ИЗВЛЕКАЕТ из этого прибыль.
На данном этапе атака на бизнес функцию является наиболее трудным вариантом. Писать вирусы, разрабатывать скрипты автоматизации, атаковать клиентов и скупать базы данных является дорогостоящим занятием, связанным с высоким риском.
Атака на процессную логику достаточно легко провести ввиду распространенной подверженности логическим атакам, и плохого разграничения доступа. Но им подвержены не все веб-приложения, в случае когда при разработке приложений были правильно описаны все процессы и под процессы приложения удается защититься от атак на логику.
Защищенности исполняемой логики практически нет. Взрыв технологического стека веб-приложений привел к появлению целого класса уязвимостей которым подвержены практически все приложения.
User Entity Behavior Analytics was and will be one of our most important technology which we are investing are resources. Before UEBA trend takes advantages in market our product was contain Anomaly Protector, which distinguish character of user interaction between them in one-to-many comparison. Today we strengthened this technology that helps protect web applications from malicious activity using machine learning behavior analyze, threat intelligence, peer group analytics and advanced correlation. UEBA is most important thing in Fraud prevention, working together with injected JS, it can detects anomaly automated activity and detect user anomaly behavior.