ݺߣ

ݺߣShare a Scribd company logo
Методы поиска уязвимостей в программах
00xx11 ..ккллаассссииффииккаацциияя 
ммееттооддоовв
ККллаассссииффииккаацциияя ммееттооддоовв 
• Белый ящик 
• Черный/серый ящик 
• Динамические 
• Статические 
• Ручные 
• Полуавтоматические
ККллаассссииффииккаацциияя ммееттооддоовв 
• Встраивание бэкдора
00xx22 ..ббееллыыйй яящщиикк
ЭЭккссппееррттнныыйй ааннааллиизз ииссххооддннооггоо 
ккооддаа 
char str[10]; 
scanf(“%s”, str);
РРееввееррсс--ииннжжииннииррииннгг 
Анализ дизассемблированого 
кода
ААввттооммааттииччеессккиийй ааннааллиизз 
•Предупреждения компилятора 
•lint 
•Cppcheck 
•CodeSecure 
•…
00xx33 ..ччееррнныыйй яящщиикк
ППррииммеенниимм кк 
• ПО с закрытым исходным кодом 
• Сетевым приложениям 
• Драйверам 
• Интерфейсам (RPC, ActiveX) 
• …
ССттррааттееггиияя 
•Давать всякие штуки на вход 
•Смотреть, что получается на выходе 
•Смотреть, что происходит с приложением в 
процессе 
•Похоже на тестирование
ААннааллиизз ххоорроошшоо ииззввеессттнныыхх 
ссллааббыыхх ммеесстт 
• SQL Injection: sqlmap, HackBar, … 
• XSS: XSS Me, … 
• …
00xx44 ..ффааззззииннгг
ФФааззззииннгг 
«Взлохмачивание» входных данных 
Подача на вход испорченных, случайных или 
мутированных по определенным правилам 
данных
ФФааззззииннгг
ЭЭттааппыы ффааззззииннггаа 
• Анализ приложения, разработка или выбор 
фаззера 
• Генерация данных 
•Обработка результатов
ХХоорроошшиийй ффааззззииннгг 
•Обеспечивает покрытие кода приложения 
• Регистрирует все аномалии в поведении 
программы 
•Дешевый
ППооккррыыттииее ккооддаа 
•Покрытие операторов 
•Покрытие условий 
•Покрытие путей
РРееггииссттрраацциияя ппооввееддеенниияя 
• Выходные данные 
•Падения 
•Исключения 
• Содержание памяти
ГГееннеерраацциияя ддаанннныыхх 
•По шаблонам 
•На основе имеющихся данных
РРееггииссттрраацциияя ппооввееддеенниияя 
ппррооггррааммммыы 
• Выходные данные 
•Отладчик 
•Инструментирование кода
00xx55 ..ггееннеерраацциияя ппоо 
ооббррааззццуу
ГГееннеерраацциияя ппоо ооббррааззццуу 
•Один или несколько примеров входных данных 
•Мутатор, который делает новые файлы на базе 
примеров с помощью рандомизации, смешивания 
и т.п.
ММееттооддыы 
• Переворачивание битов 
• Переворачивание байтов 
• Арифметические операции 
• Подстановка волшебных числа, например, 0,1,- 
1,MAXINT, MININT 
• Перемешивание, дублирование, вырезание, … 
• Сплайсинг двух и более файлов
Сплайсинг
ЭЭффффееккттииввннооссттьь 
Фаззер: afl, цель: jpeg 
• Переворачивание битов: 70-80 путей 
• Переворачивание байтов: 30 путей 
• Арифметические операции: 5 путей 
• Подстановка волшебных чисел: 10 путей 
• Перемешивание, …: 100 путей 
• Сплайсинг двух и более файлов: 40 путей
rraaddaammssaa 
$ echo "1 + (2 + (3 + 4))" | radamsa --seed 12 -n 4 
1 + (2 + (2 + (3 + 4?) 
1 + (2 + (3 +?4)) 
18446744073709551615 + 4))) 
1 + (2 + (3 + 170141183460469231731687303715884105727))
00xx66 ..ггееннеерраацциияя ппоо 
шшааббллооннаамм
ГГееннеерраацциияя ппоо шшааббллооннаамм 
•Ограниченное описание грамматики и семантики 
входных данных 
• Генерация входных данных на основе описания 
• Сложно, но более эффективно 
•Необходима для форматов с контрольными 
суммами
PPeeaacchh 
•XML-описание данных и связей между ними 
• Генерация входных данных на основе описания
PPeeaacchh 
<DataModel name="HttpRequest"> 
<Block name="RequestLine"> 
<String name="Method"/> 
<String value=" " type="char"/> 
<String name="RequestUri"/> 
<String value=" "/> 
<String name="HttpVersion"/> 
<String value="rn"/> 
</Block> 
... 
</DataModel>
00xx77 ..ааннааллиизз ппооввееддеенниияя
ВВыыххоодднныыее ддаанннныыее 
• 500 Internal server error 
• Данные таблицы USERS 
• …
ООттллааддччиикк 
• windbg 
• Исключения 
• Crash dump 
• !exploitable 
• …
ИИннссттррууммееннттииррооввааннииее ммаашшииннннооггоо 
ккооддаа 
• Встраивание своих инструкций в программу 
• Анализ пути выполнения 
• Образы памяти (стека) 
• In-memory fuzzing 
• …
00xx88 ..ииннссттррууммееннттииррооввааннииее
УУттииллииттыы 
• PIN 
• SAGE 
• american fuzzy lop 
• Valgrind
ААннааллиизз ппууттии ввыыппооллннеенниияя 
•Позволяет оценить эффективность фаззинга
ССооххррааннееннииее ооббррааззоовв ппааммяяттии 
•Позволяет обнаружить перезапись стека 
•Позволяет обнаружить перезапись исполнимых 
кусков памяти
IInn--mmeemmoorryy ffuuzzzziinngg 
•Юнит-тесты по живому 
•Позволяет сильно удешевить фаззинг
00xx99 ..ппррооббллееммыы
РРааззррааббооттччииккии 
•Используют юнит-тесты 
•Используют фаззеры
ККооннккууррееннттыы 
• Everybody fuzz
00xx99 ..рреешшеенниияя
ФФааззззииттьь ссттааррыыйй ккоодд 
•OLE 
• COM 
• Части ядра 
• Старые форматы 
• Старые библиотеки
ФФааззззииттьь ррееддккиийй ккоодд 
• Редкие объекты word 
• Редкие функции 
• Редкие программы
ФФааззззииттьь ппоо--ууммннооммуу 
• Анализ путей выполнения 
• Анализ связи входных данных и параметров 
функций 
• Анализ предикатов пути
AAvvaallaanncchhee 
•И. К. Исаев, Д. В. Сидоров, ИСП РАН 
• Анализ и определение граничных значений во 
входных файлах
00xxAA ..ччттоо ддааллььшшее
ЛЛееккццииии 
•Инструментарий для фаззинга 
•Инструментарий программиста вообще 
•Другие темы практической ИБ 
•Приглашенные гости
ППррааккттииккаа 
• Фаззинг тренировочных файлов с помощью radamsa 
• Эксплуатация тренировочных файлов 
• Повторение известной уязвимости с помощью Peach 
• Анализ ранее неизвестной ошибки на возможность 
эксплуатации (у нас одна есть!) 
• Фаззинг серьезных приложений (Word, Reader) с помощью 
Peach 
• Анализ найденных ошибок

More Related Content

What's hot (19)

Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...
Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...
Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...
DevGAMM Conference
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Unigine Corp.
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
Computer Science Club
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Mikhail Kurnosov
Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)
Mikhail Kurnosov
Типичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.js
Serge Shirokov
С одним плюсом (Андрей Аксёнов)
С одним плюсом (Андрей Аксёнов)С одним плюсом (Андрей Аксёнов)
С одним плюсом (Андрей Аксёнов)
Unigine Corp.
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Mikhail Kurnosov
OpenStreetMap на вашем сайте
OpenStreetMap на вашем сайтеOpenStreetMap на вашем сайте
OpenStreetMap на вашем сайте
Alexander Sapozhnikov
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Mikhail Kurnosov
трасировка Mpi приложений
трасировка Mpi приложенийтрасировка Mpi приложений
трасировка Mpi приложений
Michael Karpov
Модель памяти C++ - Андрей Янковский, Яндекс
Модель памяти C++ - Андрей Янковский, ЯндексМодель памяти C++ - Андрей Янковский, Яндекс
Модель памяти C++ - Андрей Янковский, Яндекс
Yandex
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Mikhail Kurnosov
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Mikhail Kurnosov
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обменыЛекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Alexey Paznikov
Smokoko S.A.: Art engineering
Smokoko S.A.: Art engineeringSmokoko S.A.: Art engineering
Smokoko S.A.: Art engineering
DevGAMM Conference
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Mikhail Kurnosov
Лекция 8. Intel Threading Building Blocks
Лекция 8. Intel Threading Building BlocksЛекция 8. Intel Threading Building Blocks
Лекция 8. Intel Threading Building Blocks
Mikhail Kurnosov
Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...
Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...
Разбор алгоритмов генерации псевдослучайных чисел / Андрей Боронников (IT Ter...
DevGAMM Conference
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Unigine Corp.
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov20130429 dynamic c_c++_program_analysis-alexey_samsonov
20130429 dynamic c_c++_program_analysis-alexey_samsonov
Computer Science Club
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Семинар 2. Многопоточное программирование на OpenMP (часть 2)
Mikhail Kurnosov
Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)Семинар 12. Параллельное программирование на MPI (часть 5)
Семинар 12. Параллельное программирование на MPI (часть 5)
Mikhail Kurnosov
Типичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.jsТипичный стек технологий для использования с Node.js
Типичный стек технологий для использования с Node.js
Serge Shirokov
С одним плюсом (Андрей Аксёнов)
С одним плюсом (Андрей Аксёнов)С одним плюсом (Андрей Аксёнов)
С одним плюсом (Андрей Аксёнов)
Unigine Corp.
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Mikhail Kurnosov
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Mikhail Kurnosov
трасировка Mpi приложений
трасировка Mpi приложенийтрасировка Mpi приложений
трасировка Mpi приложений
Michael Karpov
Модель памяти C++ - Андрей Янковский, Яндекс
Модель памяти C++ - Андрей Янковский, ЯндексМодель памяти C++ - Андрей Янковский, Яндекс
Модель памяти C++ - Андрей Янковский, Яндекс
Yandex
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Семинар 4. Многопоточное программирование на OpenMP (часть 4)
Mikhail Kurnosov
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Семинар 7. Многопоточное программирование на OpenMP (часть 7)
Mikhail Kurnosov
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обменыЛекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Alexey Paznikov
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Mikhail Kurnosov
Лекция 8. Intel Threading Building Blocks
Лекция 8. Intel Threading Building BlocksЛекция 8. Intel Threading Building Blocks
Лекция 8. Intel Threading Building Blocks
Mikhail Kurnosov

Similar to Методы поиска уязвимостей в программах (20)

Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Alexey Paznikov
200 open source проектов спустя: опыт статического анализа исходного кода
200 open source проектов спустя:опыт статического анализа исходного кода200 open source проектов спустя:опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кода
Positive Hack Days
200 open source проектов спустя: опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кода200 open source проектов спустя: опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кода
Andrey Karpov
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
pianist2317
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
it-people
Лекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и системЛекция № 3 Организация ЭВМ и систем
Лекция № 3 Организация ЭВМ и систем
Александр Силантьев
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1
m2rus
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)
Ontico
Cache2012 administrationbasics
Cache2012 administrationbasicsCache2012 administrationbasics
Cache2012 administrationbasics
Denis Pavlov
static - defcon russia 20
static  - defcon russia 20static  - defcon russia 20
static - defcon russia 20
DefconRussia
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Platonov Sergey
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
Yandex
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in Java
Andrei Pangin
Haskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageHaskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell language
Alexander Granin
Haskell
HaskellHaskell
Haskell
DevDay
Процессоры и составляющие системного блока
Процессоры и составляющие системного блокаПроцессоры и составляющие системного блока
Процессоры и составляющие системного блока
Wewillneversleep
Принципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioПринципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-Studio
Andrey Karpov
И.И.Першин "Распознавание паттернов в ЭЭГ"
И.И.Першин "Распознавание паттернов в ЭЭГ"И.И.Першин "Распознавание паттернов в ЭЭГ"
И.И.Першин "Распознавание паттернов в ЭЭГ"
ЗПШ СПбГУ
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Alexey Paznikov
200 open source проектов спустя: опыт статического анализа исходного кода
200 open source проектов спустя:опыт статического анализа исходного кода200 open source проектов спустя:опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кода
Positive Hack Days
200 open source проектов спустя: опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кода200 open source проектов спустя: опыт статического анализа исходного кода
200 open source проектов спустя: опыт статического анализа исходного кода
Andrey Karpov
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
pianist2317
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
it-people
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1
m2rus
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)
Ontico
Cache2012 administrationbasics
Cache2012 administrationbasicsCache2012 administrationbasics
Cache2012 administrationbasics
Denis Pavlov
static - defcon russia 20
static  - defcon russia 20static  - defcon russia 20
static - defcon russia 20
DefconRussia
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Platonov Sergey
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
Yandex
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in Java
Andrei Pangin
Haskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageHaskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell language
Alexander Granin
Процессоры и составляющие системного блока
Процессоры и составляющие системного блокаПроцессоры и составляющие системного блока
Процессоры и составляющие системного блока
Wewillneversleep
Принципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-StudioПринципы работы статического анализатора кода PVS-Studio
Принципы работы статического анализатора кода PVS-Studio
Andrey Karpov
И.И.Першин "Распознавание паттернов в ЭЭГ"
И.И.Першин "Распознавание паттернов в ЭЭГ"И.И.Першин "Распознавание паттернов в ЭЭГ"
И.И.Першин "Распознавание паттернов в ЭЭГ"
ЗПШ СПбГУ

Методы поиска уязвимостей в программах