نماد سایتنماد سایت بلاگ ایران هاست

حمله FTP Bounce چیست؟ و معرفی بهترین راه حل جهت رفع مشکل FTP Bounce Attack

در چند سال اخیر، بحث های بسیاری در خصوص مشکلات مربوط به دستور PORT در پروتکل FTP و حمله FTP Bounce وجود داشته است. این مشکلات بر اساس سوء استفاده از دستور PORT در پروتکل FTP به وجود آمده است.

جهت درک این حملات ، شناخت پروتکل FTP ضروری است. و اگر هنوز این پروتکل کاربردی را نمیشناسید توصیه می شود مقاله پروتکل انتقال فایل را مطالعه نمایید.
یک client ارتباطی را با پورت ۲۱ یک  FTP server برقرار می کند. به طوری که بعدا سرور قادر خواهد بود تا داده را به client ارسال کند. یک ارتباط(data) دومی نیز می بایست بین server و client برقرار شود.
برای ایجاد دومین ارتباط، client دستور PORT را به server می فرستد. این دستور شامل پارامترهایی است که به سرور می گویند به کدام نشانی IP و به کدام پورت در آن نشانی باید متصل شود.(در بیشتر موارد یک شماره پورت بالا در client در نظر گرفته می شود.)
سپس server ارتباطی از پورت ۲۰ با مقصد و پورت تعیین شده در پارامترهای دستور PORT ایجاد می کند که از کاربرد درگاه ۲۰ می باشد.
معمولا به صورت پیش فرض از دستور PORT فقط در “active mode” FTP استفاده  می شود. و در “passive mode”(به صورت PASV[2] شناخته شده است) از این دستور استفاده نمی شود. لطفا توجه داشته باشید که FTP serverها معمولا توانایی اجرای هر دو مد را دارند و client تعیین کننده مد استفاده از آن است.

حمله FTP Bounce چیست؟

بر طبق پروتکل FTP، دستور PORT، توسط originating machine، ماشین و پورتی دلخواه جهت ارتباط داده تعیین می کند. هرچند که این روش موجب می شود تا یک مهاجم بتواند با انتخاب ماشینی که originating client نیست، ارتباطی را با پورت مهاجم برقرار کند.
ایجاد این ارتباط با یک ماشین دلخواه، جهت اهداف بدون مجوز را FTP Bounce Attack می نامند.

چندین مثال از اینکه چگونه مهاجمان FTP bounce Attack را به کار می برند

۱- Port scan

مهاجمی قصد انجام port scan در خصوص یک سایت را دارد. او از طریق یک FTP server به عنوان جایگاهی جهت scan بهره می گیرد. بدین روش scan از طریق FTP server انجام می شود به جای اینکه از منبع معمول(FTP client) انجام گیرد.
در مواردی  مشابه، این تکنیک برای مهاجم مزایای بیشتری جز اینکه منبع اصلی جستجو را پنهان کند، دارد. زمانی که سایت قربانی در همان subnet مربوط به FTP server باشد یا زمانی که سایت قربانی ترافیک FTP server را فیلتر نمی کند، مهاجم می تواند  از server به جای client، به عنوان منبع port scan استفاده نماید تا بدین روش کنترل کننده های احتمالی دسترسی را bypass کند.

۲- Bypassکردن واحدهای فیلترpacket اولیه

امکان دارد یک مهاجم در پیکربندی شبکه certain، یک Firewall (یا دیگر اقدامات امنیتی مرزی)را Bypass کند.
برای مثال فرض کنید که یک سایت در پشت Firewall،  anonymous FTP server دارد. با استفاده از روش port scan بالا، مهاجم متوجه می شود که یک web server داخلی در آن سایت بر روی پورت ۸۰۸۰ وجود دارد، پورتی که به طور معمول توسط block ، firewall شده است.
با اتصال به public FTP server آن سایت، مهاجم ارتباط بعدی بین FTP server و پورت دلخواه را در یک non-public machine در آن سایت پایه ریزی می کند.(برای مثال سرور وب داخلی و پورت ۸۰۸۰). در نتیجه مهاجم ارتباطی را با ماشینی که توسط یک firewall محافظت می شود برقرار می کند.

 ۳- Bypassکردن واحدهای dynamic فیلتر packet اولیه

این مسئله مشکل دیگری است که سایت clientهایی که جهت حفاظت خودشان از firewallهایی با فیلترهای dynamic packet استفاده می نمایند، روبرو می شوند. این سایت ها در مقابل حملات بی دفاع هستند چرا که firewallها به اطلاعاتی که دریافت می کنند اعتماد دارند.
در این مثال سایت قربانی تمامی سیستم هایش را پشت firewallهایی که از فیلترهای dynamic packet استفاده می کنند، قرار داده است. شخصی در سایت قربانی صفحه های وب را مرور کرده و یک Java applet را که توسط مهاجم تولید شده است download می کند. بدون اینکه آن شخص بداند، Java applet یک ارتباط خروجی FTP با ماشین مهاجم برقرار می کند. سپس  Java applet دستور PORT را به صورتی که جهت ایجاد ارتباط سرور و ارائه پورت Telnet در سیستمی در پشت firewall قربانی برقرار کند، صادر می کند.
از آنجا که dynamic packet filtering firewall، بسته های خروجی را جهت تعیین هرگونه عملیات لازم بر روی آن بخش بررسی می کند. به دستور PORT پاسخ داده و اجازه می دهد تا یک ارتباط ورودی از سرور وب راه دور جهت پورت Telnet بر روی ماشین قربانی برقرار شود. به صورت معمول این ارتباط توسط firewall امکانپذیر نیست. این مورد زمانی امکانپذیر است دستور PORT توسط client صادر شده باشد.

راه حل

حمله ای که به عنوان مثال بیان شد، بخش های اصلی آسیب پذیری را مشخص می کند: محتویات دستور PORT قابل اعتماد نیستند چرا که یک پتانسیل قوی برای مهاجم ایجاد می کنند. مثال حمله FTP Bounce نشان می دهد که  چه اتفاقهایی می افتد اگر که سرور به اطلاعات اعتماد کند. همچنین مثال فیلتر dynamic نیز نشان می دهد که چه اتقاقی می افتد اگر که firewall به اطلاعات اعتماد کند.
از آنجایی که عنصر هسته ای حمله FTP bounce مورد توافق RFC می باشد، راه حل روشن و صریحی برای آن وجود ندارد. نکته مهمی که می بایست به خاطر داشت، این است که اگرچه در شرایط RFC آمده است که ویژگی و امکانات می بایست در نرم افزار سرور موجود بوده و در دسترس دیگر توافق کنندگان RFC باشند ولی در آن شرایطی وجود ندارد که طی آن هر کاربر end user می بایست اجبارا از این امکانات استفاده نماید.

۱- نرم افزار FTP Server

از یک چشم انداز امنیتی بهترین راه حل جهت مشکل حمله FTP Bounce این است که اطمینان حاصل کنید نرم افزار FTP server قادر به برقراری ارتباط با ماشین های موقتی و دلخواه نباشد. اگرچه سایتهایی که از RFC پیروی می کنند ممکن است به این نتیجه برسند که اجرای این راه حل، برنامه های در حال استفاده را تحت تأثیر قرار  می دهد. بدین ترتیب بسیاری فروشندگان راه حل هایی را جهت در اختیار گذاشتن سرویس FTP  به سایت ها ارائه می دهند تا از آن میان مناسب ترین وضعیت را انتخاب کنند.

عملکرد فروشندگان به سه گروه تقسیم می شود

۱- پیروی سرسختانه از قابلیت RFC:

تنها عملکرد مورد قبول دستور PORT جهت ارتباط مستقیم با یک ماشین third-party است. برخی فروشندگان مشکل را با تغییر دیگر سرویس های شبکه حل می کنند به طوری که ارتباط هایی را که از پورت داده FTP(پورت ۲۰) ایجاد می شوند را رد می کنند.

۲- توقیف سرسختانه دستور PORT:

دستور PORT جهت ارتباط با originating client مورد استفاده قرار گیرد و این تنها قابلیت مجاز است.

۳- رفتار متغیر دستور PORT:

با در نظر گرفتن یک روش پیش فرض، هر یک از دو روش بالا را می توان در خصوص دستور PORT به کار برد. به طور معمول می توان با تغییر یک پارامتر بین دو روش بالا switch نمود. می بایست دقت داشته باشید که کدام روش را به صورت پیش فرض استفاده می کنید. توجه داشته باشید که نرم افزار سرور شما در کدام دسته قرار می گیرد.

پیشنهاد ما این است که ۲روش زیر را با توقیف دستور PORT استفاده نمایید.

پیکربندی سرور FTP

برخی از حمله FTP Bounce که پیشتر  توصیف شد تکیه بر یک یا چند سرور دارند(بسته به نوع حمله) تا امکان upload فایل از طریق FTP را ایجاد کنند.(معمولا در خصوص anonymous FTP).
سایت شما می بایست تنها اگر شرایط کاملا ضروری است اجازه anonymous upload را بدهد. حتی پس از آن می بایست به دقت فضاهای ورود اطلاعات را پیکربندی نمایید.

پیکربندی شبکه

چند مورد وجود دارند که می بایست در هنگام پیکربندی محدوده شبکه تان به خاطر بسپارید.(برای مثال فیلتر کردن packet در routerها و firewallها.)
سایتها می بایست اطمینان حاصل کنند که توپولوژی شبکه آنها به دقت طراحی شده است تا محدوده ترافیک موثر بین سیستمهایی که سطح متمایزی از سرویس ها را ارائه می دهند مشخص شود. برای مثال، یک سایت عموما یک سرویس anonymous FTP، web service و یک واحد جهت نامه های الکترونیکی ورودی دارد. این سایت مراتب امنیتی مناسبی به کار برده چرا که ماشینهایی را که سرویس خارجی ارائه می کنند را از ماشینهایی که سرویس داخلی ارائه می کنند جدا کرده است.این نکته بسیار مهم است که مرزبندی های قوی شبکه بین این دو دسته از ماشین ها داشته باشید.(ترجیحا از firewall استفاده نمایید.) در این روش حتی اگر یک سرور FTP آسیب پذیر شود سایت در مرزهای بین شبکه ، محافظت می شود.
برای مثال سایتهایی که سرور FTP دارند تا بدین وسیله به دستور PORT امکان دهند تا ارتباط هایی را با ماشینهای third-party برقرار کنند، می بایست  ترافیک بین سرور FTP و ماشین هایی را که سرویس های وابسته به hostname یا نشانی IP جهت احراز هویت دارند را مسدود نماید. مثالهای از این نوع سرویس ها: rlogin، rsh و NFS هستند. از طرفی یک firewall یا filtering router می بایست همیشه از دسترسی خارجی مستقیم به چنین سرویس هایی جلوگیری نماید. بهتر است همچنین ترافیکی که یک سرور داخلی FTP که در این مسیر ایجاد می کند را فیلتر نماید. بدین ترتیب از استفاده  شدن سرور FTP به عنوان ماشین واسط که جهت حمله به پروتکل هایی با مکانیزم های احراز هویت ضعیف، بر پایه hostname یا نشانی IP جلوگیری می نماید.

 از دهه آغازین قرن ۲۱، واژه هکر معادل افرادی ناشناس قرار گرفته است که در کنج اتاقی تاریک در صدد تهدید اینترنت می باشند، اما همیشه این گونه نبود…! هکر های اولیه دانشجو بودند، شهروندانی آرام و بی خطر.  در دانشگاه صنعتی ماساچوست ( MIT )  طی سالهای ۱۹۵۰ و  ۱۹۶۰ میلادی “هک” روشی ظریف و الهام گونه برای حل مسایل پیچیده درسی بود. بسیاری از هک های ابتدایی در این دانشگاه بیشتر به لطیفه و شوخی شبیه بودند. به مرور  زمان واژه هک بیشتر و بیشتر با برنامه نویسی رایانه ای (چه  در MIT و چه در دیگر مراکز) عجین شد. درآن دوران هک شاهکارهایی از قدرت برنامه نویسی بود، چرا که چنین فعالیت هایی علاوه بر دانش حرفه ای، نیازمند خلاقیت بالا هم بود.

پسران قدرتمند:

همین دانشجویان دانشگاه صنعتی ماساچوست، هسته اولیه انجمن های هک را تشکیل دادند. انجمن هایی که بعدها شامل مردان جوان و نوجوانان هم شدند. نویسنده کتاب های علمی تخیلی، آقای بروس استرلینگ، در کتاب”سرکوب هکر”، دلیل استقبال جوان تر ها از هک را قدرت می داند، وی میگوید: ” یک پسر جوان عملا توانمند و قدرتمند نیست اما دانش، وی را قادر می سازد تا بر کامپیوترها سلطه داشته باشد. ” استرلینگ  در کتابش به حیات و زوال نسل اول هکرها پرداخته و می نویسد: “نباید جاذبه عمیق این قدرتنمایی را برای جوانان دستکم گرفت.”

همین جوانها در سنین پایین تر از طریق شبکه های خطوط تلفن به کامپیوترهای قدیمی نفوذ می کردند و در بوردهای مدرسه از موفقیت های خود حرف می زدند. آن دوران، دوره مجلات هک بود نشریاتی نظیر فارک و ۲۶۰۰.

گروه های هکری آن زمان اسمهای خاصی نیز داشتند اسامی مانند: لژیون سرنوشت، اربابان نیرنگ و مبارزان نئونی!

 

همان طور که هکر ها قدرتمند تر می شدند، به تدریج مواجهه آنها با قانون نیز آغاز شد. در خلال سالهای ۸۰ و ۹۰ قرن بیستم، قانون سوء استفاده از رایانه در ایالات متحده امریکا و بریتانیا تصویب شد. قانونی که بر اساس آن مرتکبین به سوء استفاده تحت پیگیرد قانون قرار می گیرند.

مجموعه سخت گیری ها در ادامه قانون سوء استفاده از رایانه، طی سالهای ۹۰ قرن بیستم به اوج خود رسید. در آن سال دولت ایالات متحده عملیاتی را به نام  “خورشید-شیطان” علیه هکرها و تحت رهبری سازمان امنیتی آغار کرد.

گروه پویا:

گرچه عملیات “خورشید-شیطان” با هدف قلع و قمع هک ایجاد شده بود ولی سرانجام با شکست مواجه شد. با فراگیر شدن سیستم های مرتبط با هم، گروه های جدید هک پدید آمد، تیم هایی که مشتاق به رخ کشیدن مهارتهایشان بودند. طوری که ادعا و رجزخوانی بخشی از فعالیت هکرها بوده و هست. در سالهای دور ، گروه های هک و هکرهای منفرد همیشه در حال ادعاهایی بزرگ بودند برای نمونه در سال ۱۹۹۸ اعضای گروه L0pht  ادعا کرد میتواند تنها در نیم ساعت اینترنت را از کار بیاندازد!

درباره توانمندیهای هکرها این نمونه ها جالب توجه اند:

هکری به نام “پسرمافیایی”، توانمندی اش را در هک سایتهای اینترنتی شرکت های بزرگی چون یاهو، آمازون، سی ان ان و Ebay نشان داد. و در سوی دیگر گروه هکرهای “دانته تاریک” با هک خطوط تلفن توانست در یک مسابقه زنده رادیویی یک خودرو پورش ۹۴۴ را ببرد!

“ریک فریگسون” محقق ارشد امنیتی شرکت trend micro  می گوید “این دست اقدامات نشان می دهد هکرها به سادگی قوانین را زیرپا گذاشته و از خطوط قرمز عبور می کنند.” به عقیده وی این گروه ها را می توان بر حسب انگیزه های متنوعشان، کلاه سفید/ کلاه مشکی و حتا کلاه خاکستری نامید.

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

تهدیدی در سراسر دنیا:

اگر فرض کنیم هک متولد ایالات متحده امریکاست، امروزه اما به راستی جهانی شده است. “فرگوسن” می گوید: گروه های هکر به دورترین نقاط دنیا هم راه پیدا کرده اند، بطور مثال در هند و پاکستان فعالند و رقابت شدیدی نیز در آنجا وجود دارد. در کشور رومانی گروهی موسوم به “بلاگ هکرها” صدها شرکت را مورد حمله قرار داده است. نکته جالب اینکه در رومانی و چین تصور غالب بر این است که بسیاری از هکرها ابزار دست دولت مرکزی اند.”

در سال ۲۰۱۱ خبرسازی هکرها هم چنان ادامه داشت، دو گروه مستقل به نام های “هکرهای ناشناس” و “Lulz Security” شهرت فراوانی را از حملات حرفه ای و سطح بالای خود که علیه شرکت های معظمی چون سونی، فاکس، HBGary و مجموعه های وابسته به FBI کسب کرده اند.

آقای برایان کربس، تحلیل گر جرایم سایبری می گوید: “این شیرین کاری ها در حالی رخ می دهند که دولت ها از مقابله با حملات شدید که بعضا مولفه های زیرساخت را نیز به چالش می کشند، ناتوان مانده اند.” و می افزاید: ” فهم چرایی علاقه مردم به هک چندان هم پیچیده نیست، چرا که هک در بسیاری مواقع برای منافع مادی انجام نمی شود و هدفی جز ابراز عقیده و یا سرگرمی ندارد. امروزه یکی از انواع پرطرفدار هک، تغییر دادن چهره وب سایت است . در این نوع هک پیام و امضای هکر جایگزین صفحه اصلی وب سایت می شود.

 

بر اساس گزارش سایت Zone-H که ناظر بر هک هایی از این دست می باشد، تنها در سال ۲۰۱۰ میلادی بیش از ۱/۵ میلیون هک ضدچهره در جهان ثبت شده، رقمی بسیار بالاتر از آمار گذشته. این افزایش ناگهانی تعداد هکر ها را نباید صرفا نتیجه ارتقا سطح کیفی آموزش در مدارس و یا کوشش بیشتر جوانان دانست چرا که ابزارهای هک که امروزه به سهولت در اینترنت یافت می شوند نیز تاثیر به سزایی در بالا رفتن تعداد حملات داشته است. این ابزار ها که برای رخنه در حفره های امنیتی سایت ها طراحی شده اند با نام  ATK (کیت حمله) شناخته می شوند.

 

هک های بزرگ:

February 2002: Adrian Lamo Vs. The New York Times

January 2008: Anonymous Vs. Scientology

February, 2000: Mafiaboy Vs. Yahoo, CNN, eBay, Dell, & Amazon

November 2008: Unknown Vs. Microsoft Windows (& the World)

August, 1999: Jonathan James Vs. U.S. Department of Defense

August, 2009: Russia Vs. Georgian blogger “Cyxymu”

March 1999: David L. Smith Vs. Microsoft Word & Excel

July, 2009: Unknown Vs. United States & South Korea

November, 1988: Robert Tappan Morris Vs. The World

به شما پیشنهاد می شود مقاله ما  را برای کسب اطلاعات بیشتر در حوزه exploit چیست مطالعه نمایید.

سوالات متداول

بر طبق پروتکل FTP، دستور PORT، توسط originating machine، ماشین و پورتی دلخواه جهت ارتباط داده تعیین می کند. هرچند که این روش موجب می شود تا یک مهاجم بتواند با انتخاب ماشینی که originating client نیست، ارتباطی را با پورت مهاجم برقرار کند. ایجاد این ارتباط با یک ماشین دلخواه، جهت اهداف بدون مجوز را FTP Bounce Attack می نامند.
۱- Port scan ۲- Bypassکردن واحدهای فیلترpacket اولیه ۳- Bypassکردن واحدهای dynamic فیلتر packet اولیه
از یک چشم انداز امنیتی بهترین راه حل جهت مشکل حمله FTP Bounce این است که اطمینان حاصل کنید نرم افزار FTP server قادر به برقراری ارتباط با ماشین های موقتی و دلخواه نباشد. اگرچه سایتهایی که از RFC پیروی می کنند ممکن است به این نتیجه برسند که اجرای این راه حل، برنامه های در حال استفاده را تحت تأثیر قرار می دهد. بدین ترتیب بسیاری فروشندگان راه حل هایی را جهت در اختیار گذاشتن سرویس FTP به سایت ها ارائه می دهند تا از آن میان مناسب ترین وضعیت را انتخاب کنند.
خروج از نسخه موبایل