ابزار شناسایی C++ برنده جایزه دفاع در اینترنت شد
ابزار شناسایی C++ برنده جایزه دفاع در اینترنت شد
یک گروه محقق از موسسه تکنولوژی ایالت Georgia در امریکا برنده جایزه دفاع در اینترنت (Internet Defense Prize) 2015 شد. این جایزه بابت فعالیت آنها در شناسایی گروه جدیدی از آسیبپذیریهای C++ با یک ابزار شناسایی جدید به آنان داده شد.
نام مطالعه آنها “Type Casting Verification: Stopping an Emerging Attack Vector” مورد تحسین پایهگذاران این جایزه (Facebook و USENIX) قرار گرفت چون آنها موارد امنیتی جدیدی را در برنامههای C++ کشف کردهاند.
برنامههای C++ در مرورگرهای وب بکار میروند و محبوبیت زیادی در میان برنامه نویسان دارند.
C++ دارای دو نوع عملکننده کاست (casting) است که دادهها را تبدیل میکنند: کاستهای استاتیک و دینامیک (static and dynamic casts). کاستهای دینامیک برای درست بودن runtime چک میشوند ولی آنها همزمان سربار عملکردی (performance overhead) ایجاد میکنند.
برنامه نویسان بهطورمعمول ترجیح میدهند که از کاستهای استاتیک استفاده کنند چون سربار ندارد. اگر شما با استفاده از کاست استاتیک به تیپ اشتباه کاست کنید، برنامه شما ممکن است یک pointer به وجود بیاورد که یک نقطه گذشته را در حافظه به یک شیع خاص اختصاص میدهد. نتیجه این کار این است که یک حملهکننده میتواند از این pointer برای corrupt کردن پروسه حافظه استفاده کند.
آسیبها پچ
نویسندگان این مقاله میگویند که ابزار شناسایی کاستهای بد runtime (runtime bad-casting detection tool) آنان بانام Caver یکراه حل جدید برای این مشکل ارائه میدهد. با آمیزش تحلیلهای استاتیک و دینامیک، ایرادها و آسیبها را میتواند شناسایی نمود.
این مسئله در مقاله آنها اثبات شد. ابزار Caver 9 کاست بد را در GNU libstdc++ (استاندارد مرورگر Chrome) و دو مورد را در Firefox شناسایی نمود. این دو مرورگر برای این آسیبها پچ صادر نمودهاند.
این گروه دانشجوی دکترا.به همراه دو پروفسور آن دانشگاه جایزه را.به همراه یک چک به مبلغ 100000 دلار دریافت کردند. در سال 2014 این مبلغ فقط 50000 دلار بود و این جایزه در همان سال پایهگذاری شد.
IDP Winners