Скачать презентацию Заголовок Итак в вашем коде нашли инъекцию Positive Скачать презентацию Заголовок Итак в вашем коде нашли инъекцию Positive

Итак, в вашем коде нашли инъекцию (Ростов).pptx

  • Количество слайдов: 61

Заголовок Итак, в вашем коде нашли инъекцию… Positive Technologies Владимир Кочетков ptsecurity. com Заголовок Итак, в вашем коде нашли инъекцию… Positive Technologies Владимир Кочетков ptsecurity. com

Заголовок : ~$ whoami Руководитель отдела исследований по анализу защищённости приложений Positive Technologies App. Заголовок : ~$ whoami Руководитель отдела исследований по анализу защищённости приложений Positive Technologies App. Sec- и CS-исследователь (формальные методы анализа и защиты кода) Организатор Positive Development User Group https: //about. me/vladimir. kochetkov https: //kochetkov. github. io/ vkochetkov@ptsecurity. com 2

Заголовок Positive Development User Group Открытое сообщество разработчиков и ITспециалистов, которые стремятся создавать безопасные Заголовок Positive Development User Group Открытое сообщество разработчиков и ITспециалистов, которые стремятся создавать безопасные приложения. https: //t. me/ru_appsec 3

Заголовок Intro (1/3) Ещё один унылый доклад про параметризацию SQL-запросов? 4 Заголовок Intro (1/3) Ещё один унылый доклад про параметризацию SQL-запросов? 4

Заголовок Intro (2/3) Существует ли конечное множество правил разработки защищённых приложений? 5 Заголовок Intro (2/3) Существует ли конечное множество правил разработки защищённых приложений? 5

Заголовок Intro (3/3) Если ты хочешь построить корабль, не надо созывать людей, планировать, делить Заголовок Intro (3/3) Если ты хочешь построить корабль, не надо созывать людей, планировать, делить работу, доставать инструменты. Надо заразить людей стремлением к бесконечному морю… 6

Заголовок Инъекции – самый распространённый тип атак (1/2) https: //www. ptsecurity. com/upload/corporate/ruru/analytics/Web. App-Vulnerabilities-2017 -rus. Заголовок Инъекции – самый распространённый тип атак (1/2) https: //www. ptsecurity. com/upload/corporate/ruru/analytics/Web. App-Vulnerabilities-2017 -rus. pdf 7

Заголовок Инъекции – самый распространённый тип атак (2/2) 84, 6% https: //www. ptsecurity. com/upload/corporate/ruru/analytics/Web. Заголовок Инъекции – самый распространённый тип атак (2/2) 84, 6% https: //www. ptsecurity. com/upload/corporate/ruru/analytics/Web. App-Vulnerabilities-2017 -rus. pdf 8

Заголовок Формально об инъекциях ptsecurity. com Заголовок Формально об инъекциях ptsecurity. com

Заголовок Модель инъекции (1/7) Граница окружения 01 02 03 04 05 06 07 08 Заголовок Модель инъекции (1/7) Граница окружения 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 var a = Request. Params["a"]; var b = Request. Params["b"]; if (a == null) { return; } if (b == null) { return; } Response. Write($""); 10

Заголовок Модель инъекции (2/7) Граница окружения Точка входа a' 01 02 03 04 05 Заголовок Модель инъекции (2/7) Граница окружения Точка входа a' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 var a = Request. Params["a"]; var b = Request. Params["b"]; if (a == null) { return; } if (b == null) { return; } Response. Write($""); 11

Заголовок Модель инъекции (3/7) Граница окружения Точка входа a' Точка входа b' 01 02 Заголовок Модель инъекции (3/7) Граница окружения Точка входа a' Точка входа b' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 var a = Request. Params["a"]; var b = Request. Params["b"]; if (a == null) { return; } if (b == null) { return; } Response. Write($""); 12

Заголовок Модель инъекции (4/7) Граница окружения Точка входа a' Точка входа b' Точка выхода Заголовок Модель инъекции (4/7) Граница окружения Точка входа a' Точка входа b' Точка выхода c' = ftransform(a', b') 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 var a = Request. Params["a"]; var b = Request. Params["b"]; if (a == null) { return; } if (b == null) { return; } Response. Write($""); 13

Заголовок Модель инъекции (5/7) Граница окружения Точка входа a' 01 02 03 04 05 Заголовок Модель инъекции (5/7) Граница окружения Точка входа a' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 Точка входа b' Точка выхода c' = ftransform(a', b') fpvo(c') var a = Request. Params["a"]; var b = Request. Params["b"]; if (a == null) { return; } if (b == null) { return; } Response. Write($""); 14

Заголовок Модель инъекции (6/7) Граница окружения Точка входа a' 01 02 03 04 05 Заголовок Модель инъекции (6/7) Граница окружения Точка входа a' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 Точка входа b' Точка выхода c' = ftransform(a', b') fpvo(c') var a = Request. Params["a"]; var b = Request. Params["b"]; if (a == null) { return; } if (b == null) { return; } Response. Write($""); Точка инъекции a' 15

Заголовок Модель инъекции (7/7) Граница окружения Точка входа a' 01 02 03 04 05 Заголовок Модель инъекции (7/7) Граница окружения Точка входа a' 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 Точка входа b' Точка выхода c' = ftransform(a', b') fpvo(c') var a = Request. Params["a"]; var b = Request. Params["b"]; if (a == null) { return; } if (b == null) { return; } Response. Write($""); Точка инъекции a' Точка инъекции b' 16

Заголовок Достаточный критерий защищённости от атак инъекций Приложение защищено от атак инъекций тогда, когда Заголовок Достаточный критерий защищённости от атак инъекций Приложение защищено от атак инъекций тогда, когда в результате лексического разбора любого возможного c', количество токенов, приходящихся на точки инъекции, является константой: 2 токена 17

Заголовок Необходимый критерий защищённости от атак инъекций Приложение защищено от атак инъекций тогда, когда Заголовок Необходимый критерий защищённости от атак инъекций Приложение защищено от атак инъекций тогда, когда в результате лексического разбора любого возможного c', множества токенов, приходящихся на точки инъекции, являются авторизованными. 18

Заголовок Что может атакующий? (1/2) . . /2/a. jpg 'onerror='…; // '><script>…</script><!-- <img src='//host/1/{a}. Заголовок Что может атакующий? (1/2) . . /2/a. jpg 'onerror='…; // '>