Smart-Diff — семантична промяна на риска

Какво се промени във възможността за експлоатация, а не в броя CVE

Семантична промяна на достижимостта и състоянието на VEX между две издания.

Промяната в броя показва колко идентификатора са добавени и премахнати. Smart-Diff сравнява двата хеша като състояния на риска: кои находки са получили или загубили наблюдаван път за изпълнение, кои състояния на VEX са се променили и кои от тези промени се оценяват от политиката ви.

Променя какво проверяващият чете първо, но никога самите находки.

Къде се намира във веригата за проследимост

  1. Източник
  2. Компилиране
  3. Сканиране
  4. Оценка
  5. Решение
  6. Внедряване
  7. Наблюдение

Промяната се изчислява при преглед на кандидат-хеша за повишаване: оценката носи промените спрямо хеша, който се заменя, а решението ги запечатва в доказателствата.

Два прочита на едно и също издание

Илюстративен пример — демонстрационна формулировка, а не измерен резултат.

Инструмент, основан на брой, докладва

+3 CVE

Три идентификатора са добавени с актуализация на базовия образ и повишаване на зависимост. Броят показва увеличение на риска, но не може да покаже дали някой от трите може да се изпълни.

Smart-Diff докладва

+3 CVE, използваемата за атака повърхност е намаляла

Трите добавени находки не се намират в наблюдаван път за изпълнение. Една находка, която е била REACHABLE и некоригирана в предишния хеш, е премахната. Съществената промяна е премахването.

„+3 CVE, използваемата за атака повърхност е намаляла“ е изречение, което инструмент, основан на брой, не може да създаде. То изисква да се знае кои находки могат да се изпълнят, а не колко съществуват.

Какво сравнява в действителност

Smart-Diff е разлика в състоянието на риска, обвързана с два хеша на образи: изданието, което изпълнявате, и предложеното издание. ReachabilityАнализ, доказващ дали уязвимият код реално се извиква от приложението ви — филтрира фалшиви положителни от шума на скенерите

Промени в достижимите пътища

Кои находки са получили или загубили наблюдаван път за изпълнение между базовия и целевия хеш. Находка, която престава да бъде REACHABLE, е различно събитие от находка, която изчезва.

Преходи на състоянието на VEX

Промени на декларации, например от affected към not_affected, записани с обосновката зад тях — проверяващият вижда защо състоянието се е променило, а не само че се е променило.

Как Stella Ops обработва SBOM и VEX →

Промени, свързани с политиката

Промени, които преминават контролна точка, оценявана от политиката ви: промени в сериозността, наличност на корекция и клас на достижимост. Промените, които политиката ви пренебрегва, остават в разликата, но с по-нисък приоритет.

Обвързана с два хеша и възпроизводима като всяка оценка

Промяната се записва като удостоверение, подписано с DSSE, което посочва базовия и целевия хеш на образите. Полезният му товар съдържа добавените, премахнатите и променените находки, резултата от контролната точка за достижимост и списъка със съществени промени. Изпълнете го повторно със същите два хеша и същите доказателства и ще получите същата промяна. DSSEDead Simple Signing Envelope – прост, гъвкав стандарт за подписване на произволни данни с криптографски подписи

Справочник за предиката на Smart-Diff →

Защо броят подвежда

Едно издание може да добави десет CVE идентификатора в код, който никога не се зарежда, и да премахне една находка, която е била REACHABLE и некоригирана. Контролна точка, основана на брой, блокира това издание — по-безопасното. Откриването на съществени промени в риска подрежда разликата така, че проверяващият първо да прочете какво е променило използваемата за атака повърхност. Останалите находки са достъпни с един филтър.

Контекст за основната съвкупност от находки, а не за промените: ~85% от критичните уязвимости в контейнери са в неактивен код (Sysdig 2024 Container Security Report). Промяна, която само брои идентификатори, наследява този шум и от двете страни на сравнението.

Къде се използва промяната

При прегледа на изданието преди повишаване.

  1. Кандидат-хешът достига до преглед. Оценката му съдържа промяната спрямо хеша, който в момента е одобрен в целевата среда.
  2. Проверяващият първо чете съществените промени: какво е станало REACHABLE, какво е престанало да бъде REACHABLE, кои състояния на VEX са се променили и защо.
  3. При повишаването промяната се запечатва в доказателствата за решението. Когато по-късно някой попита защо това издание е било допуснато, отговорът включва какво се е променило от предишния път, а не само моментна снимка.

Как решенията носят доказателства →

Границата

Качеството на промяната следва покритието на достижимостта. Анализът на достижимостта обхваща Java, C#, Go, JavaScript, TypeScript и Python. Извън тези езици Smart-Diff продължава да записва добавените, премахнатите и променените находки между двата хеша, но не може да твърди, че възможността за експлоатация се е променила, и го заявява, вместо да отчете липса на промяна.

Какво обхващат доказателствата за достижимост →