Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

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

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

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

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

সুরক্ষা

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

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

  • অ্যান্ড্রয়েড 5.0-এ, সেলইনাক্স সিস্টেম এবং অ্যাপ্লিকেশনগুলির মধ্যে বাধ্যতামূলক অ্যাক্সেস কন্ট্রোল (ম্যাক) বিচ্ছেদ সরবরাহ করেছিল। যাইহোক, সমস্ত তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি একই সেলইনক্স প্রসঙ্গে চলেছিল তাই আন্তঃ অ্যাপ বিচ্ছিন্নতাটি মূলত ইউআইডি ড্যাক দ্বারা প্রয়োগ করা হয়েছিল।
  • অ্যান্ড্রয়েড .0.০-তে, প্রতি-শারীরিক-ব্যবহারকারীর সীমানা জুড়ে অ্যাপ্লিকেশনগুলি আলাদা করতে সেলিনাক্স স্যান্ডবক্সটি বাড়ানো হয়েছিল। এছাড়াও, অ্যান্ড্রয়েড অ্যাপ্লিকেশন ডেটার জন্য নিরাপদ targetSdkVersion >= 24 সেট করেছে: targetSdkVersion >= 24 সহ অ্যাপ্লিকেশনগুলির জন্য, কোনও অ্যাপ্লিকেশানের হোম targetSdkVersion >= 24 ডিফল্ট ডিএসি অনুমতিগুলি 751 থেকে 700 এ পরিবর্তিত হয় private ।
  • অ্যান্ড্রয়েড ৮.০-তে, সমস্ত অ্যাপ্লিকেশন seccomp-bpf ফিল্টার দিয়ে চলার জন্য সেট করা হয়েছিল যা অ্যাপ্লিকেশনগুলিকে ব্যবহারের জন্য অনুমোদিত seccomp-bpf সীমাবদ্ধ করেছিল, ফলে অ্যাপ্লিকেশন / কার্নেল সীমানা শক্তিশালী করে।
  • অ্যান্ড্রয়েড 9-তে targetSdkVersion >= 28 সহ সমস্ত অ- targetSdkVersion >= 28 অ্যাপ্লিকেশনগুলিকে অবশ্যই প্রতিটি targetSdkVersion >= 28 অ্যাপ্লিকেশন ভিত্তিতে ম্যাক সরবরাহ করে স্বতন্ত্র targetSdkVersion >= 28 স্যান্ডবক্সগুলিতে চলতে হবে run এই সুরক্ষা অ্যাপ্লিকেশন পৃথকীকরণ উন্নতি করে, নিরাপদ ডিফল্ট ওভাররাইডিং প্রতিরোধ করে এবং (সবচেয়ে উল্লেখযোগ্যভাবে) অ্যাপ্লিকেশনগুলিকে তাদের ডেটা ওয়ার্ল্ড অ্যাক্সেসযোগ্য থেকে বাধা দেয়।
  • অ্যান্ড্রয়েডে 10 অ্যাপ্লিকেশনগুলিতে / এসডিকার্ড / ডিসিআইএম এর মতো কোনও পাথের সরাসরি অ্যাক্সেস ছাড়াই ফাইল সিস্টেমের সীমিত কাঁচা ভিউ রয়েছে। যাইহোক, অ্যাপ্লিকেশনগুলি তাদের প্যাকেজ-নির্দিষ্ট পাথগুলিতে সম্পূর্ণ কাঁচা অ্যাক্সেস ধরে রাখে, যেমন প্রযোজ্য পদ্ধতিগুলি যেমন Context.getExternFilesDir () দ্বারা প্রত্যাবর্তিত হয়।

ফাইল ভাগ করার জন্য গাইডলাইনস

অ্যাপ্লিকেশন ডেটা বিশ্বকে অ্যাক্সেসযোগ্য হিসাবে সেট করা একটি দুর্বল সুরক্ষা অনুশীলন। অ্যাক্সেস প্রত্যেককে প্রদান করা হয়েছে এবং কেবলমাত্র উদ্দেশ্যপ্রাপ্ত প্রাপক (গুলি) এর অ্যাক্সেস সীমাবদ্ধ করা সম্ভব নয়। এই অনুশীলনের ফলে তথ্য প্রকাশের ফাঁস এবং বিভ্রান্ত হওয়া ডেপুটি দুর্বলতা দেখা দিয়েছে এবং এটি ম্যালওয়ারের জন্য একটি প্রিয় লক্ষ্য যা সংবেদনশীল ডেটা (যেমন ইমেল ক্লায়েন্টের মতো) এর সাথে অ্যাপ্লিকেশনগুলিকে লক্ষ্য করে। অ্যান্ড্রয়েড 9 এবং উচ্চতর ক্ষেত্রে, এইভাবে ফাইলগুলি ভাগ করে নেওয়া স্পষ্টতই targetSdkVersion>=28 সাথে targetSdkVersion>=28 অ্যাপ্লিকেশনগুলির জন্য অনুমোদিত নয়।

অ্যাপের ডেটা বিশ্ব-অ্যাক্সেসযোগ্য করার পরিবর্তে, ফাইলগুলি ভাগ করার সময় নিম্নলিখিত নির্দেশিকাগুলি ব্যবহার করুন:

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

স্টোরেজ রানটাইম অনুমতি মিডিয়া স্টোরের মাধ্যমে দৃ strongly ়ভাবে টাইপযুক্ত সংগ্রহগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করে। দুর্বলভাবে টাইপ করা ফাইল যেমন পিডিএফ এবং মিডিয়াস্টোর.ডাউনলোড শ্রেণীর অ্যাক্সেসের জন্য, অ্যাপ্লিকেশনগুলিকে অবশ্যই অ্যাকশন_ওপেন_ডোকামেন্টের উদ্দেশ্য হিসাবে ব্যবহার করতে হবে।

অ্যান্ড্রয়েড 10 আচরণ সক্ষম করতে, requestLegacyExternalStorage ম্যানিফেস্ট বৈশিষ্ট্যটি ব্যবহার করুন এবং অ্যাপ্লিকেশন অনুমতিগুলির সেরা অনুশীলনগুলি অনুসরণ করুন।

  • ম্যানিফেস্ট ফ্ল্যাগের ডিফল্ট মান অ্যাপ্লিকেশনগুলিতে অ্যান্ড্রয়েড 9 (এবং নিম্ন) কে লক্ষ্য করে true
  • ডিফল্ট মান লক্ষ্য করে অ্যান্ড্রয়েড 10. সাময়িকভাবে অ্যান্ড্রয়েড 10 লক্ষ্য করে অ্যাপ্লিকেশনে ফিল্টার স্টোরেজ দৃশ্য, এর স্পষ্ট পতাকার মান সেট অনির্বাচন অ্যাপসের জন্য মিথ্যা true
  • সীমাবদ্ধ অনুমতি ব্যবহার করে, ইনস্টলারটি স্যান্ডবক্সবিহীন স্টোরেজের জন্য অনুমোদিত শ্বেত তালিকাটি অ্যাপ্লিকেশনগুলিকে অনুমতি দেয়। শ্বেত তালিকাভুক্ত অ্যাপ্লিকেশনগুলি স্যান্ডবক্সযুক্ত।