سالانه به هزاران گزارش امنیتی در Microsoft Security Response Center رسیدگی می شود. برخی از آن ها گزارشاتی هستند که آسیب پذیری امنیتی یک محصول را به دلیل وجود یک نقص اطلاع می دهند. در این موارد این مرکز در کمترین زمان ممکن patch هایی برای برطرف کردن این مشکلات ارائه می دهد. از طرف دیگر برخی مشکلات گزارش شده ناشی از اشتباهاتی است که کاربران هنگام استفاده از این محصولات مرتکب می شوند. اگر شما مطالبی را که در زیر می خوانید به خاطر بسپارید می توانید سطح امنیت سیستم خود را ارتقا دهید. منتظر patchی برای رفع مشکلاتی که در زیر بیان می شود نباشید. این نه تنها برای مایکروسافت بلکه برای هیچ یک از کمپانی های نرم افزاری ممکن نیست. چون این مسائل ناشی از روش کارکرد کامپیوتر است.
قانون اول: اگر شخصی (غیر قابل اطمینان) بتواند شما را ترغیب کند تا برنامه او را روی سیستم تان اجرا کنید، دیگر این کامپیوتر، کامپیوتر شما نیست!
این یک قانون در علم کامپیوتر است: زمانی که یک برنامه اجرا می شود، برنامه کاری را انجام می دهد که برای آن ساخته شده است؛ حتی اگر برای خرابکاری نوشته شده باشد. زمانی که شما یک برنامه را اجرا می کنید تصمیم گرفته اید که کنترل کامپیوترتان را به آن برنامه بدهید. وقتی یک برنامه در حال اجراست، می تواند هر کاری روی سیستم شما انجام دهد؛ حتی چیزی بیشتر از آنچه که خود شما می توانید روی سیستم انجام دهید. یک برنامه می تواند ضرباتی را که به کلیدهای صفحه کلیدتان وارد می کنید مانیتور کند و آن ها را به یک وب سایت ارسال نماید. می تواند هر سندی را که در کامپیوترتان دارید باز کند و کلمه ای را از “می شود” به “نمی شود” تغییر دهد. می تواند یک ویروس نصب کند. می تواند یک به اصطلاح در پشتی(back door) ایجاد کند که به شخصی اجازه دهد تا از راه دور کامپیوتر شما را کنترل کند. می تواند یک ISP را در یک شهر دور شماره گیری کند یا می تواند هارد دیسک شما را فرمت کند. به همین دلایل است که گفته می شود برنامه هایی را که یک وب سایت نامطمئن ارائه می دهد اجرا و یا حتی دانلود نکنید. احتمالا این برنامه همانی نیست که برنامه نویسش آن را نوشته است!
قانون دوم: اگر شخصی (غیر قابل اطمینان) بتواند سیستم عامل کامپیوتر شما را تغییر دهد، دیگر این کامپیوتر، کامپیوتر شما نیست!
در حقیقت یک سیستم عامل یک سری صفر و یک است. زمانی که این صفر و یک ها بوسیله پردازنده تفسیر می شوند باعث می شود که کامپیوتر کارهای مشخصی انجام دهد. تغییر در این صفر و یک ها باعث تغییر در عملکرد کامپیوتر می شود. این صفر و یک ها کجا ذخیره می شوند؟ روی کامپیوتر درست کنار مابقی چیزها! این صفر و یک ها در قالب فایل هستند. تمام اشخاصی که به کامپیوتر دسترسی دارند می توانند به این فایل ها نیز دسترسی داشته باشند. و این یعنی بازی تمام است!
فایل های سیستم عامل جز مهمترین فایل های موجود در یک کامپیوتر هستند و در سطح بالایی از سیستم اجرا می شوند برای همین می توانند هر کاری را انجام دهند. آنها می توانند حساب کاربران را مدیریت کنند، تغییرات پسورد را کنترل کنند و دستورالعمل های حاکم بر روی کامپیوتر شما را اجرا کنند. اگر فرد شروری آن ها را تغییر دهد حالا این فایل های غیر قابل اطمینان می توانند کاری را که آن شخص می خواهد انجام دهند و هیچ محدودیتی برای آن شخص وجود نخواهد داشت. می تواند پسوردها را بدزدد، می تواند خود را به عنوان administrator سیستم معرفی کند، یا کلا توابع جدیدی به سیستم عامل اضافه کند. برای جلوگیری از این دست حملات مطمئن شوید که فایل های سیستمی و رجیستری به شکل درستی حفاظت می شوند.
قانون سوم: اگر شخصی (غیر قابل اطمینان) بتواند دسترسی فیزیکی کنترل نشده ای به کامپیوتر شما داشته باشد، دیگر این کامپیوتر، کامپیوتر شما نیست!
اگر یک شخص شرور بتواند به کامپیوتر شما دسترسی فیزیکی داشته باشد چه کارهایی که می تواند انجام دهد! این ها تنها نمونه هایی است که گفته می شود:
می تواند یک سرویس حمله روی کامپیوتر شما سوار کند و با آن به کامپیوتر شما آسیب برساند.
می تواند کامپیوتر شما را از یک حافظه جانبی دیگر boot کند و هارد دیسک شما را فرمت کند. ممکن است شما بگویید که برای دسترسی به تنظیمات BIOS سیستم تان کلمه عبور گذاشته اید ولی او می تواند کیس را باز کرده و باطری روی مادر بورد را درآورده و پسورد را اینگونه بردارد.
می تواند هارد دیسک شما را درآورده و روی سیستم خودش قرار دهد و از اطلاعات آن سوء استفاده کند.
می تواند از اطلاعات هارد دیسک شما یک نسخه بردارد و بعد در زمان مناسب با اطلاعات آن هر کاری را انجام دهد.
می تواند کیبورد شما را با کیبوردی که یک radio transmitter دارد جایگزین کرده و هر آنچه را که شما تایپ می کنید (شامل تمام پسوردها) مانیتور کند.
یا حتی می تواند آن را بدزدد و برای پس دادن کامپیوتر و اطلاعاتش از شما باج بگیرد.
همیشه مطمئن باشید که یک کامپیوتر به شکل فیزیکی خوب محافظت می شود. ارزش یک کامپیوتر تنها به سخت افزار آن نیست بلکه این ارزش بسته به اطلاعات موجود در آن نیز می باشد. حداقل در محیط های تجاری کامپیوتر هایی چون domain controller ها، database server ها و print/file server ها همیشه باید در اتاق هایی با درب قفل شده نگه داری شوند و فقط administrator ها و افرادی که برای نگه داری این سیستم ها مسئولیت دارند وارد این اتاق شوند.
اما اگر بخواهید از کامپیوترهای شخصی مثل laptop حفاظت درستی شود مثلا هنگام سفر به نکات زیر توجه کنید.
این نوع کامپیوترها به دلیل کوچکی و سبکی شان گزینه خوبی برای سرقت هستند (البته مطمئنا برای سارقین). قفل ها و آلارم های زیادی برای laptop ها وجود دارد. برخی از مدل ها به شما اجازه می دهند که هارد دیسک آن ها را بردارید سپس در مقصد آن را سر جایش قرار دهید. می توانید از ویژگی رمزنگاری ویندوز استفاده و اطلاعات خود را رمزنگاری کنید و در نهایت هنگام سفر Laptop تان را از خود دور نکنید.
قانون چهارم: اگر به شخصی (غیر قابل اطمینان) اجازه دهید تا برنامه اش را روی وب سایت شما آپلود کند، آن وب سایت دیگر وب سایت شما نیست!
این درست عکس قانون اول است. در آن قانون اشاره شد که نباید از وب سایت های نامطمئن برنامه ای دانلود و روی کامپیوتر اجرا کرد. حالا در اینجا فرد، برنامه مخرب خود را روی وب سایت شما آپلود می کند. قابلیت تخریبی این حالت وسیع تر از حالت قبل است. احتمالا تعداد زیادی بازدید کننده از وب سایت شما بازدید می کنند و این یعنی …
کارهایی را که بازدید کنندگان می توانند روی وب سایت شما انجام دهند محدود کنید. اگر برنامه ای را روی وب سایت تان آپلود می کنید آن را خودتان نوشته باشید یا از برنامه نویسی که آن را برای شما نوشته مطمئن شوید. اما اینها به تنهایی کافی نیست. اگر وب سایت شما در یک سرور مشترک واقع شده، باید بیشتر مراقب باشید. هر فردی در صورت دسترسی به یکی از وب سایت های روی سرور مشترک، می تواند کنترل خود را روی سرور توسعه دهد و به سایر سایت های روی سرور دسترسی پیدا کند. اگر وب سایت تان را روی یک سرور مشترک قرار می دهید از قوانین مدیریتی آن سرور مطلع شوید.
قانون پنجم: کلمه عبور ضعیف، امنیت را مغلوب می کند.
هدف پروسه logon تصدیق شخصی است که دارد آن پروسه را انجام می دهد. اگر سیستم عامل بداند که شما که هستید می تواند اجازه دسترسی به منابع سیستم را بدهد یا ندهد. اگر شخصی کلمه عبور شما را بداند می تواند به جای شما وارد سیستم شود. در حقیقت از دید سیستم عامل این شما هستید که وارد سیستم شده اید. هر آنچه که شما اجازه دارید در آن سیستم انجام دهید او نیز می تواند، چون الان او شماست!
ممکن است او بخواهد اطلاعات حساسی را که شما روی سیستم ذخیره کرده اید بخواند، مانند ایمیل های شما. ممکن است شما دسترسی های بیشتری در شبکه نسبت به او داشته باشید، حالا او می تواند در شبکه به جای شما کارهای بیشتری انجام دهد. شاید اصلا او کارهای غیرمجازی به عنوان شما انجام دهد که شما مجرم شناخته شوید. در هر صورت این اعتبار شماست.
همیشه از پسورد استفاده کنید. چه بسیار حساب هایی که اصلا پسورد ندارند! باید پسورد پیچیده ای انتخاب کنید. اسم حیوان خانگی تان، تاریخ مناسبت دار، اسم یک تیم فوتبال محلی و … را به عنوان پسورد استفاده نکنید. از خود کلمه “password” استفاده نکنید.
پسوردی را انتخاب کنید که ترکیبی از حروف بزرگ و کوچک، اعداد و کاراکترهای نشانه گذاری باشد. در صورت امکان آن را طولانی انتخاب کنید. هر از گاهی آن را تغییر دهید. اگر پسورد پیچیده ای انتخاب می کنید به شکل مناسب از آن نگه داری کنید. آن را جایی ننویسید، اگر می نویسید آن را در کشویی که قفل می شود نگه داری کنید. اولین کاری که هر فردی برای دسترسی به پسورد شما می کند چک کردن کاغذهای یادداشتی است که به مانیتورتان چسبانده اید. به هیچ کس پسوردتان را ندهید.
در نهایت به فکر استفاده از یک چیز قوی تر از پسورد برای ورود به سیستم باشید. برای مثال برخی از ویندوزها از کارت های هوشمند برای شناسایی افراد مجاز استفاده می کنند. شاید بخواهید از محصولات بیومتریک مثل اثر انگشت یا اسکن شبکیه چشم نیز استفاده کنید.
قانون ششم: یک کامپیوتر زمانی در امنیت است که administrator قابل اعتماد داشته باشد.
هر کامپیوتری باید یک administrator داشته باشد. کسی که بتواند نرم افزار نصب کند، سیستم عامل را پیکربندی کند، حساب های کاربری را اضافه و مدیریت کند، قوانین امنیتی را برقرار کند، و تمام وظایف مدیریتی که مربوط به سرپا نگه داشتن یک کامپیوتر است انجام دهد. با این تفاصیل او کامپیوتر را تحت کنترل دارد و این administrator را در مقام قدرت بی مانندی (در محدوه کاری خودش) قرار می دهد.
یک administrator غیر قابل اعتماد می تواند تمام تدابیر امنیتی شما را از بین ببرد. می تواند اجازه دسترسی به کامپیوترها را تغییر دهد، سیاست های امنیتی سیستم را دستکاری کند، نرم افزارهای مخرب نصب کند، کاربر جعلی تعریف کند، و هزاران کار دیگر. می تواند هر تدبیر امنیتی موجود در سیستم عامل را تخریب کند، چون آن را در کنترل دارد. بدتر از همه این است که می تواند همه این خرابکاری ها را پنهان کند. اگر شما یک administrator غیر قابل اعتماد داشته باشید، قطعا هیچ امنیتی نخواهید داشت.
زمانی که شخصی را به عنوان administrator به کار می گیرید، از اینکه او می تواند قابل اطمینان باشد مطمئن شوید و درباره سوابق وی تحقیق کنید. به کارمندانی که آن ها را به صورت موقت استخدام کرده اید این وظیفه را ندهید بلکه این مسئولیت را به کارمندان قدیمی خود واگذار کنید.
تدابیر امنیتی را خودتان ایجاد کنید. برای اتاق سرور خود برگه های ورود و خروج تهیه کنید تا بفهمید چه کسانی به اتاق سرور رفت و آمد داشته اند. همان طور که گفته شد سرور خود را در اتاقی که درب آن قفل می شود نگه دارید. برای نصب و به روز رسانی نرم افزارها قانون “دو نفره” (two person) را پیاده کنید. در صورت امکان وظایف مدیریتی را متمرکز نکنید به این معنی که قدرت مطلق را به یک نفر ندهید. حساب Administrator را استفاده نکنید بلکه به هر administrator یک حساب جداگانه با امتیاز administrative بدهید، بنابراین می توانید مشخص کنید که چه کسی چه کاری را انجام دهد.
در نهایت برای اینکه یک administrator بد ذات نتواند کارهای خود را پنهان کند تدابیری بیاندیشد. برای مثال داده های حسابرسی یا ممیزی (audit data) را روی رسانه های write-only ذخیره کنید، یا audit data های سیستم A را روی سیستم B نیز قرار دهید و برای هر سیستم یک administrator جدا معین کنید. هر چقدر administrator های شما مسئول تر و قابل اطمینان تر، مشکلات شما کمتر.
قانون هفتم: داده رمزنگاری شده تنها همان قدر امن است که کلید رمزگشایی آن امن است
فرض کنید که شما بزرگترین، محکم ترین و امن ترین قفل جهان را برای درب خانه تان نصب کرده اید؛ اما کلید این قفل را مثلا در باغچه جلوی درب خانه تان می گذارید. در این حالت محکم بودن قفل خانه این قدرها هم مهم نیست. فاکتور شاخص و حساس، نحوه نگه داری شما از کلید است چون اگر یک سارق آن را پیدا کند، آنچه را که نیاز است تا درب خانه را با آن باز کند دارد. رمزنگاری داده ها هم همان طور است. موضوع این نیست که چقدر الگوریتم رمزنگاری قوی است. امنیت داده ها به اندازه امنیت کلیدی است که آن داده ها را می تواند رمزگشایی کند.
بسیاری از سیستم های عامل و نرم افزارهای رمزنگاری به شما این امکان را می دهند که کلیدهای رمزنگاری را روی کامپیوترها نگه دارید. مزیت آن راحتی است، لازم نیست که شما از کلید نگه داری کنید، اما این به قیمت امنیت تمام می شود.
کلیدها معمولا نامشخص و مبهمند (پنهان شده اند)، همچنین برخی از متدهای پنهان سازی کلیدها خوبند، اما موضوع این نیست که این کلیدها چقدر خوب پنهان شده اند. اگر آن ها روی کامپیوتر نگه داری می شوند پس امکان پیدا کردن آن ها وجود دارد. اگر نرم افزار می تواند آن را پیدا کند فردی که به اندازه کافی انگیزه داشته باشد نیز می تواند آن را پیدا کند.
اگر امکان دارد برای نگه داری کلیدها از ابزارهای ذخیری سازی offline استفاده کنید. اگر کلید یک کلمه یا عبارت است، آن را به خاطر بسپارید، اگر نه آن را روی یک حافظه جانبی نگه داری کنید و از آن backup نیز بگیرید و backup را در محل امن دیگری نگه دارید.
قانون هشتم: حداقل یک ویروس یاب به روز نشده بهتر از این است که اصلا از ویروس یاب استفاده نکنید.
کار یک ویروس یاب این گونه است که داده های کامپیوتر شما را با مجموعه ای از signature های ویروس مقایسه می کند. هر signature، ویژگی یک ویروس خاص است. هنگامی که ویروس یاب داده ای را در یک فایل، ایمیل یا هر جای دیگری بیابد که signature آن نظیر یک ویروس باشد نتیجه می گیرد که یک ویروس پیدا شده است. یک ویروس یاب تنها می تواند ویروس هایی را بیابد که آن ها را می شناسد. این مسئله حیاتی است که فایل signature ویروس یاب خود را به روز نگه دارید. چون ویروس های جدید هر روز ساخته می شوند پس فقط یک ویروس یاب به روز شده، signature های ویروس های جدید را خواهد داشت.
در واقع مشکل یک مقدار عمیق است. یک ویروس جدید عمده خرابکاری هایی را که باید انجام دهد در همان اوایل حیاتش انجام می دهد چون کمتر کسی توانایی تشخیص آن را دارد. زمانی که گفته می شود ویروس جدیدی آمده و مردم ویروس یاب های خود را آن زمان به روز می کنند، ویروس گسترش پیدا کرده است. مهم این است که قبل از اینکه ویروس به کامپیوتر شما حمله کند ویروس یاب به روزی داشته باشید تا حملات حداقل شوند.
شرکت های سازنده ی ویروس یاب برای مشتری هایشان فایل های به روز رسانی را در وب سایت شان به صورت رایگان قرار می دهند. بسیاری از آن ها سرویسی دارند که هنگام انتشار فایل signature جدید به کاربر اطلاع می دهد. از این سرویس استفاده کنید. همچنین نسخه ویروس یاب خود را نیز به روز نگه دارید چون ویروس نویس ها مرتب تکنیک های جدیدی را توسعه می دهند، پس لازم است که ویروس یاب ها نیز عملکردشان را عوض کنند.
قانون نهم: ناشناسی مطلق عملی نیست، چه در دنیای واقعی و چه در دنیای مجازی
تعامل انسان ها باعث تبادل اطلاعات می شود. اگر کسی این داده ها را کنار هم قرار دهد شما را خواهد شناخت. به تمام اطلاعاتی که یک فرد در یک صحبت کوتاه می تواند بدست آورد فکر کنید. با یک نگاه اجمالی او می تواند قدتان، وزن تان و سن تان را به طور تقریبی بسنجد. لهجه شما به او کمک می کند که بفهمد اهل کجا هستید. اگر درباره آب و هوا با او صحبت نکنید حتما درباره خانواده تان، علایق تان، محل زندگی تان و هر آنچه که برای زندگی انجام می دهید با او صحبت خواهید کرد. گرفتن اطلاعات کافی برای شناختن یک فرد وقت زیادی نمی گیرد. اگر شما ناشناس بودن را ترجیح می دهید شرط آن زندگی در یک غار و دوری از ارتباطات انسانی است. همین مسئله در اینترنت نیز صدق می کند. اگر شما از یک وب سایت بازدید می کنید، صاحب آن وب سایت می تواند اگر به اندازه کافی انگیزه داشته باشد بفهمد که شما که هستید. صفر و یک هایی که web session را ایجاد می کنند باید این توانایی را داشته باشند که راهی به سمت محل درست شان پیدا کنند و این محل، کامپیوتر شما است.
راه های زیادی وجود دارد که شما را قادر می کند بیت ها را تغییر شکل دهید. هر چه از راه های بیشتری استفاده کنید بیت ها بیشتر استتار می شوند. برای مثال می توانید از network address translation برای پنهان کردن IP address واقعی تان استفاده کنید، از سرویس های بی نشان کننده (anonymizing service) استفاده کنید، از حساب های ISP متفاوتی برای اهداف متفاوت استفاده کنید، برای وب گردی در برخی سایت ها از کیوسک های عمومی استفاده کنید. تمام این ها تشخیص این که شما که هستید را سخت می کند ولی هیچ کدام از آن ها، آن را غیر ممکن نمی کند.
آیا می دانید که چه کسی سرویس بی نشان کننده را اداره می کند؟ شاید او صاحب همان وب سایتی باشد که شما از آن بازدید می کنید، یا شاید همان وب سایت به نظر بی ضرری باشد که دیروز از آن بازدید کردید و به شما پیشنهاد ایمیل کردن یک کپن ده دلاری رایگان داد. شاید صاحب آن وب سایت مایل باشد که اطلاعات را با دیگر وب سایت ها به اشتراک بگذارد. اگر این طور باشد صاحب وب سایت دوم شاید قادر باشد که اطلاعات دریافتی از دو وب سایت را مرتبط کرده و شما را بشناسد.
آیا این بدان مفهوم است که حریم خصوصی در وب وجود ندارد؟ نه به طور کامل. این بدان معنی است که بهترین راه برای حفاظت از حریم خصوصی در دنیای مجازی، دقیقا مانند روشی است که شما در دنیای واقعی از آن محافظت می کنید، یعنی از طریق رفتارتان. توضیحات مربوط به حریم خصوصی را در وب سایت هایی که بازدید می کنید بخوانید و فقط با آن وب سایت هایی کار کنید که با قوانین آن موافق هستید. اگر درباره کوکی ها نگرانید، آن ها را غیرفعال کنید. مهم تر از همه از وب گردی به شکل آشفته و در هم و بر هم خودداری کنید. این دقیقا مصداق بارز آن است که ما از رفتن به محله های بد یک شهر خودداری می کنیم. اما اگر بخواهید ناشناس باقی بمانید بهتر است که به دنبال یک غار بگردید!
قانون دهم: تکنولوژی یک اکسیر نیست!
تکنولوژی می تواند کارهای فوق العاده ای انجام دهد. در سال های اخیر شاهد رشد و توسعه سخت افزار و نرم افزارهای مختلفی هستیم که این نرم افزارها سخت افزارها را تحت کنترل خود در آورده اند. این اغوا کننده است که باور کنیم “اگر سخت کار کنیم، تکنولوژی یک دنیای بدون خطر برای ما فراهم خواهد کرد” اما مسلما این واقعی به نظر نمی رسد. امنیت بی نقص، سطحی از کمال را می خواهد که مسلما وجود نخواهد داشت، پس در حقیقت این شدنی نیست. درست است عرصه توسعه نرم افزار مورد علاقه انسان است ولی یک علم ناقص است و تمام نرم افزارها دارای باگ اند. با این وجود از برخی از آن ها برای جلوگیری از نفوذ و خرابکاری بهره می برند! حتی اگر یک نرم افزار، بی نقص عمل کند نمی تواند به شکل کامل مشکلات را برطرف کند.
بیشترین حملات در سطوح مختلف به دست خود انسان انجام می گیرد که معمولا به عنوان مهندسی اجتماعی معرفی می شود. با صرف هزینه و بالا بردن پیچیدگی تکنولوژی امنیتی، افراد شرور با تغییر رویه خود به این پیچیدگی پاسخ می دهند. مسلما این که شما نقش خود را در حفظ امنیت سیستم خود بشناسید مهم است، که در صورت سهل انگاری می توانید به راهی برای نفوذ به سیستم خود تبدیل شوید.
دانستن دو نکته ضروری است:
اول، امنیت متشکل از تکنولوژی و سیاست (policy) است. این ترکیبی است از تکنولوژی و چگونگی استفاده از آن برای تعیین این که آیا سیستم شما امن هست یا نه؟
دوم، امنیت، یک سفر است نه یک مقصد. این مشکلی نیست که بتواند برای یک بار حل شود و تمام، بلکه شامل یک سری عمل ها و عکس العمل ها بین افراد خوب و افراد شرور است.
مهم این است که اطمینان حاصل کنید که شما از یک آگاهی امنیتی خوب برخوردارید. منابع مختلفی وجود دارد که به شما در انجام این کار کمک می کنند. وب سایت امنیتی مایکروسافت نمونه ای از آن است که با ارائه صدها مقاله، چک لیست ها و ابزارهای مختلف به شما کمک خواهد کرد.
نویسنده: الهه موبد