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.
لمحة.. فً هذا العصر ,عصر المعلومات ,وبعد انتشار تقنٌة المعلومات واالتصاالت اصبح هناك ماٌسمى بـ , global vision ومعنى ذلك توجه النظرة نحو العالمٌة globallyبعد ان كانت محلٌة locallyوذلك قبل ظهور الشبكات واالتصاالت الحدٌثة ,حتى أنه اطلق على العالم اآلن وصف "القرٌة الصغٌرة". قدٌما ًا ,كانت هذه النظرة مقتصرة على أشخاص محددٌن دون غٌرهم ,ولكن ومع استمرار التطور فً مجال المعلومات واالتصاالت أصبح من الالزم للجمٌع استخدام هذه التقنٌة وأن تتؤقلم مع الشكل الجدٌد للحٌاة أما الشركات فقد اصبح لزاما ًا علٌها أن تستخدم هذه التقنٌة لتبقى ضمن جو المنافسة ,التً اقتصرت سابقا ًا على نطاقات محلٌة ,لتتوسع هذا النطاق اآلن لٌشمل العالم بؤسره! كل ذلك صب فً مصلحة الجمٌع ,حٌث أصبح باالمكان ألي شخص من خالل شبكة االنترنت أن ٌحصل على ماٌرٌده مهما كان ذلك بعٌداًا عنه ,فعامل "المسافة" اآلن قد الغً من قائمة "التحدٌات" التً كانت تواجههم. اآلن ,أصبح أهم وأكبر تحدي للشركات حالٌا ًا ه و كٌف ستحافظ على مكانها التنافسً فً السوق العالمً باالعتماد على هذه التقنٌات للتفوق فً تحقٌق المثالٌة المطلوبة وذلك على الصعٌد االداري واالنتاجً على حد سواء. ي ظل هذا العالم "المفتوح" للجمٌع الخالً من تلك ولكن فً ظل كل هذه االٌجابٌات التً أتت على الشركات وعمالئها ,وف المساف" تحدٌات جدٌدة من أهمها "أمن المعلومات" ,حٌث انتشر ة القٌود الصارمة ,ظهر عوضا ًا عن تلك التحديات القدٌمة "ك ماٌدعى "الجرٌمة االلكترونٌة" حٌث السرقة والتدمٌر والتخرٌب من خالل الشبكة االلكترونٌة باالعتماد على طرق وتقنٌات توصف بعضها بالمعقدة ,بعد ذلك تبلورت لهذه الظاهرة قوانٌن خاصة بدأت فً الوالٌات المتحدة فً اواسط التسعٌنٌات من القرن الماضً وفرضت على مستحقٌها غرامات باهظة وأحكام بالسجن تصل بعضها لعقود من السنٌن.
يفيٌو أين انًعهٌيات: إن "أمن المعلومات" – " "information securityهو علم حدٌث فً مجال تقنٌة المعلومات ظهر لٌكون مسإوالًا عن حماٌة المعلومات وحماٌة انظمة المعلومات " "information systemsم ماٌسمى بـ "قرصنة المعلومات" – " "information hackingوهً ماٌشمل : ًا اضافة لمحاوالت التخرٌب والتدمٌر. محاوالت الدخول أو االستخدام غٌر المصرح به,
كيف ظهرت اول أشكال القرصنة االلكترونية ؟ كان ظهور أول شبكة الكترونٌة موسعة على مستوى المدن فً ستٌنٌات القرن العشرٌن ممثلة بشبكة الهواتف االلكترونٌة بداٌة لعصر الشبكات والمشاركة المفتوحة . فً بداٌة السبعٌنٌات من ذلك القرن ,قام شخص باٌجاد طرق مع بداٌة هذا العصر ظهرت بوادر لخطر لم ٌكن فً الحسبان ,ف واسالٌب الختراق شبكة الهواتف واستغالل بعض آلٌات عمل هذه الشبكة ,من هذه االستغالالت كانت التجسس على مكالمات جارٌة و اجراء مكالمات غٌر محسوبة وغٌرها من األسالٌب ,وكل هذه الطرق تعتمد ع فهم آللٌة عمل الشبكة ومن ثم اكتشاف مواطن ضعف "بالنسب له" تمكنه من استغاللها ألهدافه الشخصٌة.
انتشار واسع ألساليب جديدة في القرصنة بشكل مطرد وظهور طرق للتصدي : فً ثمانٌنٌات القرن الماضً بدأ انتشار القرصنة االلكترونٌة باالزدٌاد مع مرور الزمن متوازٌا ًا مع انتشار الحواسٌب وتطورها المستمر و ظهور تقنٌات جدٌدة فً مجال االتصاالت والشبكات حٌث التطور بالسرعة العالٌة والكلفة األقل مما زاد من عدد المستخدمٌن لهذه التقنٌات ومنها االقبال الكبٌر على شبكة االنترنت العالمٌة . فً تلك الفترة لم ٌكن هناك اي اهتمام او اخذ بالحسبان لهذا التحدي الجدٌد ,حٌث لم تتخذ فً ذلك اي اجراءات مناسبة تطبق على المعدات التً ٌتم وضعها فً الشبكة ,مما أدى اال حصول كوراث كبٌرة لشركات اعتمدت على االنترنت كجزء أساسً من عملها ,فكانت محاوالت النهب والسلب او التدمٌر لتلك المواد. سرق ة اع غٌر مسبوق لنسبة وكان أكثر من تضرر الشركات المصرفٌة حٌث سجلت االحصائٌات فً تلك الفترة عن ارتف بطاقات االئتمان وكان %90من هذه السرقات تتم من خالل شبكة االنترنت. ي ع لى الشبكة حٌنها بدأ التفكٌر جدٌا ًا فً خطورة هذا التحدي وأضحى من الضروري لهذه البنوك والشركات العالم ة ي ان تفرض اجراءات وقائٌة أمنٌة وبجدٌة عالٌة لكل ما تملكه على الشبكة . العنكبوتة فً هذه الفترة ظهرت اولى االجراءات الوقائٌة ضد القرصنة االلكترونٌة ,سوف ٌكون التكلم عن هذه االجراءات محور حدٌثنا فً هذا المقال.
تنحصر الطرق واجراءات الحماٌة فً 3اشكال : - 1القواعد والصالحٌات rules/permission - 2المستخدمٌن والملكٌات users/ownerships - 3الجدران النارٌة Firewalls - 4الثغرات األمنٌة Security bugs هذه االجراءات تعتبر من ابجدٌات العمل بالنسبة للعاملٌن فً مجال ادارة الشبكات واالتصاالت.
بما أن أكثر السٌرفرات المستخدمة فً مخدمات المواقع االلكترونٌة تعتمد على انظمة تشغٌل Linuxو Unix لقوتها ودعمها الكبٌر الجراءات الحماٌة ,اصبح من الالزم علٌنا التركٌز علٌها فً موضوعنا ,بٌد أن األساس واحد بالنسبة لجمٌع أنواع أنظمة التشغٌل
أًالًال :انقٌاعد ًانصالحٍات : rules/permission عندما تضع ملفا ًا ما على شبكتك الداخلٌة باعطائه خاصٌة المشاركة ,sharingتجد أنه البد لك أن تعطً لهذا الملف خصائص تحدد العملٌات الممكن اجراءها علٌه ,وهذا األمر هو ماٌسمى بالصالحٌات المحددة للملف.
الصالحيات هذه على ثالثة أنواع /
صالحٌة القراءة :حٌث تعطى للمجلدات لجعله قابل للدخول ومشاهدة محتواه ,وباعطاءه للملف ٌصبح باالمكان نسخه او قراءة محتواه.
كٍفٍة اعطاء انصالحٍات فً نظاو ي : 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 طرٌقة الملكٌة ٌتم من خاللها اعطاء كل مستخدم او مجموعة مستخدمٌن ملكٌات خاصة بهم بحٌث ٌحدد لكل فرد او مجموعة أفراد صالحٌات معٌنة بحسب الوظٌفة الموكلة له .
ٌستخدم هذا المستوى إذا ما أردنا منح مجموعة كاملة نفس صالحٌات الملكٌة لجمٌع اعضاءها. تمٌز كل مجموعة من المجموعات الملكٌة برقم أو اسم فرٌد . أما األمر المستخدم لتنفٌذ هذا المنح هو 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
ثالثاً :الجدران النارية : Firewalls جدار الحماٌة أو الجدار الناري عبارة عن مجموعة متكاملة من اجراءات الحماٌة المصممة لمنع الدخول غٌر المجاز الى الشبكة أو النظام المطبق علٌه. جدران الحماٌة هً إما أن تكون أجهزة مادٌة أو برمجٌات ,وجمٌع هذه األنواع هدفها األساسً رفض الغٌر المصرح له بالدخول. هذا االجراء ٌعتبر من أهم االجراءات الواجب اتخاذها خاصة عند العمل داخل األنظمة الشبكٌة ومنها الشبكة العالمٌة "االنترنت" ومن أشهر الجداران النارٌة المستخدمة فً االنترنت عبارة عن برمجٌات بسٌطة تعمل على انظمة Linuxوتدعى بـ . htpasswd هذا الملف ٌمكن كتابته بواسطة أي محرر نصً ومن ثم ٌحفظ بالحقة " htpasswd.دون اعطائه اي اسم" بعد ذلك ٌتم وضعه فً المكان "مجلد" المراد تطبٌق هذا االجراء علٌه وعند الدخول الى هذا المجلد سوف تظهر رسالة تطلب ادخال اسم المستخدم وكلمة المرور.
طريقة بسيطة لصناعة جدار : 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 عملٌا ًا ,هذه األخطاء تظهر للعٌان عن طرٌق االتصال بالبرنامج بواسطة البورت المخصص له فً السيرفر والذي ٌعمل من خالله ,من ثم ترسل شٌفرات خاصة تإثر فً عمل التطبٌق بحٌث ٌظهر الخطؤ البرمجً .
اظهار األخطاء البرمجٌة هً من أهم الخطوات التً تساعد المخترق على اكمال استغالله للبرنامج بالشكل المطلوب تدعى هذه األخطاء بـ Input validation errorsأي اخطاء االدخاالت المإثرة . تتنوع هذه االدخاالت "الشفرات" تبعا ًا لتنوع اللغات البرمجٌة التً تكتب بها وغٌرها من األمور سنذكرها االن.
oكل من هذه االدخاالت تمثل ثغرة مستقلة من الثغرات وهً : )1ثغرات حقن األوامر Command Injection )2ثغرات تخطً األدلة Path Traversal سنستعرض بعون هللا كل من هذه األنواع بشًء من التفصٌل
أوالً :ثغرات حقن األوامر :Command Injection ٌعتمد استغالل هذه الثغرات على تنفٌذ اكواد برمجٌة من خالل احد نوعً ارسال البٌانات للتطبٌق " "GET , POSTوهذه األكواد ٌختلف نوعها باختالف اللغة البرمجٌة للملف المصاب اضافة لنوع نظام التشغٌل الذي ٌعمل علٌه و نوع قاعدة البٌانات المتصل بها .
ثغرات الحقن هذه تنقسم لنوعٌن :
- 1ثغرة حقن االستعالمات : SQL Injection فً هذه الثغرة ٌتم تنفٌذ تعلٌمات لغة االستعالمات البنٌوٌة SQLالخاصة بالتعامل مع قواعد البٌانات من جلب واضافة وتعدٌل وحذف سجالت ,انشاء وحذف بنى معطٌات.
كيفية الحماية من هذه الثغرة : هناك الكثٌر من طرق الحماٌة من ثغرة حقن االستعالمات وجمٌعها ٌعتمد على مبدأ فلترة المدخالت ,أي أن أي قٌمة قبل أن تدخل فً االستعالم ٌجب أوالًا أن تمرر على عملٌة فلترة من أي مدخالت ممنوعة . illegal input سنذكر طرٌقتٌن للحماٌة وجدتها األفضل واألسهل ,الطرٌقة األولى هً للقٌم الرقمٌة , integerالثانٌة هً للتعامل مع القٌم المحرفٌة . string
: التعامل مع القيم الرقمية: األول حٌث ٌعرض مجموعة من عناوٌن المقاالت وبالضغط على اي رابط,لدٌنا تطبٌق لعرض مجموعة من المقاالت فً الموقع ٌتم عرض المقالة فً الصفحة وٌتغٌر الرابط تبعا ًا لرقم المقال
فً السطر 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
اآلن لو تم حقن اي شً فً الرابط فسوف ٌتجاهلة التطبٌق وٌستمر فً عمله .
التعامل مع القيم المحرفية: الثاني لنفرض تطبٌقا ًا آخر ٌتعامل مع السالسل المحرفٌة ولٌكن لوحة تسجٌل دخول ٌحوي حقلٌن األول السم الحساب والثانً للرقم ,السري : ًالكود كالتال
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