به تازگی محققین امنیتی و هوش مصنوعی شرکت IBM یک بدافزار اثبات مفهوم را توسعه دادهاند؛ این بدافزار DeepLocker نام دارد.
DeepLocker به خودی خود یک payload مخرب ندارد بلکه هدف اصلی آن پنهانسازی بدافزار و در امان ماندن آن از آنتیویروسها و تحلیلگران بدافزار است.
این بدافزار یک روش نوین پنهانسازی با استفاده از مدلهای هوش مصنوعی ارائه داده است.
هدف اصلی توسعهدهندگان این بدافزار حمله یا تخریب نبوده است بلکه هدف نشان دادن این قضیه به توسعهدهندگان سیستمهای امنیتی بوده است که به زودی بدافزارهایی مبتنی بر هوش مصنوعی گسترش خواهند یافت و مکانیزمها و ابزارهای موجود توانایی مقابله با آنها را ندارند.
از این رو محققین و شرکتهای امنیتی باید به فکر راهکارهای جدیدی برای مقابله با اینگونه بدافزارها باشند.
بدافزار DeepLocker روش پنهانسازی خود را کاملا متفاوت از دیگر بدافزارهای موجود ارائه کرده است؛ این بدافزار برای پنهان ماندن از دست آنتیویروسها و فایروالها، خود را درون نرمافزارهای سالم نظیر نرمافزار ویدئو کنفرانس پنهانسازی میکند.
این شیوه قبلا هم توسط بسیاری از بدافزارها استفاده شده است و چیز جدیدی نیست.
نکته متمایزکننده در رابطه با این بدافزار، استفاده از هوش مصنوعی برای فعالسازی شروط حمله است که مهندسی معکوس آن را به شدت سخت و در مواردی فعلا غیر ممکن کرده است.
Payload مخرب این بدافزار فقط در صورتی قفلگشایی خواهد شد که شرایط هدف برقرار شود؛ این شرایط توسط یک مدل آموزش دیده هوش مصنوعی شبکه عصبی عمیق بررسی میشود.
مدل هوش مصنوعی تولید شده به صورت عادی عمل خواهد کرد و فقط در صورتیکه شروط مورد نظر بر روی سیستم قربانی موجود باشد، فعالیت مخرب را آغاز میکند.
در واقع این شبکه عصبی کلید رمزگشایی قسمت مخرب را تولید میکند؛ برای تشخیص هدف، این بدافزار از مشخصههای مختلفی نظیر ویژگیهای بصری، صوتی، موقعیت جغرافیایی و ویژگیهای سطح سیستم استفاده میکند.
برای تولید یک مدل هوش مصنوعی نیاز به استفاده از الگوریتمهای یادگیری ماشین داریم؛ تفاوت الگوریتمهای عادی و هوش مصنوعی به این صورت است که به جای تعریف فرمول دقیق یا شروط دقیق در یک الگوریتم، این الگوریتمها خود الگو موجود در دادهها را آموزش میبینند.
برای تولید یک مدل هوش مصنوعی، دو فاز آموزش و تست نیاز است؛ در فاز آموزش تعدادی نمونه آموزشی که هر کدام دارای یک سری ویژگی هستند به ورودی الگوریتم داده میشود.
همچنین خروجی صحیح هر یک از ورودیها نیز به آن مدل داده میشود؛ مدل به وسیله الگوریتمهای یادگیری ماشین، نحوه تولید خروجیها از ورودیهای داده شده را فرا میگیرد و مدل را تولید میکند؛ سپس میتوان به مدل تولید شده یک داده دیده نشده و تازه تزریق و خروجی احتمالی آن را مشاهده کرد.
به عنوان مثال در مبحث تشخیص بدافزار با استفاده از هوش مصنوعی، یک مدل یادگیری ماشینی به این صورت آموزش داده میشود: تعدادی فایل سالم و تعدادی فایل مخرب به عنوان نمونه آموزشی انتخاب میشوند؛ سپس از هر یک از این فایلها تعدادی ویژگی به روشهای مختلف استخراج میشود.
این ویژگیها به عنوان ورودی به الگوریتم داده شده و خروجی الگوریتم مخرب بودن یا سالم بودن نمونه خواهد بود؛ پس از اینکه مدل آموزش دیده شد میتوان یک فایل جدید را به مدل داد تا مخرب یا سالم بودن آن را تشخیص دهد.
شبکه عصبی معمولی مجموعهای از گرههایی است که لایه به لایه قرار گرفتهاند و به یکدیگر متصل هستند؛ هر شبکه یک لایه ورودی و یک لایه خروجی و صفر یا تعداد بیشتری لایه میانی یا مخفی دارد.
یالهای متصلکننده گرهها دارای وزن هستند که این وزنها در مقدار گرههای سمت چپ ضرب شده و تولید مقدار جدید برای گره سمت راست یال را میکند؛ این عملیات تا تولید مقدار برای گرههای لایه خروجی ادامه پیدا میکند.
شبکه عصبی عمیق یک شبکه عصبی است که تعداد لایههای درونی آن بسیار زیادتر از یک شبکه عصبی معمولی است؛ تفاوت این دو نوع شبکه را در شکل زیر مشاهده میکنید:
در سالهای اخیر استفاده از این نوع شبکه محبوبیت بسیاری پیدا کرده است؛ طرز کار شبکه به این صورت است که تعداد ویژگی به عنوان ورودی از هر نمونه میگیرد همچنین خروجی مورد نظر هم به شبکه تحویل داده میشود.
شبکه با توجه به ورودیها و خروجیهای متناظر آموزش میبیند و یک مدل تولید میکند.
از این به بعد با دادن یک ورودی جدید میتوان خروجی احتمالی را از مدل استخراج کرد.
DeepLocker فرآیند فعالسازی فاز حمله خود را که شامل قفلگشایی محتوای مخرب و اجرای آن میشود، به وسیله یک مدل آموزشدیده شبکه عصبی عمیق انجام میدهد.
این مدل کار تحلیلگران و آنتیویروس را بسیار سخت میکند زیرا به جای استفاده از تعدادی شرط رایج به صورت if-then-else در کد خود از یک مدل یادگیری ماشینی استفاده کرده است.
مدل مورد نظر تنها تعداد گره و یال وزندار است که هیچ دیدی از نحوه عملکرد درونی خود به ما نمیدهد؛ پس تحلیلگران حتی نمیتوانند به طور کامل متوجه حالتهایی شوند که بدافزار در آن فعال خواهد شد.
در واقع برای تحلیلگران بدافزار دو چیز مهم است: شرایط وقوع یک حمله سایبری و payload مخرب آن؛ DeepLocker هر دوی آن را مورد هدف قرار داده است.
شرایط حمله به صورت یک جعبه سیاه در آمده است و payload نیز در صورت نامعلومی قفلگشایی خواهد شد.
پنهانسازی دسته مورد حمله: چه اشخاصی یا سازمانهایی قرار است مورد حمله قرار گیرند.
پنهانسازی نمونههای مورد حمله: مشخص نیست که نمونه مورد نظر چه شخص یا سازمانی خواهد بود.
پنهانسازی محتوای بدافزار: مشخص نیست که حمله نهایی چگونه شکل خواهد گرفت.
تیم توسعه DeepLocker براساس گزارشی که ماهر منتشر کرده، برای نشان دادن قابلیتهای منحصر به فرد این بدافزار از بدافزار معروف WannaCry به عنوان payload بدافزار استفاده کردهاند و آن را درون یک نرمافزار ویدئوکنفرانس سالم جای دادهاند.
شرایط حمله نیز تشخیص چهره فرد مورد نظر است؛ یعنی فقط در صورتیکه فرد مورد نظر در ویدئوکنفرانس ظاهر شود کامپیوتر آن مورد حمله قرار میگیرد.
در نهایت هدف تیم تحقیقاتی امنیتی IBM نه تولید یک بدافزار مخرب بلکه موارد زیر بوده است:
• بالا بردن آگاهی از تهدیدات هوش مصنوعی در بدافزار و اینکه این روشها به سرعت در بین بدافزارنویسان محبوب خواهند شد.
• نشان دادن اینکه چگونه این روشها میتواند سیستمهای دفاعی امروزه را دور بزند.
• ارائه بینش درباره چگونگی کاهش خطرات و اعمال اقدامات مناسب کافی