تشخيص ما بعد التنفيذ
شاركت جين إيستري مؤخرًا تشخيصًا دقيقًا للأمن السيبراني. قالت إننا لا نواجه مشكلة في الأمن السيبراني، بل نواجه مشكلة في جودة البرمجيات.
نحن نقضي عقودًا في بناء صناعة لإصلاح عيوب لم يكن ينبغي لها أن توجد أصلًا.
الهدف هو نقل الأمن إلى المراحل المبكرة (upstream). يجب أن ندمج الأمن في الكود منذ البداية، لا أن نقوم بإضافته لاحقًا كملحق.
تشخيصها صحيح، لكن وصفها العلاجي خاطئ.
أدوات مثل Project Glasswing من Anthropic تكتشف الثغرات وتساعد في إصلاحها. هذا أسرع، وأرخص، وأفضل.
لكنه يظل حلًا لمرحلة ما بعد التنفيذ.
العثور على خطأ برمجي بشكل أسرع لا يزال يعني العثور على خطأ. وإصلاحه بتكلفة أقل لا يزال يعني إصلاحه. الثغرة لا تزال موجودة؛ لقد تم إنشاؤها، ثم تم نشرها، ثم اكتشفها الذكاء الاصطناعي.
هذه ليست نهاية مرحلة ما بعد التنفيذ، بل هي مجرد مرحلة ما بعد تنفيذ أسرع.
الأمن الحقيقي في المراحل المبكرة (upstream) يستخدم قواعد حتمية (deterministic)، ولا يستخدم نماذج احتمالية (probabilistic).
الأمن الحقيقي في المراحل المبكرة يبدو كالتالي:
• يحدد البشر ما يجب أن يكون صحيحًا قبل كتابة الكود. • تتحقق الآلات من كل تغيير مقابل ذلك التحديد. • يرفض النظام أي شيء ينتهك القاعدة.
هكذا تعمل الطيران والمحطات النووية. فالطيار لا يكتشف الأخطاء بعد الرحلة، بل يقوم كمبيوتر الطيران بمنع الحالات غير الآمنة أثناء الرحلة.
في البرمجيات، يجب أن نفعل الشيء نفسه.
إذا كانت الثغرة قابلة للتنبؤ، فيجب علينا تحديدها.
• عدم السماح بحاويات S3 العامة. • عدم السماح بطلبات API غير المصادق عليها. • عدم السماح بالعيوب الحرجة المعروفة في التبعيات (dependencies).
إذا حددت هذه القواعد، فلن توجد الثغرة أصلًا. لن تحتاج إلى البحث عنها، ولن تحتاج إلى إصلاحها، ولن تحتاج إلى إنفاق المال على الذكاء الاصطناعي لاكتشافها.
الذكاء الاصطناعي رائع في العثور على أنماط جديدة وغير معروفة. لكن استخدام الذكاء الاصطناعي للتحقق من أخطاء التكوين المعروفة هو استخدام للأداة الخاطئة. الأمر يشبه استخدام قصيدة لقياس درجة الحرارة بينما تملك ميزان حرارة؛ ميزان الحرارة دقيق، أما القصيدة فهي مجرد رأي.
أفضل طريقة لاستخدام الذكاء الاصطناعي هي استخدامه كآلية تمنع التراجع (ratchet):
- يكتشف الذكاء الاصطناعي نوعًا جديدًا من الثغرات.
- يراجع البشر ما تم اكتشافه.
- يكتب البشر قاعدة جديدة لمنع هذا النوع من الأخطاء إلى الأبد.
- تقوم الآلة بفرض تلك القاعدة تلقائيًا.
هذا يجعل مهمة الذكاء الاصطناعي أصغر يومًا بعد يوم.
نحن لا نحتاج إلى حل سحري (silver bullet). نحن بحاجة إلى نظام من التحديد، والتحقق، والاكتشاف.
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi