توسعه دهندگان جاوا، دات نت مستعد آسیب پذیری های مکرر هستند

توسعه دهندگان جاوا، دات نت مستعد آسیب پذیری های مکرر هستند

گره منبع: 1901108

بیش از سه چهارم برنامه های نوشته شده در جاوا و دات نت حداقل یک آسیب پذیری از 10 برتر OWASP دارند، لیستی از ضعف های نرم افزاری که توسعه دهندگان معمولاً از آن به عنوان پایه ای برای امنیت برنامه ها استفاده می کنند.

این بر اساس شرکت تست نرم افزار Veracode است که در تجزیه و تحلیل نزدیک به 760,000 برنامه دریافت که از هر پنج برنامه کاربردی که از این دو اکوسیستم برنامه نویسی استفاده می کنند، یک مورد حداقل یک آسیب پذیری با شدت بالا یا بحرانی دارد.

به طور کلی، برنامه‌های کاربردی متوسط ​​۲۷ درصد شانس دارند که حداقل یک آسیب‌پذیری در هر ماه معرفی شوند، برنامه‌های ضعیف نوشته شده و برنامه‌هایی که به ندرت اسکن می‌شوند احتمالاً دارای نقص بیشتری هستند، در حالی که برنامه‌هایی با سابقه طولانی‌تر فرآیندهای امنیتی و توسط افراد آموزش دیده نوشته می‌شوند. داده ها نشان می دهد که توسعه دهندگان کمتر احتمال دارد نقص های جدیدی را معرفی کنند.

تیم جارت، معاون مدیریت استراتژیک محصول در Veracode می‌گوید این تحلیل اهمیت ادغام امنیت در خط لوله توسعه را برجسته می‌کند.

«داده‌ها به طور مداوم نشان می‌دهند که اگر عادت به امنیت در فرآیند خود ایجاد کنید، نتیجه بهتری خواهید داشت، هم از نظر رفع عیوب کلی، و هم .... همچنین سیل ورود چیزها را کند می‌کنید، و این تفاوت بزرگی ایجاد می‌کند. ” او می گوید.

در همین حال، شرکت‌های نرم‌افزار و تیم‌های توسعه همچنان به مبارزه برای از بین بردن نقص‌ها و آسیب‌پذیری‌ها از کد برنامه ادامه می‌دهند. در حالی که توسعه دهندگان و پروژه های متن باز هستند رفع ایرادات نرم افزاری با سرعت بیشتریبر اساس گزارش Veracode «وضعیت امنیت نرم‌افزار» که در 11 ژانویه منتشر شد، نیمه‌عمر متوسط ​​آسیب‌پذیری همچنان در ماه‌ها اندازه‌گیری می‌شود، نه روزها یا هفته‌ها. 

برای مثال، برنامه‌های جاوا و دات‌نت که 71 درصد از کل برنامه‌های مورد تجزیه و تحلیل را تشکیل می‌دهند، نیمی از نقص‌ها را دیدند که به ترتیب پس از 243 روز و 158 روز همچنان بر برنامه‌ها تأثیر می‌گذارند.

نیمه عمر آسیب پذیری ها توسط زبان برنامه نویسی

منبع: گزارش "وضعیت امنیت نرم افزار" Veracode

نفخ کاربرد و سن هر دو تأثیر منفی قابل توجهی بر امنیت آنها داشتند. برنامه متوسط ​​حدود 40 درصد کد بیشتری را جمع آوری کرده و احتمال آسیب پذیری بیشتری دارد. حدود 54 درصد از برنامه های دو ساله دارای نقص هستند، در حالی که 69 درصد از برنامه های کاربردی پنج ساله نقص دارند. تجزیه و تحلیل یافت.

امنیت شگفت انگیز جاوا اسکریپت

با کمال تعجب، برنامه هایی که با جاوا اسکریپت یا با استفاده از یکی از چارچوب های جاوا اسکریپت نوشته شده اند، در اسکن آسیب پذیری بهتر عمل می کنند. در حالی که حدود 80 درصد از برنامه های جاوا و دات نت دارای آسیب پذیری بودند، تنها 56 درصد از برنامه های جاوا اسکریپت دارای آسیب پذیری بودند. و در حالی که حدود 20 درصد از برنامه های جاوا و دات نت دارای آسیب پذیری با شدت بالا بودند، کمتر از 10 درصد از برنامه های جاوا اسکریپت آسیب پذیری بالایی داشتند.

جارت می‌گوید چارچوب‌های جاوا اسکریپت جدیدتر هستند، امنیت بیشتری دارند و مزایای یک اکوسیستم منبع باز را دارند که جاوا به تازگی از آن بهره برده است.

او می‌گوید: «جاوا اسکریپت یک زبان جدیدتر است، بنابراین برنامه‌هایی که در آن نوشته می‌شوند جدیدتر هستند، و ما در گزارش‌های قبلی ارتباطی بین سن برنامه و زمان رفع نقص وجود دارد.» "بسیاری از ابزارهای جاوا اسکریپت بالغ هستند و زبانی است که به خوبی پشتیبانی می شود."

علاوه بر این، در جاوااسکریپت و فریم ورک Node.js، در جاوااسکریپت و فریم ورک Node.js، در جایی که آسیب‌پذیری در یک برنامه جاوا یک مشکل شخص اول است – که توسعه‌دهنده را مجبور به رفع مشکلات می‌کند، آسیب‌پذیری‌ها اغلب یک مشکل شخص ثالث هستند، زیرا آسیب‌پذیری در یک مؤلفه رخ داده است. که نرم افزار به آن بستگی دارد.

او می‌گوید: «روشی که می‌توانید یک مشکل امنیتی را در یک برنامه جاوا برطرف کنید، هنوز تا حد زیادی [جایی که] تغییری در فایل کلاس ایجاد می‌کنید و آن را کامپایل می‌کنید، است. «در جاوا اسکریپت، بیشتر یک مشکل مدیریت بسته است. و این یک چیز متفاوت برای یک توسعه دهنده است که می تواند آسان تر باشد."

زبان های برنامه نویسی جدید ضعیف می شوند

داده‌های این گزارش همچنین تفاوت بین زبان‌های برنامه‌نویسی که توسعه‌دهندگان در حال یادگیری هستند و زبان‌هایی که واقعاً در اکثر شرکت‌ها استفاده می‌شوند را برجسته می‌کند. زبان‌ها و اکوسیستم‌های برتر - جاوا، دات نت و جاوا اسکریپت - که توسط Veracode دیده می‌شوند، انتخاب توسعه‌دهندگان برای فناوری برنامه‌نویسی نیستند.

در حالی که چارچوب‌های مبتنی بر جاوا اسکریپت و JS - مانند Node.js، React.js و Angular - بر لیست فناوری‌های مورد علاقه توسعه‌دهندگان تسلط دارند، جاوا یکی از کم‌پسندترین زبان‌های برنامه‌نویسی است که در مقایسه با ۵۴ درصد از پاسخ‌دهندگان از این زبان می‌ترسند. با توجه به Stack Overflow's، با 54٪ که آن را دوست داشتند نظرسنجی توسعه دهندگان 2022

با این حال جاوا بر سهم برنامه های اسکن شده توسط مشتریان Veracode (44٪) در مقایسه با 14٪ برای جاوا اسکریپت تسلط داشت. 

علاوه بر این، محبوب ترین زبان برنامه نویسی، Rust، حتی در داده های Veracode نشان داده نمی شود، در حالی که شماره 6 توسعه دهندگان، Python، تنها کمتر از 4٪ از برنامه های اسکن شده را تشکیل می دهد.

Jarett از Veracode می گوید بخشی از دلیل قطع ارتباط این است که برنامه های کاربردی ایجاد شده به زبان های برنامه نویسی معتبر نوشته شده اند.

"شما جهان کامل همه کدهایی را دارید که در بیرون وجود دارد، و سپس آن نوع فوم را دارید که روی تاج موج توسعه جدید در حال رخ دادن است، و اینجاست که می بینید مردم در حال برداشتن Go and Rust و Dart هستند. و فلاتر،» او می گوید.

به دلیل انبوه کدهای برنامه های کاربردی نوشته شده به آن زبان ها، این وضعیت احتمالاً تغییر نخواهد کرد.

او می‌گوید: «متأسفانه برنامه‌های قدیمی هرگز از بین نمی‌روند، بنابراین توده‌های بحرانی زیادی در شرکت‌هایی با این پایگاه‌های کد بزرگ جاوا و پایگاه‌های کد دات‌نت وجود دارد.

تمبر زمان:

بیشتر از تاریک خواندن