Chromium-এর 70% নিরাপত্তা সমস্যা মেমরি ত্রুটির কারণে হয়

Chromium প্রকল্পের বিকাশকারীরা বিশ্লেষিত 912 সাল থেকে ক্রোমের স্থিতিশীল রিলিজে 2015টি উচ্চ-ঝুঁকি এবং গুরুতর দুর্বলতা চিহ্নিত করা হয়েছে এবং উপসংহারে এসেছে যে তাদের মধ্যে 70% মেমরির নিরাপত্তাহীনতার কারণে হয়েছে (C/C++ কোডে পয়েন্টারগুলির সাথে কাজ করার সময় ত্রুটি)। এই সমস্যাগুলির অর্ধেক (36.1%) এর সাথে যুক্ত মেমরি মুক্ত করার পরে বাফারে অ্যাক্সেসের কারণে ঘটে (ব্যবহারের পরে-মুক্ত)।

Chromium-এর 70% নিরাপত্তা সমস্যা মেমরি ত্রুটির কারণে হয়

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

কোডবেসের নিরাপত্তা বজায় রাখার জন্য, গুগলও প্রয়োগ করে "দুই নিয়ম“, যে অনুসারে যেকোনও যোগ করা কোডকে অবশ্যই তিনটি শর্তের মধ্যে দুটির বেশি পূরণ করতে হবে না: অপ্রমাণিত ইনপুট ডেটার সাথে কাজ করা, একটি অনিরাপদ প্রোগ্রামিং ভাষা (C/C++) ব্যবহার করা এবং উন্নত বিশেষাধিকারের সাথে চলমান। এই নিয়মটি বোঝায় যে বাহ্যিক ডেটা প্রক্রিয়াকরণের জন্য কোডটি হয় ন্যূনতম বিশেষাধিকার (বিচ্ছিন্ন) বা একটি সুরক্ষিত প্রোগ্রামিং ভাষায় লিখতে হবে।

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

এটা আশা করা হচ্ছে যে কাজ দুটি ক্ষেত্রে ফোকাস করা হবে:

  • C++ উন্নয়ন প্রক্রিয়ায় উল্লেখযোগ্য পরিবর্তন, যা কর্মক্ষমতার উপর নেতিবাচক প্রভাবকে বাদ দেয় না (অতিরিক্ত সীমা চেক এবং আবর্জনা সংগ্রহ)। কাঁচা পয়েন্টারের পরিবর্তে, টাইপ ব্যবহার করার প্রস্তাব করা হয়েছে MiraclePtr, যা আপনাকে কর্মক্ষমতা, মেমরি খরচ এবং স্থায়িত্বের উপর লক্ষণীয় নেতিবাচক প্রভাব ছাড়াই নিরাপত্তা হুমকির সৃষ্টি করে না এমন ক্র্যাশের জন্য শোষণযোগ্য ব্যবহার-পরে-মুক্ত ত্রুটিগুলি হ্রাস করতে দেয়।
  • কম্পাইলের সময় মেমরি নিরাপত্তা পরীক্ষা করার জন্য ডিজাইন করা ভাষার ব্যবহার (কোড এক্সিকিউশনের সময় এই ধরনের চেকের অন্তর্নিহিত পারফরম্যান্সের উপর নেতিবাচক প্রভাব দূর করবে, কিন্তু কোডের সাথে একটি নতুন ভাষায় কোডের মিথস্ক্রিয়া সংগঠিত করার জন্য অতিরিক্ত খরচ হবে সি++)।

মেমরি-নিরাপদ লাইব্রেরি ব্যবহার করা সবচেয়ে সহজ, কিন্তু কম কার্যকর উপায়। মরিচা-এ পুনঃলিখন কোডকে সবচেয়ে কার্যকর, কিন্তু খুব ব্যয়বহুল উপায় হিসেবে রেট করা হয়েছে।

Chromium-এর 70% নিরাপত্তা সমস্যা মেমরি ত্রুটির কারণে হয়

উত্স: opennet.ru

একটি মন্তব্য জুড়ুন