OWASP Testing Guide: Chapter on SQL Injection ..... OWASP Code Review Guide: Chapter on XSS Review .... OWASP Testing Gu
O
عن منظمة أواسب مقدمة
عن المنظمة
إن البرمجيات الغير آمنة تضعف مختلف بنياتنا التحتية؛ المالية والصحية والدفاعية والطاقة والبنى التحتية الحرجة األخرى .كما يتزايد مستوى التعقيد والترابط في البنى التحتية فإن مقدار الصعوبة لتحقيق أمن التطبيقات ستزيد أضعاف مضاعفة .لم يعد من الممكن التساهل بالمشاكل األمنية البسيطة مثل تلك المشاكل التي سنعرضها في هذا المشروع.
المشروع المفتوح ألمن تطبيقات الويب )أواسب(هو عبارة عن مجتمع مفتوح مختص لتمكين المنظمات من تطوير وشراء والحصول على التطبيقات بشكل يمكن الوثوق به .في (أواسب) يمكنك الحصول مجاناً وبشكل مفتوح مايلي: • أدوات ومعايير أمن التطبيقات • كتب متكاملة في إختبار أمن التطبيقات ،والتطوير اآلمن للنصوص البرمجية، والمراجعة األمنية للنصوص البرمجية • مكتبات وأدوات تحكم أمنية معيارية • المنظمات الفرعية حول العالم • أبحاث متطورة • مؤتمرات واسعة حول العالم • قوائم بريدية
إن الهدف من المشروع (أواسبً -العشرةًاألوائل) هو نشر الوعي عن أمن التطبيقات وذلك بتحديد أبرز المخاطر األمنية الحرجة التي قد تواجهها المنظمات .تم ذكر مشروع (العشرةًاألوائل) في العديد من المعايير والكتب واألدوات والمنظمات بما في ذلك منظمة ) ،(MITREومعيار )،(PCI DSS و وكالة نظم المعلومات الدفاعية ) ،(DCAوهيئة التجارة الفيدرالية )،(FTC وغيرها الكثير .يعتبر هذا اإلصدار من مشروع (أواسبً -العشرةًاألوائل) بمثابة الذكرى السنوية العاشرة في نشر الوعي بأهمية مخاطر أمن التطبيقات .تم إصدار النسخة األولى من (أواسبً -العشرةًاألوائل) في عام ،2003مع تحديثات ثانوية في عامي ً2004وً .2007في نسخة 2010تم إعادة تنسيق الوثيقة ليكون ترتيب المخاطر بناءً على قيمة الخطر وليس فقط بمقدار اإلنتشار. في هذا اإلصدار -2013-سيتم إتباع نفس األسلوب. نحن نشجعك على إستخدام (أواسبً -العشرةًاألوائل) لجعل منشأتك تبدأ في أمن التطبيقات .المطورون يمكن لهم اإلستفادة من أخطاء المنظمات األخرى . على التنفيذين البدء في التفكير عن كيفية إدارة المخاطر األمنية التي تخلقها التطبيقات البرمجية في مؤسساتهم. على المدى البعيد ،فإننا نشجعك لبناء برنامج ألمن التطبيقات بحيث يكون متناسق مع ثقافة وتقنيات منشأتك .تأتي هذه البرامج بمختلف األشكال واألحجام، ويجب عليك تجنب محاولة القيام بكل مايوصف في بعض نماذج اإلجراءات. عوضاً عن ذلك ،قم باإلستفادةًمن نقاط القوة في منشأتك للقيام وقياس ماهو مناسب لك.
نتمنى أن تقدم (أواسبً -العشرةًاألوائل) الفائدة لجهودك في أمن التطبيقات . نرجو عدم التردد في التواصل مع منظمة (أواسب) بشأن طرح األسئلة أو المالحظات أو األفكار وذلك بشكل عام عبر البريد اإللكتروني owasp- ً
[email protected]أوًبشكلًخاصً
[email protected].
تعرف على المزيدhttps://www.owasp.org : إن جميع األدوات والوثائق والمنتديات والمنظات الفرعية لمنظمة (أواسب) هي مجانية ومفتوحة لجميع المهتمين بتطوير أمن التطبيقات .نقدم أمن التطبيقات كمشكلة تتضمن العامل البشري ،واإلجراءات ،والتقنية؛ وذلك ألن أفضل األساليب فعالية في أمن التطبيقات تتطلب تحسين جميع هذه المجاالت الثالثة. (أواسب) هي منظمة فريدة من نوعها .حريتنا من الضغوط التجارية تسمح لنا تقديم معلومات عن أمن التطبيقات غير متحيزة وعملية وفعالة من ناحية التكلفة . إن (أواسب) ال تتبع أي شركة تجارية ،مع أننا ندعم اإلستخدام الواعي للتقنيات األمنية التجارية .على غرار الكثير من مشاريع البرمجيات مفتوحة المصدر ،فإن (أواسب) تقدم أنواع كثيرة من المواد بشكل تعاوني ومفتوح. مؤسسة (أواسب) هي منشأة غير ربحية تضمن النجاح المستمر للمشروع .تقريباً، جميع المنتسبين إلى (أواسب) هم من المتطوعين ،بمن فيهم أعضاء المجلس، واللجان العالمية ،وقادة المنظمات الفرعية ،وقادة المشاريع وأعضائها .نحن ندعم األبحاث األمنية اإلبداعية بالمنح وتوفير البنى التحتية. إنضم إلينا!
حقوق الطبع والرخصة حقوق الطبع محفوظة لمنظمة أواسب 2003 - 2013 تم نشر هذه الوثيقة تحت رخصة المشاع اإلبداعي Creative Commonبخواص النسبة والترخيص بالمثل اإلصدار .3.0ألي إعادة إستخدام أو توزيع ،عليك بيان وتوضيح شروط وأحكام الرخصة للطرف اآلخر.
I
المقدمة الكلمة الترحيبية
مرحباً بك في (أواسبً -العشرةًاألوائل) بنسخته لعام ! 2013هذا التحديث وسع أحد التصنيفات من نسخة 2010لتكون أكثر شمولية ألهم الثغرات وأكثرها إنتشاراً، كذلك أعاد ترتيب بعض التصنيفات بناءً على تغير بيانات إنتشارها .كذلك سلطت الضوء على المكون األمني ” “Security Componentوذلك بإنشاء صنف خاص لهذا الخطر األمني ،مزيحة بذلك الغموض الموجود بالصنف السادس )اإلعدادات األمنية الخاطئة (من نسخة .2010 إن إصدار 2013من (أواسبً -العشرةًاألوائل) مبنية على ثمانية مجموعات بيانية تم تقديمها من سبعة منشآت متخصصة في أمن التطبيقات ،تتضمن أربعة شركات إستشارية وثالثة من مقدمي األدوات -شامالً بذلك مقدمي البرمجيات كخدمة ”( “SaaSأحدها تقدم أداة فحص ثابتة ”ً“staticللنصًالبرمجي ،وأخرى تفاعلية ”ً "dynamicتحاكيًهجومًالمخترقين ،والثالثة تقدم كال النوعين) .هذه البيانات تتجاوز الـ 500,000ثغرة أمنية خالل مئات المنشآت وآالف التطبيقات .تم إختيار وترتيب عناصر (العشرة األوائل) وفقاً لإلنتشارًلمجموعة البيانات هذه باإلضافة إلى تقدير إمكانية إستغالل الثغرات األمنية ،وإكتشافها ،ومدى تأثيرها. الهدف األساسي لمشروع (أواسبً -العشرةًاألوائل) هو تثقيف المطورين والمصممين ومعماري البرمجيات والمدراء والمنظمات حول اآلثار المترتبة نتيحة نقاط الضعف األمنية في تطبيقات الويب( .العشرةًاألوائل) تقدم التقنيات األساسية للحماية من المشاكل األمنية عالية المخاطر ،باإلضافة إلى تقديمها إلرشادات عن كيفية معالجة هذه المخاطر األمنية.
تحذيرات
عزو العمل
التقف عند العنصر العاشر .هنالك المئات من القضايا األمنية التي قد تؤثر على أمن التطبيقات كما تم مناقشتها في الدليل اإلرشادي للمطورين من أواسب ( )OWASP Developer’s Guideوًسلسلة األوراق المساعدة من أواسب ( .)OWASP Cheat Sheet Seriesإن قراءة هذه الوثائق هام جداً ألي مطور لتطبيقات الويب .تتوفر إرشادات عن كيفية إيجاد الثغرات األمنية بفاعلية في كالً من الدليل اإلرشادي لإلختبار من أواسبًوًالدليل اإلرشادي لمراجعة النصوص البرمجية من أواسب.
كلمة شكر موجهة إلى شركة ) (Aspect Securityلمبادرتها وقيادتها وتحديثها (ألواسب –العشرة األوائل) منذ إبتدائها عام ،2003ولكاتبيها الرئيسيين جيف ويليامز و ديف ويتشرز.
التغيير المستمر .إن قائمة العشرة األوائل ستتغير بإستمرار .حتى من دون تغيير سطر واحد من النص البرمجي للتطبيق الخاص بك ،قد تتعرض للثغرات األمنية بسبب إكتشاف أخطاء امنية جديدة وبإستحداث أساليب الإلختراق .لمزيد من المعلومات ،يرجى مراجعة األجزاءًالمعنونةًبـ «ماهي الخطوات التالية للمطورين ،والمحققين ،والمؤسسات» في آخر أواسب –العشرة األوائل. فكر بإيجابية .عندما تصبح مستعداً للتوقف عن مطاردة الثغرات األمنية وتركز أكثر على تأسيس أدوات تحكم قوية ألمن التطبيقات فإن أواسب قدمت لك معيار التحقق من أمن التطبيقات “Application Security Verification ” Standardكدليل إرشادي للمنظمات ومراجعي التطبيقات عما يلزم التحقق منه. إستخدم األدوات بحكمة .قد تكون الثغرات األمنية معقد جداً ومخبأة بين جبل من أسطر النص البرمجي.في كثير من الحاالت ،إن األسلوب األكثر فاعلية إليجاد وإزالة نقاط الضعف األمنية هي بالخبرة البشرية مجندة باألدوات المناسبة. إدفع لليسار .قم بالتركيز على جعل أمن المعلومات جزءً اليتجزأ من ثقافتك خالل منظمة تطوير التطبيقات .إكتشف المزيد في نموذج نضوج تأمين البرمجيات المفتوحة وكتيب متانة البرمجيات.
نرغب بشكر المنظمات التي ساهمت بتقديم بيانات اإلنتشار للثغرات األمنية دعماً إلصدار 2013من (أواسب –العشرة األوائل): إحصائيات – Aspect Security HP – Statistics from both Fortify and WebInspect إحصائيات – Minded Security إحصائيات – Softtek )صفحةً (50إحصائيات – Trustwave, SpiderLabs إحصائيات – Veracode إحصائيات – WhiteHat Security Inc. كذلك نرغب بشكر كل من ساهم في النسخ السابقة من (أواسب –العشرة األوائل) .من دون هذه المساهمات لن تكون أواسب –العشرة األوائل ماهي عليه اليوم .نشكر من ساهم بوقته ونقده البناء خالل مراجعة هذه النسخة من (أواسب – العشرة األوائل):
آدام باسو (منظمة ويكيبيديا) مايك بوبيرسكي )(Booz Allen Hamilton تورستن جيغلر نيل سميثالين ( )MorphoTrust USAلتجهيزه نسخة الويكي من أواسب العشرة األوائل وتقديمه للمالحظات
وأخيراً ،نشكر مقدماً جميع المترجمين الذين سيقومون بترجمة هذه النسخة للعديد من اللغات ممايجعلها متاحة للجميع حول العالم.
RN
مذكرة اإلصدار ماهي التغيرات بين نسختي عام 2010و 2013؟
إن المنظر العام للتهديدات األمنية التي تواجه أمن التطبيقات تتغير بإستمرار .عوامل أساسية في هذا التطور هي التطورات المحرزة من المخترقين ،وإصدار تقنيات جديدة تعاني من نقاط ضعف أمنية باإلضافة إلى المزيد من الدفاعات المدمجة ،كذلك اإلنتشار المتزايد للنظم المعقدة .لمواكبة ذلك نحدث وبإستمرار (أواسب –العشرة األوائل) .في هذا اإلصدار لعام ،2013قمنا بالتغيرات التالية: (1صعود العنصر (ضعف التحقق من الهوية وإدارة جلسة اإلتصال) بسبب نسبة اإلنتشار بناءً على المجموعات البيانية .نعتقد بأن هذا الصعود هو نتيجة البحث المكثف في هذا المجال ،وليس بسبب حقيقة إنتشاره .هذا التغيير دعا إلى تبديل مرتبة الخطر ) (A2مع ).(A3
(2نزول العنصر (تزوير الطلبات عبر الموقع ” )“CSRFمن ً2010-A5الىً .2013-A8نعتقد بأن ذلك نتيجة وجود (تزوير الطلبات عبر الموقع) في قائمة (العشرةًاألوائل) منذ ستة سنوات ،لذا قامت المنظمات ومطورو إطارات العمل " "frameworkبالتركيز عليها بشكل كافي مما جعل وجودها أقل في التطبيقات. (3قمنا بتوسيع نطاق العنصر الثامن (الفشل في ضبط الوصول للروابط) في نسخة 2010من (أواسبً -العشرةًاألوائل) لتصبح أكثر شمولية: +
( :2010-A8الفشل في ضبط الوصول للروابط) ،أصبح اآلن في نسخة ( :2013-A7إهمال التحكم بالوصول الوظيفي ” )“Functionلكي تغطي جميع أدوات التحكم بالوصول على المستوى الوظيفي .هناك العديد من األساليب لتحديد ماهية الوظائف المسموح الوصول لها؛ ليس فقط الروابط "."URL
(4قمنا بدمج وتوسيعًالعنصرين ً2010-A7وً 2010-A9في عنصر واحد ليكون( :2013-A6 :كشف البيانات الحساسة): -
تم إنشاء العنصر الجديد بدمج العنصرً( :2010-A7التشفير الغير آمن للبيانات) والعنصرً( :2010-A9ضعف حماية طبقة النقل) ،باإلضافة إلى مخاطر البيانات الحساسة في المتصفح .يغطي هذه العنصر الجديد جميع إجراءات حماية البيانات الحساسة (ماعدا التحكم بالوصول والذي تم تغطيته في العنصرين ً2013-A4وً )2013-A7وذلك منذ تقديمها من المستخدم ،وإرسالها وحفظها خالل التطبيق ،وحتى إرسالها إلى المتصفح مرة أخرى.
(5قمنا بإضافة (:2013-A7 -إستخدام مكونات معروفة الضعف): +
تم تغطية هذا الموضوع خالل ( :2010-A6اإلعدادات األمنية الخاطئة) ،لكن في هذه النسخة أصبح لها صنف خاص بها بسبب إنتشار إستخدام المكونات " "componentsفي التطوير مما ادى إلى زيادة المخاطر األمنية بسبب إستخدام مكونات معروفة الضعف.
(أواسب -العشرة األوائل) لعام ( 2010السابقة) – A1الحقن
– A1الحقن ”“Injection
”“Injection
- A3ضعف التحقق من الهوية وإدارة جلسة اإلتصال
“Broken Authentication and
”Session Management
- A2البرمجة عبر
الموقع ”(“Cross-Site Scripting )XSS
- A4اإلحالة المباشرة الغير آمنة - A6اإلعدادات األمنية الخاطئة
”“Insecure Direct Object References ”“Security Misconfiguration
- A7التشفير الغير آمن للبيانات –تم دمجها مع العنصر )(2010-A9 ”“Insecure Cryptographic Storage
- A8الفشل في ضبط الوصول للروابط –تم توسيع نطاقها لتصبح )(2013-A7 ”“Failure to Restrict URL Access
- A5تزوير الطلبات عبر الموقع
”(“Cross-Site Request Forgery )CSRF
تغطيتها في العنصر :A6اإلعدادات األمنية الخاطئة