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

استیگانوگرافی چیست؟ آشنایی با نهان نگاری به زبان بسیار ساده

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

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

امروزه مفهوم پوشیده نویسی بسیار حرفه ای تر شده است و هکرها و مهاجمین از این روش برای شناسایی نشدن در دوربین های مداربسته یا سیستم های حفاظتی استفده می کنند ، نمونه ای از این مخفی نگاری را قبلا در توسینسو به نام Alternate Data Stream در فایل سیستم NTFS بصورت مفصل در توسینسو توضیح داده ایم . استیگانوگرافی به معنی مخفی کردن اطلاعات درون فایل ها به شکلی است که از دید دشمن در امان باشد ، برای مثلا مخفی کردن داده درون فایل متنی ، صوتی ، تصویری و ... نکته جالب در استیگانوگرافی این است که در واقع رمزنگاری محسوب نمی شود چون قرار نیست اصلا دیده شود که رمزگشایی نیاز باشد !!

وقتی شما داده ای را رمزنگاری می کنید مهاجم یا مخربین می توانند آن را مشاهده کنند اما نمی توانند رمزگشایی کنند ، اما هدف استیگانوگرافی این است که اصلا کسی متوجه نشود که پیامی رد و بدل می شود که بخواهد آن را شنود یا تشخیص بدهد و این خیلی جذاب است . حالا تصور کنید که شما داده های خود را رمزنگاری کنید و بعد در قالب یک فایل استیگانوگرافی کنید و برای کسی ارسال کنید . جالب است بدانید که بن لادن با استفاده از همین روش استیگانوگرافی در قالب تصاویر درون ایمیلش کلی اطلاعات را جابجا کرد و بعضا بسیاری از قراردادهای خود را از این طریق ارسال کرد. به تصویر زیر نگاه کنید ، احتمالا آن را درون کتاب پروفسور تنن باوم ( شبکه های کامپیوتری ) در قسمت رمزنگاری مشاهده کرده اید ، تصویری که درون یکی از آنها کلی اطلاعات وجود دارد اما در ظاهر هر دو تصویر یکسان هستند :

تصویر رمزنگاری شده

مهاجمین و هکرها نیز می توانند اطلاعات نظیر سورس کد ابزارهای هک ، لیست سرورهای هک شده ، برنامه های حمله های آینده و بسیاری از موارد دیگر را درون این قالب قرار بدهند.

پنهان نگاری چیست؟ آشنایی با استیگانوگرافی (Steganography)

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

Lena
Lena 2

در نگاه اول هر دو تصویر یکسان است، و تفاوتی با یکدیگر ندارند، ولی تصویر سمت راست تصویر اصلی، و تصویر سمت چپ حاولی متن پیغام "Hello World!" است. اما این کار چطور ممکن است؟ همانطور که می دانید تصاویر از پیکسل ها تشکیل میشوند. هر پیکسل یک رشته 8 بیتی (البته در تصاویر سیاه و سفید یا Grayscale) است که بیانگر رنگ آن پیکسل می باشد. بطور مثال رشته 00000000 رنگ سفید را مشخص می کند و 11111111 رنگ سیاه را نشان میدهد. حال فرض کنید یک پیکسل سفید رنگ را از 00000000 به 00000001 تغییر دهیم، یعنی بی ارزش ترین بیت آن را عوض کنیم، آیا چشم کاربر می تواند تغییر به این اندازه کوچک را تشخیص دهد؟ خیر.برای پنهان سازی یک پیغام به طور مثال "Hello World!" درون تصویر، ابتدا باید این رشته را به رشته ی بیتی تبدیل نماییم که حاصل رشته بیتی زیر می شود:

01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00100001

حال باید از سمت چپ این رشته بیتی شروع کنیم و یک به یک هر بیت را درون یک پیکسل قرار دهیم. نحوه قرار گیری هر بیت هم به این شکل است که بیت مورد نظر را به جای بی ارزش ترین بیت هر پیکسل قرار میدهیم. مثلا اگر رشته بیتی اولین پیکسل 01011101 باشد و اولین بین نیز 0 باشد، رشته بیتی اولین پیکسل به شکل 01011100 در خواهد آمد. این روند را تا جایی ادامه می دهیم که تمامی بیت های پیغام تمام شود. حال پیغام شما به درستی درون مدیای Steganography قرار گرفته و می توانید آن را با خیال راحت ارسال کنید. در طرف گیرنده نیز باید عکس همین رویه اتفاق بیفتد، یعنی به اندازه رشته بیتی پیغام شروع به خواندن پیکسل ها کند و بی ارزش ترین بیت هر پیکسل را خارج نماید. و در نهایت رشته بیتی حاصل را به String تبدیل نماید.

  • نکته: جهت ایجاد امنیت بیشتر می توانید ابتدا با یک الگوریتم رمزنگاری پیغام را رمز نموده و سپس حاصل را به الگورتیم Steganography بدهید.

نهان نگاری چیست؟ آشنایی با Steganography یا پوشیده نویسی + ابزار

نهان نگاری یا همان Steganography روشی است که شما در این روش اطلاعاتی در پوشش یک اطلاعات دیگر نهان میکنید تا به راحتی قابل کشف نباشد در این روش شما میتوانید برای مثال هر نوع فایل و یا اطلاعاتی در قالب فایل و اطلاعات دیگری نهان بکنید برای مثال میتوانید تصاویر خود را در یک فایل موسیقی مخفی کنید البته صرف مخفی کردن بدون رمزنگاری زیاد جالب و بدردبخور نبوده و به راحتی برای همگان قابل کشف خواهد بود برای همین بعد ازنهان سازی استفاده از یکی از روشهای رمزنگاری نیز توصیه میشود شاید بپرسید این روش چه تفاوتی با رمزنگاری(Cryptography) دارد .

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

شروع این تکنیک به سال های 440 میلادی برمیگردد که در ان زمان از ابزاری قدیمی مانند Wax Table و یا جدول رمز Ave-Maria-Cipher برای نهان نگاری استفاده میشده است که با ورود سیستم های دیجیتال این تکنیک از سال 1985 با استفاده از ابزارهای کامپیوتری مورد استفاده قرار گرفته است توسعه این تکنیک بسیار کند بوده است ولی با این حال روشها و ابزارهای بسیاری برای این منظور طراحی و در دسترس میباشد که در این مقاله قصد دارم یکی از این ابزارها با نام DeepSound را به شما معرفی نمایم.

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


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات