Abstract:
امروزه شاهد حضور و تاثیر فراوان سیستم های نرم افزاری در سرعت، دقت و حجم پردازش ها هستیم. هرگونه نفوذ در سیستم های نرم افزاری، خسارات موثر و برخی اوقات آثار جبران ناپذیری را به دنبال دارد. روش های متعارف امنیتی به تنهایی توان مقابله با نفوذ به سیستم های نرم افزاری را ایجاد نمی کنند و همچنین وجود آسیب پذیری های انکارناپذیر و ناشناخته در فرآیند توسعه نرم افزار، آنها را در مقابله با نفوذ، از به کارگیری راهکارهای موثر بی نیاز نمی کند. در این شرایط، تحمل پذیری نفوذ سیستم های نرم افزاری به عنوان یک راه حل مقابله با نفوذ پذیرفتنی است. برای تحمل پذیری نفوذ سیستم های نرم افزاری در کنار روش های متعارف امنیتی، از تکنیک های مهم تحمل پذیری خطا استفاده می شود که نتیجه آن، فراهم کردن استمرار ارائه خدمات پیش بینی شده سیستم نرم افزاری، حتی در شرایط نفوذ است. تعیین مولفه های موثر در تحمل پذیری نفوذ سیستم های نرم افزاری و میزان تاثیر هریک از مولفه ها، گامی موثر در تولید سیستم های نرم افزاری است که به صورت مشخص در اختیار طراحان نیست. در این مقاله با بهره گیری از دانش معماری سیستم های نرم افزاری تحمل پذیر نفوذ، از جمله SITAR، MAFTIA، SCIT، مولفه ها و عوامل موثر در تحمل پذیری نفوذ سیستم های نرم افزاری تعیین و ارائه می شوند تا زمینه های لازم جهت توسعه سیستم های نرم افزاری تحمل پذیر نفوذ فراهم گردد.
Machine summary:
برای تحملپذیری نفوذ سیستمهای نرمافزاری در کنار روشهای متعارف امنیتی، از تکنیکهای مهم تحملپذیری خطا استفاده میشود که نتیجه آن، فراهم کردن استمرار ارائه خدمات پیشبینیشده سیستم نرمافزاری، حتی در شرایط نفوذ است.
یک راه برای پوشش ضعف شیوههای مقابله با نفوذ، ایجاد زمینه لازم برای تحمل نفوذ در سیستم نرمافزاری است که در آن از تکنیکهای تحملپذیری خطا در کنار شیوههای متعارف امنیتی استفاده میشود.
یک سوال مهم این است که طراحان سیستمهای نرمافزاری با کدام تکنیکها و ابزارها سیستمهای نرمافزاری را تحملپذیر نفوذ کنند؟ در این مقاله برای یافتن پاسخ مناسب، معماریهای MAFTIA, SITAR و SCIT را که بهمنظور تولید سیستمهای نرمافزاری تحملپذیر نفوذ ارائه شدهاند، مورد بررسی دقیق قرار داده و در آن معماریها، مؤلفههای مؤثر در تحملپذیری نفوذ و تأثیر هر یک در تأمین تحملپذیری نفوذ، کاربرد و شرایط استفاده از هر مؤلفه، شناسایی و ارائه میشود.
براساس]5[ سیستمهای نرمافزاری تحملپذیر نفوذ، پنج ویژگی زیر را توأما دارا میباشند: عدم مداخله مؤلفههای<FootNote No="118" Text="- Componentes"/> سیستم در کارکرد یکدیگر: برای تأمین این ویژگی نیاز است عملیات مؤلفههای سیستم، مستقل از سایر مؤلفههای سیستم باشد تا آسیبپذیریهای آنها متفاوت باشند و در صورت نفوذ در یکی از مؤلفههای سیستم، راه برای نفوذ به سایر مؤلفههای سیستم باز نشود.
به دلیل اینکه سیستمهای تحملپذیر نفوذ باید قادر به ارائه سرویسهای امن حتی در حضور نفوذها باشند، «دفاع در عمق» یک راهبرد مورد نیاز برای اجتناب از تبدیل شدن هر یک از مؤلفههای سیستم به یک «نقطه شکست واحد<FootNote No="133" Text="- Single Point of Failure"/>» محسوب میشود که در معماری MAFTIA استفاده شده است.