إلكترون (Electron) عبارة عن بيئة تطوير للتطبيقات، والتي يتم بعد ذلك تضمينها في النهاية في متصفح “خاص”.
الميزة: عملي - تطبيق كمتصفح، يعمل فعليًا في كل مكان. العيوب: احتمالية الهجوم - التحميل الزائد، متطلبات الذاكرة الكبيرة، عدم خلوها من العوائق.
هناك الكثير من التطبيقات التي طبَّقت باستخدام Electron: Atom، وDeltaChat Desktop، وDiscord Desktop، وElement Desktop، وMattermost Desktop، وSignal Desktop، وSlack Desktop، وThrema Desktop، وVisual Studio، وWhatsApp Desktop وما إلى ذلك.
فيما يلي المزيد من الانتقادات الموجهة إلى منصة التطوير الناجحة للغاية بلا منازع.
الإتاحة
إلكترون ليس سهل المنال، مما يعني، على سبيل المثال، أن الأشخاص ضعاف البصر محرومون.
حقن وظيفة الكروميوم الإضافية في الإلكترون
كمستخدم كفيف، أواجه مشكلات في استخدام تطبيقات Electron مع قارئ الشاشة Orca لنظام التشغيل Linux. وذلك لأن متصفحي الأساسي Chromium، لا يدعم استخدام Orca افتراضيًا. ومع ذلك، فهو يحتوي على ملحق يسمى ChromeVox ليكون بمثابة قارئ الشاشة. نظرًا لأن كلاً من Chrome وChromium يستخدمان قارئ الشاشة هذا، ويستخدم Electron Chrome للعمل، أتساءل عما إذا كان من الممكن بعد ذلك “إدخال” قارئ الشاشة ChromeVox في تطبيقاتي. أستخدم inject بشكل خاطئ، نظرًا لوجود بعض التطبيقات التي لا يمكنني الوصول بسهولة إلى الكود المصدري لها؛ يُعد Spotify وSlack بمثابة الأمثلة الأساسية. هل لدى أي شخص بعض الخبرة في هذا الشأن؟
مصدر: Reddit (2017)
الأمن والخصوصية
يعد Electron متصفح Chrome كاملاً تقريبًا مع وظيفة إضافية مدمجة (التطبيق). لذا فإن تطبيقات Electron ليست في الواقع تطبيقات ولكنها متصفح Chrome يحتوي على علامة تبويب واحدة فقط، وهي التطبيق. وهذا يعني أنه مقابل كل تطبيق Electron تقوم بتثبيت متصفح Chrome كاملاً لنفسك.
إنه يتظاهر فعليًا بأنه برنامج تم تطويره بشكل نظيف لنظام التشغيل المعني من خلال تجميع تطبيق الويب فقط في Chrome. في الواقع، يمكنك بعد ذلك استخدام تطبيق الويب العادي للتطبيق على الفور.
مشكلة:
نظرًا لتعقيد المتصفحات، يكون سطح الهجوم أكبر من البرامج/التطبيقات الكلاسيكية.
ومن الشائع أيضًا مع Electronapps أن يقوم المطورون بتحديث برامجهم، ولكن لا يقومون بتحديث Electronframework المستخدم بانتظام. في كثير من الأحيان هناك أسابيع أو أشهر بين الإصدارات الإلكترونية المستخدمة والمتاحة. ومع ذلك، لن يقوم أي شخص يتصرف بمسؤولية بتحديث متصفحه لعدة أشهر، سواء كان Chromium أو Firefox أو أي متصفح آخر. لسوء الحظ، يفكر بعض المطورين بشكل مختلف عندما يتعلق الأمر بـ Electronapps.
ومع ذلك، تعد التحديثات المنتظمة ذات أهمية أساسية لسد الثغرات الأمنية.
يمكن العثور على مثال مثير للإعجاب في دبيان (خارجي).
لذلك لا يُنصح باستخدام Electron لأسباب أمنية ولا لأسباب تتعلق باقتصاد البيانات (حماية البيانات).
إذا ركزت التطبيقات على “الأمان” وتفاخرت به - ولكنها استخدمت الإلكترون في نفس الوقت، فإن هذا يتعارض بعض الشيء. ولذلك يُوصي البعض بعدم تشغيل تطبيقات الإلكترون بشكل مباشر، بل معزولة بشكل حصري، على سبيل المثال. في “مَعْزِل”. وأيضًا، وفقًا لدليل البرامج الحرة (الخارجي)، فإن Electron هو برنامج غير حر.
مقالة جيدة جدًا حول هذا الموضوع: "تطبيقات Electron لها نقطة ضعف خطيرة".
يمكن أن يتم اختراق البرامج المستندة إلى إطار عمل Electron بواسطة مهاجمين محليين وإساءة استخدامها كمنصات هجوم. في مؤتمر BSides Las Vegas الأمني، كشف Pavel Tsakalidis من شركة الأمان context عن ثغرة أمنية في إطار تطوير برمجيات Electron الخاص بـ GitHub والتي يمكن استخدامها لتطبيقات Electron الخلفية وحقنها برموز ضارة. على الرغم من أن المهاجم يحتاج إلى الوصول المحلي إلى النظام للقيام بذلك - وبالتالي فإن الهجمات من بعيد صعبة - إلا أن حقوق المستخدم البسيطة كافية في نظام Windows. يشكل إطار عمل Electron الأساس لمحرر النصوص Atom الخاص بـ GitHub ورمز Visual Studio الخاص بـ Microsoft. ويستخدمه أيضًا برنامج المراسلة Skype وWhatsApp وSignal وWire وCryptocat وDiscord وSlack لتطبيقات سطح المكتب الخاصة بهم. من المحتمل أيضًا أن يتأثر عملاء سطح المكتب GitHub وTwitch.
يحظى Electron بشعبية كبيرة لأنه يسمح للمطورين بالتواجد بإصدار واحد من تطبيقاتهم على أنظمة التشغيل Windows وmacOS وLinux في وقت واحد. وهو يعتمد على JavaScript وNode.js ويخزن بيانات التطبيق في تنسيق أرشيف يسمى ASAR، من بين أشياء أخرى. وهذا هو بالضبط مكان الثغرة الأمنية، وهو ما أعلنه تساكاليديس للعامة الآن. أرشيفات ASAR الخاصة بتطبيق Electron ليست مشفرة ولا موقعة رقميًا. سمح ذلك للباحث الأمني بتطوير أداة بايثون تسمى BEEMKA، والتي يمكنه استخدامها لتفريغ هذه الأرشيفات ومعالجة التعليمات البرمجية التي تحتوي عليها. وينتج عن ذلك قدرة المهاجم على إخفاء التعليمات البرمجية الضارة في العمليات المشروعة للتطبيق. على نظامي التشغيل MacOS وLinux، يتطلب BEEMKA حقوق المسؤول للقيام بذلك؛ في نظام التشغيل Windows، يعد تسجيل الدخول كمستخدم عادي أمرًا كافيًا.
الوصول إلى نظام الملفات وكاميرا الويب
يمكن للكود المهرب إلى التطبيقات الأصلية الوصول إلى كاميرا الويب الخاصة بالنظام ونظام الملفات المحلي. ونظرًا لأن نظام التشغيل يثق في التطبيق - والذي يتم توقيعه عادةً بشهادة صالحة من المطور - فيمكن للمهاجم بالتالي قراءة البيانات الحساسة الموجودة على النظام. في أحد مقاطع الفيديو، يوضح Tsakalidis كيف تكشف نسخة طروادة من مدير كلمات المرور Bitwarden عن كلمات المرور، والتي يمكن لرمز Tsakalidis إرسالها بعد ذلك إلى أي خادم ويب. بالإضافة إلى ذلك، أظهر الباحث الأمني في عرضه كيف يمكن للنسخة التي تم التلاعب بها من Visual Studio Code أن تسرب محتويات أي علامة تبويب مفتوحة للتعليمات البرمجية إلى الإنترنت. ويمكن استخدام هذا للتجسس على الأسرار التجارية لمطوري البرمجيات، على سبيل المثال.
وفقًا لتساكاليديس، تسمح الثغرة الأمنية أيضًا بإدخال التعليمات البرمجية في العمليات الداخلية لإطار عمل الإلكترون. على سبيل المثال، ملحقات Chrome المضمنة. على سبيل المثال، يمكن للمهاجم تجاوز عمليات التحقق من الشهادات والتنصت على اتصالات HTTPS المشفرة لتطبيقات Electron. كما يمكن للمهاجم أن يتلاعب بهدوء بميزات تحديث تطبيقات Electron بحيث لا يتم استبدال التعليمات البرمجية الضارة الخاصة به بإصدار جديد من التطبيق.
لا يرى الإلكترون أي سبب للتصرف
وفقًا لتساكاليديس، يعرف مطورو Electron بالمشكلة لأن مطوري Electron طلبوا في الماضي في متتبع الأخطاء الخاص بالمشروع مفتوح المصدر تأمين أرشيفات ASAR بشكل مشفر. تم حظر هذه الطلبات من قبل مطوري المشروع المسؤولين. وقال تساكاليديس إن إلكترون لم يستجب لمحاولاته الاتصال بهم قبل إطلاق سراحهم. كما لم يستجب المشروع بعد للاستفسارات الواردة من موقع heise عبر الإنترنت. ويخشى الباحث الأمني أنه، بالإضافة إلى الهجمات المحلية التي وصفها، من الممكن أيضًا فرض تطبيقات Electron التي تم التلاعب بها على مستخدمين آخرين. ومع ذلك، على الأقل في ظل نظام التشغيل macOS، سيتعين على وظيفة أمان Gatekeeper اكتشاف التغييرات في التطبيق وإطلاق الإنذار.
في مناقشة في موقع تعقب الأخطاء الإلكترونية، يشرح تساكاليديس كيف اكتشف الفجوة في الأصل. وكجزء من الفريق الأحمر، تم تكليفه بمهمة تثبيت تعليمات برمجية ضارة على نظام (يشير الباحثون الأمنيون أيضًا إلى هذا على أنه استمرار) في شبكة أحد عملاء شركته الأمنية. حقق الفريق الأحمر ذلك من خلال استغلال Powershell الذي أخفوه في ملفات ASAR الخاصة ببرنامج Slack messenger الخاص بالشركة. وقال تساكاليديس: “في كل مرة يتم فيها تشغيل Slack عند بدء تشغيل Windows، كان لدينا إمكانية الوصول إلى الشبكة الداخلية مرة أخرى”.
من الأفضل استخدام تطبيقات أصيلة (Native).
مزيد من المعلومات:
إذا لديك أي سؤال أو استفسار.
انضم إلى مجموعة أسس لأمن المعلومات والخصوصية الرقمية على: