সিস্টেম নিরাপত্তা সর্বোত্তম অনুশীলন, সিস্টেম নিরাপত্তা সর্বোত্তম অনুশীলন, সিস্টেম নিরাপত্তা সর্বোত্তম অনুশীলন

এই বিভাগে মূল Android অপারেটিং সিস্টেম এবং ডিভাইসগুলির নিরাপত্তা নিশ্চিত করার জন্য সুপারিশ রয়েছে৷

বায়োমেট্রিক প্রমাণীকরণ

ব্যবহারকারীর প্রমাণীকরণের জন্য সাবধানে বায়োমেট্রিক ডেটা অর্জন, সঞ্চয় এবং প্রক্রিয়া করুন। আপনার উচিত:

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

বায়োমেট্রিক্স সহ ডিভাইসগুলিকে বায়োমেট্রিক প্রম্পট API সমর্থন করা উচিত, যা অ্যাপ বিকাশকারীদের তাদের অ্যাপগুলিতে বায়োমেট্রিক্স-ভিত্তিক প্রমাণীকরণের সুবিধা নিতে একটি সাধারণ এবং সামঞ্জস্যপূর্ণ ইন্টারফেস অফার করে৷ শুধুমাত্র শক্তিশালী বায়োমেট্রিক্স BiometricPrompt সাথে একীভূত হতে পারে এবং ইন্টিগ্রেশনগুলিকে অবশ্যই Android কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্ট (CDD) নির্দেশিকা অনুসরণ করতে হবে।

আরও বায়োমেট্রিক নির্দেশিকাগুলির জন্য, বায়োমেট্রিক HAL বাস্তবায়ন নির্দেশিকা দেখুন।

SELinux

SELinux অ্যান্ড্রয়েডের বেশিরভাগ নিরাপত্তা মডেলের সংজ্ঞা এবং প্রয়োগ করে। SELinux সঠিকভাবে ব্যবহার করা Android ডিভাইসের নিরাপত্তার জন্য গুরুত্বপূর্ণ এবং নিরাপত্তা দুর্বলতার প্রভাব কমাতে সাহায্য করতে পারে। সমস্ত Android ডিভাইসের এই কারণে একটি শক্তিশালী SELinux নীতি প্রয়োগ করা উচিত।

  • একটি ন্যূনতম বিশেষাধিকার নীতি বাস্তবায়ন করুন।
  • CAP_DAC_OVERRIDE , CAP_SYS_ADMIN , এবং CAP_NET_ADMIN অনুমতি দেওয়া এড়িয়ে চলুন৷
  • SD কার্ডে সিস্টেম ডেটা লগ করবেন না।
  • ড্রাইভার অ্যাক্সেসের জন্য প্রদত্ত প্রকারগুলি ব্যবহার করুন, যেমন gpu_device , audio_device , ইত্যাদি।
  • প্রসেস, ফাইল এবং SELinux প্রকারের জন্য অর্থপূর্ণ নাম ব্যবহার করুন।
    • নিশ্চিত করুন যে ডিফল্ট লেবেলগুলি ব্যবহার করা হয় না এবং তাদের অ্যাক্সেস দেওয়া হয় না।
  • ডিভাইস-নির্দিষ্ট নীতি একটি ডিভাইসে চলমান সামগ্রিক নীতির 5 থেকে 10% জন্য দায়ী করা উচিত। 20%+ পরিসরে কাস্টমাইজেশন প্রায় নিশ্চিতভাবে অতিরিক্ত সুবিধাপ্রাপ্ত ডোমেন এবং মৃত নীতি ধারণ করে। অপ্রয়োজনীয়ভাবে বড় পলিসি মেমরি নষ্ট করে, বড় বুট ইমেজের প্রয়োজনে ডিস্কের জায়গা নষ্ট করে এবং রানটাইম পলিসি লুকআপ সময়কে নেতিবাচকভাবে প্রভাবিত করে।

SELinux নীতির গতিশীল লোডিং

অ্যান্ড্রয়েড ডিভাইসে গতিশীলভাবে SELinux নীতি লোড করবেন না। এটি করার ফলে সমস্যা হতে পারে, যেমন:

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

পিছনের দরজা

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

  • একটি শিল্প-স্বীকৃত অ্যাপ দুর্বলতা স্ক্যানিং টুল ব্যবহার করে সমস্ত তৃতীয় পক্ষের অ্যাপ স্ক্যান করুন।
  • তৃতীয় পক্ষের লাইব্রেরি সহ সংবেদনশীল অ্যাক্সেস সহ সমস্ত কোডের কোড পর্যালোচনা করুন৷
  • স্ক্যান করার জন্য Google Play-তে অ্যাপ আপলোড করে Google Play Protect ব্যবহার করুন। আপনি Google Play-তে প্রকাশ না করেই স্ক্যান করার জন্য অ্যাপস আপলোড করতে পারেন।
  • রিলিজ বিল্ডগুলিতে ডায়াগনস্টিক- বা মেরামত-কেন্দ্রিক সরঞ্জামগুলি প্রিলোড করবেন না। শুধুমাত্র নির্দিষ্ট সমস্যা সমাধানের জন্য এই টুলস অন-ডিমান্ড ইনস্টল করুন। অতিরিক্তভাবে, এই টুলগুলি অবশ্যই কোনো অ্যাকাউন্ট-নির্দিষ্ট ডেটার উপর কাজ করবে না বা আপলোড করবে না।

উন্নয়ন সরঞ্জাম

ডেভেলপমেন্ট টুলস, যেমন ডিবাগিং, টেস্টিং এবং ডায়াগনস্টিক টুল, প্রায়ই আপনার ডিভাইসে অনিচ্ছাকৃত নিরাপত্তা ফাঁক তৈরি করতে পারে তারা কীভাবে কাজ করে এবং তারা যে ডেটা সংগ্রহ করে তা প্রকাশ করে। ডেভেলপমেন্ট টুল যাতে প্রোডাকশন বিল্ডে পরিণত না করে তা নিশ্চিত করতে:

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

প্রকাশ এবং সম্মতি কার্যকর করার সময় উল্লেখ করার জন্য এখানে কিছু অতিরিক্ত পরামর্শ রয়েছে:

ইন-অ্যাপ প্রকাশ

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

AOSP এ এমবেডেড কার্যকারিতা

AOSP-তে অতিরিক্ত কার্যকারিতা এম্বেড করা প্রায়শই অপ্রত্যাশিত আচরণ এবং পরিণতি হতে পারে; সতর্কতার সাথে এগিয়ে যান।

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

নিরাপত্তা আপডেট

অ্যান্ড্রয়েড ডিভাইসগুলি লঞ্চের পর থেকে কমপক্ষে দুই বছরের জন্য চলমান সুরক্ষা সমর্থন পেতে হবে৷ এর মধ্যে রয়েছে নিয়মিত আপডেট পাওয়া যা পরিচিত নিরাপত্তা দুর্বলতার সমাধান করে।

  • আপনার অ্যান্ড্রয়েড ডিভাইসে সমস্ত উপাদানের জন্য উপযুক্ত সমর্থন চুক্তি স্থাপন করতে আপনার SoC বিক্রেতাদের মতো হার্ডওয়্যার অংশীদারদের সাথে কাজ করুন।
  • নিশ্চিত করুন যে ব্যবহারকারীরা তাদের Android ডিভাইসে আপডেটগুলি গ্রহণ এবং ইনস্টল করার সম্ভাবনা বাড়াতে ন্যূনতম ব্যবহারকারীর মিথস্ক্রিয়া সহ নিরাপত্তা আপডেটগুলি ইনস্টল করা যেতে পারে৷ সিমলেস সিস্টেম আপডেট বা একটি সমতুল্য নিরাপত্তা বৈশিষ্ট্য বাস্তবায়ন দৃঢ়ভাবে সুপারিশ করা হয়.
  • নিশ্চিত করুন যে আপনি Android সিকিউরিটি বুলেটিনে ঘোষিত Android সিকিউরিটি প্যাচ লেভেল (SPL) এর ক্রমবর্ধমান প্রয়োজনীয়তা বুঝতে পেরেছেন। উদাহরণ স্বরূপ, 2018-02-01 নিরাপত্তা প্যাচ স্তর ব্যবহার করে এমন ডিভাইসগুলিতে সেই নিরাপত্তা প্যাচ স্তরের সাথে সম্পর্কিত সমস্ত সমস্যা এবং সেইসাথে পূর্ববর্তী সমস্ত নিরাপত্তা বুলেটিনে রিপোর্ট করা সমস্ত সমস্যার সমাধান অন্তর্ভুক্ত করতে হবে।

ডাইনামিক কার্নেল আপডেট

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

মূল ব্যবস্থাপনা

সাইনিং কীগুলির নিরাপত্তা নিশ্চিত করতে ভাল কী ব্যবস্থাপনা নীতি এবং অনুশীলনগুলি বজায় রাখুন।

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

সিস্টেম ইমেজ সাইনিং

ডিভাইসের অখণ্ডতা নির্ধারণের জন্য সিস্টেম ইমেজের স্বাক্ষর গুরুত্বপূর্ণ।

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

আনলকযোগ্য বুটলোডার

অনেক অ্যান্ড্রয়েড ডিভাইস আনলকিং সমর্থন করে, ডিভাইসের মালিককে সিস্টেম পার্টিশন পরিবর্তন করতে বা একটি কাস্টম অপারেটিং সিস্টেম ইনস্টল করতে সক্ষম করে। সাধারণ ব্যবহারের ক্ষেত্রে একটি থার্ড-পার্টি সিস্টেম ইমেজ ইনস্টল করা এবং ডিভাইসে সিস্টেম-লেভেল ডেভেলপমেন্ট করা অন্তর্ভুক্ত। উদাহরণস্বরূপ, Google Nexus বা Pixel-এ সিস্টেম ইমেজ আনলক করতে, একজন ব্যবহারকারী fastboot oem unlock চালাতে পারেন, যা এই বার্তাটি প্রদর্শন করে:

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

  • ব্যবহারকারী আনলকিং কমান্ড নিশ্চিত করার পরে, ডিভাইসটিকে অবিলম্বে ডেটা মুছা শুরু করতে হবে। নিরাপদ মোছা সম্পূর্ণ না হওয়া পর্যন্ত unlocked পতাকা সেট করা উচিত নয়।
  • যদি একটি সুরক্ষিত মুছে ফেলা সম্পূর্ণ করা না যায়, তাহলে ডিভাইসটিকে একটি লক অবস্থায় থাকতে হবে।
  • অন্তর্নিহিত ব্লক ডিভাইস দ্বারা সমর্থিত হলে, ioctl(BLKSECDISCARD) বা সমতুল্য ব্যবহার করা উচিত। এমবেডেড মাল্টিমিডিয়াকার্ড (eMMC) ডিভাইসের জন্য, এর অর্থ হল একটি সিকিউর ইরেজ বা সিকিউর ট্রিম কমান্ড ব্যবহার করা। eMMC 4.5 এবং তার পরের জন্য, এর অর্থ হল একটি সাধারণ মুছে ফেলা বা ছাঁটাই ব্যবহার করার পরে একটি স্যানিটাইজ অপারেশন।
  • BLKSECDISCARD অন্তর্নিহিত ব্লক ডিভাইস দ্বারা সমর্থিত না হলে, ioctl(BLKDISCARD) পরিবর্তে ব্যবহার করা আবশ্যক। eMMC ডিভাইসে, এটি একটি সাধারণ ট্রিম অপারেশন।
  • BLKDISCARD সমর্থিত না হলে, সমস্ত শূন্য সহ ব্লক ডিভাইসগুলি ওভাররাইট করা গ্রহণযোগ্য।
  • পার্টিশন ফ্ল্যাশ করার আগে ব্যবহারকারীর ডেটা মুছে ফেলার জন্য ব্যবহারকারীর কাছে বিকল্প থাকতে হবে। উদাহরণস্বরূপ, নেক্সাস ডিভাইস ব্যবহারকারীর ডেটা মুছে ফেলার জন্য fastboot oem lock কমান্ড ব্যবহার করে।
  • একটি ডিভাইস, eFuses বা অনুরূপ পদ্ধতির মাধ্যমে রেকর্ড করতে পারে, একটি ডিভাইস আনলক এবং/অথবা পুনরায় লক করা হয়েছে কিনা। যাইহোক, আমরা দৃঢ়ভাবে সুপারিশ করি যে পরবর্তী ফ্যাক্টরি রিসেট সহ বুটলোডার পুনরায় লক করার ফলে ডিভাইসের সম্পূর্ণ কার্যকারিতা পুনরুদ্ধার করা উচিত।

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

আনলক করা একটি ডিভাইস পরবর্তীতে fastboot oem lock কমান্ড ব্যবহার করে পুনরায় লক করা হতে পারে। বুটলোডার লক করা নতুন কাস্টম ওএসের সাথে ব্যবহারকারীর ডেটার একই সুরক্ষা প্রদান করে যেমনটি আসল ডিভাইস প্রস্তুতকারক ওএসের সাথে উপলব্ধ ছিল (উদাহরণস্বরূপ, ডিভাইসটি আবার আনলক করা হলে ব্যবহারকারীর ডেটা মুছে ফেলা হয়)।

ডিভাইস পেন্টেস্টিং

চালানের আগে ডিভাইসগুলি একজন দক্ষ পেন্টেস্টার দ্বারা পর্যালোচনা করা উচিত। পেন্টেস্টিং নিশ্চিত করা উচিত যে ডিভাইসটি এখানে প্রদত্ত নিরাপত্তা নির্দেশিকা এবং সেইসাথে অভ্যন্তরীণ OEM নিরাপত্তা নির্দেশিকা অনুসরণ করেছে।

নিরাপত্তা পরীক্ষা

AOSP দ্বারা প্রদত্ত নিরাপত্তা পরীক্ষার সরঞ্জামগুলি ব্যবহার করুন৷ বিশেষ করে

  • বিকাশের সময় মেমরি সুরক্ষা সরঞ্জামগুলি ব্যবহার করুন: MTE যেখানে সমর্থিত (ARMv9 এবং তার উপরে) ব্যবহার করুন এবং যেখানে এটি নেই সেখানে HWASan ব্যবহার করুন৷ এই সরঞ্জামগুলি সক্ষম করে যতটা সম্ভব পরীক্ষা চালান।
  • মেমরি সুরক্ষা সমস্যাগুলির সম্ভাব্য সনাক্তকরণের জন্য উৎপাদনে GWP-ASan এবং KFENCE ব্যবহার করুন।
,

এই বিভাগে মূল Android অপারেটিং সিস্টেম এবং ডিভাইসগুলির নিরাপত্তা নিশ্চিত করার জন্য সুপারিশ রয়েছে৷

বায়োমেট্রিক প্রমাণীকরণ

ব্যবহারকারীর প্রমাণীকরণের জন্য সাবধানে বায়োমেট্রিক ডেটা অর্জন, সঞ্চয় এবং প্রক্রিয়া করুন। আপনার উচিত:

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

বায়োমেট্রিক্স সহ ডিভাইসগুলিকে বায়োমেট্রিক প্রম্পট API সমর্থন করা উচিত, যা অ্যাপ বিকাশকারীদের তাদের অ্যাপগুলিতে বায়োমেট্রিক্স-ভিত্তিক প্রমাণীকরণের সুবিধা নিতে একটি সাধারণ এবং সামঞ্জস্যপূর্ণ ইন্টারফেস অফার করে৷ শুধুমাত্র শক্তিশালী বায়োমেট্রিক্স BiometricPrompt সাথে একীভূত হতে পারে এবং ইন্টিগ্রেশনগুলিকে অবশ্যই Android কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্ট (CDD) নির্দেশিকা অনুসরণ করতে হবে।

আরও বায়োমেট্রিক নির্দেশিকাগুলির জন্য, বায়োমেট্রিক HAL বাস্তবায়ন নির্দেশিকা দেখুন।

SELinux

SELinux অ্যান্ড্রয়েডের বেশিরভাগ নিরাপত্তা মডেলের সংজ্ঞা এবং প্রয়োগ করে। SELinux সঠিকভাবে ব্যবহার করা Android ডিভাইসের নিরাপত্তার জন্য গুরুত্বপূর্ণ এবং নিরাপত্তা দুর্বলতার প্রভাব কমাতে সাহায্য করতে পারে। সমস্ত Android ডিভাইসের এই কারণে একটি শক্তিশালী SELinux নীতি প্রয়োগ করা উচিত।

  • একটি ন্যূনতম বিশেষাধিকার নীতি বাস্তবায়ন করুন।
  • CAP_DAC_OVERRIDE , CAP_SYS_ADMIN , এবং CAP_NET_ADMIN অনুমতি দেওয়া এড়িয়ে চলুন৷
  • SD কার্ডে সিস্টেম ডেটা লগ করবেন না।
  • ড্রাইভার অ্যাক্সেসের জন্য প্রদত্ত প্রকারগুলি ব্যবহার করুন, যেমন gpu_device , audio_device , ইত্যাদি।
  • প্রসেস, ফাইল এবং SELinux প্রকারের জন্য অর্থপূর্ণ নাম ব্যবহার করুন।
    • নিশ্চিত করুন যে ডিফল্ট লেবেলগুলি ব্যবহার করা হয় না এবং তাদের অ্যাক্সেস দেওয়া হয় না।
  • ডিভাইস-নির্দিষ্ট নীতি একটি ডিভাইসে চলমান সামগ্রিক নীতির 5 থেকে 10% জন্য দায়ী করা উচিত। 20%+ পরিসরে কাস্টমাইজেশন প্রায় নিশ্চিতভাবে অতিরিক্ত সুবিধাপ্রাপ্ত ডোমেন এবং মৃত নীতি ধারণ করে। অপ্রয়োজনীয়ভাবে বড় পলিসি মেমরি নষ্ট করে, বড় বুট ইমেজের প্রয়োজনে ডিস্কের জায়গা নষ্ট করে এবং রানটাইম পলিসি লুকআপ সময়কে নেতিবাচকভাবে প্রভাবিত করে।

SELinux নীতির গতিশীল লোডিং

অ্যান্ড্রয়েড ডিভাইসে গতিশীলভাবে SELinux নীতি লোড করবেন না। এটি করার ফলে সমস্যা হতে পারে, যেমন:

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

পিছনের দরজা

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

  • একটি শিল্প-স্বীকৃত অ্যাপ দুর্বলতা স্ক্যানিং টুল ব্যবহার করে সমস্ত তৃতীয় পক্ষের অ্যাপ স্ক্যান করুন।
  • তৃতীয় পক্ষের লাইব্রেরি সহ সংবেদনশীল অ্যাক্সেস সহ সমস্ত কোডের কোড পর্যালোচনা করুন৷
  • স্ক্যান করার জন্য Google Play-তে অ্যাপ আপলোড করে Google Play Protect ব্যবহার করুন। আপনি Google Play-তে প্রকাশ না করেই স্ক্যান করার জন্য অ্যাপস আপলোড করতে পারেন।
  • রিলিজ বিল্ডগুলিতে ডায়াগনস্টিক- বা মেরামত-কেন্দ্রিক সরঞ্জামগুলি প্রিলোড করবেন না। শুধুমাত্র নির্দিষ্ট সমস্যা সমাধানের জন্য এই টুলস অন-ডিমান্ড ইনস্টল করুন। অতিরিক্তভাবে, এই টুলগুলি অবশ্যই কোনো অ্যাকাউন্ট-নির্দিষ্ট ডেটার উপর কাজ করবে না বা আপলোড করবে না।

উন্নয়ন সরঞ্জাম

ডেভেলপমেন্ট টুলস, যেমন ডিবাগিং, টেস্টিং এবং ডায়াগনস্টিক টুল, প্রায়ই আপনার ডিভাইসে অনিচ্ছাকৃত নিরাপত্তা ফাঁক তৈরি করতে পারে তারা কীভাবে কাজ করে এবং তারা যে ডেটা সংগ্রহ করে তা প্রকাশ করে। ডেভেলপমেন্ট টুল যাতে প্রোডাকশন বিল্ডে পরিণত না করে তা নিশ্চিত করতে:

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

প্রকাশ এবং সম্মতি কার্যকর করার সময় উল্লেখ করার জন্য এখানে কিছু অতিরিক্ত পরামর্শ রয়েছে:

ইন-অ্যাপ প্রকাশ

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

AOSP এ এমবেডেড কার্যকারিতা

AOSP-তে অতিরিক্ত কার্যকারিতা এম্বেড করা প্রায়শই অপ্রত্যাশিত আচরণ এবং পরিণতি হতে পারে; সতর্কতার সাথে এগিয়ে যান।

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

নিরাপত্তা আপডেট

অ্যান্ড্রয়েড ডিভাইসগুলি লঞ্চের পর থেকে কমপক্ষে দুই বছরের জন্য চলমান সুরক্ষা সমর্থন পেতে হবে৷ এর মধ্যে রয়েছে নিয়মিত আপডেট পাওয়া যা পরিচিত নিরাপত্তা দুর্বলতার সমাধান করে।

  • আপনার অ্যান্ড্রয়েড ডিভাইসে সমস্ত উপাদানের জন্য উপযুক্ত সমর্থন চুক্তি স্থাপন করতে আপনার SoC বিক্রেতাদের মতো হার্ডওয়্যার অংশীদারদের সাথে কাজ করুন।
  • নিশ্চিত করুন যে ব্যবহারকারীরা তাদের Android ডিভাইসে আপডেটগুলি গ্রহণ এবং ইনস্টল করার সম্ভাবনা বাড়াতে ন্যূনতম ব্যবহারকারীর মিথস্ক্রিয়া সহ নিরাপত্তা আপডেটগুলি ইনস্টল করা যেতে পারে৷ সিমলেস সিস্টেম আপডেট বা একটি সমতুল্য নিরাপত্তা বৈশিষ্ট্য বাস্তবায়ন দৃঢ়ভাবে সুপারিশ করা হয়.
  • নিশ্চিত করুন যে আপনি Android সিকিউরিটি বুলেটিনে ঘোষিত Android সিকিউরিটি প্যাচ লেভেল (SPL) এর ক্রমবর্ধমান প্রয়োজনীয়তা বুঝতে পেরেছেন। উদাহরণ স্বরূপ, 2018-02-01 নিরাপত্তা প্যাচ স্তর ব্যবহার করে এমন ডিভাইসগুলিতে সেই নিরাপত্তা প্যাচ স্তরের সাথে সম্পর্কিত সমস্ত সমস্যা এবং সেইসাথে পূর্ববর্তী সমস্ত নিরাপত্তা বুলেটিনে রিপোর্ট করা সমস্ত সমস্যার সমাধান অন্তর্ভুক্ত করতে হবে।

ডাইনামিক কার্নেল আপডেট

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

মূল ব্যবস্থাপনা

সাইনিং কীগুলির নিরাপত্তা নিশ্চিত করতে ভাল কী ব্যবস্থাপনা নীতি এবং অনুশীলনগুলি বজায় রাখুন।

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

সিস্টেম ইমেজ সাইনিং

ডিভাইসের অখণ্ডতা নির্ধারণের জন্য সিস্টেম ইমেজের স্বাক্ষর গুরুত্বপূর্ণ।

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

আনলকযোগ্য বুটলোডার

অনেক অ্যান্ড্রয়েড ডিভাইস আনলকিং সমর্থন করে, ডিভাইসের মালিককে সিস্টেম পার্টিশন পরিবর্তন করতে বা একটি কাস্টম অপারেটিং সিস্টেম ইনস্টল করতে সক্ষম করে। সাধারণ ব্যবহারের ক্ষেত্রে একটি থার্ড-পার্টি সিস্টেম ইমেজ ইনস্টল করা এবং ডিভাইসে সিস্টেম-লেভেল ডেভেলপমেন্ট করা অন্তর্ভুক্ত। উদাহরণস্বরূপ, Google Nexus বা Pixel-এ সিস্টেম ইমেজ আনলক করতে, একজন ব্যবহারকারী fastboot oem unlock চালাতে পারেন, যা এই বার্তাটি প্রদর্শন করে:

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

  • ব্যবহারকারী আনলকিং কমান্ড নিশ্চিত করার পরে, ডিভাইসটিকে অবিলম্বে ডেটা মুছা শুরু করতে হবে। নিরাপদ মোছা সম্পূর্ণ না হওয়া পর্যন্ত unlocked পতাকা সেট করা উচিত নয়।
  • যদি একটি সুরক্ষিত মুছে ফেলা সম্পূর্ণ করা না যায়, তাহলে ডিভাইসটিকে একটি লক অবস্থায় থাকতে হবে।
  • অন্তর্নিহিত ব্লক ডিভাইস দ্বারা সমর্থিত হলে, ioctl(BLKSECDISCARD) বা সমতুল্য ব্যবহার করা উচিত। এমবেডেড মাল্টিমিডিয়াকার্ড (eMMC) ডিভাইসের জন্য, এর অর্থ হল একটি সিকিউর ইরেজ বা সিকিউর ট্রিম কমান্ড ব্যবহার করা। eMMC 4.5 এবং তার পরের জন্য, এর অর্থ হল একটি সাধারণ মুছে ফেলা বা ছাঁটাই ব্যবহার করার পরে একটি স্যানিটাইজ অপারেশন।
  • BLKSECDISCARD অন্তর্নিহিত ব্লক ডিভাইস দ্বারা সমর্থিত না হলে, ioctl(BLKDISCARD) পরিবর্তে ব্যবহার করা আবশ্যক। eMMC ডিভাইসে, এটি একটি সাধারণ ট্রিম অপারেশন।
  • BLKDISCARD সমর্থিত না হলে, সমস্ত শূন্য সহ ব্লক ডিভাইসগুলি ওভাররাইট করা গ্রহণযোগ্য।
  • পার্টিশন ফ্ল্যাশ করার আগে ব্যবহারকারীর ডেটা মুছে ফেলার জন্য ব্যবহারকারীর অবশ্যই বিকল্প থাকতে হবে। উদাহরণস্বরূপ, নেক্সাস ডিভাইস ব্যবহারকারীর ডেটা মুছে ফেলার জন্য fastboot oem lock কমান্ড ব্যবহার করে।
  • একটি ডিভাইস, eFuses বা অনুরূপ পদ্ধতির মাধ্যমে রেকর্ড করতে পারে, একটি ডিভাইস আনলক এবং/অথবা পুনরায় লক করা হয়েছে কিনা। যাইহোক, আমরা দৃঢ়ভাবে সুপারিশ করি যে পরবর্তী ফ্যাক্টরি রিসেট সহ বুটলোডার পুনরায় লক করার ফলে ডিভাইসের সম্পূর্ণ কার্যকারিতা পুনরুদ্ধার করা উচিত।

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

আনলক করা একটি ডিভাইস পরবর্তীতে fastboot oem lock কমান্ড ব্যবহার করে পুনরায় লক করা হতে পারে। বুটলোডার লক করা নতুন কাস্টম ওএসের সাথে ব্যবহারকারীর ডেটার একই সুরক্ষা প্রদান করে যেমনটি আসল ডিভাইস প্রস্তুতকারক ওএসের সাথে উপলব্ধ ছিল (উদাহরণস্বরূপ, ডিভাইসটি আবার আনলক করা হলে ব্যবহারকারীর ডেটা মুছে ফেলা হয়)।

ডিভাইস পেন্টেস্টিং

চালানের আগে ডিভাইসগুলি একজন দক্ষ পেন্টেস্টার দ্বারা পর্যালোচনা করা উচিত। পেন্টেস্টিং নিশ্চিত করা উচিত যে ডিভাইসটি এখানে প্রদত্ত নিরাপত্তা নির্দেশিকা এবং সেইসাথে অভ্যন্তরীণ OEM নিরাপত্তা নির্দেশিকা অনুসরণ করেছে।

নিরাপত্তা পরীক্ষা

AOSP দ্বারা প্রদত্ত নিরাপত্তা পরীক্ষার সরঞ্জামগুলি ব্যবহার করুন৷ বিশেষ করে

  • বিকাশের সময় মেমরি সুরক্ষা সরঞ্জামগুলি ব্যবহার করুন: MTE যেখানে সমর্থিত (ARMv9 এবং তার উপরে) ব্যবহার করুন এবং যেখানে এটি নেই সেখানে HWASan ব্যবহার করুন৷ এই সরঞ্জামগুলি সক্ষম করে যতটা সম্ভব পরীক্ষা চালান।
  • মেমরি সুরক্ষা সমস্যাগুলির সম্ভাব্য সনাক্তকরণের জন্য উৎপাদনে GWP-ASan এবং KFENCE ব্যবহার করুন।
,

এই বিভাগে মূল Android অপারেটিং সিস্টেম এবং ডিভাইসগুলির নিরাপত্তা নিশ্চিত করার জন্য সুপারিশ রয়েছে৷

বায়োমেট্রিক প্রমাণীকরণ

ব্যবহারকারীর প্রমাণীকরণের জন্য সাবধানে বায়োমেট্রিক ডেটা অর্জন, সঞ্চয় এবং প্রক্রিয়া করুন। আপনার উচিত:

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

বায়োমেট্রিক্স সহ ডিভাইসগুলিকে বায়োমেট্রিক প্রম্পট API সমর্থন করা উচিত, যা অ্যাপ বিকাশকারীদের তাদের অ্যাপগুলিতে বায়োমেট্রিক্স-ভিত্তিক প্রমাণীকরণের সুবিধা নিতে একটি সাধারণ এবং সামঞ্জস্যপূর্ণ ইন্টারফেস অফার করে৷ শুধুমাত্র শক্তিশালী বায়োমেট্রিক্স BiometricPrompt সাথে একীভূত হতে পারে এবং ইন্টিগ্রেশনগুলিকে অবশ্যই Android কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্ট (CDD) নির্দেশিকা অনুসরণ করতে হবে।

আরও বায়োমেট্রিক নির্দেশিকাগুলির জন্য, বায়োমেট্রিক HAL বাস্তবায়ন নির্দেশিকা দেখুন।

SELinux

SELinux অ্যান্ড্রয়েডের বেশিরভাগ নিরাপত্তা মডেলের সংজ্ঞা এবং প্রয়োগ করে। SELinux সঠিকভাবে ব্যবহার করা Android ডিভাইসের নিরাপত্তার জন্য গুরুত্বপূর্ণ এবং নিরাপত্তা দুর্বলতার প্রভাব কমাতে সাহায্য করতে পারে। সমস্ত Android ডিভাইসের এই কারণে একটি শক্তিশালী SELinux নীতি প্রয়োগ করা উচিত।

  • একটি ন্যূনতম বিশেষাধিকার নীতি বাস্তবায়ন করুন।
  • CAP_DAC_OVERRIDE , CAP_SYS_ADMIN , এবং CAP_NET_ADMIN অনুমতি দেওয়া এড়িয়ে চলুন৷
  • SD কার্ডে সিস্টেম ডেটা লগ করবেন না।
  • ড্রাইভার অ্যাক্সেসের জন্য প্রদত্ত প্রকারগুলি ব্যবহার করুন, যেমন gpu_device , audio_device , ইত্যাদি।
  • প্রসেস, ফাইল এবং SELinux প্রকারের জন্য অর্থপূর্ণ নাম ব্যবহার করুন।
    • নিশ্চিত করুন যে ডিফল্ট লেবেলগুলি ব্যবহার করা হয় না এবং তাদের অ্যাক্সেস দেওয়া হয় না।
  • ডিভাইস-নির্দিষ্ট নীতি একটি ডিভাইসে চলমান সামগ্রিক নীতির 5 থেকে 10% জন্য দায়ী করা উচিত। 20%+ পরিসরে কাস্টমাইজেশন প্রায় নিশ্চিতভাবে অতিরিক্ত সুবিধাপ্রাপ্ত ডোমেন এবং মৃত নীতি ধারণ করে। অপ্রয়োজনীয়ভাবে বড় পলিসি মেমরি নষ্ট করে, বড় বুট ইমেজের প্রয়োজনে ডিস্কের জায়গা নষ্ট করে এবং রানটাইম পলিসি লুকআপ সময়কে নেতিবাচকভাবে প্রভাবিত করে।

SELinux নীতির গতিশীল লোডিং

অ্যান্ড্রয়েড ডিভাইসে গতিশীলভাবে SELinux নীতি লোড করবেন না। এটি করার ফলে সমস্যা হতে পারে, যেমন:

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

পিছনের দরজা

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

  • একটি শিল্প-স্বীকৃত অ্যাপ দুর্বলতা স্ক্যানিং টুল ব্যবহার করে সমস্ত তৃতীয় পক্ষের অ্যাপ স্ক্যান করুন।
  • তৃতীয় পক্ষের লাইব্রেরি সহ সংবেদনশীল অ্যাক্সেস সহ সমস্ত কোডের কোড পর্যালোচনা করুন৷
  • স্ক্যান করার জন্য Google Play-তে অ্যাপ আপলোড করে Google Play Protect ব্যবহার করুন। আপনি Google Play-তে প্রকাশ না করেই স্ক্যান করার জন্য অ্যাপস আপলোড করতে পারেন।
  • রিলিজ বিল্ডগুলিতে ডায়াগনস্টিক- বা মেরামত-কেন্দ্রিক সরঞ্জামগুলি প্রিলোড করবেন না। শুধুমাত্র নির্দিষ্ট সমস্যা সমাধানের জন্য এই টুলস অন-ডিমান্ড ইনস্টল করুন। অতিরিক্তভাবে, এই টুলগুলি অবশ্যই কোনো অ্যাকাউন্ট-নির্দিষ্ট ডেটার উপর কাজ করবে না বা আপলোড করবে না।

উন্নয়ন সরঞ্জাম

ডেভেলপমেন্ট টুলস, যেমন ডিবাগিং, টেস্টিং এবং ডায়াগনস্টিক টুল, প্রায়ই আপনার ডিভাইসে অনিচ্ছাকৃত নিরাপত্তা ফাঁক তৈরি করতে পারে তারা কীভাবে কাজ করে এবং তারা যে ডেটা সংগ্রহ করে তা প্রকাশ করে। ডেভেলপমেন্ট টুল যাতে প্রোডাকশন বিল্ডে পরিণত না করে তা নিশ্চিত করতে:

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

প্রকাশ এবং সম্মতি কার্যকর করার সময় উল্লেখ করার জন্য এখানে কিছু অতিরিক্ত পরামর্শ রয়েছে:

ইন-অ্যাপ প্রকাশ

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

AOSP এ এমবেডেড কার্যকারিতা

AOSP-তে অতিরিক্ত কার্যকারিতা এম্বেড করা প্রায়শই অপ্রত্যাশিত আচরণ এবং পরিণতি হতে পারে; সতর্কতার সাথে এগিয়ে যান।

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

নিরাপত্তা আপডেট

অ্যান্ড্রয়েড ডিভাইসগুলি লঞ্চের পর থেকে কমপক্ষে দুই বছরের জন্য চলমান সুরক্ষা সমর্থন পেতে হবে৷ এর মধ্যে রয়েছে নিয়মিত আপডেট পাওয়া যা পরিচিত নিরাপত্তা দুর্বলতার সমাধান করে।

  • আপনার অ্যান্ড্রয়েড ডিভাইসে সমস্ত উপাদানের জন্য উপযুক্ত সমর্থন চুক্তি স্থাপন করতে আপনার SoC বিক্রেতাদের মতো হার্ডওয়্যার অংশীদারদের সাথে কাজ করুন।
  • নিশ্চিত করুন যে ব্যবহারকারীরা তাদের Android ডিভাইসে আপডেটগুলি গ্রহণ এবং ইনস্টল করার সম্ভাবনা বাড়াতে ন্যূনতম ব্যবহারকারীর মিথস্ক্রিয়া সহ নিরাপত্তা আপডেটগুলি ইনস্টল করা যেতে পারে৷ সিমলেস সিস্টেম আপডেট বা একটি সমতুল্য নিরাপত্তা বৈশিষ্ট্য বাস্তবায়ন দৃঢ়ভাবে সুপারিশ করা হয়.
  • অ্যান্ড্রয়েড সুরক্ষা বুলেটিনে ঘোষিত হিসাবে আপনি অ্যান্ড্রয়েড সুরক্ষা প্যাচ স্তর (এসপিএল) এর ক্রমবর্ধমান প্রয়োজনীয়তা বুঝতে পেরেছেন তা নিশ্চিত করুন। উদাহরণস্বরূপ, 2018-02-01 সুরক্ষা প্যাচ স্তরটি ব্যবহার করে এমন ডিভাইসগুলি অবশ্যই সেই সুরক্ষা প্যাচ স্তরের সাথে যুক্ত সমস্ত বিষয়গুলির পাশাপাশি পূর্ববর্তী সমস্ত সুরক্ষা বুলেটিনগুলিতে রিপোর্ট করা সমস্ত সমস্যার জন্য সংশোধন করতে হবে।

গতিশীল কার্নেল আপডেট

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

মূল ব্যবস্থাপনা

স্বাক্ষর কীগুলির সুরক্ষা নিশ্চিত করতে ভাল কী পরিচালনার নীতি এবং অনুশীলনগুলি বজায় রাখুন।

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

সিস্টেম চিত্র স্বাক্ষর

ডিভাইসের অখণ্ডতা নির্ধারণের জন্য সিস্টেম চিত্রের স্বাক্ষর গুরুত্বপূর্ণ।

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

আনলকযোগ্য বুটলোডার

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

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

  • ব্যবহারকারী আনলকিং কমান্ডটি নিশ্চিত করার পরে, ডিভাইসটি অবশ্যই একটি তাত্ক্ষণিক ডেটা মুছতে শুরু করতে হবে। unlocked পতাকাটি সুরক্ষিত মুছে ফেলা সম্পূর্ণ না হওয়া পর্যন্ত সেট করা উচিত নয়।
  • যদি কোনও সুরক্ষিত মুছে ফেলা শেষ না করা যায় তবে ডিভাইসটি অবশ্যই একটি লক অবস্থায় থাকতে হবে।
  • অন্তর্নিহিত ব্লক ডিভাইস দ্বারা সমর্থিত যদি, ioctl(BLKSECDISCARD) বা সমতুল্য ব্যবহার করা উচিত। এম্বেডেড মাল্টিমিডিয়াকার্ড (ইএমএমসি) ডিভাইসের জন্য, এর অর্থ একটি সুরক্ষিত মুছুন বা সুরক্ষিত ট্রিম কমান্ড ব্যবহার করা। ইএমএমসি 4.5 এবং পরবর্তীকালে, এর অর্থ একটি সাধারণ মুছে ফেলা বা ট্রিম ব্যবহার করে স্যানিটাইজ অপারেশন।
  • যদি BLKSECDISCARD অন্তর্নিহিত ব্লক ডিভাইস দ্বারা সমর্থিত না হয় তবে পরিবর্তে ioctl(BLKDISCARD) ব্যবহার করা উচিত। ইএমএমসি ডিভাইসে, এটি একটি সাধারণ ট্রিম অপারেশন।
  • যদি BLKDISCARD সমর্থিত না হয় তবে সমস্ত জিরো সহ ব্লক ডিভাইসগুলিকে ওভাররাইট করা গ্রহণযোগ্য।
  • কোনও ব্যবহারকারীর অবশ্যই পার্টিশন ফ্ল্যাশ করার আগে ব্যবহারকারীর ডেটা মুছে ফেলা উচিত। উদাহরণস্বরূপ, নেক্সাস ডিভাইসগুলি ব্যবহারকারীর ডেটা মুছতে fastboot oem lock কমান্ড ব্যবহার করে।
  • কোনও ডিভাইস ইফিউস বা অনুরূপ প্রক্রিয়াটির মাধ্যমে রেকর্ড করতে পারে, কোনও ডিভাইসটি আনলক করা এবং/অথবা পুনরায় চালু করা হয়েছিল কিনা। যাইহোক, আমরা দৃ strongly ়ভাবে সুপারিশ করি যে পরবর্তী কারখানার রিসেটের সাথে বুটলোডারটি পুনরায় সরিয়ে নেওয়া সম্পূর্ণ ডিভাইসের কার্যকারিতা পুনরুদ্ধার করা উচিত।

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

আনলক করা একটি ডিভাইস পরবর্তীকালে fastboot oem lock কমান্ডটি ব্যবহার করে পুনরায় চালু করা যেতে পারে। বুটলোডারকে লক করা নতুন কাস্টম ওএসের সাথে ব্যবহারকারীর ডেটার একই সুরক্ষা সরবরাহ করে যা মূল ডিভাইস প্রস্তুতকারক ওএসের সাথে উপলভ্য ছিল (উদাহরণস্বরূপ, ডিভাইসটি আবার আনলক করা থাকলে ব্যবহারকারীর ডেটা মুছে ফেলা হয়)।

ডিভাইস পেন্টেস্টিং

ডিভাইসগুলি চালানের আগে একটি উপযুক্ত পেন্টেস্টার দ্বারা পর্যালোচনা করা উচিত। পেন্টেস্টিংয়ের বিষয়টি প্রতিষ্ঠিত করা উচিত যে ডিভাইসটি এখানে প্রদত্ত সুরক্ষা গাইডেন্সের পাশাপাশি অভ্যন্তরীণ OEM সুরক্ষা নির্দেশিকা অনুসরণ করেছে।

নিরাপত্তা পরীক্ষা

এওএসপি দ্বারা সরবরাহিত সুরক্ষা পরীক্ষার সরঞ্জামগুলি ব্যবহার করুন। বিশেষ করে

  • বিকাশের সময় মেমরি সুরক্ষা সরঞ্জামগুলি ব্যবহার করুন: এমটিই ব্যবহার করুন যেখানে সমর্থিত (আর্মভি 9 এবং তারপরে) এবং হাওয়াসান যেখানে এটি নেই। এই সরঞ্জামগুলি সক্ষম করে যতটা সম্ভব পরীক্ষা চালান।
  • মেমরি সুরক্ষা সমস্যাগুলির সম্ভাব্য সনাক্তকরণের জন্য, উত্পাদনে GWP-Asan এবং kfence ব্যবহার করুন।