در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش جلوگیری از اجرای برنامه ها در شبکه با 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

 

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

نویسنده : محمد نصیری

منبع : جزیره سرویس های شبکه مایکروسافت وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع دارای اشکال اخلاقی می باشد

31 نظر
atefe hossein zadeh

مهندس کاش این مطلب و زودتر مینوشتین. من تقریبا 6 ماهی با این ویروس سروکله زدم

تمام سیستم و فلش هام به همین ویروس آلوده شده بود و به خیلی های دیگه هم انتقالش دادم

حتی یکی از دوستام فلشش و دور انداخت چون به هیچ طریقی این ویروس ول کنه ماجرا نبود.اما آنتی ویروس Microsoft Security Essential تونست شناساییش کنه و از شرش راحت شدم.:)

سعید خلیفی

مرسی بابت این مقاله خوب محمد جان.

آیا وقتی این File رو روی VM اجرا کردم و توسط AD، اطلاعات مربوط به Hash رو به دست آوردم، کافیه که این Hash رو روی AD مربوط به Server اصلی کپی کنم یا اینکه باز هم نیاز به فایل ویروس دارم؟

محمد نصیری

نه نیازی به انتقال فایل نیست ، فایل بایستی ایزوله باشه چون ویروسه ، شما صرفا Hash رو کپی کنید و در سرور قرار بدین کفایت میکنه ، این ریسکه که فایل روی سرور کپی کنید.

سعید خلیفی

یه سوال ذیگه اینکه چرا Policy رو روی User Configuration گذاشتی، نه روی Computer Configuration?

مگه قرار نیست که کامپیوتر Isolate بشه؟

محمد نصیری

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

سعید خلیفی

اگر این نرم افزار رو ویروس و بدافزار در نظر بگیریم، اون موقع باید Policy رو روی Computer Configuration انجام بدیم، درسته؟

nima_8m

مرسی از توضیحات کامل شما

فقط دوستان توجه کنن که اگه این فایل اجرایی ما ورژن جدید داشته باشه این روش کاربردی نیست مثل ultrasurf

محمد نصیری

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

majid55

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

اعمال محدودیت بر اساس مسیر اجرایی فایل یا Path

اعمال محدودیت بر اساس گواهینامه فایل یا Certificate

اعمال محدودیت بر اساس مسیر شبکه منطقه شبکه یا Network Zone

محمد نصیری
  1. Path می تونید بگید کلیه نرم افزارهایی که در این مسیر از سیستم عامل نصب هستند حق اجرا نداشته باشند
  2. Certificate یعنی بر اساس Certificate ای که هر کلاینت داره یا گواهینامه ای که برای هر فایل هست اجازه اجرا داده بشه یا نشه
  3. بر اساس تنظیماتی هست که شما برای وب سایت ها در IE انجام میدید و مثلا یک وب سایت رو تو لیست Trusted ها قرار می دید
majid55

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

محمد نصیری

قطعا شما برای خودتون که محدودیت نمیگذارین این Policy ذاتا برای محیط های Enterprise طراحی شده نه Local اما خوب میشه ازش Local هم استفاده کرد.

javadkey

روش را روی دامین کنترلر که windows 2008r2 هست امتحان کردن برای فیلتر شکن فری گیت اما کار نکرد؟

محمد نصیری

نسخه شما باید دقیقا با نسخه ای که روی کلاینت ها وجود داره تطابق کنه از طرفی مطمئن بشید Policy شما اعمال شده ، اول روی یک سیستم بصورت Local Policy تست بگیرید بعد روی سرور و GPMC ایجاد کنید.

مسعود طاهری چورسی

با سلام و عرض خسته نباشید

جناب مهندس نصیری با تشکر از شما بابت این اموزش

ولی مهندس جان این در مورد نرم افزار هستش میشه بفرمائید که اگر در شبکه کسی از مثلا telegram web که تحت وب هستش و پورتش هم مشخص نیست و به صورت راندوم پورت میگیرن چه کار باید کرد مشکل هم اینجاست که از https استفاده میکنن؟!!

واقعا این کاربرا کلافم کردن

فرهاد پریدار

سلام ، میدونم آموزش برای خیلی وقت پیش هست ولی امیدوارم پاسخ بگیرم

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

این بخش که فرمودین داخل سرور اکتیو منطورتونه یا کلاینت؟

محمد نصیری

طبیعتا در Group Policy Management Console در اکتیودایرکتوری هست

فرهاد پریدار

ممنون ولی چرا من User Configuration رو نمیبینم؟

محمد نصیری

لطفا در قسمت سئوال بپرسید مطرح کنید با تشکر

فواد قریشی مارمی

با سلام

ممنون مهندس جان بابت آموزش خوبتون.

Mehran Eshghi

با سلام خدمت استاد نصیری و سایر دوستان

من هم Path و هم از HASH استفاده کردم اما متاسفانه هنوز روی سیستم ها تلگرام باز میشه

لطفا راهنمایی کنید

مسیر هر کاربری رو جدا وارد کردم مثلا:

\\it06\c$\Users\ali.ghorbani\AppData\Roaming\Telegram Desktop\telegram.exe

ممنون

محمد نصیری

به نسخه ها باید دقت کنید کوچکترین تغییر در نسخه ها باعث میشه دیگه پالیسی شما اعمال نشه ..

Mehran Eshghi

جدا از اینکه نسخه ها رو دانلود کردم و از طریق هش اعمال کردم

مسیر نرم افزار رو جدا جدا روی چندین سیستم همونطوری که مثال زدم انتخاب و ست کردم اما باز هم متاسفانه نشد تا الان

محمد نصیری

مطمئن بشید که Policy داره درست اعمال میشه با Gpresult خروجی بگیرید.

Mehran Eshghi

اگر اشتباه نکنم باید default Security Policy رو روی Disallowed ست کنیم درسته؟

محمد نصیری

اینها درسته روی کلاینت باید gpresult بگیرید ببینید اصلا بهش اعمال شده یا نه ، الان مشکل شما این policy نیست ، مشکل شما اعمال نشدن این policy هست.

Mehran Eshghi

ممنون اقای مهندس درسته

frashid478

با سلام و خسته نباشید ممنون ازراهنماییتون

ممنون برنامه 888 شکن نسخه ** را با این روش Hash کردم اما فقط در مورد همون ورژن کار می کندو ورژن های بعدی را پشتیبانی نمی کند ومیبایست دوباره اضافه کنیم

راه حل بهتری ندارید؟

محمد نصیری

راه حل بهتر دیگه باید در لایه فایروال و UTM ها انجام بشه که باز هم نیازمند این هست که Signature نرم افزار رو داشته باشیم. این بهترین راهکار در لایه شبکه های دومین با کمترین هزینه هست.

soft-c

من می خوام برنامه سایفون را روی سیستم ها ببندم . exe را روی خود سرور اکتیو بردم . در اونجا با روشی که شما گفته بودید سعی کردم این برنامه را ببندم . ولی جواب نمیده . روی خود سرور هم که تست کردم جواب نداد .

رول را روی default domain policy تنظیم کردم و مراحلی که شما گفته بودید .

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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