در این مقاله بر روی یک موضوع کمی ناآشنا در بخش فناوری اطلاعات یعنی Steganography یا نهان نگاری تمرکز خواهیم کرد. این مقاله مفاهیم مختلفی را در زمینه استگانوگرافی یا نهان نگاری، تاریخ مختصری از این حوزه و معرفی چند نوع از تکنیک های رایج را پوشش می دهد.
اولین نشانه های Steganography توسط مورخ یونانی Herodotus در تاریخ در کتابی با نام “Histories” و به حدود ۴۴۰ سال قبل از میلاد مسیح برمی گردد. هرودوت در این مدت دو داستان از تکنیک های Steganographic را در یونان ثبت کرده است. اولین داستان مربوط به داریوش پادشاه شوش می باشد که سر یکی از زندانیان خود را تراشیده و پیام پنهانی خود را بر پوست سر او نوشت. هنگامی که موی سر زندانی بلند شد، وی زندانی را به سمت هدف خود فرستاد تا پیام را بصورت پنهانی منتقل کند.
داستان دوم که توسط هرودوت آمده است، ادعا می کند که سربازی بنام دمیراتوس برای خبر حمله خشاریارشا به یونان، از روش نهان نگاری استفاده کرده است. در آن زمان برای نوشتار متنی از لوح های پوشیده متن استفاده می شود. دمیراتوس موم را از لوح خارج کرده، پیام را بصورت مخفی روی چوب زیرین نوشت و لوح را دوباره با موم پوشاند و با اینکار پیام بدون شناسایی توسط کسی، به مقصد رسید. همچنین نقل است کهرومیان از جوهرهای نامرئی نیز برای ارسال پیام ها استفاده می کرده اند.
در دنیای دیجیتال امروزی، یعنی ۱۹۹۲ تا به امروز، استگانوگرافی در سراسر جهان در سیستم های رایانه ای استفاده می شود. ابزارها و فن آوری های زیادی ایجاد شده اند که از تکنیک های قدیمی نهان نگاری مانند رمزگذاری های نال، کدگذاری در تصاویر، صدا، فیلم و میکرودوت بهره می گیرند.
Steganography یا نهان نگاری چیست؟
Steganography یا نهان نگاری روش مخفی کردن داده های مهم در یک فایل یا پیام معمولی، به منظور جلوگیری از شناسایی توسط دیگران است؛ سپس این اطلاعات مخفی در مقصد به حالت اولیه استخراج می شوند. استفاده از استگانوگرافی می تواند با رمزگذاری به عنوان یک گام اضافی برای مخفی کردن یا محافظت از داده ها، ترکیب شود. کلمه steganography از کلمات یونانی steganos (به معنی پنهان یا پوشیده شده) و ریشه یونانی graph (به معنی نوشتن) گرفته شده است.
از Steganography می توان برای مخفی کردن تقریباً هر نوع محتوای دیجیتالی، از جمله متن، تصویر، فیلم یا محتوای صوتی استفاده کرد. داده هایی که باید مخفی شوند، تقریباً در هر نوع محتوای دیجیتالی دیگری می توانند مخفی شوند. غالبا محتوایی که قرار است مخفی شود، قبل از پروسه نهان نگاری، رمزگذاری می شود تا یک لایه محافظتی بیشتر برای محافظت از داده ها وجود داشته باشد.
استگانوگرافی معمولا توسط کسانی که مایل به انتقال پیام یا کد هستند بصورت مخفی هستند، استفاده می شود. در حالی که استفاده های قانونی زیادی برای استگانوگرافی وجود دارد، اما توسعه دهندگان بدافزار نیز وجود دارند که برای جلوگیری از شناسایی کد مخرب، از تکنیک های استگانوگرافی استفاده می کنند. همانطور که در بالاتر اشاره شد تکنیک های نهان نگاری قرن هاست مورد استفاده قرار می گیرند، اما با پیشرفت علوم دیجیتال این تکنیک ها هر روزه پیشرفت می کنند.
Steganography چگونه کار می کند؟
Steganography بیت های غیر ضروری یا بلااستفاده ای را در فایلهای رایانه ای (گرافیک، صدا، متن) با بیت هایی از اطلاعات متفاوت و نامرئی جایگزین می کند. اطلاعات مخفی شده می توانند هر فایل رایانه ای یا داده های رمزگذاری شده باشند. لازم به ذکر است که نهان نگاری با رمزنگاری متفاوت است. رمزنگاری اقدام به رمزگذاری اطلاعات می کند در حالی نهان نگاری اقدام به مخفی کردن اطلاعات می کند، ترکیب این دو برای انتقال بسیار ایده آل می باشد. فایل رمزگذاری شده ممکن است هنوز هم با استفاده از steganography اطلاعات را پنهان کند، بنابراین حتی اگر فایل رمزگذاری شده رمزگشایی شود، اطلاعات پنهان دیده نمی شوند.
استگانوگرافی در مقابل رمزنگاری
استگانوگرافی بیشتر بر مخفی ماندن اطلاعات متمرکز است، در حالی که رمزنگاری بیشتر با موضوع اطمینان از دسترسی به اطلاعات درگیر است. هنگامی که از استگانوگرافی به درستی استفاده می شود، هیچ کس، جدا از گیرنده های در نظر گرفته شده، نباید قادر به دریافت اطلاعات پنهانی باشد. این امر برای موقعیت هایی که ارتباطات ناامن وجود دارد، یک روش مفید و کارا به حساب می آید.
در مقابل، رمزنگاری در شرایطی مورد استفاده قرار می گیرد که مهمترین دغدغه حفظ محرمانگی اطلاعات است و نباید شخص ثالثی از محتوای اصلی پیام باخبر شود.
بیایید برای درک تفاوت ها چند مثال بزنیم. اگر یک فعال سیاسی هستید که زندانی شده اید و باید با سازمان خود ارتباط برقرار کنید، نگهبانان زندان می توانند چالش برانگیز باشد. مقامات ممکن است همه مواردی را که از داخل سلول شما بیرون می رود، رصد کنند، بنابراین شما احتمالاً باید هرگونه ارتباطی را که در آن رخ می دهد، پنهان کنید. در این نوع شرایط، استگانوگرافی انتخاب خوبی خواهد بود. این موضوع ممکن است با منابعی که در اختیارتان قرار دارد چالش برانگیز باشد، اما می توانید نامه ای با صدایی پنهان که با انواع مختلف فونت ها یا سایر تکنیک های نهان نگاری پنهان شده است، را بنویسید.
از طرف دیگر، بگذارید بگوییم شما یک دیپلمات هستید که در مورد جزئیات مخفی با کشور خود صحبت می کند. طبیعی است که دیپلمات ها با مقامات کشور خود صحبت کنند، بنابراین خود ارتباطات هیچگونه سوء ظنی ایجاد نمی کنند. با این حال، از آنجا که محتوای گفتگو محرمانه است، ممکن است دیپلمات بخواهد از رمزنگاری استفاده کند و از طریق خط رمزگذاری شده صحبت کند. حال اگر جاسوسان یا مهاجمان سعی کنند مکالمه را شنود کنند، آنها فقط به متن رمزنگاری دسترسی پیدا می کنند، و نه آنچه که طرفین در واقع می گویند.
موارد استفاده از نهان انگاری
استگانوگرافی، جدا از موارد پنهان کردن داده ها و پیام ها، دارای چندین موضوع شگفت آور است. هکرها از آن برای پنهان کردن کد در حملات بدافزار استفاده می کنند. چاپگرها همچنین از استگانوگرافی استفاده می کنند و نقاط زرد غیرقابل تصوری را پنهان می کنند که مشخص می کند چاپگر چه سندی را ایجاد کرده است و در چه زمانی. تکنیک های نهان نگاری همچنین برای اثبات مالکیت و حق چاپ از آن استفاده می شود.
محدودیت های استگانوگرافی
استگانوگرافی یک عمل مفید است، اما باید ذکر کنیم که محدودیت های زیادی هم دارد. دو عامل مهم وجود دارد که غالباً در حال رقابت هستند، اول اینکه کشف اطلاعات پنهان چقدر راحت و آسان است (خواه با ادراک انسان و یا سایر شکل های تحلیلی)، در حالی که دوم اینکه چقدر می توان داده ها را در یک فایل معین پنهان کرد.
هرچه درصد داده هایی که شخصی سعی در پنهان کردن آن می کند بیشتر باشد، کشف آن آسان تر می شود. اینکه چقدر داده می توانید با اطمینان در یک فایل مخفی کنید، بستگی به تکنیک استگانوگرافی، سطح خطر و میزان بررسی مورد انتظار بستگی دارد.
انواع مختلف استگانوگرافی
انواع مختلف زیادی برای تکنیک های نهان نگاری وجود دارد و در اینجا ما به فرم های رایج تر و جالب توجه می پردازیم و نمونه هایی از نحوه استفاده آنها را ارائه می دهیم.
• Physical steganography
نکته مهم این است که Steganography قبل از وجود رایانه ها توسعه داده شده است، بنابراین طیف وسیعی از تکنیک های غیردیجیتالی وجود دارد که می توانیم از آنها برای مخفی کردن اطلاعات استفاده کنیم.
• Invisible ink
در طول تاریخ، جوهر نامرئی یکی از متداول ترین روش استگانوگرافی بوده است. این روش طبق این اصل کار می کند که می توان پیام را بدون هیچ علائم مرئی نوشت و بعدا پس از اعمال روش هایی آن را مشخص کرد.
• Null ciphers
روش Null cipher پیام های واقعی را با استفاده از طیف وسیعی از تکنیک های مختلف،
در میان متن به ظاهر عادی پنهان می کند.
• Bacon’s cipher
یکی دیگر از روش های نهان نگاری، Bacon’s cipher می باشد که توسط فیلسوف و سیاستمدار، فرانسیس بیکن، در قرن هفدهم اختراع شد. این روش یک پیشرفت جالب بود، زیرا پیام پنهانی را در قالب متن پنهان می کند.
• Microdots
اگر می خواهید پیام ها یا سایر اطلاعات را پنهان کنید، یکی از بهترین تکنیک ها این است که آن را نامرئی یا حداقل در حد ممکن نزدیک کنید. این مکتب فکری است که در پشت Microdots وجود دارد. این روش برای اولین بار در قرن نوزدهم توسعه یافته و در طی قرن بیستم توسعه یافته است.
• Printer steganography
از دهه ۱۹۸۰، تولید کنندگان مختلف چاپگر ماشین های خود را برنامه ریزی کرده اند تا در هر صفحه، مجموعه ای از نقاط زرد تقریباً غیرقابل تصور را چاپ کنند. اندازه هر قطعه تنها یک دهم میلی متر است و ترتیب آنها برای نمایش شماره سریال چاپگر و همچنین تاریخ و زمان آن کدگذاری شده است. این اطلاعات دوباره و دوباره در سراسر صفحه تکرار می شود، به طوری که می توان اطلاعات را حتی در صورت یافتن بخشی از صفحه، یا اگر کد چاپی به دلیل خطای چاپگر، رطوبت یا سایر مشکلات آسیب دید، بازیابی کرد.
• Digital steganography
مانند هر چیزی در زندگی ما، استگانوگرافی نیز راه خود را به عرصه دیجیتالی پیدا کرده است. پنهان کردن اطلاعات در انواع فایل ها، در طیف وسیعی از مکان های آنلاین و حتی در مکان هایی که هرگز به آن شک نمی کنید، ممکن است؛ مانند تغییر زمان بین بسته های داده ارسال شده از طریق پروتکل شبکه.
• Video steganography
فیلم ها فایل های نسبتاً بزرگی هستند، بنابراین می توانند داده های بیشتری را نسبت به اکثر گزینه ها مخفی کنند. برخی از متداول ترین تکنیک ها شامل انواع مختلفی از طرح ها برای جایگزینی زیرنویس ها (معادلات چند جمله ای ، مبتنی بر هش و غیره) می باشد. از طرف دیگر می توان داده ها را در هر فریم تعبیه کرد. طیف وسیعی از برنامه استگانوگرافی فیلم به صورت آنلاین وجود دارد.
• Picture steganography
داده ها را می توان در تصاویر با تکنیک های مختلف پنهان کرد که شامل سه روش است : Least significant bit ، Bit plane complexity segmentation (BPCS) و High capacity hiding in JPEGs
• Audio steganography
استگانوگرافی صوتی نیز طیف وسیعی از روش های مختلف را ارائه می دهد. مانند همه انواع استگانوگرافی، این موضوع مهم است که تکنیک ها قوی باشند، بتوانند بخش معقولی از داده های پنهان را در اختیار داشته باشند و هرگونه تغییر تا حد ممکن غیر ممکن باشد. برخی از متداول ترین تکنیک ها عبارتند از: Least significant bit coding ، Echo hiding و Tone insertion
• Text
وقتی صحبت از متن می شود، روشهای مختلفی برای مخفی کردن اطلاعات وجود دارد. اما به دلیل اینکه فایل های متنی به طور کلی حجم بسیار کمی دارند، برای ارسال مقادیر زیادی از داده ها مفید نیستند. یک تکنیک ساده شامل باز کردن ماکروسافت ورد، تایپ کردن پیام محرمانه شما و سپس تغییر متن متن به رنگ سفید است.
چطور Steganography را تشخیص دهیم؟
تشخیص استگانوگرافی می تواند بسیار دشوار باشد، به خصوص وقتی دلیلی برای سوءظن وجود نداشته باشد. در دنیای آنلاین، اطلاعات زیادی در برابر چشمان ما می گذرد، که نمی توانیم وقت و تلاش خود را برای بررسی هرگونه ناهنجاری صرف کنیم، چه رسد به چیزهایی که به نظر مشروع می رسد.
این همان چیزی است که صحبت کردن در مورد استگانوگرافی خوب را بسیار سخت می کند. همچنین لازم به ذکر است که همه نمونه هایی که در مورد آنها صحبت کرده ایم، دیگر رایج نیستند، زیرا آنها اکنون دانش عمومی و در دسترس هستند. تکنیک ها به طور جدی در حال توسعه هستند و فناوری در حال پیشرفت است، و همین موضوع باعث می شود تشخیص این موضوع بسیار سخت باشد.
همچنین ممکن است تکنیک های مختلفی وجود داشته باشد که در خارج از حوزه عمومی، توسط سازمان های اطلاعاتی، شبکه های تروریستی و باندهای جنایتکار توسعه یافته باشند. ما واقعاً نمی توانیم بدانیم مگر اینکه نمونه هایی از آنها را بیابیم.
با وجود این، بسیاری از ابزارهای تحلیلی می توانیم از آن استفاده کنیم که گمان می کنیم از پنهان نگاری برای پنهان کردن پیام ها استفاده می شود.
معرفی بهترین ابزارهای حوزه نهان نگاری
- Xiao Steganography : این ابزار رایگان بوده و برای مخفی کردن فایل در فایل های عکس BMP و WAV می تواند استفاده شود.
- Image Steganography : این ابزار نیز رایگان می باشد و برای مخفی کردن اطلاعات در فایل ها تصویری می تواند مورد استفاده قرار گیرد.
- Steghide : این ابزار متن باز بوده و برای مخفی کردن اطلاعات و فایل ها در فایل های تصویری و صوتی می تواند مورد استفاده قرار گیرد.
- Crypture : این ابزار بصورت کامند لاین می باشد و شما را قادر به مخفی کردن اطلاعات در فایل BMP می کند.
- SteganographX Plus : این ابزار یک ابزار کوچک به منظور مخفی کردن اطلاعات در فایل های BMP می باشد.
- rSteg : این ابزار برپایه زبان Java نوشته شده است و به شما امکان مخفی کردن فایل متنی در فایل تصویری را می دهد.
- SSuite Picsel : این ابزار یک نرم افزار قابل حمل رایگان به منظور مخفی کردن متن در فایل های تصویری می باشد.
- Our Secret : این ابزار نیز مانند دیگر ابزارها به منظور نهان کردن اطلاعات حساس استفاده می شود. این ابزار بصورت ۲ بخشی است: یکی برای پنهان کردن اطلاعات و دیگری برای آشکار کردن اطلاعات.
- Camouflage : این ابزار یکی از بهترین نرم افزارهای حوزه نهان نگاری بوده که به شما اجازه مخفی کردن هرگونه اطلاعاتی را می دهد.
- OpenStego : این ابزار نیز یکی از ابزارهای خوب در این حوزه می باشد. با استفاده از این ابزار می توانید هرگونه پیامی را در داخل فایل های تصویری مخفی کنید.
- SteganPEG : این ابزار نیز به شما امکان مخفی کردن هرگونه فایلی در داخل فایل های JPG می دهد.
- Hide’N’Send : این ابزار کوچک نیز به شما امکان مخفی کردن هرگونه اطلاعاتی را در داخل فایل JPG می دهد.