অ্যান্ড্রয়েডে সুরক্ষা-বর্ধিত লিনাক্স

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

সেলইনাক্স ডিফল্ট অস্বীকারের নীতিতে কাজ করে: স্পষ্টভাবে অনুমোদিত নয় এমন কিছু অস্বীকৃত। সেলইনাক্স দুটি বৈশ্বিক পদ্ধতিতে পরিচালনা করতে পারে:

  • পার্মিসিভ মোড, এতে অনুমতি অস্বীকারগুলি লগ হয় তবে প্রয়োগ হয় না।
  • প্রয়োগকারী মোড, এতে অনুমতি অস্বীকারগুলি লগড এবং প্রয়োগ করা হয়।

অ্যান্ড্রয়েড এফএসপি জুড়ে ডিফল্টরূপে কার্যকারী মোডে এবং সম্পর্কিত সুরক্ষা নীতিতে সেলইনাক্স অন্তর্ভুক্ত করে। প্রয়োগের মোডে, নিষ্ক্রিয় ক্রিয়াগুলি প্রতিরোধ করা হয় এবং সমস্ত চেষ্টা করা লঙ্ঘন logcat দ্বারা dmesg এবং logcat লগ করা হয়। বিকাশকালে, আপনার সফ্টওয়্যার এবং SELinux নীতিগুলি প্রয়োগ করার আগে তাদের ত্রুটিগুলি সংশোধন করতে আপনার এই ত্রুটিগুলি ব্যবহার করা উচিত। আরও বিশদের জন্য, এসইএলিনাক্স প্রয়োগকারী দেখুন।

SELinux এছাড়াও প্রতি-ডোমেন অনুমতিমূলক মোডকে সমর্থন করে যাতে বাকী সিস্টেমটিকে বৈশ্বিক বলবৎকরণ মোডে রাখার সময় নির্দিষ্ট ডোমেনগুলি (প্রক্রিয়াগুলি) অনুমোদনযোগ্য করা যায়। একটি ডোমেন হ'ল সুরক্ষা নীতিতে কোনও প্রক্রিয়া বা প্রক্রিয়াগুলির সেট সনাক্তকরণকারী একটি লেবেল যেখানে একই ডোমেন সহ লেবেলযুক্ত সমস্ত প্রক্রিয়া সুরক্ষা নীতি দ্বারা একইরূপে আচরণ করা হয়। পার-ডোমেন অনুমোদন মোডটি সিস্টেমের একটি ক্রমবর্ধমান অংশে SELinux এর ক্রমবর্ধমান অ্যাপ্লিকেশন এবং নতুন পরিষেবাদির জন্য নীতি বিকাশ সক্ষম করে (বাকি সিস্টেমটি প্রয়োগের ক্ষেত্রে)।

পটভূমি

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

অ্যান্ড্রয়েড 5.0 এবং তারপরে, সেলইনাক্স অ্যান্ড্রয়েড 4.3 এর অনুমতিপ্রাপ্ত মুক্তি এবং অ্যান্ড্রয়েড 4.4 এর আংশিক প্রয়োগের উপর ভিত্তি করে সম্পূর্ণ প্রয়োগ করা হয়েছে। এই পরিবর্তনের সাথে, অ্যান্ড্রয়েড অত্যন্ত গুরুত্বপূর্ণ ডোমেনগুলির একটি সীমিত সেট ( installd , netd , vold এবং zygote ) থেকে (60 টিরও বেশি ডোমেন) সীমাবদ্ধ থেকে প্রয়োগ থেকে সরিয়ে নিয়েছে from বিশেষত:

  • সবকিছু অ্যান্ড্রয়েড 5.x এবং তার থেকেও উচ্চতর মোডে প্রয়োগ করছে।
  • আর কোনো প্রক্রিয়া চেয়ে init মধ্যে চালানো উচিত init ডোমেন।
  • কোন জেনেরিক অস্বীকার (ক জন্য block_device , socket_device , default_service ) নির্দেশ করে যে ডিভাইসটির একটি বিশেষ ডোমেইন প্রয়োজন।

অ্যান্ড্রয়েড .0.০ ব্যবহারকারীদের মধ্যে আরও ভাল বিচ্ছিন্নতা, আইওসিটিএল ফিল্টারিং, উন্মুক্ত পরিষেবাদির হ্রাস হুমকি, এসইএলিনাক্স ডোমেনগুলি আরও কঠোর করা, এবং অত্যন্ত সীমাবদ্ধ /proc অ্যাক্সেসের অন্তর্ভুক্ত করে আমাদের নীতিমালার অনুমোদনের পরিমাণ হ্রাস করে সিস্টেমটিকে শক্ত করে।

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

অ্যান্ড্রয়েড 8.0 ট্রেবলের সাথে কাজ করার জন্য সেলইনক্স আপডেট করেছে, যা অ্যান্ড্রয়েড সিস্টেমের কাঠামোর থেকে নিম্ন স্তরের ভেন্ডর কোডকে পৃথক করে। ডিভাইস নির্মাতারা এবং এসওসি বিক্রেতাদের নীতিটির অংশগুলি আপডেট করতে, তাদের চিত্রগুলি ( vendor.img , boot.img , ইত্যাদি) তৈরি করার অনুমতি দেওয়ার জন্য এই প্রকাশিত SELinux নীতি আপডেট করেছে, তারপরে প্ল্যাটফর্মের বিপরীতে those চিত্রগুলি স্বাধীন বা তদ্বিপরীত আপডেট করুন।

যদিও ডিভাইসে উচ্চতর / নতুন প্ল্যাটফর্মের (ফ্রেমওয়ার্ক) সংস্করণটি চালানো সম্ভব, বিপরীত কেস সমর্থিত নয়; বিক্রেতার চিত্রগুলি ( vendor.img/odm.img ) প্ল্যাটফর্মের ( system.img ) এর চেয়ে নতুন সংস্করণ থাকতে পারে না। সুতরাং, একটি নতুন প্ল্যাটফর্ম সংস্করণ SELinux সামঞ্জস্যতা সমস্যাগুলি প্রবর্তন করতে পারে কারণ প্ল্যাটফর্ম SELinux নীতিটি নীতিমালার বিক্রেতা SELinux অংশগুলির চেয়ে নতুন সংস্করণে রয়েছে। অ্যান্ড্রয়েড 8.0 মডেল অপ্রয়োজনীয় একযোগে ওটিএ প্রতিরোধের জন্য সামঞ্জস্যতা বজায় রাখার একটি পদ্ধতি সরবরাহ করে।

অতিরিক্ত সম্পদ

দরকারী SELinux নীতিগুলি তৈরিতে সহায়তার জন্য, নিম্নলিখিত সংস্থানগুলিকে দেখুন: