اخبار داخلی آرمان داده پویان

گزارش‌های امنیتی

خانه آگاهی‌رسانی امنیتی گزارش‌های امنیتی گزارش Acunetix در خصوص آسیب‌پذیری برنامه‌های کاربردی وب‌بنیان (قسمت سوم)
۱۳ خرداد ۱۳۹۹
تعداد بازدید: 768

گزارش Acunetix در خصوص آسیب‌پذیری برنامه‌های کاربردی وب‌بنیان، سال ۲۰۲۰


سال ۲۰۲۰ (قسمت سوم)

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

  • آسیب‌پذیری SSRF : یک درصد (در سال ۲۰۱۹ هم ۱% بوده است)
  • آسیب‌پذیری CSRF : سی و شش درصد (در سال ۲۰۱۹ برابر با ۵۱% بوده است)
  • تزریق بهHost header  : پنج درصد (در سال ۲۰۱۹ برابر با ۴% بوده است)
  • آسیب‌پذیری‌های وردپرس : بیست و چهار درصد (در سال ۲۰۱۹ برابر با ۳۰% بوده است)

گذرواژه‌های ضعیف و عدم محافظت در برابر حملات Brute-Force

گذرواژه‌های ضعیف معمولاً کوتاه، شامل عبارات رایج و مقادیر پیش‌فرض بوده و به راحتی قابل حدس زدن هستند. این گذرواژه‌ها معمولاً ترکیبی از مقادیر پیش‌فرض مثل admin/admin یا admin/password هستند و در برخی موارد از طریق حمله دیکشنری به راحتی کشف می‌شوند.

تحلیل

در این گزارش تحلیلی، ۱% از اهداف دارای آسیب‌پذیری گذرواژه ضعیف بودند. این آسیب‌پذیری بسیار خطرناک و در عین حال به راحتی قابل اصلاح است. همچنین ۲۸% از برنامه‌های کاربردی وب‌بنیان در صفحات لاگین، در مقابل حملات Brute-Force فاقد دفاع بودند. این بدان معنی است که مهاجم می‌تواند به تعداد نامحدودی گذرواژه را امتحان نماید.

افشای اطلاعات رزرو شده

بسته به نوع اطلاعات، افشای آن‌ها نیز از درجه اهمیت متفاوتی برخودار است. افشای اطلاعات هویتی از اهمیت بالایی برخوردار است. ۱% از اهداف مورد استفاده در این گزارش تحلیلی، دچار افشای اطلاعات کارت‌های اعتباری و شناسه تأمین اجتماعی شده‌اند. افشای آی‌پی‌های محلی ریسک کمتری به دنبال دارد. اما ترکیب آن با آسیب‌پذیری‌هایی از قبیل SSRF مهاجم را به سمت سایر عناصر شبکه هدایت می‌کند. %۵/۵ از اهداف نمونه دارای این آسیب‌پذیری بودند. همچنین بیش از ۳۲% از اهداف، آدرس‌های ایمیل را عمدا در معرض دید عموم قرار داده بودند. این موضوع را نمی‌توان یک آسیب‌پذیری محسوب کرد چراکه برخی سازمان‌ها خطر هرزنامه‌ها را تقبل می‌کنند تا بهتر در میان مشتریان خود شناخته شوند.

افشای کد منبع

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

آسیب‌پذیری SSRF

این آسیب‌پذیری زمانی رخ می‌دهد که مهاجم داده‌های دستکاری شده را به سرویس‌دهنده دیگری بفرستد. توسعه‌دهندگان اغلب اجازه می‌دهند چنین مبادلاتی بدون چالش انجام شود زیرا آن‌ها را مورد اعتماد می‌پندارند. یک مهاجم ممکن است با جایگزین کردن آدرس‌های اینترتنی با آدرس‌های مورد اعتماد سرویس‌دهنده، درخواست‌هایی را از سرویس‌دهنده آسیب‌پذیر ایجاد و یا جعل نماید. این آسیب‌پذیری برای سیستم‌های داخلی که اجازه اتصال به اینترنت یا استفاده از لیست سفید آی‌پی را نمی‌دهند کاربرد دارد. این حمله بیشتر از روش جایگزینی URL استفاده می‌کند. مهاجمان می‌توانند برای فریب برنامه‌های کاربردی از آدرس‌هایی مثل file:// استفاده کنند تا موجب افشای فایل‌ها گردند. مثلا file://etc/passwd موجب افشای اطلاعات حساب کاربری خواهد شد. Acunetix برای شناسایی آسیب‌پذیری SSRF از سرویس AcuMonitor استفاده می‌کند. پس از شروع تست، AcuMonitor منتظر دریافت ارتباط از سوی برنامه کاربردی می‌ماند. پویشگر Acunetix نیز با AcuMonitor در ارتباط است و به محض دریافت ارتباط، آسیب‌پذیری تأیید می‎‌گردد.

تحلیل

در این بررسی، ۱% از اهداف دارای آسیب‌پذیری SSRF بوده که هرچند شایع نیست اما می‌تواند مهلک باشد. مهاجم با بهره‌برداری از این آسیب‌پذیری قادر به اسکن پورت‌ها و یا ارسال درخواست با حجم بسیار زیاد (DoS) خواهد بود.

آسیب‌پذیری‌های سرریز

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

تحلیل

در این بررسی، %۵/۱ از اهداف دارای آسیب‌پذیری‌های سرریز بافر، سرریز عدد صحیح، سرریز Heap و سرریز پشته بودند که نسبت به سال گذشته کاهش داشته است.

آسیب‌پذیری‌های لبه شبکه

معمولاً شبکه‌های محلی نسبت به شبکه اینترنت ایزوله هستند و سرویس‌هایی از قبیل Routing، NAT، VPN و … به همراه سرویس‌دهنده‌های DNS، ایمیل و … در لبه شبکه مستقر می‌باشند. اگر این سرویس‌ها یا سرویس‌دهنده‌ها به درستی نگهداری یا پیکربندی نشده و نرم‌افزارهای آن‌ها به‌روزرسانی نگردد، دچار آسیب‌پذیری خواهند شد. فارغ از مکان هر سرویس (که ممکن است بر بستر Cloud باشد) اگر اجزای شبکه دارای آسیب‌پذیری باشند منجر به افشای اطلاعات حساس و یا دور زدن سیستم احراز هویت خواهند شد.

تحلیل

بر اساس نمودار زیر، %۵/۱۵ از اهداف دارای آسیب‌پذیری‌های مرتبط با پروتکل SSH بودند. کلیدهای SSH از دسترسی‌های ناخواسته به منابع جلوگیری می‌کنند. برخی سازمان‌ها بدون حذف کلیدهای قبلی اقدام به ایجاد کلیدهای جدید نموده یا از یک کلید در موارد متعدد استفاده می‌کنند. در نتیجه کلیدها همواره ثابت بوده و زمینه را برای حمله مهاجمین آماده می‌کنند. در این بررسی، ۷% از اهداف دارای آسیب‌پذیری‌های مرتبط با FTP بودند که بیشتر آن‌ها از درجه اهمیت پایینی برخوردار هستند. همچنین %۴/۱ از اهداف دارای آسیب‌پذیری‌های مرتبط با رایانامه و %۵/۱ نیز آسیب‌پذیری‌های مرتبط با پروتکل DNS را دارا هستند.

آسیب‌پذیری‌های مرتبط با حمله منع سرویس (DoS)

حمله منع سرویس (DoS) باعث عدم پاسخ یک سرویس‌دهنده به درخواست‌ها یا عدم دسترسی کاربران به آن خواهد شد. مهاجمین معمولاً حجم عظیمی از درخواست‌ها را به سمت سرویس‌دهنده هدایت می‌کنند که منجر به اشغال ظرفیت پهنای باند و ترافیک شبکه خواهد شد. ابزارهای متداول برای این حمله Low Orbit Ion Cannon و High Orbit Ion Cannon هستند. حمله DoS مبتنی بر برنامه کاربردی بهینه‌تر و هدفمندتر است. ابتدا مهاجم درخواست‌هایی را ارسال کرده و مدت زمان پاسخ را اندازه‌گیری می‌کند. برخی از درخواست‌ها به زمان پردازش بیشتری نیاز دارند. مهاجم با ارزش‌ترین درخواست‌ها را انتخاب کرده و از آن‌ها برای اجرای سناریوی واقعی حمله استفاده می‌کند. آسیب‌پذیری‌هایی که منجر به حمله منع سرویس (DoS) می‌گردند عبارتند از:

  • آسیب‌پذیری تزریق به SQL که باعث اجرای دستور DROP TABLE در بانک اطلاعاتی می‌گردد.
  • تزریق کدی که بارها خودش را فراخوانی کرده و منابع سرویس‌دهنده را اشغال می‌کند.
  • بمب XML ، یک سند XML که با هدف اعمال بار اضافه بر مترجم XML ساخته شده است.

تحلیل

در این گزارش، ۱۱% از اهداف دارای آسیب‌پذیری DoS و %۵/۷ نیز آسیب‌پذیری SlowLoris داشتند. SlowLoris نوعی حمله DoS مبتنی بر برنامه کاربردی است که تمام Connectionهای منتهی به یک سرویس‌دهنده را استفاده کرده و هیچ‌گاه آن‌ها را نمی‌بندد. در مجموع تعداد آسیب‌پذیری‌های مرتبط با DoS در ۴ سال گذشته روند نزولی داشته است.

آسیب‌پذیری جعل درخواست (CSRF)

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

تحلیل

بر اساس نمودار، ۳۶% از اهداف آسیب‌پذیری CSRF داشته و یا فاقد توکن ضد CSRF در فرم‌های اینترنتی هستند. توسعه‌دهندگان با افزودن احراز هویت‌های چندمرحله‌ای می‌توانند از بروز این آسیب‌پذیری جلوگیری کنند.

تزریق سرآیند میزبان (Host Header Injection)

این آسیب‌پذیری هنگامی رخ می‌دهد که یک برنامه کاربردی با دیتای کاربر به صورت پویا اقدام به ایجاد سرآیند HTTP می‌کند. برخی از توسعه‌دهندگان به امنیت سرآیندهای میزبان برای وارد کردن صفحات، اسکریپت‌ها، پیوندها و یا حتی برای تنظیم مجدد گذرواژه اعتماد دارند. بدون احراز هویت چند عاملی (MFA) یک مهاجم می‌تواند کنترل کامل حساب کاربر را در اختیار بگیرد. حمله دیگری که با استفاده از این آسیب‌پذیری رخ می‌دهد مسموم‌سازی حافظه Cache است.

تحلیل

در این بررسی، %۵/۲ از اهداف دارای آسیب‌پذیری تزریق سرآیند میزبان بودند. این آسیب‌پذیری هرچند خطرناک است اما به راحتی قابل بهره‌برداری نیست و نیاز به شرایط خاصی دارد.

آسیب‌پذیری مرور دایرکتوری (Directory Listing)

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

تحلیل

بر اساس نمودار، ۶% از اهداف نسبت به پیکربندی غلط مرور دایرکتوری آسیب‌پذیر بودند. این ویژگی بر روی سرویس‌دهنده آپاچی به صورت پیش‌فرض فعال است.

آسیب‌پذیری‌های TLS/SSL

پروتکل‌های TLS و SSL مسئول ایمن‌سازی داده‌ها و رمزنگاری ارتباط بین کاربر و سرویس‌دهنده هستند. تمام وب‌سایت‌های اینترنتی خصوصاً آن‌هایی که با اطلاعات حساس (مثل اطلاعات مالی، حساب‌های بانکی، کارت‌های اعتباری و …) سر و کار دارند می‌بایست ارتباط بین کاربر و سرویس‌دهنده را رمزگذاری کنند. نسخه‌های قدیمی این پروتکل‌ها آسیب‌پذیری‌های زیادی داشتند که می‌توانست منجر به دور زدن سیستم رمزنگاری و دسترسی به اطلاعات گردد.

تحلیل 

حدوداً ۴۷% از اهداف پویش شده مشکلات مربوط به TLS/SSL داشتند. بیش از ۳۸% این تعداد که شامل TLS 1.0 و  RC4 هستند مشکل Broken Cipher داشتند. این موضوع نگران‌کننده است که هنوز برخی از آسیب‌پذیری‌های قدیمی و بحرانی از قبیل BREACH (%9/3) ، POODLE (%9/3) و DROWN (%7/0) که از آن‌ها به عنوان Superbugs یاد می‌شود وجود دارند.

آسیب‌پذیری‌های مرتبط با وردپرس و سایر سیستم‌های مدیریت محتوا (CMS)

برآوردها نشان می‌دهد که از اوایل ژانویه ۲۰۲۰ بیش از ۳۵% کل وب‌سایت‌ها بر پایه وردپرس هستند. وقتی از امنیت وردپرس صحبت می‌شود ، سه مؤلفه وجود دارد: هسته وردپرس ، تم‌های رابط کاربری و افزونه‌ها. هسته وردپرس معمولاٌ به بلوغ رسیده و آسیب‌پذیری‌های آن به سرعت شناسایی و ترمیم می‌شوند. اما شرایط برای تم‌ها و افزونه‌ها متفاوت است چون توسط افراد مختلفی توسعه داده می‌شوند. هر قدر یک افزونه محبوب‌تر باشد توجهات بیشتری را به خود جلب کرده و گاهاً  با اکسپلویت کردن آسیب‌پذیری یکی از افزونه‌ها، تعداد بیشماری از وب‌سایت‌ها به صورت همزمان مورد حمله قرار می‌گیرند. جوملا و دروپال نیز بعد از وردپرس از محبوبیت زیادی برخوردار هستند که همانند وردپرس هسته قدرتمندی داشته اما افزونه‌های آن‌ها گاهاً دارای آسیب‌پذیری‌های بیشماری می‌باشند.

تحلیل 

در مجموع ۳۵% از اهداف مورد بررسی، آسیب‌پذیری‌های مرتبط با این CMS ها (از قبیل XSS، SQLi و RCE) را داشتند.

آسیب‌پذیری‌ها و پیکربندی‌های نادرست سرویس‌دهنده وب

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

تحلیل 

در این بررسی، ۴۶% از اهداف دارای آسیب‌پذیری‌های مرتبط با سرویس‌دهنده وب بودند. بیشتر پیکربندی‌های نادرست منجر به افشای نسخه نرم‌افزار شده‌اند. هرچند ممکن است این موضوع در دسته آسیب‌پذیری‌ها جای نگیرد اما می‌تواند اطلاعات مفیدی را در اختیار مهاجم قرار دهد. برخی از سرویس‌های دهنده‌های قدیمی نیز دارای آسیب‌پذیری‌های مرتبط با DoS و افشای اطلاعات بوده‌اند.

نتیجه‌گیری

نتایج حاصل از بررسی‌ها نشان می‌دهد که به تدریج در مسیر درستی قرار گرفته‌ایم. تعداد آسیب‌پذیری‌ها سیر نزولی اما تدریجی دارد و هنوز مسیر زیادی برای رسیدن به امنیت حداکثری باید طی گردد چرا که هنوز بیش از ۲۵% برنامه‌های کابردی وب‌بنیان دارای آسیب‌پذیری‌های بحرانی هستند. اگر به عنوان مدیر شبکه یا مدیر سیستم مشغول به فعالیت هستید باید بدانید که به‌روزرسانی نرم‌افزارها و نصب وصله‌های امنیتی به تنهایی برای تأمین امنیت کافی نیست و به نحوه استفاده از برنامه‌ها نیز بستگی دارد. حتی با داشتن قوی‌ترین تجهیزات امنیتی، معمولاً آسیب‌پذیری‌هایی از قبیل تزریق به SQL یا اجرای کد از راه دور به دلیل ضعف دانش برنامه‌نویسی ایجاد می‌گردند. بهترین شیوه ارتقاء امنیت برنامه‌های کاربردی وب‌بنیان انجام تست دوره‌ای نفوذ و ارزیابی امنیتی در چرخه توسعه محصول می‌باشد. در همین راستا شرکت آرمان داده پویان با تجربه‌ای بسیار گسترده در زمینه مشاوره امنیت اطلاعات در کنار فعالیت‌های چشمگیر خود در طراحی و پیاده‌سازی راهکارهای امنیتی به طور کامل آماده همکاری با سازمان‌ها و شرکت‌ها در این زمینه می‌باشد و برای فراهم نمودن امنیت حداکثری خدماتی از قبیل مشاوره، آموزش، ایمن‌سازی شبکه و برنامه‌های کاربردی وب‌بنیان و تست نفوذ و ارزیابی امنیتی را ارائه می‌دهد.

آرمان داده پویان ارائه دهنده تست نفوذ برنامه‌های کاربردی وب بنیان

برای کسب اطلاعات بیشتر با ما تماس بگیرید