ماذا تعني عبارة “آمن حسب التصميم”؟

“الأمان حسب التصميم” هو منهجية لإنشاء تطبيقات أو أنظمة كمبيوتر يتم فيها تطوير جميع جوانب البرنامج بطبيعتها بطريقة تجعل من الصعب أو المستحيل على مستخدم ضار إتلاف النظام أو مهاجمته أو اختراقه. في كثير من الحالات ، يتم التخطيط للبرامج الآمنة حسب التصميم منذ البداية لإغلاق حتى أصغر الثغرات الأمنية في الوظائف الأولية واستخدام التقنيات الكلاسيكية الموثوقة أثناء مرحلة الترميز لضمان عدم حدوث أي عيوب في المنتج النهائي. بعض المجالات الرئيسية التي يتم التركيز عليها في الهندسة الآمنة حسب التصميم هي مدخلات المستخدم أو العميل ، والاتصالات الآمنة والتحقق الأساسي من الصحة للتأكد من أن أنواعًا معينة من الهجمات تصبح مستحيلة. على الرغم من عدم وجود تطبيق كمبيوتر محصن ضد جميع الهجمات الضارة ، إلا أن نظام الأمان حسب التصميم يتميز بميزة مميزة على الأنظمة التي تستخدم مكتبات أمان خارجية أو تعتمد على أمان البيئة المحيطة ، مثل نظام التشغيل ، نظرًا لتصميم تم تصميم برنامج لمنع الهجمات الاستغلالية واحتوائها.

أحد أكثر المجالات ضعفًا في أي تطبيق كمبيوتر ، نظرًا لطبيعته التي لا يمكن التنبؤ بها ، هو إدخال المستخدم. المدخلات التي لم يتم التحقق من صحتها أو يتم استخدامها دون التحقق من الأخطاء أو يتم قبولها بشكل أعمى من أي مصدر يمكن أن تستخدم الأعمال الداخلية للنظام ضد نفسه لفضح البيانات الحساسة أو التسبب في تعطل النظام. عندما يكون التطبيق آمنًا حسب التصميم ، عادةً ما يتم التحقق من صحة إدخال المستخدم بطريقة ما ، والتحقق من التسلسلات الضارة أو حتى تحويله إلى تنسيق آمن بحيث يمكن معالجته دون القلق بشأن السلوك غير المتوقع الذي قد ينتج عن المعالجة الافتراضية لبعض مجموعات الأحرف.

تصبح مسألة إدخال المستخدم أكثر تعقيدًا في نظام آمن حسب التصميم عندما يكون البرنامج خادمًا يقبل مدخلات من عميل عبر شبكة. يمكن لبعض المهاجمين اعتراض الرسائل الصالحة من عميل إلى خادم أو تزوير عميل تمامًا ، لذلك عادةً ما يتم استخدام طرق أخرى غير تشفير الملكية ، لأن المهاجم الذي يعترض الرسائل يمكنه بسهولة كسر التشفير. تتضمن طرق الأمان الأكثر فاعلية ضمن تصميم البرنامج تقييد المعلومات التي يرسلها العميل وتقييد قدرة الخادم أو الوحدة النمطية فيما يمكنه أو لا يمكنه القيام به بمفرده.

من خلال الجمع بين نمطية البرامج ومبدأ الامتياز الأقل ، يمكن للنظام الآمن حسب التصميم أن يمنع المهاجمين من تعريض النظام للخطر تمامًا عن طريق تفويض المهام بين الوحدات التي لا تمتلك بالضرورة القدرة على تنفيذ إجراء واحد مدمر بمفردها. وبهذه الطريقة ، يمكن وضع الضمانات وخزائن التعطل التي يمكن أن تسمح للنظام بالتعافي بشكل آمن من الاقتحام. يصعب دمج هذا المفهوم في تطبيق لا يستخدم مبادئ آمنة حسب التصميم ، لأنه يتطلب بنية البرنامج بأكملها لتوجيهها نحو هدف الأمان.