Основные вектора атак на приложения. Способы их достижения и возможные последствия

Содержание

Слайд 2

Вопросы

1. Вектора угроз,для информационных объектов.
2. Обзор основных этапов атаки на приложение.
3. Общее

Вопросы 1. Вектора угроз,для информационных объектов. 2. Обзор основных этапов атаки на
представление, об уязвимостях приложений.

Слайд 3

Вопрос №1

Вектора угроз,для информационных объектов

Вопрос №1 Вектора угроз,для информационных объектов

Слайд 4

Вектора угроз,для информационных объектов

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

Вектора угроз,для информационных объектов Для того, что бы понять все вектора угроз,
ответить на следующие вопросы:
- Что это?
- Какие цели?
- Кто это?
- Как возможно достигнуть цели?

Слайд 5

Вектора угроз,для информационных объектов

Под угрозой понимаю вероятность успешной атаки.
Под атакой на приложение,

Вектора угроз,для информационных объектов Под угрозой понимаю вероятность успешной атаки. Под атакой
понимаю такое воздействие на приложение, в результате которого будет получен несанкционированный доступ к информации, получение новых возможностей, различными способами, а так же вывод приложения в нерабочее состояние. Аналогично рассматривается атака на информационную систему или инфраструктуру.

Слайд 6

Вектора угроз,для информационных объектов

К основным целям атаки, на информационные объекты считаются:
- социально-политическая,

Вектора угроз,для информационных объектов К основным целям атаки, на информационные объекты считаются:
цель - получение закрытой информации, в социальном или политическом сегменте, а так же политическая дискредитация.
- военный шпионаж.
- деструктивная деятельность, направленная на полный захват, или «уничтожение» инфраструктуры других заинтересованных лиц.

Слайд 7

Вектора угроз,для информационных объектов

- получение экономической выгоды, через промышленный шпионаж, или деструктивную

Вектора угроз,для информационных объектов - получение экономической выгоды, через промышленный шпионаж, или
деятельность, в инфраструктуре конкурента.
- личные мотивы.

Слайд 8

Вектора угроз,для информационных объектов

Категории атакующих:
- Сканер
- Организованная кибергруппа
- Коммерческая кибергруппа
- APT(Advanced persistent

Вектора угроз,для информационных объектов Категории атакующих: - Сканер - Организованная кибергруппа -
threat)

Слайд 9

Вопрос №2

Рассмотрение основных этапов атаки на приложение

Вопрос №2 Рассмотрение основных этапов атаки на приложение

Слайд 10

Рассмотрение основных этапов атаки на приложение

Атака на информационные объекты делится на следующие

Рассмотрение основных этапов атаки на приложение Атака на информационные объекты делится на
этапы:
0. Разведка;
1. Проведение атаки;
2. Повышение привилегии;
3. Боковое перемещение;
4. Закрепление в системе;
5. Поиск критически важных данных;
6. Кража дынных;
7. Влияние на инфраструктуру

Слайд 11

Рассмотрение основных этапов атаки на приложение

Для приложения характеры только два этапа

Рассмотрение основных этапов атаки на приложение Для приложения характеры только два этапа
атаки:
- Сканирование и изучение приложения;
- Проведение атаки;
Не зависимо, является это приложение часть информационной системы, инфраструктуры или это отдельное приложение.
В зависимости от типа, класса и используемых технологии, отличаются техники и тактики проведения атаки.
Под техникой понимается набор и последовательность действий, для проведения этапа атаки.
Под тактикой понимается совокупность техник, возможных на даном этапе.

Слайд 12

Рассмотрение основных этапов атаки на приложение

Пример сканирования

Рассмотрение основных этапов атаки на приложение Пример сканирования

Слайд 13

Рассмотрение основных этапов атаки на приложение

Для проведения атаки необходимо изучить приложение,

Рассмотрение основных этапов атаки на приложение Для проведения атаки необходимо изучить приложение,
выяснить, что это за приложение, на каких технологиях, модулях, библиотеках оно построено. Какая версия самого приложения или компонентов. Необходимо это для поиска готовых техник атаки на приложения. Если нет готовых техник, для перехода на следующий этап, приложение активно изучается и тестируется.
Существует три типа тестирования приложения:
- Тестирование белого ящика;
- Тестирование серого ящика;
- Тестирование чёрного ящика;

Слайд 14

Рассмотрение основных этапов атаки на приложение

Пример, тестирования чёрного ящика

Рассмотрение основных этапов атаки на приложение Пример, тестирования чёрного ящика

Слайд 15

Рассмотрение основных этапов атаки на приложение

Техники проведение атак:
- Эксплуатация уязвимости, подтехники:
- Эксплуатация

Рассмотрение основных этапов атаки на приложение Техники проведение атак: - Эксплуатация уязвимости,
бинарной уязвимости в компилируемых низкоуровенных ЯП;
- Эксплуатация ошибок реализации в интерпретируемых ЯП;
- SQL инъекции
- Эксплуатация некорректной настройки приложения.
- Патч приложения
Чаще всего применяется комбинация из первой и второй техник. Такая техника, как патч, может применятся в других тактиках(этапах атаки).

Слайд 16

Вопрос №3

Общее представление, об уязвимостях приложений

Вопрос №3 Общее представление, об уязвимостях приложений

Слайд 17

Общее представление, об уязвимостях приложений

Уязвимость — это ошибка в реализации приложения, в

Общее представление, об уязвимостях приложений Уязвимость — это ошибка в реализации приложения,
результате которой, возможно получить непредусмотренный функционал.

Слайд 18

Общее представление, об уязвимостях приложений

По получаемому результату, уязвимости делятся на несколько категории:
-

Общее представление, об уязвимостях приложений По получаемому результату, уязвимости делятся на несколько
Утечка данных(Data leak), как правило имею слабый ущерб, но чаще всего применяются в связке, с другими классами уязвимостей.
- Отказ в обслуживании(Denial of Service,DoS), имеет более серьёзный ущерб, вызывает крах приложения.
- Удалённое выполнение кода(Remote Code Execution, RCE)
- Повышение привилегий(Privilege escalation)

Слайд 19

Общее представление, об уязвимостях приложений

router.post('/', (req, res) => { if (req.app.get('env') ===

Общее представление, об уязвимостях приложений router.post('/', (req, res) => { if (req.app.get('env')
'development') {
console.log(req.body);}
var { name, age, city, affilation } = req.body;
var handler = require(`../lib/offices/${city}`);
var { office, error } = handler.save(name, age);
msg = error && {type: 'error', code: 'HE-DOESNT-LIKE-YOU', description: error} ||
{type: 'success', office: office};
res.send(msg);
});

Пример уязвимого кода

Слайд 20

Общее представление, об уязвимостях приложений

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

Общее представление, об уязвимостях приложений Наиболее частой уязвимостью, всех веб-приложений, является SQL-
так как редкое веб-приложение обходится без базы данных. Возникает уязвимость в результат не корректной обработки параметров, вводимых пользователем и формирование из них запроса в БД.

Слайд 21

Общее представление, об уязвимостях приложений

$user = $_GET['user'];
$query = "SELECT * FROM news

Общее представление, об уязвимостях приложений $user = $_GET['user']; $query = "SELECT *
WHERE user='$user'";

Пример SQL-иньекции

Слайд 22

Общее представление, об уязвимостях приложений

Определить факт наличия SQL-иньекции можно через анализ логов

Общее представление, об уязвимостях приложений Определить факт наличия SQL-иньекции можно через анализ
веб-приложений, поиск необходимо производить по ключевым словам, характерных для языка SQL, таких как:
- SELECT
- FROM
- OR
- UNION
- AND
- PG_SLEEP
- и др.

Слайд 23

Общее представление, об уязвимостях приложений

GET /faces/wcnav_defaultSelection?query=query+AND+%28SELECT+*+FROM+%28SELECT%28SLEEP%285%29%29%29ZcZQ%29
GET /faces/wcnav_defaultSelection?query=query+AND+%28SELECT+*+FROM+%28SELECT%28SLEEP%285%29%29%29uaMl%29--+WfeI
GET /faces/wcnav_defaultSelection?query=query+AND+6764%3D%28SELECT+6764+FROM+PG_SLEEP%285%29%29
GET /faces/wcnav_defaultSelection?query=query+AND+8157%3D%28SELECT+8157+FROM+PG_SLEEP%285%29%29--+FQrH
GET /?query=%28SELECT++UTL_INADDR.get_host_name%28%2710.0.0.1%27%29+from+dual+union+SELECT++UTL_INADDR.get_host_name%28%2710.0.0.2%27%29+from+dual+union+SELECT++UTL_INADDR.get_host_name%28%2710.0.0.3%27%29+from+dual+union+SELECT++UTL_INADDR.get_host_name%28%2710.0.0.4%27%29+from+dual+union+SELECT++UTL_INADDR.get_host_name%28%2710.0.0.5%27%29+from+dual%29

Пример, определение SQL-иньекции

Общее представление, об уязвимостях приложений GET /faces/wcnav_defaultSelection?query=query+AND+%28SELECT+*+FROM+%28SELECT%28SLEEP%285%29%29%29ZcZQ%29 GET /faces/wcnav_defaultSelection?query=query+AND+%28SELECT+*+FROM+%28SELECT%28SLEEP%285%29%29%29uaMl%29--+WfeI GET /faces/wcnav_defaultSelection?query=query+AND+6764%3D%28SELECT+6764+FROM+PG_SLEEP%285%29%29 GET

Слайд 24

Общее представление, об уязвимостях приложений

GET ?query=%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E
GET /faces/wcnav_defaultSelection?query=%22%3E%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E%3C
GET /faces?query=%22%3E%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E%3C
GET /?query=%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E
GET ?query=%22%3E%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E%3C
GET /?query=%22%3E%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E%3C
Декодированные запросы
GET

Общее представление, об уязвимостях приложений GET ?query=%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E GET /faces/wcnav_defaultSelection?query=%22%3E%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E%3C GET /faces?query=%22%3E%3C%21--%23EXEC+cmd%3D%22dir+%5C%22--%3E%3C GET
?query=
GET /faces/wcnav_defaultSelection?query="><
GET /faces?query="><
GET /?query=
GET ?query="><
GET /?query="><