Tag Archives: آسیب پذیری

پچ یا وصله Patch

وصله یا Patch چیست؟

پچ (Patch) یا وصله به مجموعه‌ای از تغییرات گفته می‌شود که به منظور بروزرسانی، تعمیر یا بهبود یک نرم افزار رایانه ای به کار می‌رود. این تغییرات ممکن است برای رفع آسیب پذیری های امنیتی و باگ های مختلف نرم افزار، بهبود نحوه استفاده یا کارایی و افزودن ویژگی های جدید به نرم افزار ایجاد شوند.

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

محتویات پچ ها بسته به میزان تغییرات در ابعاد مختلف (از چند کیلوبایت گرفته تا چند صد مگابایت) عرضه می‌شوند. در برخی موارد از اصطلاح سرویس پک (Service Pack) برای پچ های بزرگ‌تر استفاده می‌شود. جالب است بدانید علاوه بر سیستم عامل ها، معمولا وصله هایی که برای بروزرسانی و اعمال تغییرات در بازی های رایانه ای عرضه می‌شوند نیز به دلیل داشتن فایل های گرافیکی دارای حجم بالایی هستند.

وصله های امنیتی (Security Patches) از جمله مهم ترین انواع وصله هایی هستند که برای رفع آسیب پذیری های امنیتی (به خصوص در مورد سیستم عامل ها) منتشر می‌شود.

پچ - وصله - بروزرسانی Patch - Update
پچ ها برای بروزرسانی، تعمیر یا بهبود نرم افزارهای رایانه ای منتشر می‌شوند.

بروزرسانی و اعمال پچ ها

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

در مورد تغییرات گسترده (نظیر آنچه درباره سرویس پک ها برای نسخه های قدیمی‌تر سیستم عامل ویندوز مشاهده می‌شد) ممکن است فرایند اعمال تغییرات در قالب بسته هایی حجیم صورت گیرد که کاربر می‌بایست به صورت مستقیم برای نصب آن‌ها اقدام کند.

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

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

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

روز صفر Zero Day

روز صفر یا Zero Day چیست؟

آسیب پذیری روز صفر (Zero-day Vulnerability) به گونه ای از حفره های امنیتی در یک محصول رایانه ای گفته می‌شود که برای افراد علاقمند به رفع آن (نظیر تولیدکننده محصول) ناشناخته است و یا با وجود اینکه شناسایی شده هنوز برطرف نشده است.

در تعریفی مشابه، روز صفر به حفره هایی در یک محصول اشاره می‌کند که سازنده محصول از زمان شناسایی حفره تنها صفر روز برای رفع آن فرصت دارد.

حمله روز صفر

اگر این آسیب پذیری ها (که معمولا نرم افزاری هستند) پیش از رفع شدن، توسط هکرها شناسایی شوند و بتوانند راهکاری برای سوء استفاده از این حفره های امنیتی پیدا کنند در واقع حمله ای موسوم به حمله روز صفر (Zero-day Attack) یا بهره جویی روز صفر (Zero-day Exploit) رخ می‌دهد. البته برخی از کارشناسان، حمله روز صفر را در قالب حملاتی تعریف می‌کنند که در روز شناسایی این نقاط ضعف به وقوع می‌پیوندد. همان طور که گفته شد ممکن است در زمان وقوع این حمله، آسیب پذیری مذکور حتی برای سازنده نرم افزار نیز ناشناخته باشد.

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

استاکس نت (Stuxnet) از جمله بدافزارهای مشهوری است که در زمان آغاز فعالیت خود از چهار آسیب پذیری روز صفر برای ایجاد اختلال در زیرساخت های غنی سازی اورانیوم ایران استفاده می‌کرد. جالب است بدانید ویروس ها و بدافزارهایی که هنوز امضای آن‌ها در اختیار آنتی ویروس ها قرار ندارد (و در نتیجه احتمالا قابل شناسایی توسط این نرم افزارهای امنیتی نیستند) به ویروس ها و بدافزارهای روز صفر مشهور هستند.

چگونه با این نوع حملات مقابله کنیم؟

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

به محض اینکه یک آسیب پذیری امنیتی تازه در یک نرم افزار برای سازندگان آن محرز می‌شود اساسا خود را موظف می‌دانند در کوتاه‌ترین زمان ممکن (فرصت صفر روزه) با ارائه وصله های (Patch) امنیتی و بروزرسانی نرم افزار، حفره شناسایی شده را برطرف نمایند.

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

آسیب پذیری روز صفر Zero day Vulnerability
آسیب پذیری های zero day ممکن است تا مدت‌ها برای سازنده نرم افزار یا سخت افزاری که حاوی این آسیب پذیری است نیز ناشناخته باشد!

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

ویروس رایانه ای Computer Virus

ویروس رایانه‌ای یا Computer Virus چیست؟

ویروس رایانه‌ای (Computer Virus) یا به اختصار ویروس، نوعی بدافزار (Malware) است که بدون اطلاع کاربر اجرا شده و کد خود را در سایر برنامه‌ها تزریق می‌کند. با اجرای فایل یا برنامه آلوده شده، فعالیت مخرب یا شرورانه ویروس آغاز می‌شود.

هر ویروس معمولا از سه بخش اصلی تشکیل شده است. بخش اول که مکانیزم آلوده‌سازی (Infection) نام دارد شامل یک رویه جستجو برای یافتن فایل‌هایی است که برای آلوده‌سازی مناسب هستند. بخش دیگر که اصطلاحا Payload نامیده می‌شود بدنه اصلی ویروس به شمار می‌رود و اعمال مضر یا مخرب را شامل می‌شود. بخش فعالساز (Trigger) نیز وظیفه فعالسازی Payload را در زمان یا موقعیت مناسب برعهده دارد.

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

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

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

اهداف ویروس‌ها و سازندگان آن‌ها

ویروس‌ها هدف‌های مختلفی را روی سیستم قربانی دنبال می‌کنند. از اشغال فضای روی دیسک گرفته تا استفاده بیش از حد از پردازنده (با اجرای کدهای تکرارشونده)، دسترسی به اطلاعات شخصی و سرقت آن‌ها، جاسوسی از کاربر قربانی و Keylogging، تغییر و یا از بین بردن اطلاعات و … از جمله مأموریت‌هایی به شمار می‌رود که ویروس‌های رایانه‌ای مختلفی برای تحقق آن‌ها طراحی شده است.

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

روش‌های رایج گسترش ویروس‌های رایانه‌ای

پیش از گسترش شبکه‌های رایانه‌ای، اغلب ویروس‌ها از طریق رسانه‌های جداشدنی نظیر فلاپی‌دیسک، اقدام به تکثیر و انتشار خود می‌کردند. ماکرو ویروس‌ها (که در قالب برنامه‌های ماکرو در اسناد نرم‌افزارهایی مثل Microsoft Word و Microsoft Excel خود را جاساز می‌کنند)، در کنار ویروس‌هایی که از طریق آلوده‌سازی فایل‌هایی که به ایمیل ها ضمیمه می‌شود گسترش پیدا می‌کنند و همچنین ویروس‌هایی که با دانلود نرم‌افزارهای غیرمجاز یا کرک شده از منابع نامعتبر روی یک سیستم فعال می‌شوند همگی نشانگر روش‌هایی هستند که به منظور تکثیر این نوع بدافزارها مورد استفاده قرار می‌گیرد.