اصول امنیت برنامه های وب ( بخش دوم ) - برترین مقالات کامپیوتر
X
تبلیغات
نماشا
رایتل


برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

در  بخش اول به این موضوع اشاره گردید که به منظور ایجاد برنامه های وب ایمن ، می بایست از یک رویکرد جامع تبعیت و بر روی سه لایه متفاوت شبکه ، 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 سرویس های نرم افزاری

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

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

نوشته شده در یکشنبه 25 تیر‌ماه سال 1385ساعت 09:47 توسط ADMIN نظرات (0)|


Design By : Night Skin