پاسخگویی به انواع مختلف رخدادهای امنیتی- قسمت سوم

رخدادهای نوع پنجم: جاسوسی
جاسوسی عبارت است از سرقت اطلاعات برای تخریب منافع یك سازمان یا یك دولت. در بسیاری از موارد دسترسی غیر مجاز به سیستم­های یك شركت نیز برای مقاصد جاسوسی انجام می­گیرد.
 
فعالیت 1: یك گروه هسته ای بسیار كوچك داشته باشید
در موارد جاسوسی و اعمال مجرمانه داخلی سازمان، در اختیار داشتن تعداد زیادی نیروی كمكی چندان هم مفید نیست. با افزایش تعداد اعضای گروه تحقیق، خطر نشت اطلاعات یا تخریب شواهد نیز افزایش می­یابد. رهبر فنی باید یكی از معتدل­ترین اعضای گروه مدیریت رخداد، و كسی باشد كه در شرایط حساس گذشته، قابلیت­های خود را اثبات كرده باشد. مساله ای كه اغلب پیش می آید این است كه آیا مسئولیت سیستمی كه در یك حمله هدف قرار گرفته است باید بر عهده مدیر سیستم قرار بگیرد یا خیر؟ اگر شما به اندازه كافی اطمینان دارید كه شخص مدیر سیستم در عملیات جاسوسی درگیر نیست، پاسخ این سوال احتمالا مثبت خواهد بود.
 
فعالیت 2: بیشترین داده ها را جمع آوری كنید
اطمینان حاصل كنید كه ركوردهای دسترسی مربوط به دستگاه­ های تحت تاثیر حمله، جمع آوری شده و كاملا محافظت می­شوند. این ركوردها ممكن است شامل ركوردهایی از سیستم­های دسترسی مشخص، ركوردهای تلفن از PBX سازمان شما، كتاب­های لاگ، لاگ­های سیستم، لاگ­های شبكه و ویدئوهای دوربین­های كنترلی باشند. تا حد امكان داده های بیشتری را جمع آوری نمایید.

ادامه متن رخدادهای امنیتی...

ادامه نوشته

پاسخگویی به انواع مختلف رخدادهای امنیتی- قسمت دوم

رخدادهای نوع چهارم: استفاده نامناسب
استفاده نامناسب به معنای استفاده از منابع كامپیوتر و شبكه به روشی است كه سیاست­ها یا قوانین یك شبكه را نقض نماید. استفاده نامناسب، از سرقت از منابع برای دسترسی شخصی یا سرگرمی تا استفاده از منابع برای مقاصد مجرمانه را شامل می­شود. جدی­ترین مشكل در این موارد عبارت است از دسترسی، ذخیره سازی یا انتقال داده های غیر اخلاقی. معمولا تحقیقات مربوط به استفاده نامناسب، از اتهامی آغاز می­شود كه باید با آزمون و تحلیل ثابت شده یا رد گردد.
 
فعالیت 1: اطمینان حاصل كنید كه سیاستهای شما برای تحقیقات شما كافی است
آیا سیاست­های شما به اندازه كافی به افراد تحت تحقیق اطلاع رسانی می­كنند كه در این مورد هیچ فرضیه ای مبنی بر حریم شخصی یا دارایی شخصی وجود ندارد؟ آیا سیستم­ها دارای علائم هشدار دهنده لازم هستند؟
 
فعالیت 2: قانون را بشناسید
اطمینان حاصل كنید كه قانون را به تمامی می­شناسید. عدم اطلاع از قوانین كشوری و محلی، باعث می­شود كه یك دیوار دفاعی و قانونی مناسب شكل نگیرد. شما باید مانند یك بازجو قوانین مرتبط با حرفه خود را بشناسید. اگر در جایی شك دارید، توقف كرده و با مشاور خود مشورت نمایید.
 
فعالیت 3: با مشاور مشورت نمایید
چنانچه هر بخشی از یك درخواست برای دریافت اطلاعات، به طور مستقیم یا غیر مستقیم از نهادهای اجرایی قانون نشأت می­گیرد، با مشاور خود در این مورد مشورت كنید. ممكن است شما به عامل یك آژانس اجرایی قانون تبدیل گردید و در معرض قوانین دیگری قرار بگیرید كه توانایی شما را برای تست كردن منابع شركتتان در زمان نیاز محدود نماید.

ادامه نوشته

پاسخگویی به انواع مختلف رخدادهای امنیتی- 1

رخدادهای نوع اول: حملات كدهای خرابكار
كد خرابكار، نامی است كه به برنامه هایی مانند ویروسها ، تروجان ها كرم­ها و اسكریپت­هایی اطلاق می­گردد كه توسط هكرها برای به دست آوردن حق دسترسی، جمع آوری كلمات عبور و تغییر لاگ­های بررسی به منظور پنهان سازی فعالیت­های غیر مجاز مورد استفاده قرار می­گیرند. كد خرابكار معمولا طوری طراحی می­شود كه تشخیص و ردیابی آن مشكل باشد. ویروس­های خاص حتی می­توانند امضای خود را نیز تغییر دهند.
توجه: حتی وقتی فایروال ها و سایر ابزارهای دفاعی شما دشمنان را متوقف می­سازند، باز هم ممكن است این مهاجمان قادر باشند از طریق یك كد تروجان از پیش نصب شده بر روی كامپیوتر شما به هدف خود برسند. به طور معمول شما نباید فقط به یك ابزار امنیتی، مانند یك فایروال یا یك آنتی ویروس به تنهایی اكتفا كنید، زیرا در آن صورت ممكن است نتوانید در برابر كدهای خرابكار از خود محافظت نمایید.
 
فعالیت1: از آنتی ویروس­ها استفاده كنید
یك نرم افزار آنتی ویروس می­تواند برای محافظت در برابر انتشار ویروس­های معمول، تروجان­ها و كرم­ها موثر باشد. اطمینان حاصل كنید كه نرم افزار آنتی ویروس شما به طور گسترده در دسترس بوده و فایل­های امضای ویروس آن به روز هستند. از مكانیزم­هایی استفاده كنید كه به روز رسانی امضاهای ویروس­ها را به طور خودكار انجام می­دهند.

ادامه متن در ادامه مطلب...

ادامه نوشته

پیشگیری از نشت داده‌ها

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

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

ادامه متن در ادامه مطلب...
ادامه نوشته

اصول برنامه نویسی امن

عنصر اصلی در كدنویسی امن با زبان های مختلف برنامه نویسی، مستند سازی خوب و استفاده از استانداردهای قابل اجرا است. استانداردهای كدنویسی، برنامه نویسان را ترغیب به پیروی از مجموعه ای متحدالشكل از قوانین و راهنماییها می كند كه بر اساس نیازمندی های پروژه و سازمان تعیین شده است، نه بر اساس سلایق و مهارت های مختلف برنامه نویسان. به محض تعیین استانداردهای مذكور، می توان از آن به عنوان معیاری برای ارزیابی كدهای منبع، چه به صورت دستی و چه به صورت اتوماتیك استفاده كرد.

از استانداردهای معروف در این زمینه می توان به استانداردCERT برای كدنویسی امن اشاره كرد كه یك سری از قوانین و پیشنهادات را برای كد نویسی امن با زبان های برنامه نویسی C، C++ و جاوا ارائه می دهد. هدف از این قوانین و پیشنهادات، حذف عادت های كدنویسی ناامن و رفتارهای تعریف نشده است كه منجر به آسیب پذیری های قابل سوءاستفاده می شود. به كارگیری استانداردهای مذكور منجر به تولید سیستم های با كیفیت بالاتر می شود كه در برابر حملات بالقوه، پایدارتر و مقاوم تر هستند.


قوانین در برابر پیشنهادات

استانداردهای CERT برای كدنویسی امن شامل یك سری قوانین و پیشنهادات می شوند. در زیر تعریف هر كدام از آنها آورده شده است.

قوانین


یك روش برنامه نویسی زمانی به عنوان قانون تعریف می شود كه دارای خصوصیات زیر باشد:
سرپیچی از روش فوق احتمالاً منجر به یك نقص امنیتی شده و ممكن است به یك آسیب پذیری قابل سوءاستفاده تبدیل شود.

پیروی از روش فوق را بتوان توسط تحلیل اتوماتیك، راهكارهای رسمی یا تكنیك های بازرسی دستی تشخیص داد.


ادامه متن در ادامه مطلب...

ادامه نوشته

طبقه‌بندی آسیب‌پذیری‌های نرم‌افزار

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

ادامه متن در ادامه مطلب...

ادامه نوشته

حمله به برنامه های وبی

حمله به نشست

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

 

طبعا مشابه همه کد نویسی ها ممکن است مدیریت نشست با امنیت بالا پیاده سازی شود و یا ضعف هایی در پیاده سازی وجود داشته باشد، که این به معنای وجود نقاط آسیب پذیر در برنامه می باشد. خطراتی که در چنین شرایطی برنامه و سرمایه های سایت را تهدید می کند به دو دسته کلی زیر قابل تقسیم بندی هستند:

افزایش افقی اختیارات

در این نوع حملات کاربر قادر است به گونه ای نشانه نشست را مورد استفاده قرار دهد که اطلاعات و قابلیت های کاربر دیگری در دسترسش قرار گیرد. برای انجام این نوع حملات هکر باید در گروه کاربر قربانی عضو باشد.


ادامه متن را در ادامه مطلب بخوانید...

ادامه نوشته

Patch چيست ؟

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

نحوه آگاهی از patch  مورد نياز توليد کنندگان نرم افزار پس از آماده شدن patch ها  ، آنان را بر روی وب سايت های خود ارائه خواهند داد . کاربران کامپيوتر می توانند با مراجعه به سايت شرکت عرضه کننده محصول نرم افزاری در مرحله اول از ارائه Patch جديد آگاهی يافته و در مرحله دوم با دريافت و نصب آن ، نرم افزار نصب شده بر روی سيستم خود را ارتقاء دهند . پس از ارائه يک patch ، می بايست سريعا" اقدام به نصب آن بر روی سيستم شود . بدين ترتيب فرصت استفاده از نقاط آسيب پذير موجود در يک محصول نرم افزاری توسط مهاجمان سلب و امکان موفقيت آنان کاهش می يابد. برخی نرم افزارها بصورت اتوماتيک بررسی لازم در خصوص ارائه نسخه های جديد و بهنگام شده را انجام داده و به کاربران اعلام می نمايند  که يک نسخه جديد ارائه شده و امکان دريافت و نصب آن وجود دارد . برخی از توليد کنندگان نرم افزار ، آماده شدن يک Patch را از طريق Email به اطلاع کاربران می رسانند. در صورتی که امکان استفاده از تسهيلات فوق وجود داشته باشد ، پيشنهاد می گردد که از مزايای آن استفاده گردد. در صورتی که امکان استفاده از پتانسيل های اشاره شده وجود نداشته باشد ، می بايست به صورت ادواری از وب سايت های توليد کنندگان بازديد نموده  تا در صورتی که يک patch جديد ارائه شده باشد از وجود آن آگاه وسريعا" نسبت به دريافت و نصب آن بر روی سيستم خود اقدام نمود.