Формальная верификация: почему математическая модель не гарантирует безопасность

«Методы формальной верификации не просто проверяют код — они проверяют отсутствие дефектов в математической модели системы. Полнота означает, что модель охватывает все возможные состояния, а корректность — что проверяемые утверждения не противоречат её реальному поведению. Пропуск одного из этих параметров превращает строгий математический анализ в набор случайных проверок, которые могут пропустить критическую ошибку». Что такое … Читать далее

DevSecOps встраивание безопасности в конвейер разработки

scale 1200

Модели машинного обучения переместились из исследовательских блокнотов в критичные бизнес-процессы. Системы принимают кредитные решения, управляют автономным транспортом, фильтруют контент, обнаруживают мошенничество. Уязвимость модели превращается из академического курьёза в операционный риск с измеримыми финансовыми последствиями. MLSecOps расширяет принципы DevSecOps на специфику машинного обучения. Модели обучаются на данных, качество которых определяет результат. Атаки направлены не на эксплуатацию … Читать далее

SAST: увидеть код через графы и потоки данных

«SAST, это не скучная формальная отчётность, а способ взглянуть на код так, как не может взглянуть человек. Пока вы пишете очередную проверку на null или думаете о требованиях ФСТЭК, анализатор видит другую реальность — граф потока данных, пути уязвимостей, зависимости между сотнями файлов. Главная ошибка — считать его просто продвинутым линтером. На самом деле он … Читать далее

DevSecOps: как внедрить безопасность без замедления разработки

«Многие думают, что безопасность и скорость в разработке, это как масло и вода, но на самом деле это протоколы и процесс. Ты можешь встроить безопасность в каждый этап так, что она станет не тормозом, а частью инфраструктуры, которой разработчики пользуются так же привычно, как Git. Внедрение, это не про добавление этапов, а про их перепланировку». … Читать далее

Формальная верификация как математическое доказательство надёжности DLT

«Когда про блокчейн говорят «у него нет центральной точки отказа», это часто метафора. Но чтобы утверждение стало фактом, его нужно доказать. Формальные модели и верификация превращают архитектурные декларации в математически проверяемые свойства.» Почему блокчейн, это система, а не только алгоритм Под термином Distributed Ledger Technology (DLT) скрываются десятки реализаций, но все они решают одну задачу: … Читать далее

Как обучить разработчиков безопасной разработке

«Проблема не в том, что разработчики не хотят писать безопасный код, а в том, что безопасность воспринимается как внешнее принуждение, а не часть их экспертизы. Эффективная программа превращает угрозы и требования в инженерные задачи, которые можно понять, спроектировать и автоматизировать. Конечная цель — не контроль, а создание системы, где писать безопасно становится проще, чем допускать … Читать далее

Как наладить безопасную разработку ПО

«Безопасность, это не про отчет для регулятора, а про создание среды, где правильный код писать проще, чем неправильный. Речь о том, чтобы инструменты работали на команду, а не против неё, превращая требования 152-ФЗ из угрозы штрафа в рабочие инструкции для CI/CD.» Практический план: от хаоса к защищенному пайплайну Попытка немедленно закрыть все требования ФСТЭК, внедрив … Читать далее

Суть спора: два подхода к формальной верификации

Суть спора: два подхода к формальной верификации Формальные методы, это инструменты, позволяющие строго доказать соответствие системы (программы, протокола, микросхемы) поставленным требованиям. Однако два главных подхода верификации — модельная проверка и доказательство теорем — заметно различаются по предпосылкам, ресурсоёмкости и глубине гарантии. Верификация теорем (Theorem Proving) строится на логических исчислениях и математических доказательствах. Специалист формулирует свойства … Читать далее