مقدمة
تعتبر أنظمة التشفير
الخاصة بالتطبيقات جزء مهم من نظام حماية البرامج من أي عملية سرقة وإعادة برمجة
فجميع برامج التفكيك قادرة على التلاعب بمربعات الحوار والقوائم والرسائل التي
تحفظ ملكية البرنامج لشركة معينة أو شخص معين وكذلك سرقة حقوق البرنامج بالكامل
وإعادة طرحه بمقابل مادي أقل أو حتى بالمجان لهدف كسب شهرة الموقع أو المدونة
الخاصة بالمبرمج العكسي بالنسبة لأنظمة حماية التطبيقات فهي على نوعين
حماية
التطبيقات وفق خوارزميات الضغط:
تعتبر الأشهر في هذا
المجال والأكثر انتشارا حيث يتم من خلال تطبيقات صغيرة الحجم حماية البرمجيات التي
يتم طرحها بمقابل مادي وتتعدد هذه الخوارزميات ومنشأها وقوة الحماية الخاصة بها لكن
بشكل عام فإن عملية التشفير بواسطة ضغط البيانات آمنة نوعا ما ففي حالة قمنا بضغط
ملف معين فإننا نحصل على حجم صغير عن حجم الملف الأساسي ويتم إخفاء اللغة البرمجية
التي تم استعمالها في عملية صناعة البرنامج إضافة إلى تشفير المحتوى أثناء التشغيل
هناك حاليا عدد من الأدوات التي يتم طرحها والتي تعطي المبرمج العكسي إمكانية
معرفة نوع نظام التشفير الذي استعملته الشركة أو شخص ما لحماية تطبيقه و أشهر هذه
الأدوات peid
والذي قمنا بشرحه في هذا الكتاب بل ويمكن حتى فك خوارزمية التشفير من خلال الأداة
نفسها بكل الأحوال بدء المبرمجين العكسيين يدخلون تعديلات على خوارزميات الضغط
نفسها لتأمين حماية مستقلة وأقل عرضة للأخطار وخاصة أن معظم هذه البرامج مفتوح
المصدر
هل هذه
الطريقة توفر بيئة آمنة؟
كما أشرنا سابقا فإن
أدوات التشفير المتاحة حاليا كثيرة وهذا مايجعل الساحة مفتوحة أمام مبرمج التطبيق
لحماية برنامجه من التعديل بكل الأحوال فإن قوة تشفير كل خوارزمية يتعلق بنظام فك
التشفير بصراحة لا يوجد على بسيطة الأرض نظام آمن من فك التشفير مادام المهندسين
والمبرمجين العكسين موجودين ويعملون في هذا المجال ومادام التنافس موجودا بين
الشركات الكبرى من أجل تحطيم بعضها البعض أو على الأقل تدمير المنتج البرمجي
المنافس لها ويكمن السر وراء عملية فك تشفير الخوارزميات إلى عدة أسباب
·
وجود مبرمج أو مهندس عكسي استطاع اكتشاف الخوارزمية وقام بطرح أداة
صغيرة الحجم لفكها
·
تسريب خوارزمية التشفير من قبل شركة الحماية نفسها لإجبار المبرمج على
تحديث المنتج وشراء نسخ حماية جديدة
·
الجواسيس الذين تزرعهم الشركات كعملاء لها ضد خصومها من الشركات
الأخرى حيث يقومون بتسريب الخوارزميات لموظفيها وطرحها في السوق
تطور
أنظمة التشفير وحماية الملفات
تطورت أنظمة التشفير
عبر العصور بشكل كبير بتطور الأجهزة فكان الاعتماد سابقا على أنواع مختلفة من
البرمجيات التي توفر لنا حماية كبيرة للتطبيقات الخاصة بالحواسيب وكان لكل شركة
خوارزمية خاصة لحماية البرنامج الذي تطرحه من السرقة أو فك السيريال الخاص به
واليك بعض الأفكار التي طرحتها هذه الشركات وتطور نظم التشفير
1-
التشفير من خلال العمليات الرياضية: هذا النوع من التشفير كان معمولا به لسنوات طويلة في أنظمة الحاسب
الألي إلا أنها أصبحت الآن من أقدم نظم التشفير وأكثرها عرضة للهجمات حيث يتم وضع
مجموعة من السيريالات (الأرقام) ثم يقوم المبرمج بعد ذلك بعمليات حسابية معينة
كالضرب أو القسمة او الجمع أو مضاعفة العدد أو إيجاد القاسم المشترك حيث يتم كتابة
مجموعة من الأرقام مثلا 3432-2343-1122 الرقم السابق يتألف من ثلاث خانات كل خانة
فيها أربع أرقام في الهندسة العكسية يمكن اكتشاف هذا النوع من السيريال بسهولة
لذلك يلجأ المبرمجون إلى استخدام العمليات الرياضية مثل ضرب هذه الاعداد أو قسمتها
من أجل التمويه على الأرقام الأساسية وعدم إيجادها في المسجلات بحيث يكتب الكراكر
السيريال الوهمي وهو بالأساس عبارة عن ناتج عملية رياضية عن السيريال الأساسي يمكن
برمجة هذا النوع من أنظمة الحماية بسهولة كبيرة بالنسبة للمبرمجين العكسيين فيمكن
اكتشاف المسجل الذي يحوي على السيريلات ومن ثم يمكن تخمين العملية الرياضية التي
استخدمت لإخفاء السيريال الأساسي بشكل سريع دون الحاجة لاستخدام برمجيات حتى
2-
التشفير باستخدام المنطق الرياضي: يمكن استخدام العمليات الرياضية مثل or , xor , Add وقد شرحنا سابقا أن هذه العمليات هي جزء من أي
نوع من أنواع لغات البرمجة المتعارف عليها حول العالم من خلال هذه العمليات يمكن
اتخاذ إجراءات معينة على السيريلات التي تحوي أرقام وحروف معا او التي تحوي على
جمل معينة أو من خلال وضع عنوان البريد الالكتروني ليعطي فيما بعد السيريال الخاص
بهذا العنوان من خلال عملية مقارنة المسجلات ومن ثم مقارنة المعطيات بالبيانات
الأصلية بعد فك عملية التشفير في المسجلات في حالة التمويه يضطر المبرمجون
العكسيون إلى إجراء عمليات حسابية مطولة تنتهي أغلبها بالنجاح وهذا يعتمد على
الخبرة والأدوات التي يستخدمها المبرمج في فك شيفرة البرنامج للحصول على نسخة
كاملة
3-
التشفير باستخدام محرر الستة عشري HexEDitor:هذا النوع من التشفير يقسم إلى قسمين الأول يدوي وفيه يتم تشفير
البرنامج لا خفاء سيرفر داخله من أجل الولوج إلى جهاز الضحية وهي طريقة قد تحتاج
إلى وقت نوعا ما لكن لا تعتبر صعبة فالممارسة تسهل على المبرمج عملية التشفير فأي
حقن ديناميكي لأي نوع من أنواع السيرفرات داخل الملفات التنفيذية يتم كشفه من خلال
مكافح الفايروس أو برامج الحماية المتطورة والتي فردنا لها بحث في هذا الكتاب لذلك
فأن التشفير يقوم بعملية حفظ السيرفر في الملف التنفيذي بشكل آمن دون أن تتعرف
برامج الحماية عليه حيث يقوم المبرمج العكسي بتجريب المزاحات من أجل القيام بعملية
تصفير القيم ومن ثم فحص البرنامج بمكافح فايروس حتى يتم اكتشاف الازاحة من ثم حفظ
البرنامج ليصح السيرفر عصيا على برامج الحماية كنت قد جربت الطريقة أكثر من مرة
وكانت ناجحة بدون أي مشاكل
4-
تشفير النصوص من خلال لجوريتميات التشفير: وهي عبارة عن تشفير النصوص من خلال تبديل مكان الأحرف أو إرجاع
الحرفيين الأوليين إلى أول الجدول وبقاء الأحرف الأخرى كما هي وهكذا لكن ماهي أشهر
أنظمة التشفير التي تتبع هذا النوع من الخوارزميات .....
أ-
شيفرة Caesar
Cipher:
من أشهر الشيفرات وتعرف باسم قيصر ويعتمد هذا النوع من الأنظمة على
تقديم الحرف المراد تشفيره ثلاث خانات إلى الأمام وابداله بالحرف الأساسي فمثلا
عند تشفير كلمة Go
باللغة الإنكليزية نقوم بالتالي
الحرف G+3=J بعد حرف G يأتي H ثم I ثم J ونقف عند حرف J لأنه الحرف الثالث
الحرف O+3=R بعد الحرف o يأتي الحرف P ثم Q ثم R ونقف عند هذا الحرف لأنه الثالث
لتصبح الكلمة عد عملية التشفير JR وسابقا GOويطبق
هذا على كل حروف اللغة الإنكليزية يعرف نظام التشفير قيصر بأنه سهل وبسيط ويمكن فك
تشفيره من خلال إرجاع الحرف المشفر ثلاث خانات إلى الوراء لإتمام العملية ولحماية
التشفير أكثر يمكن تقسيم النص المشفر إلى أقسام كل قسم خمسة أحرف ليصعب على محللي
الشيفرات اكتشافها
ب-
شيفرة Atbash Cipher:
تعتمد هذه الشفرة على عكس الاحرف وما يقابلها من الأحرف بالترتيب
الصحيح واستخدم هذا النوع من أنظمة التشفير سابقا وأصل هذا النظام كان اللغة
العبرية فمثلا لدينا الأحرف التالية
A-B-C-D-E-F-G-H يقبلها لكن بالعكس
Z-Y-X-W-V-U-T-S قمنا هنا بقلب الأحرف بالعكس كما نلاحظ من خلال
الجدول التالي
فمثلا الحرف A يقابله بالعكس العكس الحرف Z والحرف B يقابله الحرف Y فعند كتابة الكلمة FEED تصبح بنظام التشفير UVVWفلكل حرف مقابل له
جـ-شيفرةROT13:
هذا النوع من أنظمة التشفير يعتمد خيار إزاحة الحرف 13 مرتبة فبديل
الحرف C
هو الحرف Pأشبه بشيفرة قيصر لكن التحرك يكون 13 مرتبة للأمام وفي حال أردنا كسر
الشيفرة يمكننا أيضا القفز 13 مرتبة أخرى للعودة للحرف الأساسي مما يجعلها بسيطة
وسهلة الكسر استخدمت سابقا في نظام التشغيل يونكس لكن تم فيما بعد إحالتها إلى
التقاعد
د-شيفرةAffine Cipher:
التشفير بهذه الطريقة يعتمد على قانونين
الأول هو الإزاحة كما في شيفرة قيصر والثاني هو ضرب الأحرف بمعامل رقمي كما تعرفنا
سابقا على طريقة تشفير الأرقام واستخدام العمليات الرياضية في نظم التشفير لذلك
يعرف هذا النوع من الأنظمة بخوارزمية التشفير المختلط لأنه يعامل الأحرف على أنها
أرقام فلكل حرف رقم يبدأ من الصفر وحتى الرقم 25 ليمثل ذلك جميع أحرف اللغة الإنكليزية
وكونه يعتمد هذه الخوارزمية فأن عملية فك التشفير تحتاج إلى استخدام خوارزمية
اقليديس الممتدة حيث يتم ادخال عددين لينتج فيما بعد معكوسهما
0 التعليقات:
إرسال تعليق