آنچه RASP باید می بود

آنچه RASP باید می بود

What RASP Should Have Been PlatoBlockchain Data Intelligence. Vertical Search. Ai.

در سالهای اخیر ، امنیت نرم افزار جهان شاهد ظهور بوده است محافظت از خود برنامه زمان اجرا (RASP) فن آوری. همانطور که توسط گارتنر توضیح داده شد، RASP یک فناوری امنیتی است که در یک برنامه کاربردی یا محیط زمان اجرا آن یکپارچه شده است و قادر به کنترل و جلوگیری از حملات بلادرنگ است. متاسفانه خیلی ها فایروال برنامه های کاربردی وب (WAF) شرکت ها فرصتی برای استفاده از این اصطلاح دیدند. آنها عوامل "شبیه RASP" را در لایه شبکه معرفی کردند، که به طور کامل تعریف فناوری RASP را در بر نمی گیرد.

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

سه منطقه ای که RASP در آنها اشتباه کرد

1. مشکل پارس کردن سگ: بیشتر هشدارها مثبت کاذب هستند

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

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

2. مشکل 999 Bad Guys: فقط قادر به آزمایش یک نمونه است

باور کنید یا نه، برخی از فروشندگان به شما می گویند تنها در صورتی راه حل امنیتی خود را در محیط های تولیدی اجرا کنید که فقط از یک اندازه نمونه محافظت کنید. این بدان معناست که نمونه‌ای را می‌کشد - شاید از هر 1,000 درخواست یک مورد - و آن نمونه را آزمایش می‌کند و در عین حال متوجه می‌شود که برای 999 بعدی چه اتفاقی می‌افتد. به این معنی، اگر بازیگر خوبی باشید، امضای شما بررسی خواهد شد. اما صرف نظر از اینکه 999 بازیگر زیر نیت بدی داشته باشند یا خیر، از پس آن بر می آیند. این عدم سازگاری به این دلیل است که RASP های مبتنی بر WAF نمی توانند الزامات عملکرد را برای آزمایش هر درخواست انجام دهند.

3. مشکل "طولانی طول می کشد": تأخیر بر عملکرد تأثیر می گذارد

هر زمان که یک RASP مبتنی بر WAF دارید، تاخیر بیشتری را تجربه می کنید، زیرا به هیچ وجه نمی تواند بر پایه کد برنامه تأثیر بگذارد. در همین حال، RASPهای در دسترس باید کل محموله‌های متنی را به تحلیلگر وب خود ارسال کنند و سپس منتظر بمانند تا بازگردانده شود، که ممکن است زمان زیادی طول بکشد. و اگر مشتریان شما منتظر پرداخت ها هستند، ممکن است تسلیم شوند و به جای آن به دنبال رقبای شما باشند.

بهبود این فرآیند شبیه بهینه سازی کد است. هنگام ایجاد یک لیست، توسعه دهندگان آن را طوری تنظیم می کنند که به جای انتهای لیست، موارد جدیدی را به ابتدای لیست اضافه کنند. این بهینه سازی از بازسازی کل لیست توسط VM با هر بار اضافه شدن یک آیتم جدید جلوگیری می کند و از افزایش تاخیر با افزایش لیست جلوگیری می کند. مهندسان کامپایلر با اجرای کامپایل فقط در زمان (JIT) در اوایل دهه 2000 به این مسائل پرداختند، که به طور خودکار کد را بر اساس تفاوت های ظریف زبان داده شده بهینه می کند.

چرا تعریف RASP بسیار ضعیف شده است؟

توسعه فناوری RASP به ترکیبی از مهندسی امنیت و مهارت های مهندسی نرم افزار نیاز دارد. برای مؤثر بودن، توسعه‌دهنده RASP باید معماری برنامه و تفاوت‌های ظریف زبان برنامه‌نویسی مورد استفاده را عمیقاً درک کند. این نیاز به تخصص دامنه دارد که در میان متخصصان امنیتی نادر است.

True RASP کد را برای عملکرد و امنیت بهینه می کند

از آنجایی که اکثر پلتفرم‌های RASP مانند WAF رفتار می‌کنند، سربار عظیمی درگیر است که نیاز به اجرای آن‌ها در حالت نمونه دارد. در مقابل، یک RASP واقعی حفاظت واقعی را در زمان اجرا انجام می دهد.

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

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

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

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

این رویکرد به امنیت اجازه می دهد که مستقر باشد و نیازی به تغییر کد در کد برنامه، تنظیم یا انتظار برای پنجره های استقرار ندارد.

با انجام حفاظت در زمان اجرا، وصله کردن نتایج با محافظت فوری در تمام نمونه های در حال اجرا برنامه، نیاز به مثبت کاذب ثابت را از بین می برد و خطر سوء استفاده های آینده را از بین می برد.

RASP می تواند و باید در یک استاندارد بالاتر نگه داشته شود

به طور خلاصه، RASP باید در یک استاندارد بالاتر نگه داشته شود. با انجام این کار، می‌توانید هزاران برنامه را ایمن کنید، که هزینه کل مالکیت WAF را کاهش می‌دهد و به جلوگیری از فرسودگی در تیم‌های امنیتی شما کمک می‌کند.

تمبر زمان:

بیشتر از تاریک خواندن