نمايش پست تنها
قديمي November 12th, 2009, 21:45   #4
مسعود رهجو
مدیر سابق تالار سیستمها و روشهای معامله
 
مسعود رهجو's Avatar
 
تاريخ عضويت: Feb 2007
محل سكونت: در آغوش خدا
ارسالها: 3,653
تشکر: 3,982
تشکر از ايشان: 30,640 بار در 4,644 پست
مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)مسعود رهجو (سطح 10)
0

پياده سازي ديواره های آتش

هر كاربر با تجربه اينترنت مي داند كه يك ديواره آتش چيست و چه كاربردي دارد.


تكنولوژيهاي **********ينگ ترافيك شبكه در ويندوز

با وجود اين كه ويندوز 9X/ME و ويندوز XP/NT واسطهاي سوكت مشابه دارند و معماري NDIS نيز درايورهاي باينري miniport سازگار براي واسطهاي شبكه را پشتيباني مي كند، زير سيستمهاي داخلي شبكه آنها تفاوتهايي با هم دارند. در واقع، زيرسيستمهاي شبكه ويندوز NT/2000/XP خيلي پيچيده تر از ويندوز 9X/ME است، ولي هر دو قابل تقسيم به بخش هاي زير مي باشند:

NDIS- : در سال 1989 Microsoft و 3com با هم (Network Driver Interface Specification) NDIS را گسترش دادند كه به درايورهاي شبكه اجازه مي دهد از سرويسهاي واسط شبكه براي مخفي كردن جزئيات عملکرد خودشان استفاده كنند. درايور شبكه با مشخصات ذكر شده NDIS-miniport ناميده مي شود. NDIS-miniport با نسخه هاي مختلف ويندوز سازگار است.

-درايورهاي شبكه: توصيف جزئيات اين درايور خارج از حوصله اين مقاله مي باشد. به طور خلاصه يک درايور شبكه (به طور مثال TCP/IP ) در لايه پايين از توابع كتابخانه ايNDIS براي دستيابي به شبكه استفاده مي كند و ممکن است (TDI (Transport Data Information را در لايه بالايي ارائه دهد. واسط TDI ارائه شده مي تواند توسط Clientهاي متنوعي نظير بخشي از پياده سازي سوكت afd.sys (در ويندوزهاي NT/2000/XP) استفاده شود.

-DLL هاي سطح كار بر كه واسط سوكت ويندوز را تشكيل مي دهند و عبارتند از : WS2_32.DLL ،msafd.dll ، wshtcpip.dll

در زير به بررسي سريع روش هاي ممكن **********ينگ ترافيك شبكه پرداخته خواهد شد. برخي از اين روش ها که در سطح کاربر کار مي کنند داراي محدوديت هاي فراواني هستند. به عنوان مثال نمي توانند از اتصال برنامه هايي که مستقيما از لايه TDI استفاده مي کنند جلوگيري نمايند.



**********ينگ ترافيك در سطح كار بر

1)Winsock layered service provider (lsp) اين رويكرد در msdn به خوبي مستند سازي شده است و داراي يك مثال مناسب (SPI.CPP) مي باشد. از مزاياي اين روش مي توان به امكان تعيين فرآيند هايي كه سوكت هاي ويندوز را فراخواني مي كنند اشاره كرد. اين روش مي تواند براي انجام اعمالي از قبيل کنترل كيفيت سرويس، رمز نگاري جريان دادها و ... استفاده شود. البته همان طور که گفته شدTCP/IP مي تواند مستقيماً از طريق TDI فراخواني شود، بنابراين اين روش براي مراقبت در برابر ويروس ها و اسب هاي تروا و ... استفاده نمي شود. به علاوه اين رويكرد روي مسيرياب قابل استفاده نيست، زيرا بسته هاي اطلاعاتي در سطح TCP/IP مسيريابي مي شوند (يا حتي در سطح کارت شبکه)

2) Windows 2000 Packet Filtering Interface

ويندوز 2000 APIهايي را ارائه مي کند که برنامه هاي كاربردي سطح كاربر با استفاده از آن ها مي توانند مجموعه اي از **********ها -كه توسط TCP/IP براي ********** كردن بسته ها استفاده مي شوند- را نصب كنند. البته قوانين **********ينگ نسبتاً محدودند (بر مبناي عبور/انسداد براي آدرس هاي IP و اطلاعات port). هم چنين اين رويكرد فقط در ويندوز 2000 و نسخه هاي بالاتر قابل استفاده است.

3) جايگزيني Winsock DLL


اين رويكرد با توجه به داشتن مشکلات امنيتي متعدد قابل اعتماد نمي باشد و لذا از بحث در مورد آن خودداري مي شود.

4) قلاب کردن کليه توابع ناامن

استفاده از اين رويكرد نسبتاً مشكل بوده و نيازمند احتياط فراوان مي باشد، زيرا ممكن است بر روي ثبات و امنيت سيستم تاثير بگذارد.

**********ينگ ترافيك در سطح هسته ((kernel

1) kernel-mode sockets filter


اين تكنولوژي براي ويندوزهاي NT/2000 قابل استفاده است. اين رويکرد با قرار گرفتن در مسير تمامي فراخواني ها از msafd.dll (پائين ترين لايه سطح كاربر در Winsock ) به ماژول afd.sys در سطح هسته (TDI-client، که در بالاترين سطح هسته قرار دارد و به عنوان بخشي از سوكتهاي ويندوز شناخته مي شود) و کنترل يا تغيير آن ها کار مي کند. اين روش، روش جالبي است ولي امكانات بيش تري نسبت به روش LSP ندارد. به علاوه، واسط AFD در نسخه هاي مختلف ويندوز متغير بوده است كه اين مساله باعث افزايش تغييرات لازم براي استفاده از اين رويکرد در اين نسخه ها مي شود.

2) TDI-FILTER driver


اين تكنولوژي هم براي ويندوزهاي 9X/ME و هم براي ويندوزهايNT/2000 به كار مي رود. البته پياده سازي آن در اين دو تفاوت هاي فاحشي با هم دارد. براي ويندوز 98 مثالي در Vireo/Numega VtoolsD يافت مي شود. هم چنين براي ويندوز NT/2000 مثالي در سايت http://www.sourceforge.net وجود دارد.

اين تكنولوژي، تکنولوژي معروفي است که در تعدادي از محصولات تجاري (مثل outpost) استفاده شده است. البته همانند ساير روش هايي که تاکنون بيان شد، اين رويكرد فقط مي تواند براي ساختن محصولات ردة ديوارة آتش شخصي استفاده شود و نمي تواند از پشتة TCP/IP شما در برابر حملات خرابكاران مراقبت كند.

3) NDIS Intermediate Driver


Microsoft اين دسته از درايورها را دقيقا به منظور پياده سازي ديواره هاي آتش فراهم كرده است . البته اين درايورها براي ويندوز95 قابل پياده سازي نيست و در مورد ويندوزهاي 98/ME/NT نيز بهتر است از اين کار صرفنظر شود. نصب اين درايورها و هم چنين استفاده آنها براي كاربران خيلي راحت نيست.

پشتيباني از درايوهايIM در ويندوز 2000/XP بهبود يافته است، ولي مساله ديگري که در اين مورد وجود دارد آن است که چنين درايورهايي بايد داراي امضاي ديجيتال ازMicrosof باشد، در غير اين صورت در هنگام نصب کاربر با پيغامي مبني بر عدم داشتن امضاي ديجيتال مواجه مي شود. مثالي در اين زمينه در DDK ويندوزهاي 2000 به بعد وجود دارد.

4) windows 2000 filter hook driver

اين روش در مستندات DDK توضيح داده شده است و فقط براي ويندوز 2000 و نسخه هاي بالاتر قابل استفاده است. مثالي در اين زمينه در http://www.codeproject.com وجود دارد.



5) NDIS HOOKING FILTER DRIVER


اين رويكرد بر مبناي قلاب کردن برخي توابع NDIS عمل مي کند بدين ترتيب کليه ترافيک ارسالي و دريافتي شبکه از مسير توابع قلاب شده عبور خواهد کرد. لذا مي توان محدوديت هاي مورد نظر را در اين نقطه اعمال نمود.


6) Miniport Hooking

پايين ترين سطح براي پياده سازي يک ديواره آتش، سطح miniport مي باشد. البته نوشتن کد در اين سطح، دشواري هاي فراواني دارد و به همين دليل توصيه نمي شود.


منبع : meta-guard
__________________
[کاربران ثبت نام شده مجاز به مشاهده لینک ها می باشند. ]
مسعود رهجو آفلاين است پاسخ با نقل قول
5 تشکر کننده از مسعود رهجو: