به گفته پژوهشگران امنیتی Veracode، درصد بسیار بالایی از نرمافزارها دارای آسیبپذیریهای کتابخانههای منبعباز هستند.
به گزارش افتانا (پایگاه خبری امنیت فناوری اطلاعات)، شرکت وراکد (Veracode) در گزارش امنیت نرمافزاری سالانه جدید خود شرح داد ۷۰ درصد از برنامههای مورد استفاده امروزی حداقل دارای یک آسیبپذیری هستند که به علت استفاده از کتابخانههای منبعباز به وجود آمدهاست. این کتابخانههای منبعباز شامل مخازن کد متمرکز میشوند که توسعهدهندگان از آن برای ایجاد برنامههای خود بهره میگیرند؛ اما خطرات بسیاری را نیز به وجود میآورند.
محققان وراکد در تحقیقات خود ۳۵۱ هزار کتابخانه خارجی در ۸۵ هزار برنامه را مورد بررسی قرار داده و متوجه شدند که کتابخانههای منبعباز بسیار رایج هستند. برای مثال برنامههای جاوااسکریپت حاوی صدها کتابخانه منبعباز میشوند که تعدادی از آنها بیش از ۱۰۰۰ کتابخانه مختلف را بهکارمیگیرند. بهعلاوه در بیشتر زبانهای برنامهنویسی مجموعهای مشابه از هسته کتابخانهها وجود دارد. بهعلاوه بررسیها نشان داد بهطور خاص جاوااسکریپت و PHP دارای چندین کتابخانه اصلی هستند که تقریباً در همه برنامه بهطور مشترک مورد استفاده قرار میگیرند.
کتابخانههای یادشده مشابه سایر نرمافزارها دارای آسیبپذیریهای مختلف هستند. از طرفی استفاده مجدد از یک کد باعث میشود یک باگ، صدها برنامه را تحت تأثیر قرار دهد.
در گزارش وراکد آمدهاست: امروزه وجود کتابخانههای منبعباز به توسعهدهندگان اجازهمیدهد تا با سرعت بیشتری نرمافزارهای خود را توسعه بدهند. در حقیقت، با وجود این کتابخانهها، نوآوری غیرممکن خواهد شد. به علاوه عدم آگاهی در مورد شیوه به کارگیری کتابخانه و کدهای آنها، عوامل خطری به وجود میآیند که مشکل آفرین هستند.
چهار کتابخانه اصلی که بیشترین آسیبپذیریهای منبعباز را در برنامهها به خود اختصاص میدهند شامل سوییفت (Swift)،.NET، گو (Go) و PHP هستند.
سوییفت بهطور ویژه در اکوسیستم اپل به کار گرفتهمیشود و بیشترین نقضها را دارد. با وجود این پایینترین درصد آسیبپذیری کتابخانهها نیز به این پلتفرم مربوط میشود. در مقابل .NET پایینترین میزان نقض را داشته؛ اما میزان نقصهای آن ۱۷ برابر بیشتر از سوییت است. درصد بسیار بالایی از کتابخانههای گو آسیبپذیر هستند؛ اما تعداد نقصهای موجود در هر کتابخانه کم است. از طرفی آمار نقصهای کتابخانههای PHP و از گو بیشتر است. همچنین تعداد آسیبپذیریهای موجود در هر کدام از آنها بیش از دو برابر هستند.
محققان شرح دادند اسکریپتهای XSS رایجترین گروه آسیبپذیریها هستند که در ۳۰ درصد کتابخانههای منبع باز یافت میشوند. بخش عظیمی از این نقصها به ناامن بودن رشته کدهای نوشته شده و از بین رفتن کنترل دسترسی است. این دو آسیبپذیری باعث میشوند حتی بخشهایی از کتابخانهها که مورد استفاده قرار نگرفتهاند، فراخوانی شده، روی برنامه تأثیر منفی بگذارند.
پژوهشگران همچنین نشان دادند بسیاری از کتابخانههای دارای نقص، به علت وجود وابستگی آبشاری دارای آسیبپذیر هستند. توسعهدهندگان ممکن است از یک کتابخانه استفاده کنند که برای محتوایش برای آنها ناشناخته است. کدهای این کتابخانه ممکن است خود به کتابخانه منبع باز دیگری اتصال داشتهباشد.
در بخشی از گزارش نوشته شدهاست: ۴۷ درصد کتابخانههای آسیبپذیر مورد استفاده در برنامهها کاملاً گذرا هستند. به این معنی که برنامهنویسان بهطور مستقیم آنها را به برنامه خود اضافه نکردهاند، بلکه کتابخانه دیگری آنها را فراخوانی میکند.
محققان شرح دادند البته میتوان ۷۵ درصد از کتابخانههای آسیبپذیر را با انتشار یک وصله کوچک به سرعت بهروزرسانی و ترمیم کرد.