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