آزمایشگاه تخصصی آپا دانشگاه فردوسی مشهد::FUM CERT Lab. (Computer Emergency Response Team)

معماری‌های فاقد سرویس‌دهنده: تغییر الگو در امنیت برنامه‌های کاربردی

عنوانمعماری‌های فاقد سرویس‌دهنده: تغییر الگو در امنیت برنامه‌های کاربردی
گروه اصلیWeb Applications
شرح خبر

«فقدان سرویس‌دهنده» معماران و توسعه‌دهندگان نرم‌افزار را مجبور می‌کند تا برای دستیابی به امنیت، به‌جای اضافه‌کردن آن به‌عنوان یک جزء خارجی به‌ برنامه، آن را ایجاد کنند. اما یک جنبه منفی نیز وجود دارد.

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

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

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

در دنیای فاقد سرویس‌دهنده، فروشنده ابر و شما در مسئولیت‌های امنیتی با یکدیگر سهیم هستید.

علی‌رغم این‌که معماری‌های فاقد سرویس‌دهنده، ارائه‌دهنده سادگی و ظرافت هستند، مجموعه جدی از معضلات و چالش‌های امنیتی را، در رابطه با برنامه کاربردی، معرفی می‌کنند:

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

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

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

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

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

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

این واقعاً چیز بدی نیست – محاسبات فاقد سرویس‌دهنده، معماران و توسعه‌دهندگان نرم‌افزار را مجبور می‌کند تا دستیابی به امنیت را از ابتدا در نظر بگیرند – با ساختن امنیت به‌جای پیچ و مهره کردن آن به برنامه.

آدرس اینترنتی خبرhttps://www.darkreading.com/cloud/serverless-architectures-a-paradigm-shift-in-application-security/a/d-id/1331418
تاریخ درج خبر1397-01-26
صفحه اصلی | تماس با ما | معرفی آزمایشگاه | ورود
©2018 Ferdowsi University Of Mashhad
مرکز آپا | آپا | آپا چیست