وب، ميدان جنگ امروز / مروری بر روش‌های سنتی و جدید نفوذگری

Salar

Active Member
امروزه تعداد سايت‌هاي وب و برنامه‌هاي كاربردي آنها به سرعت در حال افزايش است و شايد تا چند سال قبل هيچكس پيش بيني اين وضعيت را نمي كرد. امروزه تقريبا بسياري از صنايع و حرفه ها از اينترنت و وب استفاده مي‌كنند و خيلي از حرفه ها و صنايع روي وب ايجاد شده اند.

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

تا ديروز برنامه‌هاي مخربي همچون ويروس‌ها، در عين خطرناك بودن خيلي به كندي پيشرفت مي كردند و كامپيوتر‌هاي كمي را آلوده مي‌كردند، اما امروزه يك كرم اينترنتي، همچون subig و MyDoom به سرعت خود را روي اينترنت منتشر مي‌كنند و باعث آلودگي هزاران كامپيوتر مي‌شوند و ميليونها دلار خسارت وارد مي‌كنند.

اما در كنار اين گونه خرابكاري ها، متخصصان وب نيز بيكار ننشتند و شبكه‌هاي مجهزتر و با استحكام تري را بنا كردند و با تجهيزاتي همچون ديواره آتش[2] و IDS ها و همين اواخر با استفاده از Honey Pot ها، تا حدود زيادي موفق به مهار اين گونه حملات شده اند.

امروزه مديران شبكه با توجه به تجربه‌هاي گذشته، شبكه‌هاي مدرن و بسيار مستحكمي ساخته اند و ديواره‌هاي آتش تقريبا" در تمامي شبكه‌ها استفاده مي‌شود و همين امر باعث شده است كه بسياري از نفوذگران نتوانند به راحتي حريم شبكه‌ها را بشكنند و به آنها نفوذ كنند. IDS ها همچون زنگ خطر، مديران شبكه را از وجود و يا امكان وقوع يك حمله آگاه مي‌كنند و Honey Pot ها نيز گذاشته شده‌اند تا هكر‌ها را سرگرم خود كنند! (البته فكر نكنم يك هكر ( به معناي واقعي اش)، خودش را سرگرم اين گونه مسائل كند!!)

سيستم‌هاي عامل و سرور‌هاي شبكه نيز چنين‌اند و بسياري از اشكالاتي كه در گذشته براي آنها ايجاد مشكل مي‌كرده است را رفع كرده‌اند و براي مشكلات آينده نيز به سرعت قطعه تعميري (Patch ) آن را مي سازند و بين كاربران خود منتشر مي‌كنند.

از همه مهم‌تر ديواره‌‌هاي آتش هستند كه هم از شبكه و هم از سيستم‌هاي عامل محافظت مي‌كنند. ديگر مانند گذشته يك شبكه در تيررس نفوذگران قرار نمي‌گيرد. با ايجاد يك طراحي پيچيده و مستحكم براي شبكه ها و تعريف DMZ و دفاع لايه به لايه براي وارد شدن به شبكه ها واقعا بايد ديواره اي از آتش را پيمود!


بسياري از سرور‌هاي انتهايي برنامه‌هاي كاربردي ديگر از طريق اينترنت قابل دسترس نيستند و با آدرس‌هاي غير قابل ميسر دهي[3]، آدرس دهي شده اند و براي هميشه خيال هكر‌ها را راحت كرده اند كه ورود به اين قسمت شبكه ممنوع است!





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


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



حال اين سوال مطرح است كه آيا حالا با وجود يك ديواره آتش و يا يك IDS، شبكه ما امن است؟

خب! هنوز نگراني شنود اطلاعات وجود دارد كه آن هم به وسيله پروتكل SSL حل شده است. ديگر با 128 بيت رمزگزاري به وسيله پروتكل SSL هيچ بني بشري (حداقل تا امروز !) قادر نخواهد بود اطلاعات شنود شده شما را رمزگشايي كند. حال چطور؟ خيالتان راحت شد؟

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



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

براي تمامي ديواره‌هاي آتش ترافيك وب به عنوان ترافيك عمومي و تقريبا قابل اعتماد است. براي همين، بدون هيچ نظارتي بر آن، اجازه ورود براي آن صادر مي‌كنند. براي همين براي يك نفوذگر با ذهن خلاق چه چيز بي دردسر تر از اين دروازه باز!

بايد گفت كه امروزه تنها ابزار كار، براي نفوذگران وب :

1- يك مرورگر وب 2- يك ارتباط اينترنت 3- يك ذهن خلاق...



است كه من در اين جا يك دسته بندي كوچك از حملاتي كه از اين طريق انجام مي‌شود را براي شما بيان مي‌كنم ولي توضيحات آن به صورت جزيي در آينده به شما ارايه خواهد شد. حملات نفوذگران وب در دسته بندي زير مي گنجد:

1- حملات تفسير URL [4]

2-حملات صحت ورودي ها[5]

3-حملات تزريق SQL [6]

4-حملات جعل هويت[7]

5-حملات سرريزي بافر[8]

6- حملات DOS[9] و DDOS[10]



حملات تفسير 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 روي تك تك مولفه‌هاي يك برنامه كاربردي دسترسي دارد پس تنها راه مقابله با اين گونه حملات كدنويسي‌هاي امن تر براي برنامه‌هاي كاربردي است.



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




--------------------------------------------------------------------------------

[2] - Firewall

[3] - non-Routable

[4] - URL Interpretation Attacks

[5] - Input Validation Attacks

[6] - SQL Injection Attacks

[7] - Impersonation Attacks

[8] - Buffer Overflow Attacks

[9] - Denial of Serviec

[10] - Distributed DOS


نويسنده : امير حسين شريفي (مدير سايت www.WebSecurityMGZ.com)
ناشر : سايت همكاران سيستم
 

جدیدترین ارسال ها

بالا