آسیب‌پذیری نرم‌افزاری چیست و چرا تعداد زیادی از آن‌ها وجود دارد؟

کمیته رکن چهارم – سارقان برای سرقت از مکان‌های فیزیکی از ابزارهای مختلفی استفاده می‌کنند. در حوزه‌ی سایبری، می‌توان نرم‌افزارها و آسیب‌پذیری‌های امنیتی برنامه‌ها را به لوازم سرقت فیزیکی تشبیه کرد.

باج‌افزار WannaCry اخیراً با بهره‌گرفتن از نقص‌های سیستم‌عامل ویندوز و حمله به کامپیوترهای مجهز به این پلتفرم، کنترل صدهاهزار کامپیوتر را در سرتاسر جهان به‌دست گرفت و به‌سرعت گسترش یافت؛ اما این اقدام دقیقاً یعنی چه؟ درنظرگرفتن هکرها به‌عنوان سارق و نرم‌افزارهای مخرب به‌عنوان ابزار سرقت آن‌ها، می‌تواند در پاسخ به این پرسش به ما کمک کند.

با تحقیق درباره‌ی جرایم سایبری و استفاده از فناوری میان مجرمین برای بیش‌از یک‌ دهه، مشخص می‌شود که این افراد به‌دنبال راه‌هایی برای نفوذ به کامپیوتر‌ها و شبکه‌ها هستند و از طیف گسترده‌ای از گزینه‌ها برای ورود به سیستم‌های هدف خود بهره می‌برند.

آسیب‌پذیری نرم‌افزاری چیست و چرا تعداد زیادی از آن وجود دارد؟

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

ضعف‌هایی که هکرها از آن‌ها استفاده می‌کنند، مثل شیشه‌های شکسته‌ی خانه‌ها یا لولاهای زنگ‌زده‌ی درها نیست؛ بلکه درعوض از نقص‌های نرم‌افزاری موجود در برنامه‌هایی بهره می‌برند که روی کامپیوتر‌ها اجرا می‌شوند. از‌‌آن‌‌‌جا‌‌‌که ساخت برنامه‌ها برعهده‌ی انسان‌ها است، می‌توان انتظار داشت نقص‌هایی در آن‌ها وجود داشته باشد. ساخت نرم‌افزار کاملاً بی‌نقص تقریباً غیرممکن است و همین عامل باعث می‌شود همیشه راه‌هایی برای مهاجمان سایبری وجود داشته باشد.

به‌بیان ساده، آسیب‌پذیری می‌تواند خطا در مدیریت سیستم یا نقصی در کد و نحوه‌ی پاسخ‌گویی به درخواست‌های خاص باشد. آسیب‌پذیری‌های رایج امکان حمله‌ای به‌ نام تزریق SQL را دراختیار هکرها قرار می‌دهد. این روش در وب‌سایت‌هایی استفاده می‌شود که برای نمایش اطلاعات از پایگاه‌های داده‌ی مبتنی‌بر پرس‌وجو (Query) بهره می‌برند. در این شرایط، مهاجم پرس‌وجویی ایجاد می‌کند که حاوی کدهایی به‌ زبان برنامه‌نویسی پایگاه داده‌ی SQL است.

اگر وب‌سایت به‌درستی محافظت نشود، عملکرد جست‌وجوی آن دستورهای مضر SQL را اجرا و این نقص به مهاجم کمک می‌کند اجازه‌ی دسترسی به پایگاه داده و کنترل بالقوه‌ی وب‌سایت را به‌دست آورد. به‌طور مشابه، بسیاری از کاربران از نرم‌افزارهای سازگار با زبان برنامه‌نویسی جاوا استفاده می‌کنند که ازجمله می‌توان به فلش‌پلیر و برنامه‌های اندرویدی اشاره کرد.

آسیب‌پذیری‌های متعددی در پلتفرم جاوا وجود دارد که همگی می‌توانند به‌ روش‌های مختلف سوءاستفاده شوند. روش معمول در این نوع برنامه‌ها، وادارکردن کاربران به دانلود افزونه یا کدک‌های درون‌برنامه‌ای است. این افزونه‌ها درواقع حاوی کدهای مخربی هستند که از آسیب‌پذیری برنامه سوءاستفاده می‌کنند و امنیت دستگاه کاربر را به‌خطر می‌اندازند.

آسیب‌پذیری در انواع نرم‌افزارها وجود دارد. چندین نسخه از سیستم‌عامل ویندوز مایکروسافت حاوی باگ‌هایی بود که WannaCry از آن‌ها برای حمله به اهداف خود بهره گرفت. به‌عنوان مثال، مرورگر وب منبع‌باز محبوب فایرفاکس از سال ۲۰۰۹ تاکنون هرسال بیش‌ از ۱۰۰ آسیب‌پذیری در کد خود شناسایی کرده است. علاوه‌براین، از اوایل سال ۲۰۱۷ حدود ۱۵ باگ در مرورگر اینترنت اکسپلورر مایکروسافت شناسایی شده است.

توسعه‌ی نرم‌افزار فرایند کاملی نیست. برنامه‌نویسان اغلب روی جدول‌های زمانی تعیین‌شده ازطرف تیم‌های مدیریتی کار می‌کنند و می‌کوشند اهداف معقولی را تعیین کنند که درنتیجه‌ی رعایت این مهلت‌های زمانی می‌تواند مسئله‌ساز باشد. توسعه‌دهندگان هنگام ساخت برنامه‌ها همه‌ی تلاش خود را برای طراحی ایمن محصولات انجام می‌دهند؛ اما امکان دارد موفق نشوند قبل از تاریخ تعیین‌شده همه‌ی ایرادها را شناسایی کنند.

احتمال دارد برخی تأخیرها در انتشار برنامه‌ها هزینه‌های زیادی برای شرکت‌های سازنده‌های آن‌ها در پی داشته باشد. بسیاری از شرکت‌ها نسخه‌ی اولیه‌ی محصول را منتشر و پس از شناسایی مشکلات، با ارائه‌ی به‌روزرسانی‌های امنیتی آن‌ها را برطرف می‌کنند. این آپدیت‌ها گاه به‌عنوان وصله‌های نرم‌افزاری نیز شناخته می‌شوند؛ زیرا هدف آن‌ها رفع ضعف‌های برنامه‌ها است.

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

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

در سال‌های اخیر، هکرها بارها از آسیب‌پذیری‌های مرورگرهای وب استفاده کرده‌اند؛‌ ابزارهایی که امکان اتصال به اینترنت و اجرای برنامه‌های کوچک را فراهم می‌کنند. مرورگرها آسیب‌پذیری‌های زیادی دارند که می‌توان از آن‌ها سوءاستفاده کرد. این باگ‌ها امکان کنترل کامپیوتر هدف را به هکرها می‌دهند و درنتیجه، می‌توانند از‌ این سطح دسترسی برای نفوذ به شبکه‌های حساس‌تر و بزرگ‌تر بهره ببرند.

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

یکی از بهترین روش‌ها برای حفظ امنیت این است که کاربران به‌روزرسانی‌های نرم‌افزاری را به‌طور‌منظم نصب کنند.

منبع : زومیت

درباره نویسنده

پست های مرتبط

پاسخ دهید


خبرگزاری هرانا

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


Type The Red Captcha Characters Below.