در امنیت سایبری؛ یک آسیبپذیری، نقطه ضعفی تلقی میشود که میتواند با حمله سایبری مورد سوءاستفاده قرار گیرد تا دسترسی غیرمجاز به سیستم رایانهای بدست آورده شود یا انجام بگیرد. آسیبپذیریها میتوانند به مهاجمان امکان اجرای کد، دسترسی به حافظه سیستم، نصب بدافزارها و سرقت، تخریب یا اصلاح دادههای حساس را بدهند.
برای سوءاستفاده از یک آسیبپذیری، مهاجم باید بتواند به سیستم رایانه متصل شود. آسیبپذیریها را میتوان به روشهای مختلفی از جمله تزریق (Injection) SQL، سرریز (Overflow) بافر، برنامهنویسی میانسایتی (XSS) و کیتهای افشای (Exploit kit) منبع باز که به دنبال آسیبپذیریهای شناخته شده و ضعفهای امنیتی در برنامههای وب هستند، افشا کرد.
تعریف آسیبپذیری
تعاریف بسیاری از آسیبپذیری وجود دارد:
• انستیتوی استاندارد و فناوری ملی (NIST): ضعف در یک سیستم اطلاعاتی، فرایندهای امنیتی مربوط به سیستم، کنترلهای داخلی یا پیادهسازیهایی که میتواند توسط یک منبع تهدید مورد سوءاستفاده قرار گیرد یا ایجاد شود.
• ISO 27005 : ضعف مربوط به یک دارایی (Asset) یا گروهی از داراییها که میتواند توسط یک یا چند تهدید سایبری مورد سوءاستفاده قرار بگیرد؛ البته در صورتی که آن دارایی محتوای هر چیزی که برای سازمان موردنظر ارزشمند است، باشد؛ از عملیاتهای تجاری و تداوم آنها گرفته تا منابع اطلاعاتی که مأموریتهای سازمان را پشتیبانی میکنند.
• IETF RFC 4949 : یک نقص یا ضعف در طراحی، پیاده سازی یا عملکرد و مدیریت سیستمی است که میتواند برای نقض سیاست امنیتی سیستم مورد سوءاستفاده قرار گیرد.
• ENISA : وجود یک ضعف، طراحی یا خطای پیادهسازی که میتواند منجر به یک اتفاق غیرمنتظره و نامطلوب شود و امنیت آن سیستم رایانهای، شبکه، برنامه یا پروتکل مربوطه را به خطر بیندازد.
• گروه باز : احتمال این که توانایی تهدید بیش از توانایی مقاومت در برابر تهدید باشد.
• بررسی عامل در خطر افتادن اطلاعاتی : احتمال اینکه یک دارایی قادر به مقاومت در برابر اقدامات عامل تهدید نباشد.
• ISACA : ضعف در طراحی، اجرا، بهرهبرداری یا کنترل داخلی
آیا آسیبپذیریهای شناخته شده باید به صورت عمومی افشا شوند؟
اینکه آیا آسیبپذیریهای شناخته شده به صورت عمومی افشا شود یا خیر، همچنان یک مسئله بحث برانگیز است:
• افشای کامل و فوری: برخی از کارشناسان امنیت سایبری بر افشای فوری از جمله اطلاعات خاص در مورد نحوه بهرهبرداری از این آسیبپذیری اصرار میکنند. حامیان افشا فوری بر این باورند که این امر منجر به پچ (Patch) سریعتر، بهبود امنیت نرمافزار، امنیت برنامه، امنیت رایانه، امنیت سیستم عامل و امنیت اطلاعات میشود.
• محدود به عدم افشا : در حالی که دیگران مخالف افشای آسیبپذیری هستند و معتقدند از این آسیبپذیریها استفاده خواهد شد. حامیان افشای محدود معتقدند محدود کردن اطلاعات جهت انتخاب گروهها، خطر اکسپلویت (Exploit) را کاهش میدهد.
مانند اغلب استدلالها، استدلالهای معتبری از جانب هر دو طرف وجود دارد.
صرف نظر از اینکه به کدام طرف اعتقاد دارید، بدانید که امروزه مهاجمان دوستانه و مجرمان اینترنتی معمولاً به طور مرتب آسیبپذیریها را جستجو میکنند و اکسپلویتهای شناخته شده را آزمایش میکنند.
برخی از شرکتها دارای تیمهای امنیتی داخلی هستند که وظیفه آنها آزمایش امنیت IT و سایر اقدامات امنیتی سازمان به عنوان بخشی از روند کلی مدیریت خطر اطلاعات و ارزیابی خطرهای امنیت سایبری است.
شرکتهای برتر، پاداش ارائه میدهند تا اشخاص را ترغیب کنند که آسیبپذیریها را به جای سوءاستفاده از آنها، پیدا کنند و آنها را گزارش دهند. برنامههای Bug Bounty (پاداش در ازای پیدا کردن باگ) عالی هستند و میتوانند خطر پیوستن سازمان شما به لیست بزرگترین افشای دادهها را به حداقل برسانند.
به طور معمول میزان پرداختی یک برنامه پیدا کردن باگ، متناسب با اندازه سازمان؛ دشواری بهرهبرداری از آسیبپذیری و تأثیر آسیبپذیری است. به عنوان مثال، یافتن نشت دادهای از اطلاعات قابل شناسایی شخصی (PII) از یک شرکت Fortune 500 با برنامه کسب پاداش از باگ، ارزش بالاتری از کشف نقض داده در یک فروشگاه محلی در اطراف شما خواهد داشت.
تفاوت بین آسیبپذیری و خطر چیست؟
خطرات امنیت سایبری معمولاً به عنوان آسیبپذیری دسته بندی میشوند. با این حال، آسیبپذیری و خطر یکسان نیستند، و این امر ممکن است منجر به سردرگمی شود.
خطر را بهعنوان احتمال و تأثیر سوءاستفاده (exploit) از یک آسیبپذیری در نظر بگیرید.
اگر تأثیر و احتمال بهرهبرداری از یک آسیبپذیری کم باشد، خطر کمی هم وجود دارد. و همینطور برعکس، اگر تأثیر و احتمال بهرهبرداری از یک آسیبپذیری زیاد باشد، خطر بالایی وجود دارد.
به طور کلی، تأثیر یک حمله سایبری میتواند به سه گانه “CIA”، یا “محرمانه بودن، یکپارچگی یا در دسترس بودن” منابع مرتبط باشد. بر اساس این رشته استدلال، مواردی وجود دارد که در آن آسیبپذیریهای رایج هیچ خطری ندارند. به عنوان مثال، هنگامی که سیستم اطلاعاتی دارای آسیبپذیری، برای سازمان شما هیچ ارزشی ندارد.
در چه شرایطی بهرهبرداری از یک آسیبپذیری امکانپذیر است؟
یک آسیبپذیری شناخته شده و فعال با حداقل یک وکتور (Vector) حمله به عنوان یک آسیبپذیری قابل بهرهبرداری (exploit) طبقه بندی میشود. بازه زمانی آسیبپذیری از زمان معرفی آسیبپذیری تا زمان ترمیم (Patch) آن است.
اگر اقدامات امنیتی قویای در اختیار دارید، بسیاری از آسیبپذیریها برای سازمان شما قابل بهرهبرداری (exploit) نیستند.
به عنوان مثال، اگر امنیت S3 را به درستی پیکربندی کرده باشید، احتمال نشت داده کاهش مییابد. مجوزهای S3 خود را بررسی کنید یا شخص دیگری اینکار را برای شما انجام میدهد.
به همین ترتیب ، میتوانید با استراتژیهای مدیریت ریسک شخص ثالث و مدیریت ریسک فروشنده؛ ریسکهای مربوط به طرفین سوم و ریسکهای طرف چهارم را نیز کاهش دهید.
یک بهرهبرداری (exploit) صفر روزه چیست؟
یک اکسپلویت صفر روزه از یک آسیبپذیری صفر روز بهره میبرد. یک آسیب پذیری صفر روزه (یا 0 روزه) آسیبپذیری است که برای کسانی که میخواهند این آسیبپذیری را پچ (Patch) کنند ناشناخته است یا توسط آنها رفع نشده است.
تا زمانی که این آسیبپذیری اصلاح نشود، مهاجمان میتوانند از آن استفاده کنند تا بر روی یک برنامه رایانهای، انبار داده، رایانه یا شبکه تأثیر منفی بگذارد.
“روز صفر” روزی است که فرد از آسیبپذیری مطلع شده و منجر به ایجاد یک راه حل برای جلوگیری از سوءاستفاده میشود.
نکته کلیدی که باید درک کنید روزهای کمتری از روز صفرم است، احتمال اینکه هیچ پچی ایجاد نشده باشد بیشتر است و خطر یک حمله موفقیت آمیز نیز افزایش مییابد.
چه عواملی باعث آسیبپذیری میشود؟
دلایل زیادی برای آسیبپذیری وجود دارد از جمله:
• پیچیدگی: سیستمهای پیچیده احتمال نقص، پیکربندی غلط یا دسترسی ناخواسته را افزایش میدهند.
• آشنایی: کدهای رایج، نرمافزارها، سیستم عاملها و سخت افزار احتمال یافتن یک مهاجم یا داشتن اطلاعاتی درباره آسیبپذیریهای شناخته شده را افزایش میدهند.
• قابلیت اتصال: هرچه دستگاه بیشتر متصل باشد احتمال آسیبپذیری بیشتر است.
• مدیریت ضعیف گذرواژهها: رمزهای عبور ضعیف میتوانند به راحتی شکسته شوند و استفاده مجدد از این رمزها میتواند منجر به زیاد شدن یک مورد افشای داده شود.
• نقصهای سیستم عامل: درست مثل هر نرمافزاری، سیستم عاملها نیز میتوانند ایراداتی داشته باشند. سیستم عاملهایی که به طور پیشفرض ناامن هستند و به همه کاربران امکان دسترسی کامل میدهند، میتوانند به ویروسها و بدافزارها اجازه دهند تا دستوراتی را اجرا کنند.
• استفاده از اینترنت: اینترنت پر از نرمافزارهای جاسوسی و تبلیغاتی است که میتوانند به طور خودکار روی رایانهها نصب شوند.
• اشکالات نرمافزاری: برنامهنویسان میتوانند به طور تصادفی یا عمدی یک اشکال قابل استفاده در نرمافزار بگذارند.
• ورودی از جانب کاربری که به درستی بررسی نشده: اگر وبسایت یا نرمافزار شما تمام ورودیها را ایمن فرض کند، ممکن است دستورات ناخواسته SQL را اجرا کند.
• افراد: بزرگترین آسیبپذیری در هر سازمان، سیستم انسانی است. مهندسی اجتماعی بزرگترین تهدید برای اکثر سازمانها است.
مدیریت آسیبپذیری چیست؟
مدیریت آسیب پذیری عملی چرخهای برای شناسایی، طبقه بندی، اصلاح و کاهش آسیبپذیریهای امنیتی است. عناصر اساسی مدیریت آسیبپذیری شامل شناسایی آسیبپذیری، ارزیابی آسیبپذیری و اصلاح آن میشود.
روشهای تشخیص آسیبپذیری به شرح زیر هستند:
• اسکن کردن آسیبپذیر
• تست نفوذ
• هک کردن از طریق گوگل
هنگامی که با یک آسیبپذیری مواجه شوید، فرآیند ارزیابی آسیبپذیری پروسه خود را طی میکند:
شناسایی آسیبپذیری: تجزیه و تحلیل اسکنهای شبکه، نتایج تستهای نفوذ، گزارشهای مربوط به فایروال و نتایج اسکن آسیبپذیری برای یافتن ناهنجاریهایی که بخودی خود نشان دهنده حمله سایبری از طریق یک آسیبپذیری هستند.
تایید کردن: تصمیم بگیرید که آیا آسیبپذیری شناسایی شده میتواند مورد سوءاستفاده قرار گیرد؟ یا شدت سوءاستفاده را طبقه بندی کنید تا سطح خطر را درک کنید
کاهش آسیبپذیریها: در مورد اقدامات متقابل و چگونگی سنجش اثربخشی آنها در صورت عدم دسترسی به پَچ کردن، تصمیم بگیرید.
آسیبپذیریهای رفع شده: در صورت امکان نرمافزار یا سختافزار آسیبدیده را به روز کنید.
با توجه به اینکه حملات سایبری بهطور مداوم در حال پیشرفت هستند، مدیریت آسیبپذیری باید عملی مستمر و تکراری باشد تا از محافظت سازمان شما اطمینان حاصل کند.
اسکن آسیبپذیری به چه معناست؟
اسکنر آسیبپذیری نرمافزاری است که برای ارزیابی رایانهها، شبکهها یا برنامهها از نظر آسیبپذیری شناخته شده، طراحی شدهاست. آنها میتوانند آسیبپذیریهای ناشی از پیکربندی غلط و یا برنامهنویسی اشتباه در یک شبکه را تشخیص بدهند و اسکنهای تأیید شده و یا غیرمجاز را انجام دهند.
• اسکنهای تأیید شده: به اسکنر آسیبپذیری اجازه میدهد تا با استفاده از پروتکلهای مدیریتی از راه دور مانند پوسته امن (SSH) یا پروتکل دسکتاپ از راه دور (RDP) به داراییهای شبکه دسترسی مستقیم پیدا کند و با استفاده از اعتبارات سیستم ارائه شده احراز هویت کند. این امکان دسترسی به دادههای سطح پایین مانند خدمات خاص و جزئیات پیکربندی، ارائه اطلاعات درست و دقیق در مورد سیستم عاملها، نرمافزارهای نصب شده، مشکلات پیکربندی و پَچهای امنیتی از دست رفته را فراهم میکند.
• اسکنهای غیرمجاز: نتیجه اسکنهای غیرمجاز، مثبتهای کاذب و اطلاعات غیرقابل اعتمادی در مورد سیستم عاملها و نرمافزارهای نصب شده میباشد. این روش بهطور کلی توسط مهاجمان سایبری و تحلیلگران امنیتی برای تعیین وضعیت امنیتی داراییهای رو به بیرون و همچنین کشف نشتهای دادهای احتمالی استفاده میشود.
اگر دنبال اسکنر آسیبپذیری مناسب میگردید، روی لینک زیر کلیک کنید:
تست نفوذ چیست؟
تست نفوذ، همچنین به عنوان Pen test یا هک اخلاقی شناخته میشود، عملی برای آزمایش دارایی فناوری اطلاعات برای یافتن نقاط ضعف امنیتی است که یک مهاجم میتواند از آن سوءاستفاده کند. تست نفوذ را میتوان با استفاده از نرمافزار خودکار انجام داد و یا دستی انجام داد.
یا میتوان، فرآیند ذکر شده شامل جمع آوری اطلاعات در مورد هدف، شناسایی آسیبپذیریهای احتمالی و تلاش برای بهرهبرداری از آنها و گزارش در مورد یافتهها باشد.
تست نفوذ همچنین میتواند برای آزمایش سیاستهای امنیتی سازمان، رعایت الزامات انطباق، آگاهی از امنیت کارکنان و توانایی سازمان در شناسایی و واکنش به حوادث امنیتی استفاده شود.
به تست نفوذ علاقهمندید؟ دوره CEH به شما کمک میکند شروع کنید:
هک کردن از طریق گوگل یعنی چه؟
هک گوگل به معنی استفاده از یک موتور جستجو مانند Google یا Microsoft Bing برای یافتن نقاط ضعف امنیتی است. هک کردن گوگل با استفاده از اپراتورهای جستجوی پیشرفته در جستجوی (ارسال Query) اطلاعاتی که به سختی یافت میشوند یا اطلاعاتی که به طور تصادفی از طریق پیکربندی نادرست سرویسهای ابری در معرض دید قرار دارند، حاصل میشود.
محققان و مهاجمان امنیتی از این queryهای هدفمند برای تعیین مکان اطلاعات حساس استفاده میکنند که قرار نیست در معرض دید عموم قرار گیرد.
این آسیبپذیریها به دو نوع تقسیم میشوند:
1. آسیبپذیریهای نرمافزار
2. پیکربندی غلط
گفته میشود، اکثریت قریب به اتفاق مهاجمان تمایل به جستجوی اشتباهات پیکربندی رایج درمیان کاربران دارند که از پیش میدانند چگونه از آن سوءاستفاده کنند و به سادگی سیستمهایی را که دارای حفرههای امنیتی شناخته شدهاند، اسکن کنند.
برای جلوگیری از هک شدن از طریق گوگل باید از پیکربندی صحیح همه سرویسهای ابری اطمینان حاصل کنید. وقتی چیزی در معرض گوگل قرار بگیرد، چه بخواهید و چه نخواهید عمومی میشود.
بله، گوگل به طور دورهای حافظه پنهان خود را پاک میکند اما تا آن زمان پروندههای حساس شما در معرض دید عموم قرار میگیرند.
پایگاه دادههای آسیبپذیری کجاست؟
پایگاه داده آسیبپذیری، بستری است که اطلاعات مربوط به آسیبپذیریهای کشف شده را جمع آوری، نگهداری و به اشتراک میگذارد. MITER یکی از بزرگترین این پایگاهها با نام CVE یا بهعبارتی؛ آسیبپذیریهای رایج را اداره میکند و یک سیستم امتیاز دهی آسیبپذیریهای رایج را نیز راه اندازی کرده است (CVSS) تا خطر احتمالی آسیبپذیری را برای سازمان شما نشان دهد.
این لیست سازی مرکزی از جانب CVE به عنوان بذرهای رشد بسیاری از اسکنرهای آسیبپذیری نسل نو عمل میکند.
مزیت بانکهای اطلاعاتی آسیبپذیریهای رایج این است که به سازمانها این امکان را میدهد تا پچها و مسدودیتهای دیگری را برای اصلاح آسیبپذیریهای مهم ایجاد، اولویت بندی و اجرا کنند.
آنها همچنین میتوانند آسیبپذیریهای اضافی را از پچهای سریع منتشر شده ایجاد کنند که اولین آسیبپذیری را برطرف میکنند اما یک آسیبپذیری دیگر ایجاد میکنند
لیست آسیبپذیریهای رایج در پایگاه دادههای آسیبپذیری شامل موارد زیر است:
خرابی استقرار اولیه: عملکرد پایگاه دادهها ممکن است خوب به نظر برسد اما بدون آزمایش دقیق، نقصها میتواند به مهاجمان اجازه نفوذ بدهند. کنترلهای امنیتی ضعیف، گذرواژههای ضعیف یا تنظیمات امنیتی پیش فرض میتوانند منجر به دسترسی عمومی متریالهای حساس شوند.
حسابرسی ناکافی: بدون حسابرسی، دشوار است که بفهمید دادهها اصلاح شده یا به آنها دسترسی پیدا شده است. پایگاههای اطلاعاتی آسیبپذیری اهمیت پیگیری حسابرسی را به عنوان بازدارنده حملات سایبری اعلام کردهاند.
پیکربندی نادرست: شرکتها معمولاً در پیکربندی صحیح سرویسهای ابری خود کوتاهی میکنند و آنها را آسیبپذیر و اغلب در دسترس عموم قرار میدهند.
تزریق SQL: حملات به پایگاه داده معمولاً در پایگاههای اطلاعاتی آسیبپذیری ثبت میشوند.
نمونههایی از آسیبپذیریها
آسیبپذیریها را میتوان در شش دسته گسترده طبقه بندی کرد:
سختافزار: حساسیت به رطوبت، گرد و غبار، آلودگی، بلایای طبیعی، رمزگذاری ضعیف یا آسیبپذیری سیستم عامل.
نرمافزار: بررسیهای ناکافی، عدم وجود ردیابی جهت حسابرسی، نقص در طراحی، نقض ایمنی حافظه (Buffer overflow, Over-read, Dangling pointer)، خطاهای اعتبار سنجی ورودی (code injection, cross-site scripting (XSS), directory traversal, email injection, format string attacks, HTTP header injection, HTTP response splitting, SQL injection)، اشکالات سردرگمی امتیاز (clickjacking, cross-site request forgery, FTP bounce attack)، شرایط مسابقه (symlink races, time-of-check-to-time-of-use bugs)، حملات کانال جانبی، حملات زمان بندی و خرابی رابط کاربر (blaming the victim, race conditions, warning fatigue).
شبکه: خطوط ارتباطی محافظت نشده، حملات MITM، معماری شبکه ناامن، عدم احراز هویت یا تأیید اعتبار پیش فرض.
پرسنل: سیاستهای استخدام ضعیف، عدم آگاهی و آموزش امنیتی، رعایت نادرست آموزش امنیت، مدیریت ضعیف رمز عبور یا بارگیری بدافزار از طریق پیوستهای ایمیل
پایگاه فیزیکی: منطقهای که در معرض بلایای طبیعی است، منبع تغذیه غیرقابل اطمینان یا عدم دسترسی به کارت کلید.
سازمانی: فقدان حسابرسی، برنامه تداوم، امنیت یا برنامه پاسخگویی به حوادث.
و در نهایت باید گفت:
“امنیت سایبری بیش از هر زمان دیگری اهمیت پیدا میکند.”