10 آسیب‌پذیری اپ وبی بین سال‌های 2021 تا 2023

23 اسفند 1402 10 آسیب‌پذیری اپ وبی بین سال‌های 2021 تا 2023

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛ جامعه آنلاین OWASP (پروژه امنیت وب برنامه باز[1]) برای کمک به پیدا کردن آسیب‌پذیری‌های اپ وبی، OWASP Top Ten را ساخته است. با دنبال کردن رتبه‌بندی‌های این جامعه متوجه شدیم که امتیازدهی‌مان به آسیب‌پذیری‌های اصلی متفاوت بوده است. از سر کنجکاوی تصمیم گرفتیم بدانیم این تفاوت چقدر فاحش است. برای همین امتیازبندی خود را باری دیگر مورد بررسی قرار دادیم.

مشخصات شرکت کنندگان و اپ‌ها

ما داده‌ها را از نمونه‌ای از پروژه‌های ارزیابی امنیت برنامه که تیم‌مان در سال‌های 2021-2023 انجام داده بود، جمع‌آوری کردیم. اکثر اپ‌های وب متعلق به شرکت‌های مستقر در روسیه، چین و خاورمیانه بود. تقریباً نیمی از برنامه ها (44٪) به زبان جاوا نوشته شده اند و پس از آن NodeJS (17٪)  و  PHP (12٪) قرار دارند. بیش از یک سوم (39%) از معماری میکروسرویس استفاده کردند.

ما داده‌های به‌دست‌آمده از طریق ارزیابی اپ‌های وب که از رویکردهای جعبه سیاه، خاکستری و سفید پیروی می‌کردند، تجزیه و تحلیل کردیم. تقریباً هر برنامه‌ای که با جعبه خاکستری ارزیابی شده بود با جعبه سیاه نیز تجزیه و تحلیل شد، بنابراین ما این دو رویکرد را در آمار خود ترکیب کردیم. در نتیجه اکثریت قریب به اتفاق (83٪) از پروژه‌های اپ وبی از روش‌های جعبه سیاه و خاکستری استفاده کردند.

اختلافات ناشی از رویکردهای متفاوت تحلیل

از آنجایی که روش‌های جعبه سیاه، خاکستری و سفید مستلزم سطوح مختلف دسترسی به برنامه‌ها بود، انواع آسیب‌پذیری‌هایی که به احتمال زیاد یافت می‌شد نیز متفاوت بودند. ما آسیب‌پذیری‌های کشف شده را با و بدون دسترسی به کد منبع برنامه مقایسه کردیم. در نتیجه، چهار آسیب‌پذیری از پنج آسیب‌پذیری گسترده مطابقت داشتند، اما تفاوت‌هایی نیز وجود داشت. علاوه بر این، آمار نشان داد که رویکرد جعبه سفید امکان یافتن تعداد بیشتری از آسیب‌پذیری‌های شدید مانند SQL Injection را می‌دهد. به طور متوسط، تجزیه و تحلیل جعبه سیاه/خاکستری 23 آسیب پذیری و تجزیه و تحلیل جعبه سفید 30 آسیب پذیری را نشان داد. اگرچه رویکرد جعبه سفید امکان یافتن تعداد بیشتری از آسیب‌پذیری‌ها را در هر برنامه فراهم می‌کند، اما از رویکردهای جعبه سیاه و خاکستری می‌توان برای نگاه کردن به برنامه از دیدگاه عامل مخرب استفاده و آسیب‌پذیری‌هایی را که ابتدا باید اصلاح شوند شناسایی کرد.

10 آسیب‌پذیری اپ وبی

ما نتایج پروژه‌های ارزیابی اپ‌های وبی را برای شناسایی گسترده‌ترین و شدیدترین آسیب‌پذیری‌هایی که دنیای دیجیتال طی سه سال گذشته با آن مواجه شده بود، تجزیه و تحلیل کردیم.

Broken Access Control

70 درصد از اپ‌های وب که ما آنالیز کردیم حاوی آسیب پذیری‌های مرتبط با مسائل کنترل دسترسی بودند.تقریباً نیمی از آسیب‌پذیری‌های Broken Access Control دارای سطح ریسک متوسط و 37 درصد از سطح ریسک بالا هستند. آسیب‌پذیری‌های پرخطر می‌توانند باعث ایجاد خطا در برنامه‌ها شوند و بر کسب‌وکار مشتریان تأثیر بگذارند. در یک برنامه، اعتبار ناکافی داده‌های ارائه شده به ما اجازه می‌دهد به سرویس‌های داخلی دسترسی پیدا کنیم و به طور بالقوه حملاتی را اجرا کنیم که منجر به ضرر مالی می‌شود.

راهکاری برای مهار: کنترل‌های احراز هویت و مجوز را با توجه به مدل دسترسی مبتنی بر نقش پیاده سازی کنید. به‌طور پیش‌فرض، دسترسی را رد کنید، مگر اینکه منبع در دسترس عموم باشد.

Sensitive Data Exposure

این نوع آسیب‌پذیری یکی دیگر از مواردی است که اغلب در اپ‌های وب یافت می‌شود. در مقایسه با کنترل دسترسی شکسته، قرار گرفتن در معرض داده‌های حساس حاوی تعداد بیشتری از آسیب پذیری‌های کم خطر بود، اما آسیب پذیری‌های پرخطر نیز وجود داشت.در میان داده‌های حساسی که در طول تجزیه و تحلیل خود شناسایی کردیم، رمزهای عبور و اعتبارنامه‌های یک‌بار مصرف متن ساده، مسیرهای کامل به دایرکتوری‌های انتشار برنامه‌های وب و سایر اطلاعات داخلی بود که می‌توان از آنها برای درک معماری برنامه استفاده کرد.

راهکاری برای مهار: فایل های حاوی داده‌های حساس مانند رمز عبور یا نسخه پشتیبان را در فهرست ‌ای انتشار برنامه های وب ذخیره نکنید. هنگام دسترسی به عملکردهای برنامه، از افشای داده‌های حساس خودداری کنید، مگر اینکه خود تابع برای دسترسی به داده‌های حساس استفاده شود.

Server-Side Request Forgery (SSRF)

محبوبیت معماری کلود و میکروسرویس در حال افزایش است. معماری میکروسرویس سطح حمله برای بهره‌برداری SSRF را به دلیل ارتباط بیشتر سرویس ها از طریق HTTP  (یا سایر پروتکل های سبک وزن) در مقایسه با معماری سنتی گسترش می‌دهد. بیش از نیمی (57%) از برنامه‌هایی که ما آنالیز کردیم حاوی آسیب‌پذیری بودند که به یک عامل مخرب اجازه می‌داد پس از دور زدن منطق برنامه با سرویس‌های داخلی ارتباط برقرار کند: جعل درخواست سمت سرور.به طور خاص، یک عامل مخرب می‌تواند از SSRF در زنجیره‌ای با آسیب‌پذیری‌های دیگر برای توسعه حمله به وب سرور یا خواندن کد منبع برنامه استفاده کند.

راهکاری برای مهار: در صورت امکان، یک لیست مجاز از منابعی که برنامه می‌تواند درخواست کند ایجاد کنید. از درخواست به منابعی که در آن لیست نیستند جلوگیری کنید. درخواست هایی که حاوی URL کامل هستند را نپذیرید. فیلترهای فایروال را برای جلوگیری از دسترسی به دامنه های غیرمجاز تنظیم کنید.

SQL Injection

بیشتر آسیب‌پذیری‌های پرخطر در سال‌های 2021-2023 با SQL Injection مرتبط بودند. با این حال، ما این دسته را در رده چهارم قرار دادیم زیرا تنها 43 درصد از برنامه‌هایی که تجزیه و تحلیل کردیم در برابر آن آسیب‌پذیر بودند.آسیب پذیری‌هایی از این نوع می تواند منجر به سرقت اطلاعات حساس یا اجرای کد از راه دور شود. در طی یکی از پروژه‌ها، تزریق SQL به برنامه‌ای که برای ثبت‌نام توسط هر کاربر اینترنتی باز بود، به ما اجازه می‌دهد تا اعتبار یک مدیر سیستم داخلی را دریافت کنیم.

راهکاری برای مهار: از پرس و جوهای SQL پارامتری شده در کد منبع برنامه به جای ترکیب آنها با یک قالب پرس و جو SQL استفاده کنید. اگر نمی توانید از پرس و جوهای SQL پارامتری استفاده کنید، مطمئن شوید که هیچ داده ای که توسط کاربر وارد شده و در ایجاد پرس و جوهای SQL استفاده می شود، نمی تواند برای اصلاح منطق پرس و جو استفاده شود.

Cross Site Scripting (XSS)

آسیب‌پذیری‌های Cross-Site Scripting در 61 درصد از اپ‌های وب که آنالیز کردیم، کشف شد. در بیشتر موارد، این آسیب‌پذیری دارای ریسک متوسطی بود، بنابراین ما آن را در رتبه پنجم قرار دادیم، حتی اگر بسیار گسترده بود.بیش از نیمی (55٪) از تمام آسیب پذیری‌های XSS مربوط به اپ‌های مورد استفاده توسط شرکت های فناوری اطلاعات و پس از آن بخش عمومی (39٪) بود.حمله XSS علیه کلاینت های برنامه می تواند برای به دست آوردن اطلاعات احراز هویت کاربر، مانند کوکی ها، فیشینگ یا انتشار بدافزار استفاده شود. در یک سناریوی حمله، XSS در زنجیره‌ای با آسیب‌پذیری‌های دیگر اجازه می‌دهد رمز عبور کاربر را به یک مقدار شناخته‌شده تغییر داده و به این ترتیب با امتیازات آن کاربر به برنامه دسترسی پیدا کند.

راهکاری برای مهار: پردازش ورودی کاربر برنامه وب را با جایگزین کردن کاراکترهای بالقوه ناامن که می‌توان برای قالب‌بندی صفحات HTML به معادل‌های آن‌ها که کاراکترهای قالب‌بندی نیستند، مورد استفاده قرار داد، ارائه می‌کند. این باید برای هر داده‌ای که از منابع خارجی به دست می آید و در مرورگر نمایش داده می‌شود (از جمله سرصفحه های HTTP، مانند User-Agent و Referer)انجام شود.

Broken Authentication

اگرچه تقریباً نیمی از آسیب‌پذیری‌هایی که در این دسته کشف کردیم دارای سطح ریسک متوسط (47٪) بودند، اما موارد پرخطر نیز وجود داشت که امکان دسترسی به برنامه وب را از طرف مشتریان مشتریان فراهم می‌کرد.به عنوان مثال، یک برنامه خاص فاقد JWT (Jason Web Token) است، بنابراین عامل مخرب می تواند JWT خود را (با مشخص کردن شناسه کاربر دیگر) تغییر دهد و از توکن به دست آمده برای انجام اقدامات مختلف در داخل حساب استفاده کند.

راهکاری برای مهار: اعتبار سنجی مناسب داده‌های احراز هویت مورد استفاده برای دسترسی به برنامه را اجرا کنید. هنگام استفاده، امضاهای رمز و شناسه جلسه را تأیید کنید. اطلاعات مورد استفاده برای احراز هویت (کلیدهای رمزگذاری، امضا و غیره) باید منحصر به فرد بوده و دارای درجه بالایی از آنتروپی باشند. اسرار را در کد برنامه ذخیره نکنید.

Security Misconfiguration

کمی کمتر از نیمی از برنامه‌هایی که آنالیز کردیم، دارای آسیب‌پذیری تنظیمات اشتباه امنیتی بودند. این دسته طیفی از آسیب پذیری‌ها را از حالت اشکال زدایی فعال تا احراز هویت غیرفعال را پوشش می‌دهد.سرور Nginx یکی از برنامه‌هایی که ما آنالیز کردیم، اجازه دسترسی به فایل‌های موجود در فهرست اصلی (نسبت به دایرکتوری مشخص شده در دستورالعمل مستعار) را می‌داد. این می تواند برای دسترسی به فایل هایی که حاوی داده های محرمانه هستند استفاده شود.

راهکاری برای مهار: هنگام پیکربندی سیستم های مورد استفاده در زیرساخت فناوری اطلاعات، بهترین شیوه‌های امنیتی را دنبال کنید. فرآیند راه‌اندازی را خودکار کنید تا خطاها هنگام راه‌اندازی سیستم‌های جدید حذف شوند. از اعتبارنامه های مختلف برای سیستم‌های تست و تولید استفاده کنید. اجزای استفاده نشده را غیرفعال کنید.

 Insufficient Protection from Brute Force Attacks

بیش از یک سوم از برنامه‌های آنالیزشده توسط ما، اجازه حملات brute force یا همان جستجوی فراگیر را می دادند. گذرواژه‌های یک‌بار مصرف و احراز هویت در برابر منابع مختلف، مانند حساب‌ها یا سیستم‌های فایل، برخی از مکانیسم‌هایی بودند که ما متوجه شدیم آسیب‌پذیر هستند. به طور خاص، پیاده‌سازی ضعیف OTP می‌تواند به مهاجم اجازه دهد تا OTP را به صورت brute-force، دور زدن این عامل احراز هویت و در نتیجه دسترسی غیرمجاز به برنامه آسان‌تر کند.

راهکاری برای مهار: از CAPTCHA استفاده کنید تا کار مهاجم را سخت‌تر کنید. همچنین می‌توانید از کنترل‌های پیشگیری (WAF، IPS)برای مسدود کردن سریع تلاش‌های بی‌رحمانه، هم در مورد ورود ناموفق چندگانه به یک حساب و هم ورود ناموفق چندگانه به حساب‌های مختلف که از یک منبع منشا می‌گیرند، استفاده کنید.

Weak User Password

رمز عبورهای ضعیف برای 22 درصد از اپ‌های وب که ما آنالیز کردیم تنظیم شد.توضیح برای درصد نسبتاً پایین آسیب‌پذیری‌ها در این دسته، این واقعیت است که تحلیلگران امنیتی اغلب به جای سیستم‌های زنده، با میزهای تست مشتری کار می‌کنند. اگرچه تعداد برنامه‌های حاوی این نوع آسیب پذیری کم است، اما پیامدهای سوء استفاده از اعتبار ضعیف می‌تواند قابل توجه باشد. بسته به نوع حساب، مهاجم می‌تواند به ویژگی‌های اصلی برنامه یا سناریوهای اداری دسترسی داشته باشد که می‌تواند بر فرآیندهای تجاری تأثیر بگذارد.

راهکاری برای مهار: برای مثال، با اجرای گذرواژه‌های جدید یا تغییر یافته در برابر فهرستی از 10000 ضعیف‌ترین رمز عبور، بررسی‌های رمز عبور ضعیف را اجرا کنید. الزامات طول رمز عبور، پیچیدگی و انقضا را همراه با سایر سیاست‌های رمز عبور مبتنی بر شواهد مدرن اعمال کنید.

Using Components with Known Vulnerabilities

آخرین اما نه کم‌اهمیت ترین دسته، استفاده از مؤلفه‌هایی با آسیب‌پذیری‌های شناخته شده است.در میان مؤلفه‌های آسیب‌پذیر، چارچوب‌ها و وابستگی‌های کاربردی مختلف، مانند کتابخانه‌ها و ماژول‌ها بودند. برخی از این موارد به ما امکان دسترسی به سرورهای مورد استفاده برنامه‌ها را می‌دهند و در نتیجه به شبکه‌های داخلی مشتریان نفوذ می‌کنند.

راهکاری برای مهار: به طور منظم از اجزای نرم افزاری که استفاده می کنید موجودی تهیه نموده و در صورت نیاز به روز رسانی کنید. فقط از اجزای قابل اعتمادی استفاده کنید که تست های امنیتی را با موفقیت پشت سر گذاشته‌اند. اجزای استفاده نشده را غیرفعال کنید.

نتیجه‌گیری

رفع گسترده‌ترین آسیب‌پذیری‌های برنامه‌های وبی که در این مطالعه توضیح داده شده‌اند، به شما کمک می‌کند تا از داده‌های محرمانه خود محافظت و از به خطر افتادن برنامه‌های کاربردی وب و سیستم‌های مرتبط جلوگیری کنید. برای بهبود امنیت اپ‌های وبی و تشخیص به موقع حملات، توصیه می‌کنیم موارد زیر را انجام دهید:

  •         چرخه عمر توسعه نرم افزار امن (SSDLC) را دنبال کنید.
  •         ارزیابی امنیتی برنامه منظم را اجرا کنید.
  •         از ثبت و نظارت برای ردیابی فعالیت برنامه استفاده کنید.

به نوبه خود، می‌توانیم برای کشف آسیب‌پذیری‌ها نه تنها در برنامه‌های وب، بلکه در دستگاه‌های خودپرداز، زیرساخت فناوری اطلاعات و ICS کمک کنیم. از طریق آگاهی از آسیب پذیری‌ها و تهدیدات مرتبط، می‌توانید بهتر از دارایی‌های اطلاعاتی خود محافظت کنید.

 

[1] Open Web Application Security Project

 

منبع: کسپرسکی آنلاین (ایدکو)

کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز می‌شناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.

محصولات مرتبط

  • Kaspersky Internet Security for Android

    امنیت پیشرفته‌ای که همیشه همراه شماست بخش مهمی از زندگی اکثر ما اکنون روی گوشی‌ها و تبلت‌هاست- پس به امنیت موبایلی نیاز دارید که شما را همیشه امن نگه ...

    7,500,350 ریال
    خرید
  • Kaspersky Cloud Password Manager

    Kaspersky Cloud Password Manager ابزار مدیریت کلمه عبور ابری کسپرسکی (KCPM) ضمن ذخیره ایمن تمامی کلمات عبور مورد استفاده شما برای وبسایت‌ها، اپلیکیشن‌ها، و شبکه‌های اجتماعی آنها را در تمامی ...

    11,254,100 ریال
    خرید
  • Kaspersky Safe Kids

    اپلیکیشن همه‌کاره برای فرزندپروریِ دیجیتال و سلامت خانواده نرم افزار امنیت کودکان کسپرسکی، نظارت‌های والدین را آسان می‌کند. ردیابی مکان و عادات دستگاه، محدودسازی محتوا، متعادل‌سازی ...

    1,125,410 ریال11,254,100 ریال
    خرید
  • Kaspersky Security Cloud Personal

    تمام اپ‌های امنیتیِ ما در دستانتان. به کل خانواده‌ی اپ‌های ما برای دسکتاپ و موبایل دسترسی پیدا کنید. از آنتی‌ویروس گرفته تا ابزارهای حریم خصوصی و اجرایی، هر کدام را به میل ...

    75,067,850 ریال
    خرید
  • Kaspersky Standard

    سیستم امنیتی بهبودیافته به همراه تقویت‌کننده عمکرد دستگاه طرح امنیتی استاندارد ما، نه تنها سیستم امنیتی قدرتمندی را برای انواع ویروس‌ها، بدفزارها و باج‌افزارها ارائه می‌دهد ...

    10,617,750 ریال21,235,500 ریال
    خرید
  • Kaspersky Plus

    امنیت. کارایی. حریم خصوصی. همه در یک برنامه با کاربری آسان کسپرسکی پلاس با ارائه امنیت سایبری نسل بعد، شما در برابر ویروس‌ها، باج‌افزارها و بدافزارهای جدید محافظت کند - بدون ...

    15,225,925 ریال30,451,850 ریال
    خرید
  • Kaspersky Premium

    حفاظت کامل از دستگاه ها، حریم خصوصی و هویت شما با محصول Kaspersky Premium تمام نیازهای امنیتی خود و خانواده‌تان را پوشش دهید. حفاظت پیشرفته ...

    16,287,700 ریال32,575,400 ریال
    خرید
  • Kaspersky Small Office Security

    محافظت در حین کار Kaspersky Small Office Security به طور خاص برای سازمان‌هایی طراحی شده است که 5 تا 50 دستگاه کامپیوتر در خود جای داده‌اند. نصب آن بسیار آسان است؛ مدیریت آن ...

    67,563,925 ریال135,127,850 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    216,208,850 ریال
    خرید
  • Kaspersky Small Office Security

    امنیت ادارات کوچک

    81,077,425 ریال162,154,850 ریال
    خرید
  • Kaspersky Small Office Security

    259,752,350 ریال
    خرید
  • Kaspersky Small Office Security

    94,590,925 ریال189,181,850 ریال
    خرید
  • Kaspersky Small Office Security

    302,545,100 ریال
    خرید
  • Kaspersky Small Office Security

    108,104,425 ریال216,208,850 ریال
    خرید
  • Kaspersky Small Office Security

    346,088,600 ریال
    خرید
  • Kaspersky Small Office Security

    121,617,925 ریال243,235,850 ریال
    خرید
  • Kaspersky Small Office Security

    388,881,350 ریال
    خرید
  • Kaspersky Small Office Security

    123,870,175 ریال247,740,350 ریال
    خرید
  • Kaspersky Small Office Security

    396,388,850 ریال
    خرید
  • Kaspersky Small Office Security

    174,545,800 ریال349,091,600 ریال
    خرید
  • Kaspersky Small Office Security

    558,550,850 ریال
    خرید
  • Kaspersky Small Office Security

    225,221,425 ریال450,442,850 ریال
    خرید
  • Kaspersky Small Office Security

    720,712,850 ریال
    خرید
  • Kaspersky Small Office Security

    272,143,300 ریال544,286,600 ریال
    خرید
  • Kaspersky Small Office Security

    870,862,850 ریال
    خرید
  • Kaspersky Small Office Security

    516,137,050 ریال1,032,274,100 ریال
    خرید
  • Kaspersky Small Office Security

    1,651,642,850 ریال
    خرید

نظر خودتان را ارسال کنید


کاربر گرامی چنانچه تمایل دارید، نقد یا نظر شما به نام خودتان در سایت ثبت شود، لطفاً وارد سایت شوید.
*نظر
کلیه حقوق مادی و معنوی این سایت محفوظ و متعلق به شرکت گسترش خدمات تجارت الکترونیک ایرانیان است و هر گونه کپی برداری از آن پیگرد قانونی دارد