مهندسان گوگل اخیرا اعلام کردهاند که نزدیک به 70 درصد از باگهای امنیتی جدی در کد پایه کروم مربوط به مدیریت رم و باگهای ایمنی میشود.
نیمی از این 70 درصد مربوط به آسیبپذیریهای حافظه از نوع «Use After Free» میشود، نوعی از مشکل امنیتی که توسط مدیریت نادرست حافظه اشارهگر به وجود میآید و باعث میشود هکرها از آنها برای حملات به اجزای داخلی استفاده کنند. محققان گوگل برای دستیابی به این نتیجه، 912 باگ امنیتی که از سال 2015 تا به امروز رفع کردهاند را مورد بررسی قرار دادهاند که البته این باگها در دسته خطرناک قرار داشتهاند.
آمار منتشر شده از سوی مهندسان گوگل با اطلاعات مایکروسافت یکسان است. مهندسان مایکروسافت در کنفرانس امنیتی خود در فوریه 2019 اعلام کردند که نزدیک به 70 درصد بروزرسانیهای امنیتی برای محصولات مایکروسافت برای رفع آسیبپذیریهای حافظه منتشر شدهاند.
مایکروسافت و گوگل با مشکل مشابهی دست و پنجه نرم میکنند که مربوط به زبانهای برنامهنویسی C و ++C میشود. این دو زبان امنیت بالایی نداشته و چندین دهه پیش توسعه پیدا کردهاند؛ زمانی که حملات سایبری زیادی در جهان وجود نداشت، بنابراین مهندسان توجه چندانی به آنها نداشتند.
برنامهنویسان این دو زبان میتوانند به صورت کامل اشارهگر حافظه را کنترل کنند. اگر توسعهدهنده در مدیریت حافظه اشتباهی مرتکب شود، C و ++C به وی هشدار نمیدهد. این موضوع باعث میشود که توسط آسیبپذیریهای مدیریت رم بتوان به دستگاهها حمله کرد. بسیاری از مهاجمان برای هدف قرار دادن قربانی خود از این آسیبپذیریها استفاده میکنند.
در سالهای اخیر مهندسان نرم افزار پیشرفت زیادی داشتهاند و توانستهاند بسیاری از مشکلات امنیتی پایه را رفع کنند، اما هنوز راهحلهای زیادی برای آسیبپذیریهای مدیریت حافظه وجود ندارد. گوگل اعلام کرده که از مارس 2019 تا به امروز، 125 مورد از 130 آسیبپذیری خطرناک کروم مربوط به حافظه آن بوده است.
باگهای مدیریت حافظه در حدی زیادی بوده که مهندسان کروم در گوگل مجبور شدهاند از «The Rule Of 2» استفاده کنند. بر اساس این قانون، زمانی که مهندسان ویژگی جدیدی را برای کروم درنظر میگیرند، کد آنها حداکثر میتواند دو مورد از شرایط زیر را داشته باشد:
- کدهایی که ورودیهای غیرقابل اعتماد را پردازش میکنند.
- کدی که بدون «سندباکس» اجرا میشود.
- کدی که توسط زبانهای برنامهنویسی ناامن مانند C و ++C نوشته میشوند.
هر کدام از شرکتها به روشی قصد دارند با این آسیبپذیریها مبارزه کنند که یکی از آنها، استفاده از زبان برنامهنویسی جدید است. «راست» یکی از ایمنترین زبانهای برنامهنویسی محسوب میشود که توسط تحقیقات «موزیلا» توسعه پیدا کرده است.