قابلية الوصول كدليل

إثبات ما إذا كان تم استدعاء التعليمات البرمجية الضعيفة بالفعل

تحليل ثلاثي الطبقات - الرسوم البيانية الاستدعاءية الثابتة، ومطابقة الرموز الثنائية، وتحقيقات eBPF لوقت التشغيل - ينتج أدلة DSSE موقعة تقلل بشكل كبير النتائج الإيجابية الكاذبة.

ما يعنيه هذا لعملك

أصلح فقط الثغرات التي يمكن لتطبيقك الوصول إليها فعلاً — تخطَّ الباقي. تثبت Stella أي CVEs قابلة للوصول حتى يركز فريقك على المخاطر الحقيقية، وليس ضوضاء الماسحات. 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 لوقت التشغيل

ملف تعريف إنتاج اختياري. يلتقط استدعاءات الوظائف الفعلية أثناء التنفيذ.

  • • أدوات eBPFمرشح بيركلي الممتد للحزم — تقنية نواة لينكس تُشغّل برامج معزولة للمراقبة عالية الأداء وتحليل وقت التشغيل بدون وحدات نواة المستندة إلى Tetragon
  • • السجلات الرمز_id، code_id، hit_count، Loader_base
  • • الحفاظ على الخصوصية: لا يتم التقاط قيم وسيطات

النتيجة: إيجابيات كاذبة أقل بشكل ملحوظ. ركز على 12 CVEs يمكن الوصول إليها بدلاً من 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) عبر جميع المسارات. تساهم العقد غير المعروفة في تسجيل المخاطر بدلاً من تجاهلها.

Reachability coverage matrix for policy gating

Before enabling hard blocking in production, validate coverage on your own code corpus. The matrix below describes how to evaluate each language/runtime path and how unknowns should be treated.

Language/runtimeStatic call pathBinary/symbol evidenceRuntime evidenceDefault gate when unknown
Go, Rust, C/C++Validate direct and transitive call-path extractionValidate symbol/build-id matching accuracyOptional eBPF confirmation for high-risk servicesReview or block on critical findings by policy
Java and JVM languagesValidate method-level reachability and dynamic dispatch casesValidate bytecode/jar symbol mappingRuntime traces recommended for reflective pathsRoute unknowns to manual review lane
.NETValidate IL call graph and package lineageValidate PDB/symbol resolution in release buildsRuntime confirmation for trimmed/AOT scenariosReview unknowns before allow decision
Node, Python, Ruby, PHPValidate framework entrypoints and dynamic import boundariesSymbol evidence is partial by design for dynamic dispatchRuntime traces strongly recommendedKeep unknown as explicit state and require approval

Policy recommendation: treat unknown as a first-class verdict, set explicit thresholds per severity, and log reviewer override reasons in the evidence bundle.

Implementation: signed proofs

ينتج عن كل تحليل لقابلية الوصول دليلًا موقّعًا مشفرًا ومخزنًا في وحدة تخزين موجهة للمحتوى. DSSE?Dead Simple Signing Envelope - معيار بسيط ومرن لتوقيع البيانات بتوقيعات تشفيرية DSSEDead Simple Signing Envelope - معيار بسيط ومرن لتوقيع البيانات بتوقيعات تشفيرية مظروف بتنسيق in-totoإطار عمل لتأمين سلسلة توريد البرمجيات من خلال التحقق من أن كل خطوة تمت كما هو مخطط ومن قبل جهات مصرح لها SLSAمستويات سلسلة التوريد لأمان البرمجيات — إطار عمل لضمان سلامة المنتجات البرمجية عبر سلسلة التوريد بأكملها الأصلي يمكن التحقق منه بواسطة المدققين دون الوصول إلى الشبكة تنتج إعادة التشغيل الحتمية نتائج متطابقة البت الرسم البياني والتتبعات المؤرشفة في وضع عدم الاتصال التحقق مسارات التخزين المعنونة بالمحتوى 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إطار عمل لتأمين سلسلة توريد البرمجيات من خلال التحقق من أن كل خطوة تمت كما هو مخطط ومن قبل جهات مصرح لها SLSAمستويات سلسلة التوريد لأمان البرمجيات — إطار عمل لضمان سلامة المنتجات البرمجية عبر سلسلة التوريد بأكملها الأصلي
  • يمكن التحقق منه بواسطة المدققين دون الوصول إلى الشبكة
  • تنتج إعادة التشغيل الحتمية نتائج متطابقة البت
  • الرسم البياني والتتبعات المؤرشفة في وضع عدم الاتصال التحقق

مسارات التخزين المعنونة بالمحتوى

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 للعنصر الأساسي.

جاهز لتقليل الإيجابيات الكاذبة بشكل ملحوظ؟

تثبيت Stella Ops والبدء في إنتاج أدلة قابلية الوصول الموقعة من خلال تحليل ثلاثي الطبقات.