গুগল কালো সম্প্রদায়ের জন্য জাতিগত সমতা উন্নয়নে প্রতিশ্রুতিবদ্ধ। দেখ কিভাবে.
This page was translated by the Cloud Translation API.
Switch to English

অ্যাপ্লিকেশন সুরক্ষা সেরা অভ্যাস

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

উত্স কোড পর্যালোচনা

উত্স কোড পর্যালোচনা এই দস্তাবেজটিতে চিহ্নিত ব্যক্তিদের সহ সুরক্ষা সংক্রান্ত বিস্তৃত পরিসীমা সনাক্ত করতে পারে। অ্যান্ড্রয়েড ম্যানুয়াল এবং স্বয়ংক্রিয় উত্স কোড পর্যালোচনা উভয়কেই উত্সাহ দেয়।

  • কভারেজ নিশ্চিত করতে পর্যালোচনা পরিচালনা করার সময় ব্যাপক সুরক্ষা নির্দেশিকা অনুসরণ করুন। সামঞ্জস্যপূর্ণ এবং সম্পূর্ণ পর্যালোচনাগুলি নিশ্চিত করতে প্রাসঙ্গিক অভ্যন্তরীণ বা বাহ্যিক মান ব্যবহার করুন।
  • অ্যান্ড্রয়েড এসডিকে ব্যবহার করে সমস্ত অ্যাপ কোডে অ্যান্ড্রয়েড স্টুডিও ল্যাটারের মতো একটি লিন্টার চালান এবং চিহ্নিত কোনও সমস্যা সংশোধন করুন।
  • একটি স্বয়ংক্রিয় সরঞ্জাম ব্যবহার করে নেটিভ কোড বিশ্লেষণ করুন যা মেমরি পরিচালনা সংক্রান্ত সমস্যাগুলি সনাক্ত করতে পারে, যেমন বাফার ওভারফ্লো এবং একের পর এক ত্রুটি।
  • Android বিল্ড সিস্টেমের যেমন LLVM sanitizers, অনেক সমর্থন AddressSanitizer এবং UndefinedBehaviorSanitizer , যা মেমরি সংশ্লিষ্ট বিষয় রানটাইম বিশ্লেষণের জন্য ব্যবহার করা যাবে। ফিজিংয়ের সাথে মিলিত , অ্যান্ড্রয়েডে লাইবফুজারের সাহায্যে সমর্থিত, স্যানিটাইজাররা আরও তদন্তের জন্য অস্বাভাবিক প্রান্তের মামলাগুলি উদঘাটন করতে পারে।
  • একজন জ্ঞানী সুরক্ষা মূল্যায়নকারীকে উচ্চতর ঝুঁকির কোড, যেমন ক্রিপ্টো, অর্থ প্রদান প্রক্রিয়াজাতকরণ এবং পিআইআই প্রক্রিয়াজাতকরণ পর্যালোচনা করা উচিত।

স্বয়ংক্রিয় পরীক্ষা

অটোমেটেড টেস্টিং বিস্তৃত সুরক্ষা সমস্যাগুলি সনাক্ত করতে সহায়তা করে এবং নিয়মিত সম্পাদন করা উচিত।

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

ক্ষতিগ্রস্থতা স্ক্যানিং

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

  • শিল্প-স্বীকৃত অ্যাপ্লিকেশন দুর্বলতা স্ক্যানিং সরঞ্জাম এবং সনাক্ত করা দুর্বলতাগুলি ব্যবহার করে সমস্ত প্রাক ইনস্টল থাকা অ্যাপ্লিকেশনগুলি স্ক্যান করুন।

সম্ভাব্য ক্ষতিকারক অ্যাপ্লিকেশন

আপনার ডিভাইসে প্রাক ইনস্টল থাকা অ্যাপ্লিকেশনগুলি সম্ভাব্য ক্ষতিকারক অ্যাপ্লিকেশনগুলি (পিএইচএ) নয় তা নিশ্চিত করা গুরুত্বপূর্ণ। আপনার ডিভাইসে অন্তর্ভুক্ত সমস্ত অ্যাপ্লিকেশনগুলির আচরণের জন্য আপনি দায়বদ্ধ। ডিভাইস লঞ্চের আগে, দুর্বলতার জন্য সমস্ত প্রাক লোডযুক্ত অ্যাপ্লিকেশন স্ক্যান করুন।

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

অ্যাপ্লিকেশন ইনস্টলেশন এবং অনুমতি

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

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

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

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

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

অ্যাপ্লিকেশন এবং প্রক্রিয়াগুলি বিচ্ছিন্ন করা

অ্যান্ড্রয়েড স্যান্ডবক্সিং মডেলটি যখন সঠিকভাবে ব্যবহৃত হয় তখন অ্যাপস এবং প্রক্রিয়াগুলির চারপাশে অতিরিক্ত সুরক্ষা সরবরাহ করে।

মূল প্রক্রিয়াগুলি বিচ্ছিন্ন করা

রুট প্রক্রিয়াগুলি সুবিধাদি বৃদ্ধির আক্রমণগুলির সবচেয়ে ঘন ঘন লক্ষ্য; রুট প্রসেসের সংখ্যা হ্রাস করা সুবিধাগুলি বৃদ্ধির ঝুঁকি হ্রাস করে।

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

সিস্টেম অ্যাপসকে বিচ্ছিন্ন করা হচ্ছে

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

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

বিচ্ছিন্ন প্রক্রিয়া

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

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