দুই ডেভেলপার কম্পিউটারে কোডিং করছে

ছবি: মাসকট/গেটি

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

ভোক্তা পণ্য পরীক্ষার জন্য পরিচিত আমেরিকান অলাভজনক, C এবং C++ এর মত বিকল্পগুলির পরিবর্তে “মেমরি-নিরাপদ” ভাষা যেমন মরিচা প্রবর্তনের জন্য কী পদক্ষেপ নেওয়া যেতে পারে তা জিজ্ঞাসা করেছিল। ভোক্তা প্রতিবেদনে বলা হয়েছে যে এটি “কোম্পানি-ব্যাপী হুমকিগুলিকে মোকাবেলা করতে চায় যা ব্যবহারকারীর আচরণ বা এমনকি ভোক্তা পছন্দ দ্বারা সমাধান করা যায় না” এবং “মেমরির নিরাপত্তাহীনতা” এই ধরনের একটি সমস্যা হিসাবে চিহ্নিত করেছে।

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

এছাড়াও: প্রোগ্রামিং ভাষা: কেন এই পুরানো প্রিয় আবার বাড়ছে

গত দুই বছরে, কোডকে আরও মেমরি-নিরাপদ করার জন্য সি এবং সি++ এ লেখা কোডবেসগুলির জন্য আরও বেশি সংখ্যক প্রকল্পগুলি মরিচাকে ফেজ আউট করতে শুরু করেছে। এর মধ্যে রয়েছে মেটা, গুগলের অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট, সি++-প্রধান ক্রোমিয়াম প্রকল্প (বাছাই করা), এবং লিনাক্স কার্নেলের উদ্যোগ।

2019 সালে, মাইক্রোসফ্ট প্রকাশ করেছে যে গত 12 বছরে এটি যে নিরাপত্তা বাগগুলি সংশোধন করেছে তার 70% মেমরি সুরক্ষা সমস্যা ছিল। সংখ্যাটি বেশি ছিল কারণ উইন্ডোজ মূলত C এবং C++ এ লেখা। তারপর থেকে, ন্যাশনাল সিকিউরিটি এজেন্সি (NSA) ডেভেলপারদের C++ থেকে C#, Java, Ruby, Rust এবং Swift-এ কৌশলগত পরিবর্তন করার পরামর্শ দিয়েছে।

মেমরি-সুরক্ষিত ভাষাগুলিতে স্থানান্তর – উল্লেখযোগ্যভাবে, তবে কেবলমাত্র মরিচায় নয় – এমনকি সি++ নির্মাতা বিজার্ন স্ট্রোস্ট্রুপ এবং তার সহকর্মীদেরকে “সি++ এর সুরক্ষা” এর জন্য একটি পরিকল্পনা নিয়ে আসতে প্ররোচিত করেছে। বিকাশকারীরা এর কার্যকারিতার জন্য C++ পছন্দ করে এবং এটি এখনও এমবেডেড সিস্টেমে আধিপত্য বিস্তার করে। C++ এখনও রাস্টের তুলনায় অনেক বেশি ব্যবহৃত হয়, তবে উভয়ই জনপ্রিয় সিস্টেম প্রোগ্রামিং ভাষা।

কনজিউমার রিপোর্ট স্টাডিতে বেশ কিছু বিশিষ্ট তথ্য নিরাপত্তা ব্যক্তিত্ব, সেইসাথে সাইবারসিকিউরিটি অ্যান্ড ইনফ্রাস্ট্রাকচার সিকিউরিটি এজেন্সি (সিআইএসএ), ইন্টারনেট সিকিউরিটি রিসার্চ গ্রুপ, গুগল, অফিস অফ ন্যাশনাল সাইবার ডিরেক্টর এবং আরও অনেক কিছুর প্রতিনিধিদের ইনপুট রয়েছে .

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

প্রতিবেদনে পরামর্শ দেওয়া হয়েছে যে শিল্পটি এমন কোম্পানিগুলির তথ্য সংগ্রহ করতে পারে যারা মেমরি-নিরাপদ ভাষা জানে এমন লোকদের নিয়োগ দেয় এবং যাদের C/C++ প্রয়োজন হয়, একটি সফ্টওয়্যার বিল অফ ম্যাটেরিয়াল (SBOM) পরিদর্শন করে।

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

এছাড়াও: “এমন কিছু খুঁজুন যা সম্পর্কে আপনি উত্সাহী।” ক্যারিয়ারের পথ তৈরি করার পাঁচটি উপায় যা আপনার জন্য কাজ করে

প্রতিবেদনে বিদ্যমান কোড বেসে একটি নতুন ভাষা কীভাবে যুক্ত করা যায় তা নিয়েও আলোচনা করা হয়েছে। লিনাক্স কার্নেল প্রজেক্ট বিদ্যমান কার্নেল কোড পুনর্লিখন করে না, তবে প্রাথমিকভাবে কিছু ড্রাইভারের জন্য মরিচা সক্ষম করে। ক্রোমিয়াম নিরাপত্তা দল সতর্কতার সাথে মরিচা স্থাপন করে যেখানে এটি ব্যবসায়িক অর্থ রাখে এবং Chrome এ C++ কোডের জন্য মেমরি সুরক্ষা বৈশিষ্ট্যও তৈরি করে। অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট আরও আক্রমনাত্মকভাবে মরিচাকে ঠেলে দিচ্ছে। অ্যান্ড্রয়েড 13-এ, 21% নতুন কোড রাস্টে লেখা হয়েছে, কিন্তু C এবং C++ কোড এখনও প্রাধান্য পাচ্ছে।

প্রতিবেদনে বলা হয়েছে যে কোম্পানিগুলিকে বাগগুলির কারণ সম্পর্কে স্বচ্ছ হওয়া উচিত এবং গবেষক এবং শিল্প বিশেষজ্ঞদের মেমরি সুরক্ষার কারণে কত শতাংশ দুর্বলতা নির্ধারণ করতে সহায়তা করার জন্য সুরক্ষা দুর্বলতা সম্পর্কে বিশদ তথ্য সরবরাহ করা উচিত।

তবে কোথা থেকে শুরু করবেন তা জানা কঠিন হবে, কারণ দুর্বলতার প্রকাশগুলি সাধারণত একটি নির্দিষ্ট ভাষার সাথে একটি বাগের কারণ লিঙ্ক করার জন্য যথেষ্ট তথ্য সরবরাহ করে না।

উদাহরণস্বরূপ, অ্যাপলের নিরাপত্তা বুলেটিনগুলি বর্তমানে C/C++-প্ররোচিত মেমরির দুর্বলতাগুলিকে লজিক বাগ থেকে আলাদা করার জন্য যথেষ্ট বিশদ প্রদান করে না।

প্রতিবেদনটি শিল্পের বিশ্বাসকে স্বীকার করে যে এই মাত্রার একটি সমস্যা সম্পূর্ণরূপে মোকাবেলার জন্য প্রয়োজনীয় সামাজিক এবং বাণিজ্যিক প্রণোদনা বিদ্যমান নেই।

এটি এমন একটি বিশ্বকেও কল্পনা করে যেখানে “মেমরি-নিরাপদ” ক্রয়ের নিয়ম বিদ্যমান। আজকাল, এটি নোট করে, আপনি সম্পূর্ণরূপে মেমরি-নিরাপদ ভাষায় লেখা রাউটার কিনতে পারবেন না, কারণ এই জাতীয় কোনও পণ্য নেই।

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

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

এটি লিগ্যাসি কোডকে স্মৃতি-নিরাপদ ভাষায় স্থানান্তর করার জন্য সংস্থাগুলির জন্য নিয়ন্ত্রক এবং আর্থিক প্রণোদনারও সুপারিশ করে৷

By admin