اصول امنيت برنامه های وب 2

 در  بخش اول به اين موضوع اشاره گرديد كه به منظور ايجاد برنامه های وب ايمن ، می بايست از يك رويكرد جامع تبعيت و بر روی سه لايه متفاوت شبكه ، host و برنامه متمركز گرديد. در اين بخش به  بررسی ايمن سازی شبكه خواهيم پرداخت .

ايمن سازی شبكه
شبكه ، نقطه ورود به يك برنامه وب است و  اولين لايه حفاظتی به منظور كنترل دستيابی به سرويس دهندگان متعدد موجود در محيط عملياتی را فراهم می نمايد . با اين كه سرويس دهندگان توسط سيستم های عامل نصب شده بر روی خود حفاظت می گردند ولی نمی بايست به اين موضوع صرفا" اكتفاء نمود و لازم است كه تدابير لازم به منظور حفاظت آنها در مقابل ساير تهديدات ( نظير ارسال سيلابی ‌از بسته های اطلاعاتی از طريق لايه شبكه ) نيز انديشيده گردد .
ايمن سازی شبكه ، شامل حفاظت از دستگاه های شبكه ای و داده مبادله شده بر روی آنها می باشد . روتر ،‌ فايروال و سوئيچ عناصر اوليه زيرساخت يك شبكه را تشكيل می دهند . شكل زير نحوه استفاده از عناصر فوق را در يك شبكه نشان می دهد .  

   عناصر شبكه : روتر ،‌ فايروال و سوئيچ
  عناصر شبكه : روتر ،‌ فايروال و سوئيچ

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

تهديدات
يك مهاجم به منظور برنامه ريزی حملات خود به دنبال دستگاه های شبكه ای است كه بر روی آنها پيكربندی ضعيفی اعمال شده است . تنظيمات ضعيف پيش فرض ، دستيابی بدون ضابطه به منابع موجود بر روی شبكه ، وجود دستگاه هائی كه به درستی patch و يا بهنگام نشده اند، حفره های امنيتی متعددی را در يك شبكه ايجاد می نمايد . وجود حفره های امنتيی فوق و عدم برخورد مناسب با آنها ، احتمال موفقيت مهاجمان را افزايش می دهد .
مهمترين تهديدات در يك شبكه عبارتند از :

  • جمع آوری اطلاعات
  • sniffing
  • spoofing
  • session hijacking
  • DoS ( برگرفته از Denial of Service )

با آگاهی از ماهيت هر يك از تهديدات فوق و نحوه تاثير آنها بر روی عملكرد شبكه ، می توان امكانات حفاظتی و تدافعی مناسبی را در يك شبكه پيش بينی و پياده سازی نمود.
در ادامه به بررسی مختصر هر يك از تهديدات فوق خواهيم پرداخت .

جمع آوری اطلاعات
مهاجمان در اولين مرحله ،‌اقدام به جمع آوری اطلاعات در رابطه با اهداف خود می نمايند . جمع آوری اطلاعات می تواند باعث افشای اطلاعات توپولوژی شبكه ، پيكربندی سيستم و دستگاه های شبكه ای گردد . يك مهاجم می تواند در ادامه با استفاده از اطلاعات جمع آوری شده بر روی نقاط آسيب پذير متمركز و از حفره های امنيتی موجود در جهت تامين خواسته های مخرب خود استفاده نمايد .

نقاط آسيب پذير
متداولترين نقاط آسيب پذيری كه شبكه را مستعد اين نوع از حملات می نمايد عبارتند از :

  • ماهيت غيرايمن ذاتی پروتكل TCP/IP
  • پيكربندی ضعيف دستگاه های شبكه ای
  • استفاده غيرايمن از سرويس هائی كه به وجود آنها در يك شبكه نياز نمی باشد .

حملات
متداولترين حملات مبتنی بر "جمع آوری اطلاعات"  عبارتند از :

  • استفاده از Tracert به منظور تشخيص توپولوژی شبكه
  • استفاده از Telnet به منظور باز نمودن پورت ها و جمع آوری اطلاعات اوليه 
  • استفاده از پويشگرهای پورت به منظور تشخيص وضعيت پورت ها 
  • استفاده از درخواست های broadcast برای شمارش تعداد host موجود بر روی يك subnet

پيشگيری و مقابله با تهديدات 
به منظور پيشگيری و مقابله با اين نوع حملات می توان از روش های زير استفاده نمود :

  • استفاده از امكاناتی كه اطلاعات اضافه ای را در خصوص پيكربندی نظير نام و شماره نسخه نرم افزار ارائه نمی نمايد .
  • استفاده از فايروال ها به منظور پوشش سرويس هائی كه نمی بايست در معرض ديد و استفاده عموم قرار داده شوند .

sniffing
sniffing كه به آن "استراق سمع "  نيز گفته می شود ، مانيتورينگ ترافيك شبكه برای داده هائی نظير رمزهای عبور ( رمزنشده) و يا اطلاعات پيكربندی است . با استفاده از يك برنامه  packet sniffer  ، می توان به سادگی تمامی ترافيك plain text  ( رمز نشده ) را مشاهده نمود .

نقاط آسيب پذير
متداولترين نقاط آسيب پذيری كه شبكه را مستعد اين نوع از حملات می نمايد عبارتند از :

  • ضعف امنيت فيزيكی
  • ضعف رمزنگاری در زمان ارسال داده حساس  و مهم
  • وجود سرويس هائی كه با يكديگر به صورت متن معمولی ( رمز نشده ) ارتباط برقرار می نمايند .
  • استفاده از الگوريتم های ضعيف رمزنگاری

حملات
مهاجمان با قرار دادن يك  packet sniffer  بر روی شبكه می توانند تمامی ترافيك را capture و  آناليز نمايند .

پيشگيری و مقابله با تهديدات 
به منظور پيشگيری و مقابله با اين نوع حملات می توان از روش های زير استفاده نمود :

  • استفاده از يك سيستم امنيت فيزيكی مناسب به منظور پيشگيری از نصب دستگاه های مخرب بر روی شبكه
  • رمزنگاری اطلاعات حساس و ترافيك برنامه بر روی شبكه 

Spoofing
spoofing ، كه به آن "هويت مبهم "  نيز گفته می شود  ، به كتمان هويت واقعی بر روی شبكه اطلاق می گردد . در اين رابطه از يك آدرس مبداء جعلی كه بيانگر آدرس اوليه صادركننده پيام نمی باشد ، استفاده می گردد . در بسياری موارد از spoofing به منظور مخفی كردن منبع بروز يك تهاجم استفاده می شود. در برخی موارد كه دستيابی به منابع موجود بر روی شبكه بر اساس آدرس متقاضيان انجام می شود ، مهاجمان با تغيير آدرس مبداء سعی می نمايند به اينگونه از منابع دستيابی پيدا نمايند .

نقاط آسيب پذير
متداولترين نقاط آسيب پذيری كه شبكه را مستعد اين نوع از حملات می نمايد عبارتند از :

  • ماهيت غيرايمن ذاتی پروتكل TCP/IP

  • ضعف در فيلترينگ بسته های اطلاعاتی ورودی و خروجی : ترافيك ورودی و خروجی شبكه به درستی كنترل و فيلتر نمی گردد (ingress & egress filtering )

 حملات
يك مهاجم می تواند از ابزارهای متعددی به منظور تغيير آدرس بسته های خروجی استفاده نمايد تا اينچنين وانمود نمايد كه آنها از يك host و يا شبكه ديگر ارسال شده اند .

پيشگيری و مقابله با تهديدات 
به منظور پيشگيری و مقابله با اين نوع حملات می توان از از فيلترينگ egress و ingress بر روی روتر های perimeter استفاده نمود .


session Hijacking
با استفاده از اين نوع حملات كه به آنها man in middle نيز گفته می شود ، مهاجمان می توانند از يك برنامه برای تغيير شكل ظاهری خود  به عنوان يك سرويس گيرنده و يا سرويس دهنده موجه استفاده نمايند . بدين ترتيب ، يك سرويس دهنده و يا سرويس گيرنده واقعی فريب خورده و فكر می كنند كه با يك host معتبر و مجاز ارتباط برقرار نموده اند . در واقع ، اين نوع كامپيوترهای ميزبان متعلق به مهاجمان بوده كه سعی می نمايند با دستكاری شبكه خود را به عنوان مقصد مورد نظر وانمود نمايند . از اين نوع حملات به منظور آگاهی از اطلاعات logon و دستيابی به سيستم و ساير اطلاعات محرمانه استفاده می گردد .

نقاط آسيب پذير
متداولترين نقاط آسيب پذيری كه شبكه را مستعد اين نوع از حملات می نمايد عبارتند از :

  • ضعف در امنيت فيزيكی
  • ماهيت غيرايمن ذاتی پروتكل TCP/IP
  • مبادله اطلاعات به صورت رمزنشده

 حملات
يك مهاجم می تواند از ابزارهای متعددی به منظور انجام عمليات spoofing ، تغيير روتينگ و دستكاری بسته های اطلاعاتی استفاده نمايد. 

پيشگيری و مقابله با تهديدات 
به منظور پيشگيری و مقابله با اين نوع حملات می توان از روش های زير استفاده نمود :

  • رمزنگاری Session
  • استفاده از روش Stateful inspection در سطح فايروال

DoS
در اين نوع از حملات ، امكان دستيابی كاربران مجاز به يك سرويس دهنده و يا سرويس خاص سلب می گردد .در حملات DoS لايه شبكه ، معمولا" مهاجمان با ارسال سيلابی از بسته های اطلاعاتی امكان استفاده از يك سرويس توسط ساير كاربران را سلب می نمايند . علاوه بر مشكل فوق ، در چنين مواردی از پهنای باند و منابع موجود بر روی شبكه استفاده بهينه نخواهد شد .  

نقاط آسيب پذير
متداولترين نقاط آسيب پذيری كه شبكه را مستعد اين نوع از حملات می نمايد عبارتند از :

  • ماهيت غيرايمن ذاتی پروتكل TCP/IP
  • ضعف در پيكربندی روتر و سوئيچ
  • باگ در سرويسهای نرم افزاری

 حملات
متداولترين حملات DoS عبارتند از :

  • ارسال سيلابی از بسته های اطلاعاتی نظير حملات cascading broadcast
  • بسته های اطلاعاتی SYN flood
  • سوء استفاده از برخی سرويس ها 

پيشگيری و مقابله با تهديدات 
به منظور پيشگيری و مقابله با اين نوع حملات می توان از روش های زير استفاده نمود : 

  • فيلترينگ درخواست های broadcast
  • فيلترينگ درخواست های ICMP ( برگرفته از  Internet Control Message Protocol )
  • بهنگام سازی و نصب patches سرويس های نرم افزاری

بدون آناليز صحيح تهديدات ،
 امكان ايجاد يك محيط و يا شبكه ايمن وجود نخواهد داشت .

برای ايمن سازی شبكه از كجا می بايست شروع كرد ؟
برای ايمن سازی شبكه می بايست بر روی هر يك از دستگاه های استفاده شده در شبكه متمركز و پس از بررسی چالش های امنيتی هر يك ، از راهكارهای خاصی به منظور ايمن سازی آنها استفاده نمود.
همانگونه كه اشاره گرديد در زيرساخت شبكه از  روتر ، فايروال و سوئيچ استفاده می گردد كه می بايست ضمن آشنائی با جايگاه آنها در يك شبكه با نحوه عملكرد و ايمن سازی آنها از منظر برنامه های وب نيز آشنا شويم .

گزارش تخلف
بعدی