TO DONATE : BTC => 1D8Aq4q2jQnvGD1GaK9vbNwKgm1K5zUEWL || PM => U4089661


اهم قوانين :1- منع الردود الباهتة مثل شكرااااا و أخواتها 2- لا يسمح بالمشاحنات الطائفية باآ شكل من الأشكال 3- عدم استعمال الألفاظ التافهة و الكلام البذىء 4- عدم وضع معرفات التواصل الأجتماعى بالردود 5- الأطلاع على كامل القوانين واجب 


العودة   الحماية للأبد -Security 4 Ever > قسم البرمجـــة > أساسيات لغة الأسمبلي

أساسيات لغة الأسمبلي يهتم بلغة الآلة (التجميع) Assembly و طرق بناء بعض أجزاء التطبيقات من خلالها

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 09-06-2019, 06:05 AM
الصورة الرمزية zero-cool
zero-cool
:: عضو خاص ::
 
حـالة التــواجـد : zero-cool غير متواجد حالياً
تاريخ التسجيل: Apr 2016
الجــــنــــــس: ذكـر
المشاركات: 74
شكراً:48
تم شكره 254 مرة في 59 مشاركة
معدل تقييم المستوى: 0
zero-cool بدون تقييم
افتراضي بنية الذاكرة الإفتراضية & حماية aslr

السلام عليكم ورحمة الله وبركاته

إن شاء الله تكونوا في تمام الصحة والعافية إخواني


كود high.c :

كود PHP:

#include<stdio.h>
#include<stdlib.h>

int mulp(int a int b)
{
        
int c;
  
        
b;
 
        return 
c;
}


main(int argcchar **argv)

{

        
int x 00,  0;

        
printf("Enter the first number : "); 
        
scanf("%d", &x);

        
printf("Enter the second number : ");
        
scanf("%d", &y);

        
mulp(x,y);

        
printf("%d*%d = %d\n",xyz);

       
        exit(
0);


بنية الذاكرة الإفتراضية


*) كل عملية (process) تحمل في نفس المكان للذاكرة الإفتراضية بغض النظر عن الموقع الحقيقي للذاكرة الفعلية


*)كل عملية processتشعر وكأنها هي العملية الوحيدة في النظام ، وتتمتع بكامل الذاكرة وكأنه لايوجد عمليات أخرى

*)النظام ووحدة المعالج المركزية يشتركان مع بعضهما في الحفاظ على هذه الفكرة








تذكروا دائما أن هذه هي الذاكرة الإفتراضية (virtual memory ) وليست الذاكرة المادية (physical memory)

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





ASLR
نفتح ترمينال ونشغل السكريبت ثم نتركه هكذا :



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



ثم نفتح الملف maps






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

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

يعني عندما تشوف صورة توضيحية تبع مكدس أو تبع عناوين الذاكرة دائما ثبت ماهو أسفل الذاكرة وماهو أعلى الذاكرة

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




الآن نقوم بإيقاف البرنامج ونشغله مرة أخرى ونتبع نفس الخطوات السابقة إلى أن نعرض شكله في الذاكرة :



مقارنة بالصورة السابقة

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

فلمذا تغيرت ؟ مالذي حصل بالظبط؟

نفتح ترمينال جديد ونذهب على هذا المسار كما في الصورة التالية ونعرض الملف randomize_va_space ونغير قيمته إلى 0



الآن نوقف البرنامج ونشغله ثم نذهب لعرض شكله في لذاكرة كما في الصورة التالية :




الآن نوقفه مرة أخرى ونعيد عرض شكله في الذاكرة كما في الصورة التالية :



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

وهذا مايفسر لمذا بعض أكواد الثغرات تفشل معنا وذلك لأن العناوين متغيرة من نظام إلى نظام فيجب إيقاف هذا التوزيع العشوائي وتعديل كود الثغرة بالعناوين المناسبة .


وهذا مامعنى كل عملية تحمل في نفس المكان للذاكرة الإفتراضية بغض النظر عن الموقع الحقيقي للذاكرة الفعلية



تحميل :
تحميل | mediafire





في أمان الله
 

 

 

مايفعله الهكرز هو معرفة التكنولوجيا وتجربتها بطرق لايمكن ان يتخيلها الكثير من الناس .
ولديهم رغبة قوية في مشاركة هذه المعلومات مع الآخرين
وتوضيحها للاشخاص الذي قد تكون مؤهلاتهم الوحيدة الرغبة في التعلم.

[email protected]
رد مع اقتباس
6 أعضاء قالوا شكراً لـ zero-cool على المشاركة المفيدة:

  #ADS  
Google Adsense Google Adsense is online
اعلانات
 
تاريخ التسجيل: اليوم
الدولة: الحماية للأبد
العمر: 2010
المشاركات: 1
شكراً:48
تم شكره 254 مرة في 59 مشاركة


الكلمات الدلالية (Tags)
aslr, الذاكرة, الإفتراضية, بنية, security vulnerabilities


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
[local] Arm Whois 3.11 - Buffer Overflow (ASLR) exploit-db قسم جديد ثغرات مواقع الحماية 0 26-11-2018 01:36 PM
[local] NICO-FTP 3.0.1.19 - Buffer Overflow (SEH)(ASLR) exploit-db قسم جديد ثغرات مواقع الحماية 0 04-10-2018 02:52 PM
[نقــاش] طرق تحسين الذكاء و الذاكرة LinuX_Dz القسم العام 12 19-06-2016 01:11 AM
بنية الملف التنفيذي NULL Pointer1 أساسيات لغة الأسمبلي 2 20-12-2014 08:10 AM


الساعة الآن 07:00 PM