10 اسیب پذیری برتر owasp

درباره owasp (پروژه باز امنیت برنامه های تحت وب) :انجمنی است که به سازمانها ها اجازه توسعه، خریداری و نگهداری نرم افزارها و API را به صورت امن میدهددر OWSAP موارد زیر به صورت ازاد و رایگان وجود دارد : ابزارهای امنیت نرم افزار و استانداردهاکتابهای کامل در مورد تست برنامه ، توسعه کد امن و بررسی کد امنکنترل های امنیتی استاندارد و کتابخانه هامقالات جهانیتحقیقات لبه فناوریکنفرانسهای گسترده در سراسر جهانفهرست ایمیل های پستیبرای اطلاعات بیشتر به سایت https://owasp.org/ مراجعه کنید.همه ابزارها، اسناد ،انجمن ها و مقالات OWASP برای همه رایگان و باز است.OWASP به هیچ شرکت فناوری وابسته نیست ،ولی استفاده آگاهانه از فناوری های امنیتی تجاری را حمایت میکند.OWASP مانند بسیاری از پروژه های نرم افزاری منبع باز است و انواع مختلفی از منابع اصلی را به صورت مشارکتی و ازاد تولید می کند.سازمان OWASP یک نهاد انتفاعی نیست که موفقیت درازمدت پروژه اش را تضمین کند .تقریبا تمامی افراد مرتبط با OWASP ازجمله اعضای هیئت مدیره، مشاوران مقاله ، مشاوران و اعضای پروژه، به صورت داوطلبانه کار می کنند.معرفی کلی OWASP TOP 10Injectionضعف تزریق، مانند OS ,NoS,SQL و تزریق LDAP زمانی رخ می دهد که داده های نامعتبر به عنوان بخشی از فرمان یا پرس و جو به یک مفسر ارسال شوند. داده های مخرب مهاجم می تواند مفسر را به اجرای دستورات غیرمنتظره یا دسترسی به داده ها بدون مجوز مناسب منجر کند.Broken Authenticationتوابع درخواست مربوط به احراز هویت و مدیریت نشست اغلب به اشتباه اجرا می شوند، و به مهاجمان اجازه میدهند رمزهای عبور، کلید ها یا نشانه های نشست به خطر بیافتد یا از ضعف های دیگر پیاده سازی استفاده کنند تا از هویت های دیگر کاربران به طور موقت یا دائمی بهره برداری کنند.Sensitive Data Exposureبسیاری از برنامه های کاربردی وب و API ها از اطلاعات حساس مانند مالی، سلامت و PII به درستی محافظت نمی کنند. مهاجمان ممکن است این اطلاعات به درستی محافظت نشده را، سرقت یا برای سایر مقاصد مورد استفاده قرار داده، و یا تغییر دهند. داده های حساس ممکن است بدون حفاظت اضافی، مانند رمزگذاری در حالت استراحت یا درحین حمل، به خطر بیافتد.XML External Entities (XXE)بسیاری از پردازنده های قدیمی تر یا ضعیف پیکربندی شده XML ارجاعات موجودیت بیرونی را در اسناد XML ارزیابی می کنند. موجودیت بیرونی می تواند به افشای فایل های داخلی با استفاده از فایل URL فایل، اشتراک فایل های داخلی، اسکن پورت داخلی ، اجرای کد از راه دور و حمات انکار سرویس منجر شود.Broken Access Controlمحدودیت هایی که کاربران مجاز به انجام آن مجاز هستند اغلب به درستی اعمال نمی شوند. مهاجمان میتوانند از این ضعف ها برای دسترسی به قابلیت های غیر مجاز و یا داده ها مانند دسترسی به حساب های دیگر کاربران، مشاهده فایل های حساس، تغییر دادن داده های کاربران دیگر، تغییر حقوق دسترسی و غیره استفاده کنند.Security Misconfigurationتنظیمات امنیتی اشتباه یکی از رایج ترین مسائل امنیتی موجود است . که معمولا نتیجه ای از تنظیمات پیش فرض ناامن، پیکربندی های ناقص و غیر مجاز، ذخیره سازی ابر باز، هدر های HTTP غلط تنظیم شده و پیام های خطای حاوی اطلاعات حساس است. نه تنها تمام سیستم عامل ها، چارچوب ها، کتابخانه ها و برنامه های کاربردی باید به صورت ایمن پیکربندی شوند، بلکه باید آنها را به موقع اعمال و به روز رسانی کرد.Cross-Site Scripting (XSS)نقص های xss زمانی رخ می دهد که برنامه شامل اطلاعات غیر قابل اعتماد در یک صفحه وب جدید بدون اعتبارسنجی مناسب باشد یا یک صفحه وب موجود را با داده های ارائه شده توسط کاربر با استفاده از یک API مرورگر که می تواند HTML یا جاوااسکریپت ایجاد کند، به روز می کند. XSS به مهاجمان امکان اجرای اسکریپت ها در مرورگر قربانی را می دهد که می تواند جلوی کاربر را بگیرد، وب سایت ها را خراب کند یا کاربر را به سایت های مخرب هدایت کند.Insecure Deserialization در deserialization نا امن منجر به اجرای کد از راه دور می شود. حتی اگر معایب deserialization باعث اجرای کد از راه دور نباشند، از آنها می توان برای انجام حمات استفاده کرد، از جمله حمات تزریق و حملات تشدید امتیاز.Using Components with Known Vulnerabilitiesاجزاء مانند کتابخانه ها، چارچوب ها و دیگر ماژول های نرم افزاری، دارای دسترسی هایی مشابه با برنامه می باشند.اگر یک جزء آسیب پذیر مورد سوء استفاده قرار گیرد، حمله می تواند باعث از دست رفتن اطلاعات جدی باشد.Insufficient Logging & Monitoringنظارت و ثبت وقایع ناقص، همراه با عدم واکنش صحیح به حادثه، به مهاجمان اجازه می دهد تا به سیستمهای بیشتری حمله کنند، یا اقدام به استخراج و یا نابودی اطلاعات کنند. بیشتر مطالعات نشان می دهد زمان برای تشخیص آسیب بیش از 200 روز است، که معمولا توسط شرکت های بیرونی، نه از طریق نظارت داخلی کشف میشوند. تزریق : Injectionبردارهای حملهتقریباً هر منبع داده ای می تواند یک عامل تزریق باشد.پارامترها، متغیرها، سرویس های وب داخلی و خارجی، و همه انواع کاربران نیز میتوانند عامل تزریق باشند.نقض تزریق زمانی رخ میدهد که یک نرم افزار داده های غیرقابل اعتماد را به مفسر ارسال کند.ضعف امنیتینقض تزریق بسیار شایع است به ویژه در کدهایی که در ارثبری وجود دارد. این نقص اغلب در qurey های xPath,SQL,LDAP یا NoSQL ; دستورات OS پارامتر های XML و .. وجود دارد.تشخیص نقص تزریق هنگام بازبینی کد راحت است، اما هنگام تست کد بسیار دشوار است .اسکنرها و فازرها، مهاجمان را برای پیدا کردن نقصهای تزریق، یاری میکنند.تاثیراتتزریق میتواند باعث تخریب یا از دستدادن اطلاعات، عدم پاسخگویی یا رد دسترسی شود. تزریق میتواند گاهی موجب تصاحب کامل میزبان نیز شود .تاثیر تجاری بستگی به نیازهای برنامه و داده دارد.احراز هویت نقض شده : Broken Authenticationبردارهای حملهمهاجمان به صدها میلیون نام کاربری و رمز عبور برای استفاده به عنوان لیست کاربران ادمین پیش فرض، حمات پسورد خودکار و ابزارهای حمله دسترسی دارند.ضعف امنیتیشیوع این حمله به دلیل نحوه طراحی و پیاده سازی کنترل دسترسی و احراز هویت ها بسیار گسترده است.مدیریت نشست، پایه و اساس احراز هویت و کنترل دسترسی است و در تمامی برنامه های stateful وجود دارد.مهاجم با استفاده از ابزارهای دستی و بهره برداری از آنها با ابزارهای خودکار و استفاده از لیست رمزهای عبور و حملات کتابخانه ای قادر به تشخیص احراز هویت شکسته! خواهد بود.تاثیراتمهاجمان برای نفوذ به یک سیستم باید به تعدادی حساب کاربری و یا یک حساب کاربری ادمین دسترسی پیدا کنند.بر اساس ناحیه برنامه، این می تواند منجر به پولشویی،کلاهبرداری امنیتی اجتماعی و سرقت هویت و یا انتشار اطلاعات بسیار حساس محافظت شده شود.افشای اطلاعات حساس : Sensitive Data Exposureبردارهای حملهمهاجمان بجای حمات مخفیانه به صورت مستقیم، اقدام به سرقت کلیدها، اجرای حملات مرد میانی، یا سرقت اطلاعات رمز نشده سمت سرور یا کاربر، هنگام انتقال اطلاعات میکنند. برای مثال مرورگر. معمولاً یک حمله دستی لازم است.قباً بانک های داده رمز عبور بازیابی شده باید توسط GPU ها مورد حمله brute force قرار می گرفت.بردارهای حمله ضعف امنیتیدر طول چند سال گذشته این به یکی از حمات رایج پرآسیب تبدیل شده است. بزرگترین اشتباه رایج هم رمزنکردن اطلاعات حساس است.برای اطلاعات در حال انتقال، ضعف های سمت سرور به راحتی قابل تشخیص هستند.تاثیراتیک شکست امنیتی عموماً تمامی داده هایی که باید محافظت شوند را به خطر می اندازد.به طور معمول، این اطلاعات شامل اطلاعات شخصی حساس (PII) مانند پرونده های بهداشتی، اعتبارنامه، اطلاعات شخصی و کارت های اعتباری است که اغلب نیاز به حفاظت بر اساس قوانین یا مقرراتی مانند GDRP اتحادیه اروپا یا قوانین حفظ حریم خصوصی محلی دارند.اپلودفایل xml توسط نفوذگر : XML External Entities (XXE)بردارهای حملهاگر مهاجمان بتوانند XML بارگذاری کنند یا محتوای آلوده در یک سند XML وارد کنند، از کد ها ، وابستگی ها یا ادغام های آسیب پذیر استفاده کنند، می توانند از پردازنده های XML آسیب پذیر برای مقاصد خود بهره برداری کنند.ضعف امنیتیبه طور پیش فرض، بسیاری از پردازنده های قدیمی تر XML اجازه تعیین یک موجود خارجی را می دهند ( یک URL که در هنگام پردازش XML ارزیابی میشود) ابزار های SAST می تواند این مسئله را با بررسی وابستگی ها و پیکربندی کشف کند. ابزارهای DAST نیاز به مراحل دستی بیشتر برای شناسایی و بهره برداری از این مسئله دارند. آزمایش کنندگان دستی باید برای چگونگی آزمایش XXE آموزش ببینند، زیرا معمولا از سال 2017 آزمایش نشده اند.تاثیراتاین نقص ها می تواند برای استخراج داده ها، اجرای یک درخواست ریموت از سمت سرور، اسکن سیستم های داخلی،انجام حمله اختال در سرویس و همچنین اجرای سایرحملات استفاده شود.تاثیر کسب و کار بستگی به الزامات حفاظتی همه برنامه های کاربردی متاثر و داده ها دارد.نقض کنترل دسترسی : Broken Access Controlبردارهای حملهبهره برداری از کنترل دسترسی یک مهارت اصلی مهاجمان است. ابزارهای SAST ,DAST می توانند فقدان کنترل دسترسی را تشخیص دهند اما اگر کنترل دسترسی وجود داشته باشد، عملکرد آن را نمی توانند تأیید کنند. کنترل دسترسی با استفاده از ابزار دستی و یا احتمالا از طریق خودکار سازی برای فقدان کنترل دسترسی ها در چارچوب های خاص قابل شناسایی است.ضعف امنیتیضعف های کنترل دسترسی عموماً به دلیل نقص در تشخیص خودکار و نقص در تست عملکردی مؤثر توسط توسعه دهندگان نرم افزار وجود دارند.تاثیراتتأثیر فنی این است که مهاجمان به عنوان کاربران یا ادمین ها عمل می کنند، یا استفاده کاربران از توابع با دسترسی خاص ، و یا ایجاد، دسترسی، به روز رسانی و یا حذف هر رکورد. تاثیر کسب و کار بستگی به الزامات حفاظتی برنامه و داده ها دارد.تنظیمات اشتباه امنیتی : Security Misconfigurationبردارهای حملهمهاجمین خارجی ناشناس و همچنین کاربران مجاز را که ممکن است تلاش کنند تا سیستم را به خطر اندازند در نظر بگیرید. همچنین افراد داخلی را که مایل به انجام اقداماتشان هستند را در نظر بگیرید. مهاجمین به حساب های پیشفرض، صفحات استفاده نشده، نقص های ناخواسته ،فایلها و دایرکتوریهای محافظت نشده دسترسی پیدا میکنند تا دسترسی غیرمجاز به سیستم یا دانش آن را کسب کنند.ضعف امنیتیتنظیمات اشتباه امنیتی در هر سطحی از یک پشته نرم افزار، ازجمله پلتفرم، سرور وب، سرور برنامه، پایگاه داده، چارچوب و کد سفارشی،ممکن است رخ دهد .توسعه دهندگان و مدیران سیستم باید باهم کار کنند تا اطمینان حاصل شود که کل پشته به درستی پیکربندی شده است. اسکنرهای خودکار برای تشخیص پچ های ازدست رفته، غلط بودن تنظیمات، استفاده از حسابهای پیشفرض، سرویسهای غیرضروری و غیره مفید هستند.تاثیراتاین سیستم، بدون اطاع شما میتواند به طور کامل به خطر بیفتد. تمام اطلاعات شما میتواند در طول زمان به سرقت رفته و یا تغییر کند. هزینه های بازیابی میتواند گران باشد. حملات Cross-Site Scripting (XSS)بردارهای حملهنقصهای XSS زمانی رخ میدهد که یک برنامه حاوی اطلاعات غیرقابل اعتماد در یک صفحه وب جدید بدون مجوز باشد یا یک صفحه وب موجود را با داده های ارائه شده توسط کاربر با استفاده از یک مرورگرAPI که میتواند جاوا اسکریپت تولید کند ،به روزرسانی کند XSS به مهاجمین امکان اجرای اسکریپتها در مرورگر قربانی را میدهد که میتواند جلوی کاربر را بگیرد، وب سایتها را خراب کند یا کاربر را به سایت های مخرب هدایت کند.ضعف امنیتیزمانی رخ میدهد که برنامه یک صفحه وب را با شیوع اطلاعات کنترل شده مهاجم، بدون بازگشت از آن محتوا یا بدون بسیار شایع استفاده از یک API جاوا اسکریپت امن ،به روز میکند. معایبXSS ضعف امنیتي شامل دودسته اصلی: ذخیرهشده و بازتاب شده است و هرکدام از آنها میتوانند بر روی سرور یا کلاینت ایجاد شوند. تشخیص اکثر نقصهای XSS از طریق تست یا تجزیه و تحلیل کد بسیار راحت است. شناسایی XSS سمت کلاینت بسیار دشوار است.تاثیراتمهاجمان میتوانند اسکریپتها را در مرورگر قربانی اجرا کنند تا کاربر را مسدود کنند، وب سایتها را از بین ببرند، محتوای خصمانه خود را متعادل وارد کنند، کاربران را هدایت کنند و مرورگر کاربر را با استفاده از برنامه های مخرب بشکنند.حملات Insecure Deserialization بردارهای حملهبهره برداری از diserialization تا حدودی دشوار است.ضعف امنیتیبرخی از ابزارها می توانند نقاط ضعف را بیابند، اما تست های انسانی اغلب برای اعتبارسنجی مشکل ضروری است. انتظار می رود که داده های شایع برای نقص های خنثی سازی افزایش یابد، زیرا ابزار توسعه برای کمک به شناسایی و رفع آن کمک می کند.تاثیراتتاثير ضعفهایDeserialization را نمی توان نادیده گرفت. این نقص ها می تواند به حمات کد های راه دور منجر شود، که یکی از جدی ترین حمات ممکن است. تاثیر تجاری به نیازهای حفاظت از برنامه و داده ها بستگی دارد.استفاده از مولفه های با آسیب پذیری های شناخته شده : sing Components with known vulnerabilitiesبردارهای حملهدر حالی که پیدا کردن اکسپلویت های نوشته شده برای بسیاری از آسیب پذیر یهای شناخت هشده بسیار آسان است اما آسیب پذیریهای دیگر بدنبال ایجاد اکسپلویت سفارشی هستند.ضعف امنیتیبسیاری از نرم افزارها این مسائل را دارند، چون گروه های توسعه دهندهی آنها به بروزبودن مولفه و کتابخانه ها توجه نکرده اند. در برخی موارد، حتی تمام مولفه های مورداستفاده خود را نمیدانند، و هرگز به نسخه های آنها توجه نمی کنند برخی ابزارهانظیر retire.js به شناسایی کمک می کنند ولی تعیین توان اکسپلویت زدن نیازمند تاش بیشتر است.تاثیراتدر حالی که برخی از آسیب پذیریهای شناخته شده تنها به اثرات جزئی منتهی می شوند ، برخی از بزرگ ترین رخنه ها تا به امروز بر بهره برداری از آسیب پذیر یهای شناخته شده در قطعات تکیه کرده اند. بسته به داراییهایی که از آن محافظت م یشود ، شاید این ریسک باید در بالای لیست باشد.نظارت و ثبت رویداد ناکافی : Insufficient logging and monitoringبردارهای حملهاکسپلویت از نظارت و ثبت رویداد ناکافی تقریبا بستر اصلی هر اتفاق مهم است مهاجمان به عدم نظارت و پاسخ به موقع ،برای رسیدن به اهداف خود بدون شناسایی شدن متکی هستند.ضعف امنیتییک استراتژی برای تعیین اینکه آیا شما نظارت کافی دارید، بررسی مجدد رویدادهای مربوط به تست نفوذ است اقدامات تست کنندگان باید به اندازه کافی ثبت شود تا بدانند که چه آسیبی به آنها وارد شده است.تاثیراتاکثر حملات موفق با کاوش آسیب پذیری آغاز می شوند. اجازه دادن به این کاوشگرها م بتوانند احتمال اکسپلویت موفق را تقریبا تا 100 درصد افزایش دهد.(این مطلب برای دانشگاه صدرا تهیه شده است)