آسیب پذیری امنیتی چیست؟
در مباحث مربوط به امنیت سایبری، آسیب پذیری نقطهی ضعفی است که میتواند با حمله سایبری تحت سوءاستفاده قرار گیرد و باعث دسترسی غیرمجاز به سیستم رایانهای شود یا آن را اجرا کند. آسیبپذیریها ممکن است به مهاجمان اجازه اجرای کد، دسترسی به حافظه سیستم، نصب بدافزار و همچنین سرقت، تخریب یا اصلاح دادههای حساس را بدهند.
برای سوءاستفاده از آسیبپذیری، مهاجم باید بتواند به سیستم رایانه متصل شود. از آسیبپذیریها میتوان با روشهای مختلفی از جمله تزریق نفوذ SQL، جریان بافر، XSS و کیتهای سوءاستفاده منبعباز که بهدنبال آسیبپذیریهای شناختهشده و ضعفهای امنیتی در برنامههای وب هستند، استفاده کرد.
تعریف آسیبپذیری
تعاریف بسیاری از آسیبپذیری وجود دارد:
• انستیتوی استاندارد و فناوری ملی (NIST): ضعف در سیستم اطلاعاتی، پروسههای امنیتی سیستم، کنترلهای داخلی یا پیادهسازی، که یک منبع تهدید میتواند از آن سوءاستفاده کند یا آن را ایجاد کند.
• ISO 27005: ضعف دادهها یا گروهی از دادههاست که یک یا چند تهدید سایبری میتواند از آن سوءاستفاده کند. در صورتی که این دادهها برای سازمان، عملیات تجاری و تداوم آن ارزش داشته باشد، از جمله منابع اطلاعاتی است که مأموریت سازمان را پشتیبانی میکنند.
• IETF RFC 4949: یک نقص یا ضعف در طراحی، پیادهسازی یا بهرهبرداری و مدیریت سیستم است که ممکن است برای نقض سیاست امنیتی سیستم از آن سوءاستفاده شود.
• ENISA: وجود یک ضعف، طراحی یا خطای پیادهسازی که میتواند منجر به اتفاقی غیرمنتظره و نامطلوب شود و امنیت سیستم رایانهای، شبکه، برنامه یا پروتکل را بهخطر بیندازد.
• گروه باز: احتمال اینکه توانایی تهدید بیش از توانایی مقاومت در برابر تهدید باشد.
• تحلیل عامل ریسک اطلاعاتی: احتمال اینکه یک داده قادر به مقاومت در برابر اقدامات عوامل تهدیدآمیز نباشد.
• ISACA: ضعف در طراحی، اجرا، بهرهبرداری یا کنترل داخلی.
آیا آسیبپذیریهای شناختهشده باید بهصورت عمومی افشا شوند؟
این پرسش که آیا آسیبپذیریهای شناختهشده بهصورت عمومی افشا میشود یا نه، همچنان مسئلهای بحثبرانگیز است:
• افشای کامل آسیبپذیری: برخی از کارشناسان امنیت سایبری برای افشای فوری از جمله اطلاعات خاص دربارهی نحوهی استفاده از آسیبپذیری بحث میکنند. حامیان افشای فوری بر این باورند که این امر منجر به ارتقای امنیت نرمافزار و بهبود سریعتر امنیت نرمافزار، امنیت برنامه، امنیت رایانه، امنیت سیستمعامل و امنیت اطلاعات میشود.
• افشانشدن یا افشای محدود اطلاعات: از سوی دیگر، برخی افراد مخالف افشای آسیبپذیری هستند؛ زیرا معتقدند از این آسیبپذیری سوءاستفاده خواهد شد. حامیان افشای محدود معتقدند که محدودکردن اطلاعات برای انتخاب گروهها، خطر سوءاستفاده را کاهش میدهد.
مانند اکثر استدلالها، استدلالهای معتبری برای هر دو طرف وجود دارد.
صرفِنظر از اینکه طرفدار کدام گروه هستید، باید بدانید که در حال حاضر معمولاً مهاجمان و مجرمان اینترنتی بهطور مرتب آسیبپذیریها را جستجو کرده و سوءاستفادههای شناختهشده را تست میکنند.
برخی از شرکتها دارای تیمهای امنیتی داخلی هستند که وظیفهشان تست امنیت IT و سایر اقدامات امنیتی سازمان بهعنوان بخشی از روند کلی مدیریت ریسک اطلاعات و ارزیابی ریسک امنیت سایبری است.
شرکتهای عالیرتبه باگهایی روی سیستم قرار میدهند تا از روی آنها آسیبپذیریها را بهجای عوامل سوءاستفادهگر پیدا کند و گزارش دهد. این برنامهها عالی هستند و میتوانند خطر آسیبپذیری دادهها را در سازمان شما به حداقل برسانند.
معمولاً مقدار پردازش یک برنامهِ دارای باگ، متناسب با اندازهِ سازمان، دشواری سوءاستفاده از آسیبها و تأثیر آسیبپذیری است. بهعنوان مثال، یافتن نشتی اطلاعات شناساییپذیر شخصی (PII) از یک شرکت Fortune 500 با برنامههای دارای باگ، ارزش بیشتری نسبت به نقض دادهها در فروشگاهی محلی خواهد داشت.
تفاوت بین آسیبپذیری و ریسک چیست؟ (?risk or vulnerability)
خطرات امنیت سایبری معمولاً بهعنوان آسیبپذیری طبقهبندی میشوند. با این حال، آسیبپذیری و خطر یکسان نیستند و این موضوع میتواند منجر به سردرگمی شود.
بهتر است خطر را اینگونه در نظر بگیرید: احتمال اکسپلویت شدن یک آسیبپذیری و تاثیرات بالقوه آن روی مجموعه شما.
اگر تأثیر و احتمال سوءاستفاده از آسیبپذیری سیستم کم باشد، خطر کمتری هم وجود دارد. برعکس، اگر تأثیر و احتمال سوءاستفاده از طریق آسیبپذیری سیستم زیاد باشد، خطر زیادی وجود دارد.
بهطور کلی تأثیر هر حملهِ سایبری میتواند به سهگانهی CIA یا همان محرمانهبودن، یکپارچگی یا در دسترس بودن منابع مرتبط باشد. بهدنبال این استدلال، حالاتی وجود دارد که آسیبپذیریهای معمولی هیچ خطری ندارند؛ مثلاً زمانی که سیستم اطلاعاتی دارای آسیبپذیری، برای سازمان شما هیچ ارزشی ندارد.
چه زمانی ممکن است از یک آسیبپذیری سوءاستفاده شود؟
یک آسیبپذیری با حداقل یک حملهِ شناختهشده و فعال، بهعنوان یک آسیبپذیری سوءاستفادهپذیر طبقهبندی میشود. پنجرهی آسیبپذیری زمانی است که از زمان بهروزرسانی آسیبپذیری معرفی شده است.
اگر روشهای امنیتی قوی دارید، بسیاری از آسیبپذیریها بر سازمان شما کارساز نیستند.
بهعنوان مثال، اگر امنیت S3 را بهدرستی پیکربندی کرده باشید، احتمال نشت اطلاعات کاهش مییابد. اگر شما مجوزهای S3 خود را بررسی نکنید، شخص دیگری این اجازه را پیدا خواهد کرد.
به همین ترتیب، با استراتژیهای مدیریت ریسک شخصثالث و مدیریت ریسک فروشنده، میتوانید ریسکهای موجود را کاهش دهید (ریسکهایی که با نام third-party و fourth-party شناخته میشوند).
سوءاستفادهی zero-day چیست؟ (روز صفر)
سوءاستفادهِ روز صفر از آسیبپذیری “zero day” بهره میبرد. آسیبپذیری روز صفر، مقولهای است که برای کسانی که میخواهند این آسیبپذیری را ایجاد کنند، ناشناخته است یا توسط آنها رفع نشده است.
تا زمانی که این آسیبپذیری اصلاح نشود، مهاجمان میتوانند از آن استفاده کنند تا روی یک برنامهی رایانهای، انبار داده، رایانه یا شبکه، تأثیر منفی بگذارند.
«روز صفر» روزی است که شخص از آسیبپذیری مطلع شده و بهدنبال ایجاد راهحلی برای جلوگیری از سوءاستفاده میگردد.
نکتهای کلیدی که باید همواره به آن توجه کنید، روزهای قبل از روز صفر است؛ زیرا احتمال و ریسک یک حملهی موفقیتآمیز بیشتر است.
چه چیزی باعث به وجود آمدن آسیبپذیری میشود؟
دلایل زیادی برای آسیبپذیری وجود دارد؛ از جمله:
• پیچیدگی: سیستمهای پیچیده، احتمال نقص، پیکربندی غلط یا دسترسی ناخواسته را افزایش میدهند.
• آشنایی: کد مشترک، نرمافزار، سیستمعاملها و سختافزار، احتمال یافتن یک مهاجم یا داشتن اطلاعاتی دربارهی آسیبپذیریهای شناختهشده را افزایش میدهند.
• اتصالپذیری: هرچه دستگاه بیشتر متصل باشد، احتمال آسیبپذیری بیشتر است.
• مدیریت ضعیف رمز عبور: رمزعبورهای ضعیف میتوانند بهراحتی شکسته شوند و استفادهی مجدد از آنها ممکن است منجر به افزایش نقض داده شود.
• ایرادهای سیستمعامل: سیستمعاملها نیز مانند هر نرمافزاری ممکن است ایرادهایی داشته باشند. سیستمعاملهایی که بهطور پیشفرض ناامن هستند و به همهِ کاربران امکان دسترسی کامل میدهند، میتوانند به ویروسها و بدافزارها اجازه دهند که دستورها را اجرا کنند.
• استفاده از اینترنت: اینترنت پُر از نرمافزارهای جاسوسی و تبلیغاتی است که میتوانند بهطور خودکار روی رایانهها نصب شوند.
• اشکالات نرمافزاری: برنامهنویسان میتوانند بهطور تصادفی یا عمدی یک باگ قابل اکسپلویت را در نرمافزار قرار دهند.
• ورودی کاربر علامتگذارینشده: اگر وبسایت یا نرمافزار شما تمام ورودیها را ایمن فرض کند، ممکن است دستورهای ناخواستهی SQL را اجرا کند.
• افراد: بزرگترین آسیبپذیری در هر سازمان، سیستم انسانی است. مهندسی اجتماعی بزرگترین تهدید برای اکثر سازمانهاست.
مدیریت آسیبپذیری چیست؟
مدیریت آسیب پذیری، عملی برای شناسایی، طبقهبندی، اصلاح و کاهش آسیبپذیریهای امنیتی است. عناصر اساسی مدیریت آسیبپذیری شامل شناسایی آسیبپذیری، ارزیابی و اصلاح آن است.
روشهای تشخیص آسیبپذیری عبارتاند از:
هنگامی که یک آسیبپذیری پیدا شد، فرآیند ارزیابی آسیبپذیری را طی میکند:
• آسیبپذیریها را شناسایی کنید: تجزیه و تحلیل اسکنهای شبکه، نتایج تست قلم، گزارشهای مربوط به فایروال و نتایج اسکن آسیبپذیری برای یافتن ناهنجاریهایی که نشان میدهد یک حملهِ سایبری میتواند از یک آسیبپذیری استفاده کند.
• آسیبپذیریها را تأیید کنید: تصمیم بگیرید که آیا ممکن است از آسیبپذیری شناساییشده سوءاستفاده شود، یا اینکه شدت سوءاستفاده را طبقهبندی کنید تا میزان ریسک آن را بدانید.
• کاهش آسیبپذیریها: در خصوص اقدامات متقابل و چگونگی سنجش اثربخشی آنها در صورت دسترسینداشتن به پچ، تصمیم بگیرید.
• آسیبپذیریهای رفعشده: در صورت امکان، نرمافزار یا سختافزار آسیبدیده را بهروز کنید.
با توجه به اینکه حملات سایبری بهطور مداوم در حال پیشرفت هستند، مدیریت آسیبپذیری باید عملی مستمر و مداوم باشد تا از ایمنی سازمان شما اطمینان حاصل شود.
اسکن آسیبپذیری چگونه است؟
اسکنر آسیبپذیری، نرمافزاری است که برای ارزیابی رایانهها، شبکهها یا برنامههای کاربردی برای آسیبپذیریهای شناختهشده طراحی شده است. آنها میتوانند آسیبپذیریهای ناشی از پیکربندی غلط و برنامهنویسی نادرست در هر شبکه را شناسایی کنند و اسکنهای تأییدشده و تأییدنشده را اجرا کنند:
• اسکنهای تأییدشده: به اسکنر آسیبپذیری اجازه میدهد تا با استفاده از پروتکلهای مدیریتی از راه دور مانند پوستهی امن (SSH) یا پروتکل دسکتاپ از راه دور (RDP) به دسترسی مستقیم به دادههای شبکه و احراز هویت، با استفاده از گواهینامههای ارائهشدهی سیستم، بپردازد. این امکان دسترسی به دادههای سطح پایین مانند خدمات خاص و جزئیات پیکربندی، ارائهی اطلاعات جزئی و دقیق دربارهی سیستمعاملها، نرمافزارهای نصبشده، مشکلات پیکربندی و پچهای امنیتیِ از دست رفته را فراهم میکند.
• اسکنهای غیرمجاز: نتیجهِ مثبت کاذب و اطلاعات اتکاناپذیر دربارهِ سیستمعاملها و نرمافزارهای نصبشده است. این روش را بهطور کلی مهاجمان سایبری و تحلیلگران امنیتی برای تعیین وضعیت دادهها و تشخیص آسیبپذیری و نشت دادههای احتمالی استفاده میکنند.
تست نفوذ چیست؟
تست نفوذ، همچنین بهعنوان تست قلم یا هک اخلاقی شناخته میشود. این تست، عملی برای آزمایش دادههای فناوریاطلاعات برای یافتن آسیبپذیریهای امنیتی است که مهاجم میتواند از آن سوءاستفاده کند. تست نفوذ را میتوان با استفاده از نرمافزار خودکار و یا بهصورت دستی انجام داد.
در هر صورت، فرآیند جمعآوری اطلاعات دربارهی هدف، شناسایی آسیبپذیریهای احتمالی و تلاش برای سوءاستفاده از آنها و گزارش در خصوص یافتههاست.
تست نفوذ همچنین ممکن است برای آزمایش سیاستهای امنیتی سازمان، رعایت الزامات انطباق، آگاهی از امنیت کارمندان و توانایی سازمان در شناسایی و واکنش به حوادث امنیتی استفاده شود.
هک گوگل چگونه است؟
هک گوگل، استفاده از یک موتور جستجو مانند گوگل یا بینگِ مایکروسافت برای یافتن نقاط ضعف امنیتی است. هککردن گوگل با استفاده از اپراتورهای جستجوی پیشرفته، در جستجوی اطلاعاتی که یافتن آنها دشوار است یا اطلاعاتی که بهطور تصادفی از طریق پیکربندی نادرست سرویسهای ابری نشان داده میشوند، حاصل میشود.
محققان و مهاجمان امنیتی از این سوالات خاص برای تعیین مکان اطلاعات حساسی که قرار نیست در معرض دید عموم قرار گیرد، استفاده میکنند.
این آسیبپذیریها به دو نوع تقسیم میشوند:
• آسیبپذیریهای نرمافزار
• تنظیمات غلط
گفته میشود که اکثریت قریب به اتفاق مهاجمان تمایل به جستوجوی اشتباهات پیکربندی مشترک کاربر دارند که از قبل میدانند که چگونه آن را اکسپلویت کنند و بهسادگی سیستمهایی را که دارای نقصهای امنیتی شناخته شدهاند، اسکن کنند.
برای جلوگیری از هکشدن گوگل باید از پیکربندی صحیح همهِ سرویسهای ابری اطمینان حاصل کنید. وقتی چیزی در معرض گوگل قرار گرفت، چه بخواهید و چه نخواهید عمومی میشود.
بله، گوگل بهطور دورهای حافظهی پنهان خود را پاک میکند؛ اما تا آن زمان فایلهای حساس شما در معرض دید عموم قرار میگیرند.
پایگاه دادههای آسیبپذیری چیست؟
پایگاه دادهی آسیبپذیری، بستری است که اطلاعات مربوط به آسیبپذیریهای کشفشده را جمعآوری و نگهداری میکند و آنها را بهاشتراک میگذارد. MITER یکی از بزرگترین پایگاهها بهنام CVE یا آسیبپذیریهای رایج را اجرا میکند و یک نمرهی سیستم آسیبپذیری مشترک (CVSS) به آن اختصاص میدهد تا خطر احتمالی آسیبپذیری را برای سازمان شما نشان دهد.
این لیست مرکزی CVE بهعنوان پایهِ بسیاری از اسکنرهای آسیبپذیری عمل میکند.
مزیت بانکهای اطلاعاتی آسیبپذیری عمومی این است که به سازمانها امکان میدهد تا اصلاحات دیگری را برای اصلاح آسیبپذیریهای مهم ایجاد، اولویتبندی و اجرا کنند.
همانطور که گفته شد، آنها میتوانند آسیبپذیریهای اضافی را از پچهای منتشرشده ایجاد کنند که اولین آسیبپذیری را برطرف میکنند؛ اما باعث ایجاد آسیبپذیری دیگری میشوند.
استدلال برای افشای کامل در مقابل افشای محدود را در بالا ببینید.
فهرست آسیبپذیریهای رایج در پایگاه دادههای آسیبپذیری شامل عناوین زیر است:
• شکست استقرار اولیه: عملکرد پایگاه دادهها ممکن است خوب بهنظر برسد؛ اما بدون آزمایش دقیق، آسیبپذیریها ممکن است به مهاجمان اجازهی نفوذ دهند. کنترلهای امنیتی ضعیف، گذرواژههای ضعیف یا تنظیمات امنیتی پیشفرض میتوانند منجر به دسترسی عمومی مواد حساس شوند.
• تزریق SQL: حملات پایگاه داده معمولاً در پایگاههای اطلاعاتی آسیبپذیری ثبت میشوند.
• پیکربندی نادرست: شرکتها معمولاً در پیکربندی صحیح سرویسهای ابری خود کوتاهی میکنند و آنها را آسیبپذیر و اغلب در دسترس افراد قرار میدهند.
• بررسی ناکافی: بدون بررسی، مشکل است که بفهمید کسی به دادهها دسترسی پیدا کرده است. پایگاههای اطلاعاتی آسیبپذیری، اهمیت بررسی را بهعنوان بازدارندهِ حملات سایبری اعلام کردهاند.
نمونههایی از آسیبپذیریها
آسیبپذیریها را میتوان در شش دستهی گسترده طبقهبندی کرد:
حساسیت به رطوبت، گرد و غبار، آلودگی، بلایای طبیعی، رمزگذاری ضعیف یا آسیبپذیری سیستمعامل.
آزمایش ناکافی، ردیابینشدن حسابرسی، نقص در طراحی، نقض ایمنی حافظه (جریان بافر، خواندن بیش از حد، اشارهگرهای معلق)، خطاهای اعتبارسنجی ورودی (نفوذ کد، برنامهنویسی بین سایت (XSS)، پیمایش فهرست، تزریق ایمیل، فرمت حمله، فرمت استرینگ، تزریق هدر HTTP، تقسیم پاسخ HTTP، تزریق SQL) ، باگ سردرگمی نفوذ (کلیککردن، جعل درخواست متقابل سایت، حملهی FTP) ، شرایط مسابقه (حملات سیملینک، باگهای زمان بررسی تا زمان استفاده)، حملات کانال جانبی، حملات زمانبندی و خرابی رابط کاربر (سرزنش قربانی، شرایط مسابقه، هشدارهای خستهکننده).
خطوط ارتباطی محافظتنشده، حملات انسانی، پلتفرم شبکهی ناامن، عدم احراز هویت یا تأیید پیشفرض.
خط مشی استخدام ضعیف، ناآگاهی و ندیدن آموزش امنیتی، رعایتنکردن آموزههای امنیتی، مدیریت ضعیف رمز عبور یا بارگیری بدافزار از طریق پیوستهای ایمیل.
بررسینکردن، نداشتن برنامهِ مداوم و برنامهی امنیتی.