بخشی از مقاله
چکیده
در این پژوهش روشی جهت تشخیص پنهاننگاری LACK در یک مکالمهی تلفنی اینترنتی پیشنهاد میگردد. تا کنون روشهایی برای پیشگیری از ارسال اطلاعات پنهان به شیوهی LACK پیشنهاد شدهاند، امّا چنانچه پنهاننگار قواعد خاصی را رعایت کند، همچنان این روش پنهاننگاری غیر قابل تشخیص است. در این مقاله روشی پیشنهاد میگردد که با استفاده از محتوای بستههایی که با تأخیر دریافت شدهاند، وجود ارتباط پنهان را تشخیص میدهد. در این روش از ایدهی قابل تمییز بودن رشته بایت مربوط به یک متن رمز شده و رشته-بایت مربوط به صوت فشرده شده استفاده شده است. روش پیشنهادی برای دو نوع کدک G.711 و G.722 پیادهسازی شده است. نتایج حاصل از پیادهسازی نشان میدهد که تفکیک بستهها از طریق محتوا امکانپذیر بوده و این موضوع میبایست در پنهانشکنی LACK مورد توجه قرار گیرد.
-1 مقدمه
VoIP یا همان Voice over IP که با نام IP telephony نیز شناخته میشود، یک از محبوبترین سرویسهای اینترنتی است و به همین دلیل مورد توجه بسیاری از پنهاننگاران قرا گرفته است. به پنهاننگاریهایی که بر این سرویس قابل اعمال هستند، »پنهاننگاری ترافیک «VoIP گفته میشود و شامل تکنیکهای اختفاء اطلاعات در هر لایه از پشتهی پروتکل TCP/IP میشود - شکل . - 1 این تعریف همچنین شامل تهنقش نگاری صدا و تکنیکهای قابل اعمال بر کُدِکهای صوتی نیز هست. [1]
برای سیستمهای مبتنی بر VoIP، چهار سناریوی ارتباط پنهان مطابق شکل 2 وجود دارددر. سناریوی اوّل، فرستنده و گیرنده همزمان با انجام مکالمه، از طریق همان کانال اقدام به برقراری ارتباط پنهان میکنند. در سه سناریوی بعدی، تنها بخشی از کانال ارتباطی جهت برقراری ارتباط پنهان مورد استفاده قرار میگیرد. در این حالت گیرنده، فرستنده و یا هر دو از وجود ارتباط پنهان بی اطلاع هستند.
پنهان نگاریهای VoIP از دو ریشه سرچشمه میگیرند .[2] دستهی اول، از پنهاننگاری رسانههای دیجیتال نشأت گرفته و جهت استفاده در VoIP مطابقت داده شدهاند. این دسته روشها، نمایش دیجیتال صوت در حال انتقال را به عنوان یک حامل برای دادهی پنهان در نظر میگیرند. اولین روش از این دسته، توسط [3] Aoki ارائه شد. در این روش اطلاعات جانبی راجع به موج صوتی ساخته شده با کدک G.711، از سوی فرستنده æ توسط پنهاننگاری بیت کم ارزش، ارسال میشد و این اطلاعات در سوی گیرنده و برای تصحیح خطای ناشی از گم شدن بستهها مورد استفاده قرار میگرفت.
Wu در [4]یک پنهاننگاری تطبیقی بیت کم ارزش را پیشنهاد کرد که در آن برای هر نمونهی صوت G.711، آمارگان انرژی محاسبه می-شد تا تعداد بیتهای کم ارزشی که میتوانست جهت حمل دادهی پنهان به کار برده شوند را تخمین بزند. بکارگیری این روش، موجب افزایش نرخ انتقال دادهی پنهان و همچنین کاهش افت کیفیت مکالمه شد. Tian و دیگران در [5] یک سیستم رمزنگاری ساده را جهت استفاده در پنهان-نگاری بیت کم ارزش بستههای VoIP پیشنهاد دادند که به دلیل سادگی، تأخیر ناشی از رمز کردن پیام به مقدار ناچیزی کاهش مییافت.
همچنین ساختاری جهت جاسازی پیام پنهان پیشنهاد کردند که در مقابل حملات استخراج پیام و همچنین تغییر بیتهای حاوی پیام، مقاوم بود. Tian طرح پیشنهادی را بر روی کدک G.729a آزمود. Miao در [6] نوعی سیستم پنهان نگاری تطبیقی پیشنهاد کرد که بر طبق آن در بلوکهای مسطح صدا میزان کمتری داده و در بلوکهای تیز صدا مقدار بیشتری داده جاسازی میشد. دستهی دوم روشها که نوعی کانال پنهان هستند و با عنوان »پنهان-نگاری پروتکل« نامیده میشوند [2]، فیلدهای بخصوص پروتکلهای VoIP æ یا رفتار این پروتکلها را مورد هدف قرار میدهند. این روشها خود در زیر گروههایی جای میگیرند.
زیرگروه اول مربوط به روشهایی است که روابط زمانبندی پروتکلهای مخصوص VoIP را هدف قرار میدهند. شروع این روشها توسط Wang بود .[7] در روش پیشنهادی وی، از طریق دستکاری تأخیر برخی بستههای انتخاب شده، نوعی تهنقش1 اعمال میشد. زیرگروه دوم مربوط به روشهایی است که فیلدهای خاصی از پروتکلها را مورد استفاده قرار میدهند. از جمله این روشها یکی روش ارائه شده توسط [8] Forbes بود که مقدار برچسب زمانی سرآیند بستههای RTP را دستکاری میکرد و دیگری روش ارائه شده توسط [9] Huang که فیلد NTP بستههای پروتکل کنترلی RTCP را مورد استفاده قرار میداد.
زیرگروه سوم مربوط به روشهای ترکیبی است که هم زمان بندی و هم محتوای بستهها را دستکاری میکنند. از این دسته میتوان به روش پنهان نگاری LACK2 اشاره کرد. این روش ابتدا در [10] معرفی شد و سپس در [11] مورد تحلیل بیشتری قرار گرفت. در این روش از این حقیقت بهره گرفته شده است که در پروتکل RTP، بستههایی که دارای تأخیر بیش از مقدار مجاز باشند، در طرف گیرنده در ساخته شدن صوت منتقل شده استفاده نخواهند شد. بنابراین در این روش برخی بستههای پروتکل RTP انتخاب شده و در ارسال آنها تأخیر عمدی ایجاد میگردد.
به بستههایی که دارای تأخیر بیش از مقدار مجاز باشند، »بستههای گم شده« گفته میشود. از آنجا که محتوای این بسته ها در طرف گیرنده در فرایند دیکُد کردن و ساخت صوت استفاده نمیشود، محتوای بدنهی این بستهها با دادههای پیام پنهان جایگزین میگردد. جهت غیر قابل تشخیص بودن بستههای حاوی دادهی پنهان، میزان تأخیر ارسال این بستها با دقّت تعیین میگردد. این تأخیر میبایست حداقل میزان ممکنه و البته بیشتر از زمانی وابسته به بافر بازسازی کننده ی صوت در طرف گیرنده باشد، به گونهای که تضمین شود چنین بستههایی در بازسازی صوت نقشی نخواهند داشت.
همچنین نرخ ارسال دادهی پنهان در این روشز اهمّیّت خاصی برخوردار است. میبایست نرخ بستههای گمشده در یک مکالمهی تلفنی از حد خاصی تجاوز نکند؛ در غیر این صورت وجود یک ارتباط پنهان با تحلیل آماری میزان بستههای گم شده در یک مکالمه، قابل تشخیص خواهد بود. گاهی بستههای حاوی پیامپنهان به دلیل ساختار شبکه گم میشوند æ این امر در اکثر موارد که پیام پنهان به صورت رمز شده ارسال میشود مشکل ساز است.
گرچه اضافه کردن افزونگیهایی توسط موجودیت پنهان-نگار موجب بالا بردن قابلیت اعتماد روش میگردد، امّا تحلیل و تشخیص وجود ارتباط پنهان را برای موجودیت پنهانشکن سادهتر میکند. در [12] روشی بر مبنای LACK جهت پنهان نگاری در VoIP پیشنهاد شد که این روش با به کارگیری تسهیم راز آستانهای - k,n - شمیر و درونیابی لاگرانژ، هم قابلیت اعتماد را بالا برد و مشکل گم شدن برخی بستههای حاوی پیام پنهان در بین راه را رفع کرد و هم افزونگی کمی داشته داشت و در نتیجه تشخیص ارتباط پنهان را نسبت به روشهای دیگر اضافه کردن افزونگی، مشکل تر میکرد. این روش ReLACK نامیده شد.
تاکنون روش مؤثری برای پنهانشکنی LACK وجود نداشته است .[2] در این مقاله روشی جهت تشخیص ارتباط پنهان به روشهای LACK و ReLACK پیشنهاد میگردد. روش پیشنهادی با استفاده از محتوای بستهها و بهرهگیری از ماشین یادگیرنده، راجع به حاوی داده بودن هر بستهی تأخیردار به طور مجزا تصمیم گیری میکند. در ادامه روشهای پنهانشکنی مطرح شده برای پنهاننگاری به روش LACK مطرح میشوند æ ایراد هر یک بیان میگردد.
سپس روش پیشنهادی مطرح میگردد که فاقد ایرادهای وارده به روشهای قبلی است. در ادامهی آن، نتایج آزمایشی آورده میشود و نشان داده میشود که جدایش بستههای صوتی از بسته-های پنهان نگاری شده امکانپذیر بوده و باید در پنهانشکنی LACK مورد توجه قرار گیرد.
-2 چالش روشهای موجود و طرح روش جدید
در [11] سه روش جهت پنهانشکنی LACK پیشنهاد شده است که در این بخش مورد تحلیل و نقد قرار میگیرند. روشاوّل شمارش بسته های گم شده است. این امر توسط نظارت بر شماره توالی بستهها صورت می-گیرد. چنانچه تعداد بستههای گم شده در طول یک تماس، از حد میانگین یا آستانهای که به صورت تجربی به دست میآید بیشتر باشد، به صورت بالقوه احتمال این وجود دارد که در تماس مذکور پنهاننگاری صورت گرفته باشد. در اینصورت تنها کافی است که موجودیت پنهاننگار اقدام به تأخیر دادن به بستهها و ارسال اطلاعات پنهان به صورت تدریجی نماید، به گونهای که مجموع تعداد این بستهها و تعداد بستههای تأخیر یافته در اثر ماهیت ذاتی شبکه، به مقدار زیادی از آستانهی تعیین شده تجاوز ننماید.
روش دوم مربوط به تحلیل آماری طول مکالمات است. در یک شبکهی مشخص، معمولاً توزیع احتمالی طول مکالمات برای منابع مختلف، مشخص است. به طور معمول، مکالماتی که دارای پنهاننگاری هستند، به دلیل نیاز به ارسال تدریجی اطلاعات، طولانی تر از سایر مکالمات خواهند بود. چنانچه برخی منابع اقدام به برقراری ارتباطاتی شامل پنهاننگاری کنند، از توزیع آماری مشخص شده تبعیت نخواهند کرد و در نتیجه قابل شناسایی خواهند بود. این روش نیز شامل محدودیتهایی میباشد.
از جملهی این محدودیتها یکی غیر عملی بودن آن برای شبکههایی است که در آنها طول مکالمات از الگوی آماری خاصی تبعیّت نمیکند. همچنین برای یک مکالمهی تنها، قابل پیادهسازی نمیباشد و میبایست تعداد اطلاعات مربوط به تعداد زیادی از مکالمات انجام گرفته در دسترس باشد. روش سوم وجود یک ناظر فعّال در شبکه است که اقدام به پاکسازی محتوای بستها با تأخیر زیاد و یا حذف کلّی این بستهها مینماید.
محدودیّت این روش در این است که ناظر فعّال میبایست از میزان بافر گیرنده مطّلع باشد که در عمل غیر ممکن میباشد. ممکن است ناظر اقدام به حذف بستههایی نماید که میبایست در بازسازی صوت به کار برده شوند و در نتیجه موجب اختلال در همهی مکالمات شود. همچنین از آنجا که تأخیر بستهها در پنهاننگاری LACK به میزان کافی و حداقل است، در عمل این روش انجام شدنی نخواهد بود.
در این مقاله پیشنهاد میشود جهت تشخیص ماهیت بستههای تأخیر دار، از تمایز ذاتی بیت متن رمز شده و صوت فشردهشده استفاده شود. شکل 3 فلوچارت روش پیشنهادی را نشان میدهد. در این روش ابتدا محتوای بدنهی بستههای تأخیردار استخراج میشود. سپس بر طبق کدک مورد استفاده در مکالمه، محتوا کد گشایی میگردد. خروجی حاصل، می-بایست نمونههای گرفته شده از سیگنال صوت باشند. از این خروجی، تبدیل DCT گرفته میشود و به این ترتیب ترکیب ضرایبی از امواج تشکیل دهندهی سیگنال صوت به دست میآید.
در مرحلهی بعدی یک ماشین ردهبند بر روی ضرایب حاصل آموزش میبیند و سپس بر روی دادههای جدید پیشبینی انجام میدهد. نتایج آزمایشهای انجام گرفته در این پژوهش نشان داده است که بیشترین نرخ دقّت مربوط به تنها یکی از ضرایب توصیف کنندهی سیگنال است. همچنین استفاده از ضرایب دیگر، موجب کاهش دقّت ردهبندی میگردد. این امر موجب میشود تنها با در نظر گرفتن یک ضریب، بتوان در زمان کوتاهی عمل تشخیص را انجام داد.
-3 نتایج شبیه سازی
جهت آزمودن کارایی روش پیشنهادی، از دو کدک متفاوت استفاده شد. این دو شامل کدک G.711 در دو حالت Mu-Law و A-Law و همچنین کدک G.722 بودند. مکالمات با استفاده از نرمافزار Blink3 انجام گرفت و انتخاب کدکهای مختلف در تنظیمات این ابزار صورت گرفت و نمونهبردای 48000 نمونه در ثانیه انتخاب شد. به این ترتیب 2800 بستهی VoIP مربوط به پروتکل RTP از طریق نرم افزار Wireshark4 دریافت شدند. جهت به دست آوردن بستههای مربوط به مکالمهی واقعی از تست بازپخش - اِکو - موجود در نرمافزار استفاده شد. سپس محتوای بدنهی بسته-های VoIP استخراج شد و جهت اطمینان از خالص و بدون سرآیند بودن محتوای استخراج شده، 10 بایت از ابتدا و 10 بایت از انتهای محتوای استخراج شده حذف شد. طول محتوای نهایی برای هر بسته به 140 بایت رسید.
در مرحلهی بعد، محتوای بستهها بر حسب کدک مورد استفاده، کدگشایی شدند. کدگشایی با استفاده از کتابخانهی NAudio5 در C# .NET صورت گرفت. سپس از مقادیر متوالی در هر بسته، تبدیل DCT گرفته شد. در ادامهی روش، ضرایب حاصل از این تبدیل به عنوان متغیرهای مورد استفاده در ردهبندی مورد استفاده قرار گرفت. خاصیت یک سیستم رمزنگاری ایدهآل نوعی خروجی است که هر بیت آن به احتمال %50 مقدار 0 و به احتمال %50 مقدار 1 باشد؛ بنابراین در آزمایشات مربوط به این پژوهش به عنوان متن رمزشده، 2800 رشته بیت تصادفی و هم طول با بدنهی بستههای RTP در نظر گرفته شدند .
سپس این رشته بیتها به جای محتوای بستههای VoIP، در نظر گرفته شدند و بر طبق کدک مورد استفاده در هر مکالمه، کد گشایی شدند. مطابق آنچه برای محتوای واقعی بستههای VoIP انجام شده بود، در اینجا نیز از محتوای کدگشایی شده تبدیل DCT گرفته شد و ضرایب حاصل به عنوان متغیرهای تأثیرگذار در ردهبندی در نظر گفته شدند. در مرحلهی بعد ابتدا دادههای به دست آمده به دو مجموعهی آموزشی و آزمایشی تقسیم شدند، به طوری که مجموعهی آموزشی شامل 1800 رکورد مربوط به بستههای صوتی و 1800 رکورد مربوط به متن رمزنگاری شده - رشته بیت تصادفی - بود.
همچنین مجموعه ی آزمایشی شامل 1000 رکورد مربوط به بسته های صوتی و 1000 رکورد مربوط به متن رمز شده بود. سپس دادههای هر دو مجموعه، ستون به ستون، نسبت به دادههای مجموعهی آموزشی مقیاس شدند؛ به طوری که بیشترین عضو هر ستون مجموعه آموزشی مقدار 1 و کمترین عضو آن مقدار -1 را به خود بگیرد. سپس یک ردهبند SVM بر روی بخشی از رکوردهای به دست آمده آموزش داده شد و بر باقیماندهی بسته ها پیشگویی انجام داد.