SlideShare une entreprise Scribd logo
1  sur  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
Автоматическая генерация патчей для уязвимого исходного кода

Contenu connexe

Tendances

Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Владимир Кочетков. Как разработать защищенное веб-приложение и не сойти при э...
Positive Hack Days
 
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1
m2rus
 
Аспектно-Ориентированный Подход
Аспектно-Ориентированный ПодходАспектно-Ориентированный Подход
Аспектно-Ориентированный Подход
akopium
 
Типовые уязвимости систем ДБО
Типовые уязвимости систем ДБОТиповые уязвимости систем ДБО
Типовые уязвимости систем ДБО
Positive Hack Days
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Platonov Sergey
 
Демонстрация атаки на ДБО
Демонстрация атаки на ДБОДемонстрация атаки на ДБО
Демонстрация атаки на ДБО
Dmitry Evteev
 
Классификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий ВасильковКлассификация экономико-технических атак. Спикер: Григорий Васильков
Классификация экономико-технических атак. Спикер: Григорий Васильков
Cyber Fund
 

Tendances (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 и статический анализ кода
 

En vedette

Presentation for Catalyst workshop
Presentation for Catalyst workshopPresentation for Catalyst workshop
Presentation for Catalyst workshop
Alex Watson
 
سى فى حمدي - E
سى فى حمدي - Eسى فى حمدي - E
سى فى حمدي - E
Hamdy Kotb
 
великая отечественная война в произведениях изо
великая отечественная война в произведениях изовеликая отечественная война в произведениях изо
великая отечественная война в произведениях изо
Shool
 
Trial Brief Defamation Per Se, Montrose
Trial Brief Defamation Per Se, MontroseTrial Brief Defamation Per Se, Montrose
Trial Brief Defamation Per Se, Montrose
Kyle Montrose
 
Edge Presentation Ppt
Edge Presentation PptEdge Presentation Ppt
Edge Presentation Ppt
BrendaDean
 

En vedette (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
 

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

Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
GoSharp
 
Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2Тестирование весна 2013 лекция 2
Тестирование весна 2013 лекция 2
Technopark
 
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетковкак разработать защищенное веб приложение и не сойти с ума. владимир кочетков
как разработать защищенное веб приложение и не сойти с ума. владимир кочетков
Positive Hack Days
 
Полнота тестирования ПО
Полнота тестирования ПОПолнота тестирования ПО
Полнота тестирования ПО
Marat Akhin
 
Основы алгоритмического и объектно ориентированного программирования.
Основы алгоритмического и объектно ориентированного программирования.Основы алгоритмического и объектно ориентированного программирования.
Основы алгоритмического и объектно ориентированного программирования.
Елена Никонова
 
Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2
Technopark
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011
etyumentcev
 

Similaire à Автоматическая генерация патчей для уязвимого исходного кода (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
 

Plus de 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)
 

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