SlideShare a Scribd company logo
1 of 24
Download to read offline
Заголовок
ptsecurity.com
Автоматизация
построения правил
для Approof
м.н.с. Ефремов Д.В.
ИСП РАН efremov@ispras.ru
Заголовок
• Статический анализатор
• Младший брат Application Inspector
• Свободно доступен для использования «Без регистрации и смс»
• https://approof.ptsecurity.ru/
• Движок FingerPrint – поиск известных версий библиотек
с уязвимостями
Заголовок
• Метаинформация
• Имя, версия, описание угрозы, уровень угрозы …
• Паттерны
• Строки, регулярные выражения
• Условия сопоставления паттернов
• Логическое условие на основе существующих паттернов и правил
• http://yara.readthedocs.io/en/v3.6.0/
• Правила добавляются через меню "Add Yara rules”
• Либо "%LOCALAPPDATA%ApproofYaraRules"
Правила Yara для Approof (1)
ЗаголовокПравила Yara для Approof (2)
ЗаголовокПравила Yara для Approof (2)
ЗаголовокПравила Yara для Approof (2)
ЗаголовокПравила Yara для Approof (2)
ЗаголовокПравила Yara для Approof (3)
ЗаголовокПравила Yara для Approof (4)
ЗаголовокПравила Yara для Approof (5)
ЗаголовокПравила Yara для Approof (5)
ЗаголовокПравила Yara для Approof (5)
Заголовок
• Описание уязвимости
• http://cve.mitre.org/, http://vuldb.com,
https://vulners.com/, …
• Исходный код разных версий пакетов
• https://api.metacpan.org/source
• https://registry.npmjs.org/
• https://pypi.python.org/pypi/
• …
Автоматизация (1) (Метаинформация)
Заголовок
• Имя пакета
• package HTML::Scrubber;
• "name": "dns-sync"
• __title__ = ”requests"
• Версия пакета
• our $VERSION = '0.10';
• "version": "0.1.0"
• __version__ = "1.0.0"
Автоматизация (2) (Паттерны в исходных кодах)
ЗаголовокАвтоматизация (3) (Синтез)
Определение
версий пакетов
Загрузка и
обрабока
Поиск
идентификаторов
Преобразование
в шаблон
Заголовок
• Perl
• Нет проблем, всё шикарно
• Python
• setup.py не устанавливается
• __init.py__ может ничего не содержать
• __version__, __title__, __build__, __author__ ещё надо найти
• Модуль может не содержать идентификаторов версий
• Модуль может не содержать имя модуля в явном виде в файлах
• Pyc, Pyo файлы
• JavaScript
• Когда есть package.json всё шикарно
• …
Проблемы при автоматизации
Заголовокyargen --module HTML::Scrubber --cve CVE-2015-5667 (1)
Заголовокyargen --module HTML::Scrubber --cve CVE-2015-5667 (2)
Заголовокyargen --module HTML::Scrubber --cve CVE-2015-5667 (3)
Заголовокyargen --module HTML::Scrubber --cve CVE-2015-5667 (3)
Заголовокyargen --module HTML::Scrubber --cve CVE-2015-5667 (3)
Заголовок
•Сопоставление по пути файла
• Python (__init__.py и остальные файлы)
• setup.py не устанавливается
• Файлы пакета могут не содержать идентификатора имени
пакета
• JavaScript (package.json)
•Сопоставления по нескольким файлам
• Идентификаторы пакета и версий находятся в разных
файлах
Каких возможностей недостаёт?
Заголовок
•Публичный репозиторий правил
•https://github.com/PositiveTechnologies/FP-
community-rules
•Репозиторий программы генерации правил
•https://github.com/evdenis/yargen
Дополнительная информация
Заголовок
ptsecurity.com
Спасибо!
Спасибо!

More Related Content

What's hot

Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуPositive Development User Group
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОPositive Hack Days
 
Flask как хорошее решение для веб проекта
Flask как хорошее решение для веб проектаFlask как хорошее решение для веб проекта
Flask как хорошее решение для веб проектаPython Meetup
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Positive Hack Days
 
Flask, гордость и предубеждение
Flask, гордость и предубеждениеFlask, гордость и предубеждение
Flask, гордость и предубеждениеYehor Nazarkin
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеbeched
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoAzamat Tokhtaev
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применениюIvan Kolodyazhny
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesCOMAQA.BY
 
Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?beched
 
Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012beched
 
Криптология в анализе защищённости
Криптология в анализе защищённостиКриптология в анализе защищённости
Криптология в анализе защищённостиbeched
 
Информационная Безопасность. Современные угрозы и области компетенций
Информационная Безопасность. Современные угрозы и области компетенцийИнформационная Безопасность. Современные угрозы и области компетенций
Информационная Безопасность. Современные угрозы и области компетенцийSerghei Epifantsew
 
Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"Fwdays
 
Data mining for nmap acceleration
Data mining for nmap accelerationData mining for nmap acceleration
Data mining for nmap accelerationbeched
 
Воркшоп по анализ защищённости веб-приложений
Воркшоп по анализ защищённости веб-приложенийВоркшоп по анализ защищённости веб-приложений
Воркшоп по анализ защищённости веб-приложенийbeched
 
Speeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsSpeeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsAnton Stepanenko
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Stas Vyschepan
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеSQALab
 

What's hot (20)

Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Кто сказал «WAF»?
Кто сказал «WAF»?Кто сказал «WAF»?
Кто сказал «WAF»?
 
Flask как хорошее решение для веб проекта
Flask как хорошее решение для веб проектаFlask как хорошее решение для веб проекта
Flask как хорошее решение для веб проекта
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Flask, гордость и предубеждение
Flask, гордость и предубеждениеFlask, гордость и предубеждение
Flask, гордость и предубеждение
 
Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновение
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + Django
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применению
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelines
 
Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?Что общего у CTF и тестов на проникновение?
Что общего у CTF и тестов на проникновение?
 
Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012Алгоритмы пентестов. BaltCTF 2012
Алгоритмы пентестов. BaltCTF 2012
 
Криптология в анализе защищённости
Криптология в анализе защищённостиКриптология в анализе защищённости
Криптология в анализе защищённости
 
Информационная Безопасность. Современные угрозы и области компетенций
Информационная Безопасность. Современные угрозы и области компетенцийИнформационная Безопасность. Современные угрозы и области компетенций
Информационная Безопасность. Современные угрозы и области компетенций
 
Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"Anton Tsitou "Cycle ORM and Graphs"
Anton Tsitou "Cycle ORM and Graphs"
 
Data mining for nmap acceleration
Data mining for nmap accelerationData mining for nmap acceleration
Data mining for nmap acceleration
 
Воркшоп по анализ защищённости веб-приложений
Воркшоп по анализ защищённости веб-приложенийВоркшоп по анализ защищённости веб-приложений
Воркшоп по анализ защищённости веб-приложений
 
Speeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsSpeeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI tests
 
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной Шине
 

Similar to Автоматизация построения правил для Approof

Automation of rule construction for Approof
Automation of rule construction for ApproofAutomation of rule construction for Approof
Automation of rule construction for ApproofDenis Efremov
 
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптахПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптахrevisium
 
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценарияхПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценарияхPositive Hack Days
 
Blackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложенийBlackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложенийbeched
 
Заблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кодаЗаблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кодаRISSPA_SPb
 
Practical Language for Extracting Data from Source Codes and Preparing Them f...
Practical Language for Extracting Data from Source Codes and Preparing Them f...Practical Language for Extracting Data from Source Codes and Preparing Them f...
Practical Language for Extracting Data from Source Codes and Preparing Them f...Denis Efremov
 
Python Meetup
Python Meetup Python Meetup
Python Meetup iQSpace
 
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]Python Meetup
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и DjangoTaras Lyapun
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancevAlexei Lupan
 
Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах solertia
 
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты7bits
 
ERP Глазами Злоумышленника
ERP Глазами ЗлоумышленникаERP Глазами Злоумышленника
ERP Глазами ЗлоумышленникаPositive Hack Days
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
 
Практика использования Solar inCode
Практика использования Solar inCodeПрактика использования Solar inCode
Практика использования Solar inCodeSolar Security
 
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Andrey Karpov
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilationNikita Lipsky
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?sqadays8
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?COMAQA.BY
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaAlex Chistyakov
 

Similar to Автоматизация построения правил для Approof (20)

Automation of rule construction for Approof
Automation of rule construction for ApproofAutomation of rule construction for Approof
Automation of rule construction for Approof
 
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптахПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP скриптах
 
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценарияхПриемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
Приемы, затрудняющие обнаружение и анализ вредоносного кода в PHP-сценариях
 
Blackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложенийBlackbox-тестирование веб-приложений
Blackbox-тестирование веб-приложений
 
Заблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кодаЗаблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кода
 
Practical Language for Extracting Data from Source Codes and Preparing Them f...
Practical Language for Extracting Data from Source Codes and Preparing Them f...Practical Language for Extracting Data from Source Codes and Preparing Them f...
Practical Language for Extracting Data from Source Codes and Preparing Them f...
 
Python Meetup
Python Meetup Python Meetup
Python Meetup
 
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancev
 
Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах Практика эксплуатации уязвимостей в прикладных программах
Практика эксплуатации уязвимостей в прикладных программах
 
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
 
ERP Глазами Злоумышленника
ERP Глазами ЗлоумышленникаERP Глазами Злоумышленника
ERP Глазами Злоумышленника
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
 
Практика использования Solar inCode
Практика использования Solar inCodeПрактика использования Solar inCode
Практика использования Solar inCode
 
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...Ошибки, которые сложно заметить на code review, но которые находятся статичес...
Ошибки, которые сложно заметить на code review, но которые находятся статичес...
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilation
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
 

Автоматизация построения правил для Approof