لماذا المصدر المفتوح مهم؟

ما هو المصدر المفتوح?

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

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

ما هو مصدر مغلق?

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

فما هي المشكلة?

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

لماذا هو المصدر المفتوح الحل الأفضل?

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

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

ليس حلا مثاليا ...

لسوء الحظ ، يوجد عدد محدود من الأفراد يتمتعون بمهارات ووقت لمراجعة البرامج مفتوحة المصدر (عادة ما يكون مجانًا) ، مما يعني أن الغالبية العظمى من برامج المصادر المفتوحة لم يتم تدقيقها.

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

لكن…

المصدر المفتوح ، بالتالي ، لا يضمن أن يكون البرنامج "نظيفًا" ، لكنه مع ذلك أفضل ضمان أن يكون لدينا (أو يمكن أن نحصل عليه) أن هذا صحيح. البديل هو مصدر مغلق ، والذي لا يوفر أي ضمانات على الإطلاق.

تحقق دائمًا من البرامج مفتوحة المصدر

حتى المصدر المفتوح هو عظيم للأمن. ياي! ولكن كيف يمكنك أن تعرف بالتأكيد أن البرنامج المفتوح المصدر الذي قمت بتنزيله للتو لم يتم العبث به بطريقة أو بأخرى?

قد يبدو هذا مثل التفكير الخيالي المؤامرة whacko بجنون العظمة ، ولكن في فبراير 2016 ، تم اختراق موقع الويب الخاص بأحد أكثر إصدارات نظام التشغيل Linux ذات المصدر المفتوح ، Linux Mint ، وتم إتاحة إصدار محفوظ من نظام التشغيل للتنزيل,

"صنع المتسللون نظام Linux Mint ISO تم تعديله ، مع وجود مدخل خلفي له ، وتمكنوا من اختراق موقعنا للإشارة إليه."

قامت صور Linux ISO المصابة بتثبيت نظام التشغيل الكامل باستخدام تسونامي مستتر للدردشة عبر الإنترنت (IRC) ، مما أتاح للمهاجمين الوصول إلى نظام المستخدمين عبر خوادم IRC. لذلك التهديد حقيقي جدا.

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

أفضل بكثير بالنسبة للمطورين أن يوقعوا برمجياتهم رقميًا حتى يتمكن المستخدمون من التحقق من أصل الملف (كان مطورو Mint متساهلين للغاية في هذا الصدد ، حيث لم يتم توقيع برامجهم رقميًا ، وحتى وظيفة تجزئة MD5 التي تم استخدامها معروفة لا بد من كسرها!)

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

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

المصدر المفتوح: الخاتمة

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

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me