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

{title limit=50}

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

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

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

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

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

هک کردن

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

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

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

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

بدافزار REvil

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

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

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

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

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

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

یکی از بهترین روش‌ها برای حفظ امنیت این است که کاربران به‌روزرسانی‌های نرم‌افزاری را به‌طور‌منظم نصب کنند. درادامه، می‌توانید فهرست ۵۰ نرم‌افزاری را مشاهده کنید که بیشترین تعداد آسیب‌پذیری در آن‌ها شناسایی‌شده است:

شمارهنام محصولنام سازندهنوع محصولتعداد آسیب‌پذیری‌ها
۱توزیع لینوکس DebianDebianسیستم‌عامل۶۸۴۴
۲اندرویدگوگلسیستم‌عامل۴۶۳۹
۳توزیع لینوکس FedoraFedoraprojectسیستم‌عامل۳۶۳۳
۴توزیع لینوکس اوبونتوCanonicalسیستم‌عامل۳۵۵۱
۵مک اواس ایکساپلسیستم‌عامل۳۰۱۹
۶Linux Kernelلینوکسسیستم‌عامل۲۹۳۹
۷ویندوز ۱۰مایکروسافتسیستم‌عامل۲۸۸۹
۸Iphone Osاپلسیستم‌عامل۲۷۰۹
۹ویندوز سرور ۲۰۱۶مایکروسافتسیستم‌عامل۲۶۷۶
۱۰کرومگوگلاپلیکیشن۲۵۰۱
۱۱ویندوز سرور ۲۰۰۸مایکروسافتسیستم‌عامل۲۳۵۸
۱۲ویندوز ۷مایکروسافتسیستم‌عامل۲۲۰۸
۱۳ویندوز سرور ۲۰۱۲مایکروسافتسیستم‌عامل۲۰۲۷
‍۱۴ویندوز سرور ۲۰۱۹مایکروسافتسیستم‌عامل۲۱۲۶
۱۵ویندوز ۸٫۱مایکروسافتسیستم‌عامل۲۰۶۰
۱۶فایرفاکسموزیلااپلیکیشن۱۹۹۳
۱۷ویندوز RT نسخه ۸٫۱مایکروسافتسیستم‌عامل۱۸۷۵
۱۸ Enterprise Linux DesktopRedHatسیستم‌عامل۱۷۵۱
۱۹Enterprise Linux ServerRedHatسیستم‌عامل۱۷۰۹
۲۰Enterprise Linux Workstation RedHatسیستم‌عامل۱۶۷۰
۲۱Leap Opensuseسیستم‌عامل۱۵۸۶
۲۲Tvos اپلسیستم‌عامل۱۳۷۰
۲۳Opensuse Opensuseسیستم‌عامل۱۳۶۵
۲۴Enterprise Linux RedHatسیستم‌عامل۱۲۲۳
۲۵اینترنت اکسپلوررمایکروسافتاپلیکیشن۱۱۶۸
۲۶MySQLOracleاپلیکیشن۱۱۵۶
۲۷سافاریاپلاپلیکیشن۱۱۴۸
۲۸Watchos اپلسیستم‌عامل۱۱۰۸
۲۹Thunderbird موزیلااپلیکیشن۱۰۳۸
۳۰Enterprise Linux Server Aus RedHatسیستم‌عامل۸۱۱
۳۱ویندوز ویستامایکروسافتسیستم‌عامل۷۹۴
۳۲Firefox Esr موزیلااپلیکیشن۷۷۷
۳۳Gitlab Gitlabاپلیکیشن۷۲۸
۳۴آفیسمایکروسافتاپلیکیشن۷۱۴
۳۵JRE Oracleاپلیکیشن۷۰۱
۳۶JDK Oracleاپلیکیشن۶۹۶
۳۷ویندوز ایکس‌پیمایکروسافتسیستم‌عامل۶۸۵
۳۸Seamonkey موزیلااپلیکیشن۶۸۰
۳۹Oncommand Insight Netappاپلیکیشن۶۷۳
۴۰PHPPHPاپلیکیشن۶۵۷
۴۱مک اواساپلسیستم‌عامل۶۵۳
۴۲مک اواس ایکس سروراپلسیستم‌عامل۶۲۸
۴۳Imagemagick Imagemagickاپلیکیشن۶۲۷
۴۴Wireshark Wiresharkاپلیکیشن۶۱۹
۴۵Enterprise Linux Server Eus RedHatسیستم‌عامل۶۱۸
۴۶آی‌تیونزاپلاپلیکیشن۶۰۳
۴۷Sunos SUNسیستم‌عامل۵۶۵
۴۸Enterprise Linux Server Tus RedHatسیستم‌عامل۵۶۴
۴۹Oncommand Workflow Automation Netappاپلیکیشن۵۴۷
۵۰Solaris Oracleسیستم‌عامل۵۰۴





ارسال نظر

عکس خوانده نمی‌شود
132