Поиск потенциальных уязвимостей в коде, часть 2: практика
В прошлый раз мы ознакомились с общими подходами в поиске уязвимостей безопасности в приложениях. В этот раз спустимся ближе к земле и посмотрим на то, как мы реализовали эти механизмы в нашем статическом анализаторе для Java. Читать далее...
SAST приложений под Android: делаем код безопаснее
Безопасность мобильных приложений — один из ключевых аспектов разработки, который нельзя оставлять без внимания. Уязвимости в коде могут привести к утечке данных, компрометации системы и другим серьёзным последствиям. Чтобы обнаружить и устранить риски ещё на этапе написания кода, разработчики...
Java, Taint и SAST: что это и зачем, и причём здесь ГОСТ 71207
На Java пишется огромное количество серверного кода. Отсюда следует, что написанные на ней веб-приложения должны быть устойчивы к специальным уязвимостям. И эта небольшая статья как раз про один из способов борьбы с ними — SAST. И ещё про то, что такое taint-анализ и как он во всём этом участвует....
Базовая настройка SAST и DAST для django в gitlab cicd: как быстро внедрить решения по безопасности
Привет, меня зовут Егор и я Tech Lead в компании ИдаПроджект :) Занимаюсь стратегией, процессами и командами в направлении backend разработки. Сегодня расскажу вам о базовой настройке SAST и DAST для django в gitlab cicd. В разработке использование SAST (Static Application Security Testing) и DAST...
Смешивать, но не взбалтывать. Как мы добавили Sec между Dev и Ops
Привет, Хабр! Меня зовут Натали Дуботолкова, я старший инженер по разработке безопасного программного обеспечения в Basis. Хочу рассказать о том, как мы задумались над интеграцией работы безопасников непосредственно в процесс разработки и к чему это привело, а также о том, какие методы и...
Поиск потенциальных уязвимостей в коде, часть 1: теория
Риски наличия уязвимостей безопасности всем известны: нарушение работы приложения, потеря данных или их конфиденциальности. В этой статье мы посмотрим на наглядных примерах фундаментальную сторону подхода, при котором уязвимости можно находить ещё на этапе разработки. Читать далее...
19 ошибок в LLVM 19
Статический анализатор PVS-Studio способен находить ошибки даже в таком качественном и протестированном проекте, как LLVM. Чтобы это не было пустыми словами, мы время от времени перепроверяем проект и публикуем такие заметки, как эта. Читать дальше →...
Безопасная разработка на Python
Язык программирования Python получил широкую популярность среди разработчиков благодаря богатому функционалу и гибкости. Однако, как и у любого другого языка в Python имеются свои недостатки, связанные в том числе с безопасной разработкой. Python является интерпретируемым языком, он не работает...
Поиск ошибок в юнит-тестах
Давно хотелось написать статью, что юнит-тесты — это хорошо, но не стоит забывать, что они тоже могут содержать ошибки. Сейчас встретился проект DPDK, тесты которого хорошо демонстрируют этот нюанс. Давайте посмотрим, как выглядят типичные ошибки в юнит-тестах, и как они выявляются с помощью...
Вы таки внедрили сканеры безопасности в пайплайны — на этом все?
Привет! Я Максим Коровенков, DevSecOps Lead в Купере (ex СберМаркет). Хочу поделиться мыслями по поводу минимально необходимого набора процессов, сопутствующих внедрению сканеров безопасности в пайплайны разработки. В результате попытаюсь ответить на вопрос: «А что, собственно, стоит иметь в виду...
Выявление biderectional unicode троянов
Двое специалистов в своей довольно старой публикации Trojan Source: Invisible Vulnerabilities описали одну из интересных атак, суть которой заключается в следующем: при просмотре исходного кода вы видите одно, но при компиляции в конечном приложении будет реализована совсем другая логика. Суть...
Выявление bidirectional unicode троянов
Двое специалистов в своей довольно старой публикации Trojan Source: Invisible Vulnerabilities описали одну из интересных атак, суть которой заключается в следующем: при просмотре исходного кода вы видите одно, но при компиляции в конечном приложении будет реализована совсем другая логика. Суть...
Внедряем DevSecOps в процесс разработки. Часть 3. Этап Post-build Checks в DevSecOps, обзор инструментов
Привет! На связи Олег Казаков из Spectr. В предыдущей части статьи я говорил о таком этапе DevSecOps как Commit-time Checks. Он отвечает за контроль корректности и безопасности кода в GIT-репозитории. А в этой части материала я расскажу, что же такое Post-build Checks, и как на этом этапе...
Внедряем DevSecOps в процесс разработки. Часть 2. Обзор инструментов, Commit-time Checks
Привет! На связи Олег Казаков из Spectr. Мы продолжаем публикацию цикла статей, где делимся опытом и наработками и рассказываем, из чего состоит DevSecOps и как его внедрить в процесс разработки. В предыдущей части статьи я рассказал о том, что представляет собой процесс DevSecOps в целом, из каких...
Идеальный кейс внедрения DevSecOps. Так бывает?
Привет, на связи отдел безопасной разработки СИГМЫ (ОБР). И хоть наша команда сформировалась относительно недавно, мы уже приобщились к «вечному» — а именно «противостоянию» разработки и безопасников. Если вы читаете эту статью, скорее всего такое знакомо и вам. Но иногда в этом взаимодействии...
Через тернии к звёздам: строим SSDLC на OpenSource-компонентах
Привет! Меня зовут Максим Коровенков, я DevSecOps Lead в СберМаркете. Хочу рассказать о том, как мы строим developer-центричный DevSecOps. Мы набили по ходу этого «строительства» уже достаточное количество шишек, поэтому, дабы поберечь вас, делюсь обретенным опытом. Статья будет полезна тем, кто...
Плагины IDE — простой способ войти в безопасную разработку. Без регистрации и СМС
Разработчики используют плагины каждый день, и их функциональность призвана упростить разработку, например, автоматически проверять проставление всех специальных символов (таких как «;», «:») или соблюдение синтаксиса. Они буквально были созданы для того, чтобы разработчики прямо во время написания...
Загрязненный — значит опасный: про уязвимость Prototype Pollution
Prototype Pollution (CVE-2023-45811, CVE-2023-38894, CVE-2019-10744) — не новая брешь, вы уже наверняка читали про нее и на Хабре, и на PortSwigger, и даже в научных журналах, но есть нюанс. Несмотря на большое количество публикаций, некоторые популярные решения до сих пор остаются уязвимыми для...