🚀 أصبحت CloudSek أول شركة للأمن السيبراني من أصل هندي تتلقى استثمارات منها ولاية أمريكية صندوق
اقرأ المزيد

في محاولة لفهم كيفية عمل برامج الفدية، صادفت مقالًا عن»كيف لا تكتب برنامج الفدية.» هذا جعلني أتساءل «كيف تكتب واحدة بعد ذلك؟» لقد قادني ذلك إلى رحلة عبر العديد من المدونات ومستودعات التعليمات البرمجية، الأمر الذي أربكني أكثر. لذلك، قررت كتابة برنامج الفدية الخاص بي، لفهم عملياته وفي هذه العملية مساعدة الآخرين الذين يبحثون عن نفس السر بعيد المنال.
ستكون أفكارك الأولى هي تسمية مشروعك. يجب أن يعكس الاسم شخصية برنامج الفدية الخاص بك ويصفه مجازيًا. مع لمسة من الإبداع، تم تسمية مشروعي بحق باسم كرومبوبولوس مايكل، خصم ريك ومورتي، الذي أطلق عليه اسم مايك. كانت الأهداف الأساسية للمشروع هي تطوير برنامج الفدية وهو:
الخطوة التالية هي تحديد اللغة التي ستستخدمها لتطوير برنامج الفدية. لقد اخترت Python لأنها سهلة القراءة وصديقة للمبتدئين بطبيعتها. بالمقارنة مع اللغات ذات المستوى المنخفض، يكون التنفيذ في Python أبطأ ويدعم أحجام ملفات أكبر. في الواقع، قد يعتبر الأشخاص ذوو النوايا الخبيثة أن برامج الفدية التي تم تطويرها في Python غير جذابة.
ستوضح هذه المقالة المراحل المختلفة في دورة حياة برامج الفدية وعملية الإصابة بها وتوفر رؤى حول كيفية القيام بذلك مايك تعمل في كل مرحلة.
عادةً ما يتم تضمين برامج الفدية في المستندات وتسليمها عبر رسائل البريد الإلكتروني التي يتم تنفيذها بمجرد تنزيله/فتحها. قد يتنكر أيضًا كبرنامج شرعي ويخدعك لتنزيله وتنفيذه. قد تتمتع بعض برامج الفدية بالقدرة على الانتشار عبر الشبكات التي يتصل بها النظام.
يتظاهر مايك بأنه برنامج يعد بمساعدتك على إضافة عملة داخل اللعبة في لعبة من اختيارك.
لا يبدأ برنامج الفدية في التنفيذ بمجرد فتحه لتجنب الاكتشاف. بدلاً من ذلك، يقوم بإجراء سلسلة من الفحوصات لتحديد ما إذا كان يتم تنفيذه في وضع الحماية أو في بيئة عادية. تساعد تقنيات التهرب برامج الفدية على تشفير ملفات الضحايا بنجاح وكذلك منع اكتشافها. وهذا بدوره يساعد على نشر العدوى إلى أنظمة أخرى.
الشيكات محدودة فقط بخيال المؤلف. تقوم عمليات الفحص النموذجية بمراجعة تكوين أجهزة النظام بحثًا عن القيم المحددة لوضع الحماية، وتفحص أيضًا اسم ملف الملف القابل للتنفيذ لمعرفة ما إذا كانت قد تمت إعادة تسميته إلى شيء مثل «البرامج الضارة» أو «الاختبار»، وهو أمر يستخدمه المحللون عمومًا. يُقال إن بعض البرامج الضارة تتحقق أيضًا من درجة حرارة وحدة المعالجة المركزية ودقة الشاشة وتفاعل المستخدم لتجنب صناديق الحماية.
يمكن تجنب تحليل التعليمات البرمجية الثابتة إذا كان لديك قاعدة بيانات لم يتم أخذها من أي برامج ضارة موجودة. على الرغم من أن KMike لا ينفذ أيًا من هذه الإجراءات، إلا أن 7 فقط من أصل 72 محركًا تمكنوا من اكتشاف الملف على أنه ضار.

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