از هنر «پنهان نگاری» یا Steganography چه می دانید؟
۲۴ ۰۴ ۱۳۸۹آیا از «پنهان نگاری» چیزی می دانید؟ «پنهان نگاری» یا Steganography یعنی مخفی کردن یک پیام به نوعی که هیچ نشانه ای از وجود پیام موجود نباشد. دقت کنید، «هیچ نشانه ای از وجود پیام موجود نباشد» تفاوت این با «رمزنگاری» (Encryption) در این است که در رمز نگاری ما فقط می خواهیم خود پیام توسط افراد غیرمرتبط قابل خوانده شدن نباشد و اهمیت نمی دهیم که آیا آنها می دانند اصلآ پیامی وجود دارد یا نه. در پنهان نگاری هدف اصلی ما این است که وجود پیام را مخفی کنیم، مثلآ در قالب یک عکس یا آهنگ یا به هر طریق دیگر.
هنر پنهان نگاری سال ها است که مورد توجه انسان قرار گرفته. اهمیت آن در این است که خیلی اوقات لو رفتن وجود یک پیام حتی به صورت رمز شده خطرناک است.
مثلآ این سناریو را فرض کنید، یک نفر را به جرم جاسوسی بازداشت می کنند و در کیف او کلی مدارک رمز شده پیدا می کنند، خوب طرف عملآ کارش تمومه دیگه. حالا درسته که شاید اصل محتوا را نتوانند ببینند اما فقط وجود آن اسناد رمز شده کافی است که نشون بده اون طرف رابطه ای با جاسوسی داره و یک «آدم معمولی» نیست. حالا می توانند با استفاده از روش های دیگه مثل تهدید و شکنجه اون فرد را وادار کنند که نحوه رمزنگاری مدارک را افشا کند.
همین شرایطی که گفتم را در نظر بگیرید، این دفعه با این فرق که در کیف آن فرد فقط یک سری مجله و چند تا سی دی آهنگ پیدا می کنند. حالا با این فرض که «پنهان نگاری» آنها به اندازه کافی خوب باشه، پلیس ابدآ نمی تونه متوجه بشه که اون فرد اصلآ ارتباطی با پروژه جاسوسی داره یا نه.
تصویر زیر یک نمونه «پنهان نگاری» در یک نامه ساده فارسی را نشان می دهد،

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

یک نمونه معروف دیگر استفاده از پنهان نگاری بر می گردد به جنگ جهانی دوم. خانم Velvalee Dickinson به جاسوسی علیه آمریکا متهم شد. او در کار خرید و فروش عروسک بود و نامه هایی به آمریکای جنوبی می فرستاد. نامه های او به ظاهر سفارشاتی راجع به تعداد و مدل عروسک های مورد نیاز او بودند اما متنی که در نامه های مخفی شده بود در اصل موقعیت و وضعیت ناو های نظامی آمریکا بود. این خانم در نهایت با تحقیقات FBI لو رفت.
خوب حالا راجع به تاریخ به اندازه کافی حرف زدیم، برگردیم به دوران خودمون. با پیشرفت سریع کامپیوتر ها هنر پنهان نگاری شکل تازه ای به خودش گرفته. با وجود صد ها نرم افزار مختلف برای پنهان نگاری این کار خیلی ساده تر و گسترده تر شده.
افراد اطلاعات مورد نظر را در یک عکس یا یک فایل صوتی دیگر مخفی می کنند (با تغییر کم اهمیت ترین «بیت»، اطلاعات به صورت «نویز» مخفی می شوند). یک لحظه بهش فکر کنید، یعنی هر عکسی که شما در اینترنت می بینید، از آواتار دوستان تان در فیس بوک گرفته تا favicon سایت زنگوله می تونه حاوی اطلاعات مخفی شده باشه، ترسناک نیست؟
بگذارید ماجرا را برای تان روشن تر کنم که با چشم خودتان نحوه به کار گیری «پنهان نگاری» را ببینید، عکس سمت راست، تصویر گربه را می بینید؟ این گربه در اصل از تصویر درخت سمت چپ استخراج شده است!

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


سلام بابک جان
کارت حرف نداره نمرت بیسته
پاسخ به این نظر
سلام سروش جان، مخلصم.
پاسخ به این نظر
مطلب خوبی بود و خیلی لذت بردم… ازت ممنونم دوست عزیز
پاسخ به این نظر
خواهش می کنم مسعود جان.
پاسخ به این نظر
بسیار خوب. خسته نباشی
پاسخ به این نظر
ممنون رفیق ;)
پاسخ به این نظر
بعد از مدت ها، یک مطلب فارسی ِ درست و حسابی خوندم. واقعاً عاااالی بود :)
پاسخ به این نظر
ممنون از اینکه نظرت را گفتی.
پاسخ به این نظر
ممنون
پاسخ به این نظر
خواهش می کنم.
پاسخ به این نظر
خیلی جالب بود. ممنونم ازت که همیشه مطالبت دست اول و به درد بخوره…
امیدوارم همیشه موفق باشی و سایتت هم روز به روز پررونق تر بشه و ما هم ازت بیشتر چیز یاد بگیریم!
پاسخ به این نظر
ممنون. امیدوارم که بتونم همیشه مطالب مفید براتون تهیه کنم.
پاسخ به این نظر
ممنون مطلب جالبی بود.. ولی من خیلی سر در نیاوردم یعنی این که چطور پنهان نگاری می کنن! کاشکی بیشتر توضیح می دادین
یاد گرفتنش سخته؟!
پاسخ به این نظر
خواهش می کنم. کدام قسمت را خوب متوجه نشدید؟
اون مثال نامه فارسی که در بخش ابتدایی مطلب هست را یک بار با دقت بخوانید… نحوه پنهان نگاری در آن نامه را متوجه می شوید؟
پاسخ به این نظر
آره اونجا خوب بود فقط اون قسمت نرم افزار ها و این ها یک کم سنگین تر بود.
ولی باز هم قابل فهم بود ممنون.
پاسخ به این نظر
جالب بود. مرسی:)
پاسخ به این نظر
خواهش می کنم
پاسخ به این نظر
سمینار من برای درس 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
خیلی باحال بود. ببین سر حال اومدم با این کامنتت :دی واقعآ لذت می برم این خواننده های خوش ذوق و خلاق برام کامنت می ذارن. مرسی.
پاسخ به این نظر
این چجوری رمز گشایی میشه؟
من ۳ ساعت دارم زور میزنم هنوز نفهمیدم؟☺
پاسخ به این نظر
اون نامه فارسی در ابتدای همین مطلب را ببین. این هم عینآ عین همون رمزگشایی میشه. اگر بازم متوجه نشدی بگو بیشتر توضیح بدم.
پاسخ به این نظر
گرفتم خیلی باحال بود
پاسخ به این نظر
ای بابا این جه حرفیه. من مخلصم. مطلبات انقدر جالب بود که سر ذوق اومدم. میدونم چی میگی. واسه همین هم خودم اومدم دوباره توضیح دادم. ماشالا وبلاگت پرطفداره اگه بخوایی واسه هرکامنت احتمال “رمز” بودن رو در نظر بگیری نمیشه اصلن.
ارادتمند
و همچنان ممنون بابت مطلب
پاسخ به این نظر
سلام دوست عزیز
این مطلب شما اگه اشتباه نکنم مربوط به درس امنیت رشته IT میشود .
چون زمانی که درس امنیت را تو رشته IT میگذرونی و وقتی استاد از History یا بهتر بگم گذشته امنیت صحبت میکنه به این مبحث هم اشاره ای میکنه. البته مبحث امنیت بسیار گسترده است و من اصلا نمی خواهم وارد این بحث بشم فقط با خوندن این مطلب شما یاد کلاس امنیت افتادم و حتی هنوز یادم هستش که چظور یک متن را برای ما کد گشایی کرد . البته نسبت به قراردادی که از قبل با ما طی کرده بود.
THANKS
پاسخ به این نظر
ممنون زنگوله عزیز
مشتاقانه منتظر ادامه مطلب هستم
پاسخ به این نظر
مثل همیشه مفید و جالب بود.
به نظرم بابک جالب نیست.
پاسخ به این نظر
“بابک جالب نیست؟”
یعنی چی؟
پاسخ به این نظر
مرسی بابک جان.
همیشه مطالبت آدمو میگیره…! :)
تا حالا یکیشم نتونستم جا بندازم! :دی
پاسخ به این نظر
خواهش می کنم امیر جان
خوشحالم که به درد خورده
پاسخ به این نظر
=)) دوست عزیز من کپیپیست نمی کنم ! ولی چون قبلا از این نوع پنهان کاری استفاده کرده بودم (بدون این که بدونم اصلا اسمش پنهان کاریه !) اون قسمت پنهان کاری شما رو کشفیدم … خیلی جالب بود
پاسخ به این نظر
;-)
پاسخ به این نظر
مست آمدم ای پیر که مستانه بمیرم
مستانه کنار در میخانه بمیرم
درویشم و بگذار قلندر منشانه
کاکل همه افشان به سر شانه بمیرم
اگه گفتید من تو این متن چی پنهان کردم
پاسخ به این نظر
راهنمایی نداره؟ :دی
پاسخ به این نظر
یه راهنمایی بکن سخته
پاسخ به این نظر
به دنبال می و میخانه بگردید
پاسخ به این نظر
علی جون من اگه سر کاریه بگو بریم سر کار و زندگی مون… :دی
پاسخ به این نظر
بابک اگه دوست دختر داری بگو که برات رمز یابی کنه
پاسخ به این نظر
حالا خودت بگو ببینیم چیه؟
یا یه راهنمایی خووب بکن
پاسخ به این نظر
با سلام
مطلب دسته اول و تازه ای بود.. دمتون گرم:)
پاسخ به این نظر
جالب بود. موضوعات نابی ارائه میکنین.
خیلی استفاده از این روشها وسوسه برانگیزه، اما وقتی میدونی هیچ کس قرار نیست کشفشون کنه دلسرد میشی.
لذت بردیم. ممنون.
در ضمن این متن آخر پستت هم رو دیدم!
نه، اشتباه نکن. نمیخواستم کپی کنم! پیشزمینه گودر من خاکستریه! واسه همین دیدمش!
(از اسکریپت زبان فارسی گودر استفاده میکنم. http://ilinux.wordpress.com/2010/06/08/rtl-google-reader)
پاسخ به این نظر
خواهش می کنم.
:دی ایول…
پاسخ به این نظر
سلام
مطلبت عالی بود از همه جاش بیشتر از بخش اول مطلب خوشم اومد عالی بود
بخش نرم افزاری یه کمی واس ما پیچیده بود
ولی در کل نمره شما از بیست نمره بیستو یکه
پاسخ به این نظر
ممنون از اینکه نظرت را گفتی
پاسخ به این نظر
آفرین پسر خوب…
عالی بود.
پاسخ به این نظر
سلام بابک جان
منم اون متن آخر رو کشفیدم
من منم کپی پیست نمیکنم موقعی که صفحه کاملا لود نشده بود و متن توی پس زمینه طوسی گوشه صفحه نوشته بود فهمیدم
پاسخ به این نظر
ممنون
ولی خواستم این صفحه رو save کنم نشد؛ نمیدونم چرا …
پاسخ به این نظر
سلام آقا بابک؛
مطلب خیلی خوبی بود و اونرو تو دلیشز ذخیره کردم.
باشد که همه در وب فارسی از هم حمایت کنیم.
خوشحال میشم اگه به بلاگ من هم سر بزنی.
مجدداً تشکر و موفق تر باشی
پاسخ به این نظر
ممنون از نظرت احسان جان. به وبلاگت هم سر زدم.
پاسخ به این نظر
جالب بود !
پاسخ به این نظر
اوووووووووو. عجب چیز باحالی بود این… آقا واقعا دستت درست. خیلی حال کردم با این متن. و البسکو. الان دارم اونو هم می بینم.در کل چیز جالبی رو مطرح کردی که بااینکه گفتی قدیمیه ولی من نشنیده بودم. حسابی هم کار سازه!!!
فکر کنم بشه بجای انگلیسی از رمزگشایی فارسی هم میشه
در مورد عکسها یه توضیح کوچیک دادی! چطوری عکسها توی هم هستن؟؟ یعنی گربه درون عکس هست؟یا مثلا باید زوم کنی تا پیداش کنی!؟
در کل بسیـــــــــــــــــــــــار پر محتوا بود
مرسی
پاسخ به این نظر
نه اون طوری نیست که به صورت «تصویری» در عکس مخفی شده باشه که زوم کنی گربه را پیداش کنی.
بلکه اعداد مربوط به هر پیکسل اون عکس گربه با تغییر جزئی مقدار هر پیکسل عکس درخت مخفی شده
بعد با یک برنامه مخصوص (که شاید بعدآ یاد بدم چطوری همچون برنامه ای بنویسی…) اون اعداد خاص که تغییر دادی را از بقیه اعداد جدا می کنی و در یک فایل جدید ذخیره می کنی که خودش میشه اون عکس گربه…
پاسخ به این نظر
فحش نده من عادت دارم متنی که میخونم رو سلکت کنم
پاسخ به این نظر
سلام
you are a man , man
خیلی باحال بود واقعا ممنون، من سایتتوتن رو بوک مارک کردم و مرورگرم الان داره به بوک مارکاش افتخار می کنه …;)
ادامه بده ..سبز باشی و همیشگی
پاسخ به این نظر
mesle hamishe matlab aali bud movafagh bashid
پاسخ به این نظر
مرسی عالی بود. فقط اگه در مورد پنهان کاری با عکس بیشتر توضیح بدین که چجوری می شه این کارو کرد ، ممنون می شم.
پاسخ به این نظر
عالی بود
ممنون
پاسخ به این نظر
خیلی لطف داری
متشکرم
پاسخ به این نظر