سه شنبه, ۲ بهمن, ۱۴۰۳ / 21 January, 2025
مجله ویستا

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


وب، میدان جنگ امروز
امروزه تعداد سایت‌های وب و برنامه‌های کاربردی آنها به سرعت در حال افزایش می‌باشد و شاید تا چند سال قبل هیچکس پیش بینی این وضعیت را نمی کرد. امروزه تقریبا بسیاری از صنایع و حرفه ها از اینترنت و وب استفاده می‌کنند و خیلی از حرفه ها و صنایع روی وب ایجاد شده اند.
در یکی از مقالات، مطالبی درباره شغل‌‌هایی که توسط اینترنت ایجاد شده است، مطالعه می کردم و این مساله در ذهنم آمد که کلاهبرداری‌های امروزی نیز عوض شده است و شاید بتوان گفت که دیگر دزدان امروزی آدم‌های لات و اوباش کنار خیابان نیستند، بلکه آدم‌های بسیار باهوش و تیزبین، با معلوماتی که شاید یک مهندس کامپیوتر و یا مدیر یک شبکه به ندرت با آنها آشنا باشد!!! و این مساله خیلی جالب است که همراه با پیشرفت علم کامپیوتر و حرفه ای‌تر شدن برنامه‌های کاربردی، نفوذگران وب هم پیشرفت می‌کنند. البته این را هم باید بگویم که این نفوذگران هرچند باعث خرابکاری‌‌هایی می‌شوند، ولی نمی‌توان از تلاش بعضی از آنها در گسترش و پیشرفت اینترنت و وب چشم پوشی کرد.
تا دیروز برنامه‌های مخربی همچون ویروس‌ها، در عین خطرناک بودن خیلی به کندی پیشرفت می کردند و کامپیوتر‌های کمی را آلوده می‌کردند، اما امروزه یک کرم اینترنتی، همچون subig و MyDoom به سرعت خود را روی اینترنت منتشر می‌کنند و باعث آلودگی هزاران کامپیوتر می‌شوند و میلیونها دلار خسارت وارد می‌کنند.
اما در کنار این گونه خرابکاری ها، متخصصان وب نیز بیکار ننشتند و شبکه‌های مجهزتر و با استحکام تری را بنا کردند و با تجهیزاتی همچون دیواره آتش و IDS ها و همین اواخر با استفاده از Honey Pot ها، تا حدود زیادی موفق به مهار این گونه حملات شده اند.
امروزه مدیران شبکه با توجه به تجربه‌های گذشته، شبکه‌های مدرن و بسیار مستحکمی ساخته اند و دیواره‌های آتش تقریبا" در تمامی شبکه‌ها استفاده می‌شود و همین امر باعث شده است که بسیاری از نفوذگران نتوانند به راحتی حریم شبکه‌ها را بشکنند و به آنها نفوذ کنند. IDS ها همچون زنگ خطر، مدیران شبکه را از وجود و یا امکان وقوع یک حمله آگاه می‌کنند و Honey Pot ها نیز گذاشته شده‌اند تا هکر‌ها را سرگرم خود کنند! (البته فکر نکنم یک هکر ( به معنای واقعی اش)، خودش را سرگرم این گونه مسائل کند!!)
سیستم‌های عامل و سرور‌های شبکه نیز چنین‌اند و بسیاری از اشکالاتی که در گذشته برای آنها ایجاد مشکل می‌کرده است را رفع کرده‌اند و برای مشکلات آینده نیز به سرعت قطعه تعمیری (Patch ) آن را می سازند و بین کاربران خود منتشر می‌کنند.
از همه مهم‌تر دیواره‌‌های آتش هستند که هم از شبکه و هم از سیستم‌های عامل محافظت می‌کنند. دیگر مانند گذشته یک شبکه در تیررس نفوذگران قرار نمی‌گیرد. با ایجاد یک طراحی پیچیده و مستحکم برای شبکه ها و تعریف DMZ و دفاع لایه به لایه برای وارد شدن به شبکه ها واقعا باید دیواره ای از آتش را پیمود! بسیاری از سرور‌های انتهایی برنامه‌های کاربردی دیگر از طریق اینترنت قابل دسترس نیستند و با آدرس‌های غیر قابل میسر دهی ، آدرس دهی شده اند و برای همیشه خیال هکر‌ها را راحت کرده اند که ورود به این قسمت شبکه ممنوع است!
دیگر مدیران شبکه به راحتی به هر کسی اجازه نمی‌دهند که با هر پورتی با بیرون از شبکه ارتباط برقرار کنند و یا بسته‌هایی با پورت‌های مشخص به سرعت حذف می‌شوند و تمامی این کارها به وسیله دیواره‌های آتش انجام می‌گردد. یک مدیر شبکه باید دیگر بسیار ساده باشد که بخواهد به سرور شبکه خود از طریق اینترنت ارتباط تل نت برقرار کند و همچنین است ارتباطات از داخل شبکه به بیرون از آن !
آیا واقعا" لازم است که کارکنان یک سازمان از طریق شبکه سازمان خود به وسیله YM! با دوستان خود چت کنند؟! مسلما" پاسخ منفی است. شاید هیچکس فراموش نکرده باشد که چگونه یک نوجوان از طریق چت MSN که با یکی از کارمندان FBI انجام داده است، توانست شبکه پلیس فدرال آمریکا را در عرض چند ساعت هک کند! شبکه ای که میلیونها دلار خرج امنیت آن شده بود! (او فقط از طریق چت کردن با این کارمند بخت برگشته پی برد که رمز عبور این کارمند ۴ حرف بیشتر ندارد!! )
حال این سوال مطرح است که آیا حالا با وجود یک دیواره آتش و یا یک IDS، شبکه ما امن است؟ خب! هنوز نگرانی شنود اطلاعات وجود دارد که آن هم به وسیله پروتکل SSL حل شده است. دیگر با ۱۲۸ بیت رمزگزاری به وسیله پروتکل SSL هیچ بنی بشری (حداقل تا امروز !) قادر نخواهد بود اطلاعات شنود شده شما را رمزگشایی کند. حال چطور؟ خیالتان راحت شد؟
باید به شما بگویم که سخت در اشتباه هستید. درست است که این گونه روش‌های هک محدود شده است، اما روش‌های جدید دیگر ابداع شده که به نوبه خود ساده اما دقیق و بسی خطرناک تر از زمان گذشته خود است. در این مقاله قصد آن داریم که یک معرفی کوتاه درباره آنها داشته باشیم.
● نفوذ در برنامه‌های کاربردی وب
همراه با برنامه‌های کاربردی وب، نفوذ به این برنامه‌ها نیز پیشرفت می‌کند و همراه با تکنولوژی‌های جدیدی که توسط سازمانها ارائه می‌شود، تکنولوژی‌های جدید نفوذگری نیز ابداع می‌شود و در دنیای نفوذگران ارائه می‌شود. اگر شما یک نگاه کوچکی به تمام برنامه‌های کاربردی تحت وب بیاندازید، می‌بینید که همه آنها حداقل ! از طریق پروتکل HTTP با کاربران خود ارتباط برقرار می‌کنند. یعنی یک پورت همیشه در دیواره‌های آتش باز است و آن هم پورت ۸۰ است. همین درِ باز برای نفوذگران کافی است که دیگر به فکر بالا رفتن از دیوار نیفتند!!
برای تمامی دیواره‌های آتش ترافیک وب به عنوان ترافیک عمومی و تقریبا قابل اعتماد است. برای همین، بدون هیچ نظارتی بر آن، اجازه ورود برای آن صادر می‌کنند. برای همین برای یک نفوذگر با ذهن خلاق چه چیز بی دردسر تر از این دروازه باز!
باید گفت که امروزه تنها ابزار کار، برای نفوذگران وب :
۱) یک مرورگر وب
۲) یک ارتباط اینترنت
۳) یک ذهن خلاق...
است که من در این جا یک دسته بندی کوچک از حملاتی که از این طریق انجام می‌شود را برای شما بیان می‌کنم ولی توضیحات آن به صورت جزیی در آینده به شما ارایه خواهد شد. حملات نفوذگران وب در دسته بندی زیر می گنجد:
۱) حملات تفسیر URL
۲) حملات صحت ورودی ها
۳) حملات تزریق SQL
۴) حملات جعل هویت
۵) حملات سرریزی بافر
۶) حملات DOS و DDOS
● حملات تفسیر URL (URL Interpretation Attacks )
این نوع حمله به علت پیکربندی ضعیف سرور‌های وب اتفاق می افتد و باعث حملات بسیار خطرناکی می‌شود. شاید هنوز هیچ‌کس حملات یونیکد و یا رمزگشایی دوباره (double decode) را فراموش نکرده است که این خود مشت نمونه خروار این گونه حملات است، اما آنچه که می خواهم بیان کنم، این است که دیواره‌های آتش نمی‌تواند در این نوع حمله، از سرور ما دفاع کنند!، زیرا که این نوع حمله از طریق پروتکل HTTP و از طریق پورت ۸۰ ( یا پورت ۴۴۳ ) انجام می‌شود.
● حملات صحت ورودی ها (Input Validation Attacks )
باید گفت که این حمله مادر تمامی حملات وب است! این حمله نیز از این جا ناشی می‌شود که لایه منطقی برنامه کاربردی به درستی صحت داده‌های ورودی کاربر را آزمایش نمی‌کند. باز هم باید بگویم که این نوع حمله نیز از طریق دیواره آتش نمی‌تواند محافظت شود زیرا از طریق پورت ۸۰ و به وسیله پروتکل HTTP انجام می گردد!
● حملات تزریق SQL (SQL Injection )
فکر می‌کنم با این نوع حمله خیلی‌ها در سطح پایینی آشنا باشند که همان وارد شدن بدون اجازه از طریق داده‌های
▪ Username = Ali
▪ Password = anything+OR+۱=۱
و یا شبیه به آن است. ولی باید بگویم که این نوع حمله بسیار جالب‌تر و خطرناک‌تر است از آنچه که شما فکر می‌کنید! هکر‌ها می‌توانند از طریق تزریق دستورات SQL، لابه لای داده‌های ورودی تغییرات ناخواسته‌ای را در پایگاه داده شما انجام دهند و یا حتی می‌توان دستورات در سطح پوسته سیستم عامل را از همین طریق اجرا کنند. اگر اغراق نکرده باشم بیش از ۵۰ درصد سایت‌های ایرانی از این مشکل رنج می‌برند. شاید باور نکنید که من شخصا" سایت‌های بزرگ بسیاری را در این مورد تست کرده ام که متاسفانه پاسخ خیلی از این تست‌ها مثبت بوده است. این حمله نیز نمی‌تواند توسط دیواره‌های آتش محافظت شود زیرا که از طریق پورت ۸۰ و به وسیله پروتکل HTTP انجام می‌گردد.
● حملات جعل هویت ( Impersonation Attacks )
بیایید برای تشریح این نوع حمله پامونو تو کفش هکر ها بکنیم !
یک mail از مدیر سایت خود دریافت می‌کنید که در آن نوشته است :
«به خاطر بعضی از تغییرات در شبکه لطفا رمز عبور خود را بررسی کنید! در صورتی که نتوانستید با رمز عبور خود وارد شوید با ما تماس بگیرید!»
● مدیر سایت NGO-ir
شما کلیک می‌کنید و صفحه login سایت باز می‌شود برای اطمینان خاطر از این که کسی شما را گول نزده باشد، یک نگاهی هم به آدرس URL صفحه login می اندازید! آدرس صفحه صحیح است!! پس با خیال راحت وارد می‌شوید و مطمئن می‌شوید که پسورد شما تغییری نکرده است!
فردای همان روز مدیرسایت شما را خواسته و از شما درباره میلی که حاوی حرف‌های رکیکی که شما برایش فرستاده‌اید، توضیح می خواهد! کجای کار شما ایراد داشته است؟
حمله بسیار ماهرانه ای‌ست که به فکر جن هم نمی رسد!! این نوع حمله که بسیار زیرکانه طراحی می‌شود شامل دزدیدن کوکیها و بعد از آن جعل کردن یک نشست توسط نفوذگر انجام می‌شود. از این نوع حملات می‌توان Session Hijacking و Cross Site Scripting را نام برد که برای توضیح هر کدام نیاز به مقالات مفصلی‌ست.
● حملات سرریزی بافر ( buffer Overflow )
این نوع از حملات که بسیار ماهرانه طرح ریزی می‌شود و بعضی از انواع آن، جزء حملاتی‌ست که توسط دیواره‌های آتش هم نمی‌تواند محافظت شود. زیرا که این نوع حملات نیز از طریق پورت ۸۰ انجام می گیرد. کرم‌های مشهور CodeRed و Nimda جزو حملاتی هستندد که از طریق سرریز بافر طرح ریزی شده بودند.
● حملات DOS و DDOS ( Denial Of Service )
حملاتی که هنوز چاره ای برای آن اندیشیده نشده است! با این نوع حمله خیلی ها آشنا هستند، اما شاید خودشان بدون آن که متوجه شده باشند در این نوع حملات شرکت کنند!!
حملات DOS هنگامی اتفاق می افتد که شبکه و یا سایت ما مورد هجوم سیلی از اطلاعات آشغال قرار می گیرد و پهنای باند شبکه را اشغال می‌کند تا نتواند به درستی به کاربران خود سرویس دهد! این نوع حمله را می‌توان در چندین گونه تقسیم کرد.
حملات DDOS همان حمله DOS است اما به صورت توزیع شده! یعنی این دفعه به جای یک نفر سایت ما مورد هجوم هزاران و یا میلیونها کاربری قرار گیرد که برای ما اطلاعات آشغال می فرستند!
با یک ضرب ساده متوجه می‌شوید که وقتی ۱۰۰۰۰ کاربر با سرعت مودم‌های ایرانی یعنی ۳ kb/s به سایتی اطلاعات آشغال بفرستند، حدود ۳۰ مگابایت از پهنای باند شبکه را اشغال می‌کنند. باید بگویم که به کار گرفتن ۱۰۰۰۰ کاربر در سطح اینترنت چیز زیادی نیست! کرم‌های اینترنتی در کمتر از چندین ساعت میلیونها کاربر را آلوده می‌کنند و بعضی از آنها حملات DOS را به صورت بسیار گسترده علیه سایت‌ها (اکثرا هم سایت‌های شرکت مایکروسافت!!) انجام می دهند.
تنها چاره کار برای این گونه حملات دعا کردن در درگاه باری تعالی است !
به طور کلی باید بگویم که امروزه وب محل کارزار نفوذگران گشته است و آنها بدون دردسر و از طریق حداقل امکاناتی که دارند می‌توانند خطرناک ترین حملات را انجام دهند.
همان طور که مشاهده کردی، پورت‌های ۸۰ و یا ۴۴۳ همیشه در دیواره‌های آتش باز هستند و همیشه یک URL روی تک تک مولفه‌های یک برنامه کاربردی دسترسی دارد پس تنها راه مقابله با این گونه حملات کدنویسی‌های امن تر برای برنامه‌های کاربردی است.
منبع : مرکز توسعه و تبادل دانش فناوری اطلاعات