تصحيحات لبعض مفاهيم الحماية في الأكسس
مررت مؤخراً على بعض المشاركات المتعلقة بالحماية والأمان، وبعض هذه المشاركات قادتني إلى مواضيع أقدم تعد كمرجعية في المنتدى بالنسبة لموضوع الحماية، وبعد استعراض لعدد من هذه المواضيع، وماورد فيها من ردود ومناقشات، أظن أن الأمر بحاجة إلى بعض التوضيح والتصحيح، على الأقل في حده الأدنى الذي تسمح به معرفتي المحدودة بمبادئ الحماية في الأكسس.
ثمة حاجة إلى التوضيح، لأنه ما يزال هنالك لبس عند الكثيرين في مفاهيم أساسية، وسبب هذا اللبس فيما يبدو لي من متابعة بعض المواضيع المرجعية في المنتدى يدور حول التالي:
§ التناقضات بين مختلف المشاركات، أحياناً من نفس المشاركين. ربما كانت صيغة MDE من أكثر ما تعرض لهذا النوع من التذبذب. ستجد تصريحات وتلميحات (أحياناً غريبة وتشط بعيداً)، ربما من نفس المشارك، تختلف باختلاف الوقت مع تطور معرفة هذا المشارك بحقيقة الأمور، لكن اللبس يبقى عند من يقع على بعض هذه المشاركات.
§ التكتم الذي يصاحب بعض الأسئلة المتعلقة بالحماية، وعدم الإشارة صراحة إلى المصادر المستخدمة، سواء في الحصول على المعلومة، أو أداء مهمة.
من باب المساهمة في تصحيح القليل من المفاهيم، وتوضيح ما يتعلق بالنقاط أعلاه، أحببت أن أشارك بالملحوظات التالية على اختصار:
§ ملف الأكسس يحوي في العادة الشفرة المصدرية التي تكتبها، كما تكتبها. هذا يعني أن كود VBA بصورته النصية المقروءة في محرر VB، محفوظ في نفس ملف mdb، على الرغم من أنه عند تنفيذ الكود، فإن هذا الكود يجب ترجمته أولاً إلى صورة أخرى قابلة للتنفيذ. جوهر الحماية في ملفات mde هو ترجمة هذه الشفرة المصدرية إلى الصورة الأخرى مقدماً، وإزالة الشفرة المصدرية من الملف. هذا معناه أنه لم تعد هناك شفرة مصدرية أصلاً لاستخراجها سواء بواسطة مايكروسوفت أو بانهيار قاعدة البيانات (كما ورد في إحدى المشاركات). الطريقة الوحيدة التي أعلنت إحدى الشركات أنها قادرة بواسطتها على استعادة الشفرة المصدرية، هي باستخدام الهندسة العكسية. ذلك هو استخدام الصورة الأخرى التنفيذية من الشفرة لاستنتاج وبناء ما يغلب الظن أنه الكود الأصلي. لاحظ من فضلك أن هذه الطريقة (كما تصرح الشركة نفسها) غير قادرة على استعادة ما لا يمكن استنتاجه من عمل البرنامج، مثل الملحوظات comments التي استخدمها مبرمج الكود الأصلي، أو معرفة نوع عبارة التكرار التي تقوم بوظيفة (Do..Loop أو While..End، لأن كلتا العبارتين يمكن أن تقوم بنفس العمل تماماً). مسألة الهندسية العكسية هذه ليست سهلة البتة، وتحتاج إلى خبرة يصعب الحصول عليها، ولهذا يمكن أن نعد ملفات mde، خط الحماية الحقيقي في جبهة الأكسس، عملياً.
§ فيما يتعلق بلمفات mde أيضاً، وعلى الرغم من أن أغلب المصادر الرسمية وغير الرسمية، تجمع على أنه لا يمكن حتى تعديل تصميم النماذج والتقارير في هذه الملفات، إلا أنه في الحقيقة هناك ثغرة تمكن من الوصول إلى تعديل هذا التصميم (بعيداً عن الكود بالطبع، ببساطة لأنه لم يعد موجوداً، بغض النظر عن وجود ثغرات). من الغريب أن هذه الثغرة استمرت لفترة طويلة في الأكسس على الرغم من أنني قد وقعت في النت على نقاش ممتاز يشير إلى أن هذه الثغرة معروفة على الأقل منذ عام 1999. هذه الثغرة مشروحة في هذا المنتدى (وربما يظن البعض أن اكتشافها تم في هذا المنتدى، لكن هذا غير صحيح).
§ يجب التنبه إلى أن طرق الحماية بكلمات المرور (على اختلافها، من مستوى قاعدة البيانات، إلى حماية الكود، إلى كلمات مرور المستخدمين في ملفات mdw)، تتوفر لها برامج خاصة لاكتشافها. هكذا بكل بساطة، وليس بسحر ساحر، فلا يجب عليك أن تقلق أو تشعر بالحيرة أو الدهشة. الغريب أن مثل هذه البرامج قد تمت الإشارة إليها صراحة في هذا المنتدى منذ فترة (وليس اكتشافاً من عندي)، وإن كان بصورة متفرقة، لكن بسبب عدم الإشارة الصريحة إلى استخدامها عند حل القضايا المختلفة، تتولد بعض الافتراضات حول وجود (تقنيات) خاصة بعيد المنال حول هذا الموضوع. ينبغي مع ذلك التنبيه إلى أن الاستخدام الصحيح لهذه الأدوات يحتاج إلى فهم صحيح للمبادئ التي تقف خلف أساليب الحماية المختلفة.
§ لست هنا بصدد الكلام عن الحماية المخصصة خارج إمكانيات الأكسس المدمجة، وذلك مثل استخدام برنامج القلعة للأستاذ رضا عقيل، لأن هذا موضوع آخر يحتاج إلى نقاش مستقل، خصوصاً مع وجود الكثير من نقص الفهم لآلية عمل هذه الحماية، ومن عجب أن نقاشها علمياً يتم تجاهله مرة بعد مرة، على الرغم من أن الدراسة المتأنية تنتج الوفير من علامات التعجب!
على كل حال، هذا ما أحببت أن أوضحه في هذه المشاركة على عجالة، سائلاً المولى جل وعلا أن تكون ذات فائدة لمن يبدأ في البحث عن مواضيع الحماية في المنتدى، والله أعلم.
تم التعديل بمعرفة الادارة بناءً على قرار التحكيم لحذف عبارات لا تليق بحوار علمي




