Защищенность систем АСУ ТП и SCADA после массового распространения червя Stuxnet стали любимой страшилкой журналистов и страшным сном для всех, кто связан с промышленностью и национальной безопасностью. Насколько защищены системы АСУ ТП в России и в мире? Защита АСУ ТП - дань моде или насущная необходимость? Насколько тяжело найти уязвимость в SCADA? Какие векторы атак для этих систем наиболее опасны? Регулирование в области безопасности АСУ ТП - миф или реальность?
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...Andrey Fadin
Семинар ставит целью познакомить технических специалистов как с теоретическими, так и с прикладными вопросами оценки безопасности кода приложений (ПО).
Затрагиваются вопросы нормативной базы, классификации уязвимостей и дефектов ПО, а также стандартизации терминов и методик аудита, рассматриваются различные методы статического и динамического анализа, менеджмент процесса, существующие инструменты в этой области.
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015Maxim Avdyunin
Сертификация приложений по требованиям федеральных и отраслевых регуляторов, требованиям компаний (если они есть) — необходимое условие разработки и поставки коробочного решения. Требования потребителей и пользователей современных технологий по функционалу и удобству развиваются значительно быстрее эволюции ограничений. В результате, исследования практической защищенности, если и рассматриваются, то вне темы сертификации, что порождает двойной объем работ и сложности в управлении проектами.
Презентация, подготовленная сотрудниками компании «Перспективный Мониторинг» для конференции DevCon 2015, содержит информацию о том, какие практики безопасной разработки позволяют удовлетворить как требования сертификации, так и потребности практической безопасности. Рассматриваются тонкие моменты на стыке этих задач, вопросы, в которых можно опереться на мировой опыт, а также планы регуляторов по развитию требований сертификации.
В докладе представлен опыт ЗАО «ПМ» по внедрению безопасной разработки в проекты создания и развития линейки средств защиты информации для сетевого оборудования, мобильных платформ и рабочих станций, подлежащих сертификации по требованиям регуляторов.
Лучшие практики исполнения проекта в соответствии с методологией IBM RationalLuxoftTraining
В своем выступлении Михаил рассматривает различные аспекты реализации проекта, начиная от управления требованиями и заканчивая управлением изменениями и конфигурациями. Описывает лучшие практики минимизации рисков провала проекта, в соответствии с методологией IBM Rational:
Итеративная разработка;
Подход к управлению требованиями;
Компонентная архитектура;
Визуальное моделирование;
Постоянный контроль качества;
Управление изменениями и конфигурациями.
А также рассматривается специфика Agile-проектов в сравнении с другими методологиями.
Аудит безопасности программного кода: Подходы, стандарты, технологии выявлени...Andrey Fadin
Семинар ставит целью познакомить технических специалистов как с теоретическими, так и с прикладными вопросами оценки безопасности кода приложений (ПО).
Затрагиваются вопросы нормативной базы, классификации уязвимостей и дефектов ПО, а также стандартизации терминов и методик аудита, рассматриваются различные методы статического и динамического анализа, менеджмент процесса, существующие инструменты в этой области.
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015Maxim Avdyunin
Сертификация приложений по требованиям федеральных и отраслевых регуляторов, требованиям компаний (если они есть) — необходимое условие разработки и поставки коробочного решения. Требования потребителей и пользователей современных технологий по функционалу и удобству развиваются значительно быстрее эволюции ограничений. В результате, исследования практической защищенности, если и рассматриваются, то вне темы сертификации, что порождает двойной объем работ и сложности в управлении проектами.
Презентация, подготовленная сотрудниками компании «Перспективный Мониторинг» для конференции DevCon 2015, содержит информацию о том, какие практики безопасной разработки позволяют удовлетворить как требования сертификации, так и потребности практической безопасности. Рассматриваются тонкие моменты на стыке этих задач, вопросы, в которых можно опереться на мировой опыт, а также планы регуляторов по развитию требований сертификации.
В докладе представлен опыт ЗАО «ПМ» по внедрению безопасной разработки в проекты создания и развития линейки средств защиты информации для сетевого оборудования, мобильных платформ и рабочих станций, подлежащих сертификации по требованиям регуляторов.
Лучшие практики исполнения проекта в соответствии с методологией IBM RationalLuxoftTraining
В своем выступлении Михаил рассматривает различные аспекты реализации проекта, начиная от управления требованиями и заканчивая управлением изменениями и конфигурациями. Описывает лучшие практики минимизации рисков провала проекта, в соответствии с методологией IBM Rational:
Итеративная разработка;
Подход к управлению требованиями;
Компонентная архитектура;
Визуальное моделирование;
Постоянный контроль качества;
Управление изменениями и конфигурациями.
А также рассматривается специфика Agile-проектов в сравнении с другими методологиями.
[статья] Особенности применения SOC для мониторинга промышленных сетей АСУ ТП...Alexey Komarov
Как грамотно организовать мониторинг промышленных объектов (АСУ ТП) и оценить уровень их информационной безопасности?
Как поможет и какую роль сыграет центр мониторинга и оперативного реагирования на инциденты в информационной безопасности (SOC — Security Operations Center)?
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...ITMO University
При создании систем со сложным поведением важную роль играет контроль качества разрабатываемых программ. Цена ошибки в таких системах может быть слишком велика, поэтому важно не просто проверить соответствие создаваемой программы всем предъявленным к ней требованиям, но и сделать этот процесс эффективным, максимально автоматизировав его. На практике этого можно добиться, формализовав все требования к программе и храня полученную исполнимую спецификацию непосредственно вместе с кодом программы. Рассмотрены существующие методы контроля качества современных программных систем и автоматных программ, а также описан процесс создания среды, позволяющей поддержать сразу три подхода к проверке качества программ с явным выделением состояний: проверку на модели, модульное тестирование и контракты. Предложенный подход позволяет сохранить корректность записи сформулированных требований при изменении самой программы, а также интерактивно контролировать ее качество.
Tools & Methods of Program Analysis Conference (TMPA-2013)
Alexeenko, А., Protsenko, P., Matveeva, А., Itkin, I., Sharov D., Innovative Trading Systems, LLC, Exactpro Systems LLC
Compatibility Testing of Protocol Connections of Exchange and Broker Systems Clients
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...Iosif Itkin
Information Support System for Autonomous Spacecraft Control Macro-Programming
Andrew Tyugashev, Anton Nasekin, Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Современные российские средства защиты информацииDialogueScience
Обзор российских средств защиты информации с учетом текущей ситуации с импортозамещением.
ПРОГРАММА:
Актуальные вопросы импортозамещения
Обзор некоторых классов современных российских СЗИ
Попытки выполнения импортозамещения
Ответы на вопросы.
Спикер: Сергей Корольков, технический директор АО «ДиалогНаука».
TMPA-2013 Itsykson: Java Program AnalysisIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Andrianova, А., Itsykson, V., St. Petersburg State Polytechnic University
Automated Test Synthesis for Java Programs Based on Program Analysis and Contract Inventory
Formal Verification of a Linux Security ModuleDenis Efremov
Формальная верификация модуля безопасности Linux. Презентация про проект AstraVer ИСП РАН. Доклад представлен на сессии коротких докладов летней школы Мастерчейн. НИУ ВШЭ, Москва, 09 июля 2018.
Разработка системы "EASYCONTROLLER". Системы программирования промышленных ло...RSATU-UMNIK
Поиск решения, позволяющего обеспечить легкость изучения и упрощения создания управляющих алгоритмов за счет использования удобного и понятного представления создаваемых программ, а также за счет использования инструментов, которые позволяют специализировать язык на определенный вид техпроцессов и определенный вид оборудования.
RedSeal - система визуализации и анализа рисков сетевой безопасностиDialogueScience
Система визуализации и анализа рисков сетевой безопасности RedSeal, которая позволяет в режиме реального времени получать информацию о конфигурации сетевых устройств, строить виртуальную модель сети компании и выполнять анализ ее текущей конфигурации на соответствие требованиям по защите информации
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
[статья] Особенности применения SOC для мониторинга промышленных сетей АСУ ТП...Alexey Komarov
Как грамотно организовать мониторинг промышленных объектов (АСУ ТП) и оценить уровень их информационной безопасности?
Как поможет и какую роль сыграет центр мониторинга и оперативного реагирования на инциденты в информационной безопасности (SOC — Security Operations Center)?
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...ITMO University
При создании систем со сложным поведением важную роль играет контроль качества разрабатываемых программ. Цена ошибки в таких системах может быть слишком велика, поэтому важно не просто проверить соответствие создаваемой программы всем предъявленным к ней требованиям, но и сделать этот процесс эффективным, максимально автоматизировав его. На практике этого можно добиться, формализовав все требования к программе и храня полученную исполнимую спецификацию непосредственно вместе с кодом программы. Рассмотрены существующие методы контроля качества современных программных систем и автоматных программ, а также описан процесс создания среды, позволяющей поддержать сразу три подхода к проверке качества программ с явным выделением состояний: проверку на модели, модульное тестирование и контракты. Предложенный подход позволяет сохранить корректность записи сформулированных требований при изменении самой программы, а также интерактивно контролировать ее качество.
Tools & Methods of Program Analysis Conference (TMPA-2013)
Alexeenko, А., Protsenko, P., Matveeva, А., Itkin, I., Sharov D., Innovative Trading Systems, LLC, Exactpro Systems LLC
Compatibility Testing of Protocol Connections of Exchange and Broker Systems Clients
TMPA-2015: Information Support System for Autonomous Spacecraft Control Macro...Iosif Itkin
Information Support System for Autonomous Spacecraft Control Macro-Programming
Andrew Tyugashev, Anton Nasekin, Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Современные российские средства защиты информацииDialogueScience
Обзор российских средств защиты информации с учетом текущей ситуации с импортозамещением.
ПРОГРАММА:
Актуальные вопросы импортозамещения
Обзор некоторых классов современных российских СЗИ
Попытки выполнения импортозамещения
Ответы на вопросы.
Спикер: Сергей Корольков, технический директор АО «ДиалогНаука».
TMPA-2013 Itsykson: Java Program AnalysisIosif Itkin
Tools & Methods of Program Analysis (TMPA-2013)
Andrianova, А., Itsykson, V., St. Petersburg State Polytechnic University
Automated Test Synthesis for Java Programs Based on Program Analysis and Contract Inventory
Formal Verification of a Linux Security ModuleDenis Efremov
Формальная верификация модуля безопасности Linux. Презентация про проект AstraVer ИСП РАН. Доклад представлен на сессии коротких докладов летней школы Мастерчейн. НИУ ВШЭ, Москва, 09 июля 2018.
Разработка системы "EASYCONTROLLER". Системы программирования промышленных ло...RSATU-UMNIK
Поиск решения, позволяющего обеспечить легкость изучения и упрощения создания управляющих алгоритмов за счет использования удобного и понятного представления создаваемых программ, а также за счет использования инструментов, которые позволяют специализировать язык на определенный вид техпроцессов и определенный вид оборудования.
RedSeal - система визуализации и анализа рисков сетевой безопасностиDialogueScience
Система визуализации и анализа рисков сетевой безопасности RedSeal, которая позволяет в режиме реального времени получать информацию о конфигурации сетевых устройств, строить виртуальную модель сети компании и выполнять анализ ее текущей конфигурации на соответствие требованиям по защите информации
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
Особенности проведения аудита безопасности корпоративной IT-инфраструктуры_PH...Ivan Piskunov
Презентация к выступлению "Особенности проведения аудита безопасности корпоративной IT-инфраструктуры", 15 мая 2018, Fast Track
Ядром доклада станет демонстрация нескольких средств аудита (ПО, скриптов) для Windows Server, инфраструктуры AD, Linux: как они работают, какие дают результаты и как облегчают жизнь аудитору.
Анонс выступления
https://ipiskunov.blogspot.ru/2018/05/phdays-8-digital-bet.html
Telegram-канал
https://t.me/w2hack или @w2hack
www.cmcons.com. Практика и технология внедрения процесса конфигурационного управления и управления изменениями с применением IBM Rational ClearCase и ClearQuest
Доклад является обобщением моего опыт по работе с системами мониторинга серверных приложений в Qiwi.
Цель доклада:
- Получить общее представление о подходах к мониторингу серверных приложений
- Разобраться с популярными средствами для мониторинга серверных приложений
Оглавление:
- Мотивация
- Теория
---- Определение
---- Модель системы с точки зрения мониторинга
---- Классификация систем мониторинга
---- Уровни мониторинга
---- Инструменты мониторинга
- Практика
---- Системы мониторинга и сбора логов
---- Интерфейсы мониторинга
---- Инструменты мониторинга в JVM-based приложениях
Similar to Positive Hack Days. Маньков.Технология контроля правильности функционирования критических технологических процессов в недоверенной среде (20)
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
1. Основные понятия и определения: продукт, пакет, связи между ними.
2. Как узнать, какие изменения произошли в продукте?
3. Проблемы changelog и release note.
4. Решение: инструмент ChangelogBuilder для автоматической подготовки Release Notes
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
1. Что такое BI. Зачем он нужен.
2. Что такое Qlik View / Sense
3. Способ интеграции. Как это работает.
4. Метрики, KPI, планирование ресурсов команд, ретроспектива релиза продукта, тренды.
5. Подключение внешних источников данных (Excel, БД СКУД, переговорные комнаты).
Approof — статический анализатор кода для проверки веб-приложений на наличие уязвимых компонентов. В своей работе анализатор основывается на правилах, хранящих сигнатуры искомых компонентов. В докладе рассматривается базовая структура правила для Approof и процесс автоматизации его создания.
Задумывались ли вы когда-нибудь о том, как устроены современные механизмы защиты приложений? Какая теория стоит за реализацией WAF и SAST? Каковы пределы их возможностей? Насколько их можно подвинуть за счет более широкого взгляда на проблематику безопасности приложений?
На мастер-классе будут рассмотрены основные методы и алгоритмы двух основополагающих технологий защиты приложений — межсетевого экранирования уровня приложения и статического анализа кода. На примерах конкретных инструментов с открытым исходным кодом, разработанных специально для этого мастер-класса, будут рассмотрены проблемы, возникающие на пути у разработчиков средств защиты приложений, и возможные пути их решения, а также даны ответы на все упомянутые вопросы.
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
Разработка наукоемкого программного обеспечения отличается тем, что нет ни четкой постановки задачи, ни понимания, что получится в результате. Однако даже этом надо программировать то, что надо, и как надо. Докладчик расскажет о том, как ее команда успешно разработала и вывела в промышленную эксплуатацию несколько наукоемких продуктов, пройдя непростой путь от эксперимента, результатом которого был прототип, до промышленных версий, которые успешно продаются как на российском, так и на зарубежном рынках. Этот путь был насыщен сложностями и качественными управленческими решениями, которыми поделится докладчик
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Hack Days
Немногие разработчики закладывают безопасность в архитектуру приложения на этапе проектирования. Часто для этого нет ни денег, ни времени. Еще меньше — понимания моделей нарушителя и моделей угроз. Защита приложения выходит на передний план, когда уязвимости начинают стоить денег. К этому времени приложение уже работает и внесение существенных изменений в код становится нелегкой задачей.
К счастью, разработчики тоже люди, и в коде разных приложений можно встретить однотипные недостатки. В докладе речь пойдет об опасных ошибках, которые чаще всего допускают разработчики Android-приложений. Затрагиваются особенности ОС Android, приводятся примеры реальных приложений и уязвимостей в них, описываются способы устранения.
Разработка любого софта так или иначе базируется на требованиях. Полный перечень составляют бизнес-цели приложения, различные ограничения и ожидания по качеству (их еще называют NFR). Требования к безопасности ПО относятся к последнему пункту. В ходе доклада будут рассматриваться появление этих требований, управление ими и выбор наиболее важных.
Отдельно будут освещены принципы построения архитектуры приложения, при наличии таких требований и без, и продемонстрировано, как современные (и хорошо известные) подходы к проектированию приложения помогают лучше строить архитектуру приложения для минимизации ландшафта угроз.
Доклад посвящен разработке корректного программного обеспечения с применением одного из видов статического анализа кода. Будут освещены вопросы применения подобных методов, их слабые стороны и ограничения, а также рассмотрены результаты, которые они могут дать. На конкретных примерах будет продемонстрировано, как выглядят разработка спецификаций для кода на языке Си и доказательство соответствия кода спецификациям.
Positive Hack Days. Маньков.Технология контроля правильности функционирования критических технологических процессов в недоверенной среде
1. «Газинформсервис»,решения и опыт компании в области анализа, контроля и защиты от уязвимостей в ПО Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Е.В. Маньков ООО «Газинформсервис» в соавторстве с Ковалевым В.В.И Компанийцем Р.И. 19.05.2011 Москва – Positive Hack Days
10. Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Предлагаемый подход Контроль потоков управления в критических участках кода непосредственно во время выполнения кода. Подход предполагает модификацию кода – замену инструкций передачи управления и генерацию кода автомата контроля. Код автомата может выполняться в доверенной среде.
11. Особенности 5 Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Контролируемая программа «не знает» куда она передает управление в точках контроля! Передачи управления определяет автомат библиотеки динамического контроля, который может выполняться изолированно от контролируемого кода в доверенной среде Любое нарушение потока управления (выполнение недоверенного маршрута) определяется автоматом контроля Уязвимости класса переполнения буфера могут быть диагностированы с помощью атрибутных грамматик с временными характеристиками выполнения участков кода (применимо для систем реального времени)
12. Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Подготовительные действия Дизассемблирование исполняемых модулей «Склейка»: формирование общего адресного пространства, восстановление межмодульных связей (таблицы экспорта-импорта) Построение модели программы (управляющих графов - УГП) Формирование множества доверенных маршрутов – установка контрольных точекна вызовы и передачи управления Создание грамматики описания множества доверенных маршрутов Внедрение контрольных точек в контролируемый код Генерация автомата динамического контроля для исполняемого кода программы
13. 7 Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Примеры УГП
14. 8 Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Пример Пример подпрограммы на C++, дизассемблированный код и модель УГП void CXRecordset::FreeMapInfoCols() { POSITION CurPos; void * pVoid, * pValue; for(CurPos=m_oMapMemElements.GetStartPosition();CurPos!=NULL;) { m_oMapMemElements.GetNextAssoc(CurPos,pVoid,pValue); switch(((TFldInfo *)pVoid)->nFldType) { case FTString: case FTMemo: delete (CString*)pValue; break; case FTInteger: delete (int*)pValue; break; case FTLong: case FTCounter: delete (long int*)pValue; break; case FTSingle: delete (float*)pValue; break; case FTDouble: delete (double*)pValue; break; case FTBool: delete (BOOL*)pValue; break; case FTBLOB: delete (CByteArray*)pValue; }; delete (TFldInfo *)pVoid; }; m_oMapMemElements.RemoveAll(); oInfoColList.RemoveAll(); oValueColList.RemoveAll(); oColList.RemoveAll(); }
15. Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Установка контрольных точек 003234E0 ; =============== S U B R O U T I N E ======================================= 003234E0 ; --BLOCK--1----------------------------------------------------------------- 003234E0 public ?FreeMapInfoCols@CXRecordset@@IAEXXZ 003234E0 ?FreeMapInfoCols@CXRecordset@@IAEXXZ proc near 003234E0 var_C = dword ptr -0Ch 003234E0 var_8 = dword ptr -8 003234E0 var_4 = dword ptr -4 003234E0 sub esp, 0Ch 003234E3 push ebx 003234E4 mov ebx, ecx 003234E6 mov eax, [ebx+120h] 003234EC neg eax 003234EE sbb eax, eax 003234F0 mov [esp+10h+var_4], eax 003234F4 jz loc_3235A7 003234FA ; --BLOCK--2----------------------------------------------------------------- 003234FA push esi 003234FB push edi 003234FC lea edi, [ebx+114h] 00323502 ; --BLOCK--3----------------------------------------------------------------- 00323502 loc_323502: lea eax, [esp+18h+var_C] 00323506 push eax 00323507 lea ecx, [esp+1Ch+var_8] 0032350B push ecx 0032350C lea edx, [esp+20h+var_4] 00323510 push edx 00323511 mov ecx, edi 00323513 ; --BLOCK--4----------------------------------------------------------------- 00323513 call ?GetNextAssoc@CMapPtrToPtr@@QBEXAAPAU__POSITION@@AAPAX1@Z ; call 216 00323518 ; --BLOCK--5----------------------------------------------------------------- 00323518 mov eax, [esp+18h+var_8] 0032351C mov eax, [eax+4] 0032351F cmp eax, 8 00323522 ja short loc_323582 00323524 ; --BLOCK--6----------------------------------------------------------------- 00323524 jmp ds:off_3235D8[eax*4] 0032352B ; --BLOCK--7----------------------------------------------------------------- 0032352B loc_32352B: mov ecx, [esp+18h+var_C] 0032352F test ecx, ecx 00323531 mov esi, ecx 00323533 jz short loc_323582 00323535 ; --BLOCK--8----------------------------------------------------------------- 00323535 call ds:??1?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@QAE@XZ_0 0032353B ; --BLOCK--9----------------------------------------------------------------- 0032353B push esi 0032353C ; --BLOCK--10---------------------------------------------------------------- 0032353C call ??3@YAXPAX@Z_0 ; call 138 00323541 ; --BLOCK--11---------------------------------------------------------------- 00323541 add esp, 4 00323544 ; --BLOCK--12---------------------------------------------------------------- 00323544 jmp short loc_323582 00323546 ; --BLOCK--13---------------------------------------------------------------- 00323546 loc_323546: mov ecx, [esp+18h+var_C] 0032354A push ecx 0032354B ; --BLOCK--14---------------------------------------------------------------- 0032354B call ??3@YAXPAX@Z_0 ; call 138 00323550 ; --BLOCK--15---------------------------------------------------------------- 00323550 add esp, 4 00323553 ; --BLOCK--16---------------------------------------------------------------- 00323553 jmp short loc_323582 00323555 ; --BLOCK--17---------------------------------------------------------------- 00323555 loc_323555: mov edx, [esp+18h+var_C] 00323559 push edx 0032355A ; --BLOCK--18---------------------------------------------------------------- 0032355A call ??3@YAXPAX@Z_0 ; call 138 0032355F ; --BLOCK--19---------------------------------------------------------------- 0032355F add esp, 4 00323562 ; --BLOCK--20---------------------------------------------------------------- 00323562 jmp short loc_323582 00323564 ; --BLOCK--21---------------------------------------------------------------- 00323564 loc_323564: mov eax, [esp+18h+var_C] 00323568 push eax
16. Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Установка контрольных точек 00323568 ; --BLOCK--22---------------------------------------------------------------- 00323569 call ??3@YAXPAX@Z_0 ; call 138 0032356E ; --BLOCK--23---------------------------------------------------------------- 0032356E add esp, 4 00323571 ; --BLOCK--24---------------------------------------------------------------- 00323571 jmp short loc_323582 00323573 ; --BLOCK--25---------------------------------------------------------------- 00323573 loc_323573: mov ecx, [esp+18h+var_C] 00323577 test ecx, ecx 00323579 jz short loc_323582 00323579 ; --BLOCK--26---------------------------------------------------------------- 0032357B mov eax, [ecx] 0032357D push 1 0032357F ; --BLOCK--27---------------------------------------------------------------- 0032357F call dword ptr [eax+4] 00323582 ; --BLOCK--28---------------------------------------------------------------- 00323582 loc_323582: mov ecx, [esp+18h+var_8] 00323586 test ecx, ecx 00323588 mov esi, ecx 0032358A jz short loc_32359A 0032358C ; --BLOCK--29---------------------------------------------------------------- 0032358C call ??1TFldInfo@@QAE@XZ; call 3 00323591 ; --BLOCK--30---------------------------------------------------------------- 00323591 push esi 00323592 ; --BLOCK--31---------------------------------------------------------------- 00323592 call ??3@YAXPAX@Z_0 ; call 138 00323597 ; --BLOCK--32---------------------------------------------------------------- 00323597 add esp, 4 0032359A ; --BLOCK--33---------------------------------------------------------------- 0032359A loc_32359A: cmp [esp+18h+var_4], 0 0032359F jnz loc_323502 003235A5 ; --BLOCK--34---------------------------------------------------------------- 003235A5 pop edi 003235A6 pop esi 003235A7 ; --BLOCK--35---------------------------------------------------------------- 003235A7 loc_3235A7: lea ecx, [ebx+114h] 003235AD ; --BLOCK--36---------------------------------------------------------------- 003235AD call ?RemoveAll@CMapPtrToPtr@@QAEXXZ 003235B2 ; --BLOCK--37---------------------------------------------------------------- 003235B2 lea ecx, [ebx+14Ch] 003235B8 ; --BLOCK--38---------------------------------------------------------------- 003235B8 call ?RemoveAll@CMapStringToPtr@@QAEXXZ 003235B8 ; --BLOCK--39---------------------------------------------------------------- 003235BD lea ecx, [ebx+130h] 003235B8 ; --BLOCK--40---------------------------------------------------------------- 003235C3 call ?RemoveAll@CMapStringToPtr@@QAEXXZ 003235B8 ; --BLOCK--41---------------------------------------------------------------- 003235C8 lea ecx, [ebx+168h] 003235B8 ; --BLOCK--42---------------------------------------------------------------- 003235CE call ?RemoveAll@CStringList@@QAEXXZ 003235B8 ; --BLOCK--43---------------------------------------------------------------- 003235D3 pop ebx 003235D4 add esp, 0Ch 003235D7 retn 003235D7 ?FreeMapInfoCols@CXRecordset@@IAEXXZ endp 003235D8 ; --D A T A B L O C K 1 (S W I T C H 1 MAP) --------------------- 003235D8 off_3235D8 dd offset loc_32352B ; DATA XREF: CXRecordset::FreeMapInfoCols(void)+44r 003235D8 dd offset loc_32352B 003235D8 dd offset loc_323546 003235D8 dd offset loc_323555 003235D8 dd offset loc_323555 003235D8 dd offset loc_323564 003235D8 dd offset loc_323546 003235D8 dd offset loc_323555 003235D8 dd offset loc_323573 003235FC align 10h
17. Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Грамматика Грамматика в терминах КТ (паспорт) Route_78 : (KT_323513 m4 KT_323513 ( KT_323535m8KT_323535 KT_32353C m10KT_32353C | KT_32354B m14KT_32354B | KT_32355A m18KT_32355A | KT_323569 m22KT_323569 | KT_32357F m27KT_32357F )? (KT_32358Сm29 KT_32358С KT_323592m31KT_323592) )* (KT_3235AD m36 KT_3235AD KT_3235B8m38 KT_3235B8 KT_3235C3 m40 KT_3235C3 KT_3235CE m42KT_3235CE) ; // адрес вызываемой ближней п/п-мы m4: {NEAR_CALL(0x00328513)} ; // адрес вызываемой дальней п/п-мы m8: {FAR_CALL(00407000h)} ; … Грамматика в терминах блоков Route_78 : ( 4 ( 8 10 | 14 | 18 | 22 | 27 )? (29 31) )* (36 38 40 42) ;
18. Механизм работы метода Стадия выполнения паспортизированной программы Стадия формирование паспорта программы Исполняемый файл программы внедрение контрольных точек 12 Технология контроля правильности функционирования критических технологических процессов в недоверенной среде с внедренными контрольнымиточками Прерывание по КТ Прерывание по КТ Прерывание по КТ Останов Возвратуправления Возвратуправления трасса формирование паспорта программы методДИАГЕН Библиотека паспортапрограммы Попытка выполнения недокументированный (недоверенный) маршрут
19. Технология контроля правильности функционирования критических технологических процессов в недоверенной среде IRIDA 2.0. state of the art 13
20. Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Выводы Потоки управления критических участков кода технологических процессов можно контролировать с помощью предложенной технологии Выявленные нарушения функционирования могут либо автоматически завершать недоверенноевыполнение кода, либо сообщать на пульт АСУ ТП для принятия решения оператором Для предотвращения класса атак на исполняемый код в памяти в системах реального времени предлагается вводить временные характеристики на прохождение участков маршрутов между смежными контрольными точками
21. 15 Технология контроля правильности функционирования критических технологических процессов в недоверенной среде Спасибо за внимание ООО «Газинформсервис» www.gaz-is.ru Санкт-Петербург Маньков Евгений Викторович mankov-e@gaz-is.ru Ковалев Виктор Васильевич kovalev-v@gaz-is.ru Компаниец Радион Иванович kompaniec-r@gaz-is.ru