تا حالا به این فکر کردید که چگونه می توان یک نرم افزار مخرب را در یک نرم افزار دیگر مخفی کرد. این کار اصطلاحاً Wrapping یا Wrapper نام دارد. قبلا در خصوص اسب های تروا یا Trojan ها بصورت مفصل صحبت کرده ایم . تعریف یک Trojan بسیار ساده است ، یک Trojan نرم افزاری است که ظاهری مفید و کاربردی دارد اما در باطن دارای کد مخربی است که هر کاری می تواند انجام دهد. بنابراین مهمترین رکن یک Trojan خوب این است که در ظاهر یک نرم افزار کاربردی بسیار خوب ظاهر شود و در نهان کار خود را انجام دهد .
اما سئوال اینجاست که چگونه می توانیم یک نرم افزار مخرب را به گونه ای درون یک نرم افزار مفید قرار بدهیم که کسی متوجه این موضوع نشود و از جهتی هر دوی این نرم افزارها باید در قالب یک فایل اجرایی ایجاد شوند ؟ اینجا دقیقا همان مرحله ای است که ما مفهوم Wrap کردن در نرم افزارها را مطرح می کنیم . در این مطلب ابتدا به بررسی مفهوم تکنیک Wrapping در مهندسی نرم افزار می پردازیم و سپس به سراغ مفهوم Wrapping در هک و امنیت اطلاعات می رویم.
Wrapping در فارسی به معنای قنداق کردن است و بهتر است این واژه به فارسی ترجمه نشود اما تقریبا معنی و مفهوم کلی این تکنیک را می رساند. در مهندسی نرم افزار یک Wrapper در واقع یک موجودیت است که می تواند قطعه کدهای مختلفی که با فرمت های مختلفی نوشته شده اند را در قالب یک رابط کاربری به کاربر نمایش دهد. در مهندسی نرم افزار Pattern ها و Framework ها از اجزاء اصلی محسوب می شوند.
یک pattern مربوط به یک wrapper یک Class است که داری یک رابط است ، این رابط می تواند Class های نا هماهنگ نرم افزاری را با هم هماهنگ کند و در کنار هم قرار بدهد تا بتوانند با هم کار کنند. برای مثال دو Class در مهندسی نرم افزار ممکن است از دو نوع روش انتقال یا روش نمایش داده مختلف استفاده کنند و این داده ها با هم دارای یک قالب مشترک نباشند و نتوانند با هم هماهنگ باشند .
تصور کنید در یک برنامه یک Class داریم که تاریخ را بصورت DD//MM//YY قالب بندی می کند و کلاس دیگری تاریخ را بصورت MM//DD//YYYY قالب بندی و ذخیره می کند ، این دو کلاس نمی توانند در یک برنامه بصورت مشترک کار کنند زیرا قالب بندی داده های آنها متفاوت است . راهکار حل کردن این مشکل استفاده از Wrapper است که باعث می شود قالب های داده ای مختلف به همدیگر تبدیل شوند و در با هم هماهنگ شده و بصورت یکپارچه کار کنند.
شاید با خودتان بگویید که Wrapping ای که در مهندسی نرم افزار وجود دارد چه ارتباطی به هک و امنیت دارد ؟ در واقع اسم Wrapping و Wrapper ای که ما در امنیت اطلاعات و هک استفاده می کنیم برگرفته ای از همین موضوع است. شما دو نرم افزار دارید که دو کار مختلف انجام می دهند و قرار است که این دو نرم افزار با هم کار کنند و در قالب یک نرم افزار واحد کار کنند.
تنها تفاوت مهم در Wrapper های مورد استفاده در فرآیند های هک این است که اصلا مفید نیستند و از آن بدتر مخرب هستند. شما یک کد مخرب اعم از ویروس ، ورم ، تروجان ، Rootkit و ... را می توانید درون یک نرم افزار مفید Wrap کنید و این نرم افزار را در اختیار کاربرانی قرار دهید که می خواهید از آنها سوء استفاده کنید.
در بیشتر موارد این فرآیند برای Trojan ها انجام می شود تا یک نرم افزار مخرب را در قالب یک نرم افزار مفید در اختیار دیگران قرار بدهید و منتشر کنید.یک نرم افزار Wrapper یک فایل Trojan را در یک فایل نرم افزار مفید مخفی می کند و آنها را در قالب یک فایل اجرایی خروجی می دهد. زمانیکه کاربر بر روی فایل اجرایی کلیک کرد و آن را نصب کرد ، طی فرآیند نصبی که برای فایل اصلی نرم افزار انجام می شود ، Trojan مورد نظر نیز بر روی سیستم قربانی نصب می شود.
معمولا از تکنیک Wrapping برای بازی ها و نرم افزارهایی که دارای انیمیشن های زیبا در هنگام نصب هستند استفاده می شود زیرا در هنگام نصب شدن کد مخرب Trojan کاربر درگیر تصاویر و انیمیشن های زیبایی است که اجرا می شود و از ماهیت اصلی نرم افزار مطلع نمی شود.
ابزارهای متنوعی برای انجام Wrapping وجود دارد ، معمولا می توانید از بازی های تروجانی مثل Graffiti برای قرار دادن فایل Trojan استفاده کنید زیرا این بازی دارای بازی های گرافیکی است که کاربر را کاملا درگیر خودش می کند و از انجام شدن فرآیند آگاه نمی کند. اما از مهمترین و معروف ترین ابزارهای Wrapper مورد استفاده در دنیا می توانیم به موارد زیر اشاره کنیم :
البته ابزارهای زیادی برای اینکار وجود دارد اما ابزارهای گرافیکی ساده ای که معرفی کردیم برای یادگیری این کار و شروع ایجاد یک Trojan کافیست ، هر چند اکثر آنتی ویروس های امروزی براحتی این ابزارها را شناسایی می کنند اما به هر حال ما فقط برای درک مفهوم Wrapping این موارد را معرفی کردیم ، سعی می کنیم در یک آموزش جداگانه روش قرار دادن یک Trojan درون یک نرم افزار مفید را نیز به شما آموزش بدهیم ، اگر تجربه ای در این خصوص دارید یا نرم افزار یا ابزار بهتری می شناسید خوشحال می شویم در ادامه از تجربیات شما استفاده کنیم.
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه سفید ، کارشناس امنیت اطلاعات و ارتباطات
محمد نصیری هستم و در اینستاگرام با اکانت IranCySec تجربیاتم رو به اشتراک میگذارم ، هکر کلاه سفید و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر فقط به عنوان بازرس و ممیز امنیت اطلاعات فعالیت می کنم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود