Buildography: инструмент идентификации реквизитов сборки


Скачать сборник технологий

Видеоролик о технологиях ИСП РАН

Buildography: инструмент идентификации реквизитов сборки

Buildography – инструмент для идентификации реквизитов сборки ПО: файлов программ на входных языках, зависимостей (системных библиотек, заголовочных файлов и т.п.), трансляторов и их конфигурационных файлов.

Особенности и преимущества

Buildography – прозрачный и легковесный трассировщик Linux-процессов, ориентированный на сбор информации о выполнении сборки программы для последующего аудита.

Buildography – это:

  • Получение структурированной информации о выполнившейся сборке программы в формате JSON.
  • Инструменты для анализа полученной информации. Пользователи могут создавать любые анализаторы, опираясь на стабильный формат выходного файла (часть API инструмента). В поставку уже входят инструменты для:
    • установления происхождения результирующих файлов;
    • обнаружения бинарных файлов, не созданных, но использованных в ходе сборки;
    • обнаружения файлов с исходным кодом, использованных в ходе сборки и расположенных вне заданных каталогов.
  • Независимость от используемых трансляторов или систем сборки.
  • Идентификация файлов по хэш-сумме содержимого, вычисленной по ГОСТ Р 34.11-2012.
  • Низкие накладные расходы за счёт асинхронного вычисления хэш-сумм в отдельных потоках выполнения, а также применения технологии Seccomp-BPF ядра Linux для фильтрации перехватываемых системных вызовов на стороне ядра.

Buildography отслеживает системные вызовы дочернего дерева процессов с помощью системного вызова ptrace и собирает следующую информацию:

  • Аргументы командной строки и рабочие каталоги порождаемых процессов.
  • Данные, идентифицирующие вызываемые программы: пути к исполняемым файлам и хэш-суммы их содержимого.
  • Данные о файлах, которые открывались в процессе сборки.

Для кого предназначен Buildography?

  • Разработчики и вендоры, собирающие ПО из исходных кодов.
  • Специалисты по автоматизации процесса разработки безопасного ПО (DevSecOps-инженеры).
  • Аудиторы процессов разработки безопасного ПО и компании, желающие пройти сертификацию.

Опыт внедрения

Buildography проходит апробацию у ряда российских вендоров системного и облачного ПО.

Системные требования

  • ОС: ядро Linux версии не ниже 4.8.
  • Процессорные архитектуры: Intel x86_64, ARM64.

Схема работы

Buildography

Перейти к списку всех технологий