آیا از «پنهان نگاری» چیزی می دانید؟ «پنهان نگاری» یا Steganography یعنی مخفی کردن یک پیام به نوعی که هیچ نشانه ای از وجود پیام موجود نباشد. دقت کنید، «هیچ نشانه ای از وجود پیام موجود نباشد» تفاوت این با «رمزنگاری» (Encryption) در این است که در رمز نگاری ما فقط می خواهیم خود پیام توسط افراد غیرمرتبط قابل خوانده شدن نباشد و اهمیت نمی دهیم که آیا آنها می دانند اصلآ پیامی وجود دارد یا نه. در پنهان نگاری هدف اصلی ما این است که وجود پیام را مخفی کنیم، مثلآ در قالب یک عکس یا آهنگ یا به هر طریق دیگر.
هنر پنهان نگاری سال ها است که مورد توجه انسان قرار گرفته. اهمیت آن در این است که خیلی اوقات لو رفتن وجود یک پیام حتی به صورت رمز شده خطرناک است.
مثلآ این سناریو را فرض کنید، یک نفر را به جرم جاسوسی بازداشت می کنند و در کیف او کلی مدارک رمز شده پیدا می کنند، خوب طرف عملآ کارش تمومه دیگه. حالا درسته که شاید اصل محتوا را نتوانند ببینند اما فقط وجود آن اسناد رمز شده کافی است که نشون بده اون طرف رابطه ای با جاسوسی داره و یک «آدم معمولی» نیست. حالا می توانند با استفاده از روش های دیگه مثل تهدید و شکنجه اون فرد را وادار کنند که نحوه رمزنگاری مدارک را افشا کند.
همین شرایطی که گفتم را در نظر بگیرید، این دفعه با این فرق که در کیف آن فرد فقط یک سری مجله و چند تا سی دی آهنگ پیدا می کنند. حالا با این فرض که «پنهان نگاری» آنها به اندازه کافی خوب باشه، پلیس ابدآ نمی تونه متوجه بشه که اون فرد اصلآ ارتباطی با پروژه جاسوسی داره یا نه.
تصویر زیر یک نمونه «پنهان نگاری» در یک نامه ساده فارسی را نشان می دهد،
نحوه پیدا کردن متن پنهان شده از قبل بین فرستنده و گیرنده تعیین شده. در مثال بالا به این صورت است که گیرنده جمله های بدنه نامه را می خواند، از حرف اول جمله اول شروع می کند و یک حرف انگلیسی را بر اساس نحوه تلفظ آن حرف در جمله می نویسد. مثلآ در جمله اول کلمه اول «انگار» است پس می نویسیم E (یعنی ئه). بعد حرف آخر جمله دوم، حرف اول جمله سوم، حرف آخر جمله چهارم و به همین ترتیب…
یکی از قدیمی ترین نشانه های استفاده از پنهان نگاری به حدود دو هزار و پانصد سال پیش بر می گردد. هیستیئس (Histiaeus)، یکی از حاکمانی که قدرتش را مدیون داریوش کبیر بود دستور داد مو های سر یکی از مورد اعتماد ترین کارگرانش را بتراشند و پیغامی روی کف سر او بنویسند. وقتی دوباره مو ها بلند شد پیغام مخفی شده بود و این فرد آماده برای سفر به سمت گیرنده پیام. این پنهان نگاری نقشه های نظامی ایرانیان را به یونانیان لو داد و باعث شورش شد.
یک نمونه معروف دیگر استفاده از پنهان نگاری بر می گردد به جنگ جهانی دوم. خانم Velvalee Dickinson به جاسوسی علیه آمریکا متهم شد. او در کار خرید و فروش عروسک بود و نامه هایی به آمریکای جنوبی می فرستاد. نامه های او به ظاهر سفارشاتی راجع به تعداد و مدل عروسک های مورد نیاز او بودند اما متنی که در نامه های مخفی شده بود در اصل موقعیت و وضعیت ناو های نظامی آمریکا بود. این خانم در نهایت با تحقیقات FBI لو رفت.
خوب حالا راجع به تاریخ به اندازه کافی حرف زدیم، برگردیم به دوران خودمون. با پیشرفت سریع کامپیوتر ها هنر پنهان نگاری شکل تازه ای به خودش گرفته. با وجود صد ها نرم افزار مختلف برای پنهان نگاری این کار خیلی ساده تر و گسترده تر شده.
افراد اطلاعات مورد نظر را در یک عکس یا یک فایل صوتی دیگر مخفی می کنند (با تغییر کم اهمیت ترین «بیت»، اطلاعات به صورت «نویز» مخفی می شوند). یک لحظه بهش فکر کنید، یعنی هر عکسی که شما در اینترنت می بینید، از آواتار دوستان تان در فیس بوک گرفته تا favicon سایت زنگوله می تونه حاوی اطلاعات مخفی شده باشه، ترسناک نیست؟
بگذارید ماجرا را برای تان روشن تر کنم که با چشم خودتان نحوه به کار گیری «پنهان نگاری» را ببینید، عکس سمت راست، تصویر گربه را می بینید؟ این گربه در اصل از تصویر درخت سمت چپ استخراج شده است!
چند وقت پیش سر و صدای زیادی در این رابطه شده بود که تروریست ها از پنهان نگاری استفاده می کنند و پیغام های خودشان را در عکس کالا های مختلف که روی Ebay به فروش گذاشته می شود پنهان می کنند. گیرنده هم فقط کافی است در Ebay آن جنس را پیدا کرده و عکس را با نرم افزار مخصوصش بخواند. به چشم بقیه هم هیچ چیز مهمی نیست.
در حال حاظر در اینترنت اسپایدر هایی شبیه اسپایدر های موتور های جستجو، اما مخصوص سازمان های امنیتی وجود دارند که هر عکسی را که پیدا می کنند برای وجود چنین پیغام هایی بررسی و تحلیل می کنند.
این اطلاعات می تواند در فایل های صوتی هم پنهان شده باشد. با تغییر Bit های کم ارزش (Least Significant Bit) اطلاعات به فایل صوتی اضافه می شود. این تغییرات باعث به وجود آمدن Noise روی فایل می شود. اما اگر اطلاعات مخفی شده زیاد نباشد این Noise ابدآ قابل تشخیص برای انسان نیست و فقط نرم افزار های فوق العاده پیچیده قادر به پیدا کردن آنها خواهند بود.
* می توان اطلاعات را اول توسط الگوریتم های دیگر رمزنگاری کرد و سپس آنها را «پنهان نگاری» کرد. در این صورت حتی اگر پیغام پیدا شود، قابل خواندن نخواهد بود.
یکی از روش های دیگر «پنهان نگاری» که نسبتآ جدید تر و کشف آن پیچیده تر است «پنهان نگاری شبکه» است. در این روش پیام با استفاده از مشخصه های ساده پروتوکول های ارتباطی مخفی می شود. مبحث پیچیده ایه اما اینجا با کلمات قلمبه سلمبه گیج نشوید. می دانید که اطلاعات در اینترنت به بسته یا Packet های کوچک تقسیم شده و ارسال و دریافت می شوند. حالا فرض کنید ما برنامه ای بنویسیم که هنگام ارسال اطلاعات به یک گیرنده خاص از عمد یک مقدار مشخص بین ارسال هر Packet تاخیر ایجاد کند. این تاخیر زمانی می تواند به عنوان یک فاکتور برای پنهان نگاری استفاده شود.
یک مثال دیگر استفاده از پروتوکول VoIP است. وقتی شما با دوست تان در اسکایپ صحبت می کنید بعضی از بسته های اطلاعاتی که از کامپیوتر شما به کامپیوتر دوست تان ارسال می شود به خاطر تاخیر زیاد یا ناقص بودن از طرف کامپیوتر دوست تان نادیده گرفته می شوند. حالا می توان یک برنامه نوشت که از عمد بسته هایی ناقص یا با تاخیر بفرستد که حاوی اطلاعات خاصی باشند. در آن طرف هم برنامه ای دیگر به جای اینکه آنها را دور بریزد می خواند و پردازش می کند. به این صورت یک پیغام می تواند به صورت مخفیانه جا به جا شود.