सैन फ्रांसिस्को,
यूएस नेशनल सिक्योरिटी एजेंसी (एनएसए) ने दुनिया भर के डेवलपर्स से सी और सी ++ जैसी पुरानी प्रोग्रामिंग भाषाओं को दूर करने का अनुरोध किया है, जो हैकर्स के लिए नई, मेमोरी सुरक्षित भाषाओं में स्थानांतरित होने के लिए अधिक प्रवण हैं।
Microsoft, Google और अन्य ने स्मृति सुरक्षा मुद्दों के कारण कोड में कमजोरियों को चिह्नित किया है और दुर्भावनापूर्ण साइबर अभिनेता रिमोट कोड निष्पादन या अन्य प्रतिकूल प्रभावों के लिए इन कमजोरियों का फायदा उठा सकते हैं, जो अक्सर एक डिवाइस से समझौता कर सकते हैं और बड़े पैमाने पर नेटवर्क घुसपैठ में पहला कदम हो सकते हैं।
“एनएसए संगठनों को सलाह देता है कि वे प्रोग्रामिंग भाषाओं से एक रणनीतिक बदलाव करने पर विचार करें जो कम या कोई अंतर्निहित स्मृति सुरक्षा प्रदान करते हैं, जैसे कि सी / सी ++, जब संभव हो तो स्मृति सुरक्षित भाषा में। मेमोरी सुरक्षित भाषाओं के कुछ उदाहरण सी #, गो, जावा, रूबी और स्विफ्ट हैं, “एजेंसी ने एक नए दस्तावेज़ में कहा।
आम तौर पर इस्तेमाल की जाने वाली भाषाएं, जैसे सी और सी ++, स्मृति प्रबंधन में बहुत अधिक स्वतंत्रता और लचीलापन प्रदान करती हैं, जबकि स्मृति संदर्भों पर आवश्यक जांच करने के लिए प्रोग्रामर पर बहुत अधिक निर्भर करती है।
साधारण गलतियों से शोषक स्मृति-आधारित कमजोरियाँ हो सकती हैं।
एनएसए ने कहा, “सॉफ्टवेयर विश्लेषण उपकरण स्मृति प्रबंधन के मुद्दों के कई उदाहरणों का पता लगा सकते हैं और ऑपरेटिंग पर्यावरण विकल्प भी कुछ सुरक्षा प्रदान कर सकते हैं, लेकिन स्मृति सुरक्षित सॉफ्टवेयर भाषाओं द्वारा प्रदान की जाने वाली अंतर्निहित सुरक्षा अधिकांश मेमोरी प्रबंधन मुद्दों को रोक या कम कर सकती है।”
स्मृति सुरक्षित भाषा के साथ भी, स्मृति प्रबंधन पूरी तरह से स्मृति सुरक्षित नहीं है।
एनएसए ने कहा, “गैर-स्मृति सुरक्षित भाषाओं को अधिक मेमोरी सुरक्षित बनाने के लिए कई तंत्रों का उपयोग किया जा सकता है। स्थिर और गतिशील एप्लिकेशन सुरक्षा परीक्षण (एसएएसटी और डीएएसटी) का उपयोग करके सॉफ़्टवेयर का विश्लेषण करने से सॉफ़्टवेयर में स्मृति उपयोग के मुद्दों की पहचान हो सकती है।”
एजेंसी ने सुझाव दिया, “संकलन और निष्पादन पर्यावरण का उपयोग साइबर अभिनेताओं के लिए स्मृति प्रबंधन मुद्दों का फायदा उठाने के लिए और अधिक कठिन बनाने के लिए किया जा सकता है। इनमें से अधिकतर अतिरिक्त सुविधाओं को सीमित करने पर ध्यान केंद्रित किया जा सकता है जहां स्मृति में कोड निष्पादित किया जा सकता है और स्मृति लेआउट को अप्रत्याशित बना दिया जा सकता है।”