امن وحماية المعلومات

نهاية عصر المصدر المغلق تلوح في الأفق: الغموض لم يكن يومًا أمانًا

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

جهاز (كولدكارد) لم يقم بذلك. خلل في رمز الحماية (preprocessor guard) كان يفحص الشيء الخطأ، وقد وجه عملية توليد العبارة السرية إلى مولّد أرقام عشوائية زائف ضعيف في البرمجيات، وهو (ياسمارانج) الخاص بـ (مايكروبايثون)، بدلاً من مصدر العشوائية الحقيقي في الجهاز. في بعض الطرز، انهارت العشوائية الفعلية إلى حوالي 40 بت فقط. ظهر هذا الخلل في مارس 2021، وبقي في البرمجيات الثابتة المتاحة للجميع لأكثر من خمس سنوات. وقبل أن يفهم أحد السبب، قام المهاجمون بمسح 500 عنوان؛ وخلال أيام، وصل تعداد (جالاكسي ريسيرش) إلى 4,585 عنوانًا وما يقرب من 90 مليون دولار؛ والهجوم مستمر حتى تاريخ كتابة هذا المقال.

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

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

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

البرنامج المُجمَّع (المترجم) ليس لديه خيار سوى قول الحقيقة. الكود الذي يبقى مشفرًا لا يمكن تشغيله. في لحظة التنفيذ، يجب أن يتلقى المعالج التعليمات الفعلية، لذا مهما كان ما يفعله البرنامج، فإنه يقدم للآلة حسابًا كاملاً ودقيقًا لكيفية القيام بذلك. كل المعلومات موجودة في كود الآلة. التعتيم (Obfuscation) لا يزيلها، ولا يمكنه ذلك.

إذا كنت تعتقد أن قراءة ملف تنفيذي (باينري) تبدو صعبة جدًا على الآلة لإتقانها قريبًا، قارن ذلك بما تفعله الآلات بالفعل مع مشاكل أصعب بكثير. قراءة ملف تنفيذي هي عملية تحليل: كل حقيقة تحتاجها أمامك، والعمل هو استخراجها. الاختراع الرياضي هو أمر أصعب بكثير، لأنه يتطلب إيجاد شيء لم يره أحد من قبل. في الساعة 02:19 بتوقيت UTC من يوم 20 يوليو، نشر (ليفينت ألبوغي)، وهو عالم رياضيات يعمل مع (كلود فيبل 5) من شركة (أنثروبيك)، مثالًا مضادًا لـ (حدسية جاكوبيان) الخاصة بـ (كيلير)، وهي مشكلة ظلت مفتوحة منذ عام 1939 وصعبة بما يكفي لتكون على قائمة (ستيفن سمايل) لتحديات القرن الحادي والعشرين. أجيال كاملة حاولت حلها. الرد يتكون من ثلاث كثيرات حدود في ثلاثة متغيرات. تحقق منه (ليان) في غضون ساعات، وهو قصير بما يكفي لأي شخص لتأكيده في نظام جبر حاسوبي في حوالي دقيقة.

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

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

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

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

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

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

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

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

الأسئلة الشائعة

ما هو الخلل الذي حدث في جهاز كولدكارد؟

حدث خلل برمجي في جهاز التوقيع (كولدكارد) جعل توليد العبارة السرية يعتمد على مولّد أرقام عشوائية زائف وضعيف جدًا بدلاً من مصدر العشوائية الآمن في الجهاز، مما سمح للمهاجمين بتخمين المفاتيح الخاصة وسرقة حوالي 90 مليون دولار من البيتكوين من آلاف العناوين.

كيف اكتشف المهاجمون هذا الخلل؟

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

ما هو الدرس الأهم من هذه الحادثة لمستخدمي البيتكوين؟

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

مبدعة العملات

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