الأمان والخصوصية في التصميم
الأمان والخصوصية في التصميم، في العصر الرقمي الحديث، وارتباط التكنولوجيا بحياتنا اليومية، أصبح تحقيق الأمان والخصوصية في الأنظمة من الأولويات القصوى، وفي هذا المقال سوف نناقش كيفية تحقيق الامان والخصوصية في
الأنظمة، وأهمية ذلك بالنسبة للبرامج والتطبيقات الحديثة، وكيفية تفادي الهجمات الأمنية، وعمليات سرقة البيانات.
الأمان والخصوصية في التصميم
يشير مفهوم الأمان إلى الطرق، والأدوات التي تساعد في الدفاع عن ممتلكات الشركة، والهدف الرئيسي من الأمان
في هندسة البرمجيات هو حماية تلك الممتلكات، والأجهزة، والخدمات ضد الاختراق، أو السرقة، أو التعرض للتلف من
قبل مستخدمين غير موثوقين، وتتنوع التهديدات الأمنية بين تهديدات داخلية وأخرى خارجية.
يمكن تعريف الخصوصية في تصميم الانظمة في بناء برامج تحترم بيانات المستخدم، وتوفر له إمكانية التحكم في
تلك البيانات، ومن ضمن أطر العمل الرئيسية في الخصوصية هو الخصوصية بالتصميم (Privacy by Design) والتي تؤكد
على تضمين اعتبارات الخصوصية في جميع أنحاء عملية التصميم بأكملها، وليس كوظيفة لاحقة.
الاحتياج لمقاييس الأمان
- التصدي للهجمات الأمنية: يمتلئ الإنترنت بالمبرمجين أصحاب الهمم الخبيثة، فهؤلاء الأشخاص يسعون بكل الطرق لاختراق أي جهاز أو خدمة خاصة بشخص ما والاستفادة من بياناته الشخصية، لذا بدون استخدام مقاييس الأمان والخصوصية في التصميم تصبح الأنظمة عرضة لعمليات القرصنة.
- خصوصية البيانات: تساهم بعض المقاييس الهامة، مثل: اللائحة العامة لحماية البيانات (GDPR) في حماية بيانات المستخدم داخل الشركات والهيئات الخاصة، كما تساعد مقاييس الأمان في الخضوع لقوانين الإمتثال، لأن انتهاك تلك القوانين يؤدي إلى غرامة باهظة، وإجراءات قانونية مشددة.
- الملكية الفكرية: تمتلك بعض المؤسسات الملكية الفكرية القيمة الخاصة بها مخزنة بطريقة رقمية في أنظمتها، لذا التأكد من سلامة تلك الممتلكات، والقدرة على حمايتها ضد عمليات القرصنة بمختلف أنواعها، يساعد في حماية الشركة لملكيتها الخاصة دون إطلاع الآخرين عليها، وتعتبر من قوانين الخصوصية.
- منع الخسائر المالية: مقاييس الأمان والخصوصية في التصميم لا تتضمن فقط حماية البيانات وحسب، بل
تهدف بعض الهجمات الامنية لسرقة المعلومات القيمة، مثل: كلمات المرور، وأرقام بطاقات الائتمان، لسرقة
الأموال ونهبها، لذا من المهم تنفيذ جميع المقاييس اللازمة لحماية تلك البيانات.
- إدارة سمعة الشركات: سرقة بيانات المستخدمين من شركة ما يدمر سمعتها في السوق بشكل كبير، ويصبح من الصعب أن تستعيد الشركة رونقها إلا بعد فوات الأوان، لذا حماية تلك البيانات تعد أولوية قصوى للشركة، واستثمار تلك الشركات في الاحتياطات الأمنية اللازمة لحماية المستهلك.
المصادقة وإثبات الهوية
خطوة أساسية في تحقيق الأمان والخصوصية في التصميم، فمن المهم معرفة هوية الشخص المستخدم لجهاز ما،
وهكذا المستخدمين لابد من تحديد هويتهم قبل استخدام النظام للحماية ضد عمليات الاختراق، وتتضمن:
-
المصادقة متعددة العوامل (Multi-Factor Authentication):
من المنهجيات المشهوة في عملية المصادقة لإثبات هوية المستخدم، وتتطلب طريقتين لإثبات هوية الشخص، مثل
السؤال الأمني (security question)، ولا يمكن أن تتشابه الطريقتين، أو تشملا نفس الجهاز، وهذا لضمان أن جهاز
النسخ الإحتياطي الذي ذكره المستخدم صحيح، وأن الشخص الذي يحاول الوصول للنظام هو المستخدم نفسه.
-
القياسات الحيوية (Biometrics):
مثل بصمة الإصبع (Fingerprint)، ومسح القزحية (Iris Scan)، والتعرف على الوجه (Face Recognition)، فتلك الطرق تستخدم أيضا لإثبات هوية المستخدم.
-
سياسة كلمات المرور القوية:
بعض المنهجيات المستخدمة لإثبات هوية المستخدم هي فرض بعض القواعد الصارمة التي تجبر المستخدمين
لاستخدام كلمات مرور طويلة ومعقدة، للتأكد أن كلمات المرور تلك لا يمكن تدالوها عبر الإنترنت، واستخدامها في الدخول
عبر النظام فقط.
التفويض والسلطة
هي عملية التحقق من سلطة المستخدم الذي يحاول الوصول إلى النظام بالطرق الشرعية، وهي مهمة كأهمية
عملية المصادقة وإثبات الهوية، وفيها يتم التحقق من صلاحية الولوج إلى النظام، وتتم بعد إثبات هوية المستخدم
مباشرة، وتعد من أهم مقاييس الأمان والخصوصية في التصميم.
- الوصول بناء على الخصائص: عن بناء الأنظمة، يتم توزيع أدوار مختلفة على المستخدمين، مثل المدير (Admin)، والمحرر (Editor)، والقارئ (reader)، ويتم ذلك بناء على المسمى الوظيفي، والقسم، والعديد من العوامل الأخرى، وتساعد تلك الطريقة في تفويض المستخدم بدون أخطاء.
- مبدأ الامتياز الأقل: يساعد هذا المبدأ في تقليل الأدوار الموزعة بين المستخدمين، وفيها يتم إعطاء المستخدم أقل امتياز يحتاجه لاستخدام النظام، ولا يوجد امتيازات إضافية، وهذا يحقق الأمان والخصوصية في التصميم من خلال منع استغلال الامتيازات الإضافية في سرقة البيانات.
- مراجعة عمليات الوصول: مراجعة الامتيازات التي تم توزيعها، وعمليات وصول المستخدمين إلى النظام بشكل دوري، لمنح الامتيازات الإضافية، أو حذف الامتيازات الغير مستخدمة.
- التفويض بناء على الموارد: يتم التفويض بناء على الموارد المستخدمة في البرنامج، مثل: قواعد البيانات، والملفات، والمجلدات، من خلال تحديد من يمكنه القراءة، والتعديل، والحذف في تلك الموارد.
تشفير البيانات
من الخطوات المهمة في التحقق من أمان وخصوصية بيانات المستخدم، وتتمحور حول كلا من:
- استخدام خوارزميات التشفير القوية: استخدام خوارزميات مثل معيار التشفير المتقدم (AES) والتي تعتبر
قوية بطبيعتها، وتستخدم في أغلب الأحيان لتشفير البيانات المخزنة في النظام.
- أثناء نقل البيانات: استخدام قواعد وبروتوكولات النقل الآمنة، مثل: HTTPS, TLS, SSL أثناء نقل البيانات من المصدر إلى الوجهة النهائية.
- أثناء توقف البيانات: تشفير البيانات المخزنة في قواعد البيانات، ومستودعات البيانات، واستخدام أنواع
مختلفة من التشفير، مثل: Full Disk Encryption
- إدارة المفاتيح: إنشاء نظام آمن لإدارة المفاتيح في النظام، لتوليد، وتخزين، وتحديث مفاتيح التشفير عند الطلب.
- فرض التشفير المتكامل: استخدام آليات التشفير المتكامل لبيانات المستخدم، والمحتوى الذي يتم تولديه
من خلال المستخدم، وطرق التواصل الحساسة، يساهم في تحقيق الأمان والخصوصية في التصميم، والتأكد أن
المستخدم صاحب السلطة هو الوحيد القادر على رؤية تلك البيانات.
ممارسات الكود الآمنة
تلك الممارسات مهمة لحماية النظام من التهديدات الأمنية المحيطة به، باتباع تلك الممارسات، يمكن حماية البيانات
المهمة في الشركة، وتقييد عمليات الوصول الغير مصرح بها، وتحسين تكاملية النظام، فالتحقق من المدخلات وتقنيات الوصول مهمة جدا لصد تلك الهجمات.
- التحقق من صحة المدخلات: من المهم فحص مدخلات المستخدم بشكل مستمر لصد عمليات الاختراق، مثل: SQL Injection and XSS (Cross Site Scripting)
- التحكم في الوصول: تنفيذ تقنيات الوصول لتقييد المستخدمين، والسماح لهم بالوصول إلى البيانات الخاصة
فقط، أو المعلومات المصرح لهم الوصول إليها.
- تأمين المصادقة: استخدام طرق المصادقة لتحقيق الأمان والخصوصية في التصميم كما ذكرنا سابقا.
- التعامل مع الأخطاء: استخدام معلومات ورسائل الأخطاء لتجنب التسرب المحتمل للبيانات الهامة في النظام والتي يمكن استخدامها من قبل المخترقين.
- التحديث المنتظم وإدارة التصحيح: تحديث مكونات الأمان والخصوصية في التصميم والتطوير
- يساعد في حماية البيانات الداخلية لتلك المكونات، والحرص على عدم تسرب بيانات التخطيط المعماري للنظام، بجانب المكتبات وأدوات التصحيح التي لابد من وجودها لحماية النظام ضد الهجمات الأمنية.
أمان أنظمة البرمجيات من الأولويات المهمة في استراتيجيات التحديث والتطوير، والاستثمار الجيد في الأدوات
والمتخصصين في ذلك الجزء أمر لابد منه، وأهميته لا تقل أهمية عن مرحلة التطوير والفرق الخاصة بها، لذا من
المهم استثمار الشركات في أمان وخصوصية البيانات الخاصة بها لحماية المستهلك وسمعة المؤسسة.