সিস্টেম এবং কার্নেল নিরাপত্তা

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

লিনাক্স নিরাপত্তা

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

একটি মোবাইল কম্পিউটিং পরিবেশের ভিত্তি হিসাবে, লিনাক্স কার্নেল অ্যান্ড্রয়েডকে বেশ কয়েকটি মূল নিরাপত্তা বৈশিষ্ট্য প্রদান করে, যার মধ্যে রয়েছে:

  • একটি ব্যবহারকারী-ভিত্তিক অনুমতি মডেল
  • প্রক্রিয়া বিচ্ছিন্নতা
  • নিরাপদ আইপিসির জন্য এক্সটেনসিবল মেকানিজম
  • কার্নেলের অপ্রয়োজনীয় এবং সম্ভাব্য অনিরাপদ অংশগুলি সরানোর ক্ষমতা

একটি মাল্টি-ইউজার অপারেটিং সিস্টেম হিসাবে, লিনাক্স কার্নেলের একটি মৌলিক নিরাপত্তা উদ্দেশ্য হল ব্যবহারকারীর সম্পদকে একে অপরের থেকে বিচ্ছিন্ন করা। লিনাক্স নিরাপত্তা দর্শন হল ব্যবহারকারীর সম্পদকে একে অপরের থেকে রক্ষা করা, লিনাক্স:

  • ব্যবহারকারী A কে ব্যবহারকারী B এর ফাইল পড়তে বাধা দেয়
  • নিশ্চিত করে যে ব্যবহারকারী A ব্যবহারকারী B এর মেমরি নিঃশেষ করে না
  • নিশ্চিত করে যে ব্যবহারকারী A ব্যবহারকারী B এর CPU সংস্থানগুলি নিঃশেষ করে না
  • নিশ্চিত করে যে ব্যবহারকারী A ব্যবহারকারী B এর ডিভাইসগুলিকে নিঃশেষ করে না (উদাহরণস্বরূপ, টেলিফোনি, জিপিএস এবং ব্লুটুথ)

অ্যাপ্লিকেশন স্যান্ডবক্স

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

সিস্টেম পার্টিশন এবং নিরাপদ মোড

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

ফাইল সিস্টেম অনুমতি

একটি UNIX-শৈলী পরিবেশে, ফাইল সিস্টেমের অনুমতিগুলি নিশ্চিত করে যে একজন ব্যবহারকারী অন্য ব্যবহারকারীর ফাইলগুলি পরিবর্তন বা পড়তে পারে না। অ্যান্ড্রয়েডের ক্ষেত্রে, প্রতিটি অ্যাপ্লিকেশন তার নিজস্ব ব্যবহারকারী হিসাবে চলে। যতক্ষণ না বিকাশকারী স্পষ্টভাবে অন্য অ্যাপ্লিকেশনগুলির সাথে ফাইলগুলি ভাগ করে, একটি অ্যাপ্লিকেশন দ্বারা তৈরি করা ফাইলগুলি অন্য অ্যাপ্লিকেশন দ্বারা পড়া বা পরিবর্তন করা যায় না।

নিরাপত্তা-বর্ধিত লিনাক্স

অ্যান্ড্রয়েড অ্যাক্সেস নিয়ন্ত্রণ নীতি প্রয়োগ করতে এবং প্রক্রিয়াগুলিতে বাধ্যতামূলক অ্যাক্সেস নিয়ন্ত্রণ (ম্যাক) স্থাপন করতে সুরক্ষা-উন্নত Linux (SELinux) ব্যবহার করে। বিস্তারিত জানার জন্য অ্যান্ড্রয়েডে সিকিউরিটি-এনহ্যান্সড লিনাক্স দেখুন।

যাচাইকৃত বুট

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

ক্রিপ্টোগ্রাফি

অ্যান্ড্রয়েড অ্যাপ্লিকেশন দ্বারা ব্যবহারের জন্য ক্রিপ্টোগ্রাফিক এপিআইগুলির একটি সেট সরবরাহ করে। এর মধ্যে রয়েছে AES, RSA, DSA, এবং SHA এর মতো মানক এবং সাধারণভাবে ব্যবহৃত ক্রিপ্টোগ্রাফিক আদিম রূপায়ন। উপরন্তু, এপিআইগুলি উচ্চ স্তরের প্রোটোকল যেমন SSL এবং HTTPS এর জন্য প্রদান করা হয়।

ব্যক্তিগত কী এবং শংসাপত্র চেইনের জন্য অ্যাপ্লিকেশনগুলিকে সিস্টেম শংসাপত্র সঞ্চয়স্থান ব্যবহার করার অনুমতি দেওয়ার জন্য Android 4.0 KeyChain ক্লাস চালু করেছে।

ডিভাইসের রুট করা

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

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

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

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

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

ব্যবহারকারী নিরাপত্তা বৈশিষ্ট্য

স্টোরেজ এনক্রিপশন

CDD-এর জন্য প্রয়োজন যে সমস্ত ডিভাইস যেগুলি Android 10 বা উচ্চতর সংস্করণের সাথে লঞ্চ হয় এবং বেশিরভাগ ডিভাইস যেগুলি Android 6.0 বা উচ্চতর দিয়ে লঞ্চ হয়, সেগুলিকে বাক্সের বাইরে স্টোরেজ এনক্রিপশন সক্ষম করে৷

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

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

লকস্ক্রিন শংসাপত্র সুরক্ষা

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

ডিভাইস প্রশাসন

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

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