كشف الأسرار هو عملية العثور على البيانات الحساسة المعروفة باسم "الأسرار" والإشارة إليها عبر مستودعات التعليمات البرمجية أو في مواقع أخرى داخل بيئات تطوير البرمجيات. وتساعد هذه الطبقة الدفاعية المؤتمتة على ضمان عدم تضمين أي معلومات حساسة على نحو ثابت أو إدراجها في التعليمات البرمجية المصدرية بصيغة يسهل قراءتها أو من دون تشفير.
ويُعد كشف الأسرار جزءًا من نهج "shift left" الذي ينقل الأمن إلى مرحلة مبكرة من عملية التطوير. يمكن أن تنتشر الأسرار إلى ما هو أبعد من التعليمات البرمجية، مما يزيد من خطر التعرض للحوادث الأمنية. ويمكن أن تساعد الحماية المؤتمتة عبر كشف الأسرار على تأمين مهام سير العمل لدى المطورين على نطاق واسع.
وفي أمن التطبيقات (AppSec)، تمثل الأسرار معلومات رقمية تتيح الوصول إلى المستخدمين البشر أو إلى الهويات غير البشرية، مثل التطبيقات أو الأجهزة أو أحمال التشغيل، وتسمح لهم بالتواصل أو تنفيذ إجراءات. ونظرًا إلى طبيعتها الحساسة، يجب الحفاظ على سرية الأسرار.
وفيما يلي بعض الأنواع الشائعة من الأسرار:
مفاتيح واجهة برمجة التطبيقات (API) هي معرّفات فريدة لمصادقة الاتصال بين الخدمات أو البرمجيات أو الأنظمة عبر واجهة برمجة التطبيقات (API).
وتشمل البيانات البيومترية السمات الجسدية والسلوكية الملازمة للشخص، مثل ملامح الوجه وبصمات الأصابع والصوت وحتى طريقة المشي، التي يمكن استخدامها للتحقق من هويته.
وتُستخدم الشهادات الرقمية والمفاتيح الخاصة المرتبطة بها لمصادقة نقاط النهاية وإنشاء قنوات اتصال آمنة.
يمكن استخدام بيانات اعتماد مزودي السحابة للوصول إلى منصات الحوسبة السحابية مثل AWS وAzure وGoogle Cloud وIBM Cloud.
سلاسل الاتصال هي سلاسل نصية تحتوي على تعليمات للاتصال بمصدر البيانات.
بيانات اعتماد قواعد البيانات هي تركيبات اسم المستخدم وكلمة المرور التي تتيح الوصول إلى قواعد البيانات.
وتتيح بيانات اعتماد حسابات الخدمة للتطبيقات ومهام سير العمل المؤتمتة الوصول إلى أنظمة التشغيل والتفاعل معها.
وتُستخدم مفاتيح SSH (Secure Shell) لمصادقة الكيانات التي تصل إلى الخوادم وغيرها من عناصر البنية التحتية.
وتتألف تركيبات اسم المستخدم وكلمة المرور من سلاسل من الأحرف تُستخدم لمصادقة وصول المستخدم إلى النظام.
وتُعد الأسرار أهدافًا رئيسية لعناصر التهديد. ويمكن لهذه العناصر استخدام روبوتات لجمع رمز مميز مكشوف، أو بيانات اعتماد مُسرَّبة، أو خطأ في التهيئة داخل بيئة سحابية أصلية. ويستغل المخترقون هذه الأسرار للحصول على وصول غير مصرّح به إلى التطبيقات والأنظمة. ولأن الوصول يتحقق من خلال بيانات اعتماد مشروعة، فقد يكون اكتشافه أصعب، وقد يظل من دون ملاحظة لفترات طويلة.
وهذا ما يجعل كشف الأسرار عنصرًا أساسيًا في استراتيجية الشركة للأمن الإلكتروني. يساعد الكشف عن الأسرار المؤسسات على:
تجنّب الاستيلاء على الحسابات وتصعيد الامتيازات: إذ يمكن للمخترقين استخدام بيانات الاعتماد المُسرَّبة لرفع صلاحياتهم. وبمجرد حصولهم على صلاحيات أعلى، يمكنهم تغيير إعدادات النظام، وتعطيل الخوادم والبنية التحتية، وتنفيذ الأوامر، وتثبيت برامج ضارة، أو السيطرة على الأصول.
منع اختراق أمن البيانات: إذ يمكن للعناصر الضارة استغلال الأسرار المكشوفة لسرقة معلومات شخصية حساسة أو بيانات مؤسسية سرية. هذه الانتهاكات للبيانات يمكن أن تكون مكلفة وتؤدي إلى خسائر مالية، وانخفاض في ثقة العملاء وتضرر السمعة.
تقليل الثغرات الأمنية: الأسرار المكشوفة هي أبواب مفتوحة. ويسمح تحديد مواقعها للمؤسسات بإزالة هذه الثغرات بشكل استباقي، مما يغلق الباب أمام نجاح الهجمات الإلكترونية.
انضم إلى قادة الأمن الإلكتروني الذين يعتمدون على الرسالة الإخبارية Think للحصول على أخبار مُنتقاة عن الذكاء الاصطناعي والأمن السيبراني والبيانات والأتمتة. تعلم بسرعة من برامج تعليمية وشروحات يقدّمها خبراء - تُرسَل مباشرة إلى بريدك الإلكتروني. راجع بيان الخصوصية لشركة IBM.
تبدأ العملية بمسح الأسرار، حيث تقوم أدوات كشف الأسرار بتفتيش مستودعات الشيفرة (وتسمى أيضا المستودعات) والموارد ذات الصلة بحثا عن الأسرار المكشوفة. تقوم هذه الأدوات بعد ذلك بإنشاء تنبيهات أو تقارير لأي أسرار محددة ، بما في ذلك نوع السر ومكان وجوده. يمكن لفرق التطوير وفرق الأمن الاستفادة من هذه التنبيهات أو التقارير للاسترشاد بها في خطوات المعالجة، مثل نقل الأسرار إلى حل إدارة الأسرار. تساعد هذه الحلول على أتمتة عملية إنشاء الأسرار واستخدامها وتدويرها وحمايتها وجعلها مركزية وتبسيطها.
يستلزم كشف الأسرار مزيجًا من الطرق لتحديد الأسرار بدقة عبر المستودعات:
مطابقة الأنماط
الفحص القاموسي
تحليل الإنتروبيا
تبحث خوارزميات مطابقة الأنماط عن السلاسل التي تتطابق مع التنسيقات القياسية للأسرار. كما أنها تستخدم التعبيرات النمطية، وهي أنماط بحث مكونة من تسلسلات من الأحرف.
غالبا ما تكون هذه الطريقة مجدية للأسرار التي تتبع نموذجا محددا مسبقا، مثل رموز الوصول للخدمة السحابية أو مفاتيح واجهة برمجة التطبيقات (API). غير أن الفحص السري باستخدام التعبيرات العادية (المعروفة أيضًا باسم regex) يمكن أن يكون بطيئًا، ويمكن أن تمر الأسرار التي تحتوي على بنية عشوائية دون اكتشافها.
في كشف الأسرار، تعد القواميس مصادر بيانات تحتوي على أسرار معروفة. يمكن استخدام هذه القواميس كمرجع عند البحث عن الأسرار.
يساعد الفحص القاموسي على تحديد ما إذا كان السر ما يزال صالحًا أو لم يعد قيد الاستخدام. لكن قد يتعذر عليه اكتشاف أي أسرار غير موجودة في القاموس.
تقيس الإنتروبيا درجة عشوائية البيانات أو عدم القابلية على التنبؤ بها. وكلما ارتفعت الإنتروبيا، زادت عشوائية البيانات وصعب التنبؤ بها. وبناءً على ذلك، يقيّم تحليل الإنتروبيا تسلسلات الأحرف لرصد السمات الدالة على العشوائية.
وتساعد هذه الطريقة على كشف الأسرار المحتملة التي لا تتبع أنماطًا معروفة، مثل مفاتيح التشفير. كما يمكنها الكشف عن أسرار جديدة أو أسرار ذات إنتروبيا مرتفعة.
تتوافر خيارات عديدة لأنظمة كشف الأسرار. وعند اختيار الحل المناسب، ينبغي للمؤسسات أن تراعي دقة الحل، وعمق قدراته على الكشف واتساعها، وقابليته للتوسع عبر مستودعات التعليمات البرمجية الكبيرة وعبر دورة حياة تطوير البرمجيات (SDLC)، فضلًا عن مدى توافقه وقدرته على التكامل بسلاسة مع منظومتها التقنية ومهام سير عمل تطوير البرمجيات.
وفيما يلي بعض الأدوات الشائعة لكشف الأسرار:
يستخدم GitLab محللًا لكشف الأسرار مخصصًا لبيئات GitLab. ويوفر الوظائف التالية:
تفحص ميزة حماية رفع الأسرار التغييرات قبل رفعها على GitLab، وتمنع عملية الرفع في حال اكتشاف أي أسرار.
ويعمل كشف الأسرار في مسارات CI/CD بوصفه مكوّنًا ضمن هذه المسارات، إذ يفحص طلبات الدمج وعمليات حفظ التغييرات في الفرع الافتراضي للمستودع.
ويفحص كشف الأسرار من جانب العميل التعليقات والأوصاف في المشكلات وطلبات الدمج.
يمكن أن يستجيب GitLab تلقائيًا لأنواع معينة من الأسرار المُسرَّبة عن طريق إبطالها. وبالنسبة إلى بعض فئات الحسابات، تُقيّم ميزة GitLab Duo للكشف عن الحالات الإيجابية الكاذبة الأسرار التي جرى تحديدها، لتقدير احتمال كونها حالات إيجابية كاذبة.
أما Gitleaks فهي أداة مفتوحة المصدر لكشف الأسرار في مستودعات Git والمجلدات والملفات وغيرها من المدخلات القياسية. يعتمد محرك الكشف فيها على مزيج من مطابقة الأنماط باستخدام التعبيرات النمطية وتحليل الإنتروبيا.
ويمكن للمؤسسات إنشاء مجموعات قواعد مخصصة لأسرارها الخاصة. كما يمكنها تشغيل Gitleaks بوصفه خطاف ما قبل حفظ التغييرات (pre-commit hook) لرصد الأسرار في التعليمات البرمجية المصدرية قبل وصولها إلى المستودع.
امّا Vault Radar فهو منتج HashiCorp للكشف عن الأسرار. ويجري عمليات فحص مستمرة في الوقت الفعلي للأسرار، وحتى معلومات التعريف الشخصية (PII)، ثم يصنفها ويرتبها على لوحة معلومات لدعم جهود المعالجة.
كما تُجرى عمليات الفحص أيضًا على عمليات حفظ التغييرات، وطلبات السحب، وعند إضافة مصادر البيانات. وتشمل مصادر البيانات المدعومة مستودعات ومنصات مثل Azure DevOps وBitbucket وGitHub وGitLab، إلى جانب منصات التعاون مثل Confluence وJira وSlack.
ويوفر Vault Radar إرشادات مدمجة للمعالجة لبعض حسابات المؤسسات. كما يمكن نسخ الأسرار المكشوفة إلى Vault، منصة إدارة الأسرار التابعة لشركة HashiCorp، بوصف ذلك جزءًا من عملية المعالجة.
ويمكن للذكاء الاصطناعي تعزيز دقة أدوات كشف الأسرار وكفاءتها، علمًا بأن معظم هذه الأدوات تسفر عن معدلات مرتفعة من الحالات الإيجابية الكاذبة. ويمكن تدريب نماذج الذكاء الاصطناعي على التعرف على خصائص ترتبط بطيف أوسع من أنواع الأسرار، مما يجعلها أكثر مرونة من الحلول القائمة على القواعد.
يمكن لفرق التطوير التي تطبق الذكاء الاصطناعي في كشف الأسرار الاستفادة من المزايا التالية:
الوعي بالسياق: يمكن لنماذج الذكاء الاصطناعي أن تتعلم السياق المحيط بالأسرار، بما في ذلك تعليقات التعليمات البرمجية، وبنية التعليمات البرمجية المصدرية، وأسماء المتغيرات. ويتيح هذا التحليل الدلالي والسياقي للنماذج التمييز بصورة أفضل بين الأسرار الحقيقية وبيانات العينات أو قيم الاختبار. وبذلك، يمكن للوعي بالسياق أن يسهم في رفع معدلات الإيجابيات الحقيقية وخفض معدلات الإيجابيات الكاذبة.
الكشف في الوقت الفعلي: تتكامل بعض أدوات كشف الأسرار المدعومة بالذكاء الاصطناعي بسلاسة مع بيئات التطوير المتكاملة (IDEs)، فترصد الأسرار المضمَّنة على نحو ثابت أثناء كتابة المطورين للتعليمات البرمجية، وتكشف الأسرار المكشوفة قبل حفظ التغييرات أو إرسالها إلى المستودعات.
الترتيب المؤتمت للأولويات والمعالجة: يمكن لكشف الأسرار المعتمد على الذكاء الاصطناعي أن يؤتمت ترتيب الأسرار التي جرى الإبلاغ عنها بحسب الأولوية، من خلال إسناد درجة مخاطر استنادًا إلى عوامل مثل قابلية الاستغلال، والتأثير، والموقع، ومستوى الخطورة. كما يمكنه اقتراح وسائل للمعالجة، مثل استبدال الأسرار المكشوفة باستدعاءات إلى منصة لإدارة الأسرار.
وينطوي تطبيق الذكاء الاصطناعي في كشف الأسرار على عدد من التقنيات:
التصنيف: يتيح التصنيف لنماذج التعلّم الآلي التنبؤ بما إذا كانت معلومة معينة تمثل سرًا حقيقيًا أم لا. وتشمل خوارزميات التصنيف الشائعة المستخدمة في كشف الأسرار الانحدار اللوجستي، وNaive Bayes، وآلات المتجهات الداعمة (SVMs).
التعلم الجماعي: يدمج التعلم الجماعي عدة مُصنِّفات لزيادة دقة التنبؤ.
التعلم العميق: يوفّر التعلم العميق، القائم على الشبكات العصبية متعددة الطبقات، أسلوبًا أكثر قوة ومرونة لكشف الأسرار. وتشمل البُنى الشائعة المستخدمة في هذا المجال الشبكات العصبية التلافيفية، وشبكات الذاكرة طويلة وقصيرة المدى (LSTMs)، ونماذج المحولات.
الذكاء الاصطناعي التوليدي: تمثل النماذج اللغوية الكبيرة (LLMs) خيارًا آخر لكشف الأسرار. ويمكن استخدام كل من النماذج اللغوية الكبيرة (LLMs) المدرَّبة مسبقًا والنماذج اللغوية الصغيرة (SLMs) المضبوطة بدقة للتنبؤ بالأسرار وتصنيفها وفق أنواع الأسرار المختلفة. ويظل النهج القائم على مشاركة العنصر البشري ضروريًا للتحقق من دقة تنبؤات النماذج اللغوية الكبيرة (LLMs) وتصنيفاتها.
ويمكن لمزيج من الاستراتيجيات التقليدية والاستراتيجيات القائمة على الذكاء الاصطناعي أن يعزز عملية كشف الأسرار. يمكن استخدام مطابقة الأنماط وتحليل الإنتروبيا للبحث عن الأسرار، في حين تتولى المنهجيات المعتمدة على الذكاء الاصطناعي التحقق من الأسرار المكتشفة لاستبعاد الحالات الإيجابية الكاذبة.
وفيما يلي بعض الأمثلة على حلول كشف الأسرار التي تستخدم الذكاء الاصطناعي:
تجري منصة GitGuardian لأمن التعليمات البرمجية عمليات فحص على مستودعات Git، ومسارات CI/CD، وصور Docker، وأنظمة التعاون مثل Confluence وJira وSlack. يمكن للمطوِّرين إعداد خطافات ما قبل حفظ التغييرات (pre-commit hooks) ودمج الفحص في بيئات التطوير المتكاملة، أو استخدام تطبيق واجهة سطر الأوامر التابع لشركة GitGuardian.
ويتألف محرك كشف الأسرار في GitGuardian من نوعين من كواشف مطابقة الأنماط: كواشف محددة مخصصة للعثور على أنواع بعينها من الأسرار، بما يحقق معدلات استرجاع ودقة مرتفعة، وكواشف عامة لرصد ما قد تفوته الكواشف المحددة. كما تضيف نماذج التعلم الآلي المختلفة وظائف مهمة، مثل تصفية الأسرار التي يُحتمل أن تكون حالات إيجابية كاذبة، وتقييم السياق المحيط بسر عام لإسناد الفئة ومزود الخدمة المناسبين إليه.
وتشمل الميزات الأخرى المدعومة بالتعلم الآلي تجميع الحوادث المتشابهة، الذي يجمع الأسرار التي تتشارك أوجه تشابه سياقية، وتقييم المخاطر الذي يستخدم XGBoost (eXtreme Gradient Boosting)، وهو أسلوب تجميعي يعتمد على أشجار قرار تتعلم من أخطاء بعضها بعضًا، لترتيب الأسرار استنادًا إلى إشارات مخاطر متعددة.
أما GitHub Secret Protection فهو نظام GitHub الخاص بفحص الأسرار. ويفحص هذا النظام سجل Git الكامل عبر جميع فروع المستودع، إلى جانب الأوصاف والتعليقات في المشكلات وطلبات السحب.
كما تفحص وظيفة حماية إرسال التغييرات في هذا النظام كل عملية إرسال في الوقت الفعلي، وتمنع عمليات حفظ التغييرات التي تتضمن أسرارًا. ويمكنه أيضًا إجراء فحوصات تلقائية للصلاحية للتحقق مما إذا كان السر المكتشف نشطًا ومكشوفًا للعامة.
وتستخدم GitHub Secret Protection كذلك GitHub Copilot للكشف عن الأسرار غير المنظمة التي جرى إدراجها في المستودعات ضمن عمليات حفظ التغييرات.
Bob هو مساعد IBM للبرمجة بالذكاء الاصطناعي، وقد صُمم لدعم كتابة التعليمات البرمجية المصدرية، وتصحيح الأخطاء، وإعادة الهيكلة، ومراجعات التعليمات البرمجية، وإعداد الوثائق. ويمكنه تحديد الثغرات الأمنية داخل التعليمات البرمجية، ومع قدرته المدمجة على كشف الأسرار، يساعد Bob على ترسيخ ممارسات البرمجة الآمنة وتعزيزها.
كما يمكن برمجة Bob للعمل في وضع مخصص قائم على الوكلاء، بحيث يبحث عن الأسرار المضمَّنة على نحو ثابت، ويشرح المخاطر الأمنية، ويوصي بإجراءات لحماية الأسرار. ويمكنه استبدال الأسرار بإشارات مرجعية إلى منصة لإدارة الأسرار، مثل Vault التابعة لشركة HashiCorp، كما يمكنه إرسال الأسرار المضمَّنة على نحو ثابت إلى Vault باستخدام بروتوكول Model Context Protocol (MCP).
يمكن لكشف الأسرار أن يعزز الوضع الأمني للشركة. ويكون أكثر فاعلية عند دمجه في مراحل التطوير والنشر والصيانة ضمن دورة حياة تطوير البرمجيات (SDLC).
إليك بعض أفضل الممارسات التي يمكن لفرق التطوير وضعها في الاعتبار عند تنفيذ كشف الأسرار:
تحديد الأسرار الأكثر أهمية
تجاوز المصادر المرتبطة بالتعليمات البرمجية
دمج خاصية كشف الأسرار في مسارات التكامل المستمر/التسليم المستمر (CI/CD)
الفرز والمعالجة
تثقيف فرق التطوير وعمليات DevOps
ويمكن للشركات أن تبدأ بتحديد ما يُعد سرًا بالنسبة إليها، ثم ترتيب هذه الأسرار بحسب الأهمية لتوجيه عملية المعالجة. كما يجب عليها تدقيق سلسلة التوريد البرمجية بأكملها لتحديد نطاق تعرض الأسرار.
فالأسرار قد تمتد إلى ما هو أبعد من المصادر المرتبطة بالتعليمات البرمجية. وهذا يعني أن عملية الكشف يجب أن تراعي أيضًا مصادر أخرى محتملة لتعرض الأسرار، مثل:
أدوات التواصل والتعاون وإنتاجية المطورين
ملفات التكوين
الحاويات ومنصات تنسيق الحاويات مثل Kubernetes
قواعد البيانات
التوثيق
السجلات
يمكن لفرق DevOps تنفيذ خطافات ما قبل حفظ التغييرات (pre-commit hooks) بحيث يصبح فحص الأسرار خطوة إلزامية قبل أن يحفظ المطورون التغييرات أو يبدؤوا طلبات السحب، مع حظر التغييرات التي تتضمن أسرارًا مضمَّنة على نحو ثابت. ويجب عليها أيضًا التأكد من أن الأدوات قادرة على فحص العناصر الناتجة، وسجلات البناء، ومتغيرات البيئة بصورة مستمرة، لرصد أي أسرار مكشوفة قبل وصولها إلى بيئات وقت التشغيل وبيئات الإنتاج.
يجب على المؤسسات وضع سياسات تحدد كيفية ترتيب الأسرار المكشوفة بحسب الأولوية وكيفية معالجتها. ويمكن أن تشمل سياسات الفرز تقييمات للمخاطر الأمنية التي تفرضها الأنواع المختلفة من الأسرار، وتحديد الفرق المسؤولة عن عملية الفرز.
كما يجب أن توضح سياسات المعالجة، بوضوح، الإجراءات الواجب اتخاذها، سواء تمثلت في إبطال الأسرار أو تدويرها أو استبدالها باستدعاءات إلى منصة لإدارة الأسرار. ويمكن أن تسهم أتمتة هذه الإجراءات التصحيحية في توفير الوقت وتسريع الاستجابة، لكن يجب اختبار هذه الإجراءات للتحقق من أنه لم يعد بالإمكان كشف السر.
ويجب على المؤسسات إدراج كشف الأسرار ضمن تدريب فرق التطوير أو فرق DevOps على البرمجة الآمنة. كما ينبغي للفرق أن تفهم مخاطر الأسرار المضمَّنة على نحو ثابت أو المكشوفة، وما الذي يمكنها فعله للحد من هذه المخاطر، وكيفية استخدام الأدوات اللازمة لكشف الأسرار.