SlideShare a Scribd company logo
1 of 60
Автоматическая генерация
патчей для уязвимого
исходного кода
Владимир Кочетков
Application Inspector/Compiling Applications Analysis/Team Lead
Positive Technologies
Positive Hack Days V
Disclaimer
Кто мы?
Разработчики PT
Application Inspector!
Application Inspector
― Жесткий dogfooding
― Анализ на пределе
возможностей ?AST
― Генерация векторов атак
― Концепция «большой
красной кнопки»
― Собственная разработка
Application Inspector
― Интеграция с PT Application Firewall (aka «виртуальные
патчи»)
Но хочется большего…
Чего мы хотим?
Генерировать патчи для
уязвимого кода!!
Как поймать уязвимость?
― Знать «как не должно быть»: необходимые и достаточные
формальные признаки уязвимости
― Знать «как есть»: доказать наличие этих признаков в
анализируемом коде
― Построить по множеству
выявленных признаков
вектор атаки
Формальные признаки инъекции
― Потенциально уязвимая операция PVO(text): операция
прямой или косвенной интерпретации текста text на
формальном языке
― text = transform(argument), где argument – элемент
множества аргументов точки входа EP, а transform –
функция промежуточных преобразований
― Существует и достижимо хотя бы одно множество таких
значений элементов EP, при которых происходит
изменение структуры синтаксического дерева значения
text, достигающего PVO
Формализуемость уязвимостей к атакам
Строго формализуемые Слабо формализуемые
Injections Access Control
Buffer Overflow Session Management
Heap Overflow CSRF
Integer Overflow Concurrency
Memory Management Domain(Logical)
… …
Что у нас есть?
Symbolic Execution
Context Graph!
Disclaimer
Только обзор. Подробности будут представлены на
SIBECRYPT’15
Новосибирск, 7-12сентября 2015
Symbolic Execution Context Graph
SECG – граф, изоморфный CFG и
содержащий в каждом узле
информацию о контексте
символьного выполнения
Контекст символьного выполнения
– условие достижимости текущей
точки выполнения + множества
условных состояний всех объектов и
переменных, достижимых в текущей
области видимости
Symbolic Execution Context Graph
ε {}
Symbolic Execution Context Graph
ε {
parm' {
ε Request.Params["parm1"]
}
}
Symbolic Execution Context Graph
Request.Params["cond1"] == "true" {
parm' {
ε Request.Params["parm1"]
}
}
Symbolic Execution Context Graph
Request.Params["cond1"] != "true" {
parm' {
Request.Params["cond1"] != "true"
Request.Params["parm1"]
}
}
Symbolic Execution Context Graph
Request.Params["cond1"] != "true"
&&
Request.Params["cond2"] == "true" {
parm' {
Request.Params["cond1"] != "true"
Request.Params["parm1"]
}
}
Symbolic Execution Context Graph
Request.Params["cond1"] != "true"
&&
Request.Params["cond2"] != "true" {
parm' {
Request.Params["cond1"] != "true"
Request.Params["parm1"]
}
}
Symbolic Execution Context Graph
Request.Params["cond1"] != "true" {
parm' {
Request.Params["cond2"] == "true"
Request.Params["parm2"]
||
Request.Params["cond2"] != "true"
"<div>Harmless value</div>"
}
}
Request.Params["cond1"] != "true" {
parm' {
Request.Params["cond2"] == "true"
Request.Params["parm2"]
||
Request.Params["cond2"] != "true"
"<div>Harmless value</div>"
}
}
Symbolic Execution Context Graph
По SECG для каждой PVO выводится…
Формула уязвимости!
Формула уязвимости
Request.Params["cond1"] != "true" ⇒
Response.Write(
"<a href="" +
parm ∈ {
Request.Params["cond2"] == "true" ⇒
Request.Params["parm2"]
;
Request.Params["cond2"] != "true" ⇒
"<div>Harmless value</div>"
}
+ "">"
)
Формула уязвимости
Request.Params["cond1"] != "true" ⇒
Response.Write(
"<a href="" +
parm ∈ {
Request.Params["cond2"] == "true" ⇒
Request.Params["parm2"]
}
+ "">"
)
Формула уязвимости
Request.Params["cond1"] != "true"
&&
Request.Params["cond2"] == "true" ⇒
Response.Write(
"<a href="" + Request.Params["parm2"] + "">"
)
Формула уязвимости
Request.Params["cond1"] != "true"
&&
Request.Params["cond2"] == "true" ⇒
Response.Write(
"<a href="" + Request.Params["parm2"] + "">"
)
Какое значение Request.Params["parm2"] приведет к
выходу за пределы токена?
Определяемое типом
точки инъекции!
<a href=" ">
Тип точки инъекции вычисляется синтаксической эвристикой
в результате прохода по уязвимому выражению в обе
стороны от нее
Вычисление типа точки инъекции
Формула уязвимости
Request.Params["cond1"] != "true"
&&
Request.Params["cond2"] == "true"
&&
(Request.Params["parm2"] == ""><script>alert(0)</script>"
||
Request.Params["parm2"] == ""onmouseover="alert(0)") ⇒
Response.Write(
"<a href="" + Request.Params["parm2"] + "">"
)
Формула уязвимости
Request.Params["cond1"] != "true"
&&
Request.Params["cond2"] == "true"
&&
(Request.Params["parm2"] == ""><script>alert(0)</script>"
||
Request.Params["parm2"] == ""onmouseover="alert(0)") ⇒
Response.Write(
"<a href="" + Request.Params["parm2"] + "">"
)
В результате нахождения значений неизвестных в условии
формулы уязвимости строится…
м
м
Контекстный вектор
атаки!
Контекстный вектор атаки
Уязвимое выражение:
"<a href="" + Request.Params["parm2"] + "">"
Тип точки инъекции:
HTML: 2-quoted attribute value
Векторные переменные:
Request.Params["parm2"] = ""><script>alert(0)</script>"
Условные переменные:
Request.Params["cond1"] = "__AI_akhivldp"
Request.Params["cond2"] = "true"
Чего у нас нет?
В SECG есть все, что нам
нужно!*
* и все, что пока не нужно – тоже есть
Правильный патч
― Вносит минимум изменений
― Сохраняет семантику кода
― Решает проблему
― Не создает новых
― Знать «как не должно быть»: необходимые и достаточные
формальные признаки уязвимости
― Знать «как есть»: доказать наличие этих признаков в
анализируемом коде
― Изменив код, устранить хотя
бы один из необходимых
признаков
Как сгенерировать патч?
Устраняемые признаки инъекции
― Потенциально-уязвимая операция PVO(text): операция
прямой или косвенной интерпретации текста text на
формальном языке
― text = transform(argument), где argument – элемент
множества аргументов точки входа EP, а transform –
функция промежуточных преобразований
― Существует и достижимо хотя бы одно множество таких
значений элементов EP, при которых происходит
изменение структуры синтаксического дерева значения
text, достигающего PVO
Способы устранения инъекции
http://www.slideshare.net/kochetkov.vladimir/how-to-develop-
a-secure-web-application-and-stay-in-mind-phdays-3/87
• Типизация
• Валидация
• Санитизация
Вектор атаки vs патч
Вектор атаки Патч
Достаточно найти один путь
от точки входа до PVO и
один набор значений
векторных переменных
Необходимо найти все пути
от точки входа до PVO и все
множество наборов
значений векторных
переменных
Тип точки инъекции может
быть вычислен эвристикой
Тип точки инъекции должен
быть вычислен строго
наряду с ее семантикой
Работоспособность
приложения может быть
нарушена
Приложение должно
оставаться
работоспособным
Строгое вычисление типа точки инъекции
Шаг #1: подставляем в уязвимое выражение вместо каждого
taint-источника уникальный спецсимвол:
<a href='∅'>
Шаг #2: разбираем строку модифицированным парсером
островного языка, допускающем появление спецсимвола в
произвольном токене.
Шаг#3: Ищем в дереве разбора узлы, содержащие
спецсимвол, и по их типу определяем тип точки инъекции.
Шаг#4: По типу точки инъекции определяем ее семантику.
Opening bracket: <
Tag name: a
Attribute definition
Attribute name: href
Assignment sign
2-quoted attr. value:Closing bracket: >
Строгое вычисление типа точки инъекции
2-quoted attribute (semantic: URL) value
Сохранение семантики кода
- Приоритет контрмер:
1) Типизация
2) Санитизация
3) Валидация
- Учет всех условий достижимости PVO и значений ее
аргументов при типизации и санитизации
- Применение контрмеры точно в месте возникновения
уязвимости
Типизация
Типизация
2-quoted attribute
(semantic: URL) value
- типизация возможна
Запись в parm опасного
значения
Типизация
Санитизация
Санитизация
Text
(semantic: TEXT) value
- типизация невозможна,
возможна санитизация
Запись в parm опасного
значения
Санитизация
Валидация
Валидация
Типизация и санитизация
невозможны, возможна
валидация
Валидация
Патчи для прочих классов атак?
√ Injections
√ Buffer Overflow
√ Heap Overflow
√ Integer Overflow
? Memory Management
Attacks
? Access Control Attacks
? Session Fixation
? CSRF
x Race Conditions
x Domain(Logical) Attacks
Когда мы хотим?
Прямо сейчас!!!
{DEMO}
Вопросы?
Владимир Кочетков
vkochetkov@ptsecurity.com
@kochetkov_v
Application Inspector/Compiling Applications Analysis/Team Lead
Positive Technologies
Автоматическая генерация патчей для уязвимого исходного кода

More Related Content

What's hot

Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)Vladimir Kochetkov
 
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...Positive Hack Days
 
Современный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтерыСовременный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтерыcorehard_by
 
C++ refelection and cats
C++ refelection and catsC++ refelection and cats
C++ refelection and catscorehard_by
 
SAST, CWE, SEI CERT и другие умные слова из мира информационной безопасности
SAST, CWE, SEI CERT и другие умные слова из мира информационной безопасностиSAST, CWE, SEI CERT и другие умные слова из мира информационной безопасности
SAST, CWE, SEI CERT и другие умные слова из мира информационной безопасностиAndrey Karpov
 
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1m2rus
 
Аспектно-Ориентированный Подход
Аспектно-Ориентированный ПодходАспектно-Ориентированный Подход
Аспектно-Ориентированный Подходakopium
 
JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.Igor Shkulipa
 
Типовые уязвимости систем ДБО
Типовые уязвимости систем ДБОТиповые уязвимости систем ДБО
Типовые уязвимости систем ДБОPositive Hack Days
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov Sergey
 
Демонстрация атаки на ДБО
Демонстрация атаки на ДБОДемонстрация атаки на ДБО
Демонстрация атаки на ДБОDmitry Evteev
 
Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Yauheni Akhotnikau
 
SAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеSAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеAndrey Karpov
 
Практическое использование средств криптографии в .NET, Java и PHP
Практическое использование средств криптографии в .NET, Java и PHPПрактическое использование средств криптографии в .NET, Java и PHP
Практическое использование средств криптографии в .NET, Java и PHPVladimir Kochetkov
 
Классификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий ВасильковКлассификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий ВасильковCyber Fund
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.Igor Shkulipa
 
Blackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложенийBlackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложенийbeched
 
OpenMP и статический анализ кода
OpenMP и статический анализ кодаOpenMP и статический анализ кода
OpenMP и статический анализ кодаTatyanazaxarova
 

What's hot (19)

Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
Как разработать защищенное веб-приложение и не сойти при этом с ума? (PHDays 3)
 
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
 
Современный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтерыСовременный статический анализ кода: что умеет он, чего не умели линтеры
Современный статический анализ кода: что умеет он, чего не умели линтеры
 
C++ refelection and cats
C++ refelection and catsC++ refelection and cats
C++ refelection and cats
 
SAST, CWE, SEI CERT и другие умные слова из мира информационной безопасности
SAST, CWE, SEI CERT и другие умные слова из мира информационной безопасностиSAST, CWE, SEI CERT и другие умные слова из мира информационной безопасности
SAST, CWE, SEI CERT и другие умные слова из мира информационной безопасности
 
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1
 
Aspect Oriented Approach
Aspect Oriented ApproachAspect Oriented Approach
Aspect Oriented Approach
 
Аспектно-Ориентированный Подход
Аспектно-Ориентированный ПодходАспектно-Ориентированный Подход
Аспектно-Ориентированный Подход
 
JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.
 
Типовые уязвимости систем ДБО
Типовые уязвимости систем ДБОТиповые уязвимости систем ДБО
Типовые уязвимости систем ДБО
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
 
Демонстрация атаки на ДБО
Демонстрация атаки на ДБОДемонстрация атаки на ДБО
Демонстрация атаки на ДБО
 
Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?Для чего мы делали свой акторный фреймворк и что из этого вышло?
Для чего мы делали свой акторный фреймворк и что из этого вышло?
 
SAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в кодеSAST и Application Security: как бороться с уязвимостями в коде
SAST и Application Security: как бороться с уязвимостями в коде
 
Практическое использование средств криптографии в .NET, Java и PHP
Практическое использование средств криптографии в .NET, Java и PHPПрактическое использование средств криптографии в .NET, Java и PHP
Практическое использование средств криптографии в .NET, Java и PHP
 
Классификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий ВасильковКлассификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий Васильков
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.
 
Blackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложенийBlackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложений
 
OpenMP и статический анализ кода
OpenMP и статический анализ кодаOpenMP и статический анализ кода
OpenMP и статический анализ кода
 

Viewers also liked

Presentation for Catalyst workshop
Presentation for Catalyst workshopPresentation for Catalyst workshop
Presentation for Catalyst workshopAlex Watson
 
Techstars Kaplan EdTech Accelerator - Marketing Program
Techstars Kaplan EdTech Accelerator - Marketing ProgramTechstars Kaplan EdTech Accelerator - Marketing Program
Techstars Kaplan EdTech Accelerator - Marketing ProgramCezary Pietrzak
 
سى فى حمدي - E
سى فى حمدي - Eسى فى حمدي - E
سى فى حمدي - EHamdy Kotb
 
великая отечественная война в произведениях изо
великая отечественная война в произведениях изовеликая отечественная война в произведениях изо
великая отечественная война в произведениях изоShool
 
&&&&&&&&&&&*******!!@@##$$%%**
&&&&&&&&&&&*******!!@@##$$%%**&&&&&&&&&&&*******!!@@##$$%%**
&&&&&&&&&&&*******!!@@##$$%%**Krishna Sprinklr
 
Mobiili asiakaskokemus ja Oma Terveys -palvelu
Mobiili asiakaskokemus ja Oma Terveys -palveluMobiili asiakaskokemus ja Oma Terveys -palvelu
Mobiili asiakaskokemus ja Oma Terveys -palveluKimmo Alaraudanjoki
 
Trial Brief Defamation Per Se, Montrose
Trial Brief Defamation Per Se, MontroseTrial Brief Defamation Per Se, Montrose
Trial Brief Defamation Per Se, MontroseKyle Montrose
 
Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011
Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011
Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011DRUBAY Diane
 
Edge Presentation Ppt
Edge Presentation PptEdge Presentation Ppt
Edge Presentation PptBrendaDean
 
10 Worst Practices for SharePoint intranets
10 Worst Practices for SharePoint intranets10 Worst Practices for SharePoint intranets
10 Worst Practices for SharePoint intranetsSam Marshall
 
Pubcon 2015: Control Freak Structures for Google Shopping
Pubcon 2015: Control Freak Structures for Google ShoppingPubcon 2015: Control Freak Structures for Google Shopping
Pubcon 2015: Control Freak Structures for Google ShoppingSusan Wenograd
 
Increase selenium tests stability via java script
Increase selenium tests stability via java scriptIncrease selenium tests stability via java script
Increase selenium tests stability via java scriptIgor Khrol
 
презентация гбоу школа № 1293 профильное обучение
презентация гбоу школа № 1293 профильное обучениепрезентация гбоу школа № 1293 профильное обучение
презентация гбоу школа № 1293 профильное обучениеMichael Neshumaher
 
A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...
A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...
A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...Ogilvy
 

Viewers also liked (20)

Тигуан. рекламный каталог
Тигуан. рекламный каталогТигуан. рекламный каталог
Тигуан. рекламный каталог
 
Hoe boektrailer.nl boektrailers maakt
Hoe boektrailer.nl boektrailers maaktHoe boektrailer.nl boektrailers maakt
Hoe boektrailer.nl boektrailers maakt
 
Presentation for Catalyst workshop
Presentation for Catalyst workshopPresentation for Catalyst workshop
Presentation for Catalyst workshop
 
5° básico b semana 21 al 24 marzo
5° básico b  semana 21  al 24 marzo5° básico b  semana 21  al 24 marzo
5° básico b semana 21 al 24 marzo
 
Techstars Kaplan EdTech Accelerator - Marketing Program
Techstars Kaplan EdTech Accelerator - Marketing ProgramTechstars Kaplan EdTech Accelerator - Marketing Program
Techstars Kaplan EdTech Accelerator - Marketing Program
 
Zaragoza turismo 232
Zaragoza turismo 232Zaragoza turismo 232
Zaragoza turismo 232
 
سى فى حمدي - E
سى فى حمدي - Eسى فى حمدي - E
سى فى حمدي - E
 
великая отечественная война в произведениях изо
великая отечественная война в произведениях изовеликая отечественная война в произведениях изо
великая отечественная война в произведениях изо
 
&&&&&&&&&&&*******!!@@##$$%%**
&&&&&&&&&&&*******!!@@##$$%%**&&&&&&&&&&&*******!!@@##$$%%**
&&&&&&&&&&&*******!!@@##$$%%**
 
Mobiili asiakaskokemus ja Oma Terveys -palvelu
Mobiili asiakaskokemus ja Oma Terveys -palveluMobiili asiakaskokemus ja Oma Terveys -palvelu
Mobiili asiakaskokemus ja Oma Terveys -palvelu
 
Building a collaborative team environment
Building a collaborative team environmentBuilding a collaborative team environment
Building a collaborative team environment
 
Trial Brief Defamation Per Se, Montrose
Trial Brief Defamation Per Se, MontroseTrial Brief Defamation Per Se, Montrose
Trial Brief Defamation Per Se, Montrose
 
Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011
Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011
Cherche Tom dans la Nuit - Bilan // Nuit européenne des musées 2011
 
Edge Presentation Ppt
Edge Presentation PptEdge Presentation Ppt
Edge Presentation Ppt
 
10 Worst Practices for SharePoint intranets
10 Worst Practices for SharePoint intranets10 Worst Practices for SharePoint intranets
10 Worst Practices for SharePoint intranets
 
Pubcon 2015: Control Freak Structures for Google Shopping
Pubcon 2015: Control Freak Structures for Google ShoppingPubcon 2015: Control Freak Structures for Google Shopping
Pubcon 2015: Control Freak Structures for Google Shopping
 
Increase selenium tests stability via java script
Increase selenium tests stability via java scriptIncrease selenium tests stability via java script
Increase selenium tests stability via java script
 
презентация гбоу школа № 1293 профильное обучение
презентация гбоу школа № 1293 профильное обучениепрезентация гбоу школа № 1293 профильное обучение
презентация гбоу школа № 1293 профильное обучение
 
A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...
A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...
A Winning Real-Time Formula: Insights from Coca-Cola's Wendy Clark #CannesLio...
 
Hot Spot
Hot SpotHot Spot
Hot Spot
 

Similar to Автоматическая генерация патчей для уязвимого исходного кода

анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
 
Статический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибокСтатический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибокAndrey Karpov
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
 
Void safety on Kiev ALT.NET
Void safety on Kiev ALT.NETVoid safety on Kiev ALT.NET
Void safety on Kiev ALT.NETSergey Teplyakov
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Technopark
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Development User Group
 
Formal verification of C code
Formal verification of C codeFormal verification of C code
Formal verification of C codeDenis Efremov
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Hack Days
 
Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0akrakovetsky
 
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетковкак разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетковPositive Hack Days
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй этоRoman Dvornov
 
Полнота тестирования ПО
Полнота тестирования ПОПолнота тестирования ПО
Полнота тестирования ПОMarat Akhin
 
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)Ontico
 
Основы алгоритмического и объектно ориентированного программирования.
Основы алгоритмического и объектно ориентированного программирования.Основы алгоритмического и объектно ориентированного программирования.
Основы алгоритмического и объектно ориентированного программирования.Елена Никонова
 
Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Technopark
 
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...Mail.ru Group
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011etyumentcev
 

Similar to Автоматическая генерация патчей для уязвимого исходного кода (20)

анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестирования
 
20110227 csseminar alvor_breslav
20110227 csseminar alvor_breslav20110227 csseminar alvor_breslav
20110227 csseminar alvor_breslav
 
Статический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибокСтатический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибок
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
 
Void safety on Kiev ALT.NET
Void safety on Kiev ALT.NETVoid safety on Kiev ALT.NET
Void safety on Kiev ALT.NET
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Formal verification of C code
Formal verification of C codeFormal verification of C code
Formal verification of C code
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0
 
Transpile it.pdf
Transpile it.pdfTranspile it.pdf
Transpile it.pdf
 
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетковкак разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
 
Project under control
Project under controlProject under control
Project under control
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй это
 
Полнота тестирования ПО
Полнота тестирования ПОПолнота тестирования ПО
Полнота тестирования ПО
 
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)
 
Основы алгоритмического и объектно ориентированного программирования.
Основы алгоритмического и объектно ориентированного программирования.Основы алгоритмического и объектно ориентированного программирования.
Основы алгоритмического и объектно ориентированного программирования.
 
Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2
 
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...
«Статический анализ: гордость и предубеждения», Алексей Кузьменко, аналитик И...
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011
 

More from Vladimir Kochetkov

Do WAFs dream of static analyzers
Do WAFs dream of static analyzersDo WAFs dream of static analyzers
Do WAFs dream of static analyzersVladimir Kochetkov
 
Подводные камни прикладной криптографии, I
Подводные камни прикладной криптографии, IПодводные камни прикладной криптографии, I
Подводные камни прикладной криптографии, IVladimir Kochetkov
 
Подводные камни System.Security.Cryptography
Подводные камни System.Security.CryptographyПодводные камни System.Security.Cryptography
Подводные камни System.Security.CryptographyVladimir Kochetkov
 
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Vladimir Kochetkov
 
Hack an ASP .NET website? Hard, but possible!
Hack an ASP .NET website? Hard, but possible! Hack an ASP .NET website? Hard, but possible!
Hack an ASP .NET website? Hard, but possible! Vladimir Kochetkov
 
Automated Patching for Vulnerable Source Code
Automated Patching for Vulnerable Source CodeAutomated Patching for Vulnerable Source Code
Automated Patching for Vulnerable Source CodeVladimir Kochetkov
 
How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)
How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)
How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)Vladimir Kochetkov
 

More from Vladimir Kochetkov (7)

Do WAFs dream of static analyzers
Do WAFs dream of static analyzersDo WAFs dream of static analyzers
Do WAFs dream of static analyzers
 
Подводные камни прикладной криптографии, I
Подводные камни прикладной криптографии, IПодводные камни прикладной криптографии, I
Подводные камни прикладной криптографии, I
 
Подводные камни System.Security.Cryptography
Подводные камни System.Security.CryptographyПодводные камни System.Security.Cryptography
Подводные камни System.Security.Cryptography
 
Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!Взломать Web-сайт на ASP.NET? Сложно, но можно!
Взломать Web-сайт на ASP.NET? Сложно, но можно!
 
Hack an ASP .NET website? Hard, but possible!
Hack an ASP .NET website? Hard, but possible! Hack an ASP .NET website? Hard, but possible!
Hack an ASP .NET website? Hard, but possible!
 
Automated Patching for Vulnerable Source Code
Automated Patching for Vulnerable Source CodeAutomated Patching for Vulnerable Source Code
Automated Patching for Vulnerable Source Code
 
How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)
How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)
How to Develop a Secure Web Application and Stay in Mind? (PHDays 3)
 

Автоматическая генерация патчей для уязвимого исходного кода