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