استگانوگرافی TCP یا نحوه پنهان کردن انتقال داده در اینترنت

استگانوگرافی TCP یا نحوه پنهان کردن انتقال داده در اینترنت

محققان لهستانی روش جدیدی را برای استگانوگرافی شبکه بر اساس ویژگی های پروتکل لایه انتقال TCP که به طور گسترده مورد استفاده قرار می گیرد، پیشنهاد کرده اند. نویسندگان این اثر معتقدند که طرح آنها، برای مثال، می تواند برای ارسال پیام های پنهان در کشورهای توتالیتر که سانسور شدید اینترنتی را معرفی می کنند، مورد استفاده قرار گیرد. بیایید سعی کنیم بفهمیم که در واقع نوآوری شامل چه چیزی است و واقعاً چقدر مفید است.

اول از همه، شما باید تعریف کنید که استگانوگرافی چیست. بنابراین، استگانوگرافی علم پیام رسانی پنهان است. یعنی طرفین با استفاده از روش های آن سعی در پنهان کاری دارند واقعیت انتقال. این تفاوت این علم با رمزنگاری است که سعی می کند محتوای پیام را ناخوانا کنید. شایان ذکر است که جامعه حرفه ای رمزنگاران به دلیل نزدیکی ایدئولوژی آن به اصل "امنیت از طریق ابهام" کاملاً تحقیر کننده استگانوگرافی هستند (نمی دانم چگونه به زبان روسی درست به نظر می رسد ، چیزی مانند "امنیت از طریق جهل". ”). این اصل، برای مثال، توسط Skype Inc استفاده می شود. - کد منبع شماره گیر محبوب بسته است و هیچ کس دقیقاً نمی داند که چگونه داده ها رمزگذاری شده اند. اتفاقاً اخیراً NSA از این موضوع شکایت کرده است که متخصص مشهور بروس اشنایر در مورد آن شکایت کرده است. написал در وبلاگ من

با بازگشت به استگانوگرافی، اجازه دهید به این سوال پاسخ دهیم که اگر رمزنگاری وجود دارد، اصلاً چرا به آن نیاز است؟ در واقع، رمزگذاری یک پیام با استفاده از برخی از الگوریتم‌های مدرن امکان‌پذیر است، و در صورت استفاده از یک کلید به اندازه کافی طولانی، هیچ‌کس نمی‌تواند این پیام را بخواند مگر اینکه شما بخواهید. با این وجود، گاهی اوقات پنهان کردن حقیقت یک انتقال مخفی مفیدتر است. به عنوان مثال، اگر مقامات مربوطه پیام رمزگذاری شده شما را رهگیری کردند، نمی توانند آن را رمزگشایی کنند، اما واقعاً می خواهند، در نهایت روش های غیر رایانه ای برای نفوذ و استخراج اطلاعات وجود دارد. به نظر ضد اتوپیایی می رسد، اما، می بینید، این در اصل امکان پذیر است. بنابراین بهتر است کسانی که اصلاً قرار نیست اطلاعی از این انتقال داشته باشند مطمئن شوند. محققان لهستانی چنین روشی را پیشنهاد کردند. علاوه بر این، آنها پیشنهاد می کنند این کار را با استفاده از پروتکلی انجام دهند که هر کاربر اینترنت هزار بار در روز از آن استفاده می کند.

در اینجا به پروتکل کنترل انتقال (TCP) نزدیک می شویم. توضیح تمام جزئیات آن، البته، منطقی نیست - طولانی، خسته کننده، کسانی که به آن نیاز دارند از قبل می دانند. به طور خلاصه، می توان گفت که TCP یک پروتکل لایه انتقال است (به عنوان مثال، پروتکل های "بالاتر از IP" و "زیر" پروتکل های لایه برنامه، مانند HTTP، FTP یا SMTP کار می کند)، که تحویل مطمئن داده ها را از فرستنده به گیرنده تحویل قابل اعتماد به این معنی است که اگر بسته ای گم شود یا تغییر کند، TCP از ارسال بسته مراقبت می کند. توجه داشته باشید که تغییرات در بسته در اینجا به معنای تحریف عمدی داده ها نیست، بلکه خطاهای انتقالی است که در سطح فیزیکی رخ می دهد. به عنوان مثال، هنگامی که بسته از طریق سیم‌های مسی عبور می‌کرد، چند بیت ارزش خود را به عکس تغییر دادند یا به طور کامل در میان نویز گم شدند (به هر حال، برای اترنت، نرخ خطای بیت معمولاً 10-8 در نظر گرفته می‌شود. ). از دست دادن بسته در حین انتقال نیز یک اتفاق نسبتاً رایج در اینترنت است. به عنوان مثال، ممکن است به دلیل حجم کاری روترها اتفاق بیفتد که منجر به سرریز بافر و در نتیجه رد شدن همه بسته های تازه وارد می شود. معمولاً درصد بسته های از دست رفته حدود 0.1٪ است و در مقدار چند درصد TCP به طور معمول کار نمی کند - همه چیز برای کاربر بسیار کند خواهد بود.

بنابراین، می بینیم که ارسال (انتقال مجدد) بسته ها یک پدیده مکرر و به طور کلی ضروری برای TCP است. پس چرا از آن برای نیازهای استگانوگرافی استفاده نکنیم، با وجود این واقعیت که TCP، همانطور که در بالا ذکر شد، در همه جا استفاده می شود (طبق برآوردهای مختلف، امروزه سهم TCP در اینترنت به 80-95٪ می رسد). ماهیت روش پیشنهادی این است که پیام ارسال شده را نه آنچه در بسته اصلی وجود دارد، بلکه داده‌هایی را که سعی می‌کنیم مخفی کنیم، ارسال کنیم. در عین حال، تشخیص چنین جایگزینی چندان آسان نیست. پس از همه، شما باید بدانید که کجا باید نگاه کنید - تعداد اتصالات TCP همزمان که از ارائه دهنده عبور می کنند بسیار زیاد است. اگر سطح تقریبی ارسال مجدد در شبکه را می‌دانید، می‌توانید مکانیسم ارسال استگانوگرافی را به‌طور دقیق تنظیم کنید تا اتصال شما با سایرین تفاوتی نداشته باشد.

البته این روش خالی از اشکال نیست. به عنوان مثال، از نقطه نظر عملی، اجرای آن چندان آسان نخواهد بود - نیاز به تغییر در پشته شبکه در سیستم عامل ها دارد، اگرچه هیچ چیز پیچیده ای در این مورد وجود ندارد. علاوه بر این، اگر منابع کافی داشته باشید، همچنان می توانید بسته های "مخفی" را شناسایی کنید، برای این کار باید هر بسته موجود در شبکه را مشاهده و تجزیه و تحلیل کنید. اما به عنوان یک قاعده، این تقریباً غیرممکن است، بنابراین آنها معمولاً به دنبال چیزی هستند که برای بسته ها و اتصالات متمایز باشد و روش پیشنهادی فقط اتصال شما را غیرقابل توجه می کند. و هیچ کس شما را برای رمزگذاری داده های مخفی در هر صورت آزار نمی دهد. در این مورد، خود اتصال می‌تواند رمزگذاری نشده باقی بماند تا شک کمتری برانگیزد.

نویسندگان اثر (به هر حال، برای علاقه مندان، اینجا او) در سطح شبیه سازی نشان داد که روش پیشنهادی همانطور که در نظر گرفته شده است کار می کند. شاید در آینده کسی به اجرای ایده های خود در عمل مشغول شود. و پس از آن، امیدواریم که سانسور کمی در اینترنت وجود داشته باشد.

منبع: www.habr.com

اضافه کردن نظر