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

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

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

Що це означає для вашого бізнесу

Виправляйте лише вразливості, які ваш застосунок дійсно може зачепити — решту пропускайте. Пакет „Стела“ доводить, які CVE досяжні, щоб команда зосередилася на реальних ризиках, а не на шумі сканерів. ReachabilityАналіз, що доводить, чи дійсно вразливий код викликається вашим застосунком — фільтрація хибних спрацьовувань з шуму сканерів

30‑секундне резюме для керівників

До 70–90 %

Типове зниження шуму

Спостережуваний діапазон залежить від стеку та покриття.

3

Шари аналізу

Статичні графи викликів, бінарні символи, зонди eBPF у виконанні

100%

Підписано й відтворювано

Кожен вердикт досяжності — доказ, підписаний DSSE

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

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

Рівень 1

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

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

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

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

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

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

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

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

  • • Інструмент eBPFExtended Berkeley Packet Filter — технологія ядра Linux, що виконує ізольовані програми для високопродуктивного моніторингу та аналізу середовища виконання без модулів ядра на основі Tetragon
  • • Записи symbol_id, code_id, hit_count, loader_base
  • • Збереження конфіденційності: значення аргументів не фіксуються

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

Implementation: node hash joins

Свідчення доступності адресовано вмісту для дедуплікації та перевірки. Хеші вузлів забезпечують ефективну різницю між версіями. Хеш вузла SHA256(normalize(purl) + ":" + normalize(symbol)) Хеш шляху SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash) Top-K значущих шляхів зберігаються в наборі доказів. Шляхи ранжуються за частотою виконання (від часу виконання) або глибиною виклику (від статики).
Read more

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

Хеш вузла

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

Хеш шляху

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

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

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

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

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

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

Матриця охоплення доступності для стробування політики

Перш ніж увімкнути жорстке блокування у виробництві, перевірте покриття у своєму власному корпусі коду. Наведена нижче матриця описує, як оцінити кожну мову/шлях виконання та як слід обробляти невідомі дані.

Мова/час виконанняСтатичний шлях викликуДвійкові/символьні доказиДокази часу виконанняВорота за замовчуванням, коли невідомо
Вперед, Rust, C/C++Перевірка прямого та транзитивного вилучення шляху викликуПеревірте точність відповідності символу/ідентифікатора збіркиДодаткове підтвердження eBPF для послуг із високим ризикомПерегляд або блокування критичних висновків відповідно до політики
Мови Java та JVMПеревірте досяжність на рівні методу та випадки динамічної диспетчеризаціїПеревірте зіставлення символів байт-коду/jarТрасування часу виконання рекомендовано для рефлексивних шляхівНевідомий маршрут до смуги ручного перегляду
.NETПеревірте графік викликів IL і походження пакетівПеревірте роздільну здатність PDB/символів у збірках випусківПідтвердження часу виконання для сценаріїв урізаних/AOTПерегляньте невідомі, перш ніж дозволити рішення
Node, Python, Ruby, PHPПеревірте точки входу в структуру та динамічні межі імпортуСимвольне свідоцтво є частковим за дизайном для динамічного відправленняНастійно рекомендується трасування часу виконанняЗберігати невідомі як явні та вимагати схвалення

Політична рекомендація: розглядайте unknown як першокласний вердикт, встановіть чіткі порогові значення для кожного рівня серйозності та реєструйте причини перевизначення рецензентом у наборі доказів.

Implementation: signed proofs

Кожен аналіз доступності створює підтвердження з криптографічним підписом, яке зберігається в сховищі з адресою вмісту. DSSE?Dead Simple Signing Envelope – простий гнучкий стандарт для підпису довільних даних криптографічними підписами DSSEDead Simple Signing Envelope – простий гнучкий стандарт для підпису довільних даних криптографічними підписами конверт із in-totoФреймворк для захисту ланцюга постачання ПЗ шляхом перевірки, що кожен крок було виконано за планом і авторизованими учасниками форматом предикату SLSASupply-chain Levels for Software Artifacts — фреймворк для забезпечення цілісності програмних артефактів у всьому ланцюгу постачання Перевіряється аудиторами без доступу до мережі Детермінізоване відтворення дає бітово-ідентичні результати Графік і трасування заархівовано для перевірки в режимі офлайн Шляхи зберігання з адресою вмісту cas://reachability_graphs/<hh>/<sha>.tar.zst cas://runtime_traces/<hh>/<sha>.tar.zst
Read more

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

  • DSSEDead Simple Signing Envelope – простий гнучкий стандарт для підпису довільних даних криптографічними підписами конверт із in-totoФреймворк для захисту ланцюга постачання ПЗ шляхом перевірки, що кожен крок було виконано за планом і авторизованими учасниками форматом предикату SLSASupply-chain Levels for Software Artifacts — фреймворк для забезпечення цілісності програмних артефактів у всьому ланцюгу постачання
  • Перевіряється аудиторами без доступу до мережі
  • Детермінізоване відтворення дає бітово-ідентичні результати
  • Графік і трасування заархівовано для перевірки в режимі офлайн

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

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

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

Implementation: eBPF probes

Додатковий інструментарій на основі Tetragon фіксує фактичне виконання функцій у виробництві, забезпечуючи найдостовірніші докази доступності. Захоплені дані зонду symbol_id: канонічний ідентифікатор символу code_id: ідентифікатор секції коду hit_count: частота виконання loader_base: базова адреса в пам’яті cas_uri: посилання з адресацією за вмістом Зонди надсилають спостереження в /api/v1/observations пакетами. Кожне спостереження включає CAS URI для основного артефакту.
Read more

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

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

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

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

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

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

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

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

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

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