نموذج التهديدات
قيد التطوير
| التهديد | ما يحصل عليه المهاجم | التخفيف |
|---|---|---|
| اختراق قاعدة البيانات | عناوين البريد الإلكتروني، وسجلات OPAQUE، والنص المشفَّر، والمفاتيح العامة، والبيانات الوصفية | يجعل المفتاح السري الكسر دون اتصال مستحيلًا. ويضيف Argon2id كلفة حتى إذا تسرّب مفتاح سري أيضًا من جهاز. |
| مشغّل خادم خبيث أو مُكرَه | كل ما يتيحه الاختراق، إضافة إلى القدرة على تقديم شيفرة معدَّلة | ستكون التطبيقات الأصلية والإضافات موقَّعة وقابلة لإعادة الإنتاج عند إصدارها. خزنة الويب هي نقطة الضعف، لأن الخادم يقدّم شيفرتها. وسائل التخفيف: Subresource Integrity، وبناءات قابلة لإعادة الإنتاج مع تجزئات منشورة، وفحص تجريه الإضافة للتحقق من تجزئات خزنة الويب، وتوثيق يوصي بالتطبيقات لأعلى درجات الضمان. |
| موفّر هوية معادٍ أو مخترَق | يستطيع رفض عمليات تسجيل الدخول، أو تمرير تسجيل دخول لمن يملك أصلًا كلمة المرور الرئيسية والمفتاح السري | يعمل تسجيل الدخول الموحّد بعد OPAQUE ولا يشارك في اشتقاق المفاتيح، لذلك لا يفتح أي طريق إلى خزنة. |
| مسؤول خبيث في مؤسسة | قوائم الأعضاء، وأسماء المجموعات، والسياسات | أدوار المسؤولين لا تفتح شيئًا. لا يقرأ المسؤول إلا الخزائن التي يملك منحة لها، ويستطيع منع أحد من الوصول إلى خزائن المؤسسة لكنه لا يستطيع قراءة الخزائن الشخصية. ويُوضَّح وصول المالكين إلى خزائن المؤسسة قبل الانضمام. |
| خادم يضيف شخصًا مزيفًا إلى مجموعة | يُطلب من جهاز أحد حاملي المفتاح أن يختم المفتاح لذلك الشخص | يعرض تطبيق الوصول دائمًا كل شخص وبصمة محسوبة محليًا ليؤكدها إنسان. |
| مهاجم على الشبكة | لا شيء مفيد | TLS 1.3 وHSTS preload. يبقي OPAQUE كلمة المرور خارج الشبكة حتى لو كُسر TLS. |
| موقع تصيد | لا شيء | لا يقترح الملء التلقائي إلا بيانات الدخول لمضيف الصفحة نفسه أو لنطاق فوقه أو لمضيف تحته، على النطاق القابل للتسجيل نفسه (Public Suffix List)؛ أما بيانات الدخول لأجزاء أخرى من النطاق فلا تُملأ إلا حين تختارها. ولا يحدث أبدًا داخل إطارات iframe من أصل مختلف دون موافقة، ويلزم إجراء من المستخدم. لا يُجاب عن مطالبات تسجيل الدخول عبر HTTP إلا للأصل المطابق تمامًا لبيانات الدخول (ولنطاق realm الخاص بها)، بعد موافقة أولى، ولا يُجاب أبدًا عن إطارات أو طلبات بدأها موقع آخر. مفاتيح المرور مرتبطة بموقعها بحكم تصميمها. |
| اختطاف النقرات في واجهة الإضافة | خداعك لتنفيذ الملء | عرض الواجهة داخل الصفحة في الطبقة العليا أو في إطار خاص بالإضافة؛ وفحوص للظهور والشفافية على الحقل المستهدف وعلى واجهة Octa Pass نفسها؛ ورفض الملء عندما تعبث الصفحة بعناصر Octa Pass؛ وطلب تأكيد لعمليات الملء التي تطلقها أحداث اصطناعية. |
| سكربتات المواقع التي تقرأ القيم المملوءة | القيم الموجودة في الصفحة | الملء في النموذج المطابق فقط، وبعد إجراء من المستخدم فقط. لا ملء لكلمات المرور أو رموز TOTP على http:// دون تحذير. والاستثناء الوحيد، وهو متوقف افتراضيًا: التعبئة عند فتح الصفحة في الإضافة، في صفحات https:// فقط وببيانات الدخول المحفوظة لعنوانها بالضبط. وعند تشغيلها يستطيع الموقع قراءة بيانات الدخول المملوءة قبل أن تفعل أي شيء. |
| سرقة كلمة المرور الرئيسية والمفتاح السري (بالتصيد، أو بقراءتهما من جهاز) | تسجيل دخول على جهاز جديد | يطلب تسجيل الدخول بخطوتين من الأجهزة الجديدة رمزًا من تطبيق المصادقة أو مفتاح أمان أو رمز استرداد. توقف الرموز الخاطئة الخطوة الثانية مؤقتًا ويصل بريد إلكتروني إلى المالك. |
| جهاز مفقود أو مسروق | ذاكرة التخزين المحلية المشفَّرة | القفل التلقائي، والمفاتيح المدعومة بالعتاد، وتسجيل الخروج عن بُعد (يلغي رموز التحديث؛ وتبقى ذاكرة التخزين المحلية مشفَّرة). ومع تفعيل البقاء مفتوحًا، لا يفتح المفتاح المحفوظ على جهاز مقفل أو مطفأ شيئًا دون أن يكون الهاتف مفتوحًا أو أن تكون مسجّل الدخول إلى الحاسوب. وإذا كان Octa Pass ما زال يعمل، تبقى خزنته المفتوحة في الذاكرة والجهاز مقفل، دون مؤقت قفل يغلقها. |
| شخص يستخدم جهازك وهو مفتوح | مع تفعيل البقاء مفتوحًا (الافتراضي في التطبيقات والإضافة): فتح Octa Pass وتعبئة بيانات دخولك ورؤية كلمات مرورك. ومع إيقافه: لا شيء دون قفل جهازك أو كلمة مرورك الرئيسية | التصدير ومفتاحك السري وإعدادات حسابك ما زالت تطلب قفل جهازك أو كلمة مرورك الرئيسية في كل مرة. وما زالت كلمة مرورك الرئيسية تُطلب كل 14 يومًا. أوقف البقاء مفتوحًا لتعود إلى مؤقت القفل والسؤال عند الفتح. |
| سرقة رمز حساب الخدمة | تلك الخزنة وحدها، حتى يُلغى الرمز | الرمز مفتاح: احفظه في مخزن الأسرار في نظام CI لديك. وهو مرتبط بخزنة مشتركة واحدة، وللقراءة فقط افتراضيًا، ويمكن أن تنتهي صلاحيته، وكل جلب يُسجَّل في سجل الأمان. يقطع الإلغاء الوصول إلى الخادم فورًا ويدوّر مفتاح الخزنة؛ ويجب تغيير الأسرار التي قُرئت من قبل. |
| برنامج محلي يطلب أسرارًا من Connect | ما وافقت على منحه إياه | عبر مقبس أو عنوان loopback فقط، مع موافقة لكل عميل تعرض البرنامج الحقيقي حيث يستطيع النظام معرفته، ورمز مرتبط بذلك البرنامج، وتسجيل كل تسليم. ولا تستطيع صفحات الويب الوصول إليه. |
| شخص يحمل جهازًا مقفلًا، أو سكربت صفحة يرسل نماذج | يستطيع إضافة عمليات حفظ إلى صندوق الحفظ أثناء القفل، لكنه لا يستطيع قراءتها ولا قراءة أي شيء آخر | تُختم عمليات الحفظ بالمفتاح العام لحسابك. العناصر الجديدة منها تحمل وسم Unconfirmed للمراجعة؛ وبيانات الدخول الموجودة لا تأخذ إلا كلمة مرور جديدة وتبقى القديمة في سجلها؛ ولا يُحذف شيء. لا ينتظر أكثر من 50 في وقت واحد. |
| برمجيات خبيثة على جهاز مفتوح القفل | ربما كل شيء | خارج النطاق، كما هو الحال مع كل برامج إدارة كلمات المرور. يحدّ من التعرض المسح التلقائي للحافظة، وتقليل البيانات غير المشفَّرة في الذاكرة إلى أدنى حد، وعدم وجود أسرار في السجلات أو تقارير الأعطال. ومع تفعيل البقاء مفتوحًا، تستطيع البرمجيات الخبيثة التي تعمل باسمك فتح الخزنة، كما تستطيع فتح كلمات المرور المحفوظة في متصفحك؛ ومع إيقافه لا تعطيها الخزنة المقفلة إلا بيانات مشفّرة. وسؤال قفل الجهاز قبل الإظهار لا يوقف برمجيات خبيثة تقرأ الذاكرة. |
| عضو خبيث في خزنة مشتركة | العناصر في تلك الخزنة | لا يستطيع تجاوز تلك الخزنة. تؤدي إزالته إلى تدوير مفتاح الخزنة وإعادة تغليف مفاتيح العناصر. ويستطيع المالكون والمديرون أيضًا تدوير المفتاح عند الطلب. |
| جهة اتصال موثوقة أو منظِّم ينقلب عليك | مع تولّي الحساب، الحساب بعد انتهاء فترة الانتظار | يصل إلى صاحب الحساب بريد إلكتروني فورًا ثم يوميًا، ويستطيع الرفض إلى أن يحدث التولّي. ويحتاج التولّي إلى كلمة مرور جهة الاتصال نفسها إضافة إلى مفتاحها الخاص، ويُسجَّل، ويسجّل خروج صاحب الحساب، فلا يمكن أن يحدث خفية. ولا يمكن التراجع عنه: فترة الانتظار هي الحماية. واسترداد المنظِّم اختياري ولا يمنح أي قراءة. |
| إعادة الخادم إلى إصدار قديم أو تبديل العناصر | تقديم إصدارات قديمة على أنها الحالية | تمنع البيانات المرتبطة التبديل. وتتيح بيانات الخزنة الموقَّعة (vault manifests) بأرقام مراجعة متزايدة (1.0) للتطبيقات كشف الإعادة إلى إصدار قديم. |
| هجوم على سلسلة التوريد | تبعية أو بناء خبيث | ملفات lockfile، وcargo vet، وcargo deny، وnpm provenance، وحد أدنى من التبعيات في النواة، وموافقة شخصين على الإصدار، وبناءات قابلة لإعادة الإنتاج، وSBOM. |
| الحواسيب الكمّية (اجمع الآن وفك التشفير لاحقًا) | المفاتيح المختومة بـ X25519 وحده: المنح الأقدم، والمنح لحسابات ليس لها مفتاح ML-KEM بعد | الطبقات المتماثلة بطول 256 بت آمنة بالفعل. الختم الجديد هجين X25519 + ML-KEM-768. وتبقى المنح الأقدم تقليدية حتى التدوير التالي لمفتاح الخزنة. لم يراجعه خبير تشفير من خارج المشروع بعد. |
| خادم يستبدل المفتاح العام لشخص ما | مفتاح خزنة مختوم للخادم بدلًا من العضو | مقارنة البصمات، وسجل المفاتيح الذي يضع المفتاح المستبدَل حيث تراه أجهزة صاحبه الحقيقي. ولا يستطيع السجل كشف خادم يعرض على أشخاص مختلفين سجلات مختلفة. لم يراجعه خبير تشفير من خارج المشروع بعد. |
لم تُبنَ بعد
Section titled “لم تُبنَ بعد”وسائل التخفيف التالية من الجدول هي اليوم تصميمات وليست شيفرة. وكلها مطلوبة للإصدار 1.0:
- الخادم الخبيث: البناءات القابلة لإعادة الإنتاج، وSubresource Integrity، وفحص الإضافة لخزنة الويب. وإلى أن تتوفر، لا شيء يثبت أن الشيفرة المقدَّمة إليك هي الشيفرة المنشورة، لذلك عُدّ الخادم ذا الاستضافة الذاتية الذي تثق به، أو التطبيقات الموقَّعة بعد إصدارها، الخيار الأكثر أمانًا.
- إعادة الخادم إلى إصدار قديم: بيانات الخزنة الموقَّعة (vault manifests). تمنع البيانات المرتبطة التبديل بالفعل، لكن الإعادة إلى إصدار قديم لا تُكتشف بعد.
- سلسلة التوريد:
cargo vetوcargo denyوnpm provenance وموافقة شخصين على الإصدار وSBOM. ملفات lockfile والحد الأدنى من التبعيات موجودة بالفعل. - المهاجم على الشبكة: يُرسل HSTS عبر HTTPS، لكن الإدراج في قائمة preload ينتظر النطاق.
خارج النطاق
Section titled “خارج النطاق”- جهاز يسيطر عليه مهاجم بالكامل وهو مفتوح القفل
- مستخدمون يعطون كلمة المرور الرئيسية والمفتاح السري والخطوة الثانية لمهاجم
- نقاط الضعف في العتاد الآمن لنظام التشغيل نفسه
راجع أيضًا ما يراه الخادم والتشفير.