Досяжність як доказ

Доведіть, чи є вразливий код. Насправді називається

Трирівневий аналіз — статичні графіки викликів, зіставлення двійкових символів, зонди eBPF під час виконання — створює підписані докази DSSE, які значно зменшують помилкові спрацьовування.

Трирівневий аналіз

Кожен рівень надає дедалі вагоміші докази того, що вразлива функція доступна (чи не доступна) із вашої програми код.

Рівень 1

Аналіз статичного графіка викликів

Витягти графіки викликів із байт-коду, AST і вихідного коду. Відстежуйте шляхи від точок входу до вразливих символів.

  • • Підтримка мов: Go, Rust, C#, Java, Python, JavaScript, C/C++
  • • Обробляє віртуальну диспетчеризацію, виклики інтерфейсу, відображення з консервативним наближенням
  • • Створює DAG зі станом доступності за вузол
Рівень 2

Аналіз двійкових символів

Поставте вразливі символи зі скомпільованим двійковим експортом. Підтверджує, що код дійсно пов’язано.

  • • Вилучення таблиці символів з ELF, PE, Mach-O
  • • Перехресні посилання на інформацію про налагодження DWARF/PDB, якщо доступна
Рівень 3

Програми eBPF під час виконання

Додаткове профілювання виробництва. Захоплює фактичні виклики функцій під час виконання.

  • • Інструмент eBPF на основі Tetragon
  • • Записи symbol_id, code_id, hit_count, loader_base
  • • Збереження конфіденційності: значення аргументів не фіксуються

Результат: значно менше помилкових спрацьовувань. Зосередьтеся на 12 доступних CVE замість 487 теоретичних.

Node Hash Приєднання

Свідчення доступності адресовано вмісту для дедуплікації та перевірки. Хеші вузлів забезпечують ефективну різницю між версіями.

Хеш вузла

SHA256(normalize(purl) + ":" + normalize(symbol))

Хеш шляху

SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash)

Top-K значущих шляхів зберігаються в наборі доказів. Шляхи ранжуються за частотою виконання (від часу виконання) або глибиною виклику (від статики).

Невідомі як першокласні Стан

Якщо аналіз не може визначити доступність, невизначеність відстежується явно — не приховується або мовчки вважається безпечною.

Відро доступностіВага за замовчуванням
Точка входу1.0
Прямий виклик0.85
Підтверджено в рантаймі0.45
Невідомо0.5
Недосяжно0.0

Кінцева оцінка = max(bucket_weights) по всіх шляхах. Невідомі вузли сприяють підрахунку ризиків, а не ігноруються.

DSSE Підписані докази

Кожен аналіз доступності створює підтвердження з криптографічним підписом, яке зберігається в сховищі з адресою вмісту.

  • DSSE конверт із in-toto форматом предикату SLSA
  • Перевіряється аудиторами без доступу до мережі
  • Детермінізоване відтворення дає бітово-ідентичні результати
  • Графік і трасування заархівовано для перевірки в режимі офлайн

Шляхи зберігання з адресою вмісту

cas://reachability_graphs/<hh>/<sha>.tar.zst

cas://runtime_traces/<hh>/<sha>.tar.zst

Програми виконання eBPF

Додатковий інструментарій на основі Tetragon фіксує фактичне виконання функцій у виробництві, забезпечуючи найдостовірніші докази доступності.

Захоплені дані зонду

symbol_id: канонічний ідентифікатор символу

code_id: ідентифікатор секції коду

hit_count: частота виконання

loader_base: базова адреса в пам’яті

cas_uri: посилання з адресацією за вмістом

Зонди надсилають спостереження в /api/v1/observations пакетами. Кожне спостереження включає CAS URI для основного артефакту.

Готові значно скоротити помилкові спрацьовування?

Установіть Stella Ops і почніть створювати підписані докази досяжності з трирівневим аналізом.