در قدیم بسیاری از افراد که عاشق ارسال پیامهای مخفی به دوستانشان بودند با استفاده از جوهر نامرئی اینکار را انجام می دادند. برای این مورد کافی بود که آنها با استفاده از آبلیمو و یک قلم، پیام مخفی خود را یادداشت کنند. برای مشاهده پیام مخفی نیز می توانستند با یک حرارت ساده (اجاق یا کبریت)، محتوای نامه محرمانه را به رنگ قهوهای تبدیل نمایند. در این مطلب، استگانوگرافی (steganography) یا پنهان نگاری معرفی و چگونگی استفاده از آن برای انتشار بدافزارها توضیح داده می شود.
تصویر(1)
استگانوگرافی چیست؟
استگانوگرافی یا پنهان نگاری، هنر پنهان کردن اطلاعات در درون فایل ها یا اشیاء به ظاهر بی ضرر است. در این روش، داده ها به گونه ای پنهان می شوند که هیچ کس حتی به وجود آنها مشکوک نخواهد شد. در زمینه امنیت وب سایت، steganography گاهی اوقات توسط مجرمان اینترنتی برای استتار بدافزار خود در فایل های معمولی وب سایت استفاده می شود. به عنوان مثال، با قرار دادن بدافزار در فایل های CSS یا پنهان کردن یک اسکیمر کارت اعتباری در داخل یک فایل صوتی که به ظاهر هیچ مشکلی ندارد.
هیچگاه استگانوگرافی را با cryptography یا "رمزنگاری" اشتباه نگیرید. رمزنگاری به معنی تغییر ترتیب داده ها و استفاده از کلیدهای مخفی برای رمزگشایی آن است. به طور کلی هدف رمزنگاری تضمین حفظ حریم خصوصی می باشد اما هدف اصلی استگانوگرافی پنهان کاری و فریب است.
استگانوگرافی چگونه کار می کند؟
یکی از روشهای رایج استگانوگرافی یا پنهان نگاری، least significant bit یا (LSB) نامیده میشود که اساساً دادههای مخفی را در کوچکترین بیتهای یک فایل رسانه قرار می دهد. به عنوان مثال، تصور کنید که یک فایل تصویری دارید. هر پیکسل دارای سه بایت داده برای رنگ های قرمز، سبز و آبی است. با استگانوگرافی LSB، آخرین بیت هر یک از این بایت ها برای مخفی کردن داده ها تغییر داده می شود. بنابراین، اگر می خواهید 1 مگابایت داده را مخفی کنید، به یک فایل تصویری 8 مگابایتی نیاز دارید.
مهمتر از همه، تغییر آخرین بیت از مقدار پیکسل، ظاهر تصویر را تغییر نخواهد داد. بنابراین، وقتی کسی به تصاویر اصلی و اصلاح شده نگاه می کند، نمی تواند تفاوتی را تشخیص دهد. شما می توانید همین نتیجه را با سایر رسانه های دیجیتال مانند فایل های صوتی و تصویری و مخفی کردن داده ها در بخش هایی از فایل که صدا یا ظاهر آن را تغییر نمی دهند، به دست آورید.
یکی دیگر از تکنیک هایی که در استگانوگرافی یا پنهان نگاری کمتر رایج شده اس، پنهان کردن پیام در یک متن بزرگتر با استفاده از جایگزینی کلمه یا حروف است. فرستنده، پیام را با قرار دادن کلمات مخفی در فواصل مشخص پنهان می کند. استفاده از این روش آسان است اما میتواند متن را عجیب و غریب و نامناسب جلوه دهد. زیرا ممکن است کلمات پنهان به خوبی در جملات قرار نگیرند.
تصویر(2)
نمونه هایی از استگانوگرافی یا پنهان نگاری
در حالی که تشخیص استگانوگرافی در وب سایت ها می تواند یک کار چالش برانگیز باشد اما در ادامه چند نمونه از استگانوگرافی که در وب سایت های هک شده سال های اخیر یافت شده اند، معرفی می شوند:
Steganography فایل های مخرب shell را در بین کدهای PHP پنهان می کند
در سال 2021، محقق بدافزار Sucuri، دنیس سینکوبکو، نشان داد که چگونه فایلهای CSS و PHP به ظاهر سالم، برای پنهان کردن کدهای مخرب استفاده میشوند. او یک فایل License.php حاوی متنی برای قرارداد لایسنس یافت که در خط 134 آن، شکافی بین دو کامنت حاوی کدهای مخرب PHP پنهان شده بود.
تصویر(3)
مشخص شد که کدهای مخفی حاوی نزدیک به 300 کیلوبایت تب و فضای نامرئی است که پس از رمزگشایی، web shell را نشان میدهند. همچنین ابزارهایی را برای دسترسی به فایلها و پایگاههای داده روی سرور، جمعآوری اطلاعات حساس، آلوده کردن فایلها و انجام حملات brute force، در اختيار هکرها قرار میدهد.
بدافزار از فضای خالی برای پنهان کردن جاوا اسکریپت مخرب در فایلهای CSS استفاده میکند
در مورد دیگری مربوط به سال 2020، بدافزار در زیر خطوط خالی یک فایل به ظاهر سالم CSS پنهان شده بود. فایل fonts.css در نگاه اول صرفا حاوی کدهای CSS بود اما بررسی بیشتر، خطوط خالی متعددی را در انتهای آن نشان داد که کدهای مخرب جاوا اسکریپت را پنهان می کردند.
تصویر(4)
بدافزار با استفاده از توالیهایی از کاراکترهای با فاصله و بدون فاصله (تب و غیر تب) مشابه رمزنگاری کد مورس، پنهان شده بود. سپس الگوریتم فایل را پردازش کرده و تابع جاوا اسکریپت را پس از اولین اجرای فایل، کاراکتر به کاراکتر ایجاد می نماید. بعد از رمزگشایی، کد جاوا اسکریپت به یک پیشنهاد بروزرسانی جعلی برای فلش پلیر منتقل میشد که یک تله محبوب برای حملات مهندسی اجتماعی است.
درب پشتی (Backdoor) پنهان شده در فایل تصویر
بن مارتین، محقق بدافزار، یک درب پشتی وب سایت که با یک پسورد مخفی شده بود را در یک تصویر به ظاهر بی خطر، ثبت کرد. این درب پشتی در اکثر مواقع به عنوان دو افزونه جعلی به نامهای "core-stab" و "task-controller" در محیط وردپرس آپلود میشوند و به سایتهای موردنظر نفوذ می کنند.
ردپای این بدافزار بسیار کوچک می باشد و صرفا شامل یک فایل front.jpg می شود که شبیه یک فایل تصویر بی خطر است. این کار برای فرار از تشخیص توسط اسکنرهای امنیتی انجام می شود که اغلب به دلیل عملکردی که دارند از اسکن فایل های تصویری خودداری می کنند. با کوچک و عمومی نگه داشتن ردپای مخرب، درب پشتی می تواند از شناسایی اسکنرهای امنیتی اولیه، جلوگیری کند.
افزونههای core-stab و task-controller حاوی دو نمونه مخرب مجزا هستند که برای کمک به مهاجمان در محیط های مناسب، با یکدیگر کار می کنند. افزونه "core-stab" که شامل فایل تصویر مخرب front.jpeg می شود، حاوی یک درب پشتی جهت اجرای کد از راه دور می باشد و با hex2bin و داده های باینری فشرده، کدگذاری شده است.
تصویر(5)
چگونه استگانوگرافی را در وب سایت خود تشخیص دهید
استگانالیز، که به تشخیص استگانوگرافی میپردازد، با استفاده از ابزارهایی مانند StegAlyze و StegExposure قابل انجام است. برخی تحلیلگران از کدهای هگزا برای تشخیص فایل های آلوده استفاده میکنند. با این حال، کشف فایلهایی که در وبسایت شما تحت تأثیر تغییرات استگانوگرافی قرار گرفتهاند، میتواند فرایندی دشوار باشد و نیاز به تجربه کافی در این حوزه دارد.
خبر خوب برای مدیران سایت ها این است که لازم نیست قادر به رمزگشایی یا درک دقیق نحوه عملکرد تکنیک های پنهان سازی برای یافتن و حذف بدافزارها در وب سایت خود باشند. فرقی نمیکند که steganography، درب پشتی وبسایت یا هر نوع بدافزار دیگری باشد، یک سیستم کنترل یکپارچگی برای کنترل سلامت فایلها، تشخیص تغییرات غیرمعمول در فایلهای سایت و … کافی خواهد بود. هر زمان که تغییرات را مرور میکنید و از مخرب بودن آنها مطمئن نیستید، ایمنترین روش این است که فایل را به نسخه اصلی و سالم آن بازگردانید. در نتیجه نیاز خواهد بود به صورت دوره ای و در فواصل زمانی کوتاه از اطلاعات سایت خود بکاپ تهیه کرده و به خارج از هاست منتقل نمایید. در نهایت اگر قادر به رفع مشکل نبودید، می توانید از یک متخصص امنیت سایت کمک بگیرید.
تصویر(6)
نتیجه گیری
استگانوگرافی یا پنهان نگاری، یک تکنیک مخفینویسی کدهای مخرب در درون فایل های صوتی و تصویری است. این تکنیک، با استفاده از فنون پنهانسازی و رمزگذاری، امکان مخفی کردن اطلاعات محرمانه را درون فایل های تصویری، صوتی یا ویدئوها فراهم میکند. به منظور مقابله با استفاده از استگانوگرافی برای انتشار بدافزارها، لازم است راهکارهای مناسبی برای تشخیص و محافظت در برابر این تهدیدات امنیتی اتخاذ شود. استفاده از ابزارهای تشخیص استگانوگرافی، تحلیل عمیق فایلها و توسعه روشهای پیشرفته برای شناسایی الگوهای مشترک بدافزارهای مخفی شده، از جمله راهکارهایی است که میتوان برای مقابله با این تهدید امنیتی مورد استفاده قرار داد.
در نتیجه، اهمیت توجه به استگانوگرافی و توانایی تشخیص بدافزارهای پنهان شده در فایلهای معمولی از طریق روشهای استگانوگرافی، برای حفظ امنیت اطلاعات و محافظت از سایت ها بسیار ضروری است.