Protection And Information Security

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Protection And Information Security as PDF for free.

More details

  • Words: 4,362
  • Pages: 22
‫حماية المعلومات‬ ‫بٌن الوقائع النظرٌة‪ ..‬واألسالٌب العملٌة‬

‫ملخص‬ ‫ٌتكهى انبحث عن أين انًعهٌيات‪ ,‬يفيٌييا‪ ,‬أنٌاعيا ً طزق فً انتعايم و عيا‪.‬‬ ‫إضافة إنى تسهٍظ انضٌء عهى جٌانب يتعهقة بنظى انتشغٍم ًاًايزىا ًانبزيجة ًتعهًٍاتيا كًدخم نبعض األسانٍب انًتبعة فً استغالل‬ ‫ىذه األًايز ًانتعهًٍات فً اختزاق اننظى ًاالضزار بيا‪.‬‬ ‫ًفً نياٌة انبحث نصائح ًيالحظات ٌنصح باتباعيا نتالفً األضزار انناجًة عن االختزاق اً األعًال انتخزٌبٍة عهى ًجو انعًٌو‪.‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫م‪ .‬طارق ماجد‬ ‫بكالرٌوس تقانة معلومات‬ ‫‪ 16‬نٌسان ‪2009‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫لمحة‪..‬‬ ‫فً هذا العصر‪ ,‬عصر المعلومات‪ ,‬وبعد انتشار تقنٌة المعلومات واالتصاالت اصبح هناك ماٌسمى بـ ‪, global vision‬‬ ‫ومعنى ذلك توجه النظرة نحو العالمٌة ‪ globally‬بعد ان كانت محلٌة ‪ locally‬وذلك قبل ظهور الشبكات واالتصاالت‬ ‫الحدٌثة‪ ,‬حتى أنه اطلق على العالم اآلن وصف "القرٌة الصغٌرة"‪.‬‬ ‫قدٌما ًا‪ ,‬كانت هذه النظرة مقتصرة على أشخاص محددٌن دون غٌرهم‪ ,‬ولكن ومع استمرار التطور فً مجال المعلومات‬ ‫واالتصاالت أصبح من الالزم للجمٌع استخدام هذه التقنٌة وأن تتؤقلم مع الشكل الجدٌد للحٌاة‬ ‫أما الشركات فقد اصبح لزاما ًا علٌها أن تستخدم هذه التقنٌة لتبقى ضمن جو المنافسة‪ ,‬التً اقتصرت سابقا ًا على نطاقات‬ ‫محلٌة‪ ,‬لتتوسع هذا النطاق اآلن لٌشمل العالم بؤسره!‬ ‫كل ذلك صب فً مصلحة الجمٌع‪ ,‬حٌث أصبح باالمكان ألي شخص من خالل شبكة االنترنت أن ٌحصل على ماٌرٌده مهما‬ ‫كان ذلك بعٌداًا عنه‪ ,‬فعامل "المسافة" اآلن قد الغً من قائمة "التحدٌات" التً كانت تواجههم‪.‬‬ ‫اآلن‪ ,‬أصبح أهم وأكبر تحدي للشركات حالٌا ًا ه و كٌف ستحافظ على مكانها التنافسً فً السوق العالمً باالعتماد على هذه‬ ‫التقنٌات للتفوق فً تحقٌق المثالٌة المطلوبة وذلك على الصعٌد االداري واالنتاجً على حد سواء‪.‬‬ ‫ي ظل هذا العالم "المفتوح" للجمٌع الخالً من تلك‬ ‫ولكن فً ظل كل هذه االٌجابٌات التً أتت على الشركات وعمالئها‪ ,‬وف‬ ‫المساف" تحدٌات جدٌدة من أهمها "أمن المعلومات"‪ ,‬حٌث انتشر‬ ‫ة‬ ‫القٌود الصارمة‪ ,‬ظهر عوضا ًا عن تلك التحديات القدٌمة "ك‬ ‫ماٌدعى "الجرٌمة االلكترونٌة" حٌث السرقة والتدمٌر والتخرٌب من خالل الشبكة االلكترونٌة باالعتماد على طرق وتقنٌات‬ ‫توصف بعضها بالمعقدة‪ ,‬بعد ذلك تبلورت لهذه الظاهرة قوانٌن خاصة بدأت فً الوالٌات المتحدة فً اواسط التسعٌنٌات من‬ ‫القرن الماضً وفرضت على مستحقٌها غرامات باهظة وأحكام بالسجن تصل بعضها لعقود من السنٌن‪.‬‬

‫يفيٌو أين انًعهٌيات‪:‬‬ ‫إن "أمن المعلومات" – "‪ "information security‬هو علم حدٌث فً مجال تقنٌة المعلومات ظهر لٌكون مسإوالًا عن‬ ‫حماٌة المعلومات وحماٌة انظمة المعلومات "‪ "information systems‬م ماٌسمى بـ "قرصنة المعلومات" –‬ ‫"‪ "information hacking‬وهً ماٌشمل ‪:‬‬ ‫ًا‬ ‫اضافة لمحاوالت التخرٌب والتدمٌر‪.‬‬ ‫محاوالت الدخول أو االستخدام غٌر المصرح به‪,‬‬

‫‪2‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫كيف ظهرت اول أشكال القرصنة االلكترونية ؟‬ ‫كان ظهور أول شبكة الكترونٌة موسعة على مستوى المدن فً ستٌنٌات القرن العشرٌن ممثلة بشبكة الهواتف االلكترونٌة‬ ‫بداٌة لعصر الشبكات والمشاركة المفتوحة ‪.‬‬ ‫فً بداٌة السبعٌنٌات من ذلك القرن‪ ,‬قام شخص باٌجاد طرق‬ ‫مع بداٌة هذا العصر ظهرت بوادر لخطر لم ٌكن فً الحسبان‪ ,‬ف‬ ‫واسالٌب الختراق شبكة الهواتف واستغالل بعض آلٌات عمل هذه الشبكة‪ ,‬من هذه االستغالالت كانت التجسس على‬ ‫مكالمات جارٌة و اجراء مكالمات غٌر محسوبة وغٌرها من األسالٌب‪ ,‬وكل هذه الطرق تعتمد ع فهم آللٌة عمل الشبكة ومن‬ ‫ثم اكتشاف مواطن ضعف "بالنسب له" تمكنه من استغاللها ألهدافه الشخصٌة‪.‬‬

‫انتشار واسع ألساليب جديدة في القرصنة بشكل مطرد وظهور طرق للتصدي ‪:‬‬ ‫فً ثمانٌنٌات القرن الماضً بدأ انتشار القرصنة االلكترونٌة باالزدٌاد مع مرور الزمن متوازٌا ًا مع انتشار الحواسٌب‬ ‫وتطورها المستمر و ظهور تقنٌات جدٌدة فً مجال االتصاالت والشبكات حٌث التطور بالسرعة العالٌة والكلفة األقل مما‬ ‫زاد من عدد المستخدمٌن لهذه التقنٌات ومنها االقبال الكبٌر على شبكة االنترنت العالمٌة ‪.‬‬ ‫فً تلك الفترة لم ٌكن هناك اي اهتمام او اخذ بالحسبان لهذا التحدي الجدٌد‪ ,‬حٌث لم تتخذ فً ذلك اي اجراءات مناسبة تطبق‬ ‫على المعدات التً ٌتم وضعها فً الشبكة‪ ,‬مما أدى اال حصول كوراث كبٌرة لشركات اعتمدت على االنترنت كجزء أساسً‬ ‫من عملها‪ ,‬فكانت محاوالت النهب والسلب او التدمٌر لتلك المواد‪.‬‬ ‫سرق‬ ‫ة‬ ‫اع غٌر مسبوق لنسبة‬ ‫وكان أكثر من تضرر الشركات المصرفٌة حٌث سجلت االحصائٌات فً تلك الفترة عن ارتف‬ ‫بطاقات االئتمان وكان ‪ %90‬من هذه السرقات تتم من خالل شبكة االنترنت‪.‬‬ ‫ي ع لى الشبكة‬ ‫حٌنها بدأ التفكٌر جدٌا ًا فً خطورة هذا التحدي وأضحى من الضروري لهذه البنوك والشركات العالم ة‬ ‫ي ان تفرض اجراءات وقائٌة أمنٌة وبجدٌة عالٌة لكل ما تملكه على الشبكة ‪.‬‬ ‫العنكبوتة‬ ‫فً هذه الفترة ظهرت اولى االجراءات الوقائٌة ضد القرصنة االلكترونٌة‪ ,‬سوف ٌكون التكلم عن هذه االجراءات محور‬ ‫حدٌثنا فً هذا المقال‪.‬‬

‫‪3‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫تنحصر الطرق واجراءات الحماٌة فً ‪ 3‬اشكال ‪:‬‬ ‫‪ - 1‬القواعد والصالحٌات ‪rules/permission‬‬ ‫‪ - 2‬المستخدمٌن والملكٌات ‪users/ownerships‬‬ ‫‪ - 3‬الجدران النارٌة ‪Firewalls‬‬ ‫‪ - 4‬الثغرات األمنٌة ‪Security bugs‬‬ ‫هذه االجراءات تعتبر من ابجدٌات العمل بالنسبة للعاملٌن فً مجال ادارة الشبكات واالتصاالت‪.‬‬

‫‪ ‬بما أن أكثر السٌرفرات المستخدمة فً مخدمات المواقع االلكترونٌة تعتمد على انظمة تشغٌل ‪ Linux‬و ‪Unix‬‬ ‫لقوتها ودعمها الكبٌر الجراءات الحماٌة‪ ,‬اصبح من الالزم علٌنا التركٌز علٌها فً موضوعنا‪ ,‬بٌد أن األساس‬ ‫واحد بالنسبة لجمٌع أنواع أنظمة التشغٌل‬

‫أًالًال‪ :‬انقٌاعد ًانصالحٍات ‪: rules/permission‬‬ ‫عندما تضع ملفا ًا ما على شبكتك الداخلٌة باعطائه خاصٌة المشاركة ‪ ,sharing‬تجد أنه البد لك أن تعطً لهذا الملف‬ ‫خصائص تحدد العملٌات الممكن اجراءها علٌه‪ ,‬وهذا األمر هو ماٌسمى بالصالحٌات المحددة للملف‪.‬‬

‫الصالحيات هذه على ثالثة أنواع ‪/‬‬ ‫‪‬‬

‫صالحٌة القراءة‪ :‬حٌث تعطى للمجلدات لجعله قابل للدخول ومشاهدة محتواه‪ ,‬وباعطاءه للملف ٌصبح باالمكان‬ ‫نسخه او قراءة محتواه‪.‬‬

‫‪‬‬

‫صالحٌة الكتابة‪ :‬هذه الخاصٌة ُت‬ ‫ات‬ ‫قابل الضافة محتوٌات داخلها أو حذفها‪ ,‬كما تعطى لملف‬ ‫ًاة‬ ‫تحدد للمجلدات لجعلها‬ ‫قابل للتعدٌل علٌها‪.‬‬ ‫لجعلهل ًاة‬

‫‪‬‬

‫صالحٌة التنفٌذ‪ :‬تمنح هذه الخاصٌة للملفات التنفٌذٌة لتكون قابلة للتشغٌل والتنفٌذ‪.‬‬

‫‪4‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫كٍفٍة اعطاء انصالحٍات فً نظاو ي ‪: Linux/Unix‬‬ ‫األمر المستخدم العطاء الصالحٌات هو ‪ chmod‬وصٌغته هً‬ ‫]‪chmod [permission] [file/folder name‬‬

‫حٌث ‪ٌ permission‬شٌر للصالحٌات الموكلة للملف او الدلٌل ‪ ,‬وهناك طرٌقتٌن لكتابة الصالحٌات ‪:‬‬ ‫األول‪ /‬استخدام الرموز‪:‬‬ ‫فً هذه الطرٌقة ٌعطى لكل خاصٌة رمز‪ ,‬فٌرمز للقراءة بـ ‪ , r‬للكتابة ‪ w‬و للتنفٌذ بـ ‪ , x‬اضافة لتحدٌد المالك‪.‬‬ ‫فالرمز ‪ٌ a‬شٌر للجمٌع‪ ,‬الرمز ‪ g‬لمجموعة المستخدم الحالً‪ ,‬الرمز ‪ u‬لالشارة الى المستخدم الحالً وأخٌراًا الرمز ‪ o‬لغٌر‬ ‫ماذكر (الضٌف ‪)nobody -‬‬ ‫فمثالًا العطاء الملف ‪ file.exe‬امكانٌة القراءة والتنفٌذ مع اعطاء الملكٌة للجمٌع يكون األمر ‪:‬‬ ‫‪chmod a+rx file.exe‬‬ ‫الثاني‪ /‬استخدام األرقام ‪:‬‬ ‫هنا تم تعٌٌن رقم خاص لكل صالحٌة ‪ ,‬فصالحٌة القراءة رقم ها ‪ ,4‬الكتابة رقم ها ‪ 2‬والتنفٌذ رقم ه ‪1‬‬ ‫ولتمثٌل الملكٌة جعلت لكل من األنواع الثالث (الكل‪,‬المستخدم‪,‬المجموعة) خانة خاصة بها‪ ,‬بحٌث ‪:‬‬ ‫الثالث ترمز للضٌف‪-‬‬ ‫ة‬ ‫الثانً للمستخدم الحالً‪ ,‬الخانة‬ ‫ة‬ ‫الخانة األولى "من الًسار" تعنً الملكٌة لمجموعة المستخدم‪ ,‬الخانة‬ ‫‪nobody‬‬ ‫فمثالًا فً المثال السابق نطبق هذه الطرٌقة بهذا الشكل ‪:‬‬ ‫‪Chmod 555 file.exe‬‬ ‫واذا اردناها للمستخدم الحالً مع اعطاء امكانٌة التنفٌذ للبقٌة ٌصبح األمر ‪:‬‬ ‫‪Chmod 151 file.exe‬‬ ‫وهكذا ‪..‬‬

‫ثانياً‪ :‬المستخدمين والملكيات ‪:users/ownerships‬‬ ‫طرٌقة الملكٌة ٌتم من خاللها اعطاء كل مستخدم او مجموعة مستخدمٌن ملكٌات خاصة بهم بحٌث ٌحدد لكل فرد او‬ ‫مجموعة أفراد صالحٌات معٌنة بحسب الوظٌفة الموكلة له ‪.‬‬

‫‪5‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫الملكيات هذه على مستويين هما ‪:‬‬ ‫‪‬‬

‫مستوى المجموعات ‪/‬‬

‫ٌستخدم هذا المستوى إذا ما أردنا منح مجموعة كاملة نفس صالحٌات الملكٌة لجمٌع اعضاءها‪.‬‬ ‫تمٌز كل مجموعة من المجموعات الملكٌة برقم أو اسم فرٌد ‪.‬‬ ‫أما األمر المستخدم لتنفٌذ هذا المنح هو ‪ chown‬شكله ‪:‬‬ ‫]‪Chown [-R] [:Group ID/Name] [target‬‬ ‫فمثالًا فً أحد شركة ٌوجد لدٌها قسم للموارد البشرٌة ‪ ,‬فلو أردنا لجمٌع المستخدمٌن او الموظفٌن العاملٌن فً هذا القسم أن‬ ‫ٌكون لهم نفس الصالحٌات فً الدخول الى الدلٌل ‪ /Employers‬فً المخدم والمخزن علٌه سجالت الموظفٌن فً الشركة‬ ‫بغٌة التعامل معها‬ ‫ٌتم باستخدام األمر ‪ chown‬بهذه الصٌغة ‪:‬‬ ‫‪Chown –R :Department /Employers‬‬ ‫حٌث ‪ Employers‬هو اسم المجموعة‬ ‫‪ ‬وضعنا الرمز ‪ R‬لتنفٌذ األمر بشكل عودي لجمٌع األدلة الفرعٌة والملفات داخله‬ ‫ومن ثم ننفذ األمر ‪ chmod‬لمنح امكانٌة قراءة المجلد من قبل هذه المجموعة ‪:‬‬ ‫‪Chmod 400 /Employers‬‬ ‫‪‬‬

‫مستوى المستخدم ٌن ‪/‬‬

‫المستوى السابق كما الحظنا ٌطبق على مجموعة كاملة‪ ,‬لكن ماذا لو كان األفراد فً هذه المجموعة لهم تخصصات مختلفة‬ ‫داخل نفس القسم‪ ,‬أو أن أحدهم لدٌه رتبة أعلى من غٌره‪.‬‬ ‫ئ نحتاج لمستوى أخفض وهو مستوى المستخدمٌن ‪ ,‬بحٌث ٌتم اعطاء كل مستخدم ملكٌة خاصة تكون مضافة لملكٌة‬ ‫حٌن ٍذذ‬ ‫المجموعة األكبر (ولٌست بدٌلة عنها)‪.‬‬

‫ٌعطى المستخدم الملكٌة بنفس األمر ‪ chown‬وصٌغته هً ‪:‬‬ ‫]‪Chown –R [user ID/Name] [target‬‬

‫‪6‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫بالعودة للمثال السابق‪ ,‬رئٌس قسم الموارد البشرٌة ٌملك صالحٌات اضافٌة وهً امكانٌة حذف او تعدٌل مابداخل الدلٌل‬ ‫‪ٌ , /Employers‬صبح األمر حٌنها بهذا الشكل‪:‬‬ ‫‪Chown –R 500:Department /Employers‬‬ ‫ّق‬ ‫تبقى إعطاء هذا المجلد امكانٌة التعدٌل من قبل رئٌس القسم‬ ‫‪Chmod 460 /Employers‬‬ ‫‪ ‬فً حال أردنا لمجلد ما متاح للضٌف نستخدم الكلمة المحجوزة ‪nobody‬‬

‫مثال‪:‬‬ ‫‪Chown nobody /tmp‬‬

‫ولتحدٌد العملٌات ع المجلد ‪: /tmp‬‬ ‫‪Chmod 774 /tmp‬‬

‫ثالثاً‪ :‬الجدران النارية ‪: Firewalls‬‬ ‫جدار الحماٌة أو الجدار الناري عبارة عن مجموعة متكاملة من اجراءات الحماٌة المصممة لمنع الدخول غٌر المجاز الى‬ ‫الشبكة أو النظام المطبق علٌه‪.‬‬ ‫جدران الحماٌة هً إما أن تكون أجهزة مادٌة أو برمجٌات‪ ,‬وجمٌع هذه األنواع هدفها األساسً رفض الغٌر المصرح له‬ ‫بالدخول‪.‬‬ ‫هذا االجراء ٌعتبر من أهم االجراءات الواجب اتخاذها خاصة عند العمل داخل األنظمة الشبكٌة ومنها الشبكة العالمٌة‬ ‫"االنترنت"‬ ‫ومن أشهر الجداران النارٌة المستخدمة فً االنترنت عبارة عن برمجٌات بسٌطة تعمل على انظمة ‪ Linux‬وتدعى بـ‬ ‫‪. htpasswd‬‬ ‫هذا الملف ٌمكن كتابته بواسطة أي محرر نصً ومن ثم ٌحفظ بالحقة ‪" htpasswd.‬دون اعطائه اي اسم" بعد ذلك ٌتم‬ ‫وضعه فً المكان "مجلد" المراد تطبٌق هذا االجراء علٌه وعند الدخول الى هذا المجلد سوف تظهر رسالة تطلب ادخال اسم‬ ‫المستخدم وكلمة المرور‪.‬‬

‫‪7‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫طريقة بسيطة لصناعة جدار ‪: htpasswd‬‬ ‫‪ - 1‬نذهب الى الموقع ‪http://www.clockwatchers.com/htaccess_tool.html‬‬

‫‪ - 2‬نبدأ بالخطوة األولى ‪ 1. .htaccess Tool‬سنجد هناك عدة خٌارات لنؤخذ الخٌار األساسً لدٌنا وهو ‪Password‬‬ ‫‪ ,Protection‬نقم باختٌاره ومن ثم بؤسف هذا الجدول نضغط على زر ‪ create it‬لتظهر صفحة فٌها مجموعة‬ ‫من أسطر اوامر ننسخها بملف نصً ومن ثم نحفظها على هٌئة ‪htaccess‬‬

‫‪ - 3‬ننتقل اآلن للخطوة الثانٌة ‪ 2. .htpasswd Tool‬سنجد حقلٌن األول ‪ username‬حٌث اسم المستخدم والثانً‬ ‫‪ password‬حٌث كلمة السر‪ ,‬هناك عدة أسطر فً حال أردنا صنع عدة حسابات وٌمكن االكتفاء بحساب واحد‪,‬‬ ‫بعد االنتهاء نضغط على زر ‪ create it‬وستظهر صفحة تحوي االسم ومن ثم كلمة المرور مشفرة بمقٌاس ‪DES‬‬ ‫ننسخ المحتوى فً ملف نصً ونحفظه على هٌئة ‪htpasswd‬‬ ‫‪ - 4‬فً النهاٌة نضع هذٌن الملفٌن فً الم كان المراد حماٌته بالجدار الناري‪.‬‬

‫رابعاً‪ :‬الثغرات األمنية ‪: Security bugs‬‬ ‫من أخطر نقاط الضعف التً ٌمكن للمخترق استغاللها فً الوصول والسٌطرة على النظام هو الثغرات األمنٌة للبرمجٌات‬ ‫والتطبٌقات المستخدمة فً ذلك النظام ‪.‬‬ ‫حالٌا ًا هناك الكثٌر من الثغرات ٌتم اكتشافها ٌومٌا ًا لمختلف برمجٌات السٌرفرات والمواقع ونجد ذلك جلٌا ًا فً مواقع مختصة‪,‬‬ ‫مثل الموقع ‪www.securityfocus.com‬‬

‫ماهي الثغرات ؟‬ ‫الثغرة البرمجٌة هً ضعف امنً فً النظام‪ ,‬هذا الضعف ٌجعل من ذلك النظام قابالًا لالستغالل "‪."Vulnerability‬‬

‫‪ ‬كيف تكتشف الثغرات ؟‬ ‫ٌمكن الثغرات األمنٌة بشكل عام اعتماداًا على أخطاء أو عٌوب أو رسائل خارجة عن صائد األخطاء ‪.Error Exception‬‬ ‫عملٌا ًا‪ ,‬هذه األخطاء تظهر للعٌان عن طرٌق االتصال بالبرنامج بواسطة البورت المخصص له فً السيرفر والذي ٌعمل من‬ ‫خالله‪ ,‬من ثم ترسل شٌفرات خاصة تإثر فً عمل التطبٌق بحٌث ٌظهر الخطؤ البرمجً ‪.‬‬

‫‪8‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫اظهار األخطاء البرمجٌة هً من أهم الخطوات التً تساعد المخترق على اكمال استغالله للبرنامج بالشكل المطلوب‬ ‫تدعى هذه األخطاء بـ ‪ Input validation errors‬أي اخطاء االدخاالت المإثرة ‪.‬‬ ‫تتنوع هذه االدخاالت "الشفرات" تبعا ًا لتنوع اللغات البرمجٌة التً تكتب بها وغٌرها من األمور سنذكرها االن‪.‬‬

‫‪ o‬كل من هذه االدخاالت تمثل ثغرة مستقلة من الثغرات وهً ‪:‬‬ ‫‪ )1‬ثغرات حقن األوامر ‪Command Injection‬‬ ‫‪ )2‬ثغرات تخطً األدلة ‪Path Traversal‬‬ ‫سنستعرض بعون هللا كل من هذه األنواع بشًء من التفصٌل‬

‫أوالً‪ :‬ثغرات حقن األوامر ‪:Command Injection‬‬ ‫ٌعتمد استغالل هذه الثغرات على تنفٌذ اكواد برمجٌة من خالل احد نوعً ارسال البٌانات للتطبٌق "‪ "GET , POST‬وهذه‬ ‫األكواد ٌختلف نوعها باختالف اللغة البرمجٌة للملف المصاب اضافة لنوع نظام التشغٌل الذي ٌعمل علٌه و نوع قاعدة‬ ‫البٌانات المتصل بها ‪.‬‬

‫ثغرات الحقن هذه تنقسم لنوعٌن ‪:‬‬

‫‪- 1‬ثغرة حقن االستعالمات ‪: SQL Injection‬‬ ‫فً هذه الثغرة ٌتم تنفٌذ تعلٌمات لغة االستعالمات البنٌوٌة ‪ SQL‬الخاصة بالتعامل مع قواعد البٌانات من جلب واضافة‬ ‫وتعدٌل وحذف سجالت ‪ ,‬انشاء وحذف بنى معطٌات‪.‬‬

‫‪ ‬كيفية الحماية من هذه الثغرة ‪:‬‬ ‫هناك الكثٌر من طرق الحماٌة من ثغرة حقن االستعالمات وجمٌعها ٌعتمد على مبدأ فلترة المدخالت‪ ,‬أي أن أي قٌمة قبل أن‬ ‫تدخل فً االستعالم ٌجب أوالًا أن تمرر على عملٌة فلترة من أي مدخالت ممنوعة ‪. illegal input‬‬ ‫سنذكر طرٌقتٌن للحماٌة وجدتها األفضل واألسهل‪ ,‬الطرٌقة األولى هً للقٌم الرقمٌة ‪ , integer‬الثانٌة هً للتعامل مع القٌم‬ ‫المحرفٌة ‪. string‬‬

‫‪9‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

7rs Group| 4Best Security

:‫ التعامل مع القيم الرقمية‬:‫ األول‬ ‫ حٌث ٌعرض مجموعة من عناوٌن المقاالت وبالضغط على اي رابط‬,‫لدٌنا تطبٌق لعرض مجموعة من المقاالت فً الموقع‬ ‫ٌتم عرض المقالة فً الصفحة وٌتغٌر الرابط تبعا ًا لرقم المقال‬

: php ‫نكتب التطبٌق بلغة‬ 1


2

$dbc=mysql_connect('localhost','root','toor');

3

$sql=mysql_select_db('articldb',$dbc);

4

?>

5



7


8

$res=mysql_query("select * from articles");

9

while($row=mysql_fetch_row($res)){

10

?>

11



12



14

Article's List

">


15


16

if(isset($_GET['id'])){

17

$res=mysql_query("select id,title,content from articles where id=".$_GET['id']);

18

while($data=mysql_fetch_object($res)){

19

echo"$data->title";?>

20

The Content:


21

content";?>

22



// ########### Start Selected Article ###########



10 www.7rs.cc

[email protected]

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫فً السطر ‪ 17‬تم ارسال استعالم جلب للمقال المختار من القائمة‬ ‫و نالحظ بؤن تحدٌد رقم المقال اعتمد ع الرقم المرسل من الرابط ‪ URL‬بالتالً أصبح اي ادخال لعالمة او تعلٌمة خاصة‬ ‫بلغة ‪ SQL‬سوف تصل للقاعدة وبالتالً حصول التؤثٌر المطلوب ‪.‬‬ ‫فلو فرضنا أننا ادخلنا التعلٌمة ‪ and 1=0‬فً الرابط بهذا الشكل‬ ‫‪http://site.com/file.php?id=1 and 1=0‬‬ ‫فستدخل هذه التعلٌمة مع ]‪ $_GET[id‬الى االستعالم لٌصبح كالتالً‪:‬‬ ‫‪select id,title,content from articles where id=1 and 1=0‬‬ ‫والنتٌجة هو عدم ظهور اي مقالة بسبب التعلٌمة ‪ and 1=0‬التً تعٌد ‪ false‬دوما ًا‬

‫تعتبر هذه الخطوة أساسٌة بالنسبة للمخترق لٌكشف الثغرة فً الموقع اذا كانت موجودة أم ال‬ ‫بعد ذلك ٌمكن للمخترق أن ٌشكل استعالم خاص به ٌدخله مع ]‪ $_GET[id‬من خالل الرابط وبالتالً جلب على اي شًء‬ ‫من القاعدة‪.‬‬

‫لحماٌة الكود من هذا النوع نستخدم دالة )(‪ intval‬ووظٌفتها الحصول على الرقم الصحٌح ‪ Integer‬من المتحول المدخل‪,‬‬ ‫فلو تم ادخال القٌمة ‪ 11abcd‬فسوف نحصل على القٌمة ‪ ,11‬وكذا لو ادخلنا القٌمة ‪ 3.5‬لنحصل على القٌمة ‪ ,3‬وهكذا ‪..‬‬

‫لنعد للمثال‪ ,‬القٌمة المستخدمة عددٌة‪ ,‬اذا نستطٌع أن نضٌف قبل السطر ‪ 17‬السطر التالً ‪:‬‬ ‫;)]‪$id=intval($_GET[id‬‬ ‫لٌصبح السطر ‪ 17‬كامالًا ‪:‬‬ ‫;)‪$res=mysql_query("select id,title,content from articles where id=".$id‬‬

‫اآلن لو تم حقن اي شً فً الرابط فسوف ٌتجاهلة التطبٌق وٌستمر فً عمله ‪.‬‬

‫‪11‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

7rs Group| 4Best Security

‫ التعامل مع القيم المحرفية‬:‫ الثاني‬ ‫لنفرض تطبٌقا ًا آخر ٌتعامل مع السالسل المحرفٌة ولٌكن لوحة تسجٌل دخول ٌحوي حقلٌن األول السم الحساب والثانً للرقم‬ ,‫السري‬ : ً‫الكود كالتال‬

1


3

//username field

4

//password field

5

//id for URL link

6

//submit account's information

7

_DONE;

8

$db=mysql_connect('localhost','root','toor');

9

$sql=mysql_select_db('test',$db);

10

$name=$_POST['username']; $pass=$_POST['password']; //gather account's information

11

echo "
";

12

if($_POST['query']){

13

if(empty($pass)) echo "‫;"نسٌت أن تدخل كلمة السر‬

14

else{

15

$res=mysql_query("select * from login

16

where adm_uname='".$name."' and adm_upass='".$pass."'");

17

$num=mysql_num_rows($res); //get records' number

18

if($num > 0){ // a record that similar to the submitted information is exist

19

echo "‫;" معلومات الدخول صحٌحة شكراًا لك‬

20

exit;}

21

else echo "‫ تؤكد منها مرة أخرى‬. ‫}};"المعلومات خاطئة‬

12 www.7rs.cc

[email protected]

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫السطر المصاب ‪ 15‬و ‪ 16‬حٌث استعالم جلب السجل الذي ٌطلب تطابق المعلومات المدخلة فً لوحة التسجٌل مع تلك التً‬ ‫فً قاعدة البٌانات ‪.‬‬ ‫لنفرض اآلن أن المخترق ادخل هذا الشًء ' ‪ or '1'='1‬فً حقل االسم وحقل كلمة السر‪ ,‬لنرى كٌف سٌكون منظره فً‬ ‫االستعالم ‪:‬‬ ‫'‪select * from login where adm_uname='' or '1' = '1' and adm_upass='' or '1' = '1‬‬

‫انظر فً االستعالم جٌداًا وسوف تالحظ أنه صحٌح ‪ ,‬بعبارة أخرى شرط السطر ‪ 18‬سٌتم عبوره بنجاح وظهور رسالة‬ ‫الترحٌب‪ ,‬أي تخطً اللوحة !‬

‫طرٌقة الحماٌة هنا تعتمد باألساس على الغاء تؤثٌر هذه‬ ‫نالحظ ان ما ساعد المخترق على االختراق هو عالمة ' ‪ ,‬لذا ف‬ ‫العالمة‪ ,‬وٌتم ذلك باضافة عالمة \ قبل المحرف لٌنتج لدٌنا '\ بهذا الشكل لم تعد العالمة مإثرة فً االستعالم ‪.‬‬ ‫الدالة التً تقوم بهذه المهمة تدعى ‪ ,mysql_escape_string‬حٌث وسٌط هذه الدالة هو النص الذي ٌحوي عالمة الـ‬ ‫‪ , quotes‬وٌعود بالنص بعد تطبٌق الفلترة‪.‬‬

‫لنعد لتطبٌقنا حٌث تشغٌل هذه الدالة على السطر ‪ 10‬لٌصبح كالتالً ‪:‬‬ ‫;)]'‪$name= mysql_escape_string ($_POST['username‬‬ ‫;)]'‪$pass= mysql_escape_string ($_POST['password‬‬

‫نتٌجة محاولة المخترق ستكون بهذا المنظر ‪:‬‬ ‫‪select * from login‬‬ ‫'‪where adm_uname='\' or \'1\' = \'1' and adm_upass='\' or \'1\' = \'1‬‬ ‫والنتٌجة‪ :‬فشل االختراق ‪.‬‬

‫‪13‬‬ ‫‪[email protected]‬‬

‫‪www.7rs.cc‬‬

‫مجموعة حرس الحدود| لحماية أفضل‬

‫‪7rs Group| 4Best Security‬‬

‫‪- 2‬ثغرة حقن األكواد )‪:Cross-Site-Scripting (Xss‬‬ ‫هذه الثغرة ال تقل خطورة عن ثغرة حقن االستعالمات حٌث ٌمكن للمخترق من خاللها تنفٌذ الكثٌر من الخطط مثل سرقة‬ ‫الكوكٌز أو بناء صفحة مزٌفة أو تطبٌق أكواد خبٌثة تخرب الصفحة أو تغٌر من محتوٌاتها‪.‬‬ ‫لنفرض محرك بحث فٌه حقل تضع فٌه العبارة المراد البحث عنها وبالضغط على الزر تظهر رسالة كهذه ‪:‬‬ ‫‪Your search for 'securtiy news' returned the following results:‬‬ ‫لنفرض أن الكود هكذا‪:‬‬ ‫‪

Your search for '<script> write("form.field.value");' returned the following‬‬ ‫>‪results:‪") alert('XSS') Your search for '<script> write("") alert('XSS')