أعرب الخبير عن تقديره لنصيحة وكالة الأمن القومي لحظر C و C ++: كيف سيؤثر ذلك على روسيا

طلبت وكالة الأمن القومي الأمريكية (NSA) من المطورين من جميع أنحاء العالم تجنب ذلك

تعتبر لغات البرمجة الأقدم مثل C وC++ أكثر عرضة لهجمات القراصنة عند الانتقال إلى لغات أحدث وأكثر أمانًا للذاكرة.

ما هي مشكلة لغة C++؟

لتنفيذ التعليمات في الكود الذي تحتاجهموارد النظام، وخاصة الذاكرة. المشكلة في بعض لغات البرمجة القديمة هي أنها تسمح للمطورين بتحريكها يدويًا. ونتيجة لذلك، تقع مسؤولية إدارة الذاكرة على عاتق المطور. تؤدي الأخطاء البسيطة التي يرتكبها المبرمجون إلى "انهيار" النظام وظهور مشاكل أمنية.

هذه الحرية تؤدي إلى مخاطر معينة.يمكن أن تنشأ أخطاء سلامة الذاكرة هذه من أخطاء إملائية بسيطة وأسطر من التعليمات البرمجية المنسية، أو من هياكل الذاكرة المعقدة والتفاعلات غير المتوقعة.

بيان مجلس الأطلسي إلى منظمة حلف شمال الأطلسي

في بعض الحالات ، يمكن للمهاجم استخدام هذه الأخطاء للوصول إلى النظام أو تنفيذ تعليمات برمجية ضارة.

وبالتالي، فإن اللغات المستخدمة على نطاق واسع مثلمثل C وC++، لا توفر قدرًا أكبر من الحرية والمرونة في إدارة الذاكرة فحسب، بل "تعتمد" أيضًا على المبرمج في هذا الأمر. وتعتقد وكالة الأمن القومي أن هذا يمنح المتسللين الفرصة لاستغلال نقاط الضعف لأغراضهم الخاصة.

رأي عمالقة تكنولوجيا المعلومات

وفقا لشركات التكنولوجيا، فإن الحصةتمثل اللغات القديمة مثل C وC++ ما يصل إلى 65% من جميع الأخطاء. وبالتالي، لاحظت Microsoft وGoogle وغيرهم من عمالقة تكنولوجيا المعلومات نقاط الضعف في أكوادهم بسبب مشاكل تتعلق بأمان الذاكرة.

ما هي اللغات الآمنة؟

لغات برمجة جديدة مثل بايثون،تقوم Java* وRust بتخصيص الذاكرة تلقائيًا. العديد منهم إما يزيلون الأخطاء الأمنية فعليًا أو يجعلونها مستحيلة. أضاف مسؤولو وكالة الأمن القومي C# وGo وSwift إلى "القائمة الآمنة".

إجابة من "الأب المؤسس" لـ C و C++

مخترع لغة البرمجة C++ بيورناستجاب ستروستروب لدعوة وكالة الأمن القومي للتخلي عن استخدام لغات البرمجة القديمة التي تقع فيها مسؤولية إدارة الذاكرة على عاتق المطور.

في رسالته المفتوحة المنشورةوعلى موقع open-std.org، أعرب ستروستروب عن عدم موافقته على موقف الوكالة. وذكر أن ممثليه "جمعوا" C وC++ معًا، على الرغم من أن اللغات تطورت بشكل مستقل على مدار الثلاثين عامًا الماضية. وفي الوقت نفسه، اتهم المطورين "بتجاهل التغييرات في اللغة في كثير من الأحيان والتي يمكن أن تحسن بشكل جذري أمان التعليمات البرمجية".

في الواقع، في رأيه، C++ ليست بأي حال من الأحوال أدنى من اللغات الآمنة الحديثة مثل C# وGo وJava وRuby وRust وSwift.

رأي الخبراء

لمعرفة مدى جدية التعامل مع تحذير وكالة الأمن القومي، تحدثت شركة Hi-Tech مع Andrei Naichenko، مهندس ما قبل البيع الرائد لمنصة إنتاج برمجيات Sphere.

وهو يعتقد أن خطورة هذا الحظرللسوق والمبرمجين لا ينبغي المبالغة في تقديرها. يوضح الخبير: "لقد أصبحت الأوقات التي تم فيها تطوير أنظمة التطبيقات بلغة C++ شيئًا من الماضي، وقد اكتمل بالفعل الانتقال إلى اللغات الموصى بها (C# وGo وJava وRuby وSwift) من قبل معظم المطورين".

استخدام اليوم لـ C++تقتصر على الحلول المتخصصة في مجال أنظمة التشغيل، وتطوير الألعاب ومحركات الألعاب (Unreal Engine، Unity)، وحوسبة GPU (العملة المشفرة، والتعلم العميق)، وتطوير خوارزميات عالية التحميل وعالية الأداء. ونظرًا لحجم الأكواد البرمجية التي تم تطويرها وعدد المتخصصين، فمن غير المرجح أن يحدث الانتقال إلى لغات أخرى في هذه المجالات في المستقبل القريب. بالنسبة للجزء المتبقي (الرئيسي) من السوق، فإن هذه التوصية من وكالة الأمن القومي لا تهدد أي شيء.

وفيما يتعلق بصحة هذا القرارقام Andrey Naichenko بدعم منشئ لغة C++ Bjarne Stroustrup. وأوضح الخبير أن "لغة C++ في الإصدارات الحديثة من المعيار توفر مجموعة واسعة وناضجة من الأدوات التي تسمح لك بحل مشاكل العمل الآمن مع الذاكرة بنجاح".

كيف سيؤثر قرار وكالة الأمن القومي على روسيا؟

المشاكل التي تم تحديدها في تقرير وكالة الأمن القومي هي الأكثر احتمالافي المجمل، تم العثور عليها في الحلول المطبقة على معايير اللغة المبكرة. وفي نهاية المطاف، لن يكون لقرار وكالة الأمن القومي أي تأثير كبير على مطوري البرمجيات الذين يستهدفون السوق الروسية.

قراءة المزيد:

حدد العلماء أفضل 6 طرق "لحفظ" ذاكرة كبار السن

فاجأ بصمة غامضة تحت الأرض العلماء. يبلغ من العمر أكثر من 1000 عام

يُعتقد أن السيف المزيف هو قطعة أثرية عمرها 3000 عام من العصر البرونزي

*على الرغم من تصنيف لغة Java كلغة جديدة، إلا أنها لغة برمجة قديمة إلى حد ما (ملاحظة - "عالية التقنية")