وب، میدان جنگ امروز

 

امروزه تعداد سایت‌هاى وب و برنامه‌هاى كاربردى آنها به سرعت در حال افزایش مى‌باشد و شاید تا چند سال قبل هیچكس پیش بینى این وضعیت را نمى كرد. امروزه تقریبا بسیارى از صنایع و حرفه ها از اینترنت و وب استفاده مى‌كنند و خیلى از حرفه ها و صنایع روى وب ایجاد شده اند.
در یكى از مقالات، مطالبى درباره شغل‌‌هایى كه توسط اینترنت ایجاد شده است، مطالعه مى كردم و این مساله در ذهنم آمد كه كلاهبردارى‌هاى امروزى نیز عوض شده است و شاید بتوان گفت كه دیگر دزدان امروزى آدم‌هاى لات و اوباش كنار خیابان نیستند، بلكه آدم‌هاى بسیار باهوش و تیزبین، با معلوماتى كه شاید یك مهندس كامپیوتر و یا مدیر یك شبكه به ندرت با آنها آشنا باشد!!! و این مساله خیلى جالب است كه همراه با پیشرفت علم كامپیوتر و حرفه اى‌تر شدن برنامه‌هاى كاربردى، نفوذگران وب هم پیشرفت مى‌كنند. البته این را هم باید بگویم كه این نفوذگران هرچند باعث خرابكارى‌‌هایى مى‌شوند، ولى نمى‌توان از تلاش بعضى از آنها در گسترش و پیشرفت اینترنت و وب چشم پوشى كرد.
تا دیروز برنامه‌هاى مخربى همچون ویروس‌ها، در عین خطرناك بودن خیلى به كندى پیشرفت مى كردند و كامپیوتر‌هاى كمى را آلوده مى‌كردند، اما امروزه یك كرم اینترنتى، همچون
subig و MyDoom به سرعت خود را روى اینترنت منتشر مى‌كنند و باعث آلودگى هزاران كامپیوتر مى‌شوند و میلیونها دلار خسارت وارد مى‌كنند.
اما در كنار این گونه خرابكارى ها، متخصصان وب نیز بیكار ننشتند و شبكه‌هاى مجهزتر و با استحكام ترى را بنا كردند و با تجهیزاتى همچون دیواره آتش و
IDS ها و همین اواخر با استفاده از Honey Pot ها، تا حدود زیادى موفق به مهار این گونه حملات شده اند.
امروزه مدیران شبكه با توجه به تجربه‌هاى گذشته، شبكه‌هاى مدرن و بسیار مستحكمى ساخته اند و دیواره‌هاى آتش تقریبا" در تمامى شبكه‌ها استفاده مى‌شود و همین امر باعث شده است كه بسیارى از نفوذگران نتوانند به راحتى حریم شبكه‌ها را بشكنند و به آنها نفوذ كنند.
IDS ها همچون زنگ خطر، مدیران شبكه را از وجود و یا امكان وقوع یك حمله آگاه مى‌كنند و Honey Pot ها نیز گذاشته شده‌اند تا هكر‌ها را سرگرم خود كنند! (البته فكر نكنم یك هكر ( به معناى واقعى اش)، خودش را سرگرم این گونه مسائل كند!!)
سیستم‌هاى عامل و سرور‌هاى شبكه نیز چنین‌اند و بسیارى از اشكالاتى كه در گذشته براى آنها ایجاد مشكل مى‌كرده است را رفع كرده‌اند و براى مشكلات آینده نیز به سرعت قطعه تعمیرى (
Patch ) آن را مى سازند و بین كاربران خود منتشر مى‌كنند.
از همه مهم‌تر دیواره‌‌هاى آتش هستند كه هم از شبكه و هم از سیستم‌هاى عامل محافظت مى‌كنند. دیگر مانند گذشته یك شبكه در تیررس نفوذگران قرار نمى‌گیرد. با ایجاد یك طراحى پیچیده و مستحكم براى شبكه ها و تعریف
DMZ و دفاع لایه به لایه براى وارد شدن به شبكه ها واقعا باید دیواره اى از آتش را پیمود! بسیارى از سرور‌هاى انتهایى برنامه‌هاى كاربردى دیگر از طریق اینترنت قابل دسترس نیستند و با آدرس‌هاى غیر قابل میسر دهى ، آدرس دهى شده اند و براى همیشه خیال هكر‌ها را راحت كرده اند كه ورود به این قسمت شبكه ممنوع است!

دیگر مدیران شبكه به راحتى به هر كسى اجازه نمى‌دهند كه با هر پورتى با بیرون از شبكه ارتباط برقرار كنند و یا بسته‌هایى با پورت‌هاى مشخص به سرعت حذف مى‌شوند و تمامى این كارها به وسیله دیواره‌هاى آتش انجام مى‌گردد. یك مدیر شبكه باید دیگر بسیار ساده باشد كه بخواهد به سرور شبكه خود از طریق اینترنت ارتباط تل نت برقرار كند و همچنین است ارتباطات از داخل شبكه به بیرون از آن !
آیا واقعا" لازم است كه كاركنان یك سازمان از طریق شبكه سازمان خود به وسیله
YM! با دوستان خود چت كنند؟! مسلما" پاسخ منفى است. شاید هیچكس فراموش نكرده باشد كه چگونه یك نوجوان از طریق چت MSN كه با یكى از كارمندان FBI انجام داده است، توانست شبكه پلیس فدرال آمریكا را در عرض چند ساعت هك كند! شبكه اى كه میلیونها دلار خرج امنیت آن شده بود! (او فقط از طریق چت كردن با این كارمند بخت برگشته پى برد كه رمز عبور این كارمند 4 حرف بیشتر ندارد!! )
حال این سوال مطرح است كه آیا حالا با وجود یك دیواره آتش و یا یك
IDS، شبكه ما امن است؟ خب! هنوز نگرانى شنود اطلاعات وجود دارد كه آن هم به وسیله پروتكل SSL حل شده است. دیگر با 128 بیت رمزگزارى به وسیله پروتكل SSL هیچ بنى بشرى (حداقل تا امروز !) قادر نخواهد بود اطلاعات شنود شده شما را رمزگشایى كند. حال چطور؟ خیالتان راحت شد؟
باید به شما بگویم كه سخت در اشتباه هستید. درست است كه این گونه روش‌هاى هك محدود شده است، اما روش‌هاى جدید دیگر ابداع شده كه به نوبه خود ساده اما دقیق و بسى خطرناك تر از زمان گذشته خود است. در این مقاله قصد آن داریم كه یك معرفى كوتاه درباره آنها داشته باشیم.

نفوذ در برنامه‌هاى كاربردى وب
همراه با برنامه‌هاى كاربردى وب، نفوذ به این برنامه‌ها نیز پیشرفت مى‌كند و همراه با تكنولوژى‌هاى جدیدى كه توسط سازمانها ارائه مى‌شود، تكنولوژى‌هاى جدید نفوذگرى نیز ابداع مى‌شود و در دنیاى نفوذگران ارائه مى‌شود. اگر شما یك نگاه كوچكى به تمام برنامه‌هاى كاربردى تحت وب بیاندازید، مى‌بینید كه همه آنها حداقل ! از طریق پروتكل
HTTP با كاربران خود ارتباط برقرار مى‌كنند. یعنى یك پورت همیشه در دیواره‌هاى آتش باز است و آن هم پورت 80 است. همین درِ باز براى نفوذگران كافى است كه دیگر به فكر بالا رفتن از دیوار نیفتند!!
براى تمامى دیواره‌هاى آتش ترافیك وب به عنوان ترافیك عمومى و تقریبا قابل اعتماد است. براى همین، بدون هیچ نظارتى بر آن، اجازه ورود براى آن صادر مى‌كنند. براى همین براى یك نفوذگر با ذهن خلاق چه چیز بى دردسر تر از این دروازه باز!

باید گفت كه امروزه تنها ابزار كار، براى نفوذگران وب :
1- یك مرورگر وب
2- یك ارتباط اینترنت
3- یك ذهن خلاق...

است كه من در این جا یك دسته بندى كوچك از حملاتى كه از این طریق انجام مى‌شود را براى شما بیان مى‌كنم ولى توضیحات آن به صورت جزیى در آینده به شما ارایه خواهد شد. حملات نفوذگران وب در دسته بندى زیر مى گنجد:
1- حملات تفسیر
URL
2-حملات صحت ورودى ها
3-حملات تزریق
SQL
4-حملات جعل هویت
5-حملات سرریزى بافر
6- حملات
DOS و DDOS

حملات تفسیر
URL (URL Interpretation Attacks )
این نوع حمله به علت پیكربندى ضعیف سرور‌هاى وب اتفاق مى افتد و باعث حملات بسیار خطرناكى مى‌شود. شاید هنوز هیچ‌كس حملات یونیكد و یا رمزگشایى دوباره (
double decode) را فراموش نكرده است كه این خود مشت نمونه خروار این گونه حملات است، اما آنچه كه مى خواهم بیان كنم، این است كه دیواره‌هاى آتش نمى‌تواند در این نوع حمله، از سرور ما دفاع كنند!، زیرا كه این نوع حمله از طریق پروتكل HTTP و از طریق پورت 80 ( یا پورت 443 ) انجام مى‌شود.

حملات صحت ورودى ها (
Input Validation Attacks )
باید گفت كه این حمله مادر تمامى حملات وب است! این حمله نیز از این جا ناشى مى‌شود كه لایه منطقى برنامه كاربردى به درستى صحت داده‌هاى ورودى كاربر را آزمایش نمى‌كند. باز هم باید بگویم كه این نوع حمله نیز از طریق دیواره آتش نمى‌تواند محافظت شود زیرا از طریق پورت 80 و به وسیله پروتكل
HTTP انجام مى گردد!

حملات تزریق
SQL (SQL Injection )
فكر مى‌كنم با این نوع حمله خیلى‌ها در سطح پایینى آشنا باشند كه همان وارد شدن بدون اجازه از طریق داده‌هاى
Username = Ali
Password = anything+OR+1=1
و یا شبیه به آن است. ولى باید بگویم كه این نوع حمله بسیار جالب‌تر و خطرناك‌تر است از آنچه كه شما فكر مى‌كنید! هكر‌ها مى‌توانند از طریق تزریق دستورات
SQL، لابه لاى داده‌هاى ورودى تغییرات ناخواسته‌اى را در پایگاه داده شما انجام دهند و یا حتى مى‌توان دستورات در سطح پوسته سیستم عامل را از همین طریق اجرا كنند. اگر اغراق نكرده باشم بیش از 50 درصد سایت‌هاى ایرانى از این مشكل رنج مى‌برند. شاید باور نكنید كه من شخصا" سایت‌هاى بزرگ بسیارى را در این مورد تست كرده ام كه متاسفانه پاسخ خیلى از این تست‌ها مثبت بوده است. این حمله نیز نمى‌تواند توسط دیواره‌هاى آتش محافظت شود زیرا كه از طریق پورت 80 و به وسیله پروتكل HTTP انجام مى‌گردد.

حملات جعل هویت (
Impersonation Attacks )
بیایید براى تشریح این نوع حمله پامونو تو كفش هكر ها بكنیم !
یك
mail از مدیر سایت خود دریافت مى‌كنید كه در آن نوشته است :
«به خاطر بعضى از تغییرات در شبكه لطفا رمز عبور خود را بررسى كنید! در صورتى كه نتوانستید با رمز عبور خود وارد شوید با ما تماس بگیرید!»

مدیر سایت
NGO-ir
شما كلیك مى‌كنید و صفحه
login سایت باز مى‌شود براى اطمینان خاطر از این كه كسى شما را گول نزده باشد، یك نگاهى هم به آدرس URL صفحه login مى اندازید! آدرس صفحه صحیح است!! پس با خیال راحت وارد مى‌شوید و مطمئن مى‌شوید كه پسورد شما تغییرى نكرده است!
فرداى همان روز مدیرسایت شما را خواسته و از شما درباره میلى كه حاوى حرف‌هاى ركیكى كه شما برایش فرستاده‌اید، توضیح مى خواهد! كجاى كار شما ایراد داشته است؟
حمله بسیار ماهرانه اى‌ست كه به فكر جن هم نمى رسد!! این نوع حمله كه بسیار زیركانه طراحى مى‌شود شامل دزدیدن كوكیها و بعد از آن جعل كردن یك نشست توسط نفوذگر انجام مى‌شود. از این نوع حملات مى‌توان
Session Hijacking و Cross Site Scripting را نام برد كه براى توضیح هر كدام نیاز به مقالات مفصلى‌ست.

حملات سرریزى بافر (
buffer Overflow )
این نوع از حملات كه بسیار ماهرانه طرح ریزى مى‌شود و بعضى از انواع آن، جزء حملاتى‌ست كه توسط دیواره‌هاى آتش هم نمى‌تواند محافظت شود. زیرا كه این نوع حملات نیز از طریق پورت 80 انجام مى گیرد. كرم‌هاى مشهور
CodeRed و Nimda جزو حملاتى هستندد كه از طریق سرریز بافر طرح ریزى شده بودند.

حملات
DOS و DDOS ( Denial Of Service )
حملاتى كه هنوز چاره اى براى آن اندیشیده نشده است! با این نوع حمله خیلى ها آشنا هستند، اما شاید خودشان بدون آن كه متوجه شده باشند در این نوع حملات شركت كنند!!
حملات
DOS هنگامى اتفاق مى افتد كه شبكه و یا سایت ما مورد هجوم سیلى از اطلاعات آشغال قرار مى گیرد و پهناى باند شبكه را اشغال مى‌كند تا نتواند به درستى به كاربران خود سرویس دهد! این نوع حمله را مى‌توان در چندین گونه تقسیم كرد.
حملات
DDOS همان حمله DOS است اما به صورت توزیع شده! یعنى این دفعه به جاى یك نفر سایت ما مورد هجوم هزاران و یا میلیونها كاربرى قرار گیرد كه براى ما اطلاعات آشغال مى فرستند!
با یك ضرب ساده متوجه مى‌شوید كه وقتى 10000 كاربر با سرعت مودم‌هاى ایرانى یعنى 3
kb/s به سایتى اطلاعات آشغال بفرستند، حدود 30 مگابایت از پهناى باند شبكه را اشغال مى‌كنند. باید بگویم كه به كار گرفتن 10000 كاربر در سطح اینترنت چیز زیادى نیست! كرم‌هاى اینترنتى در كمتر از چندین ساعت میلیونها كاربر را آلوده مى‌كنند و بعضى از آنها حملات DOS را به صورت بسیار گسترده علیه سایت‌ها (اكثرا هم سایت‌هاى شركت مایكروسافت!!) انجام مى دهند.
تنها چاره كار براى این گونه حملات دعا كردن در درگاه بارى تعالى است !
به طور كلى باید بگویم كه امروزه وب محل كارزار نفوذگران گشته است و آنها بدون دردسر و از طریق حداقل امكاناتى كه دارند مى‌توانند خطرناك ترین حملات را انجام دهند.
همان طور كه مشاهده كردى، پورت‌هاى 80 و یا 443 همیشه در دیواره‌هاى آتش باز هستند و همیشه یك
URL روى تك تك مولفه‌هاى یك برنامه كاربردى دسترسى دارد پس تنها راه مقابله با این گونه حملات كدنویسى‌هاى امن تر براى برنامه‌هاى كاربردى است.

www.ITpaper.com