کاربردهای استگانوگرافی بسیار گسترده است. استگانوگرافی در تعریف ساده، هنر پنهان کردن داده های سری می باشد. پنهان کردن مواردی مانند کد منبع، رمزهای عبور، آدرس های IP و سایر اطلاعات محرمانه در تصاویر، موسیقی یا سایر فایلها، آخرین مکانی خواهد بود که هر کسی به فکر یافتن آنها است. توجه داشته باشید که استگانوگرافی و رمزنگاری از یکدیگر جدا نیستند. یکی ممکن است حاوی عناصر دیگری یا هر دو باشد. به عنوان مثال، همانطور که در ادامه به آن پرداخته خواهد شد، می توانید با یک الگوریتم رمزنگاری یا رمز عبور، استگانوگرافی را اجرا کنید.
کاربردهای استگانوگرافی و انواع آن
استگانوگرافی انواع مختلفی دارد که در این آموزش به پنج مورد از آنها اشاره خواهد شد.
استگانوگرافی متن
این حالت از استگانوگرافی شامل پنهان کردن یک پیام در متن است. یک راه معمول برای انجام این کار substitution یا "جایگزینی" می باشد. این مورد شامل جایگزینی کاراکترهای خاص با کاراکترهای دیگر و سپس بازیابی به حالت قبل جهت مشاهده داده های اصلی است.
برای مثال متن زیر را در نظر بگیرید:
Thi follow eng tixt contaens a sicrit missagi
منطقی به نظر نمی رسد، درست است؟ اما اگر i را با e و e را با i جایگزین کنید چطور؟
The follow ing text contains a secret message
این مورد یک مثال بسیار ساده است اما موارد بسیار پیچیده تری وجود دارند و حتی برخی از آنها را می توانید شخصا ایجاد نمایید.
استگانوگرافی تصویر
این گزینه از کاربردهای استگانوگرافی شامل پنهان کردن داده ها در پشت تصاویر دیجیتال است. تکنیکهای مختلفی برای استگانوگرافی تصویر وجود دارد که شامل تکنیک Least Significant Bit (کم اهمیت ترین بیت)، پوشش و فیلتر، کدگذاری و تغییر کسینوس می شود.
برای مثال، در دو تصویر زیر تفاوت را بیابید:
تصویر(1)
اساساً هیچ کس نمی تواند تفاوت بصری این دو تصویر را تشخیص دهد اما اگر به جزئیات فایل دقت کنید، متوجه خواهید شد که تنها تفاوت در حجم تصاویر می باشد.
تصویر(2)
استگانوگرافی ویدئویی
در استگانوگرافی ویدئویی، به معنای واقعی کلمه میتوانید چند ویدیو را در یک ویدیوی دیگر پنهان کنید. فیلم ها اساسا دنباله ای از تصاویر هستند که به دنبال آنها صدا پخش می شود. این نوع استگانوگرافی اجازه می دهد تا در هر فریم ویدیویی، تصویری رمزنگاری شده را پنهان کنید. همچنین این تکنیک می تواند برای مخفی کردن متن، مورد استفاده قرار گیرد.
استگانوگرافی صوتی
این نوع استگانوگرافی، پیام های پنهان را قادر می سازد تا در یک فایل صوتی، به صورت رمزنگاری شده قرار گیرند. تکنیک رایجی که در این مورد استفاده می شود Backmasking نام دارد. Backmasking یک پیام را در فایل صوتی مخفی می کند و تنها زمانی که بالعکس پخش می گردد، شنیده می شود.
کاربردهای استگانوگرافی در شبکه
این مورد تقریبا به ندرت اتفاق می افتد اما با این وجود، تکنیکی است که در آن پیام ها با پنهان شدن در ترافیک شبکه، ارسال می شوند. پیام ها را می توان پس از دریافت توسط گیرنده، در مشخصات یا هدر بسته های داده یافت.
نحوه انجام استگانوگرافی تصویر را در ادامه مشاهده خواهید کرد.
استگانوگرافی با استفاده از Steghide
Steghide یک ابزار متنباز ایجاد تصویر استگانوگرافی است که از روش کم اهمیت ترین بیت (LSB) برای پنهان کردن داده ها در تصاویر استفاده می کند. تصاویر از پیکسل ها و پیکسل ها از بیت ها تشکیل شده اند. عمق یک بیت تعیین می کند که چند رنگ در یک تصویر وجود دارد. هر چه عمق بیت بیشتر باشد، تصویر رنگارنگ تر به نظر می رسد. کاری که LSB انجام می دهد این است که آخرین بیت یا پیکسل تصویر را به بیتی که نشان دهنده داده های پنهان موردنظرتان می باشد، تغییر می دهد. این کار داده های تصویر را تغییر می دهد اما اگر به درستی انجام شود، قابل تشخیص نیستند. هر چه عمق بیت و وضوح بیشتر باشد، داده های بیشتری را می توان در تصویر ذخیره کرد. حال که متوجه شدید استگانوگرافی در Steghide چگونه عمل می کند، در ادامه یک نمونه از کاربردهای استگانوگرافی بررسی شده است.
پیش از آن، به چند مورد نیاز دارید:
- سیستم عامل لینوکس
- اتصال به اینترنت
- یک تصویر
- فایل متنی
نصب Steghide
ابتدا می بایست Steghide را نصب کنید. ترمینال را باز کرده و دستور زیر را برای این کار اجرا کنید:
sudo apt install steghide
می توانید steghide --help را برای دریافت لیست دستورات اجرا کرده تا همه گزینه های موجود را مشاهده کنید.
تصویر خود را آماده کنید
سپس تصویر و فایل متنی موردنظر را در یک مسیر قرار دهید. در این مثال، فایل های "information.txt" و "image.png" می باشند. در تصویر زیر، متنی که قرار است در تصویر پنهان شود، مشاهده می کنید:
تصویر(3)
ترمینال را مجددا باز کرده و به دایرکتوری که فایل ها را ذخیره کرده اید مراجعه نمایید. برای مثال:
تصویر(4)
یک تصویر جدید ایجاد کنید
در مرحله بعد، دستور زیر را اجرا کرده تا تصویر جدیدی که حاوی فایل متنی موردنظرتان است، ایجاد گردد.
تصویر(5)
در بین کاربردهای استگانوگرافی تصاویر حاوی متن پنهان بیشتر استفاده می شوند
در ادامه به بررسی دستور فوق پرداخته شده است:
steghide: ابزار مورد استفاده را مشخص می کند.
embed: به ابزار می گوید که قصد دارید داده ها را اضافه کنید.
-ef : فایلی که باید مخفی شود را مشخص می کند.
-cf : تصویر پوشش دهنده را مشخص خواهد کرد.
-sf : یک کپی از تصویر اصلی با قرار دادن فایل موردنظر در آن، ایجاد می کند.
-v : اطلاعات بیشتری در مورد فرآیند می دهد.
هنگامی که دستور اجرا می شود، از شما خواسته می شود که یک رمز عبور تنظیم کنید. اگر تمایل به افزودن یک لایه امنیتی اضافی دارید، می توانید این کار را انجام دهید. اگر به آن نیاز ندارید، کافی است مجددا اینتر را بفشارید. در ادامه نتیجه اجرای دستور را مشاهده می کنید:
تصویر(6)
فایل جدید را بررسی کنید
سپس فایل جدید را مورد بررسی قرار دهید.
تصویر(7)
به نظر می رسد هیچ تفاوتی وجود ندارد اما می توانید جهت بررسی دقیق تر، حجم دو فایل را مقایسه کنید.
تصویر(8)
داده ها را استخراج کنید
فایل جدید حجم بیشتری از نسخه اصلی دارد زیرا حاوی اطلاعات است. با استفاده از دستور زیر می توانید داده ها را از فایل جدید استخراج کنید.
تصویر(9)
بررسی دستو فوق به صورت زیر می باشد:
-sf : تصویر حاوی داده های پنهان
-xf : فایل به همراه داده های استخراج شده را نمایش می دهد.
در ادامه اسکرین شاتی از اجرای دستور و متن استخراج شده، به نمایش در آمده است.
تصویر(10)
نتیجه گیری
در این مقاله متوجه شدید که کاربردهای استگانوگرافی چه مواردی هستند و چگونه می توانید آنها را با استفاده از ابزارها پیاده سازی کنید. به خاطر داشته باشید که استگانوگرافی یک ابزار بوده و می تواند برای موارد خوب و بد استفاده شود. شرکت ها می توانند اطلاعات حساس را با استفاده از این ابزار مخفی کنند. از طرف دیگر، یک هکر می تواند از آن در جهت مخفی کردن کدهای مخرب سوء استفاده نماید.