Payload چیست و چگونه شما را قربانی خودش میکند؟
پیلود سرزمین مخفیکاری اطلاعات و رازهای پشت پرده آن
- Payload چیست؟
- نحوه برقراری ارتباط توسط پیلود در یک API
- فرمتهای پیلود چیست؟
- فرمت درخواست پیلود در API
- فرمت پاسخ برگشتی پیلود در API
- فرمت پاسخ نامعتبر پی لود در API
- اکسپلویت چیست؟
- متاسپلویت چیست؟
- انواع پیلود
- چگونه پیلودهای مخرب به قربانیان خود آسیب میرسانند؟
- پیلودهای Payload مخرب چگونه اجرا میشوند؟
- چگونه میتوان پیلودهای Payload مخرب را متوقف کرد؟
تکنولوژی بهسرعت درحالرشد است و روزانه فناوریهای جدیدی معرفی میشوند. امروزه تصور دنیایی بدون شبکههای کامپیوتری امکانپذیر نیست. در این مقاله از فراست قرار در مورد مفهوم پیلود و انواع فرمتهای Payload و اینکه چطور یک پیلود مخرب به قربانیان خود آسیب میرساند و هر آن چیزی که در مورد مفهوم پی لود باید بدانید را برای شما بازگو کردهایم. پس خوشحال میشویم ما را تا انتهای این مقاله همراهی کنید.
Payload چیست؟
در امنیت سایبری پیلود یک بسته از دادههاست که توسط یک بدافزار و از طریق وسایل یا شبکههای آسیبدیده، منتقل میشود. هدف اصلی پی لود انتقال و جابهجایی دادهها و اطلاعات کاربران است و به همین دلیل عنصر اصلی بسیاری از بدافزارها برای انجام اقدامات مخربی چون سرقت اطلاعات مالی، حذف دادهها، رمزگذاری دادهها، همین پیلودها هستند. هنگامی که از “عواقب بدافزارها” صحبت میشود، Payload نقش پررنگی در عمل تخریب و انتقال دادهها ایفا کردهاند.
مفهوم پیلود وابسته به کاربرد آن است. بهعنوانمثال، یکلایه ارتباطی نیاز به تعدادی داده overhead دارد که این پی لودها شامل بخشی از دادههای سربار overhead بوده که این لایهها را مدیریت میکنند. شاید این سوال در ذهن شما شکل بگیرد که سربار Overhead چیست؟ Overhead ترکیبی از مازاد زمان پردازش، حافظه، پهنای باند یا هرگونه منابع دیگری که برای دستیافتن به یک هدف مشخص نیاز است، میگویند.
بااینحال، در کاربردهای عمومیتر پیلودها بیتهایی هستند که توسط کاربر نهایی در مقصد دریافت میشوند و اثر نهایی یک ویروس نرمافزاری را بر رایانه کاربر میگذارند. بهطورکلی، پیلود میتواند حاوی کدهای مخرب است که برای بهدستآوردن دسترسی به سیستم مورد هدف استفاده میشود.
نحوه برقراری ارتباط توسط پیلود در یک API
در شبکههای کامپیوتری، ارتباط شامل ارسال و دریافت پیامها است. فرستنده پیام باید آدرس مقصد را بهدرستی تنظیم کند درحالیکه گیرنده باید تمام منابع موردنیاز برای پردازش پیام را داشته باشد. برای ارسال پیامی که بهعنوان payload در API درج میشود، باید overhead را مشخص کنید تا پیام موردنظر قابلتشخیص باشد.
دادههای overhead برای تفسیر صحیح درخواست ضروری هستند. این اطلاعات به شما این امکان را میدهند که درک بهتری از تعاریفی مانند payload چیست و چگونه عمل میکند، فرمتها، نحوه بهکارگیری فرمتها و نحوه انتقال پیامها در شبکههای کامپیوتری داشته باشید.
دادههای overhead شناسههایی هستند که برای نشاندادن منبع یا مقصد و انتقال اطلاعات مورداستفاده قرار میگیرند. این اطلاعات overhead بعد از رسیدن به مقصد از پیام حذف میشوند. بهعنوانمثال، فرض کنید که میخواهید یک پیام با متن “سلام” را ارسال کنید. این متن با برچسب msg مخفف message مشخص میشود.
متن “سلام” بهعنوان payload و برچسب msg بهعنوان overhead ثبت میشود. حالا متن پیام با استفاده از آدرس و مشخصاتی که overhead شناخته میشوند، به مقصد ارسال میشود. در مقصد، تنها دادهای که برای کاربر نهایی قابلمشاهده است، متن پیام “سلام” است.
برچسب msg فقط برای اهداف داخلی و جهت تشخیص دادهها مورداستفاده قرار میگیرد. اطلاعات پیلود را میتوان در فرمتهای مختلفی مانند JSON یا XML از طریق API ارسال یا دریافت کرد. در یک رشته کوئری پی لود را میتوان با استفاده از آکولاد ({}) شناسایی کرد. برای درک بهتر این مطلب مثالهایی را برای شما آوردهایم.
مثالهای استفاده از پی لود در API
پیلودها حاوی اطلاعات اصلی موجود در بلوک دادههایی هستند که شما ارسال یا دریافت میکنید. حال که میدانید پیلود چیست، در مثالهای زیر نحوه انتقال و استفاده از Payload توسط JSON در یک API را مشاهده میکنید:
POST /echo/post/json HTTP/1.1
Host: Example.com
Accept: application/json
Content-Type: application/json
Content-Length: 25
{“cid”: 1,
“cname”: “Example”}
در این مثال، پی لود شامل “1” وExample است و باقی اطلاعات به عنوان header یا overhead در نظر گرفته میشوند.
در مثال زیر، نحوه انتقال پیلود از طریق XML را میبینید:
<cid>1</cid>
<cname> Example</cname>
</company>
اگرچه نوع کدنویسی کمی متفاوت است، اما دادههای payload و overhead در دو مثال JSON و XML یکسان هستند.
فرمتهای پیلود چیست؟
فرمتهای سهگانهای برای پی لود وجود دارند که در ادامه شرح داده شدهاند:
- فرمت پیلود در درخواست API
- فرمت payload در پاسخ API
- فرمت پی لود نامعتبر در API
فرمت درخواست پیلود در API
برای ایجاد یک درخواست نیاز به دو پارامتر و یک عنصر فرعی دارید:
interfaceType این پارامتر نوع رابط یا فرمت درخواست API را مشخص میکند و باید بهصورت دستی تنظیم شود.
methodName این پارامتر متد API را برای فراخوانی تعریف میکند.
parameters این بخش شامل پارامترها برای فراخوانی متد ضروری است.
در نمونه زیر، یک فرمت درخواست payload در یک API آورده شده است:
Json
{“interfaceType”: “Manual”,
“methodName”: “”,
“parameters”: { }
}
فرمت پاسخ برگشتی payload در API
پاسخ برگشتی پی لود موفق، شامل دو پارامتر مهم است:
responseType این پارامتر باید با مقدار OK تنظیم شود تا نمایانگر موفقیت باشد.
data دادهها ممکن است خالی باشد یا شامل تمام پارامترهای موردنیاز برای پاسخ متد فراخوانده شده باشد.
در نمونه زیر، یک فرمت پاسخ برگشتی پیلود موفق در یک API نشاندادهشده است:
Json:
{
“responseType”: “OK”,
“data”: {“companyName1”: “value”,
“companyName2”: “value”,
“companyName3”: “value”}
}
فرمت پاسخ نامعتبر پی لود در API
پاسخ پیلود نامعتبر، شامل دو پارامتر مهم است:
responseType این پارامتر باید روی FAILED تنظیم گردد تا نشان دهد که عملیات ناموفق بوده است.
messages این پارامتر ممکن است فاقد آرایه خاصی باشد یا همه آرایهها در آن درج شوند.
در نمونه زیر، یک فرمت پاسخ نامعتبر payload در یک API نمایشدادهشده است:
Json:
{ “responseType”: “FAILED”,
“messages”: [ {“message”: “”} ,
{“message”: “”},
{“message”: “”} ]
}
برای بهترین درک از معنی Payload، نیاز به آشنایی با متاسپلویت Metasploit و اکسپلویت Exploit داریم. در ادامه، بهصورت خلاصه به توضیح این دو عنصر میپردازیم.
اکسپلویت چیست؟
اکسپلویتها کدهای مخربی هستند که توسط محققان امنیتی یا هکرها نوشته میشوند تا آسیبپذیریها را اثبات کنند یا از آنها بهره ببرند. این کدها برای بهرهبرداری از آسیبپذیریهای موجود در سیستمها و نرمافزارها به کار میروند.
متاسپلویت چیست؟
متاسپلویت یک فریمورک متنباز است که برای مدیران امنیتی و هکرها طراحی شده است. این ابزار امکان تست نفوذ و در صورت ضرورت نفوذ به سیستمها و شبکهها را فراهم میکند. متاسپلویت دارای مجموعهای از اکسپلویتها است که برای بهرهبرداری از آسیبپذیریهای مختلف در سیستمها تهیه و توسعه داده شده است. این مجموعه بهطورکلی بسیار جامع و کارآمد است.
برای بهدستآوردن دسترسی به سیستمها، ما نیازمند استفاده از پیلودها هستیم. این پیلودها حاوی کدهای مخربی هستند که به ما اجازه دسترسی میدهند. وقتی از متاسپلویت استفاده میکنیم، در واقعیت از اکسپلویتهای موجود در این فریمورک استفاده میکنیم و یک پیلود Payload را ارسال میشود.
انواع پیلود Payload
در متاسپلویت، سه نوع پیلود وجود دارد:
Singles تک کاره
این نوع پیلودها وظیفهٔ یک عمل خاص را انجام میدهند. بهعبارتدیگر، هر پیلود Single تنها یک کار خاص را انجام میدهد، مثلاً فقط ایجاد یک کاربر جدید
Stagers پیلودهای آمادهسازی
این نوع پیلود Payload برای راهاندازی اتصال شبکه بین حملهکننده و قربانی طراحی شدهاند و بهطورکلی کوچک و اعتماد آور هستند.
Stages پیلودهای اجرایی
این نوع پیلودها توسط Payload Stagers دانلود و اجرا میشوند. از جملهٔ معروفترین پیلودهای Stage، میتوان به Meterpreter و shell.rb اشاره کرد. معمولاً مشخص است که پیلودهای Stage اهمیت بیشتری دارند.
در یک حمله سایبری پیلودها بهعنوان یک جزء مهم حمله عمل میکند که باعث واردآمدن آسیب به قربانی میشود. ویروسها و بدافزارها ممکن است حاوی یک یا چند پیلود مخرب باشند. پیلود مخرب در پیوستهای ایمیل هم یافت میشود و این نسبت در حال افزایش است. بهعنوانمثال، گزارشها نشان میدهند که از هر ۳۵۹ ایمیل یک ایمیل حاوی پی لود مخرب است.
چگونه پیلودهای Payload مخرب به قربانیان خود آسیب میرسانند؟
پیلودهای Payload مخرب میتوانند به چندین شکل به قربانیان آسیب برسانند. برخی از نمونههای معمول پیلودهای Payload مخرب عبارتاند از:
سرقت دادهها: این عمدتاً شامل سرقت اطلاعات حساس نظیر نام کاربری و رمز عبور یا اطلاعات مالی از طریق آسیبرسانیهای مختلف است.
نظارت بر فعالیت: یک پیلود Payload مخرب اجرا شده ممکن است برای نظارت بر فعالیت کاربر در سیستم استفاده شود، بهمنظور جاسوسی، نقض حریم خصوصی یا جمعآوری اطلاعات رفتار مصرفکننده که ممکن است برای مقاصد مختلفی فروخته شود.
نمایش تبلیغات: برخی پیلودهای Payload مخرب برای نمایش تبلیغات مزاحم و ناخواسته مانند پنجرههای بازشو یا پاپآپها بر روی سیستم کاربر کار میکنند.
حذف یا اصلاح فایلها: این یکی از عواقب جدی ناشی از پیلودهای Payload مخرب است. فایلها میتوانند حذف یا تغییر داده شوند تا بر روی عملکرد سیستم تأثیر بگذارند یا حتی سیستمعامل و فرایندهای اجرایی را تخریب کنند. حتی برخی پیلودهای Payload مخرب برای تلفنهای هوشمند طراحی شدهاند که بههیچوجه روشن یا استفادهپذیر نیستند.
بارگیری فایلهای جدید: برخی پیلودهای Payload مخرب دارای فایلهای سبک و زمینهای هستند که توزیع آنها آسان است، اما پس از اجرای آنها بارگیری یک نرمافزار مخرب بزرگتر را آغاز میکنند.
اجرای فرایندهای زمینهای: برای اجرای بیصدا فرایندهای موجود در پسزمینه مانند استخراج ارزهای رمزنگاری شده یا ذخیره دادهها، پیلود Payload مخرب ممکن است فراهم شود.
پیلودهای Payload مخرب چگونه اجرا میشوند؟
مهاجمان برای انتقال پیلودهای Payload مخرب به سیستم قربانی باید راهی را برای تحویل آنها پیدا کنند. حملات مهندسی اجتماعی و DNS hijacking از تکنیکهای رایج برای تحویل پیلودهای Payload مخرب هستند.
وقتی پیلود Payload در محل خود قرار میگیرد، به طور معمول تا زمانی که اجرا نشود، در حالت خاموش باقی میماند. مهاجم میتواند از روشهای مختلفی برای اجرای پیلود Payload مخرب استفاده کند. برخی از روشهای معمول برای اجرای پیلود Payload مخرب عبارتاند از:
باز کردن یک فایل اجرایی: بهعنوانمثال، قربانی یک پیوست ایمیل را دانلود میکند که به نظر میرسد یک نرمافزار است و بعد از آن روی فایل نصبی که پیلود Payload را اجرا میکند، دوباره کلیک میکند.
تنظیم شرایط خاصی از رفتار: این روش به نام “بمب منطقی” شناخته میشود. بهعنوانمثال، یک کارمند ممکن است یک بمب منطقی را در شبکه شرکت خود اجرا کند که به طور مداوم بررسی میکند که آیا او هنوز در لیست حقوق کارمندان است. هنگامی که او دیگر در لیست حقوق نیست، بمب منطقی شرایط خود را برآورده میکند و پیلود Payload مخرب را اجرا میکند.
باز کردن فایلهای غیراجرایی: حتی برخی از فایلهای غیراجرایی نیز میتوانند حاوی پیلودهای Payload مخرب باشند. بهعنوانمثال، بارهای مخرب ممکن است در فایلهای تصویری با پسوند .PNG پنهان شوند. وقتی قربانی این فایلهای تصویری را باز میکند، پیلود Payload اجرا میشود.
چگونه میتوان پیلودهای Payload مخرب را متوقف کرد؟
باتوجهبه تنوع روشهای تحویل و اجرای پیلودهای Payload مخرب، هیچ راهحل آسانی برای جلوگیری از آنها وجود ندارد، اما اقدامات امنیتی باید همواره انجام شوند. از جمله اقداماتی که میتوان انجام داد عبارتاند از:
- همیشه اسکن آنتیویروس را بر روی فایلهای دانلودی و دریافتی اجرا کنید، حتی اگر فایل از یک منبع قابلاعتماد باشد.
- افراد میتوانند به دورههای آموزشی امنیت سایبری و مهارتهای مرتبط با پیشگیری و مدیریت پیلودهای Payload مخرب مراجعه کنند. این دورهها میتوانند به افراد کمک کنند تا بهتر از مخاطرات آگاه شوند و روشهای مقابله با پیلودهای Payload مخرب را یاد بگیرند.
- بروز نگهداشتن نرمافزارها و سیستمعامل به آخرین نسخههای امنیتی کمک میکند. اکثر حملات با استفاده از آسیبپذیریهای موجود در نرمافزارها و سیستمعاملهای قدیمی انجام میشوند.
- استفاده از فایروال و نرمافزارهای امنیتی میتواند به جلوگیری از ورود پیلودهای Payload مخرب به سیستمها کمک کند. این نرمافزارها میتوانند ترافیک مشکوک را شناسایی و مسدود کنند.
- آموزش کارکنان در مورد تهدیدات سایبری و شناخت پیلودهای Payload مخرب میتواند به جلوگیری از حملات مفید باشد. کارکنان باید به شناختن ایمیلها و فایلهای مشکوک دقت داشته باشند.
- اطمینان حاصل کنید که نرمافزارها و سیستمعاملهای شما بهروز هستند. بهروزرسانیها باعث بهبودهای امنیتی میشود و در مقابل پیلودهای Payload مخرب محافظت میکند.
- مراقبت و رویت دقیق از فعالیتهای سیستم و شبکه میتواند به شناسایی حملات سایبری و پیلودهای Payload مخرب کمک کند.
- منظور از پشتیبانگیری، ایجاد نسخه پشتیبان از دادههای مهم است. در صورت حمله سایبری و آسیب به دادهها، میتوانید بهسادگی نسخه پشتیبان را بازیابی کنید.
توجه به این مسائل و اعمال اقدامات امنیتی مناسب میتواند به شما کمک کند تا از حملات پیلودهای Payload مخرب و حملات سایبری از خود محافظت کنید. همچنین، همواره بهروز بودن اطلاعات خود در زمینه امنیت سایبری و پیلودهای Payload مخرب نیز مهم است.