DeepLocker بدافزار اثبات مفهوم مبتنی بر هوش مصنوعی

DeepLocker بدافزار اثبات مفهوم مبتنی بر هوش مصنوعی

تاریخ ایجاد

به تازگی محققین امنیتی و هوش مصنوعی شرکت IBM یک بدافزار اثبات مفهوم را توسعه داده ­اند. این بدافزار #‫DeepLocker نام دارد. DeepLocker به خودی خود یک payload مخرب ندارد. بلکه هدف اصلی آن پنهان ­سازی بدافزار و در امان ماندن آن از آنتی­ ویروس­ها و تحلیل­ گران بدافزار است. این بدافزار یک روش نوین پنهان ­سازی با استفاده از مدل­های هوش مصنوعی ارائه داده است.

هدف اصلی توسعه­ دهندگان این بدافزار حمله و یا تخریب نبوده است. بلکه هدف نشان دادن این قضیه به توسعه دهندگان سیستم های امنیتی بوده است که به زودی بدافزارهایی مبتنی بر هوش مصنوعی گسترش خواهند یافت و مکانیزم ها و ابزارهای موجود توانایی مقابله با آن ها را ندارند. از این رو محققین و شرکت های امنیتی باید به فکر راهکارهای جدیدی برای مقابله با اینگونه بدافزارها باشند.

بدافزار DeepLocker روش پنهان سازی خود را کاملا متفاوت از دیگر بدافزارهای موجود ارائه کرده است. این بدافزار برای پنهان ماندن از دست آنتی ویروس ها و فایروال ها، خود را درون نرم افزارهای سالم نظیر نرم‌افزار ویدئو کنفرانس پنهان سازی می کند. این شیوه قبلا هم توسط بسیاری از بدافزارها استفاده شده است و چیز جدیدی نیست.

نکته متمایزکننده در رابطه با این بدافزار، استفاده از هوش مصنوعی برای فعال­سازی شروط حمله است که مهندسی معکوس آن را به شدت سخت و در مواردی فعلا غیر ممکن کرده است.Payload مخرب این بدافزار فقط در صورتی قفل­ گشایی خواهد شد که شرایط هدف برقرار شود. این شرایط توسط یک مدل آموزش دیده هوش مصنوعی شبکه عصبی عمیق بررسی می­شود.

مدل هوش مصنوعی تولید شده به صورت عادی عمل خواهد کرد و فقط در صورتی که شروط مورد نظر بر روی سیستم قربانی موجود باشد، فعالیت مخرب را آغاز می­کند. در واقع این شبکه عصبی کلید رمزگشایی قسمت مخرب را تولید می­کند. برای تشخیص هدف، این بدافزار از مشخصه­ های مختلفی استفاده می­کند. نظیر ویژگی­های بصری، صوتی، موقعیت جغرافیایی و ویژگی­ های سطح سیستم.

برای تولید یک مدل هوش مصنوعی نیاز به استفاده از الگوریتم ­های یادگیری ماشین داریم. تفاوت الگوریتم‌های عادی و الگوریتم ­های هوش مصنوعی به این صورت است که به جای تعریف فرمول دقیق و یا شروط دقیق در یک الگوریتم، این الگوریتم ­ها خود الگو موجود در داده ­ها را آموزش می­بینند. برای تولید یک مدل هوش مصنوعی، دو فاز آموزش و تست نیاز است. در فاز آموزش تعدادی نمونه آموزشی که هر کدام دارای یک سری ویژگی هستند به ورودی الگوریتم داده می­شود. همچنین خروجی صحیح هر یک از ورودی ها نیز به آن مدل داده می­شود. مدل به وسیله الگوریتم­ های یادگیری ماشین، نحوه تولید خروجی­ ها از ورودی های داده شده را فرا می­گیرد و مدل را تولید می­کند. سپس می­توان به مدل تولید شده یک داده دیده نشده و تازه تزریق کرد و خروجی احتمالی آن را مشاهده کرد.

به عنوان مثال در مبحث تشخیص بدافزار با استفاده از هوش مصنوعی، یک مدل یادگیری ماشینی به این صورت آموزش داده می­ شود: تعدادی فایل سالم و تعدادی فایل مخرب به عنوان نمونه آموزشی انتخاب می‌شوند. سپس از هر یک از این فایل­ ها تعدادی ویژگی به روش ­های مختلف استخراج می­شود. این ویژگی ­ها به عنوان ورودی به الگوریتم داده شده و خروجی الگوریتم مخرب بودن یا سالم بودن نمونه خواهد بود. پس از اینکه مدل آموزش دیده شد می­توان یک فایل جدید را به مدل داد تا مخرب یا سالم بودن آن را تشخیص دهد.

شبکه عصبی معمولی مجموعه­ ای از گره­ هایی است که لایه به لایه قرار گرفته­ اند و به یکدیگر متصل هستند. هر شبکه یک لایه ورودی و یک لایه خروجی و صفر یا تعداد بیشتری لایه میانی یا مخفی دارد. یال­های متصل­ کننده گره ­ها دارای وزن می ­باشند که این وزن­ ها در مقدار گره­ های سمت چپ ضرب شده و تولید مقدار جدید برای گره سمت راست یال را می­کند. این عملیات تا تولید مقدار برای گره ­های لایه خروجی ادامه پیدا می­کند.

شبکه عصبی عمیق یک شبکه عصبی است که تعداد لایه های درونی آن بسیار زیادتر از یک شبکه عصبی معمولی است. تفاوت این دو نوع شبکه را در شکل زیر مشاهده می­کنید:
 

 DeepLocker

در سال­های اخیر استفاده از این نوع شبکه محبوبیت بسیاری پیدا کرده است. طرز کار شبکه به این صورت است که تعداد ویژگی به عنوان ورودی از هر نمونه می­گیرد. همچنین خروجی مورد نظر هم به شبکه تحویل داده می­شود. شبکه با توجه به ورودی ­ها و خروجی­ های متناظر آموزش می­بیند و یک مدل تولید می­کند. از این به بعد با دادن یک ورودی جدید می­توان خروجی احتمالی را از مدل استخراج کرد.

DeepLockerفرآیند فعال­سازی فاز حمله خود را که شامل قفل ­گشایی محتوای مخرب و اجرای آن می‌شود، به وسیله یک مدل آموزش­ دیده شبکه عصبی عمیق انجام می­دهد. این مدل کار تحلیل­گران و آنتی‌ویروس را بسیار سخت می­کند. زیرا به جای استفاده از تعدادی شرط رایج به صورت if-then-elseدر کد خود از یک مدل یادگیری ماشینی استفاده کرده است. مدل مورد نظر تنها تعداد گره و یال وزن­دار است که هیچ دیدی از نحوه عملکرد درونی خود به ما نمی­دهد. پس تحلیل ­گران حتی نمی­توانند به طور کامل متوجه حالت­ هایی شوند که بدافزار در آن فعال خواهد شد.

در واقع برای تحلیل­ گران بدافزار دو چیز مهم است: شرایط وقوع یک حمله سایبری و payloadمخرب آن. DeepLockerهر دوی آن را مورد هدف قرار داده است. شرایط حمله به صورت یک جعبه سیاه در آمده است و payloadنیز در صورت نامعلومی قفل ­گشایی خواهد شد.
 

 DeepLocker
  1. پنهان­سازی دسته مورد حمله: چه اشخاصی و یا سازمان­هایی قرار است مورد حمله قرار گیرند.
  2. پنهان­سازی نمونه ­های مورد حمله: مشخص نیست که نمونه مورد نظر چه شخص یا سازمانی خواهد بود.
  3. پنهان­سازی محتوای بدافزار: مشخص نیست که حمله نهایی چگونه شکل خواهد گرفت.

تیم توسعه DeepLocker، برای نشان دادن قابلیت­های منحصر به فرد این بدافزار از بدافزار معروف WannaCry به عنوان payload بدافزار استفاده کرده ­اند و آن را درون یک نرم­افزار ویدئو­کنفرانس سالم جای داده­اند. شرایط حمله نیز تشخیص چهره فرد مورد نظر است. یعنی فقط در صورتی که فرد مورد نظر در ویدئو­کنفرانس ظاهر شود کامپیوتر آن مورد حمله قرار می­گیرد.
در نهایت هدف تیم تحقیقاتی امنیتی IBM نه تولید یک بدافزار مخرب بلکه موارد زیر بوده است:

  • بالا بردن آگاهی از تهدیدات هوش مصنوعی در بدافزار و اینکه این روش ها به سرعت در بین بدافزارنویسان محبوب خواهند شد.
  • نشان دادن اینکه چگونه این روش ها می تواند سیستم های دفاعی امروزه را دور بزند.
  • ارائه بینش در مورد چگونگی کاهش خطرات و اعمال اقدامات مناسب کافی
برچسب‌ها