حماية البرمجيات في عام 2025

أوه! اليوم حصلت أخيرًا على استوديو الوحدة الجديد!

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

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

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

صحيح ، هذه هي البلورة الرابعة من هذا ، الإصدار السابع من الاستوديو ... حسنًا ، ماذا يمكنك أن تفعل ، لا تنتشر التحديثات على الإنترنت ، لا يمكنهم ذلك. فقط بسبب هذا الموقف: لكل معالج قاعدة التعليمات البرمجية الخاصة به. أي أن فريق MOV EAX، EDX لديه رمز تشغيل ليس 8BC2 ، ولكن ... لا أحد يعرف أي واحد. يتم تحديد مجموعة opcodes بشكل عشوائي في المصنع عند حرق اللوحة. ثم يتم تجميع البرنامج تحته.
حماية مثالية! لا يمكن لأحد كتابة فيروس إذا كانت أوامر المجمّع مختلفة! أتذكر أنه قبل عشر سنوات كانت هناك لغات مع آلة افتراضية خاصة بهم ... والآن ، c # و java هي لغات مترجمة.

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

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

أنا واحد من القلائل الذين يستطيعون تحمل تكلفة معالج المطور ... وذلك لأنني أقوم بالجزء الأخير من المبرمجين - تطوير الويب.

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

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

حسنًا ، كل هذا الهراء من التوحيد القياسي لم يصل إلى لغات البرمجة! كانت هناك محاولات لاستدعاء لغة 1C State وحظر الباقي ... الحمد لله ، 1C نفسها تعارضها - لن تلحق أبدًا بجميع الأطر الموجودة لجميع اللغات الموجودة. حسنًا ، تحدث المجتمع ...

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

التحديث: من المفترض أن سعة المعالج لا تقل على الأقل ، ولكن مع زيادة الحد الأقصى. على سبيل المثال عدد الخيارات لكل كود تشغيل هو 2 ^ 64 أو أكثر.
مع زيادة عدد الترانزستورات على الشريحة ، لا تزيد الإنتاجية بالضرورة: على سبيل المثال ، "تزن" المافيا الأخيرة 42 جيجا بايت في نسخة معبأة - وكل هذا يجب أن يقع على الشريحة. على سبيل المثال المدمج في الحد الأدنى 1 تيرابايت (لدينا المستقبل ، أليس كذلك؟) محرك أقراص محمول + xs مقدار ذاكرة الوصول العشوائي.

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

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

Source: https://habr.com/ru/post/ar399781/


All Articles