GH GambleHub

نمذجة التهديد والتحكم في المخاطر

1) المبادئ

1. الهندسة المعمارية أولاً. نبدأ بالسياقات وحدود الثقة وتدفقات البيانات.
2. خطر ≈ احتمال × تأثير. نحن نقيس، لا نشعر.
3. الدفاع في العمق. ضوابط على كل طبقة: رمز → بروتوكول → منصة → الأشخاص.
4. تحول إلى اليسار/اليمين. البوابات المبكرة في PR + المراقبة ورد الفعل في prod.
5. الخصوصية عن طريق التصميم. نحن لا نحاكي التهديدات الأمنية فحسب، بل نحاكي أيضًا مخاطر الخصوصية.
6. التشغيل الآلي حيثما أمكن. السياسات كرمز، التحقق التلقائي، «الخطوط الحمراء».


2) المخزون: الأصول والكيانات وحدود الثقة

الأصول: البيانات (PII، والتمويل، والأسرار)، وموارد الحوسبة، والمفاتيح، والوصول، والعمليات التجارية.
المواضيع: المستخدمون والخدمات والمديرون والشركاء ومقدمو الخدمات الخارجيون.
حدود الثقة: المستخدمون ↔ الأمام، بوابة واجهة برمجة التطبيقات ↔ الخدمات ↔ قواعد البيانات/المخابئ/قوائم الانتظار، المناطق/السحب.
سطح الهجوم: نقاط الإدخال (واجهة برمجة التطبيقات، خطوط الويب، واجهة المستخدم، الشبكات، CI/CD، سلسلة التوريد).

DFD (مثال، حورية البحر):
mermaid flowchart LR
U[Пользователь] -- TLS --> WAF[WAF/CDN]
WAF --> GW[API Gateway]
GW --> Svc[Service A]
Svc --> DB[(Postgres)]
Svc --> MQ[[Kafka]]
MQ --> SvcB[Service B]
subgraph Trust Boundary
GW; Svc; SvcB end

3) أطر التهديد

STRIDE (безопасность): الانتحال، العبث، التنصل، الكشف عن المعلومات، رفض الخدمة، رفع الامتياز.
LINDDUN (приватность): قابلية الربط، قابلية التعرف، عدم التنصل، قابلية الكشف، الكشف، عدم الوعي، عدم الامتثال.
PASTA (العملية): من أهداف الأعمال والجهات الفاعلة المهددة → التفاصيل الفنية → سيناريوهات الاختبار.

الجدول (أجزاء، مكونات × STRIDE):
العنصرSتيRأنادهاءالتحكم
بوابة واجهة برمجة التطبيقاتMTLS/OIDC، WAF، الحد الأقصى للمعدل، مراجعة الحسابات، HSTS
كافكاACLs، الأحداث الموقعة، الحصص، DLQs
PostgresTLS، RLS، KMS، الهجرات مع التحقق

4) تقييم المخاطر

تصنيف مخاطر DREAD/OWASP أو CVSS لنقاط الضعف.
الاحتمال (L): دافع/قدرات المهاجم، التعقيد، التعرض السطحي.
التأثير (I): التمويل، المخاطر القانونية، وقت التوقف، تسريبات PD.
المخاطر (R = L × I) → ترتيب الأولويات والابتكار: تجنب/تقليل/نقل/قبول.

المصفوفة (مثال):

Impact
Low Med High Critical
Lik Low  L  L  M   H
Med  L  M  H   H
High M  H  High  Crit

سجل المخاطر (الحقول الدنيا): «معرف، سيناريو، STRIDE، الأصول، L، I، R، المالكين، الضوابط، الحالة، تاريخ المراجعة».


5) الضوابط: منع/اكتشاف/الاستجابة

منع:
  • التوثيق/الإذن: OIDC/OAuth2، برنامج العمل، المكتب الإقليمي لآسيا والمحيط الهادئ/ABAC، أرصدة الخدمات القصيرة الأجل.
  • الأسرار/المفاتيح: KMS/HSM، التناوب، لا تعرف، FPE/التشفير الميداني.
  • البروتوكولات الآمنة: TLS1. 2 +، mTLS، توقيعات الشبكات، الخصوصية، ومكافحة إعادة التشغيل.
  • المصادقة/الصرف الصحي: المخططات (مخطط JSON/Proto)، الحدود، التطبيع.
  • العزلة: سياسات الشبكة، التجزئة، صندوق الرمل، مساحات الأسماء، الحواجز.
اكتشف:
  • سجلات مراجعة الحسابات (لا يمكن التعرف عليها)، الارتباط في SIEM، التنبيهات إلى الحالات الشاذة.
  • رصد التوقيع والسلامة (تصدير تجزئة القطع الأثرية، الشهادة).
  • Honeytokens/canaries للكشف المبكر عن تسرب المفاتيح.
الرد:
  • Runbook IR: التصنيف، العزل، استدعاء المفتاح، التنبيهات، الطب الشرعي.
  • Automatic kill-switch/feature-flag, "black lists' of tomens.
  • إخطارات المستخدمين/المنظمين في حالة حوادث PD.

6) SDL وبوابات الأمن

في الفكرة/التصميم: نموذج التهديد (RFC/ADR)، قائمة مرجعية للضوابط.
قيد التطوير: SAST/secret-scan، مسح التبعية (SCA)، سياسة التبعية.
في التجميع: SBOM، توقيع القطع الأثرية، سياسة الضعف (عتبات CVSS).
في الميدان: OPA/Kyverno - IaC/manifest policy (securityContext, network policies, secret referwarding).
في المبيعات: IDS/WAF، الكشف عن الشذوذ، فحوصات الكناري، أمن الفوضى (على سبيل المثال، شهادة منتهية الصلاحية).

مثال البوابة (Policy as Code, pseudo-Rego):
rego package policy.cicd deny[msg] {
some v input.sbom.vulns[v].cvss >= 7.0 msg:= sprintf("High vuln blocked: %s %s", [v.package, v.id])
}
deny[msg] {
input.k8s.pod.spec.securityContext.runAsRoot == true msg:= "RunAsRoot forbidden"
}

7) سلسلة التوريد والثقة في القطع الأثرية

SBOM لكل صورة/طرد ؛ تحديثات التبعية - عبر الروبوت/السياسة.
SLSA/المصدر: التجمعات القابلة للتكرار والتوقيعات والشهادات.
الحاويات: الحد الأدنى من الصور، بدون جذور، قدرات إسقاط، FS للقراءة فقط.
مسح IaC: Terraform/Helm - سياسة التشفير، المنافذ المفتوحة، قواعد الشبكة.


8) الخصوصية والامتثال

خريطة LINDDUN لتهديدات الخصوصية، وتقليل البيانات، والتسمية المستعارة/إخفاء الهوية.
سياسات الاحتفاظ: TTL/الاحتفاظ، «الحق في الحذف»، مراجعة الوصول إلى PD.
التوطين: القيود الجغرافية، «تبقى البيانات في المنطقة».
الشفافية: تجهيز سجلات الإخطار والموافقة.


9) السحب والمحيط

Zero Trust: مصادقة كل طلب، mTLS/OPA بين الخدمات.
التجزئة: VPC/subnets/SG، نقاط النهاية الخاصة، التحكم في الخروج.
المفاتيح/الأسرار: KMS، التناوب، الاعتمادات القصيرة في CI (اتحاد OIDC).
الاحتياطي/DR: نسخ احتياطية مشفرة، مفاتيح بشكل منفصل، بروفات الاسترداد.


10) فرق حمراء/أرجوانية وتمارين طاولة

الفريق الأحمر: اختبار فرضية التهديد، الهندسة الاجتماعية، استغلال السلسلة.
الفريق الأرجواني: التصحيح المشترك للاكتشافات/التنبيهات، وتحسين كتب اللعب IR.
سطح الطاولة: نصوص "شهادة منتهية الصلاحية"، "مفاتيح مسربة"، "تسوية سلسلة التوريد. "والنتيجة هي تحديث الضوابط والمقاييس.


11) مقاييس النضج والإدارة

التغطية:% من الخدمات مع نموذج التهديد الحالي و DFD.
السلامة MTTD/MTTR، نسبة الحوادث التي تم القبض عليها بواسطة الضوابط.
معدل نجاح السياسة في CI، حان الوقت لإغلاق نقاط الضعف حسب الأهمية.
الخصوصية:٪ من مجموعات البيانات مع TTL/ILM، حصة الوصول مع التبرير.
مراجعة الحسابات: انتظام تنقيح سجل المخاطر (ربع سنوي).


12) أنماط القطع الأثرية

12. 1 بطاقة المخاطرة (مثال)


Risk ID: SEC-API-012
Сценарий: SSRF через изображение в профиле
STRIDE: Tampering/Info Disclosure
Актив: API / файловый прокси
Likelihood: High  Impact: High  Risk: Critical
Контроли: denylist схем, egress-прокси, URL-fetcher в изолированном рантайме,
DNS-resolv только через прокси, время/размер-лимиты, allowlist.
Владелец: team-accounts  Статус: Reduce (в работе)
Дата пересмотра: 2025-12-01

12. 2 قائمة مرجعية للتصميم

تم تحديد الأصول و PII ؟ تحديد حدود الثقة ؟

هل يتم تكوين ورسم خرائط DFDs/حلقات البيانات إلى ADRs ؟

STRIDE/LINDDUN اجتاز كل سهم DFD ؟

اختيارات الخطر ؛ الملاك/المواعيد النهائية/وزارة الدفاع ؟

السياسات كما تمت إضافة الرمز (بوابات OPA/Kyverno/CI) ؟

تحديث خطة/تنبيهات الرصد ودليل تشغيل الأشعة تحت الحمراء ؟

الخصوصية: التقليل، التشفير، TTL/الاحتفاظ، التوطين ؟

12. 3 سياسة Webhook (Pseudocode)

python def verify_webhook(req, keys):
ts = int(req.h["X-Timestamp"])
if abs(now_utc()-ts) > 300: return 401 if not hmac_ok(req.body, ts, keys.active_or_prev(), req.h["X-Signature"]):
return 401 if replay_cache.seen(req.h["X-Event-ID"]): return 200
PoLP: в обработчике — только нужные скоупы handle(json.loads(req.body))
replay_cache.mark(req.h["X-Event-ID"])
return 200

13) الأنماط المضادة

نموذج التهديد «للعرض» بدون DFD/الثوابت.
«محيط خارق» بدون مصادقة داخلية من خدمة إلى خدمة.
أسرار طويلة الأمد في متغيرات البيئة/إعادة الشراء.
لم يتم تضمين السياسات على أنها رمز → دليل «منسي».
سجلات مع PD بدون تمويه وبدون الاحتفاظ/TTL.
تجاهل سلسلة التوريد (لا يوجد SBOM/التوقيعات/المسح).
تقبل بدون المالك وتاريخ المراجعة.


14) الاندماج في العمليات

RFC/ADR - يحتوي كل حل ذي مغزى على قسم التهديدات والضوابط.
Docs-as-Code: نموذج التهديد، DFD، سجل المخاطر في الإصدار المجاور للرمز.
بوابات الإصدار: يتم حظر الإصدار عندما تفشل سياسات SAST/SCA/SBOM أو تفتقد ضوابط عالية الخطورة.
التدريب: كتب اللعب للمطورين (أسرار، توقيعات، PoLP)، سطح طاولة عادي.


خامسا - الاستنتاج

نمذجة التهديد هي ممارسة هندسية لإدارة المخاطر، وليست وثيقة لمرة واحدة. تحديد الأصول وحدود الثقة، وتطبيق STRIDE/LINDDUN، وقياس المخاطر، وتسجيلها، وتنفيذ الضوابط كرمز من خلال تضمينها في CI/CD والتشغيل. مع مقاييس النضج والمراجعة المنتظمة، ستحول السلامة إلى قدرة معمارية يمكن التنبؤ بها - بسعر وتأثير وسرعة مفهومة.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.