محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

جلوگیری از نصب برنامه ها در محیط شبکه (Software Restriction)

شما به عنوان یک مدیر شبکه باید توانایی جلوگیری از نصب برنامه ها در محیط شبکه را داشته باشید که اصطلاحاً به آن Software Restriction می گویند. تقریبا مدت 7 ماهی می شود که از انواع آنتی ویروس های تحت شبکه و کلاینت در شبکه استفاده می کنم ، با اینکه تمامی این محصولات بروز می باشند اما برخی اوقات پیش می آید که برخی از ویروس ها در شبکه منتشر می شوند و کاربران نیز بنا بر علاقه و سوء نیتی که دارند آبروی مدیر شبکه را برده و همه جا می گویند ، شبکه مشکل دارد ، شبکه ویروس دارد ، مدیریت شبکه ضعیف است .. ال و بل است و جیمبل است ...

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

اما همیشه به یاد داشته باشید که کاربر جماعت همیشه همین بوده و هست و شما نمی توانید از نظر روانشناسی با این موضوع چندان برخوردی داشته باشید . خوب از اینها بگذریم ، در همین حین به سراغ یکی از کاربران شبکه که دائما از وجود ویروس در کامپیوترش گلایه می کرد و همیشه هم داد و بیدادش بالا بود رفتم ، فلش درایو خودم را وارد سیستم کردم و آنتی ویروس شبکه را تست کردم ، آنتی ویروس هیچ ویروسی را تشخیص نداد اما ویروس در آن سیستم وجود داشت ، فلش درایو من به یک ویروس آلوده شده بود که از هر فایل موجود در درایو یک کپی ایجاد می کرد و نام اصلی آن که همه سازمان به این اسم آن را می شناختند sexy.exe بود .

برسیم به اصل مطلب ، آنتی ویروس پاسخگوی مشکل ما نبود اما نگهان فکری به ذهنم خطور کرد ، یک امکان امنیتی در ویندوز و در قسمت Group Policy به نام Software Restriction وجود دارد که می تواند از اجرا شدن نرم افزارهای خاصی که برایش تعیین می کنیم تحت شبکه و یا تحت خود سیستم جلوگیری کند ، به این فکر کردم که ویروس هم یک فایل اجرایی یا به قول خودمان exe است و طبیعتا سیستم همان رفتاری که با فایل معمولی دارد با این فایل نیز دارد ، ساختار کاری این سیستم بصورت ویژه به چهار دسته تقسیم می شود :

  1. اعمال محدودیت بر اساس الگوریتم درهم سازی فایل یا Hash
  2. اعمال محدودیت بر اساس مسیر اجرایی فایل یا Path
  3. اعمال محدودیت بر اساس گواهینامه فایل یا Certificate
  4. اعمال محدودیت بر اساس مسیر شبکه منطقه شبکه یا Network Zone

هر چهار روش مناسب و کاربردی هستند اما در این زمان من از قابلیت Hash استفاده کردم ، هر فایل برای خود یک Hash منحصر به فرد دارد ، اگر بخواهیم تعریف علمی از Hash داشته باشیم طور خلاصه می گوییم : کدهایی هستند بر اساس الگوریتمهایی که با محاسبات بر روی فایل ها تولید می شوند. یعنی طبق یک سری الگوریتم هایی که بر روی فایلها محاسبات انجام می دهند برای آنها یک کد یکتایی خاصی (Unique) تولید می کنند.

این کد در صورتی که حتی یک bit از آن فایل عوض شود، تغییر می‌کند. به این کدها به طور کلی هش کد Hash Code می‌گویند و چون هیچ دو فایلی Hash کدی همانند هم ندارند (مگر آنکه هردو یک فایل باشند ولی با نامهای متفاوت و یا مکان‌های متفاوتی) بنابر این، می‌توان Hash کدها را همانند اثر انگشت ما انسانها دانست.

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

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

حال مهم نیست که این فایل یک ویروس است یا یک فایل اجرایی نرم افزاری مثل ultrasurf یا امثال اینها ، این مفهوم کلی سناریوی ما بود ، ابتدا فایل ویروس رو بدست می آوریم ( یک فلش را ویروسی می کنیم ) سپس آنرا در محیط ایزوله ای مثل یک ماشین مجازی VM قرار میدهیم و توسط Group Policy رشته Hash آنرا بدست می آوریم و دسترسی به آن از هر جای شبکه را محدود می کنیم ، خوب همین سناریو را بصورت عملی در زیر مشاهده می کنید :

1- فلش خود را ویروسی کنید ، ویروس های مطابق شکل زیر نمایان خواهند شد :

ویروس


2-در این مثال ویروس در واقع یک فایل است اما خود را با نامهای مختلفی تکثیر کرده است ، به اندازه و حجم ویروس دقت کنید.

3-خوب وارد Group Policy و مسیر زیر می شویم

User Configuration > Windows Settings > Security Settings > 
Software Restriction Policies > Additional Rules

4-بر روی قسمت خالی و سفید کادر باز شده راست کلیک کرده و New Hash Rule را انتخاب می کنیم :

Hash Rule


5-پس از اینکه این گزینه را انتخاب کردید از کادر باز شده Browse را کلیک کرده و فایل ویروس مد نظر را انتخاب کنید :

Hash Rule
Hash Rule


6-همانطور که مشاهده می کنید Hash فایل ویروس توسط سیستم تهیه شد ، بر روی OK کلیک کنید و فایل ویروس را مطابق شکل زیر اجرا کنید ، با پیام خطایی مواجه خواهید شد که به شما اجازه اجرای فایل را نمی دهد :

Hash Rule


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


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات