التعمية تُخفي ما قلته. وهذا يُخفي أنك تكلّمت.
التعمية تُبقي محتوى الرسالة خاصًّا. لكنها لا تُخفي أن الرسالة حدثت. فمن يراقب الشبكة يرى مَن يكلّم مَن، ومتى، وكم كيلوبايت (KB) انتقل — وهذا في السياقات الحسّاسة قد يهمّ بقدر الكلمات نفسها. يُبقي AEGIS حركة البيانات بين أعضاء مجموعة مغلقة جاريةً بمعدّل ثابت سواء وُجد ما يُرسَل أم لا، فلا يحمل التوقيت ولا الحجم أي إشارة.
“لا شيء يُعدّ منجزًا قبل أن تؤكّده محاكاة هجوم.”
الحدس في تحليل حركة البيانات أخفق مرارًا أثناء التطوير. ولم تثبت جدارةً بالثقة سوى منصّة المحاكاة، فصارت هي البوابة. ومنصّة Python في
sim/ هي سجلّ الأدلّة وراء كل ادّعاء كمّي في المواصفة — لا فكرة لاحقة تصادق على تصميم شُحن أصلًا.
ما هذا، في دقيقة واحدة
من يستطيع مراقبة الشبكة لا يحتاج إلى كسر التعمية. فهو يرى أن طرفًا أرسل 14 KB في 09:41:03 وأن آخر استقبل 14 KB بعد ثلاث ثوانٍ، وأن الأمر نفسه يتكرّر مرّتين يوميًّا على مدى أحد عشر أسبوعًا. وبتكراره كفايةً، تصير تلك خريطةً لمن يعمل مع مَن، مرسومة دون قراءة رسالة واحدة.
يجعل AEGIS السلك يبدو كما هو في كل وقت. تخرج الحركة بمعدّل ثابت سواء وُجد ما يُرسَل أم لا، وما يصل يُحشى إلى حجم ثابت، فلا توجد دفقة في طرف تُطابَق بدفقة في الطرف الآخر. يكلّف ذلك عرض نطاق ويضيف تأخيرًا؛ والعرض أدناه يُظهر الحماية والثمن جنبًا إلى جنب.
غرف الأخبار وكل من يحمي مصدرًا، حيث وقتُ الاتصال وحجمه هما ما يكشف الشخص. والمصارف وشركات التأمين والهيئات القطاعية التي تتنافس فيما بينها ويلزمها مع ذلك تبادل البيانات. والمؤسسات التي تتشارك تحذيرات الهجمات، حيث قد يكون ظهورُها وهي تتشارك هو الجزء الحسّاس.
البيانات الوصفية هي الجزء الذي يعرّف بك
الخصم السلبي العالمي لا يستطيع قراءة رسائلك. وهو لا يحتاج إلى ذلك. إنه يراقب كل وصلة في آن واحد ويربط: هذه النقطة أرسلت 14 KB عند 09:41:03، وتلك النقطة استقبلت 14 KB عند 09:41:06، والنمط يتكرّر مرّتين يوميًّا على مدى أحد عشر أسبوعًا.
الحجم والتوقيت يكفيان لإعادة بناء رسم العلاقات لمؤسسة بأكملها دون كسر شيفرة واحدة. وفي اتحاد — مصارف تتقاصّ فيما بينها، ومستشفيات تتبادل السجلات، وغرف أخبار مع مصادرها — فإن رسم العلاقات هو المعلومة الحسّاسة.
يجعل AEGIS السلك جدارًا مسطّحًا لا يتغيّر. معدّل ثابت مهما كان ما يجري تحته، فلا يحمل الحجم ولا التوقيت أي إشارة على الإطلاق. والعرض أدناه يتيح لك تشغيل الهجوم على الإعدادين ورؤية الفرق.
شبكة مختلطة مُشكَّلة
بيانات صغيرة ومتقطّعة إضافة إلى كل حركة التحكّم. حزم Sphinx تُبثّ بمعدّل ثابت، مع حشو عند المستقبِل بسقف صارم كي يكون حجم الوارد إلى المستقبِل ثابتًا أيضًا.
مستوى النقل الضخم
نقل ملفات كبيرة بمستوى أمان قابل للضبط — خام، أو بسِلال، أو بدفعات منتظمة. أنت تختار موضعك على منحنى التكلفة؛ ولا شيء مخفيّ عن الثمن.
كن أنت الخصم السلبي العالمي
خمسة مرسِلين، كل واحد يكلّم مستقبِلًا واحدًا بالضبط من خمسة. أنت لا ترى إلا حجم الحركة على كل وصلة — لا المحتوى ولا التوجيه أبدًا. اربط السلاسل وحاول استعادة الاقتران. ثم شغّل دفاع المعدّل الثابت وحاول مجدّدًا.
منصّة تحليل حركة البيانات
استنتاج الخصم
تكلفة الدفاع
مستوى الصدفة 20% — زوج واحد من كل خمسة يُستعاد بالتخمين. وأي شيء أعلى من ذلك بفارق معتبر يعني أن الخصم يفوز. وأرقام التكلفة هي النصف الصادق الآخر: التشكيل بمعدّل ثابت ليس مجانيًّا، وAEGIS لا يتظاهر بأنه كذلك.
ثماني مراحل، كل واحدة خلف بوابة فريق أحمر
التنفيذ مكتمل حتى المرحلة 8، التحصين. وهذه هي الأرقام التي يبلّغ عنها المستودع: جرى الاختبار العشوائي تحت نظام ويندوز الفرعي للينكس (WSL)، وعملت شبكة الاختبار على مقابس بروتوكول التحكّم بالنقل (TCP) حقيقية.
| المجال | النتيجة | ملاحظات |
|---|---|---|
| متجهات التعمية | 36 / 36 | |
| توجيه المُرحِّلات | 14 / 14 | |
| الطوبولوجيا | 41 / 41 | |
| المفاوِض / ارتباط النقل الضخم | 25 / 25 | |
| اختبارات مساحة العمل | 195 | كلها ناجحة |
| اختبار عشوائي أمني | 1.17M+ | libFuzzer عبر WSL، بصفر انهيار |
| شبكة اختبار | TCP حقيقي | توجيه حزم Sphinx عبر مقابس حقيقية |
| تحليل الآثار | حميد في مقابل خبيث | مقارنة آثار حقيقية |
يُخفي مَن يتكلّم، لا ما قيل فقط
تشويش الرسالة مسألة محلولة. أما ما لا يُخفيه فهو أنك أرسلت رسالة، وإلى مَن، ومتى، وبأي حجم. وهذا النمط وحده يكفي غالبًا للتعرّف على الأشخاص.
غرف الأخبار وكل من يحمي مصدرًا
لا يحتاج أحد إلى قراءة الرسالة إن كان يرى أن شخصًا بعينه اتّصل بصحافي بعينه في الثانية صباحًا. التوقيت والحجم هما ما يكشف الناس.
شركات متنافسة مضطرّة مع ذلك إلى تبادل البيانات
المصارف وشركات التأمين والتجمّعات الصناعية تتبادل المعلومات وهي تتنافس. ومَن بدأت فجأة تكلّمه، وكم مرّة، يفضح ما تعمل عليه.
مؤسسات تتبادل تحذيرات عن الهجمات
تبادل معلومات التهديدات مفيد، لكن أن يُرى المرء وهو يتبادلها قد يكون هو الجزء الحسّاس. وهذا يُبقي واقعة المحادثة نفسها خاصة، لا محتواها فقط.
ما يجلس فوق التشكيل
- مصافحات بسرّية أمامية. اختراق المفاتيح طويلة الأمد لا يكشف الجلسات بأثر رجعي.
- اختيار مسار يراعي السمعة. المسارات تفضّل المُرحِّلات ذات السلوك الراسخ.
- منارات عشوائية موزّعة. لا طرف واحد يتحكّم في إنتروبيا اختيار المسار.
- براهين سمعة بلا معرفة. يُثبت المُرحِّل أنه يتجاوز عتبة سمعة دون كشف درجته.
- فحص عقد الحراسة. مقاومة هجوم Sybil عند النقطة الأهم.
أين تتوقّف الضمانات
- الحركة الداخلية فقط. الضمانات القوية تسري داخل الاتحاد. أما الخروج إلى الشبكة المكشوفة فأضعف، ولا يُدَّعى غير ذلك.
- تجريبي، لا مبرهَن. النتائج حدود تجريبية تحت نموذج الخصم المذكور. وليست براهين رياضية.
- زمن الكمون أصيل. زمن كمون بعدّة ثوانٍ خاصية في التصميم، لا مشكلة ضبط ستُحسَّن حتى تختفي.
- أداة خاطئة لطرفين اثنين. يناسب AEGIS إخفاء رسم العلاقات عبر نقاط كثيرة. أما وصلة بين طرفين، فدفاعات طبقة الوصلة أفضل.
- يبقى بحث مفتوح.
docs/ops/RESEARCH_AGENDA.mdهو القائمة الصادقة لما لم يُنجَز بعد.
cargo deny لتدقيق الاعتماديات، وسياسة على مستوى مساحة العمل تمنع الشيفرة غير الآمنة. ولحزمة شبكة بلغة Rust تتعامل مع مدخلات عدائية، فإن #![forbid(unsafe_code)] في كل مساحة العمل هو أكثر سطر يحمل ثقلًا في المشروع.