آسیبپذیری نرمافزاری چیست و چرا تعداد زیادی از آنها وجود دارد؟
باجافزار WannaCry اخیراً با بهرهگرفتن از نقصهای سیستمعامل ویندوز و حمله به کامپیوترهای مجهز به این پلتفرم، کنترل صدهاهزار کامپیوتر را در سرتاسر جهان بهدست گرفت و بهسرعت گسترش یافت؛ اما این اقدام دقیقاً یعنی چه؟ درنظرگرفتن هکرها بهعنوان سارق و نرمافزارهای مخرب بهعنوان ابزار سرقت آنها، میتواند در پاسخ به این پرسش به ما کمک کند.
با تحقیق دربارهی جرایم سایبری و استفاده از فناوری میان مجرمین برای بیشاز یک دهه، مشخص میشود که این افراد بهدنبال راههایی برای نفوذ به کامپیوترها و شبکهها هستند و از طیف گستردهای از گزینهها برای ورود به سیستمهای هدف خود بهره میبرند.
آسیبپذیری نرمافزاری چیست و چرا تعداد زیادی از آن وجود دارد؟
ممکن است برخی سارقان بهسادگی روش مستقیم را انتخاب کنند و از در اصلی مکان مدنظر وارد آن شوند؛ درحالیکه برخی دیگر تمایل دارند مخفیانهتر عمل کنند و بکوشند ازطریق بازکردن قفل یا از دری که باز مانده است، برای ورود به محل سرقت خود استفاده کنند. این وضعیت دربارهی هکرها نیز صادق است؛ اگرچه مجرمان حوزهی سایبری، راههای بیشتری برای نفوذ به سیستم اهداف خود دراختیار دارند.
ضعفهایی که هکرها از آنها استفاده میکنند، مثل شیشههای شکستهی خانهها یا لولاهای زنگزدهی درها نیست؛ بلکه درعوض از نقصهای نرمافزاری موجود در برنامههایی بهره میبرند که روی کامپیوترها اجرا میشوند. ازآنجاکه ساخت برنامهها برعهدهی انسانها است، میتوان انتظار داشت نقصهایی در آنها وجود داشته باشد. ساخت نرمافزار کاملاً بینقص تقریباً غیرممکن است و همین عامل باعث میشود همیشه راههایی برای مهاجمان سایبری وجود داشته باشد.
بهبیان ساده، آسیبپذیری میتواند خطا در مدیریت سیستم یا نقصی در کد و نحوهی پاسخگویی به درخواستهای خاص باشد. آسیبپذیریهای رایج امکان حملهای به نام تزریق SQL را دراختیار هکرها قرار میدهد. این روش در وبسایتهایی استفاده میشود که برای نمایش اطلاعات از پایگاههای دادهی مبتنیبر پرسوجو (Query) بهره میبرند. در این شرایط، مهاجم پرسوجویی ایجاد میکند که حاوی کدهایی به زبان برنامهنویسی پایگاه دادهی SQL است.
اگر وبسایت بهدرستی محافظت نشود، عملکرد جستوجوی آن دستورهای مضر SQL را اجرا و این نقص به مهاجم کمک میکند اجازهی دسترسی به پایگاه داده و کنترل بالقوهی وبسایت را بهدست آورد. بهطور مشابه، بسیاری از کاربران از نرمافزارهای سازگار با زبان برنامهنویسی جاوا استفاده میکنند که ازجمله میتوان به فلشپلیر و برنامههای اندرویدی اشاره کرد.
آسیبپذیریهای متعددی در پلتفرم جاوا وجود دارد که همگی میتوانند به روشهای مختلف سوءاستفاده شوند. روش معمول در این نوع برنامهها، وادارکردن کاربران به دانلود افزونه یا کدکهای درونبرنامهای است. این افزونهها درواقع حاوی کدهای مخربی هستند که از آسیبپذیری برنامه سوءاستفاده میکنند و امنیت دستگاه کاربر را بهخطر میاندازند.
آسیبپذیری در انواع نرمافزارها وجود دارد. چندین نسخه از سیستمعامل ویندوز مایکروسافت حاوی باگهایی بود که WannaCry از آنها برای حمله به اهداف خود بهره گرفت. بهعنوان مثال، مرورگر وب منبعباز محبوب فایرفاکس از سال ۲۰۰۹ تاکنون هرسال بیش از ۱۰۰ آسیبپذیری در کد خود شناسایی کرده است. علاوهبراین، از اوایل سال ۲۰۱۷ حدود ۱۵ باگ در مرورگر اینترنت اکسپلورر مایکروسافت شناسایی شده است.
توسعهی نرمافزار فرایند کاملی نیست. برنامهنویسان اغلب روی جدولهای زمانی تعیینشده ازطرف تیمهای مدیریتی کار میکنند و میکوشند اهداف معقولی را تعیین کنند که درنتیجهی رعایت این مهلتهای زمانی میتواند مسئلهساز باشد. توسعهدهندگان هنگام ساخت برنامهها همهی تلاش خود را برای طراحی ایمن محصولات انجام میدهند؛ اما امکان دارد موفق نشوند قبل از تاریخ تعیینشده همهی ایرادها را شناسایی کنند.
احتمال دارد برخی تأخیرها در انتشار برنامهها هزینههای زیادی برای شرکتهای سازندههای آنها در پی داشته باشد. بسیاری از شرکتها نسخهی اولیهی محصول را منتشر و پس از شناسایی مشکلات، با ارائهی بهروزرسانیهای امنیتی آنها را برطرف میکنند. این آپدیتها گاه بهعنوان وصلههای نرمافزاری نیز شناخته میشوند؛ زیرا هدف آنها رفع ضعفهای برنامهها است.
گفتنی است شرکتهای نرمافزاری نمیتوانند برای همیشه از محصولات خود پشتیبانی کنند؛ زیرا برای ادامهی کار باید روی بهبود برنامهها و فروش نسخههای جدیدتر تمرکز کنند؛ بنابراین پس از گذشت مدتی، بهروزرسانیهای نرمافزاری جدیدی برای برنامههای قدیمتر خود ارائه نمیدهند. هنگامیکه مهاجم آسیبپذیری جدیدی را در نرمافزار شناسایی میکند، میتواند برنامهی جدیدی توسعه دهد که از این باگ برای ورود به سیستم هدف و کنترل آن استفاده میکند.
سارقان سایبری سعی میکنند با کشف ضعف در سیستمهای هدف ازجمله آسیبپذیریهای امنیتی شبکه به آن نفوذ کنند. اگر مهاجمان بتوانند با کامپیوتر مدنظرشان ارتباط برقرار کنند، برای افزایش دسترسی خود رویکردهایی مثل دسترسی به فایلهای خاص یا اجرای برنامههای خاص را میتوانند اتخاذ کنند.
در سالهای اخیر، هکرها بارها از آسیبپذیریهای مرورگرهای وب استفاده کردهاند؛ ابزارهایی که امکان اتصال به اینترنت و اجرای برنامههای کوچک را فراهم میکنند. مرورگرها آسیبپذیریهای زیادی دارند که میتوان از آنها سوءاستفاده کرد. این باگها امکان کنترل کامپیوتر هدف را به هکرها میدهند و درنتیجه، میتوانند از این سطح دسترسی برای نفوذ به شبکههای حساستر و بزرگتر بهره ببرند.
گاهی اوقات، توسعهدهندگان نرمافزار یا محققان امنیتی این آسیبپذیریها را به شرکتهای سازندهی آنها اطلاع میدهند. بعضی وقتها نیز، هکرها یا سازمانهای جاسوسی دولتی نحوهی نفوذ به سیستمها را کشف میکنند؛ اما آن را به شرکت سازنده اطلاع نمیدهند. این نوع باگها را «آسیبپذیری روز صفر» مینامند؛ زیرا توسعهدهندهی نرمافزار زمانی برای رفع آنها دراختیار نداشته است و درنتیجه، آن نرمافزار یا سختافزار تا زمان انتشار وصلهی امنیتی درمعرض خطر قرار خواهد گرفت.
یکی از بهترین روشها برای حفظ امنیت این است که کاربران بهروزرسانیهای نرمافزاری را بهطورمنظم نصب کنند. درادامه، میتوانید فهرست ۵۰ نرمافزاری را مشاهده کنید که بیشترین تعداد آسیبپذیری در آنها شناساییشده است:
شماره | نام محصول | نام سازنده | نوع محصول | تعداد آسیبپذیریها |
---|---|---|---|---|
۱ | توزیع لینوکس Debian | Debian | سیستمعامل | ۶۸۴۴ |
۲ | گوگل | سیستمعامل | ۴۶۳۹ | |
۳ | توزیع لینوکس Fedora | Fedoraproject | سیستمعامل | ۳۶۳۳ |
۴ | توزیع لینوکس اوبونتو | Canonical | سیستمعامل | ۳۵۵۱ |
۵ | مک اواس ایکس | اپل | سیستمعامل | ۳۰۱۹ |
۶ | Linux Kernel | لینوکس | سیستمعامل | ۲۹۳۹ |
۷ | ویندوز ۱۰ | مایکروسافت | سیستمعامل | ۲۸۸۹ |
۸ | Iphone Os | اپل | سیستمعامل | ۲۷۰۹ |
۹ | ویندوز سرور ۲۰۱۶ | مایکروسافت | سیستمعامل | ۲۶۷۶ |
۱۰ | کروم | گوگل | اپلیکیشن | ۲۵۰۱ |
۱۱ | ویندوز سرور ۲۰۰۸ | مایکروسافت | سیستمعامل | ۲۳۵۸ |
۱۲ | ویندوز ۷ | مایکروسافت | سیستمعامل | ۲۲۰۸ |
۱۳ | ویندوز سرور ۲۰۱۲ | مایکروسافت | سیستمعامل | ۲۰۲۷ |
۱۴ | ویندوز سرور ۲۰۱۹ | مایکروسافت | سیستمعامل | ۲۱۲۶ |
۱۵ | ویندوز ۸٫۱ | مایکروسافت | سیستمعامل | ۲۰۶۰ |
۱۶ | فایرفاکس | موزیلا | اپلیکیشن | ۱۹۹۳ |
۱۷ | ویندوز RT نسخه ۸٫۱ | مایکروسافت | سیستمعامل | ۱۸۷۵ |
۱۸ | Enterprise Linux Desktop | RedHat | سیستمعامل | ۱۷۵۱ |
۱۹ | Enterprise Linux Server | RedHat | سیستمعامل | ۱۷۰۹ |
۲۰ | Enterprise Linux Workstation | RedHat | سیستمعامل | ۱۶۷۰ |
۲۱ | Leap | Opensuse | سیستمعامل | ۱۵۸۶ |
۲۲ | Tvos | اپل | سیستمعامل | ۱۳۷۰ |
۲۳ | Opensuse | Opensuse | سیستمعامل | ۱۳۶۵ |
۲۴ | Enterprise Linux | RedHat | سیستمعامل | ۱۲۲۳ |
۲۵ | اینترنت اکسپلورر | مایکروسافت | اپلیکیشن | ۱۱۶۸ |
۲۶ | MySQL | Oracle | اپلیکیشن | ۱۱۵۶ |
۲۷ | سافاری | اپل | اپلیکیشن | ۱۱۴۸ |
۲۸ | Watchos | اپل | سیستمعامل | ۱۱۰۸ |
۲۹ | Thunderbird | موزیلا | اپلیکیشن | ۱۰۳۸ |
۳۰ | Enterprise Linux Server Aus | RedHat | سیستمعامل | ۸۱۱ |
۳۱ | ویندوز ویستا | مایکروسافت | سیستمعامل | ۷۹۴ |
۳۲ | Firefox Esr | موزیلا | اپلیکیشن | ۷۷۷ |
۳۳ | Gitlab | Gitlab | اپلیکیشن | ۷۲۸ |
۳۴ | آفیس | مایکروسافت | اپلیکیشن | ۷۱۴ |
۳۵ | JRE | Oracle | اپلیکیشن | ۷۰۱ |
۳۶ | JDK | Oracle | اپلیکیشن | ۶۹۶ |
۳۷ | ویندوز ایکسپی | مایکروسافت | سیستمعامل | ۶۸۵ |
۳۸ | Seamonkey | موزیلا | اپلیکیشن | ۶۸۰ |
۳۹ | Oncommand Insight | Netapp | اپلیکیشن | ۶۷۳ |
۴۰ | PHP | PHP | اپلیکیشن | ۶۵۷ |
۴۱ | مک اواس | اپل | سیستمعامل | ۶۵۳ |
۴۲ | مک اواس ایکس سرور | اپل | سیستمعامل | ۶۲۸ |
۴۳ | Imagemagick | Imagemagick | اپلیکیشن | ۶۲۷ |
۴۴ | Wireshark | Wireshark | اپلیکیشن | ۶۱۹ |
۴۵ | Enterprise Linux Server Eus | RedHat | سیستمعامل | ۶۱۸ |
۴۶ | آیتیونز | اپل | اپلیکیشن | ۶۰۳ |
۴۷ | Sunos | SUN | سیستمعامل | ۵۶۵ |
۴۸ | Enterprise Linux Server Tus | RedHat | سیستمعامل | ۵۶۴ |
۴۹ | Oncommand Workflow Automation | Netapp | اپلیکیشن | ۵۴۷ |
۵۰ | Solaris | Oracle | سیستمعامل | ۵۰۴ |
نظرات