کانال پنهان
در امنیت کامپیوتر، کانال پنهان (به انگلیسی: Covert channel) نوعی از حمله است که این قابلیت را ایجاد میکند که فرایندهایی که اجازه انتقال اطلاعات را در سیاستهای امنیتی کامپیوتر ندارند، به انتقال اطلاعات محرمانه اهداف مورد حمله بپردازند. این اصطلاح، که در سال ۱۹۷۳ توسط لمپسون بیان شدهاست، به عنوان کانالهایی که برای انتقال اطلاعات در نظر گرفته نشدهاست، مانند تأثیر برنامه سرویس بر روی بار سیستم تعریف شدهاست، تا آن را از کانالهای قانونی که مورد توجه کنترلهای دسترسی واحد امنیت کامپیوتر COMPUSEC قرار دارند متمایز جلوه دهد.[۱]
مشخصات[ویرایش]
کانال پنهان به این دلیل با این نام خوانده میشود که، از مکانیزمهای کنترل دسترسی سیستم امنیتی کامپیوتر پنهان است و از مکانیزمهای قانونی انتقال داده در سیستم استفاده نمیکند پس در نتیجه توسط سیستم امنیتی کامپیوتر که زیرمجموعه سیستم امنیتی سیستم عامل است شناسایی و کنترل نمیشود. نصب کانال پنهان در سیستمهای واقعی بسیار سخت است و غالباً به وسیله رصد کارایی سیستم قابل تشخیص است. علاوه بر این کانالهای پنهان نرخ سیگنال-به-نویز پایینی دارند و نرخ داده انها کم است (در حد چند بیت بر ثانیه). همچنین میتوان آنها را با درصد بالایی از اطمینان به وسیله ایجاد کردن مکانیزمهای خوب تجزیه و تحلیل کانالهای پنهان به صورت دستی حذف کرد. کانالهای پنهان متفاوت هستند با نوعی از حمله که در سیستمهای شبه ایمن، با استفاده از طرحهایی مثل استگانوگرافی یا حتی با طرحهایی با پیچیدگی کمتر برای پنهان کردن اهداف و اطلاعات ممنوع را در داخل اطلاعات قانونی پنهان کرده و حمله میکند. دستکاری کانالهای قانونی توسط حملههایی مثل استراگانوفی بهطور خاص نوعی از حملات کانال پنهان نمیباشد. کانالهای پنهان میتوانند از طریق سیستم عامل امن نفوذ کند و برای کنترل، نیاز به اقدامات ویژه ای دارد، آنالیز کانال پنهان تنها روش اثبات شده برای کنترل کانالهای پنهان میباشد. در مقابل سیستم عاملهای امن میتوانند به راحتی جلوی سوء استفاده از کانالهای قانونی را بگیرند، بنابراین تمییز دادن و تشخیص این دو حائض اهمیت است. تحلیل کانالهای قانونی برای اهداف مخفی به نادرستی اغلب به عنوان تنها اقدام متقابل موفق در برابر دستکاری کانال قانونی ارائه میشود. در اوایل سال ۱۹۷۲ نشان داده شد این حجم از تحلیل غیر عملی است،[۲] بدون آگاهی از این موضوع، برخی گمراه شدهاند که معتقدند، تجزیه و تحلیل ریسک این کانالهای قانونی را مدیریت میکند.
ضوابط TCSEC[ویرایش]
معیارهای ارزیابی امنیت کامپیوتر مورد اعتماد TCSEC مجموعه ای از معیارهایی میباشد که اکنون منسوخ شدهاست، و توسط مرکز ملی امنیت رایانه ایجاد شدهاست، آژانسی که توسط آژانس امنیت ملی ایالات متحده مدیریت میشود. تعریف لمپسون از کانال پنهان که درTCSEC آمده[۳] بهطور خاص اشاره میکند به راههای انتقال اطلاعات از یک طبقهبندی بالاتر به طبقهبندی پایینتر. در یک محیط پردازش مشترک ایزوله کردن یک پردازش از تأثیری که پردازشی دیگر میتواند در یک محیط عملیاتی داشته باشد کار دشواری میباشد، یک کانال پنهان توسط فرایند فرستنده ایجاد میشود که برخی شرایط (مانند فضای آزاد، در دسترس بودن برخی از خدمات، زمان انتظار برای اجرا) را ایجاد میکند و میتواند با یک فرایند دریافت تشخیص داده شود.
TCSEC دو نوع کانالهای مخفی را تعریف میکند:
- کانالهای ذخیرهسازی: با اصلاح یک " مکان ذخیره "، مانند یک دیسک سخت، ارتباط برقرار کنید.
- کانالهای زمانبندی: انجام عملیاتی که بر " زمان واکنش واقعی مشاهده شده " توسط گیرنده تأثیر میگذارد.
TCSEC که به عنوان کتاب نارنجی نیز شناخته میشود[۴] , نیازمند تحلیل کانالهای پنهان ذخیرهسازی است که به عنوان سیستم b2 طبقهبندی شوند و تحلیل کانالهای زمان پنهان یک الزام برای کلاس b3 میباشد.
کانالهای زمانبندی[ویرایش]
استفاده از تأخیر بین بستههای ارسالی از روی شبکههای کامپیوتری اولین بار توسط Girling برای ارتباط مخفی بررسی شد.[۵] این کار بسیاری از کارهای دیگر را به منظور ایجاد یا شناسایی یک ارتباط مخفی و تحلیل محدودیتهای بنیادی چنین سناریوهایی با انگیزه مواجه کردهاست.
شناسایی کانالهای پنهان[ویرایش]
چیزهای معمولی مانند وجود یک فایل یا زمان مورد استفاده برای محاسبه، میتواند رسانه ای باشد که از طریق آن یک کانال پنهان ارتباط برقرار میکند. پیدا کردن کانالهای پنهان آسان نیست زیرا این رسانهها زیاد هستند و مکرراً استفاده میشوند. دو روش نسبتاً قدیمی به عنوان استانداردهایی برای یافتن کانالهای پنهان بالقوه باقی ماندهاند. یکی با تجزیه و تحلیل منابع سیستم و دیگری در سطح منبع کد کار میکند.
حذف کانال پنهان[ویرایش]
احتمال وجود کانالهای پنهان را نمیتوان بهطور کامل از بین برد، اگرچه میتواند بهطور قابل توجهی با طراحی و تحلیل دقیق این احتمال را کاهش داد. تشخیص یک کانال پنهان که از ویژگیهای رسانه ارتباطی کانالهای قانونی که هرگز توسط کاربران قانونی کنترل یا بررسی نمیشوند، استفاده میکند میتواند دشوارتر شود. برای مثال، یک فایل را میتوان با یک برنامه در یک الگوی خاص و زماندار که میتواند توسط یک برنامه دیگر تشخیص داده شود، باز و بسته شود، و الگو میتواند به صورت یک رشته از بیتها تفسیر شود، که یک کانال مخفی تشکیل میدهد. از آنجا که بعید است که کاربران قانونی الگوهای باز و بسته شدن فایل را بررسی کنند، این نوع کانال مخفی میتواند برای دورههای طولانی شناسایی نشده باقی بماند. یک مورد مشابه دیگر، پورت ناکینگ است. در ارتباطات معمول زمان درخواستها بیربط و بی مراقب است. پورت ناکینگ این امر را قابل توجه میکند.
پنهانسازی داده در مدل OSI[ویرایش]
هندل و استندفورد تحقیقاتی را ارایه دادند که در آن به بررسی کانالهای پنهان در طراحی عمومی پروتکلهای ارتباطی شبکه پرداختند.[۶] آنها از مدل OSI به عنوان پایهای برای توسعه آنها استفاده میکنند که در آن عناصر سیستم دارای پتانسیل برای پنهان کردن دادهها هستند. رویکرد اتخاذ شده مزایایی نسبت به این موارد دارد، چرا که استانداردهای متفاوت با محیطهای خاص شبکه یا معماری شبکه، در نظر گرفته میشوند. هدف مطالعه آنها ارائه طرحهای قطعی نیست. در عوض، آنها اصول اولیه برای پنهان کردن داده در هر یک از هفت لایه OSI را تعیین میکنند. علاوه بر پیشنهاد استفاده از فیلدهای رزرو شده پروتکلها (که به راحتی قابلتشخیص هستند) در لایههای شبکه بالاتر، آنها امکان کانالهای زمانبندی شامل بکار بری CSMA/CD در لایه فیزیکی را پیشنهاد میکنند. کار آنها نشان میدهد که کانال مخفی دارای شایستگیهایی است مثل:
- قابلیت تشخیص: کانال پنهان فقط توسط گیرنده در نظر گرفته شده قابل اندازهگیری است
- قابلیت عدم شناسایی: کانال پنهان باید فاقد شناسایی باشد.
- پهنای باند: تعداد بیتهای پنهان بر استفاده هر کانال.
تحلیل کانالهای پنهان آنها، مسائلی همچون قابلیت همکاری این تکنیکهای نهان کاوی با سایر نودهای شبکه، برآورد ظرفیت کانال پنهان، تأثیر دادههای پنهان بر شبکه بر حسب پیچیدگی و سازگاری را در نظر نمیگیرد. به علاوه، تعمیم این روشها نمیتواند بهطور کامل در عمل توجیه شود چون مدل OSI در سیستمهای عملکردی به خودی خود وجود ندارد.
پنهانسازی دادهها در محیط LAN توسط کانالهای پنهان[ویرایش]
همانطور که گرلینگ ابتدا کانالهای مخفی را در یک محیط شبکه بررسی میکند، کار او بر شبکههای محلی ای (lan) متمرکز است که در آن سه کانال پنهان (دو کانال ذخیرهسازی و یک کانال زمانبندی) به صورت آشکار شناسایی میشود. این نشاندهنده مثالهای واقعی از امکانات پهنای باند برای کانالهای پنهان ساده در شبکههای محلی میباشد. برای یک محیط خاص LAN، مؤلف، مفهوم وایرتپر را معرفی میکند که فعالیتهای یک فرستنده خاص را روی LAN نظارت میکند. در اینجا وایرتپر و فرستنده بخشهای برقراری ارتباط پنهانی هستند. مطابق با گیرلینگ، اطلاعات مخفی میتواند از طریق هر یک از روشهای زیر منتقل شود:
- با مشاهده نشانیهای فرستنده:اگر تعداد کل آدرسها که یک فرستنده میتواند ارسال کند ۱۶ باشد، آنگاه احتمال یک ارتباط پنهانی که ۴ بیت برای پیام محرمانه دارد وجود دارد. مؤلف این امکان را به عنوان یک کانال ذخیره پنهان توصیف میکند، چرا که به آنچه ارسالشده (یعنی، که آدرس فرستنده به آن نزدیک شدهاست) وابسته است.
- به همین ترتیب، دیگر کانال پنهان ذخیره آشکار، به اندازه فریم ارسالشده توسط فرستنده بستگی دارد. برای اندازه ۲۵۶، اطلاعات مخفی رمزگشایی شده برای یک سایز فریم ۸ بیت میباشد.
- سومین سناریو حاضر، از حضور یا عدم حضور پیغامها استفاده میکند. برای مثال، " ۰ " برای یک فاصله زمانی پیام فرد، " ۱ " برای زوج.
با توجه به سناریو اطلاعات مخفی از طریق یک استراتژی" when-is-sent" انتقال داده میشود و بنابراین به عنوان کانال پنهان زمانبندی شناخته میشود. زمان انتقال یک بلوک داده به صورت تابعی از زمان پردازش نرمافزار، سرعت شبکه، اندازه بلوک شبکه و سربار پروتکل محاسبه میشود. با فرض اینکه یک بلوک از اندازههای مختلف به شبکه LAN منتقلشده، سربار نرمافزاری بهطور متوسط محاسبه میشود و ارزیابی زمان جدید برای تخمین پهنای باند (ظرفیت) کانالهای پنهان نیز مورد استفاده قرار میگیرد.
پنهانسازی دادهها در مجموعه پروتکل tcp / ip به وسیلهٔ کانالهای مخفی[ویرایش]
با تمرکز بر روی IP و TCP از مجموعه پروتکل TCP / IP، یک مقاله منتشر شده توسط کریگ رولند، تکنیکهای کدگذاری و کدگشایی مناسب را با استفاده از حوزه شناسایی IP، فیلدهای شماره دنباله تأیید و شماره اولیه TCP حل میکند.[۷] این روشها در یک کاربرد ساده نوشته شدهاند برای سیستمهای لینوکس که در ورژن ۲٫۰ اجرا میشوند. رولاند اثبات مفهوم، و همچنین تکنیکهای رمزگذاری و رمزگشایی عملی را برای بهرهبرداری از کانالهای مخفی با استفاده از مجموعه پروتکل tcp / ip ارایه میدهد. این روشها با در نظر گرفتن مکانیسمهای امنیتی مثل ترجمه آدرس شبکه فایروال مورد تحلیل قرار میگیرند. با این حال، غیرقابل تشخیص بودن این تکنیکهای ارتباطی مخفی سوالبرانگیز است. به عنوان مثال، موردی که در آن فیلد شماره دنباله هدر tcp دستکاری میشود، طرح رمزگذاری به گونهای اتخاذ میشود که هر بار که همان الفبا به صورت مخفیانه منتقل میشود و با همان شماره دنباله کدگذاری میشود. علاوه بر این، کاربردهای فیلد شماره دنباله و نیز فیلد تاییدیه را نمیتوان با کدگذاری اسکی الفبای زبان انگلیسی به صورت خاص پیشنهاد کرد. از آنجا که هر دو فیلد زمان دریافت اطلاعات مربوط به بسته خاص شبکه را در نظر میگیرند. پس از آن، چندین نویسنده در دانشگاه کارهای بیشتری را روی کانالهای مخفی در مجموعه پروتکل tcp / ip منتشر کردند. از جمله مجموعهای از اقدامات متقابل از روشهای آماری گرفته تا یادگیری ماشین. تحقیقات روی کانالهای مخفی شبکه با نهان نگاری شبکه همپوشانی دارند که بعداً ظهور کرد.
منابع[ویرایش]
- ↑ Lampson, B.W. , A Note on the Confinement Problem. Communications of the ACM, Oct.1973.16(10):p. 613-615.
- ↑ Computer Security Technology Planning Study (James P. Anderson, 1972)
- ↑ NCSC-TG-030, Covert Channel Analysis of Trusted Systems (Light Pink Book), 1993 from the United States Department of Defense (DoD) Rainbow Series publications.
- ↑ 5200.28-STD, Trusted Computer System Evaluation Criteria (Orange Book), 1985 Archived 2006-10-02 at the Wayback Machine from the DoD Rainbow Series publications.
- ↑ GIRLING, GRAY (February 1987). "Covert Channels in LAN's". IEEE Transactions on Software Engineering (2): 292–296. doi:10.1109/tse.1987.233153. ProQuest 195596753.
- ↑ Hiding data in the OSI network model Archived 2014-10-18 at the Wayback Machine, Theodore G. Handel and Maxwell T. Sandford II (2005)
- ↑ Covert Channels in the TCP/IP Protocol Suite Archived 2012-10-23 at the Wayback Machine, 1996 Paper by Craig Rowland on covert channels in the TCP/IP protocol with proof of concept code.