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

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

যাচাইকৃত বুট

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

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

আরও বিস্তারিত জানার জন্য যাচাইকৃত বুট দেখুন।

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

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

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

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

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

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

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

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

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

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

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

ফাইল সিস্টেম এনক্রিপশন

অ্যান্ড্রয়েড 3.0 এবং পরবর্তীতে সম্পূর্ণ ফাইল সিস্টেম এনক্রিপশন প্রদান করে, তাই সমস্ত ব্যবহারকারীর ডেটা কার্নেলে এনক্রিপ্ট করা যেতে পারে।

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

অ্যান্ড্রয়েড 7.0 এবং পরবর্তী ফাইল-ভিত্তিক এনক্রিপশন সমর্থন করে। ফাইল-ভিত্তিক এনক্রিপশন বিভিন্ন ফাইলকে বিভিন্ন কী দিয়ে এনক্রিপ্ট করার অনুমতি দেয় যা স্বাধীনভাবে আনলক করা যায়।

ফাইল সিস্টেম এনক্রিপশন বাস্তবায়নের বিষয়ে আরও বিশদ বিবরণ এনক্রিপশন বিভাগে উপলব্ধ।

পাসওয়ার্ড সুরক্ষা

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

একটি ডিভাইস প্রশাসকের দ্বারা একটি পাসওয়ার্ড ব্যবহার এবং/অথবা পাসওয়ার্ড জটিলতা নিয়মের প্রয়োজন হতে পারে৷

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

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

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