حفظ امنیت در سیستمهای کامپیوتری
۱-۱- قابلیت اعتماد
یکی از اصولها و به این معنی است که اطلاعات فاش نمیشوند مگر قصدی پشت آن باشد. یکی از تکنیکهای اولیه برای دستیابی به قابل اعتماد بودن، پنهان کردن است. تکنیکهای پنهان کردن شامل مخلوط کردن اطلاعات است تا توسط کسی که کلیدهای رمزگشایی را ندارد، غیرقابل خواندن شوند. مثلا درایوها میتواند رمزگذاری شوند بنابراین اطلاعات آنها در معرض دزدی یا از بین رفتن قرار نمیگیرند. افراد قابل اعتماد که کلید رمزگشا را دارند میتوانند داده رمزگذاری شده را تفسیر کنند.
۲-۱- یکپارچگی
یکپارچگی از دقت و کامل بودن داده در طول چرخه زندگیاش مطمئن میشود. این یعنی داده نمیتواند با روشی غیرمجاز یا غیرقابل شناسایی تغییر کند. مکانیسم آن معمولا شامل استفاده ازعملکرد درهمریختن است، عملکرد ریاضی یک طرفه که ردی دیجیتالی از داده را برای حفاظت فراهم میکند.
۳-۱- در دسترس بودن
برای هر سیستم اطلاعاتی که میخواهد به هدفش برسد داده ذخیره شده موردنیاز باید در هرزمانی قابل دسترس باشد. سیستمهای قدرتمند در این زمینه طوری طراحی شده اند که همیشه با اجتناب از اشکالات سرویس مثل قطع برق، مشکلات سخت افزاری و ارتقای سیستم در دسترس بمانند. اطمینان از در دسترس بودن همچنین شامل توانایی رویارویی با حملههای توقف دسترسی است که سیلی از پیامها را به سیستم هدف به منظور خاموش کردن یا قطع دسترسی آن میفرستد.
۴-۱- آسیب پذیریها و حملهها
آسیب پذیری، در معرض خطر بودن سیستم یا اشکال در طراحی سخت افزار یا نرم افزار است که میتواند از دسترسی غیرمجاز بهره ببرد. یک کامپیوتر دسکتاپ تهدیدهای گوناگونی را در مقایسه با سیستمهای کامپیوتری استفاده شده در شبکههای سیاسی یا نظامیمتحمل میشود. لپتاپها یا کامپیوترهای دسکتاپ معمولا با بدافزارهایی که قصدشان دزدیدن پسورد یا اطلاعات حساب بانکی و یا ساختن باتنت است، آلوده میشوند. گوشیهای هوشمند، تبلتها و دیگر وسایل قابل حمل همچنین به اهداف جدید تبدیل شدهاند. اکثر این وسایل قابل حمل دوربین، میکروفون و اطلاعات GPS دارند که بالقوه قابل کشف هستند. بعضی از انواع امنیت اپلیکیشن بر روی اکثر وسایل قابل حمل فراهم شده است. با این حال اپهایی که از منابع ناشناخته یا غیرقابل اعتماد هستند، میتوانند به عنوان مهاجمین امنیتی بدافزاری را در اپها یا بازیهایی مثل پرندگان خشمگین جاسازی کنند.
شبکههای نظامی و سیاسی و سازمانهای بزرگ اهدافی همیشگی برای حمله هستند. یک گزارش اخیرا ثابت کرده که سیاستمداران کشورهای دیگر پشت بعضی از این حملهها هستند. پروتوکولهای نرم افزاری و اعتباری مثل Supervisory Control و Data Acquisition توسط نرم افزارهای کاربردی زیادی شامل power grid و دیگر زیرساختهای حیاتی مانند سیستم توزیع آب استفاده میشوند. وبسایتهایی که شماره کارتهای اعتباری و اطلاعات حساب بانکی را ذخیره میکنند جزء اهداف هستند زیرا پتانسیل استفاده از اطلاعات برای خرید یا انتقال پول در آنها وجود دارد. شماره کارت اعتباری میتواند به بازار سیاه فروخته شود بنابراین خطر انتقال آن به دیگران وجود دارد. تاکنون سیستمهای پرداخت در محل و ATMها به منظور دسترسی به PINها، شماره کارت اعتباری و اطلاعات حساب کاربر نیز تحت کشف قرار گرفته اند.
۲- سابقه تاریخی
محاسبات آنطور که امروزه آن را میشناسیم، از اواخر ۱۹۳۰ و ۱۹۴۰ طی جنگ جهانی دوم، زمانی که کامپیوترها توسط انگلستان و آمریکا برای شکستن رمز انیگمای آلمانیها به کار رفتند، به وجود آمده اند. با این حال تا دهه ۶۰ کامپیوترها استفاده گستردهای در سیاست، اقتصاد و نظامی در آمریکا پیدا نکردند. در آن زمان فضای تهدیدی محدود بود و تمرکز بر عملکرد و راه اندازی وجود داشت. محاسبات در ۱۹۶۰ با استفاده از کامپیوترهای بزرگ main frame صورت میپذیرفت که در آن کاربران مجبور بودند فضای حافظه ای مشترک را همزمان با هم به اشتراک بگذارند که البته باعث مشکلات امنیتی کامپیوتر میشود. یک برنامه میتواند چه با قصد قبلی چه بدون قصد قبلی بر دیگری اثر بگذارد. این منجر به معرفی اصل جداسازی به عنوان وسیله ای ابتدایی در اجرای امنیت شد. جداسازی فیزیکی همیشه به دلیل هزینه کاربردی نبود، با این حال جداسازی موقت و منطقی در کامپیوترهای main frame بسیار وسیع استفاده شد با اینکه منجر به استفاده ی ناکارا از منابع میشد. جداسازی موقتی به برنامههایی برای اجرای مرتب احتیاج داشت درحالی که جدایی منطقی برای دادن فضای ماشین مجازی به هر برنامه استفاده میشد.
در ۱۹۷۰ شاهد مهاجرت به کامپیوترهای کوچک کاراتر و طلوع سیستم عامل یونیکس بودیم. یک کامپیوتر کوچک در مقایسه با خرید و نگهداری یک کامپیوتر main frame هزینه ای بسیار کمتر میطلبید و از تعداد زیادی کاربر پشتیبانی میکرد. این سیستمها به سادگی با اضافه کردن ماشینهای متصل بیشتری توسط شبکه سازی قابل استفاده بودند. ماشینهای مجزا اسمهای عجیبی مثل harpo، zeppo، chico، سنگ های قیمتی مثل الماس یا عقیق داشتند. هر کاربر یک یا تعداد بیشتری حساب روی یک یا چند ماشین داشت و بعد از وارد شدن به حساب خود رابطی دستوری بسیار مشابه سیستمهای لینوکس امروزی دریافت میکرد. شبکه پایه و ایمیل الکترونیک در آن پشتیبانی میشد. هر فایل یا هر پوشه دارای اجازه خواندن، نوشتن و اجرا برای دارندگان و کاربران دیگری که توسط او تنظیم میشد،بود. در اواخر ۱۹۷۰ اولین کامپیوترهای شخصی توسط شرکتهایی مثل اپل و IBM شروع به ظاهر شدن کردند.
۱۹۸۰ انقلاب کامپیوترهای شخصی که با کامپیوترهای دسکتاپ و لپ تاپ آغاز شد ادامه پیدا کرد. کامپیوترهای شخصی در اوایل ۱۹۸۰ معمولا درایوهایی در طیف ۴۰ مگابایت، ۶۴K رم، پردازشگر ۸ بیتی و رابط کاربری دستوری داشتند. از آنجایی که رابط دستوری کاربر برای اکثر افراد حوصله سر بر بود یکی از استفادههای اصلی از کامپیوترهای شخصی در آن زمان بازیهای ویدئویی مثل پک من و مهاجمین فضا بود(شکل ۲). کامپیوترهای لپ تاپ در ۱۹۸۰ تقریبا گران بودند و به هدفی اصلی برای دزدیدن تبدیل شدند. اولین ویروسهای کامپیوتری(شکل۳) همچنین در ۱۹۸۰ ظاهر شدند. دیسکهای فلاپی برای بوت کردن و به اشتراک گذاری فایلها استفاده میشدند. اولین جرایم سایبری با راه یابی به دادگاه و در نتیجه ی CFAA آغاز شدند. در دوم نوامبر ۱۹۸۸ رابرت موریس اولین کرم کامپیوتری را در اینترنت پخش کرد و طبق جرایم مرتبط با CFAA، مجرم شناخته شد. در اواسط ۱۹۸۰ مایکروسافت شروع به توسعه NTFS به عنوان جایگزینی برای سیستم فایل بندی محدود و منسوخ شده FAT کرد. دولت آمریکا TCSEC را به عنوان وسیله ای برای آگاه سازی فروشندگان راجع به اینکه چه چیزهایی برای بیشتر ایمن کردن سیستم عاملهای خود نیاز دارند استفاده کرد. اولین افراد شروع به نامنویسی در سرویسهای آنلاینی مثل AOL و Compuserve که به انها اجازه دسترسی به ایمیل الکترونیک، چت روم و بردهای اطلاعاتی را میداد، کردند. سپس یکی از اعضای Chaos Computer Club در آلمان به بسیاری از شبکههای کامپیوتری نظامی دولت آمریکا دسترسی پیدا کرد.
تا ۱۹۹۰ بسیاری از شرکتها برای کارمندان خود کامپیوترهای دسکتاپ یا لپ تاپ فراهم کردند که مجهز به آخرین نسخه ویندوز بود. خیلی از افراد دارای کامپیوترهای شخصی بودند که مرتبا ویژگیهای تکنولوژی جدیدی به آنها اضافه میشد درحالی که قیمت آنها کاهش مییافت.۱۹۹۰ همچنین شاهد طلوع درخشان اینترنت و مرورگرهای وب بود. اقتصاد الکترونیک توسط مرورگرهای وب که اتصالات ایمنی مانند Netscape را پشتیبانی میکردند، فعال شد. ویروسهای کامپیوتری شروع به ویرانی کردند و اوایل ۱۹۹۰ شاهد طلوع شرکتهای آنتی ویروسی بود. تلفنهای سلولی بیشتر قابل خریداری شدند. استاندارد کدگذاری داده توسط Data Encryption Standard شکسته شد. در همان حال، استانداردهای شبکههای بیسیم و سیم دار ظاهر شدند که از کدگذاری RC4 استفاده میکردند. Digital Millennium Copyright Act پیش بینی پتانسیل سوء استفاده از اطلاعات در فرمهای دیجیتالی را کرد.
دهه ۲۰۰۰ شاهد استفاده گسترده از اینترنت و شبکههای اجتماعی (فیسبوک، توییتر و غیره) بود. گوگل در ۲۰۰۴ ایمیل الکترونیکی خود با نام جیمیل را معرفی کرد. بسیاری از مشکلات حریم شخصی بعد از اینکه Patriot Act قدرت بررسی هرکسی که مشکوک به تروریسم بود را داد، به وجود آمد. در ۲۰۰۱، AES به صورت رسمیجایگزین DES شد. دولت آمریکا شروع به تسهیل سازی تلاشها برای ایمن سازی فضای سایبری و زیرساختهای اساسی کرد درحالیکه اقدماتی علیه تروریسم سایبری و تهدیدات جنگافزار سایبری میکرد. قانون شکنیهای دنباله دار دولتی، نظامی و داده کاوی با نظمیثابت به تیتر اخبار بدل شد. بسیاری از افراد مضنون به انواع کلاهبرداری اینترنتی شامل حملات فیشینگ به منظور دستیابی به اطلاعات حساب بانکی یا دیگر اطلاعات شخصی از طریق ایمیل شدند.
دهه ۲۰۱۰ همچنان شاهد نقض قوانین امنیتی دولتی و اتحادی بود. OPM که دارای شمارههای امنیتی اجتماعی و دادههای میلیونها شخص بود، تحت دزدی قرار گرفت. این دهه همچنین با خود ایده فضای محاسباتی ابری و اینترنت اشیاء (loT) را آورد که هر دو چالشهای امنیتی و حریم شخصی جدیدی به وجود آوردند. شواهدی مبتنی بر هکهای گسترده شبکه کامپیوتری دولت آمریکا توسط کشورهای خارجی به دست آمد. نرم افزارهای کشف اسیب پذیریهای امنیتی کامپیوتر مثل Metasploit و Kali Linux محبوب تر شدند. هزاران کنفرانس راجع به امنیت کامپیوتر (مثل DefCon) و وبسایتهایی که به مردم اجازه میداد راجع به کشف آسیبپذیری کامپیوترها اطلاعات خود را به اشتراک بگذارند یا در این باره چیزی یاد بگیرند، به وجود آمدند. شواهدی توسط فاشکننده ناسا، ادوارد اسنودن، منتشر شد که نشان میداد دولت آمریکا با شرکتهایی مثل مایکروسافت، گوگل، اپل و فیسبوک کار میکرده تا به اطلاعات شخصی کلاینتها دسترسی پیدا کند. اینطور به نظر آمد که جنگ اطلاعاتی در ابعاد بزرگ، نقش بیشتری در نتیجه انتخابات آمریکا بیش از هر زمانی ایفا میکند.
۳- آسیبهای امنیتی کامپیوتر و تهدیدها
اهداف اصلی امنیت کامپیوتر حفاظت از خود کامپیوتر، دارنده و هرچیز خارج از سیستم کامپیوتر و دارنده آن هستند. این عمدتا شامل نیروهای طبیعی(زمین لرزه، طوفان و غیره) و مهاجمان شناخته شده است. احتمالا بزرگترین تهدید برای سیستم امنیتی کامپیوتر، افراد(مهاجمین و غیره) هستند که کارهای زیادی را برای دسترسی به داده و منابع سیستم بدون مجوز انجام میدهند. قسمت استاندارد در مدلسازی تهدید، در هر سیستم، شناخت عوامل انگیزهای حمله به آن سیستم و فردی که احتمالا انگیزه این کار را دارد، میباشد. این قسمت شامل نگاهی کلی بر تهدیدهای بزرگ امنیتی که امروزه سیستمها و کاربران با آن مواجهند، میباشد. که شامل تهاجم از راههای متعدد، دسترسی فیزیکی، مهندسی اجتماعی، حملههای پسوردی، ویروسهای کامپیوتری، بدافزار، باتنت و حملههای قطع کننده دسترسی است.
۱-۳- مهاجم
مهاجم کسی است که به دنبال نقض دفاع و جستجوی ضعف در سیستم کامپیوتری و شبکه است. ماهجمان امکان دارد به دلایل زیادی مثل سود، اعتراض، چالش یا واکنش انگیزه این کار را داشته باشند. با توجه به منشاء این حرکات در ۱۹۶۰، فرهنگ ضد غیرمجازبودن و تصویر به دست آمده از اکثر این مهاجمان در ۱۹۸۰، بیشتر آنها تحت تاثیر کشفهای مستند که توسط گروه خبری alt.2600 و IRC پوشش داده میشد، هستند.
فرهنگ تکامل یافته حول این افراد معمولا به کامپیوترهای زیرزمینی مشهور است. مهاجمان شاید از انواع گسترده ای از ابزارها و تکنیکها برای دستسی به سیستم کامپیوتری استفاده کنند. اگر مهاجم بتواند دسترسی فیزیکی به کامپیوتر داشته باشد، حمله مستقیم قابل انجام است. در غیر اینصورت، مهاجم از طریق شبکه، معمولا پنهان شده در سرور پراکسی، تونل وی پی ان یا مرورگر onion router/tor حمله میکند.
۲-۳- دسترسی فیزیکی
کاربری که دسترسی فیزیکی غیرمجاز به کامپیوتر پیدا کرده باشد، قادر است اطلاعات را از آن کپی کند. حتی اگر سیستم با امنیت استاندارد حفاظت شده باشد، حساب کاربر و پسورد او را میتوان با گذر از این مکانیسمها و راه اندازی سیستم عامل دیگر یا ابزاری از CD-ROM برای راه اندازی مجدد پسورد سرپرست و تبدیل آن به رشته null، به دست آورد. رمزگذاری دیسک و ماژول Trusted Platform برای جلوگیری از چنین حملههایی طراحی شده اند.
۳-۳- مهندسی اجتماعی و فیشینگ
مهندسی اجتماعی شامل کارکردن روی افراد برای انجام عملیات یا دادن اطلاعات امنیتی است. مثلا، مهاجم شاید با کارمند یک شرکت تماس بگیرد و اطلاعات او را به عنوان فردی از بخش IT همان شرکت طلب کند. فیشینگ تلاش برای دستیابی به اطلاعات حساس مثل نام کاربری، پسورد و جزئیات کارت اعتباری مستقیما از خود کاربر است. فیشینگ معمولا با جستجو در ایمیل انجام میشود و کاربر را به وارد کردن اطلاعات در یک وبسایت تقلبی که مشابه سایت رسمیاست، راهنمایی میکند. از آنجا که کاربر را طعمه قرار میدهد، فیشینگ در طبقه بندی مهندسی اجتماعی قرار میگیرد.
۴-۳- ابزار مهاجم نرم افزار
برای دسترسی، مهاجم باید طرح مجاز را بشکند یا به دنبال نقاط آسیب پذیر باشد. از ابزارهای پر کاربرد توسط مهاجمان میتوان به Nmap اشاره کرد.Nmap یک اسکنر امنیتی برای یافتن هاستها و سرویسهای موجود بر شبکه کامپیوتری ست بنابراین میتواند نقشه ای از شبکه رسم کند. دستههای مخصوصی را به هاست هدف میفرستد و پاسخها را انالیز میکند. میتواند اطلاعاتی غنی از هدف، شامل شماره پورتهای باز، نام برنامه و نسخه آن، نوع وسیله و آدرسهای MAC فراهم کند.
زمانی که هاست هدف و پورتهای باز آن شناخته شد، مهاجم معمولا سعی میکند جستجویی برای دسترسی از طریق پورت انجام دهد. یکی از ابزارهای قدرتمند Metasploit است که کدی برای اجرای جستجو میسازد. همچنین از آسیب پذیریهای دیگر سیستم عامل مثل انبوه یا جریان بافر بهره میبرد و همچنین میتواند خواستههای خود را افزایش دهد. میتواند SQL اضافه کند که در این تکنیک جملههای SQL به بخش اجرایی وارد میشوند. این قضیه آسیب پذیریهای امنیتی را کشف میکند که مزیتی از فیلترهای نادرست یا اطلاعات کاربری بد تفسیر شده است.
۵-۳- باتنتها
این کلمه ترکیبی از کلمات ربات و شبکه است. یک باتنت شماره کامپیوترهای متصل به اینترنت تحت کنترل مهاجم است که معمولا برای فرستادن ایمیلهای باتنت یا شرکت در حملههای گسترده قطع دسترسی میباشد (شکل ۴). باتنتها میتوانند شامل صدها هزار یا میلیونها کامپیوتر باشند. باتنتها میتوانند به مهاجمان دیگر تحت یک قیمتی که میتواند غیرقابل ردیابی باشد، مثل بیت کوین، اجاره داده شود. ایمیلهای فیشینگ یا تکنیکهای دیگر برای نصب کد برنامه در کامپیوتر هدف (شناخته شده به عنوان زامبی) میباشد. مهاجم بسیار دقت میکند که پیامهای کنترلی به آسانی قابل ردیابی نباشند.
۶-۳- حمله قطع سرویس
این جور حملهها برای غیر قابل دسترس کردن یک شبکه منبع یا ماشین برای کاربران است. مهاجمین میتوانند سرویس را توسط وارد کردن عامدانه پسورد اشتباه به دفعات تا قفل شدن حساب کاربر، برای اشخاص غیر قابل دسترس کنند. یا میتوانند از قابلیتهای ماشین یا شبکه به مقدار زیاد استفاده کنند و باقی کاربران را یک جا بلاک کنند. زمانی که یک شبکه، از یک آدرس IP مورد حمله قرار میگیرد، میتواند توسط انواع قوانین FireWall جدید که برای حملههای قطع دسترسی هستند، بلاک شود. زمانی که حمله از جانب حملههای قطع دسترسی گسترده باشد، دفاع بسیار سخت تر میشود. چنین حملههایی از کامپیوترهای زامبی باتنت نشأت میگیرند اما طیفی از تکنیکهای دیگر که شامل حملههای انعکاسی و تقویتی، جایی که سیستمها بدون اطلاع مجبور به فرستادن ترافیک به قربانی هستند، ممکن میشود. حملههای قطع دسترسی در تلاشی جهت وارد کردن خسارت اقتصادی برای قربانی (معمولا حریف) و آسیب به آبروی آنها و اعلام اینکه قطعی تقصیر آنهاست، میباشد.
۷-۳- شکستن پسورد
شاید آسان ترین راه برای فهمیدن پسورد یک کاربر، استفاده از مهندسی اجتماعی باشد مثلا بعضی از افراد پسورد خود را روی کاغذی زرد نوشته و آن را به دیواری نزدیک به میزشان پست میکنند تا در صورت فراموش کردن، از آن استفاده کنند. اگر دسترسی مستقیم یا مهندسی اجتماعی ممکن نباشد، مهاجم میتواند ابزارهای گستردهای را برای حدس پسوردها استفاده کند. این ابزارها با حمله ی دیکشنری به پسورد و انواعی از پسوردهای ممکن بر مبنای اطلاعات شخصی کاربر مثل تاریخ تولد یا اسم سگ آنها ممکن است. ابزارهای شکست پسورد همچنین میتوانند توسط brute force (امتحان ادغامهای ممکن) انجام اعمال نقش کنند. لیست پسوردهای ممکن در زبانهای مختلف به صورت گسترده در اینترنت قرار دارد. ابزارهای شکست پسورد امکان حدس زدن ضعیف پسوردهای انتخاب شده را میدهند، بخصوص مهاجمان میتوانند سریعا پسوردهای کوتاه، کلمات دیکشنری، تغییرات ساده در کلمات دیکشنری یا آنهایی که بر اساس الگو برای حدس زدن آسان هستند را بازیابی کنند.
سیستمهای کامپیوتری معمولا پسوردهای کاربران را ذخیره نمیکنند بلکه به جای آن مخلوطی از پسورد را ذخیره میکنند. این اختلاط یک عملکرد ریاضی یک طرفه است. اگر پسورد را بدانید، به آسانی میتوانید مخلوط آن را محاسبه کنید. با این حال اگر فقط مخلوط را بدانید، نمیتوانید به راحتی پسورد را محاسبه کنید. بعضی از اوقات شاید ممکن باشد فایل کلی پسوردهای مخلوط شده را از یک سیستم کپی کنید. از لحاظ محاسباتی بازگرداندن تابع مخلوط برای دستیابی به کل پسورد غیر قابل انجام است. با این حال یک رابطه جایگزینی بازه زمانی وجود دارد که میتواند در بعضی از موارد موجب این عمل گردد. جدولهای رنگینکمان، جدولهای پیشمحاسبه شده مخلوطی هستند که باعث جستجوی آسان پسورد میشوند. زیرا گام زمان برای محاسبه اختلاط در آنها حذف شده است. مهاجمان میتوانند هفتهها یا ماهها و اگر لازم بود با استفاده از جدولهای رنگینکمان برای پیدا کردن پسوردها وقت صرف کنند زیرا فایلهای پسورد مکانیسم مقابله علیه این نوع حمله را ندارد.
۸-۳- بدافزار
از معمول ترین و شناخته شدهترین تهدیدها علیه سیستمهای کامپیوتری بد افزارها که شامل ویروسها هستند، میباشند. یک ویروس کامپیوتری نرم افزاری است که خود را بدون اجازه کاربر نصب میکند سپس توسط کپی کردن کدهای منبع خود باقی برنامههای کامپیوتر یا سیستم عامل را آلوده میکند. یک ویروس کامپیوتری معمولا خود را از طریق ایمیل الکترونیک (شکل ۳) و الصاقیات آن که میتواند شامل کدهای اجرایی باشد، گسترش دهد. همچنین شامل ویروسهای کامپیوتری به همراه دیگر انواع نرمافزارهای مخرب مثل کرمهای کامپیوتری، اسبهای تروجان، جاسوس افزار، تبلیغ افزار، keyloggers، ransomware و rootkits میباشد. بدافزار انواعی از اقدامات مضر را بر کامپیوترهای آلوده شده مثل دسترسی به اطلاعات شخصی، تخریب دادهها، logging keystrokes ، ایجاد باتنت ها یا ساختن در پشتی برای دسترسیهای آینده انجام میدهد.
اکثر ویروسها سیستمهای ویندوزدار را با استفاده از مکانیسمهای متنوعی در جهت آلوده کردن هاستهای جدید و استفاده از استراتژیهایی برای فرار از آنتی ویروس هدف قرار میدهند. انگیزه برای ایجاد ویروسها میتواند شامل دریافت مالی یا یک خواسته ضد اجتماعی ساده برای آسیب زدن به تعداد زیادی از افراد باشد. VCL از ابتدایی ترین تلاشها برای فراهم کردن ابزار تولید ویروس بود تا حتی افرادی که تخصصی در برنامه نویسی ندارند بتوانند ویروس درست کنند. یک هکر با نام «مردی در هیچ کجا» از گروه هکر nuke، آن را در جولای ۱۹۹۲ منتشر کرد.
۹-۳- دزدی نرم افزار
دزدی نرم افزار یک مشکل امنیتی شایع برای سازمانهایی است که محصولات نرم افزاری اختصاصی تولید میکنند. عمدتا به نقض قوانین کپی رایت مربوط میشود. زمانی که افراد نرم افزار را از اینترنت دانلود میکنند و بدون اجازه تولید کننده استفاده میکنند. قیمت محصولات نرم افزاری از رایگان تا صدها دلار یا بیشتر متفاوت است. شبکههای Peer-to-peer معمولا در نقض قوانین کپی رایت استفاده میشوند و اجازه توزیع محصولات دارای کپی رایت و نرم افزارهای انحصاری را به افراد غیر مجاز میدهند. اقدامات متقابل معمولا شامل یک سری کد محصولاتی است که برای فعال کردن نرم افزار لازم اند. احتمالا شناخته شده ترین مثال آن کلید محصول یا فرآیند فعال سازی است که برای نصب و استفاده از بسیاری سیستمهای عامل مایکروسافت و محصولات نرم افزاری اختصاصی لازم است. مهاجمان معمولا از تکنیکهای مهندسی معکوس مثل رمزگشایی کد زبان ماشین برای اجتناب از مکانیسمهای حفاظتی نرم افزارهای متعددی استفاده میکنند.
۴- اقدامات متقابل
راههای متعددی برای دسترسی غیر مجاز به سیستمهای کامپیوتری وجود دارد. میتواند از طریق شبکه، سیستم، ارتباط WIFI یا دسترسی فیزیکی انجام شود. سیستمهای کامپیوتری میتوانند با نرم افزارها و سخت افزارهای طراحی شده مناسب که از مشکلات امنیتی و از دست دادن داده جلوگیری میکنند، حفاظت شوند. برای ایمن کردن یک سیستم کامپیوتری لازم است انواع حملههای علیه سیستم را بشناسیم. یکی از تکنیکهای اصلی، جداسازی مهاجم از کامپیوتر و داده است که این جدایی میتواند فیزیکی، منطقی، پنهان کننده یا موقت باشد.
در امنیت کامپیوتر اقدامات متقابل تکینیکی است که تهدید، آسیب پذیری یا حمله را با از بین بردن یا جلوگیری از آن به وسیله به حداقل رساندن آسیبی که ایجاد میکند یا با یافتن و گزارش آن تا اقدامی اصلاح کننده انجام شود، کاهش میدهد. اقدامات متقابل بسته به سیستمیکه قرار است ایمن شود، متفاوت اند. بررسی خطر میتواند برای مشخص کردن اقدام متقابل مناسب، کمک کند. تمام نقضهای ایمنی نمیتوانند به محض وقوع تشخیص داده شوند بنابراین بعضی از انواع بررسیها باید به نوعی جزئی داخلی در کامپیوتر شوند. بررسی، رد فعالیت سیستمی را میگیرد بنابراین وقتی نقض امنیتی به وقوع میپیوندد، مکانیسم و محتوای نقض میتواند مشخص شود. ذخیره سابقه بررسی میتواند به جلوگیری از مهاجمان برای تحت پوشش قرار دادن رد خود به وسیله جلوگیری از تغییر فایلهای log بررسی انجام شده، کمک کند.
۱-۴- مجوز
مجوز عمل تایید هویت یک شخص، از تکنیکهای اولیه جداسازی استفاده شده در امنیت کامپیوتر میباشد. در اینترنت نمیتوانید فردی را که سعی به دسترسی یک سایت دارد، ببینید. اگر شخص مدارکی مناسب فراهم کند به آنها اجازه دسترسی داده میشود. این یکی از محدودههای امنیت کامپیوتر است که به شدت آسیب پذیر است. پسوردها به دلیل هزینه کم و اجرای آسان تا کنون غالب ترین وسیله مجوز دادن در استفاده امروزی ست. مجوز بایومتریک( مثلا اثر انگشت، شناسایی صورت، هندسه دست، اسکن عنبیه، شناسایی صدا) در استفاده محدود است. مجوزهای قدرتمند به بیش از یک نوع اطلاعات برای دادن مجوز احتیاج دارند( مثلا مجوز دوفاکتوری به دو مدرک مجزای مستقل احتیاج دارد).
پسورد رشته ای از کاراکترهاست که برای مجوز به کاربر برای فراهم کردن هویت لازم حین دسترسی به منبع میباشد. اسامیکاربری و پسوردها معمولا توسط مردم حین فرایند log که دسترسی به کامپیوترهای دسکتاپ و لپ تاپ، گوشیهای موبایل، ATMها و غیره را کنترل میکند، استفاده میشود. یک کاربر عادی کامپیوتر پسوردهای زیادی برای ایمیل، حساب بانکی و اقتصاد اینترنتی آنلاین خود دارد. اکثر سازمانها یک سیاست پسورد معین میکنند که حداقل را برای ساخت و استفاده از پسورد، که میتواند حداقل طول و نوع کاراکترها باشد(بزرگ یا کوچک بودن حروف، اعداد و کاراکترهای خاص) و رشتههای ممنوع(نام شخص، تاریخ تولد، آدرس، شماره تلفن)معرفی میکند. بعضی پسوردها از چند کلمه ایجاد میشوند که بهتر است به آنها عبارات عبور بگوییم. کلمات کلید عبور و کدعبور نیز زمانی استفاده میشوند که اطلاعات سری کاملا عددی باشند مثل شماره PIN که عمدتا برای دسترسی به ATM استفاده میشود.
۲-۴- پشتیبانی سیستم عامل و داده
همیشه ممکن نیست که از تصادفات امنیتی که باعث از دست دادن داده یا آسیب به یکپارچگی آن میشود، پیشگیری یا پیش بینی شود با این حال ممکن است بتوان با پشتیبان گرفتن از همه دادههای مهم مبتنی بر یک اصل معمول که باعث بازیابی سریع تر میشود، قوی تر بود. پشتیبانها راهی برای ایمن کردن اطلاعات و بنابراین ارائه یکی از مهمترین مکانیسمهای امنیتی برای اطمینان از قابل دسترس بودن داده هستند.
پشتیبانهای داده یک کپی از تمام فایلهای مهم کامپیوتر هستند که در مکانی جدا نگهداری میشوند. این فایلها برهارد دیسک، سی دی، نوار و اخیرا فضای ابری نگهداری میشوند.
سیستم عاملها همچنین باید پشتیبانگیری شوند تا بتوانند اگر دچار ویروس یا بدافزار شدند به نسخه عملکردی بازیابی شوند. مکانهای پیشنهادی برای پشتیبان گاوصندوقهای ضد آتش، ضد آب و ضد حرارت یا در محلی دور و مجزا از جایی است که فایلهای اصلی نگهداری میشوند.
گزینه دیگر موجود استفاده از یکی از سرویسهای هاستبندی فایل که فایلها را در اینترنت برای اشخاص و مقاصد تجاری استفاده که به فضای ابری معروف شده، است. فجایع طبیعی مثل زمین لرزه، طوفان یا گردباد میتوانند به جایی که کامپیوتر وجود دارد، حمله کنند. پشتیبان فایلهای رسانه ای باید با روشی ایمن به هر مکانی انتقال یابد تا از دزدیده شدن آنها جلوگیری شود.
۳-۴- سامانه تشخیص نفوذ و FireWall
فایروالها روشی مهم برای کنترل و امنیت در اینترنت و شبکههای دیگر هستند. آنها دسترسی به سرویسهای شبکه درونی را محافظت میکنند و انواع مشخصی از حملهها را از طریق فیلتر دسته ای متوقف میکنند.
فایروالها میتوانند مبتنی بر سخت افزار و نرم افزار باشند. یک فایروال نوعی محافظ ورودی عملکردی است که از شبکه اینترانت و شبکههای دیگر کامپیوتر در برابر نفوذ با فراهم کردن یک فیلتر و نقاط امن انتقال به منظور دسترسی به اینترنت و شبکههای دیگر، محافظت میکند.
سامانه تشخیص نفوذ برای شناسایی حملههای جاری شبکه و کمک به بحث پیرامون بعد از حملهها طراحی شده اند.
آنها میتوانند یک شبکه را برای افرادی که در آن هستند یا نباید آنجا باشند یا درحال انجام کارهایی هستند که نباید باشند اسکن کنند، مثلا سعی داشته باشند پسوردهای زیادی را امتحان کنند تا دسترسی به شبکه پیدا شود.
Honey pots کامپیوترهایی هستند که عمدا در معرض مهاجمان قرار گرفته اند و میتوانند برای فهمیدن این که یک مهاجم قصد دارد به سیستم دست یابد و یا تکنیکهایی که برای این کار استفاده میکند، استفاده شود.
۴-۴- آنتی ویروس و محافظت در برابر بدافزار
ویروسهای کامپیوتری هر ساله مسئول بیلیونها دلار خسارت اقتصادی به دلیل از بین رفتن سیستم، هدر رفتن منابع کامپیوتری، تخریب دادهها و افزایش هزینه نگهداری هستند. تخمین زده میشود که احتمالا ۳۰ میلیون ویروس کامپیوتری به هم مرتبط وجود دارند که در حال تشدید شدن هستند.
اکثر اوقات یک نصب تمیز برای حذف تمام اثر یک ویروس کامپیوتری لازم است چون ویروس تغییرات زیادی را در سیستم به وجود میآورد، مثلا رجیستری در سیستمهای مایکروسافت ویندوز.
در پاسخ به حضور و تهدیدهای همیشگی ویروسها صنعت نرم افزار آنتی ویروس به وجود آمده است که حفاظتی گسترده، چه رایگان و چه پولی برای کاربران سیستم عاملهای مختلف فراهم میکند.
اسکنرهای آنتی ویروس رد ویروس را جستجو یا از روشهای الگوریتمیتشخیص برای شناسایی ویروسهای شناخته شده استفاده میکنند. وقتی ویروس پیدا شد، آن را حذف یا قرنطینه میکنند. هیچ نرم افزار آنتیویروسی قادر به شناسایی و کشف تمام ویروسها در یک سیستم کامپیوتری نیست.
۵-۴- امنیت عمومیسیستم عامل
بخش اعظمی از این نوع امنیت، مبتنی بر اصول جداسازی است. با کنترل اینکه چه کسی به چه چیزی دسترسی دارد و این اطلاعات در ACL ذخیره میشود. ACLقابل تغییر به بعضی حوزهها مبتنی بر قوانین الزامیکنترل دسترسی و کنترل دسترسی احتیاطی است. ACL خودش باید ایمن و ضد رشوه باشد در غیر این صورت مهاجم میتواند ACL را تغییر داده و به هر چه میخواهد دست پیدا کند.
۱-۵-۴- امنیت NFTS
NFTS یک سیستم فایلی اختصاصی است که توسط مایکروسافت به وجود آمده است. جایگزین FAT و DOS در اواخر ۱۹۹۰ شده و تبدیل به سیستم فایل بندی پیش فرض برای تمام سیستمهای ویندوز از آن زمان شده است. تعدادی ترقی به نسبت سیستم FAT که از آن سبقت گرفته، داشته است. مثل پشتیبانی ارتقا یافته برای ابر دادهها و ساختارهای دادههای پیشرفته برای ارتقا عملکرد، اعتماد و استفاده از فضای دیسک.
ترقیهای دیگر شامل امنیت مبتنی بر ACLها و رویداد نگری فایلها است. هر فایل یا پوشه یک رمز ایمن دریافت میکند که دارنده ی آن را مشخص میکند و شامل دو ACL است. اولین ACL به نام DACL است که دقیقا مشخص میکند چه انواعی از اقدامات (خواندن،نوشتن،یا حذف) مجاز یا غیر مجاز توسط کدام کاربر یا گروهی از کاربران هستند.
ACL دوم با نام SACL مشخص میکند کدام اقدامات مرتبط با فایل یا پوشه زمانی که عملیات موفق یا ناموفق است باید بررسی یا ذخیره شوند.
۲-۵-۴- امنیت لینوکس و MAC OSX
مک و لینوکس ریشه در سیستم عامل یونیکس دارند و اکثر ویژگیهای امنیتی خود را از آن گرفته اند. ویژگی اصلی امنیتی در این سیستمها، سیستم مجوزی است.
تمام فایلها در یک سیستم مشابه یونیکس مجوز دارند که دسترسیهای مختلفی را برای یک فایل فعال کنند که شامل خواندن، نوشتن و اجرا است. مجوزهای یک فایل عمدتا با استفاده از دستور chmod تنظیم میشوند که از طریق لیست دستورها قابل مشاهده است.
مجوزهای یونیکس به کاربران مختلف اجازه دسترسی به یک فایل را میدهند. انواع گروههای کاربری مجوزهای مختلفی بر یک فایل دارند. سیستمهای پیشرفته تر یونیکس شامل ایده لیستی کنترل دسترسی است که اجازههای تاییدی به کاربران یا گروههای اضافی میدهد.
۳-۵-۴- امنیت ارتقا یافته لینوکس (SE Linux)
امنیت ارتقا یافته NSA لینوکس، مجموعه ای از پچها برای کرنل لینوکس و چندین نرم افزار کاربردی دیگر است تا بتواند ساختار MAC را با زیرسیستمهای عظیم کرنل ادغام کند. مکانیسمی پیشرفته برای فشار بر جداسازی اطلاعات مبتنی بر لزومات اعتماد و یکپارچگی میآورد که باعث میشود تهدیدهای رشوهای و مکانیسمهای فرار از امنیت برنامه آشکار شوند و باعث محدود کردن خسارت میشود که در اثر برنامههای مخرب و مشکلدار به وجود آمده است.
کرنل لینوکس ادغام شده با لینوکس SE، سیاستهای کنترلی دسترسی الزامی را تقویت میکند که برنامههای کاربر و دسترسی به منابع فایل و شبکه را محدود میکند. محدودسازی حقوق به اقل لازم، توانایی برنامهها را برای ایجاد آسیب درصورت مشکل دار بودن یا درمعرض خطر بودن کاهش میدهد. این مکانیسم محدودسازی مجزا از مکانیسمهای کنترلی دسترسی اختیاری عمل میکند.
۶-۴- امنیت برنامه و کدگذاری امنیتی
امنیت برنامه منعکس کننده محاسباتی است که در طول SDLC انجام میپذیرد تا از اشکالات در کدهای کامپیوتری یا آسیب پذیریهای سیستم عامل جلوگیری شود که در طول طراحی، توسعه یا گسترش آن برنامه به وجود آمده اند.
برنامهساز کدهای منبع یک برنامه را بازنگری میکند که میتواند به صورت دستی در بررسی خط به خط یک کد انجام بپذیرد. با توجه به اندازه مشترک برنامههای مجزا، آنالیز موردنیاز برای اشکال یابی داده و بررسی تمام راههای اجرا تا پیدا شدن نقاط آسیب پذیر همیشه کاربردی نیست.
ابزارهای آنالیزی خودکار میتوانند راهها را از طریق کد تالیف شده برای یافتن آسیب پذیری بالقوه ردیابی کنند. تکنیکهای مهندسی معکوس همچنین میتوانند برای شناسایی آسیب پذیریهای نرم افزار که ممکن است مهاجمان از آن استفاده کنند و اجازه به توسعه دهندگان نرم افزار برای اجرای اقدامات متقابل بر اساسی پیش فعال مثلا جلوگیری از دزدی نرم افزاری، استفاده شوند.
کدگذاری امنیتی، روشی برای توسعه نرم افزارهای کامپیوتری است که در برابر آسیب پذیریهای امنیتی محافظت ایجاد میکند. اشکالات، نقصها و ایرادات منطقی عموما باعث کشف آسیب پذیریهای نرم افزاری شده اند.
از طریق آنالیز تعداد زیادی از گزارشات آسیبها، افراد حرفه ای در مسائل امنیتی متوجه شده اند که اکثر این آسیب پذیریها از تعداد کوچکی از خطاهای معمول برنامهنویسی نرم افزارها نشأت میگیرند. با شناسایی روشهای کدگذاری که منجر به چنین خطاهایی شدهاند و آگاه سازی توسعهدهندگان راجع به جایگزینهای امن، سازمانها میتوانند گامهایی پیش فعال در جهت کمک به کاهش آسیبها در نرم افزار قبل از گسترش آن داشته باشند.
۷-۴- حوادث امنیتی کامپیوتر و قوانین سایبری
بسیار مهم است که مجرمین سایبری را به سکوی عدالت بکشانیم زیرا ناتوانی از انجام این کار مطمئنا باعث الهام بخشی بیشتر برای اینگونه جرایم میشود. پاسخگویی به نقض امنیت به دلایل متعددی معمولا دشوار است. یک مشکل این است که اطلاعات دیجیتالی میتوانند بدون آگاهی صاحب داده از نقض امنیت کپی شوند. شناسایی مهاجمان معمولا دشوار است زیرا آنها در حوزههای قضایی مختلف از سیستمهایی که در آن قصد نقض را دارند، فعالیت میکنند. به علاوه آنها معمولا از طریق پراکسی و گسترش دیگر تکنیکهای ناشناس که شناسایی آنها را دشوار میکند، عمل میکنند.
مهاجمان معمولا قادرند logها را حذف یا رد خود را پاک کنند. شرکتهای مختلف تقویت قانون که شامل محلی، ایالتی، FBI و اینترپول بین المللی است، در این قضیه شرکت دارند. بسیار نادر است کسی بواسطه گسترش ویروس کامپیوتری در اینترنت دستگیر یا مظنون شناخته شود.
برنامههای قوانین موجود برای فضای سایبری به چالشی بزرگ برای LEA تبدیل شده است. بعضی از چالشهای اصلی مشکلات موجود در تقویت قوانین سایبری و کشاندن مجرمان سایبری به دادگاه است. مشکلات قانونی بین المللی تهاجمهای سایبری در باطن بسیار پیچیده هستند.
حتی اگر یک مجمع قانونی، مجرم را ردیابی کند با وجود ارتکاب جرم سایبری تضمینی برای پیگرد قانونی وجود ندارد. معمولا مجوزهای محلی به دلیل فقدان قوانین اجرایی قدرت عملیات ندارند. اکثر قوانینی که امروزه داریم صدها قبل از کامپیوترها نوشته شده اند که اطلاعات دیجیتالی وجود نداشته اند. شناسایی عاملین جرایم سایبری و حملههای سایبری مشکل بزرگی برای آژانسهای قانونی است.
۵- خلاصه و رویدادهای آینده
آینده امنیت کامپیوتر به نظر مسابقه ای بی پایان بین مهاجمان و کاربران سیستم عاملها، طراحان و توسعه دهندگان سخت افزاری، نرم افزاری و سیستم عاملهاست. یک کاربر متوسط، آموزشهای گسترده امنیتی نمیبیند اما با اینحال باید هرروزه با واقعیتی به نام تهدیدات علیه ایمنی کامپیوتر روبرو شود.
مثلا اکثر افراد باید با تعداد زیادی پسورد برای ابزارها و وبسایتهای متعدد سروکار داشته باشند بنابراین این عادی ست که منتظر نرم افزارهای مدیریت پسورد یا حذف پسورد باشیم. یکی از کارهایی که میتوان انجام داد استفاده از رفتارهای فردی به عنوان تایید هویتی ارزان و بیومتریک یا گذاشتن تراشه تایید هویت در کامپیوتر است.
یک فرد عادی معمولا از آسیب پذیریهای سیستم کامپیوتری آگاه نیست و حتی نمیداند در صورت وقوع این اتفاقات چه کار کند. بنابراین میتوان انتظار داشت امنیت راهش را به خود سیستمها باز کند، یعنی از نرم افزار به سخت افزار تبدیل شود که البته ساخت آن دشوارتر خواهد بود. نسل آینده ماژولهای پلتفورمیقابل اعتماد، گامی در جهت این اتفاق هستند با اینحال هنوز معلوم نیست چقدر زمان لازم است تا این تکنولوژی به بازار مصرف برسد. تکنیکهای کدگذاری ایمن به سمت پیشرفتی روزافزون در امنیت برنامه و وب رهسپار هستند.
اکنون احساس خوشنودی عمومی بر کاربران و تولیدکنندگان غالب است. هدف فضای سایبری امن با هدفی کوچکتر چون اجازه ندادن به بدتر شدن شرایط و مدیریت مسائل امنیتی جایگزین شده است. این رضایت به نوعی نهادینه شده است. تعداد ویروسهای کامپیوتری در حال افزایش است اما هیچکسی به عنوان مجرم شناخته نمیشود.
تولیدکنندگان انگیزه کمی برای افزایش امنیت دارند زیرا مشتریها بیشتر بر ویژگیهای متعدد تمرکز دارند. زیرساختهای انتقادی با برنامههای کامپیوتری که آسیب پذیریهای جدیدی را در معرض نمایش گذاشته اند، کنترل میشود. آسیب پذیریها همچنان در حال کشف شدن و پچ شدن هستند، سیستم عاملها از زمان ۱۹۷۰ و ۱۹۸۰ از منظر امنیتی پیشرفتی نکرده اند. پیشرفتهای امنیت شبکه به نظر قصد ندارند پیش فعال شوند زیرا بیشتر واکنشی در برابر رویدادهای تروریست سایبری یا جنگ سایبری هستند.
منبع : ماهنامه کامپیوتری رایانه
خوشحال خواهم شد که از نظرات و راهنمایی مفید شما عزیزان در جهت بهبود و ارتقاء کیفی این وبلاگ استفاده نمایم .