از هنر «پنهان نگاری» یا Steganography چه می دانید؟

۲۴ ۰۴ ۱۳۸۹

آیا از «پنهان نگاری» چیزی می دانید؟ «پنهان نگاری» یا Steganography یعنی مخفی کردن یک پیام به نوعی که هیچ نشانه ای از وجود پیام موجود نباشد. دقت کنید، «هیچ نشانه ای از وجود پیام موجود نباشد» تفاوت این با «رمزنگاری» (Encryption) در این است که در رمز نگاری ما فقط می خواهیم خود پیام توسط افراد غیرمرتبط قابل خوانده شدن نباشد و اهمیت نمی دهیم که آیا آنها می دانند اصلآ پیامی وجود دارد یا نه. در پنهان نگاری هدف اصلی ما این است که وجود پیام را مخفی کنیم، مثلآ در قالب یک عکس یا آهنگ یا به هر طریق دیگر.

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

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

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

تصویر زیر یک نمونه «پنهان نگاری» در یک نامه ساده فارسی را نشان می دهد،

Simple Steganography in Persian (Farsi) پنهان نگاری

نحوه پیدا کردن متن پنهان شده از قبل بین فرستنده و گیرنده تعیین شده. در مثال بالا به این صورت است که گیرنده جمله های بدنه نامه را می خواند، از حرف اول جمله اول شروع می کند و یک حرف انگلیسی را بر اساس نحوه تلفظ آن حرف در جمله می نویسد. مثلآ در جمله اول کلمه اول «انگار» است پس می نویسیم E (یعنی ئه). بعد حرف آخر جمله دوم، حرف اول جمله سوم، حرف آخر جمله چهارم و به همین ترتیب…

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

Velvalee Dickinson Spy World War 2 Japan America

یک نمونه معروف دیگر استفاده از پنهان نگاری بر می گردد به جنگ جهانی دوم. خانم Velvalee Dickinson به جاسوسی علیه آمریکا متهم شد. او در کار خرید و فروش عروسک بود و نامه هایی به آمریکای جنوبی می فرستاد. نامه های او به ظاهر سفارشاتی راجع به تعداد و مدل عروسک های مورد نیاز او بودند اما متنی که در نامه های مخفی شده بود در اصل موقعیت و وضعیت ناو های نظامی آمریکا بود. این خانم در نهایت با تحقیقات FBI لو رفت.

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

افراد اطلاعات مورد نظر را در یک عکس یا یک فایل صوتی دیگر مخفی می کنند (با تغییر کم اهمیت ترین «بیت»، اطلاعات به صورت «نویز» مخفی می شوند). یک لحظه بهش فکر کنید، یعنی هر عکسی که شما در اینترنت می بینید، از آواتار دوستان تان در فیس بوک گرفته تا favicon سایت زنگوله می تونه حاوی اطلاعات مخفی شده باشه، ترسناک نیست؟

بگذارید ماجرا را برای تان روشن تر کنم که با چشم خودتان نحوه به کار گیری «پنهان نگاری» را ببینید، عکس سمت راست، تصویر گربه را می بینید؟ این گربه در اصل از تصویر درخت سمت چپ استخراج شده است!

استفاده از پنهان نگاری یا Steganography

چند وقت پیش سر و صدای زیادی در این رابطه شده بود که تروریست ها از پنهان نگاری استفاده می کنند و پیغام های خودشان را در عکس کالا های مختلف که روی Ebay به فروش گذاشته می شود پنهان می کنند. گیرنده هم فقط کافی است در Ebay آن جنس را پیدا کرده و عکس را با نرم افزار مخصوصش بخواند. به چشم بقیه هم هیچ چیز مهمی نیست.

در حال حاظر در اینترنت اسپایدر هایی شبیه اسپایدر های موتور های جستجو، اما مخصوص سازمان های امنیتی وجود دارند که هر عکسی را که پیدا می کنند برای وجود چنین پیغام هایی بررسی و تحلیل می کنند.

این اطلاعات می تواند در فایل های صوتی هم پنهان شده باشد. با تغییر Bit های کم ارزش (Least Significant Bit) اطلاعات به فایل صوتی اضافه می شود. این تغییرات باعث به وجود آمدن Noise روی فایل می شود. اما اگر اطلاعات مخفی شده زیاد نباشد این Noise ابدآ قابل تشخیص برای انسان نیست و فقط نرم افزار های فوق العاده پیچیده قادر به پیدا کردن آنها خواهند بود.

* می توان اطلاعات را اول توسط الگوریتم های دیگر رمزنگاری کرد و سپس آنها را «پنهان نگاری» کرد. در این صورت حتی اگر پیغام پیدا شود، قابل خواندن نخواهد بود.

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

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

خوب امیدوارم با مقدمات و تئوری پنهان نگاری به خوبی آشنا شده باشید، در مطالب بعدی روش های عملی «پنهان نگاری» را بررسی می کنیم.

توصیه می کنم مطلب سایت نگهبان را هم در این رابطه ببینید.

این هم یک «پنهان نگاری» برای شما کپی پیست باز عزیز!

مشترک زنگوله شوید تا حتی یک مطلب را هم از دست ندهید!
به وسیله‌ی ایمیل:
 
ایمیل شما نزد ما محفوظ و اشتراک تان هر لحظه با یک کلیک قابل انصراف است.

یا به وسیله‌ی فـیـد (خوراک)

* تبادل لینک نمی کنیم

 تا کنون ۶۴ نظر برای برای این مطلب نوشته شده است

سروش :

سلام بابک جان
کارت حرف نداره نمرت بیسته

پاسخ به این نظر

بابک گفت:

سلام سروش جان، مخلصم.

پاسخ به این نظر

مسعود :

مطلب خوبی بود و خیلی لذت بردم… ازت ممنونم دوست عزیز

پاسخ به این نظر

بابک گفت:

خواهش می کنم مسعود جان.

پاسخ به این نظر

محمدعرفان :

بسیار خوب. خسته نباشی

پاسخ به این نظر

بابک گفت:

ممنون رفیق ;)

پاسخ به این نظر

سینا :

بعد از مدت ها، یک مطلب فارسی ِ درست و حسابی خوندم. واقعاً عاااالی بود :)

پاسخ به این نظر

بابک گفت:

ممنون از اینکه نظرت را گفتی.

پاسخ به این نظر

Hesam :

ممنون

پاسخ به این نظر

بابک گفت:

خواهش می کنم.

پاسخ به این نظر

مانلی :

خیلی جالب بود. ممنونم ازت که همیشه مطالبت دست اول و به درد بخوره…
امیدوارم همیشه موفق باشی و سایتت هم روز به روز پررونق تر بشه و ما هم ازت بیشتر چیز یاد بگیریم!

پاسخ به این نظر

بابک گفت:

ممنون. امیدوارم که بتونم همیشه مطالب مفید براتون تهیه کنم.

پاسخ به این نظر

باران :

ممنون مطلب جالبی بود.. ولی من خیلی سر در نیاوردم یعنی این که چطور پنهان نگاری می کنن! کاشکی بیشتر توضیح می دادین
یاد گرفتنش سخته؟!

پاسخ به این نظر

بابک گفت:

خواهش می کنم. کدام قسمت را خوب متوجه نشدید؟
اون مثال نامه فارسی که در بخش ابتدایی مطلب هست را یک بار با دقت بخوانید… نحوه پنهان نگاری در آن نامه را متوجه می شوید؟

پاسخ به این نظر

مانلی گفت:

آره اونجا خوب بود فقط اون قسمت نرم افزار ها و این ها یک کم سنگین تر بود.
ولی باز هم قابل فهم بود ممنون.

پاسخ به این نظر

گلابی :

جالب بود. مرسی:)

پاسخ به این نظر

بابک گفت:

خواهش می کنم

پاسخ به این نظر

علیرضا :

سمینار من برای درس DSP همین Steganography بود. نهان نگاری مخصوص الفبا و متون فارسی هم وجود داره، که قوی ترین کارها تو این زمینه رو دو تا دانشجوی ایرانی انجام دادن البته روش هایی هم هست که عرب ها برای نهان نگاری متون نوشته شده با ادبیات فارسی ابداع کردند ولی انصافا خیلی ضعیف تره.

پاسخ به این نظر

بابک گفت:

ممنون از نظرت. در این رابطه اطلاعات داری در اختیار ما هم بذار.

پاسخ به این نظر

علیرضا گفت:

مطلب کوتاهی رو به آدرس (no-reply@zangoole.com) ایمیل کردم. البته no-reply به اندازه کافی روشنه یعنی چی ولی آدرس ایمیل دیگه ای پیدا نکردم که به اون ایمیل کنم.
این مقالات در زمینه نهان نگار نوشتار فارسی میتونه مفید باشه
۱ A New Approach to Persian/Arabic Text Steganography
————————————–
2 Pseudo-Space Persian/Arabic Text Steganography
————————————–
STEGANOGRAPHY IN PERSIAN AND ARABIC UNICODE
TEXTS USING PSEUDO-SPACE AND PSEUDO
CONNECTION CHARACTERS
—————————————

پاسخ به این نظر

بابک گفت:

ممنونم علیرضا جان، اونها توسط میل سرور بلاک می شوند. ممکنه برایم بفرستی به اینجا؟
http://zangoole.com/Babak.png

پاسخ به این نظر

علیرضا گفت:

فرستادم. امیدوارم بتونند مفید باشند.
اگه نرسید اطلاع بده
موفق باشید

پاسخ به این نظر

بابک گفت:

رسید. ممنونم. الان می خوام بخونم.

پاسخ به این نظر

ذهن ِآشفته :

چایی‌ها سرد شد. هیچ‌کس نخورده. من می‌مونم و این‌همه ظرف نشسته. فکر کنم باید ببرمشون توی حیاط. لب حوض. بشینم جلوی تاب. جیک‌جیک جوجه‌ها رو بشنوم. از خوش‌حالی برم فضا. لام تا کام حرف نزنم با کسی. از اون لحظه‌های ناب. یادش به خیر…

پاسخ به این نظر

ذهن ِآشفته گفت:

بابا رمز گشایی کن این رو صاحاب وبلاگ
این‌همه نشستم خلاقیت به خرج دادم خیر سرم! :))

پاسخ به این نظر

بابک گفت:

ااااا….ببین خیلی باحالی…. من اول کامنتت را دیدم فکر کردم اشتباهی چیزی شده و اصلآ فکر نکردم رمز باشه. چون ببین من از این کامنت ها خیلی زیاد می گیرم که یارو اولش ده بیت شعر عاشقانه می نویسه بعد می گه وب خوبی داری منم آپم بیا به کلبه درویشی من سر بزن و… اینه که چشمم عادت کرده اتوماتیک کامنت تم شعری داشته باشه مغزم mark as spam می کنه :))) الان می بینم خیلی احمق بودم، ببخشید.

CEMTLBJALBI

CHE MATLABE JALEBI

خیلی باحال بود. ببین سر حال اومدم با این کامنتت :دی واقعآ لذت می برم این خواننده های خوش ذوق و خلاق برام کامنت می ذارن. مرسی.

پاسخ به این نظر

سروش گفت:

این چجوری رمز گشایی میشه؟
من ۳ ساعت دارم زور میزنم هنوز نفهمیدم؟☺

پاسخ به این نظر

بابک گفت:

اون نامه فارسی در ابتدای همین مطلب را ببین. این هم عینآ عین همون رمزگشایی میشه. اگر بازم متوجه نشدی بگو بیشتر توضیح بدم.

پاسخ به این نظر

سروش گفت:

گرفتم خیلی باحال بود

پاسخ به این نظر

ذهن ِآشفته گفت:

ای بابا این جه حرفیه. من مخلصم. مطلب‌ات انقدر جالب بود که سر ذوق اومدم. می‌دونم چی می‌گی. واسه همین هم خودم اومدم دوباره توضیح دادم. ماشالا وبلاگت پرطف‌داره اگه بخوایی واسه هرکامنت احتمال “رمز” بودن رو در نظر بگیری نمی‌شه اصلن.

ارادتمند
و هم‌چنان ممنون بابت مطلب

پاسخ به این نظر

Kamran :

سلام دوست عزیز
این مطلب شما اگه اشتباه نکنم مربوط به درس امنیت رشته IT میشود .
چون زمانی که درس امنیت را تو رشته IT میگذرونی و وقتی استاد از History یا بهتر بگم گذشته امنیت صحبت میکنه به این مبحث هم اشاره ای میکنه. البته مبحث امنیت بسیار گسترده است و من اصلا نمی خواهم وارد این بحث بشم فقط با خوندن این مطلب شما یاد کلاس امنیت افتادم و حتی هنوز یادم هستش که چظور یک متن را برای ما کد گشایی کرد . البته نسبت به قراردادی که از قبل با ما طی کرده بود.
THANKS

پاسخ به این نظر

majid :

ممنون زنگوله عزیز
مشتاقانه منتظر ادامه مطلب هستم

پاسخ به این نظر

Ancient :

مثل همیشه مفید و جالب بود.

به نظرم بابک جالب نیست.

پاسخ به این نظر

سروش گفت:

“بابک جالب نیست؟”
یعنی چی؟

پاسخ به این نظر

امیر :

مرسی بابک جان.
همیشه مطالبت آدمو میگیره…! :)
تا حالا یکیشم نتونستم جا بندازم! :دی

پاسخ به این نظر

بابک گفت:

خواهش می کنم امیر جان
خوشحالم که به درد خورده

پاسخ به این نظر

برسام :

=)) دوست عزیز من کپی‌پیست نمی کنم ! ولی چون قبلا از این نوع پنهان کاری استفاده کرده بودم (بدون این که بدونم اصلا اسمش پنهان کاریه !) اون قسمت پنهان کاری شما رو کشفیدم … خیلی جالب بود

پاسخ به این نظر

علی :

مست آمدم ای پیر که مستانه بمیرم

مستانه کنار در میخانه بمیرم

درویشم و بگذار قلندر منشانه

کاکل همه افشان به سر شانه بمیرم

اگه گفتید من تو این متن چی پنهان کردم

پاسخ به این نظر

حمید گفت:

راهنمایی نداره؟‌ :دی

پاسخ به این نظر

سروش گفت:

یه راهنمایی بکن سخته

پاسخ به این نظر

علی گفت:

به دنبال می و میخانه بگردید

پاسخ به این نظر

بابک گفت:

علی جون من اگه سر کاریه بگو بریم سر کار و زندگی مون… :دی

پاسخ به این نظر

علی گفت:

بابک اگه دوست دختر داری بگو که برات رمز یابی کنه

پاسخ به این نظر

سروش گفت:

حالا خودت بگو ببینیم چیه؟

یا یه راهنمایی خووب بکن

پاسخ به این نظر

طراحی وب سایت :

با سلام
مطلب دسته اول و تازه ای بود.. دمتون گرم:)

پاسخ به این نظر

پوریا :

جالب بود. موضوعات نابی ارائه می‌کنین.
خیلی استفاده از این روش‌ها وسوسه برانگیزه، اما وقتی میدونی هیچ کس قرار نیست کشفشون کنه دلسرد می‌شی.
لذت بردیم. ممنون.

در ضمن این متن آخر پستت هم رو دیدم!
نه، اشتباه نکن. نمیخواستم کپی کنم! پیش‌زمینه گودر من خاکستریه! واسه همین دیدمش!
(از اسکریپت زبان فارسی گودر استفاده می‌کنم. http://ilinux.wordpress.com/2010/06/08/rtl-google-reader)

پاسخ به این نظر

بابک گفت:

خواهش می کنم.
:دی ایول…

پاسخ به این نظر

بلوچ خان :

سلام
مطلبت عالی بود از همه جاش بیشتر از بخش اول مطلب خوشم اومد عالی بود
بخش نرم افزاری یه کمی واس ما پیچیده بود
ولی در کل نمره شما از بیست نمره بیستو یکه

پاسخ به این نظر

بابک گفت:

ممنون از اینکه نظرت را گفتی

پاسخ به این نظر

امین :

آفرین پسر خوب…
عالی بود.

پاسخ به این نظر

سروش :

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

پاسخ به این نظر

حجت :

ممنون
ولی خواستم این صفحه رو save کنم نشد؛ نمیدونم چرا …

پاسخ به این نظر

احسان :

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

پاسخ به این نظر

بابک گفت:

ممنون از نظرت احسان جان. به وبلاگت هم سر زدم.

پاسخ به این نظر

M I L A D :

اوووووووووو. عجب چیز باحالی بود این… آقا واقعا دستت درست. خیلی حال کردم با این متن. و البسکو. الان دارم اونو هم می بینم.در کل چیز جالبی رو مطرح کردی که بااینکه گفتی قدیمیه ولی من نشنیده بودم. حسابی هم کار سازه!!!
فکر کنم بشه بجای انگلیسی از رمزگشایی فارسی هم میشه
در مورد عکسها یه توضیح کوچیک دادی! چطوری عکسها توی هم هستن؟؟ یعنی گربه درون عکس هست؟‌یا مثلا باید زوم کنی تا پیداش کنی!؟
در کل بسیـــــــــــــــــــــــار پر محتوا بود
مرسی

پاسخ به این نظر

بابک گفت:

نه اون طوری نیست که به صورت «تصویری» در عکس مخفی شده باشه که زوم کنی گربه را پیداش کنی.
بلکه اعداد مربوط به هر پیکسل اون عکس گربه با تغییر جزئی مقدار هر پیکسل عکس درخت مخفی شده
بعد با یک برنامه مخصوص (که شاید بعدآ یاد بدم چطوری همچون برنامه ای بنویسی…) اون اعداد خاص که تغییر دادی را از بقیه اعداد جدا می کنی و در یک فایل جدید ذخیره می کنی که خودش میشه اون عکس گربه…

پاسخ به این نظر

erfanxer :

فحش نده من عادت دارم متنی که میخونم رو سلکت کنم

پاسخ به این نظر

سبکتکین :

سلام
you are a man , man
خیلی باحال بود واقعا ممنون، من سایتتوتن رو بوک مارک کردم و مرورگرم الان داره به بوک مارکاش افتخار می کنه …;)
ادامه بده ..سبز باشی و همیشگی

پاسخ به این نظر

mostafa :

mesle hamishe matlab aali bud movafagh bashid

پاسخ به این نظر

سحر :

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

پاسخ به این نظر

علی :

عالی بود
ممنون

پاسخ به این نظر

bahman :

خیلی لطف داری
متشکرم

پاسخ به این نظر

نظر دهید