বিশ্লেষকরা মেমরি-সেফ ল্যাঙ্গুয়েজ প্লেটোব্লকচেইন ডেটা ইন্টেলিজেন্স গ্রহণের জন্য বিকাশকারীদের জন্য NSA-এর পরামর্শকে স্বাগত জানিয়েছেন। উল্লম্ব অনুসন্ধান. আ.

বিশ্লেষকরা মেমরি-নিরাপদ ভাষাগুলি গ্রহণ করার জন্য বিকাশকারীদের জন্য NSA-এর পরামর্শকে স্বাগত জানিয়েছেন

নিরাপত্তা বিশ্লেষকরা গত সপ্তাহে ইউএস ন্যাশনাল সিকিউরিটি এজেন্সি (এনএসএ) থেকে সফ্টওয়্যার ডেভেলপারদের কোডে মেমরি-সম্পর্কিত দুর্বলতা কমাতে C#, গো, জাভা, রুবি, রাস্ট এবং সুইফটের মতো ভাষা গ্রহণ করার বিষয়ে বিবেচনা করার জন্য একটি সুপারিশকে স্বাগত জানিয়েছেন।

এনএসএ এগুলিকে "মেমরি নিরাপদ" ভাষা হিসাবে বর্ণনা করেছে যা কম্পিউটার ভাষার অংশ হিসাবে স্বয়ংক্রিয়ভাবে মেমরি পরিচালনা করে। তারা মেমরি সুরক্ষা বাস্তবায়নের জন্য প্রোগ্রামারের উপর নির্ভর করে না এবং পরিবর্তে মেমরি ত্রুটির বিরুদ্ধে সুরক্ষার জন্য কম্পাইল টাইম এবং রান টাইম চেকগুলির সংমিশ্রণ ব্যবহার করে, এনএসএ বলেছে।

মেমরি-নিরাপদ ভাষার জন্য কেস

10 নভেম্বর NSA-এর কিছুটা অস্বাভাবিক উপদেষ্টা C এবং C++ এর মতো বহুল ব্যবহৃত ভাষাগুলির দিকে নির্দেশ করে। প্রোগ্রামারদের উপর খুব বেশি নির্ভর করা মেমরি-সম্পর্কিত ভুলগুলি না করা, যা এটি উল্লেখ করেছে, সফ্টওয়্যারের নিরাপত্তা দুর্বলতার জন্য শীর্ষ কারণ হিসাবে অব্যাহত রয়েছে। পূর্ববর্তী অধ্যয়ন - এক দ্বারা মাইক্রোসফট 2019 সালে এবং অন্য থেকে 2020 সালে গুগল এর ক্রোম ব্রাউজারের সাথে সম্পর্কিত—উদাহরণস্বরূপ, উভয়ই খুঁজে পেয়েছে যে 70% দুর্বলতাগুলি স্মৃতি সুরক্ষার সমস্যা, NSA বলেছে।

"সাধারণভাবে ব্যবহৃত ভাষাগুলি, যেমন C এবং C++, মেমরি রেফারেন্সের প্রয়োজনীয় পরীক্ষাগুলি সম্পাদন করার জন্য প্রোগ্রামারের উপর প্রচুর নির্ভর করার সময় মেমরি পরিচালনায় প্রচুর স্বাধীনতা এবং নমনীয়তা প্রদান করে," NSA বলেছে। এটি প্রায়শই বাফার ওভারফ্লো ত্রুটি, মেমরি বরাদ্দ সংক্রান্ত সমস্যা এবং রেসের অবস্থার মতো সাধারণ ভুলগুলির সাথে আবদ্ধ শোষণযোগ্য দুর্বলতার পরিণতি ঘটায়।

C#, Go, Java, Ruby, Rust, Swift, এবং অন্যান্য মেমরি-সেফ ল্যাঙ্গুয়েজগুলি এই সমস্যাগুলির ঝুঁকি সম্পূর্ণভাবে দূর করে না, NSA তার পরামর্শে বলেছে। উদাহরণস্বরূপ, তাদের বেশিরভাগই অন্তত কয়েকটি ক্লাস বা ফাংশন অন্তর্ভুক্ত করে যা অ-মেমরি নিরাপদ এবং প্রোগ্রামারকে একটি সম্ভাব্য অনিরাপদ মেমরি ব্যবস্থাপনা ফাংশন সম্পাদন করতে দেয়। মেমরি-নিরাপদ ভাষাগুলি কখনও কখনও সম্ভাব্য অনিরাপদ মেমরি ফাংশন ধারণ করে এমন ভাষায় লেখা লাইব্রেরিগুলিও অন্তর্ভুক্ত করতে পারে।

কিন্তু এই সতর্কতার সাথেও, স্মৃতি-নিরাপদ ভাষা সফটওয়্যারের দুর্বলতা কমাতে সাহায্য করতে পারে দুর্বল এবং অযত্ন স্মৃতি ব্যবস্থাপনার ফলে, এনএসএ বলেছে।

টিম ম্যাকি, সিনোপসিস সাইবারসিকিউরিটি রিসার্চ সেন্টারের প্রধান নিরাপত্তা কৌশলবিদ, NSA-এর সুপারিশকে স্বাগত জানিয়েছেন। মেমরি-নিরাপদ ভাষার ব্যবহার প্রকৃতপক্ষে বেশিরভাগ অ্যাপ্লিকেশনের জন্য ডিফল্ট হওয়া উচিত, তিনি বলেছেন। "ব্যবহারিক উদ্দেশ্যে, দুর্দান্ত নতুন বৈশিষ্ট্যগুলি প্রোগ্রামিং করার পরিবর্তে মেমরি পরিচালনার সমস্যাগুলিতে ফোকাস করার জন্য বিকাশকারীদের উপর নির্ভর করা উদ্ভাবনের উপর ট্যাক্সের প্রতিনিধিত্ব করে," তিনি বলেছেন। মেমরি-নিরাপদ প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং সংশ্লিষ্ট ফ্রেমওয়ার্কের সাথে, এটি ভাষার লেখকরা সঠিক মেমরি ব্যবস্থাপনা নিশ্চিত করে এবং অ্যাপ্লিকেশন ডেভেলপারদের নয়, ম্যাকি বলেছেন।

শিফট চ্যালেঞ্জিং হতে পারে

একটি পরিপক্ক সফ্টওয়্যার বিকাশের পরিবেশকে এক ভাষা থেকে অন্য ভাষায় স্থানান্তর করা কঠিন হতে পারে, NSA স্বীকার করেছে। প্রোগ্রামারদের নতুন ভাষা শিখতে হবে, এবং প্রক্রিয়া চলাকালীন নতুনদের ভুল এবং দক্ষতার হিট হওয়ার সম্ভাবনা রয়েছে। উপলব্ধ মেমরি নিরাপত্তার ব্যাপ্তি ভাষা দ্বারা উল্লেখযোগ্যভাবে পরিবর্তিত হতে পারে। কিছু শুধুমাত্র ন্যূনতম মেমরি নিরাপত্তা প্রদান করতে পারে, অন্যরা মেমরি অ্যাক্সেস, বরাদ্দকরণ এবং পরিচালনার চারপাশে যথেষ্ট সুরক্ষা প্রদান করে।

এছাড়াও, সংস্থাগুলিকে বিবেচনা করতে হবে যে তারা নিরাপত্তা এবং কর্মক্ষমতার মধ্যে কতটা ট্রেডঅফ করতে ইচ্ছুক। "মেমরি নিরাপত্তা কর্মক্ষমতা এবং নমনীয়তা ব্যয়বহুল হতে পারে," NSA সতর্ক করেছে. "একটি চরম স্তরের অন্তর্নিহিত সুরক্ষা সহ ভাষার জন্য, চেক এবং সুরক্ষার কারণে প্রোগ্রামটিকে সংকলন করার জন্য যথেষ্ট পরিশ্রমের প্রয়োজন হতে পারে।"

ভলকান সাইবারের সিনিয়র কারিগরি প্রকৌশলী মাইক পারকিন বলেছেন, একটি অ্যাপ্লিকেশনকে একটি ভাষা থেকে অন্য ভাষায় পোর্ট করার চেষ্টা করার সময় অগণিত পরিবর্তনশীলতা রয়েছে। "একটি সর্বোত্তম ক্ষেত্রে দৃশ্যে স্থানান্তরটি সহজ, এবং একটি সংস্থা এটি তুলনামূলকভাবে ব্যথাহীনভাবে সম্পন্ন করতে পারে," পার্কিন বলেছেন। "অন্যদের ক্ষেত্রে, অ্যাপ্লিকেশনটি এমন বৈশিষ্ট্যগুলির উপর নির্ভর করে যা মূল ভাষায় তুচ্ছ কিন্তু নতুনটিতে পুনরায় তৈরি করার জন্য ব্যাপক এবং ব্যয়বহুল বিকাশের প্রয়োজন।"

মেমরি-নিরাপদ ভাষার ব্যবহার সঠিক সফ্টওয়্যার পরীক্ষার প্রয়োজনকে প্রতিস্থাপন করে না, ম্যাকি সতর্কতা। শুধুমাত্র একটি প্রোগ্রামিং ভাষা মেমরি নিরাপদ এর অর্থ এই নয় যে এটিতে তৈরি ভাষা বা অ্যাপ্লিকেশনগুলি বাগ থেকে মুক্ত।

ম্যাকি বলেছেন, একটি প্রোগ্রামিং ভাষা থেকে অন্য প্রোগ্রামিং ভাষাতে যাওয়া একটি ঝুঁকিপূর্ণ প্রস্তাব, যদি না আপনার কাছে এমন কর্মী না থাকে যা ইতিমধ্যেই পুরানো ভাষা এবং নতুন উভয়ই বোঝে। যখন অ্যাপ্লিকেশনটি একটি বড় সংস্করণ আপডেটের মধ্য দিয়ে যাচ্ছে তখন এই ধরনের মাইগ্রেশন সবচেয়ে ভালো হয়; অন্যথায় অভিবাসন প্রচেষ্টার অংশ হিসাবে অসাবধানতাবশত বাগগুলি চালু হওয়ার সম্ভাবনা রয়েছে,” তিনি উল্লেখ করেছেন।

ম্যাকি পরামর্শ দেয় যে সংস্থাগুলি ভাষা পরিবর্তনের ক্ষেত্রে মাইক্রোসার্ভিস ব্যবহার করার কথা বিবেচনা করে। "একটি মাইক্রোসার্ভিসেস আর্কিটেকচারের সাথে, অ্যাপ্লিকেশনটি এমন একটি পরিষেবার সেটে পচে যায় যা কন্টেইনারাইজড হয়," ম্যাকি বলেছেন। "একটি প্রোগ্রামিং ভাষার দৃষ্টিকোণ থেকে, এমন কিছু নেই যা সহজাতভাবে প্রতিটি মাইক্রোসার্ভিসকে একই অ্যাপ্লিকেশনের মধ্যে অন্যান্য পরিষেবাগুলির মতো একই প্রোগ্রামিং ভাষায় প্রোগ্রাম করা প্রয়োজন।"

মুভ করা

স্ট্যাটিস্টা থেকে সাম্প্রতিক তথ্য তা দেখায় অনেক ডেভেলপার ইতিমধ্যে ব্যবহার করছেন যে ভাষাগুলি মেমরি নিরাপদ বলে মনে করা হয়। প্রায় দুই-তৃতীয়াংশ (65.6%), উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট ব্যবহার করে, প্রায় অর্ধেক (48.06%) পাইথন ব্যবহার করে, এক-তৃতীয়াংশ জাভা ব্যবহার করে এবং প্রায় 28% C# ব্যবহার করে। একই সময়ে, একটি উল্লেখযোগ্য অনুপাত এখনও C++ (22.5%) এবং C (19.25%) এর মতো অনিরাপদ ভাষা ব্যবহার করছে।

SANS টেকনোলজি ইনস্টিটিউটের গবেষণার ডিন জোহানেস উলরিচ বলেছেন, "আমি মনে করি অনেক সংস্থা ইতিমধ্যেই কেবল মেমরি সুরক্ষার সমস্যা নয়, বরং উন্নয়ন এবং রক্ষণাবেক্ষণের সামগ্রিক সহজতার জন্য C/C++ থেকে দূরে সরে গেছে।" "তবে এখনও লিগ্যাসি কোড বেস থাকবে যা আগামী বহু বছর ধরে বজায় রাখতে হবে।"

NSA-এর উপদেষ্টা এই সন্ধিক্ষণে তার সুপারিশের প্ররোচনা কী হতে পারে সে সম্পর্কে সামান্য অন্তর্দৃষ্টি প্রদান করেছে। তবে নেটেনরিচের প্রধান হুমকি শিকারী জন ব্যামবেনেক পরামর্শ দেন যে সংস্থাগুলি এটিকে উপেক্ষা করবে না। "মেমরি দুর্বলতা এবং আক্রমণ 1990 এর দশক থেকে বিস্তৃত হয়েছে, তাই সাধারণভাবে, এটি একটি ভাল পরামর্শ," তিনি বলেছেন। "এটি বলার সাথে সাথে, যেহেতু এটি এনএসএ থেকে আসছে, আমি বিশ্বাস করি যে এই পরামর্শের অতিরিক্ত জরুরিতা নেওয়া উচিত এবং তাদের জ্ঞানের দ্বারা চালিত হচ্ছে এবং আমাদের নেই।"

সময় স্ট্যাম্প:

থেকে আরো অন্ধকার পড়া