پیش‌نویس:خودحفاظتی برنامه در زمان اجرا

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

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

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

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

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

 جستارهای وابسته 
 امنیت رایانه
 دیوار آتش
 امنیت برنامه
 آزمون نرم‌افزار

 منابع