صفحه اول > مقالات

 

ارتباط ربایی!

 

Hijacking در اصل بمعنای هواپیماربایی و یا سایر وسایط نقلیه بهمراه مسافران آن است. ولی اجازه دهید ما از واژه ارتباط ربایی استفاده کنیم. ارتباط ربایی نوعی از حمله به شبکه است که مهاجم کنترل ارتباز را در اختیار می گیرد – مانند یک هواپیماربا که کنترل پرواز را در اختیار می گیرد-  نفوذگر بین دو موجود در شبکه قرار می گیرد و برای هرکدام از طرفین ارتباط خود را جای دیگری جامی زند!

 

 

 

ارتباط ربایی نوع اول

 در نوعی از ارتباط ربایی (که بعنوان man in the middle نیز شناخته می شود)، مهاجم کنترل یک ارتباط برقرارشده را در حالیکه در حال انجام است، در اختیار می گیرد. نفوذگر پیام ها را در هنگام تبادل «کلید عمومی» دریافت می کند و آنها را با جایگزین کردن کلیدعمومی خودش، برای طرف درخواست کننده مجدداً ارسال می کند، بطوریکه دو طرف اولیه هنوز بنظر در حال ارتباط مستقیم هستند. نفوذگر از برنامه ای استفاده می کند که برای کلاینت بنظر سرور بیاید و برای سرور بنظر کلاینت. این نوع حمله ممکن است فقط برای دستیابی به پیام ها بکار رود یا توسط آن حمله گر در پیام ها تغییر ایجاد کند و سپس آنها را ارسال کند.

با مطالعه دو مقاله رمزنگاری و کلیدها در رمزنگاری می توانید بیشتر با این مفاهیم آشنا شوید. ولی اگر وقت ویا حوصله خواندن این دو مقاله را ندارید، برای اینکه از خواندن ادامه این مقاله منصرف نشوید، در اینجا بطور مختصر به آنها و روش ذکر شده اشاره می کنیم!

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

 

 

 

 حال ببینیم همین X  چگونه می تواند مرتکب ارتباط ربایی شود! X در نقطه ای بین A و B  قرار می گیرد. A برای ارسال پیام به B ابتدا یک درخواست به سمت B  می فرستد و کلید عمومی B را درخواست می کند، غافل از اینکه این در خواست به X می رسد. X این درخواست را به B می فرستد در حالیکه وانمود می کند خودش A است. B با دیدن این درخواست کلید عمومی خود را به درخواست کننده، به گمان اینکه A است می فرستد. X  کلید عمومی  B را دریافت می کند، اما کلید عمومی خودش را برای A می فرستد و A گمان می کند که این کلید عمومی B است. حال A  پیام خود را با ظاهراً کلید عمومی B ولی در واقع کلید عمومی X رمز می کند و به ظاهراً B ولی در واقع X می فرستند. X این پیام را دریافت می کند و با کلید اختصاصی خودش رمزگشایی می کند، از محتوای آن مطلع می شود یا در آن تغییر ایجاد می کند و متن حاصل را با کلید عمومی B که در اختیار دارد، رمز می کند و برای B ارسال می کند. در حالیکه B گمان می کند پیام دریافت شده، از طرف A ارسال شده است. برای ارسال پیام امن از B به A، مراحل فوق بالعکس انجام می گیرد. به این ترتیب X بین A و B  قرار می گیرد و از محتوای پیام های آنها مطلع می شود و آن ها را دستکاری می کند،  بدون اینکه A و B متوجه غیرمستقیم بودن ارتباط شوند.

 

ارتباط ربایی نوع دوم

نوع دیگر ارتباط ربایی، «مرورگر ربایی» (Browser hijacking) است که در آن یک کاربر به سایت متفاوتی با آنچه خودش درخواست کرده بود، هدایت می شود.

 دو نوع مختلف از DNS ربایی وجود دارد. در یکی، نفوذگر به رکوردهای DNS دسترسی پیدا می کند و آنها را طوری دستکاری می کند که درخواستها برای صفحه واقعی به جایی دیگر هدایت شوند – معمولاً به یک صفحه جعلی که خود نفوذگر ایجاد کرده است. این اتفاق به بیننده این احساس را می دهد که وب سایت هک شده است، در حالیکه در حقیقت سرور DNS تغییر پیدا کرده است. در فوریه سال ۲۰۰۰ یک نفوذگر وب سایت امنیتی RSA را با دسترسی به رکوردهای DNS ربود!!! و تقاضاها را به یک وب سایت جعلی هدایت کرد. برای کاربران اینطور بنظر می رسید که یک نفوذگر به دیتای واقعی وب سایت RSA دسترسی پیدا کرده و آنها را تغییر داده است – یک مشکل جدی برای تشکیلات امنیتی! !! مشکل بتوان از این نوع از ارتباط ربایی جلوگیری کرد، زیرا مدیران شبکه، تنها رکوردهای DNS خود را کنترل می کنند و کنترلی روی سرورهای DNS بالایی ندارند.

در نوع دوم ربایش DNS، نفوذگر حساب های معتبر ایمیل را جعل می کند و توسط آنها باکس های دیگر را مورد حجم انبوهی از ایمیل قرار می دهد. این نوع حمله می تواند توسط روش های تایید هویت جلوگیری شود.

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