لماذا تخزن بعض الشركات كلمات المرور على هيئة نص مقروء ؟

كلمات المرور

في الآونة الأخيرة، اعترفت العديد من الشركات المعروفة أنها تقوم بتخزين كلمات المرور على هيئة نص مقروء. يشبه الأمر كما لو قمت بحفظ هذه المعلومات السرية في أداة الـ Notepad وحفظها كملف TXT عادي.

هذا يشكل خطورة كبيرة على بيانات المُستخدمين، حيث ان أبسط عملية إختراق سوف تسمح للقراصنة بالوصول إلى قاعدة البيانات والاستحواذ على أكبر عدد ممكن من بيانات التسجيل.

في حين أن هناك طرق آخرى آمنة لتخزين كلمات المرور، فلماذا لا تستخدمها الشركات في عام 2019 ؟ دعنا نكتشف.

ما خطورة تخزين كلمات المرور في نص مقروء ؟


حينما تقوم شركة ما بتخزين كلمات المرور على هيئة نص مقروء (Plain Text)، سيصبح لدى أي شخص لديه قاعدة بيانات كلمة المرور – أو الملف الذي يتم تخزين كلمات المرور فيه – القدرة على قراءتها.

لأن كلمة السر تظهر كما هي بدون أي نوع من انواع التشفير في قاعدة البيانات؛ أي عندما يقوم المُستخدم بتعيين كلمة السر “AbuOmar” ستظهر في قاعدة البيانات (AbuOmar). إذا تمكن أحد المتطفلين من الوصول إلى قاعدة البيانات أو الملف، فيمكنه رؤية جميع كلمات المرور.

لذلك، تخزين كلمات المرور في نص مقروء هو أمر خطير جدًا. بل يجب على الشركات استخدام طريقة الـ Salting و الـ Hashing لتخزينها بشكل آمن.

إذ تعمل هذه الطريقة على تضمين بيانات إضافية إلى كلمة المرور المُستخدم ثم خلطها بحيث لا يمكن إعادة النص الأصلي لكلمة المرور مرة أخرى.

يعني ذلك أنه حتى لو تمكن شخص ما من الوصول إلى قاعدة بيانات كلمات المرور، فسوف يجدها غير صالحة للاستعمال.

ومع ذلك، عندما يقوم مالك الحساب بتسجيل الدخول، يتم التحقق من أن كلمة السر (الصحيحة) تتوافق مع النسخة (التي تم خلطها) المخزنة – ولكن لا يمكن استخدام النسخة المخزنة أثناء تسجيل الدخول.

لكن… لماذا لا تزال الشركات تخزن كلمات المرور في نص مقروء ؟ للأسف، في بعض الأحيان لا تأخذ الشركات “الأمن” بجدية. أو يختارون هذه الطريقة لأنها لا تتطلب الكثير من الجهد.

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

العديد من الشركات تخزن كلمات المرور بطريقة غير صحيحة !

على الأرجح تكون بياناتك قد تعرضت بالفعل للإختراق لأن العديد من الشركات العملاقة التي لديها عدد ضخم من المُستخدمين مثل جوجل وفيسبوك وتويتر وغيرهم يقومون بتخزين كلمات المرور على هيئة نص مقروء.

في حالة شركة جوجل، فقد كانت الشركة تقوم بتخزين كلمات المرور بطريقة الـ Salting والـ Hashing بالنسبة لمعظم المستخدمين. لكن كلمات مرور الحسابات المشتركة في حزمة G Suite المكتبية للأعمال كان يتم تخزينها على هيئة نص مقروء.

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

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

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

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

قامت الشركة بحذف هذه التغريدات وأعلنت أنه فيما بعد سيتم تخزين جميع كلمات المرور بطريقة الـ Salting والـ Hashing. لكن ذلك لم يحدث إلا بعد قيام شخص ما باختراق أنظمة الشركة.

ما هي الطرق التي يجب تخزين كلمات المرور بها ؟


يجب على الشركات عدم تخزين كلمات مرور المُستخدمين على هيئة نص مقروء أبدًا. بدلاً من ذلك، يجب أن يتم تخزينها بطريقة الـ Salting ثم يتم تجزئتها. ولأن من المهم معرفة ماهية طريقة الـ Salting والفرق بين التشفير والـ Hashing، سنوضح ذلك فيما يلي:

استخدام الـ Salting لإضافة نص عشوائي إلى كلمة المرور الأصلية

الـ Salting أو “تمليح” كلمات المرور هو المصطلح الذي يُطلق على عملية تضمين نصًا إضافيًا إلى كلمة المرور التي قدمتها للموقع.

فكر في الأمر على انه إضافة أرقام وأحرف إلى نهاية كلمة المرور العادية التي أدخلتها. فبدلاً من استخدام “AbuOmar” لكلمة المرور الخاصة بك، يمكنك كتابة “AbuOmar123”. التمليح أو الـ Salting هو مفهوم مشابه، بحيث قبل أن يقوم الموقع بتجميع كلمة المرور الخاصة بك وحفظها في قاعدة البيانات، فإنه يضيف نصًا إضافيًا إليها.

لذلك حتى لو اقتحم أحد القراصنة قاعدة البيانات وحصل على بيانات المستخدمين، فسيكون من الصعب للغاية معرفة كلمة المرور الحقيقية. لن يعرف المُخترق أي جزء هو النص الإضافي وأي جزء هو كلمة المرور الحقيقية.

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

لماذا التشفير لم يعد الخيار المناسب لكلمات المرور ؟

الخطوة التالية بعد تمليح كلمة المرور الخاصة بك لتخزينها بشكل صحيح هي تجزئتها أو عمل Hashing لها. لكن ضع في اعتبارك أن عملية التجزئة تختلف عن التشفير.

عند تشفير البيانات، يتم تحويل المعلومات من صيغتها الحقيقة المفهومة إلى صيغة غير مفهومة بناءً على مفتاح ما (عام أو خاص).

إذا تمكن شخص من اكتشاف مفتاح التشفير المُستخدم، فيمكنه الوصول إلى قاعدة البيانات والحصول على جميع كلمات المرور الخاصة بالمُستخدمين، حيث ستبدو له قاعدة البيانات كما لو كانت عبارة عن كلمات مرور مخزنة على هيئة نص مقروء.

استخدام الـ Hashing لتحويل الباسورد إلى كلمة غير مفهومة

استخدام الـ Hashing لتحويل كلمات المرور إلى كلمة غير مفهومة

تحول التجزئة أو الـ Hashing كلمة المرور الخاصة بك إلى سلسلة من أرقام وحروف غير المفهومة. أي شخص ينظر إلى كلمة المرور المجزأة لن يستطيع أن يستنتج منه معلومة واحدة.

إذا كنت تستخدم مثلًا “AbuOmar123” لكلمة المرور، فقد تتسب الـ Hashing في تغيير الكلمة إلى “2504ac11”. لذلك يجب أن تقوم الشركة بتجزئة كلمة المرور الخاصة بك قبل تخزينها في قاعدة البيانات، وبهذه الطريقة لن يكون لديها سجل بكلمة المرور الحقيقية للمُستخدمين.

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

على سبيل المثال، عندما نشفر الكلمة “AbuOmar” فتصبح 2504ac11 فإننا نستطيع فك التشفير من 2504ac11 لتعود إلى AbuOmar. ولكن في الـ Hashing عندما نحول AbuOmar إلى 2504ac11 فلا يمكن إعادة 2504ac11 إلى النص الأصلي AbuOmar.

وبالتالي إذا اقتحم أحد المتطفلين بالوصول إلى قاعدة بيانات كلمات المرور، فلن يجد هُنا مفتاح لإلغاء تأمين البيانات المجزئة.

بدلاً من ذلك، سيتعين عليهم القيام بما تفعله الشركة عندما تقوم بتسجيل الدخول: تخمين كلمة السر بعد الـ Salting (إذا كان المتسلل يعرف التمليح المطلوب استخدامه) ثم تجزئتها، ثم مقارنتها بالتجزئة الموجودة في قاعدة البيانات للتحقق من مطابقتها. عندما تسجل دخولك إلى جوجل والخدمات البنكية، فإنهم يتبعون نفس الخطوات.

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

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

ما يمكنك القيام به للحماية من تسرب البيانات

حماية كلمات المرور

لا يمكنك منع الشركات من تخزين كلمات المرور الخاصة بك بطريقة غير صحيحة. ولسوء الحظ، هذه المشكلة شائعة.

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

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

بهذه الطريقة، حتى إذا عثر المتسلل على كلمة المرور الخاصة بك على موقع واحد، فلن يتمكن من استخدامها لتسجيل الدخول إلى حساباتك على مواقع الويب الأخرى.

تعد كلمات المرور المعقدة مهمة بشكل لا يصدق لأنه كلما كان من السهل تخمين كلمة مرورك، كلما تمكّن المتسلل من اختراق التجزئة الخاصة بها. وبجعل كلمة المرور معقدة، فإنك تشتري وقتًا لتقليل الضرر.

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

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

يقدم البعض، مثل LastPass و 1Password خدمات تتحقق مما إذا كانت كلمات المرور الحالية قد تعرضت للاختراق أم لا.

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

على الرغم من أنه لا يمكنك منع شركة من إساءة التعامل مع كلمات المرور، إلا أنه يمكنك تقليل تداعياتها عن طريق تأمين كلمات المرور والحسابات الخاصة بك بشكل صحيح.

عبد الرحمن محمد