المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : -=(بحث تثقيفي منوع في مواضيع تختص في أمن وحماية الكمبيوتر)=-



Anti.Hack
06-01-2007, 02:09 AM
بسم الله الرحمن الرحيم


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



بادئ ذي بدء، البحث متمركز حول 3 مواضيع أساسية هي/
آلية عمل برامج الأنتي فيرس
تقنية الروت كيت
ماهية القيم الست عشرية


M



كثير منهم من صب جل لومه على برنامج مقاومة الفيروسات Norton AV بعد اكتشاف الثغرة الأمنية التي تمنعه من القيام بفحص مجلد معين في النظام، ماذا حدث بعدها؟ الكل صار يقول أن النورتن برنامج ضعيف، النورتن صار عجوز، النورتن لا يصلح! في الحقيقة أن هذا تماما ما حصل لبرنامج نظام التشغيل ويندوز بعد انتشار فيروسا بلاستر وساسر، صارت الناس تقيِّم ويندوز على أنه نظام تشغيل غير آمن، ولو تمعنا النظر في هذه الأمور ونظرنا إليها من جهة واقعية، لوجدناها مبنية على أساس غير دقيق، في الحقيقة أن النظام الذي يُتداول عنه بأنه من أأمن أنظمة التشغيل وهو لينكس، لم يتعرض كما تعرض له ويندوز من تحليل ودراسة من قبل المختصين والهواة والقراصنة وشركات الأنظمة المنافسة، وأعتقد لو أن نظاما مثل لينكس تعرض لما يتعرض له ويندوز لصار اكتشاف الثغرات به أمر سخيف لأبعد الحدود! على العموم مجال أمن المعلومات وحماية البيانات مجال واسع جداً ولا يقتصر فقط على برنامج مقاومة فيروسات أو برنامج جدار ناري، و لا يختلف اثنان على أن إتقان وفهم أساليب القراصنة هو من أنجح الطرق وأضمنها في الحماية -وهذا هو مبدأنا في ذا الكتيب- ، لا يظن ظان أن الإلمام بطرق القرصنة هو فهم طريقة استخدام برنامج معين للدخول على جهاز آخر أو استغلال ثغرة أمنية مكتشفة للدخول على لوحة تحكم موقع معين، فالأمر ربما يكون أعقد من ذلك بكثير! ومثلما نرى أن هنالك منافسة بين قوى الخير وقوى الشر في جميع المجالات، فمع تطور أنظمة التشغيل تتطور وسائل وأساليب الهاكرز (القراصنة)، الحقيقة أن القاعدة الشهيرة لهؤلاء القراصنة التي تنص على أنه لا يوجد نظام أو برنامج كامل وآمن 100%، هي قاعدة تتجذر وتثبت نفسها يوما بعد يوم، هذه القاعدة لا تعني بالضرورة أنه لا يوجد نظام أو برنامج كامل في عمله، عكس هذا تماما, أصبحت اليوم البرامج تعطي النتائج المرجوة ويعني هذا الشيء أنه لا يوجد خطأ برمجي في ذاك البرنامج، لكن من قال أن البرنامج الذي لا يحتوى على خطأ برمجي هو برنامج كامل وآمن 100%؟ الهاكرز دائما لهم وجهة نظر أخرى! كيف يمكن فك هذا التناقض يا ترى ؟! لاستيعاب هذا الأمر يجب التفريق بين الخطأ البرمجي والخطأ الأمني، ففي كثير من الأوقات يتداخل النوعان معاً، فقد يسبب الخطأ البرمجي ثغرة أمنية وقد لا يسبب، سنأخذ مثال بسيط على ذلك وهو تطبيق الويب الشهير مجلة ASP NUKE 0.80 من المعلوم أن هذه الإصدارة بها ثغرة من نوع cross site scripting أو XSS، حيث يوجد في المسار module/support/language صفحة باسم select.asp و وظيفة هذه الصفحة تحديد لغة من خلال كود معين، بحيث إذا توفرت اللغة المطلوبة يتم تحويل التطبيق لهذه اللغة وإذا لم تتوفر يقوم التطبيق بعرض رسالة خطأ تخبر بعدم توفر اللغة المطلوبة (مثل أي لغة يسمى هذا بالبديل المزدوج ) بهذه الطريقة نرى أن الكود البرمجي صحيح ويقوم بعمله على أتم وجه، أي أنه لا توجد أخطاء من ناحية برمجية، لكن دعونا نرى وجهة الهكر في هذا الموضع، قام الهكر باستغلال رسالة الخطأ التي تظهر عند اختيار لغة غير متوفرة، فكرةُ أن اللغة الغير متوفرة تظهر في رسالة الخطأ على اسمها لكن بشكل يقبل تنفيذ الأكواد، فكرةٌ توفر إمكانية طباعة كود HTML بدل اسم اللغة غير المتوفرة، ماذا يعني هذا؟ لو وضعنا كود HTML لرابط صورة معينة، بكل بساطة ستظهر الصورة في رسالة الخطأ! ماذا لو تقدم الهاكر خطوة وقام بوضع سكربت (Script) جافا متطور؟ بالتأكيد عندها يستطيع مثلا إظهار الكوكيز لمدير الموقع!، بهذه الثغرة وجدنا الفرق بين الخطأ البرمجي والثغرة الأمنية، دعنا الآن نرى الموضوع من جهة أخرى، من قام بإيجاد مثل هذه الثغرة؟ - تذكر أن مبرمجي المجلة محترفون! لا شيء مستحيل أبداً، ولا تعتقد أبداً أن المبرمجين كانوا على دراية بهذه الثغرات في أعمالهم البرمجية قبل نشرها، فهم يصعقون دوماً عند اختراق أعمالهم، لهذا لا أعتقد أن شركات أنظمة التشغيل تتحدث بمصداقية تامة عندما تقوم بالترويج عن نظامها الذي ستطرحه قريبا، فهناك أعين تترصد أي فجوة في هذه الأنظمة وقد تستغلها في أي لحظة.




تبسيط فكرة عمل برامج الانتي فيرس



مثل (Nortonتعمل برامج الأنتي فيرس كدرع واقي من هذه الفيروسات، إذ إن لهذه البرامج القدرةعلى تمييز الملف الحميد من غيره.! في الحقيقة أن كل ملف مهما كان امتداده ونوعه يمكن أن تترجم تركيبته إلى قيم أو رموز تسمى القيم الست عشرية وتكتب اختصارا (Hex)، وبرامج مقاومة الفيروسات تتعرف على الملفات الخبيثة بطرق ووسائل متعددة تكون مرتبطة ارتباطا مباشرا بالقيم
الست عشرية. ويمكنك استخدام أحد محررات القيم الست عشرية لرؤية قيم ملف معين، من أشهر هذه المحررات وأكثرها احترافا برنامج Hex Workshop، يمكنك زيارة موقعه التفاعلي على العنوان www.bpsoft.com (http://www.bpsoft.com/).
وسنتطرق أكثر في القيم الست عشرية في جزء آخر، مثل أي ملف آخر فإن للفيروسات تواقيع رقمية،و حيث أن برامج مقاومة الفيروسات تقوم بتحليل الفيروسات الجديدة ومن ثم اختيار تواقيع معينة بآلية معينة ومختلفة من برنامج لآخر، و من ثم إضافة هذه التواقيع إلى قاعدة بيانات برنامج مقاومة الفيروسات، عند قيام البرنامج بفحص ملف معين، يقوم بمقارنة تواقيع هذا الملف مع التواقيع الموجودة في قاعدة البيانات، فإن تطابق توقيع الملف مع أي توقيع في قاعدة البيانات يتم تعريف الملف ملفا خبيثا أو فيروسا، وإلا فلا.
ماذا نفهم من هذه الآلية؟ نفهم أننا بتغيير توقيع الفيروس يمكن أن نجعله ملفا حميدا في أعين برامج الحماية، وقد أستغل القراصنة هذه الفكرة كثيرا.
برامج الحماية لا تقوم باختيار هذه التواقيع عشوائيا، وإنما بأسس معينة مراعية في ذلك حجم الفيروس وطبيعته وغير ذلك، و للاستفاضة في كيفية اختيار التواقيع يمكنك زيارة الرابط http://www.jaascois.com/research/36601021
وكقاعدة عامة استخدام بــرامج مقاومــة الفيروسات لا يعنــي أن جهــازك محمـي مـن كــل الهجمــات والاختراقات لأن برامــج الحمـايــة فــي الأصـل لا تتعرف على هذه الفيروسات إلا بعد ظهورها وانتشارها فـــي العـالــم وبعد ذلك يتم تحليل هذه الفيروسات وإضافة تواقيعها إلى برامج الحماية.
يعتمد أي برنامج (Anti Virus) على أربعة أسس لاكتشاف وإزالة الفيروسات وملفات التجسس من أنظمة التشغيل بشتى أنواعها..هي




» تحليل الملف.
» تعريف أكواد خبيثة فيه.
» إصدار توقيع له.
» ومن ثم اصطياده.


مراقبة و تحليل الملفات يعتبر من أرهق الخطوات لدى مبرمجي مقاومات الفيروسات، لأن هذهالعملية تحتاج ترصد دائم ومستمر لشتى أنواع الملفات ومصادرها وطبيعة العملوالتدفقالبرمجي الخاص بها، لندخل أكثر في التفاصيل..
exe و DLL و OCX ..الخ، تعرف بالملفات التنفيذية، هذه الملفات مقسمة أساسا إلى مقدمة و محتوى، والمقدمة بحد ذاتها لها 3 أقسام:
1. مقدمة DOS.
2. مقدمة Portable Executable (PE).
3. الأقسام.
http://raqee.jeeran.com/droos/Exefiles.gif


الفيروسات الحديثة أهملت مقدمة DOS لأنها لن تحتاجها في ذا الجيل من الأنظمة،و لكل مقدمة من هذه المقدمات قيم مصنفة بالرموز الست عشرية (Hexadecimal) ولها وظائف معينة، ولا يفقه هذه الوظائف إلا من له شأن في لغة التجميع (الأسمبلي)، وأبسط برامج المقاومة في العمل هي التي تقوم بحفظ كل قيم المقدمات (كتوقيع) للتعرف على الملف كونه خبيث أو حميد.
كل هذا لا يعني أن برامج المقاومة جميعها تستخدم نفس الفكرة بالطبع لا!
الطرق متعددة جدا، مثلا بعض المقاومات، تقوم بتشفير بعض من أكواد الفيروسات عن طريق MD5 ومن ثم تقوم بالمقارنة لتميز الملفات، فالمهم هو إيجاد بصمة في الملف لا يُتوقع وجودها في غيره.
قد يسأل سائل: كيف تستطيع شركات مقاومات الفيروسات اكتشافالفيروسات الجديدة؟
ظهور أي خبر عن وجود ثغرة جديدة في نظام ويندوز مثلا ينبأ عن ظهور فيروس سيستغل تلك الثغرة، بالتالي يقوم خبراء شركات المقاومة بتقصي ومراقبة تلك الثغرات، ليتصيدوا أي بريمج خبيث يحاول الاستغلال، وتوفر مواقع الأمن (السيكيورتي) المعلومات اللازمة، عن مثل هذه الثغرات، هنالك أيضا مجموعات الهكرز التي تتزايد يوما بعد يوم مثل http://vx.netlux.org (http://vx.netlux.org/)


أيضا المواقع مثل: http://virusscan.jotti.org (http://virusscan.jotti.org/) و http://www.virustotal.com (http://www.virustotal.com/)



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


تقنية:



RootKit


نبذة بسيطة:


هل صادف وأن سمعت بشيء يسمى تقنية الـ (Root Kit)؟ حاليا تعتبر هذه التقنية إلى حد بعيد من أذكى التقنيات, بل أن برامج الحماية أصبحت تعاني بسبب الروت كيت.



ما هو الروت كيت؟


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


هنا نلاحظ هذه الخاصية في أحد البرامج الخبيثة
http://raqee.jeeran.com/ivykit.gif


كيف يعمل الروت كيت؟ (How Do Root kits Work) :



فكرة وطريقة عمل الروت كيت ليست معقدة كثيرا، فهو يعمل بمبدأ يسمىالتعديل (modification), فلنتابع معاً السطور القادمة لفهم هذه السمفونية


- الترقيع Patching:


الكود القابل للتنفيذ (Executable code ) يحتوي على متسلسلة من التعابير المشفرة كبايتات بياناتية.


وهذه البايتات تكون منظمة بدقة، وكل بايت منها يعني شيء ما للكمبيوتر،و البرامج يمكن أن تُعدَّل إذا تم تعديل هذه البايتات، هذا التعديل أو التغيير يسمى (ترقيع).


وفي الحقيقة أن البرمجيات (Software) ليست ذكية، فهي تقوم بما تُخبر به فقط، ولا تعمل شيء غير ذلك. لهذا السبب التعديل فيها له أثر في عملها، فالترقيع أحد الوسائل التي يستخدمها الكراكرز (Crackers) للتنصل من برامج الحماية والمراقبة، ومن الطريف في الأمر أن الترقيع أيضا يستخدم لخداع ألعاب الفيديو (Video Games) مثلا لإعطائك زمن أطول للحياة أو جمع عدد أكبر من الذهب والنقاط أو فضح فريق كرة قدم كبير مثل البرازيل بتسجيل عدد خيالي من الأهداف في شباكه J.


تعديل الشفرة البرمجية المصدرية (Source-Code Modification):




يمكن تغيير الأكواد المصدرية للملفات، حيث أن المبرمج البارع يمكن أن يدخل (insert) ما يسمى بالـسطور الخبيثة (malicious lines) إلى سطور الأكواد الأصلية للبرنامج، وما يسمى بالبرامج المفتوحة المصدر (open-source programs) فهذه تسمح لأي شخص في التعديل على البرنامج، بحيث يمكن للمبرمج الخبيث أن يعرض برنامج معين لما يسمى بفيض الذاكرة (overflow buffer) لهدف محدد، ومن ثم استغلال هذا الهدف لوضع Backdoor.


http://raqee.jeeran.com/clvrkit.gif


هنا نلاحظ (خريطة التدفق البرمجي) لملف محقون بروت كيت








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






أنواع الروت كيت:




تنقسم أنواع الروت كيت إلى ثلاثة أنواع حسب موقع ومكان الملفات والأنظمة التي تصيبها:


1- جوهر النظام (نواة النظام) (kernel).


2- ملفات مكتبة الربط الديناميكي (DLL-Dynamic Link Library).


3- ملفات التطبيقات ( applications).


http://raqee.jeeran.com/kos.gif


نلاحظ في الصورة السابقة أن برامج المستخدم تقع في الحلقة رقم (3) بمعنى أن المستخدم ليس له امتيازات في الوصول للحلقة التي سبقته إلا في حالات خاصة، كل ما نراه تقريبا من برامج الأوفيس والوسائط المتعددة والفوتوشوب والماسنجر وغيره تقع في الحلقة رقم (3).


نلاحظ كذلك أن نواة نظام التشغيل تقع في الحلقة (0) ولها كل الامتيازات للوصول لأي مكان ولأي حلقة أخرى، بعكس حلقة التطبيقات التي لا تستطيع الوصول لأي مكان إلا عن طريق لواحق نظام التشغيل (OS).




الروت كيت الخاص بنواة النظام له إحدى اثنتين، إما أن يضيف أكواده في ملف معين في النواة، أو أن يستبدل أكواد معينه بأكواده الغير حميدة، وسواقات الأجهزة (device drivers) أحد أمثلة ملفات النواة التي يمكن أن تصاب بالروت كيت، ويعتبر هذا النوع من أخطر الأنواع لأنه إن لم يتوفر البرنامج المناسب فمن الصعب اكتشافه وإزالته.


OS loader هو أول برنامج تحكم يستلم التحكم من BIOS ويبدأ هذا البرنامج بمعالجة عمليات الإقلاع في النظام عن طريق بدء تحميل سواقات الأجهزة.. وفيروسات الروت كيت المحقونة على مستوى النواة يتم تحميلها على أنها سواقة جهاز!! ياه بالفعل أمر عجيب!!


الآن اتجه نحو المسار التالي في نظام XP لترى ما هو أعجب


C:\WINDOWS\system32\winlogon.exe


http://raqee.jeeran.com/wlog.gif


أنه ملف winlogon.exe أتعرف من يكون هذا الملف؟




أنه البرنامج المسئول عن الشاشة الزرقاء لنظام إكس بي التي تقوم بالترحيب بالمستخدم بعبارة (مرحبا) أو (welcome).




حقن هذا الملف بفيروس من نوع روت كيت سيصعب من عملية إزالته..


بحيث إذا حاولت إزالة الكود الخبيث منه سيعاود البرنامج المحقون كتابة الكود أثناء الخروج من النظام بظهور الشاشة الزرقاء التي تخبر بأن النظام يقوم بحفظ الإعدادات!! وهكذا سنجد أنفسنا أمام حلقة غير منتهية.


لاحظ أن هذا الملف من أوائل الملفات التي تعمل عند بداية دخول النظام، من جهة أخرى هو من أواخرها أيضا!


ما لا يمثله الروت كيت:


· الروت كيت لا يعبر عن ثغرة:


ربما استخدام تقنية الروت كيت يقترن بالثغرات، في الحقيقة اقترانه بشيء معين يعتمد على استخداماته، فالتقنية هذه تستخدم أيضا من قبل البرامج المفيدة.


يمكن أن يُدمج الروت كيت في ثغرات البرامج، لكنه بحد ذاته ليس بثغرة- كما أسلفنا-، فالذي يقوم بوضع هذه التقنية يحتاج لمدخل للوصول إلى نواة النظام (Kernel) هذا المدخل يتطلب برنامج أو أكثر من برنامج تتم عملية إقلاعه مع إقلاع نظام التشغيل، والطرق التي تسمح بإدخال روت كيت على مستوى نواة النظام محدودة جداً (مثل سواقات الأجهزة)، وكثيرٌ من هذه الطرق تكون مكشوفة ومعروفة مسبقاً، ولهذا فإن إحدى الطرق المبتكرة لحقن الروت كيت تكمن في استغلال ثغرات البرامج المناسبة، فالكثير من ثغرات البرامج تسمح في إمكانية حقن


أكواد خبيثة، فهناك ثغرات الفيض (Buffer Overflow) التي تسمح في كثير من الأحيان بتنفيذ أكواد خبيثة من خلالها، تخيل وجود مثل هذه الثغرات على مستوى نواة النظام.


ثغرات الفيض على مستوى النواة (Kernel-buffer overflows) يمكن أن توجد في سواقات الأجهزة وخير مثال عليها سواقات أجهزة الطبع (Printers). والشخص المخول في اكتشاف مثل هذه الثغرات واستغلالها يكون على دراية تامة ومهارة في التعامل مع ما يسمى بالهندسة العكسية.


· الروت كيت لا يعبر عن فيروس:




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


في معظم الحالات من الخطر لدى القراصنة استخدام فيروس للتسلل و التخريب في الأنظمة أو جزء من ملفاتها، لأن معظم الفيروسات تكون مزعجة وخارج السيطرة، أدوات الروت كيت تمكن القراصنة والمهاجمين من البقاء على سيطرة تامة لهجماتهم.




القيم الست عشرية




ماهية القيم الست عشرية:


ذو قاعدة الـ16 (النظام الست عشري) أو (hexadecimal) وبشكل أبسط (Hex) هو نظام عددي مبني على 16رمزا، وهذا النظام العددي يستخدم الأرقام من صفر(0) إلى (9) والحروف من (A) إلى (F)، في بدايته استخدم هذه النظام في عام 1963م من قبل شركة آي بي إم (IBM).


http://raqee.jeeran.com/16hex.gif


والحقيقة أن شركة أخرى استخدمت هذا النظام في 1956م غير أنه كان يعتمد على الحروف من (U) إلى (Z) بالإضافة إلى الأرقام.


على سبيل المثال العدد العشري (93) هو نفسه العدد (01011101) في نظام العد الثنائي وهذا العدد يمكن أن يكتب (5d) بالنظام الست عشري.


التمثيل الست عشري (Representing hexadecimal):




بعض أرقام النظام الست عشري (Hex) لا تختلف عن أرقام نظام العد العشري، لذلك


عند كتابة مثل هذه الأرقام يوضع إشارة أو دليل يدل على نظام الكتابة، مثال:


5A316, 5A3SIXTEEN, or 5A3HEX.


وتستطيع لغات البرمجة تمييز القيم الست عشرية من خلال علامات و بادئات استهلالية مختلفة، فمثلا في لغة الـ C واللغات الشبيهة بها ( C++ و C# و JAVA) يشار إلى القيم الست عشرية برمز استهلالي وهو (0x) ومثال ذلك (0x5A3)، كذلك تستطيع لغة الـ HTMLتمييز هذا النظام العددي باستخدام البادئة (x) وكمثال يكتب الكود (֣) في النظام الست عشري هكذا (&#x5a3), وكذلك الألوان في هذه اللغة تستهل بـ (#) فمثلا (FFFFFF#) هو ما نسميه بكود اللون الأبيض.


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






استخدامات القيم الست عشرية:




توجد مجالات كثيرة يكون للقيم الست عشرية دور فيها، فغالبا ما يستخدم هذا النظام العددي في لغات البرمجة-كما أسلفنا الذكر- وخاصة لغتي HTML و CSS.


فهذه اللغات تستخدم ترميزا ستا عشريا لتحديد الألوان على صفحات الانترنت، 24 بيتً من هذه الألوان يصاغ على هيئة #RRGGBB، حيث يحدد RR قيمة للون الأحمر، و GG قيمة اللون الأخضر، وBB قيمة اللون الأزرق، فمثلا درجة اللون الأحمر تعطى بـ (238,9,63) في النظام العشري، بينما تصاغ كـ #EE093F في النظام الست عشري Hex .


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


والجدير بالذكر أنه يمكن ترجمة لغة الآلة وأوامرها –المبنية على الرقمين صفر وواحد- لأي برنامج كان إلى رموز ست عشرية (رموز هيكس) حيث يمكن التحويل بتمثيل كل موقع في الكود المصدري وهذا تماما ما تظهره محررات الهيكس أمثال Hex workshop.


بالعودة لدرس آلية عمل برامج مقاومة الفيروسات، فهمنا أن هذه البرامج تتعرف على ملفات التجسس والفيروسات من خلال أخذ تواقيع ست عشرية معينة للفيروس، دعنا نفترض الآن أن لدينا ملف جديد اكتشفنا أنه فيروس و لنسمه Virus.exe، قمنا بتحليل الفيروس واستخرجنا توقيع له ليُعرّف من خلاله على أنه فيروس عن طريق برنامج مقاومة فيروسات معين، ولنفترض أن هذا التوقيع هو:





BBDFB72F873799E7BDDC43B5DBB7FC1738DAFC206E0A17A17CE934F8983










ماذا لو أتينا بسطر التوقيع السابق وقمنا ببعض التغييرات عليه ليصبح كالآتي:





ABDFB72F873799E7BDDC43B5DBB8FC1738DAFC205E0A17A17C0934F8983






نلاحظ أننا غيرنا قيم معينة في التوقيع إلى قيم أخرى كالتالي


B -> A


7 -> 8


6 -> 5


E -> 0


هكذا نجد أن برنامج مقاومة الفيروسات يتعرف على الفيروس كأي ملف حميد آخر، وهذه النقطة استغلها القراصنة ومستخدمو البرامج الخبيثة كثيراً، لكن كثيراً ما كانت تواجههم بعض المشاكل مثل تعطل ملف الفيروس عن العمل عند تغيير بعض تواقيعه وقيمه الست عشرية، لكن ما هو تفسير تعطل الفيروس عند تغيير قيم معينة، وعدم تضرره عند تغيير قيم أخرى له؟


نستطيع تقسيم القيم الست عشرية للملفات إلى قسمين كالتالي:


الأولى: قيم ست عشرية بياناتية Hex data


الثانية: قيم ست عشرية برمجية Hex codes


القيم الست عشرية البياناتية تكون عبارة عن قيم مترجمة من نصوص وتسميات تعريفية للمستخدم ،لذلك لا يؤثر تغيير هذه القيم على عمل الفيروس، أما القيم الست عشرية البرمجية فهي مترجمة من أكواد برمجية وتعليمات مهمة في عمل الفيروس، لذلك أي تغيير في هذه القيم قد يؤدي إلى تعطيل عمل الفيروس، ففي مترجم الفيجوال بيسك مثلا، عندما نقوم بعمل Form جديد ونضع عليه زر Button ومن ثم ندرج Form2, بعدها نحاول ربط الزر الذي أدرجناه على Form1 بـالـ Form2ليظهره، سنقوم بكتابة الكود التالي في حالة عمل Click على الزر:


http://raqee.jeeran.com/Vbcd1.gif


التعليمة “Form2.show” ستتحول إلى قيم ست عشرية بطريقة معينة، ولأننا إنْ غيرنا هذه التعليمة مثلا إلى “FormQ.show” سيؤدي هذا إلى حدوث خلل ما في عمل هذا البريمج، تماما سيؤدي التغيير في القيم الست عشرية المترجمة من هذه التعليمة إلى خلل أيضاً.




تتباين لغات البرمحة في العديد من مزاياها، لكن إذا احترفت إحداها، تستطيع القيام بأي شيء يمكن القيام به في أية لغة برمجية أخرى، وكلما كانت اللغة البرمجية أقرب إلى لغة الآلة، كانت أدق وأصعب في التعلم، وبالتالي ستكون البرامج الناتجة عنها أصغر في حجمها من أية برنامج ناتج من لغة أخرى، تعد لغة الأسمبلي (Assembly) من اللغات التي تحتاج إلى فترة ليست وجيزة لتعلمها، ذلك لأنها من أقرب اللغات إلى لغة الآلة، تُستخدم مثل هذه اللغة كثيرا من قبل كاسري شفرات البرامج، والذين يسمون بـ "الكراكرز"، الهدف الأساسي لهؤلاء الكراكرز هو جعل البرامج التجارية برامج ذات طابع مجاني "غير مصرَّح".


هذا والله الموفق.


:smirk:

PiXeL DrEaM
06-01-2007, 02:32 AM
السلام عليكم ..
جزاك الله خيراً أخى الكريم على المعلومات القيمة .. :)
شكراً جزيلاً على ما تقدمه لنا فى منتدانا الحبيب ..

nadershakhsher
06-01-2007, 11:00 AM
شكرا لك انت رائع جدا و عن جد معلومات مفيدة

@الشيهانة@
09-01-2007, 03:57 AM
يعطيك العافية

وضحت لنا اشياء كثييرررررررررة

AZPC
09-01-2007, 10:07 AM
كيف تكشف مضادات الفيرورسات المتطورة عن الفيروسات الغير معروفة

مضادات الفيروسات المتطورة (الكاسبرسكاي,,مكافي,,وغيرها...) أصبحت تحتوي على تقنية جديدة تسمى الكشف ان Undiscovred Viruses وبما ان معظم الفيروسات تصيب ملايين الاجهزة قبل ان يتم اكتشافها فان هذه الخاصية تعتب مهمة جدا في الحد من الضرر الناتج عنها.. ولكن كيف تعمل هذه الخاصية ؟!

>> يقوم مضاد الفيروسات بمراقبة كل جزء بسيط يقوم به الملف التنفيذي (البرنامج)
* ماذا كتب في الرجتسري ؟
* هل قام بإنشاء ملفات في مجلدات النظام الحساسه Windows , System , System32 ؟
* هل قام بعمل Injection لأي ملف ( عادتا تكون في Routkits اكثر من الفيروسات )
* هل قام ببعث ايميلات من الجهاز ؟!
* هل يسجل المافتيح !؟ Keylogger !
* وغيرها..

ومن تم يقوم البرنامج بعزل الملف التنفيذي او البرنامج الذي يقوم بعمليات مشبوهة...


موضوعك اعجبني ولكن...!

السلام عليكم اختي Anti.Hack عساك بخير وعلى قوة :) ...
موضوعك حلو وجميل ومثقف ولكنه اتجه اتجاه شديد الى الجانب النظري .. (كأني ادرس درس احياء في مختبر المدرس العربي.. في مدرسة عربية اصيله :أفكر:) ..
فــمواضيع حساسه مثل هذه المفروض تكون مرفوقه بجانب عملي بنسبة 60% من الموضوع !!
مع ان بعض الناس تكتفي بالجانب النظري :D اداة تصوير لفهم الموضوع ولكن انا من محبي النظر فانا شخر بصري كثيرا احب ان ارى التجارب اما عيني .. <-- Trouble Maker :أفكر:
أيضا التطرق الى اشياء لن يفهمها اي شخص عادي اعتاد على الكمبيوتر او شخص يفهم في الوندوز! مثل التطرق الى ثغرة ال XSS !
يظن بعظ الاطفال انها سهله.. طبعا شغلهم فيها شغل ال Copy Past يعني يجيب لك سورس كود البرنامج (الجافا سكريبت) ويطبقها على غيره !!!! وهو لا يعرف اصلا انها XSS !!!
ولم يفكر كيف ولمذا ومتى ؟!


وبالعموم.. الموضوع ما عليه كلام ;) التقييم : 8/10 :D

وكم نحتاج مواضيع مثل هذه .. وكم نأسى على مواضيع
رابط ، حمل ، شكر ، :31:


وأخيرا.. تحية طيـــبة واعجاب بالموضوع ودمتم سالمين :D

Anti.Hack
09-01-2007, 01:31 PM
PiXeL DrEaM (http://www.montada.com/member.php?u=107408)



وعليكم السلام ورحمة الله، عفوا أخي، ومستمرين إن شاء الله.





nadershakhsher (http://www.montada.com/member.php?u=375837)

تسلم أخي، لك أرق تحية.







@الشيهانة@ (http://www.montada.com/member.php?u=194456)

الله يعافيك يا رب، وعسى استفدت ..





AZPC

كيف تكشف مضادات الفيرورسات المتطورة عن الفيروسات الغير معروفة



ما تدّعيه شركات الأنتي فيرس من أن برامجها قادرة على إكتشاف حتى الفيروسات الجديدة

والغير موجودة في قواعد بياناتها لا يعطي الصورة الحقيقية لدى المستخدم أصلا.. الأمر هدفه الدعاية البحتة!

لا نستطيع إنكار أن لديها تقنيات قد تساعدها في هذا الأمر، لكنها – وأقولها عن تجربة –

أضافت الكثير بل والكثير الكثير من التزيين والزخرفة على مثل هذه التقنيات التي وضعتها

في برامجها..

برامج التحليل دون قواعد البيانات، تحتاج إلى قدر كبير نسبيا من الذاكرة لتقوم

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

Polymorphic Viruses قد غير مسار العمل كلياً! مثل هذه الفيروسات تستطيع إتباع

آلية عمل متقدمة وذكية، تقوم من خلالها بتغيير نفسها- بفترات- من خلال أكواد معقدة وبالتالي تغيُّر في ملف الفيروس أساسا، ذلك يؤدي إلى عدم تعرف مقاوم الفيروسات على

مثل هذا النوع لأن شفراته قد تغيرت، فيصعب متابعته على أنه نفس الملف الذي كتب في الريجستري و قام بالحقن على مستوى رووت كيت وما إلى ذلك...



ولكن يا ترى هل "فتح المصدر" أحد أركان الحل؟!





بالنسبة أن الموضوع نظري لأنه بحث رسمي قدمته منذ فترة في أحد صحفنا المحلية.

والعنوان كما رأيت "بحث (تثقيفي)" يشير إلى ما فيه من النظرية.

وليس الهدف من الموضوع هو تقييمه، وإنما مناقشته وهذا ما نطمح له، بهذا تتحقق الفائدة العظيمة إن شاء الله.



وأعتقد أن ما تحدثت عنه في أن بعض الأشياء تكون غير واضحة في الموضوع للمستخدم العادي، فهذا ربما صحيح ودليله أن لا نقاش مثمر في الموضوع، وانما الداخل إليه يأتي شاكرا للموضوع ثم يخرج (وهذا العُرف التقليدي الذي يصعب إزالته للأسف)

وأتمنى شخصيا أن تتحفنا بمواضيع في هذا المجال كما تعودنا سابقا منك.

دمت سرمديا بعافية حبوب AZPC

يعطيكم العافية

AZPC
09-01-2007, 01:54 PM
AZPC
كيف تكشف مضادات الفيرورسات المتطورة عن الفيروسات الغير معروفة
ما تدّعيه شركات الأنتي فيرس من أن برامجها قادرة على إكتشاف حتى الفيروسات الجديدة
والغير موجودة في قواعد بياناتها لا يعطي الصورة الحقيقية لدى المستخدم أصلا.. الأمر هدفه الدعاية البحتة!
لا نستطيع إنكار أن لديها تقنيات قد تساعدها في هذا الأمر، لكنها – وأقولها عن تجربة –
أضافت الكثير بل والكثير الكثير من التزيين والزخرفة على مثل هذه التقنيات التي وضعتها
في برامجها..
برامج التحليل دون قواعد البيانات، تحتاج إلى قدر كبير نسبيا من الذاكرة لتقوم
بعملية التحليل، إضافة أن التحليل لا يعطي دائما النتائج المرجوة، خصوصا مع ظهور عصر الفيروسات الذكية وتقنياتها المتقدمة، حيث أن انتشار ما يسمى
Polymorphic Viruses قد غير مسار العمل كلياً! مثل هذه الفيروسات تستطيع إتباع
آلية عمل متقدمة وذكية، تقوم من خلالها بتغيير نفسها- بفترات- من خلال أكواد معقدة وبالتالي تغيُّر في ملف الفيروس أساسا، ذلك يؤدي إلى عدم تعرف مقاوم الفيروسات على
مثل هذا النوع لأن شفراته قد تغيرت، فيصعب متابعته على أنه نفس الملف الذي كتب في الريجستري و قام بالحقن على مستوى رووت كيت وما إلى ذلك...
ولكن يا ترى هل "فتح المصدر" أحد أركان الحل؟!
بالنسبة أن الموضوع نظري لأنه بحث رسمي قدمته منذ فترة في أحد صحفنا المحلية.
والعنوان كما رأيت "بحث (تثقيفي)" يشير إلى ما فيه من النظرية.
وليس الهدف من الموضوع هو تقييمه، وإنما مناقشته وهذا ما نطمح له، بهذا تتحقق الفائدة العظيمة إن شاء الله.
وأعتقد أن ما تحدثت عنه في أن بعض الأشياء تكون غير واضحة في الموضوع للمستخدم العادي، فهذا ربما صحيح ودليله أن لا نقاش مثمر في الموضوع، وانما الداخل إليه يأتي شاكرا للموضوع ثم يخرج (وهذا العُرف التقليدي الذي يصعب إزالته للأسف)
وأتمنى شخصيا أن تتحفنا بمواضيع في هذا المجال كما تعودنا سابقا منك.
دمت سرمديا بعافية حبوب AZPC
يعطيكم العافية




صح لسانك اختي.. عملها محدود فعلا إعتقدت انني ذكرت ذلك :)

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

فتح المصدر.. ما يوقف هكر الا Ethical Hacker .. وما يوقف مبرمج فيروسات الا مبرمج فيروسات :أفكر: ...

يعني من الاخير.. كي يعمل Anti لازم يكون فاهم عمل الفيروس 99%!

وكما ذكرتي عدم التفاعل ظاهره متفشيه في المنتدى (&) -- الله يصلحه ويصلحنا اجمعين

يعطيش العافيه اختي :D
احب هذه المواضيع :D

Anti.Hack
09-01-2007, 05:50 PM
مرحبا أخي AZPC
بالنسبة لقولك:
الناس ما تهتم بهذه الأشياء وخاصة في الوطن العربي..

فاطمن ... الوطن العربي بدأ ينجب وما زال ينجب خبرات متقدمة في هذا المجال
هناك مصر والسعودية بها الكثير من الخبرات العربية في هذا المجال
هناك الامارات العربية التي لها السبق في أن أحد خبرائها الذي هو جمعان عبد الله البريكي الذي
فاجأ من لا يتفاجأ بتأسيس شركة جاسكويس المختصة في أمن المعلومات
الشركة تكتشف ثغرات في برامج عالمية وعلى مستوى راقي مثل مايكروسوف وجوجل ومكافي ونورتن
يمكنك زيارته الرابط الخاص بهذه الشركة www.jaascois.com (http://www.jaascois.com)
ناهيك عن البلدان العربية الأخرى التي تضم خبرات قد لا نلمسها نحن ظاهريا، وإنما تُستغل على مستوى أجنبي
هنا مثلا عندنا في سلطنة عمان يوجد مثل هذا النوع الذي يستغل غربيا أكثر منه عربيا..
والكويت أيضا لا نستطيع أن نهملها أبدا
ففيها ما فيها من الخبرات، ولله الحمد بدأنا نتفطن
"إني أنا أخوك فلا تبتئس يا أزبك" ;)

AZPC
09-01-2007, 06:01 PM
فاطمن ... الوطن العربي بدأ ينجب وما زال ينجب خبرات متقدمة في هذا المجال
هناك مصر والسعودية بها الكثير من الخبرات العربية في هذا المجال
هناك الامارات العربية التي لها السبق في أن أحد خبرائها الذي هو جمعان عبد الله البريكي الذي
فاجأ من لا يتفاجأ بتأسيس شركة جاسكويس المختصة في أمن المعلومات
الشركة تكتشف ثغرات في برامج عالمية وعلى مستوى راقي مثل مايكروسوف وجوجل ومكافي ونورتن
يمكنك زيارته الرابط الخاص بهذه الشركة www.jaascois.com (http://www.jaascois.com)
ناهيك عن البلدان العربية الأخرى التي تضم خبرات قد لا نلمسها نحن ظاهريا، وإنما تُستغل على مستوى أجنبي
هنا مثلا عندنا في سلطنة عمان يوجد مثل هذا النوع الذي يستغل غربيا أكثر منه عربيا..
والكويت أيضا لا نستطيع أن نهملها أبدا
ففيها ما فيها من الخبرات، ولله الحمد بدأنا نتفطن
"إني أنا أخوك فلا تبتئس يا أزبك" ;)



أشك في انه في احد من الاعضاء يقرأ ردودنا الطويله :p ...

لو قارنتي هذه الظواهر (سميها ما تشائين) بالتي في العالم الغربي لوجدتي = 0 تقريبا :D

بس الي يجن جنوني.. اننا نعرف نكتشف ثغرات بس !!!!!!!!!! :p يعني مستحيل القى برنامج عربي تميز وعمل انقلاب في مجال معين !!!!!!!!!! ونخليهم يكتشفوا قغراتنا بعد (&) :p..

عندي اقتراح .. لما لا يكون بحثك القادم عن ثغرة ال Buffer Overflow :D كي تكون عدد الردود 0 :footinmouth: ...

لكن حقا سأكون أسعد واحد اذا شفتها بخط عربي!!! :أفكر:

مع احترامي.. عبد الكريم :)

Anti.Hack
09-01-2007, 07:27 PM
مرحبا حبوبAZPC

وشكرا جزيلا كبيرا على التفاعل البناء.. وهذا ما نطمح له، ولا أتمنى أن يقف الاعضاء الآخرين موقف المتفرج...

--------------------------------------------------





(نكتشف ثغرات بس) هذا الأمر جزء لا يتجزأ أبدا، من عملية ربما تكون أكبر من كونها (انقلاب في برنامج عربي)..



ألا تلاحظ أن (اكتشاف ثغرة) في برنامج، هو مربط أساسي في العملية المسماة (بالهندسة العكسية)...

فأيهما أصعب من ناحية "إستراتيجية الفكر" هندسة برنامج معين أم هندسته عكسياً؟

علما أن الهندسة العكسية خاضعة للغة التجميع، التي هي أصعب اللغات كونها من أقربها إلى لغة الآلة

...

حزمة الأوفيس على سبيل المثال لا الحصر، وأعني بذلك الحزمة العربية، فالنص العربي كما هو معلوم يختلف عن النص الانجليزي مثلا من نواحٍ كثيرة، فهل لحل مثل هذه الإشكالية يُستعان بمبرمج أجنبي!

ثم ما أدراك أن البرامج التي هي في ظنك "انقلاب" ونحن "فالحين" نكتشف ثغراته، ما أدراك أن من ورائه بصمات لأصابع مبرمجين عرب يدخلون ضمن (المُستغلين غربيا) الذين ذكرتهم في الرد السابق؟؟..



أنا بهذا لا أعني تطورنا التطور الهائل في ذا المجال وبكل تأكيد أن الغرب يفوقونا فيه كثيرا... ولا مجال للشك.



لكن يجب أن نعطي كل فريق حقه.



بالنسبة لثغرة فيض الذاكرة، لو وضعناها سنجد الردود 0 كما ذكرت.. والسبب بكل بساطة أن الموضوع سيكون ليس في مكانه المناسب.

علما أن هناك بحوثا بنكهات عربية تحدثت عنها باحترافية تامة.

..

AZPC
09-01-2007, 08:22 PM
مرحبا حبوبAZPC
وشكرا جزيلا كبيرا على التفاعل البناء.. وهذا ما نطمح له، ولا أتمنى أن يقف الاعضاء الآخرين موقف المتفرج...
--------------------------------------------------
(نكتشف ثغرات بس) هذا الأمر جزء لا يتجزأ أبدا، من عملية ربما تكون أكبر من كونها (انقلاب في برنامج عربي)..
ألا تلاحظ أن (اكتشاف ثغرة) في برنامج، هو مربط أساسي في العملية المسماة (بالهندسة العكسية)...
فأيهما أصعب من ناحية "إستراتيجية الفكر" هندسة برنامج معين أم هندسته عكسياً؟
علما أن الهندسة العكسية خاضعة للغة التجميع، التي هي أصعب اللغات كونها من أقربها إلى لغة الآلة
...
حزمة الأوفيس على سبيل المثال لا الحصر، وأعني بذلك الحزمة العربية، فالنص العربي كما هو معلوم يختلف عن النص الانجليزي مثلا من نواحٍ كثيرة، فهل لحل مثل هذه الإشكالية يُستعان بمبرمج أجنبي!
ثم ما أدراك أن البرامج التي هي في ظنك "انقلاب" ونحن "فالحين" نكتشف ثغراته، ما أدراك أن من ورائه بصمات لأصابع مبرمجين عرب يدخلون ضمن (المُستغلين غربيا) الذين ذكرتهم في الرد السابق؟؟..
أنا بهذا لا أعني تطورنا التطور الهائل في ذا المجال وبكل تأكيد أن الغرب يفوقونا فيه كثيرا... ولا مجال للشك.
لكن يجب أن نعطي كل فريق حقه.
بالنسبة لثغرة فيض الذاكرة، لو وضعناها سنجد الردود 0 كما ذكرت.. والسبب بكل بساطة أن الموضوع سيكون ليس في مكانه المناسب.
علما أن هناك بحوثا بنكهات عربية تحدثت عنها باحترافية تامة.
..



.. كم اشتقنا لردود بنائة ! :أفكر:
كلام ما بعده كلام.. ;) مقتنع بكل حرف :D <- ما احلاه وهو صامت :footinmouth:
كنت اود التطرق الى الحماية التي تعد بها ميكروسفت في اصدار وندوز Vista (&) ..لكن لم يحن الاوان بعد :31:
-----------

لا تعليق اخر .. الى اشعار آخر.. -إن شاء الله-
كثر الله من امثالك ووفقك لما يحبه ويرضاه :)

وتحية شكر و تقدير في آخر المطاف
. . . 010101 . . .