کشف باگ های امنیتی توسط هوش مصنوعی

شرکت مایکروسافت اعلام کرد موفق به توسعه الگوریتمی شده است که می‌تواند با دقت 99 درصد میان باگ‌های امنیتی و غیرامنیتی تفاوت بگذارد.

شرکت مایکروسافت به تازگی ادعا کرد موفق به ساخت سامانه جدیدی شده است که می‌تواند با دقت 99 درصد میان ایرادات نرم‌افزاری امنیتی و غیرامنیتی تفاوت قائل شود. این سیستم همچنین قادر است در 97 درصد مواقع مشکلات امنیتی حیاتی با اولویت بالا را شناسایی کند.

مایکروسافت برای توسعه هوش مصنوعی یاد شده از 47 هزار آسیب‌پذیری شناسایی و ذخیره‌سازی شده در مخازن کد گیت‌هاب (GitHub) و بستر «AzureDevOps» استفاده کرده است. این شرکت قصد دارد تا چند ماه آینده، روش خود را به همراه چندین مدل نمونه و منابع مختلف به صورت منبع باز در گیت‌هاب قرار بدهد تا متخصصان انسانی بتوانند از آن برای محافظت از سامانه‌های خود بهره گیرند.

پژوهشگران برای توسعه مدل خود از داده‌های آموزشی و نمونه‌های آماری بهره گرفتند. این اطلاعات در قالب بردارهای ویژگی «feature vectors» بازنویسی شدند تا محققان بتوانند یک سامانه با فرآیند دو مرحله‌ای به وجود آورند.

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

محققان به منظور پیش‌بینی باگ، از مدلی دو مرحله‌ای بهره گرفتند. بخش اول یک رویکرد بازیابی اطلاعات با نام (TF-IDF) است که مشخص می‌کند در یک سند، یک کلمه چند مرتبه تکرار شده است. سپس نوع ارتباط کلمه در مجموعه‌ای از تیترها را بررسی می‌کند. مایکروسافت در این رابطه توضیح داد عنوان‌های باگ‌ها معمولاً بسیار کوتاه هستند و از 10 کلمه فراتر نمی‌روند.

بخش دوم  یک مدل رگرسیون لجستیک (logistic regression) است که احتمال وجود کلاس یا عملکردی خاص را در سیستم بررسی می‌کند.

مایکروسافت در وبگاه خود با انتشار پستی در رابطه با شیوه استفاده از الگوریتم یادگیری ماشینی برای شناسایی بهتر باگ‌ها نوشت:

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

سامانه یاد شده هم‌اکنون در داخل شرکت مایکروسافت به کار گرفته شده است و با توجه به داده‌های ارسالی از سوی متخصصان امنیتی به طور مرتب بروزرسانی می‌شود.