آسیب‌پذیری (رایانه)

در امنیت رایانه آسیب‌پذیری یک ضعف است که به حمله‌کننده اجازه می‌دهد ضمانت اطلاعاتی یک سیستم را کاهش دهد.
آسیب‌پذیری اشتراک سه عنصر است: یک حساسیت یا نقص سیستم، دسترسی حمله‌کننده به نقص سیستم و قابلیت حمله‌کننده برای استفاده از آن نقص. برای بهره‌برداری از یک آسیب‌پذیری، یک حمله‌کننده بایستی حداقل یک ابزار یا تکنیک کاربردی داشته باشد که بتواند با ضعف سیستم ارتباط برقرار کند. در این بخش، آسیب‌پذیری به عنوان ظاهر حمله نیز شناخته می‌شود.
مدیریت آسیب‌پذیری تکرار چرخشی شناسایی، طبقه‌بندی، درمان وکاهش آسیب‌پذیری‌ها است. به‌طور کلی از این تکرار با عنوان آسیب‌پذیری نرم‌افزاری در سیستم‌های کامپیوتری یاد می‌شود.
یک ریسک امنیتی ممکن است به عنوان یک آسیب‌پذیری درنظر گرفته شود. استفاده از آسیب‌پذیری با معنی همانند ریسک ممکن است به سردرگمی بینجامد. ریسک امکان یک شکست مهم است و آسیب‌پذیری‌های بدون ریسک نیز وجود دارد. یک آسیب‌پذیری با تعداد یک یا بیشتر از نمونه حمله‌های پیاده شده با عنوان یک آسیب‌پذیری قابل بهره‌برداری شناخته می‌شود. پنجره آسیب‌پذیری از زمانی که حفره امنیتی در نرم‌افزار آشکار می‌شود تا زمانی تعریف می‌شود که در آن دسترسی حذف می‌شود، یا یک راه حل امنیتی به دست می‌آید یا حمله‌کننده متوقف می‌شود. حمله روز صفر را ببینید.
خطای امنیتی یک مفهوم محدود است. آسیب‌پذیری‌هایی وجود دارند که به نرم‌افزار مربوط نیستند. مانند آسیب‌پذیری‌های سخت‌افزاری، محلی یا شخصی که مثال‌هایی از آسیب‌پذیری‌هایی هستند که خطای امنیتی نرم‌افزاری نیستند.
ساختمان داده‌های موجود در زبان‌های برنامه‌نویسی که استفاده از آن‌ها براحتی امکان‌پذیر نیست می‌توانند یک منبع عظیم برای آسیب‌پذیری باشند.
تعریف
ISO ۲۷۰۰۵ آسیب‌پذیری را به صورت زیر تعریف می‌کند:
یک ضعف در یک سرمایه یا گروهی از سرمایه‌ها که می‌توانند بوسیله یک یا چند تهدید مورد استثمار قرار گیرند.
یک سرمایه هر چیزی می‌تواند باشد که ارزشی برای سازمان داشته باشد شامل عملیات تجاری و منابع اطلاعاتی که از اهداف سازمان پشتیبانی می‌کند.
IETF RFC 2828 آسیب‌پذیری را به صورت زیر تعریف می‌کند:
نقص یا ضعف در طراحی، پیاده‌سازی، بهره‌برداری و مدیریت یک سیستم می‌توانند برای نقض سیاست امنیتی سیستم مورد سوء استفاده قرار گیرند.
کمیته ملی سیستم‌های امنیتی ایالات متحده آمریکا در آموزش CNSS شماره ۴۰۰۹ مورخ ۲۶ آوریل ۲۰۱۰، واژه‌نامه ملی تضمین اطلاعات آسیب‌پذیری را به صورت زیر تعریف می‌کند:
آسیب‌پذیری - ضعف در، روش‌های امنیتی سیستم، کنترل‌های داخلی، یا پیاده‌سازی است که می‌تواند مورد سوء استفاده قرار گیرد.
بسیاری از انتشارات NIST آسیب‌پذیری را در مسابقه فناوری اطلاعات در نشریات مختلف تعریف می‌کنند. FISMApedia یک لیست ارائه می‌دهد. در بین آن‌ها SP 800-30، یک تعریف بهتر ارائه می‌دهد:
یک نقص یا ضعف در روش‌های طراحی، پیاده‌سازی، یا کنترلهای داخلی امنیت سیستم است که می‌تواند اعمال شده (که به‌طور تصادفی یا عمدا می‌تواند مورد سوء استفاده قرار گیرد) و در نتیجه یک نقض امنیتی یا تخطی از سیاست‌های امنیتی سیستم بوجود می‌آید.
ENISA تعریف آسیب‌پذیری را به صورت زیر ارائه می‌دهد:
وجود ضعف یا خطا طراحی یا پیاده‌سازی است که می‌تواند منجر به رویداد غیرمنتظره و نامطلوب شود و باعث به خطر انداختن امنیت سیستم‌های کامپیوتری، شبکه، نرم‌افزار، یا پروتکل درگیر شود.
گروه باز تعریف آسیب‌پذیری به صورت زیر ارائه می‌دهد:
احتمال اینکه توانایی تهدید بیش از توانایی مقاومت در برابر تهدید باشد.
ISACA آسیب‌پذیری در چارچوب خطر ابتلا به این صورت تعریف می‌کند:
ضعف در طراحی، اجرا، بهره‌برداری و کنترل داخلی
امنیت داده‌ها و کامپیوتر: دیکشنری استانداردهای مفاهیم و اصطلاحات، نویسنده Denis Longley و Michael Shain، و روزنامه Stockton، تعریف آسیب‌پذیری را به صورت زیر ارائه داده‌اند:
۱) در امنیت کامپیوتر، ضعف در روش‌های امنیتی سیستم‌های خودکار، کنترل مدیریتی، کنترل اینترنت، و غیره، که می‌تواند یک تهدید برای دسترسی غیرمجاز به اطلاعات باشد یا برای برهم زدن پردازش مورد سوء استفاده قرار گیرد. ۲) در امنیت کامپیوتر، ضعف در طرح فیزیکی، سازمان، روش‌ها، پرسنل، مدیریت، سخت‌افزار یا نرم‌افزار که ممکن است باعث آسیب رساندن به سیستم یا فعالیت ADP شود. ۳) در امنیت کامپیوتر، هر گونه ضعف یا نقص‌های موجود در یک سیستم است. حمله یا رویداد مضر، یا فرصت موجود برای یک عامل تهدید برای سوار شدن به آن حمله است.
پدیده‌شناسی
منبع (یا فیزیکی یا منطقی) ممکن است یک یا چند آسیب‌پذیری داشته باشد که می‌تواند توسط یک عامل تهدید در یک اقدام تهدیدگرانه مورد سوء استفاده قرار گیرد. نتیجه به‌طور بالقوه می‌تواند محرمانگی، یکپارچگی و در دسترس بودن منابع (نه لزوما آسیب‌پذیر) متعلق به یک سازمان یا دیگر طرف‌های درگیر (مشتریان، تامین کنندگان) را به خطر بیندازد.
اصطلاح CIA سه‌گانه اساس امنیت اطلاعات است.
یک حمله می‌تواند فعال باشد زمانی که برای تغییر منابع سیستم یا تحت تاثیر قرار دادن اعمال آن‌ها تلاش می‌کند، پس در یکپارچگی و در دسترس بودن اختلال ایجاد می‌کند. یک «حمله انفعالی» تلاش می‌کند تا اطلاعات سیستم را استفاده کرده یا یاد بگیرد ولی در منابع سیستم تاثیر نگذارد، پس محرمانگی را به خطر انداخته‌است.
طبقه‌بندی
آسیب‌پذیری‌ها با توجه به کلاس دارایی آن‌ها طبقه‌بندی می‌شوند:
۱- سخت‌افزار
حساسیت به رطوبت
حساسیت به گرد و غبار
حساسیت به لکه دار کردن
حساسیت به ذخیره‌سازی محافظت نشده
۲- نرم‌افزار
تست ناکافی
عدم دنباله ممیزی
۳- شبکه
خطوط ارتباطی بدون محافظت
معماری شبکه‌های نا امن
۴- پرسنل
فرایند استخدام ناکافی
آگاهی‌های امنیتی ناکافی
۵- محل
منطقه به سیل
منبع قدرت غیرقابل اعتماد
۶- سازمان
عدم ممیزی‌های منظم
فقدان برنامه‌های تداوم
عدم امنیت
علل
پیچیدگی: سیستم‌های پیچیده و بزرگ، احتمال نقص‌ها و نقاط دسترسی ناخواسته را افزایش می‌دهد.
آشنایی: با استفاده از کد، نرم‌افزار، سیستم عامل، و/یا سخت‌افزار مشترک و معمول احتمال اینکه حمله‌کننده بتواند به دانش و ابزارها برای سوء استفاده از عیب‌ها پی ببرد را افزایش می‌دهد.
اتصال: هر چه اتصالات فیزیکی، اولویت‌ها، پورت‌ها، پروتکل‌ها، و خدمات و زمان بیشتر در دسترس باشند، آسیب‌پذیری افزایش می‌یابد.
معایب مدیریت رمز: کاربران کامپیوتر از کلمات عبور ضعیف استفاده می‌کنند که می‌توانند با کمترین زحمت کشف شوند. کاربران کامپیوتر رمز عبور خود را بر روی کامپیوتر ذخیره می‌کنند و هر برنامه‌ای می‌تواند به آن دسترسی داشته باشد. کاربران از رمزهای عبور برای چندین برنامه و وب سایت استفاده مجدد می‌کنند.
معایب اساسی طراحی سیستم عامل: طراح سیستم عامل سیاست‌های کمتر از حد مطلوب کاربر را برای مدیریت برنامه/کاربران استفاده می‌کند. به عنوان مثال سیستم عامل‌ها با سیاست‌هایی مانند مجوز پیش‌فرض به هر برنامه و هر کاربر اجازه دسترسی کامل به کل کامپیوتر را می‌دهد. این نقص سیستم عامل به ویروس‌ها و نرم‌افزارهای مخرب اجازه می‌دهد تا دستورها را از طرف مدیریت اجرا نمایند.
مرورگر وب سایت اینترنتی: برخی از وب سایت‌های اینترنتی ممکن است حاوی Spyware مضر یا adware باشد که می‌تواند به‌طور خودکار بر روی سیستم‌های کامپیوتری نصب شوند. پس از بازدید از این وب سایت‌ها، سیستم‌های کامپیوتری آلوده شده و اطلاعات شخصی جمع‌آوری شده و به شخص ثالثی می‌رسد.
اشکال‌های نرم‌افزار: برنامه‌نویس در برنامه نرم‌افزار یک اشکال باقی می‌گذارد. اشکال نرم‌افزار می‌تواند این امکان را به یک نفوذگر بدهد که از برنامه سوء استفاده کند.
ورودی بدون کنترل کاربر: در برنامه فرض بر این است که تمام ورودی کاربر امن است. برنامه‌هایی که ورودی کاربر را بررسی نمی‌کنند می‌توانند منجر به اجرای ناخواسته مستقیم دستورها و عبارت‌های SQL (شناخته شده به عنوان overflows بافر، تزریق SQL یا ورودی غیر معتبر) شوند.
عدم یادگیری از اشتباه‌های گذشته: به عنوان مثال بسیاری از آسیب‌پذیری‌های کشف شده در پروتکل IPv4 در پیاده‌سازی‌های جدید IPv6 نیز کشف شده‌است.
تحقیقات نشان داده‌است که آسیب پذیرترین نقطه در بسیاری از سیستم‌های اطلاعاتی کاربران انسان، اپراتور، طراح، یا انسان‌های دیگر هستند. پس انسان‌ها باید در نقش‌های مختلف خود به عنوان دارایی، تهدید و منابع اطلاعاتی در نظر گرفته شوند.
نتایج
تاثیر رخنه‌های امنیتی می‌تواند بسیار بالا باشد. این واقعیت که مدیران فناوری اطلاعات، یا مدیریت‌های بالا، می‌دانند که سیستم‌های فناوری اطلاعات و برنامه‌های کاربردی آسیب‌پذیری‌هایی دارند و هیچ گونه اقدامی برای مدیریت خطر انجام نمی‌دهند، به عنوان یک سوء رفتار در بسیاری از قوانین دیده می‌شود. قانون حفظ اسرار مدیران را مجبور می‌کند به گونه‌ای عمل کنند که تاثیر یا احتمال ریسک‌های امنیتی را کاهش دهد. امنیت حسابرسی فناوری اطلاعات راهی است برای اجازه به افراد مستقل دیگر تا تایید کنند که محیط فناوری اطلاعات به درستی مدیریت شده و مسئولیت‌ها کاهش یابد و حداقل داشتن حسن نیت را نشان است. تست نفوذ، یک شکل تایید ضعف و مقابله قابل قبول برای سازمان است. یک هکر کلاه سفید برای حمله به دارایی‌های فناوری اطلاعات سازمان و اینکه میزان سختی امنیت فناوری اطلاعات را بیابد تلاش می‌کند. راه مناسب برای مدیریت حرفه‌ای خطرات فناوری اطلاعات، اتخاذ یک سیستم مدیریت امنیت اطلاعات است.
تست نفوذپذیری
بدافزار
کرم رایانه‌ای
ویروس رایانه‌ای
تروآ (رایانه)
سیستم جلوگیری نفوذ
کنترل دسترسی
متااسپلویت
حمله روز صفر