নিরাপত্তা বৃদ্ধি

Android ক্রমাগত তার নিরাপত্তা ক্ষমতা এবং অফার উন্নত করে। বাম নেভিগেশনে প্রকাশের মাধ্যমে বর্ধিতকরণের তালিকা দেখুন।

অ্যান্ড্রয়েড 14

Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 14:

  • Hardware-assisted AddressSanitizer (HWASan), introduced in Android 10, is a memory error detection tool similar to AddressSanitizer. Android 14 brings significant improvements to HWASan. Learn how it helps prevent bugs from making it into Android releases, HWAddressSanitizer
  • In Android 14, starting with apps that share location data with third-parties, the system runtime permission dialog now includes a clickable section that highlights the app's data-sharing practices, including information such as why an app may decide to share data with third parties.
  • Android 12 introduced an option to disable 2G support at the modem level, which protects users from the inherent security risk from 2G's obsolete security model. Recognizing how critical disabling 2G could be for enterprise customers, Android 14 enables this security feature in Android Enterprise, introducing support for IT admins to restrict the ability of a managed device to downgrade to 2G connectivity.
  • Added support to reject null-ciphered cellular connections, ensuring that circuit-switched voice and SMS traffic is always encrypted and protected from passive over-the-air interception. Learn more about Android's program to harden cellular connectivity.
  • Added support for multiple IMEIs
  • Since Android 14, AES-HCTR2 is the preferred mode of filenames encryption for devices with accelerated cryptography instructions.
  • Cellular connectivity
  • Documentation added for Android Safety Center
  • If your app targets Android 14 and uses Dynamic Code Loading (DCL), all dynamically-loaded files must be marked as read-only. Otherwise, the system throws an exception. We recommend that apps avoid dynamically loading code whenever possible, as doing so greatly increases the risk that an app can be compromised by code injection or code tampering.

Check out our full AOSP release notes and the Android Developer features and changes list.

অ্যান্ড্রয়েড 13

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। এখানে Android 13-এ উপলব্ধ কয়েকটি প্রধান নিরাপত্তা বর্ধন রয়েছে:

  • অ্যান্ড্রয়েড 13 মাল্টি-ডকুমেন্ট উপস্থাপনা সমর্থন যোগ করে। এই নতুন উপস্থাপনা সেশন ইন্টারফেস একটি অ্যাপ্লিকেশনকে একটি বহু-নথি উপস্থাপনা করতে সক্ষম করে, যা বিদ্যমান API-এর সাথে সম্ভব নয়। আরও তথ্যের জন্য, পরিচয় শংসাপত্র পড়ুন
  • অ্যান্ড্রয়েড 13-এ, বহিরাগত অ্যাপগুলি থেকে উদ্ভূত অভিপ্রায়গুলি একটি রপ্তানিকৃত উপাদানে বিতরণ করা হয় যদি এবং শুধুমাত্র যদি উদ্দেশ্যগুলি তাদের ঘোষিত অভিপ্রায়-ফিল্টার উপাদানগুলির সাথে মেলে।
  • Open Mobile API (OMAPI) হল একটি স্ট্যান্ডার্ড API যা একটি ডিভাইসের সিকিউর এলিমেন্টের সাথে যোগাযোগ করতে ব্যবহৃত হয়। অ্যান্ড্রয়েড 13 এর আগে, শুধুমাত্র অ্যাপ্লিকেশন এবং ফ্রেমওয়ার্ক মডিউলগুলির এই ইন্টারফেসে অ্যাক্সেস ছিল। এটিকে একটি বিক্রেতা স্থিতিশীল ইন্টারফেসে রূপান্তর করে, HAL মডিউলগুলি OMAPI পরিষেবার মাধ্যমে সুরক্ষিত উপাদানগুলির সাথে যোগাযোগ করতেও সক্ষম। আরও তথ্যের জন্য, OMAPI ভেন্ডর স্টেবল ইন্টারফেস দেখুন।
  • অ্যান্ড্রয়েড 13-কিউপিআর অনুযায়ী, শেয়ার করা ইউআইডিগুলি বাতিল করা হয়েছে। Android 13 বা উচ্চতর ব্যবহারকারীদের তাদের ম্যানিফেস্টে `android:sharedUserMaxSdkVersion="32"` লাইনটি রাখা উচিত। এই এন্ট্রি নতুন ব্যবহারকারীদের একটি শেয়ার করা UID পেতে বাধা দেয়। ইউআইডি সম্পর্কে আরও তথ্যের জন্য, আবেদন স্বাক্ষর দেখুন।
  • অ্যান্ড্রয়েড 13 সমর্থন যোগ করেছে কীস্টোর সিমেট্রিক ক্রিপ্টোগ্রাফিক আদিম যেমন AES (অ্যাডভান্সড এনক্রিপশন স্ট্যান্ডার্ড), এইচএমএসি (কীড-হ্যাশ মেসেজ প্রমাণীকরণ কোড), এবং অ্যাসিমেট্রিক ক্রিপ্টোগ্রাফিক অ্যালগরিদম (এলিপ্টিক কার্ভ, RSA2048, RSA2048, RSA2048, R596, R596)
  • Android 13 (API লেভেল 33) এবং উচ্চতর কোনো অ্যাপ থেকে অ-মুক্ত বিজ্ঞপ্তি পাঠানোর জন্য একটি রানটাইম অনুমতি সমর্থন করে। এটি ব্যবহারকারীদের তারা কোন অনুমতি বিজ্ঞপ্তি দেখতে পায় তা নিয়ন্ত্রণ করে।
  • সমস্ত ডিভাইস লগগুলিতে অ্যাক্সেসের অনুরোধকারী অ্যাপগুলির জন্য প্রতি-ব্যবহার প্রম্পট যোগ করা হয়েছে, ব্যবহারকারীদের অ্যাক্সেসের অনুমতি বা অস্বীকার করার ক্ষমতা দেয়।
  • অ্যান্ড্রয়েড ভার্চুয়ালাইজেশন ফ্রেমওয়ার্ক (AVF) প্রবর্তন করেছে, যা প্রমিত APIs সহ একটি কাঠামোর অধীনে বিভিন্ন হাইপারভাইজারকে একত্রিত করে। এটি হাইপারভাইজার দ্বারা বিচ্ছিন্ন ওয়ার্কলোডগুলি কার্যকর করার জন্য নিরাপদ এবং ব্যক্তিগত কার্যকর পরিবেশ প্রদান করে।
  • প্রবর্তিত APK স্বাক্ষর স্কিম v3.1 সমস্ত নতুন কী ঘূর্ণন যা apksigner ব্যবহার করে সেগুলি Android 13 এবং উচ্চতরের জন্য লক্ষ্য ঘূর্ণন করতে ডিফল্টরূপে v3.1 স্বাক্ষর স্কিম ব্যবহার করবে৷

আমাদের সম্পূর্ণ AOSP রিলিজ নোট এবং অ্যান্ড্রয়েড বিকাশকারী বৈশিষ্ট্য এবং পরিবর্তন তালিকা দেখুন।

অ্যান্ড্রয়েড 12

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। এখানে Android 12-এ উপলব্ধ কয়েকটি প্রধান নিরাপত্তা বর্ধন রয়েছে:

  • Android 12 BiometricManager.Strings API প্রবর্তন করে, যা প্রমাণীকরণের জন্য বায়োমেট্রিক প্রম্পট ব্যবহার করে এমন অ্যাপগুলির জন্য স্থানীয় স্ট্রিং প্রদান করে। এই স্ট্রিংগুলি ডিভাইস-সচেতন হওয়া এবং কোন প্রমাণীকরণ প্রকার(গুলি) ব্যবহার করা যেতে পারে সে সম্পর্কে আরও নির্দিষ্টতা প্রদান করার উদ্দেশ্যে করা হয়েছে৷ অ্যান্ড্রয়েড 12-এ আন্ডার-ডিসপ্লে ফিঙ্গারপ্রিন্ট সেন্সরগুলির জন্য সমর্থন অন্তর্ভুক্ত রয়েছে
  • আন্ডার-ডিসপ্লে ফিঙ্গারপ্রিন্ট সেন্সরগুলির জন্য সমর্থন যোগ করা হয়েছে
  • ফিঙ্গারপ্রিন্ট অ্যান্ড্রয়েড ইন্টারফেস ডেফিনিশন ল্যাঙ্গুয়েজ (এআইডিএল) এর ভূমিকা
  • নতুন মুখ AIDL জন্য সমর্থন
  • প্ল্যাটফর্ম উন্নয়নের জন্য একটি ভাষা হিসাবে মরিচা পরিচিতি
  • ব্যবহারকারীদের জন্য শুধুমাত্র তাদের আনুমানিক অবস্থানে অ্যাক্সেস মঞ্জুর করার বিকল্প যোগ করা হয়েছে
  • একটি অ্যাপ ক্যামেরা বা মাইক্রোফোন ব্যবহার করার সময় স্ট্যাটাস বারে গোপনীয়তা সূচক যোগ করা হয়েছে
  • অ্যান্ড্রয়েডের প্রাইভেট কম্পিউট কোর (পিসিসি)
  • 2G সমর্থন নিষ্ক্রিয় করার জন্য একটি বিকল্প যোগ করা হয়েছে৷

অ্যান্ড্রয়েড 11

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। অ্যান্ড্রয়েড 11-এ উপলব্ধ কয়েকটি প্রধান নিরাপত্তা বর্ধনের তালিকার জন্য, অ্যান্ড্রয়েড রিলিজ নোটগুলি দেখুন।

অ্যান্ড্রয়েড 10

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

নিরাপত্তা

বাউন্ডস স্যানিটাইজার

Android 10 ব্লুটুথ এবং কোডেক্সে বাউন্ডস্যানিটাইজার (বাউন্ডসান) স্থাপন করে। BoundSan UBSan এর বাউন্ডস স্যানিটাইজার ব্যবহার করে। প্রতি-মডিউল স্তরে এই প্রশমন সক্রিয় করা হয়েছে। এটি Android এর গুরুত্বপূর্ণ উপাদানগুলিকে সুরক্ষিত রাখতে সাহায্য করে এবং অক্ষম করা উচিত নয়৷ BoundSan নিম্নলিখিত কোডেকগুলিতে সক্রিয় করা হয়েছে:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec
  • libaac
  • libxaac

এক্সিকিউট-অনলি মেমরি

ডিফল্টরূপে, AArch64 সিস্টেম বাইনারিগুলির জন্য এক্সিকিউটেবল কোড বিভাগগুলিকে কেবলমাত্র কার্যকরী (অপঠনযোগ্য) হিসাবে চিহ্নিত করা হয় জাস্ট-ইন-টাইম কোড পুনঃব্যবহারের আক্রমণের বিরুদ্ধে কঠোর প্রশমন হিসাবে। কোড যা ডেটা এবং কোড একসাথে মিশ্রিত করে এবং কোড যা উদ্দেশ্যমূলকভাবে এই বিভাগগুলি পরিদর্শন করে (প্রথমে মেমরি বিভাগগুলিকে পাঠযোগ্য হিসাবে পুনরায় ম্যাপ না করে) আর কাজ করে না। Android 10 (API লেভেল 29 বা উচ্চতর) এর একটি টার্গেট SDK সহ অ্যাপগুলি প্রভাবিত হয় যদি অ্যাপটি প্রথমে পঠনযোগ্য হিসাবে চিহ্নিত না করে মেমরিতে এক্সিকিউট-অনলি মেমরি (XOM) সক্ষম সিস্টেম লাইব্রেরির কোড বিভাগগুলি পড়ার চেষ্টা করে।

বর্ধিত অ্যাক্সেস

ট্রাস্ট এজেন্ট, স্মার্ট লকের মতো তৃতীয় প্রমাণীকরণ প্রক্রিয়া দ্বারা ব্যবহৃত অন্তর্নিহিত প্রক্রিয়া, শুধুমাত্র Android 10-এ আনলক প্রসারিত করতে পারে। ট্রাস্ট এজেন্টরা আর একটি লক করা ডিভাইস আনলক করতে পারে না এবং শুধুমাত্র সর্বোচ্চ চার ঘণ্টার জন্য একটি ডিভাইস আনলক রাখতে পারে।

মুখের প্রমাণীকরণ

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

পূর্ণসংখ্যা ওভারফ্লো স্যানিটাইজেশন

Android 10 সফ্টওয়্যার কোডেকগুলিতে পূর্ণসংখ্যা ওভারফ্লো স্যানিটাইজেশন (IntSan) সক্ষম করে। ডিভাইসের হার্ডওয়্যারে সমর্থিত নয় এমন যেকোনো কোডেকের জন্য প্লেব্যাক কর্মক্ষমতা গ্রহণযোগ্য কিনা তা নিশ্চিত করুন। IntSan নিম্নলিখিত কোডেকগুলিতে সক্রিয় করা হয়েছে:

  • libFLAC
  • libavcdec
  • libavcenc
  • libhevcdec
  • libmpeg2
  • libopus
  • libvpx
  • libspeexresampler
  • libvorbisidec

মডুলার সিস্টেম উপাদান

অ্যান্ড্রয়েড 10 কিছু অ্যান্ড্রয়েড সিস্টেম উপাদানকে মডুলারাইজ করে এবং সেগুলিকে সাধারণ অ্যান্ড্রয়েড রিলিজ চক্রের বাইরে আপডেট করতে সক্ষম করে। কিছু মডিউল অন্তর্ভুক্ত:

OEMCrypto

Android 10 OEMCrypto API সংস্করণ 15 ব্যবহার করে।

স্কুডো

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

শ্যাডোকলস্ট্যাক

ShadowCallStack (SCS) হল একটি LLVM ইন্সট্রুমেন্টেশন মোড যা রিটার্ন অ্যাড্রেস ওভাররাইট (যেমন স্ট্যাক বাফার ওভারফ্লো) থেকে রক্ষা করে একটি ফাংশনের রিটার্ন অ্যাড্রেসকে ননলিফ ফাংশনের ফাংশন প্রোলগে আলাদাভাবে বরাদ্দ করা ShadowCallStack ইনস্ট্যান্সে সংরক্ষণ করে এবং ShadowCallStack ইনস্ট্যান্স থেকে রিটার্ন অ্যাড্রেস লোড করে। ফাংশন epilog.

WPA3 এবং Wi-Fi উন্নত ওপেন

Android 10 Wi-Fi Protected Access 3 (WPA3) এবং Wi-Fi উন্নত ওপেন সুরক্ষা মানগুলির জন্য সমর্থন যোগ করে যাতে পরিচিত আক্রমণগুলির বিরুদ্ধে আরও ভাল গোপনীয়তা এবং দৃঢ়তা প্রদান করা যায়।

গোপনীয়তা

অ্যান্ড্রয়েড 9 বা তার নিচের দিকে লক্ষ্য করার সময় অ্যাপ অ্যাক্সেস

যদি আপনার অ্যাপ অ্যান্ড্রয়েড 10 বা উচ্চতর সংস্করণে চলে কিন্তু Android 9 (API স্তর 28) বা তার নিচের দিকে লক্ষ্য করে, তাহলে প্ল্যাটফর্মটি নিম্নলিখিত আচরণ প্রয়োগ করে:

  • যদি আপনার অ্যাপ ACCESS_FINE_LOCATION বা ACCESS_COARSE_LOCATION এর জন্য একটি <uses-permission> উপাদান ঘোষণা করে, তাহলে ইনস্টলেশনের সময় সিস্টেম স্বয়ংক্রিয়ভাবে ACCESS_BACKGROUND_LOCATION এর জন্য একটি <uses-permission> উপাদান যোগ করে।
  • আপনার অ্যাপ যদি হয় ACCESS_FINE_LOCATION বা ACCESS_COARSE_LOCATION অনুরোধ করে, তাহলে সিস্টেম স্বয়ংক্রিয়ভাবে অনুরোধে ACCESS_BACKGROUND_LOCATION যোগ করে।

পটভূমি কার্যকলাপ সীমাবদ্ধতা

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

ক্যামেরা মেটাডেটা

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

ক্লিপবোর্ড ডেটা

আপনার অ্যাপটি ডিফল্ট ইনপুট মেথড এডিটর (IME) না হলে বা বর্তমানে ফোকাস আছে এমন অ্যাপ না হলে, আপনার অ্যাপ Android 10 বা উচ্চতর ক্লিপবোর্ড ডেটা অ্যাক্সেস করতে পারবে না।

ডিভাইসের অবস্থান

ব্যবহারকারীদের অবস্থানের তথ্যে একটি অ্যাপের অ্যাক্সেসের অতিরিক্ত নিয়ন্ত্রণকে সমর্থন করার জন্য, Android 10 ACCESS_BACKGROUND_LOCATION অনুমতি প্রবর্তন করে।
ACCESS_FINE_LOCATION এবং ACCESS_COARSE_LOCATION অনুমতিগুলির বিপরীতে, ACCESS_BACKGROUND_LOCATION অনুমতি শুধুমাত্র একটি অ্যাপের অবস্থানে অ্যাক্সেসকে প্রভাবিত করে যখন এটি ব্যাকগ্রাউন্ডে চলে। নিম্নলিখিত শর্তগুলির মধ্যে একটি সন্তুষ্ট না হলে একটি অ্যাপকে ব্যাকগ্রাউন্ডে অবস্থান অ্যাক্সেস করা বলে মনে করা হয়:

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

বহিরাগত সংগ্রহস্থল

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

  • অ্যাপ-নির্দিষ্ট ডিরেক্টরির ফাইলগুলি, getExternalFilesDir() ব্যবহার করে অ্যাক্সেস করা হয়েছে।
  • ফটো, ভিডিও এবং অডিও ক্লিপ যা অ্যাপটি মিডিয়া স্টোর থেকে তৈরি করেছে।

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

MAC ঠিকানা র্যান্ডমাইজেশন

যে ডিভাইসগুলিতে Android 10 বা উচ্চতর সংস্করণ চলে, সিস্টেমটি ডিফল্টরূপে এলোমেলো MAC ঠিকানাগুলি প্রেরণ করে।
যদি আপনার অ্যাপ একটি এন্টারপ্রাইজ ব্যবহারের ক্ষেত্রে পরিচালনা করে, প্ল্যাটফর্মটি MAC ঠিকানাগুলির সাথে সম্পর্কিত বিভিন্ন ক্রিয়াকলাপের জন্য API প্রদান করে:

  • এলোমেলো MAC ঠিকানা পান : ডিভাইস মালিক অ্যাপস এবং প্রোফাইল মালিক অ্যাপস getRandomizedMacAddress() এ কল করে একটি নির্দিষ্ট নেটওয়ার্কে নির্ধারিত এলোমেলো MAC ঠিকানা পুনরুদ্ধার করতে পারে।
  • প্রকৃত, ফ্যাক্টরি MAC ঠিকানা প্রাপ্ত করুন: ডিভাইসের মালিক অ্যাপ্লিকেশন getWifiMacAddress() কল করে একটি ডিভাইসের প্রকৃত হার্ডওয়্যার MAC ঠিকানা পুনরুদ্ধার করতে পারে। এই পদ্ধতিটি ডিভাইসের ফ্লিট ট্র্যাক করার জন্য উপযোগী।

নন-রিসেটযোগ্য ডিভাইস শনাক্তকারী

Android 10 থেকে শুরু করে, ডিভাইসের নন-রিসেটযোগ্য শনাক্তকারী অ্যাক্সেস করার জন্য অ্যাপগুলির অবশ্যই READ_PRIVILEGED_PHONE_STATE সুবিধাপ্রাপ্ত অনুমতি থাকতে হবে, যার মধ্যে IMEI এবং সিরিয়াল নম্বর উভয়ই রয়েছে।

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

  • যদি আপনার অ্যাপটি Android 10 বা উচ্চতরকে লক্ষ্য করে, তাহলে একটি SecurityException ঘটে।
  • যদি আপনার অ্যাপটি Android 9 (API লেভেল 28) বা তার নিচের দিকে লক্ষ্য করে, তবে অ্যাপটির READ_PHONE_STATE অনুমতি থাকলে পদ্ধতিটি null বা স্থানধারক ডেটা প্রদান করে। অন্যথায়, একটি SecurityException ঘটে।

শারীরিক কার্যকলাপ স্বীকৃতি

অ্যান্ড্রয়েড 10 এমন অ্যাপগুলির জন্য android.permission.ACTIVITY_RECOGNITION রানটাইম অনুমতি প্রবর্তন করে যেগুলি ব্যবহারকারীর পদক্ষেপের সংখ্যা সনাক্ত করতে বা ব্যবহারকারীর শারীরিক কার্যকলাপ যেমন হাঁটা, বাইক চালানো বা যানবাহনে চলাচলের শ্রেণীবদ্ধ করতে হয়। সেটিংসে ডিভাইস সেন্সর ডেটা কীভাবে ব্যবহার করা হয় তা ব্যবহারকারীদের দৃশ্যমান করার জন্য এটি ডিজাইন করা হয়েছে।
Google Play পরিষেবার মধ্যে কিছু লাইব্রেরি, যেমন Activity Recognition API এবং Google Fit API , ফলাফল প্রদান করে না যদি না ব্যবহারকারী আপনার অ্যাপটিকে এই অনুমতি না দেয়৷
ডিভাইসে শুধুমাত্র অন্তর্নির্মিত সেন্সর যেগুলির জন্য আপনাকে এই অনুমতি ঘোষণা করতে হবে তা হল স্টেপ কাউন্টার এবং স্টেপ ডিটেক্টর সেন্সর।
যদি আপনার অ্যাপটি Android 9 (API লেভেল 28) বা তার নিচের দিকে লক্ষ্য করে, তাহলে সিস্টেমটি আপনার অ্যাপকে android.permission.ACTIVITY_RECOGNITION অনুমতি স্বয়ংক্রিয়ভাবে মঞ্জুর করে, যদি আপনার অ্যাপ নিম্নলিখিত শর্তগুলির প্রত্যেকটি পূরণ করে:

  • ম্যানিফেস্ট ফাইলটিতে com.google.android.gms.permission.ACTIVITY_RECOGNITION অনুমতি রয়েছে৷
  • ম্যানিফেস্ট ফাইলটিতে android.permission.ACTIVITY_RECOGNITION অনুমতি অন্তর্ভুক্ত নেই

সিস্টেম-অটো যদি android.permission.ACTIVITY_RECOGNITION অনুমতি দেয়, তাহলে আপনি Android 10 টার্গেট করার জন্য আপনার অ্যাপ আপডেট করার পরে আপনার অ্যাপটি অনুমতি ধরে রাখে। যাইহোক, ব্যবহারকারী সিস্টেম সেটিংসে যে কোনো সময় এই অনুমতি প্রত্যাহার করতে পারেন।

/proc/নেট ফাইল সিস্টেম সীমাবদ্ধতা

যে ডিভাইসগুলিতে Android 10 বা তার বেশি চলমান, অ্যাপগুলি /proc/net অ্যাক্সেস করতে পারে না, যার মধ্যে একটি ডিভাইসের নেটওয়ার্ক অবস্থা সম্পর্কে তথ্য অন্তর্ভুক্ত থাকে। যে অ্যাপগুলির এই তথ্যে অ্যাক্সেস প্রয়োজন, যেমন VPN, তাদের NetworkStatsManager বা ConnectivityManager ক্লাস ব্যবহার করা উচিত।

UI থেকে অনুমতি গোষ্ঠীগুলি সরানো হয়েছে৷

অ্যান্ড্রয়েড 10 অনুসারে, অ্যাপ্লিকেশনগুলি UI-তে কীভাবে অনুমতিগুলিকে গোষ্ঠীভুক্ত করা হয়েছে তা সন্ধান করতে পারে না।

পরিচিতি সখ্যতা অপসারণ

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

পর্দা বিষয়বস্তু সীমাবদ্ধ অ্যাক্সেস

ব্যবহারকারীদের স্ক্রীন বিষয়বস্তু সুরক্ষিত করতে, Android 10 READ_FRAME_BUFFER , CAPTURE_VIDEO_OUTPUT , এবং CAPTURE_SECURE_VIDEO_OUTPUT অনুমতির সুযোগ পরিবর্তন করে ডিভাইসের স্ক্রীন বিষয়বস্তুতে নীরব অ্যাক্সেসকে বাধা দেয়। Android 10 অনুযায়ী, এই অনুমতিগুলি শুধুমাত্র স্বাক্ষর-অ্যাক্সেস
যে অ্যাপগুলিকে ডিভাইসের স্ক্রীন বিষয়বস্তু অ্যাক্সেস করতে হবে তাদের MediaProjection API ব্যবহার করা উচিত, যা ব্যবহারকারীকে সম্মতি দেওয়ার জন্য অনুরোধ করে একটি প্রম্পট প্রদর্শন করে।

ইউএসবি ডিভাইস সিরিয়াল নম্বর

যদি আপনার অ্যাপটি Android 10 বা উচ্চতরকে লক্ষ্য করে, তাহলে ব্যবহারকারী আপনার অ্যাপকে USB ডিভাইস বা আনুষঙ্গিক অ্যাক্সেস করার অনুমতি না দেওয়া পর্যন্ত আপনার অ্যাপ সিরিয়াল নম্বর পড়তে পারবে না।
USB ডিভাইসগুলির সাথে কাজ করার বিষয়ে আরও জানতে, USB হোস্টগুলি কীভাবে কনফিগার করবেন তার নির্দেশিকাটি দেখুন৷

ওয়াইফাই

অ্যান্ড্রয়েড 10 বা তার বেশির দিকে লক্ষ্য করা অ্যাপগুলি Wi-Fi সক্ষম বা অক্ষম করতে পারে না। WifiManager.setWifiEnabled() পদ্ধতি সর্বদা false ফেরত দেয়।
আপনি যদি ব্যবহারকারীদের Wi-Fi সক্ষম এবং অক্ষম করার জন্য অনুরোধ করতে চান তবে একটি সেটিংস প্যানেল ব্যবহার করুন৷

কনফিগার করা Wi-Fi নেটওয়ার্কগুলিতে সরাসরি অ্যাক্সেসের উপর বিধিনিষেধ

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

  • getConfiguredNetworks() পদ্ধতি সর্বদা একটি খালি তালিকা প্রদান করে।
  • প্রতিটি নেটওয়ার্ক অপারেশন পদ্ধতি যা একটি পূর্ণসংখ্যা মান প্রদান করে addNetwork() এবং updateNetwork() — সর্বদা -1 প্রদান করে।
  • প্রতিটি নেটওয়ার্ক অপারেশন যা একটি বুলিয়ান মান প্রদান করে removeNetwork() , reassociate() , enableNetwork() , disableNetwork() , reconnect() , এবং disconnect() — সর্বদা false ফেরত দেয়।

অ্যান্ড্রয়েড 9

Every Android release includes dozens of security enhancements to protect users. For a list of some of the major security enhancements available in Android 9, see the Android Release Notes.

অ্যান্ড্রয়েড 8

Every Android release includes dozens of security enhancements to protect users. Here are some of the major security enhancements available in Android 8.0:

  • Encryption. Added support to evict key in work profile.
  • Verified Boot. Added Android Verified Boot (AVB). Verified Boot codebase supporting rollback protection for use in boot loaders added to AOSP. Recommend bootloader support for rollback protection for the HLOS. Recommend boot loaders can only be unlocked by user physically interacting with the device.
  • Lock screen. Added support for using tamper-resistant hardware to verify lock screen credential.
  • KeyStore. Required key attestation for all devices that ship with Android 8.0+. Added ID attestation support to improve Zero Touch Enrollment.
  • Sandboxing. More tightly sandboxed many components using Project Treble's standard interface between framework and device-specific components. Applied seccomp filtering to all untrusted apps to reduce the kernel's attack surface. WebView is now run in an isolated process with very limited access to the rest of the system.
  • Kernel hardening. Implemented hardened usercopy, PAN emulation, read-only after init, and KASLR.
  • Userspace hardening. Implemented CFI for the media stack. App overlays can no longer cover system-critical windows and users have a way to dismiss them.
  • Streaming OS update. Enabled updates on devices that are are low on disk space.
  • Install unknown apps. Users must grant permission to install apps from a source that isn't a first-party app store.
  • Privacy. Android ID (SSAID) has a different value for each app and each user on the device. For web browser apps, Widevine Client ID returns a different value for each app package name and web origin. net.hostname is now empty and the dhcp client no longer sends a hostname. android.os.Build.SERIAL has been replaced with the Build.SERIAL API which is protected behind a user-controlled permission. Improved MAC address randomization in some chipsets.

অ্যান্ড্রয়েড 7

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। এখানে Android 7.0 এ উপলব্ধ কিছু প্রধান নিরাপত্তা বর্ধন রয়েছে:

  • ফাইল-ভিত্তিক এনক্রিপশন । ফাইল স্তরে এনক্রিপ্ট করা, সমগ্র স্টোরেজ এলাকাকে একক ইউনিট হিসাবে এনক্রিপ্ট করার পরিবর্তে, একটি ডিভাইসে পৃথক ব্যবহারকারী এবং প্রোফাইলগুলিকে (যেমন ব্যক্তিগত এবং কাজের) আরও ভাল আলাদা করে এবং সুরক্ষিত করে।
  • ডাইরেক্ট বুট । ফাইল-ভিত্তিক এনক্রিপশন দ্বারা সক্ষম, ডাইরেক্ট বুট নির্দিষ্ট অ্যাপগুলিকে অনুমতি দেয় যেমন অ্যালার্ম ঘড়ি এবং অ্যাক্সেসিবিলিটি বৈশিষ্ট্যগুলি যখন ডিভাইস চালু থাকে কিন্তু আনলক না থাকে তখন চালানোর জন্য।
  • যাচাইকৃত বুট । ভেরিফাইড বুট এখন কঠোরভাবে প্রয়োগ করা হয়েছে আপোষকৃত ডিভাইসগুলিকে বুট করা থেকে আটকাতে; এটি অ-দূষিত ডেটা দুর্নীতির বিরুদ্ধে নির্ভরযোগ্যতা উন্নত করতে ত্রুটি সংশোধন সমর্থন করে।
  • SELinux । আপডেট করা SELinux কনফিগারেশন এবং বর্ধিত seccomp কভারেজ অ্যাপ্লিকেশন স্যান্ডবক্সকে আরও লক করে দেয় এবং আক্রমণের পৃষ্ঠকে হ্রাস করে।
  • লাইব্রেরি লোড-অর্ডার র্যান্ডমাইজেশন এবং উন্নত ASLR । বর্ধিত এলোমেলোতা কিছু কোড-পুনঃব্যবহারের আক্রমণকে কম নির্ভরযোগ্য করে তোলে।
  • কার্নেল শক্ত হয়ে যাওয়া । কার্নেল মেমরির অংশগুলিকে শুধুমাত্র পঠনযোগ্য হিসাবে চিহ্নিত করে নতুন কার্নেলের জন্য অতিরিক্ত মেমরি সুরক্ষা যোগ করা হয়েছে, ইউজারস্পেস ঠিকানাগুলিতে কার্নেল অ্যাক্সেস সীমাবদ্ধ করে এবং বিদ্যমান আক্রমণের পৃষ্ঠকে আরও হ্রাস করে।
  • APK স্বাক্ষর স্কিম v2 । একটি সম্পূর্ণ-ফাইল স্বাক্ষর স্কিম প্রবর্তন করা হয়েছে যা যাচাইকরণের গতি উন্নত করে এবং অখণ্ডতার গ্যারান্টিকে শক্তিশালী করে।
  • বিশ্বস্ত CA স্টোর । অ্যাপগুলিকে তাদের নিরাপদ নেটওয়ার্ক ট্র্যাফিকের অ্যাক্সেস নিয়ন্ত্রণ করা সহজ করতে, ব্যবহারকারী-ইনস্টল করা শংসাপত্র কর্তৃপক্ষ এবং ডিভাইস অ্যাডমিন API-এর মাধ্যমে ইনস্টল করা API স্তর 24+ টার্গেট করা অ্যাপগুলির জন্য ডিফল্টরূপে আর বিশ্বাসযোগ্য নয়। উপরন্তু, সমস্ত নতুন অ্যান্ড্রয়েড ডিভাইস একই বিশ্বস্ত CA স্টোরের সাথে পাঠাতে হবে।
  • নেটওয়ার্ক নিরাপত্তা কনফিগারেশন । একটি ঘোষণামূলক কনফিগারেশন ফাইলের মাধ্যমে নেটওয়ার্ক নিরাপত্তা এবং TLS কনফিগার করুন।

অ্যান্ড্রয়েড 6

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। এখানে Android 6.0 এ উপলব্ধ কিছু প্রধান নিরাপত্তা বর্ধন রয়েছে:

  • রানটাইম অনুমতি । অ্যাপ্লিকেশনগুলি অ্যাপ ইনস্টলের সময় মঞ্জুর করার পরিবর্তে রানটাইমে অনুমতির জন্য অনুরোধ করে। ব্যবহারকারীরা এম এবং প্রি-এম উভয় অ্যাপ্লিকেশনের জন্য অনুমতি চালু এবং বন্ধ করতে পারে।
  • যাচাইকৃত বুট । সিস্টেম সফ্টওয়্যারের ক্রিপ্টোগ্রাফিক চেকগুলির একটি সেট কার্যকর করার আগে পরিচালনা করা হয় যাতে বুটলোডার থেকে অপারেটিং সিস্টেম পর্যন্ত ফোনটি সুস্থ থাকে।
  • হার্ডওয়্যার-বিচ্ছিন্ন নিরাপত্তা । নতুন হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) ফিঙ্গারপ্রিন্ট API, লকস্ক্রিন, ডিভাইস এনক্রিপশন এবং ক্লায়েন্ট সার্টিফিকেট দ্বারা কার্নেল আপস এবং/অথবা স্থানীয় শারীরিক আক্রমণের বিরুদ্ধে কীগুলি রক্ষা করার জন্য ব্যবহৃত হয়
  • আঙুলের ছাপ । ডিভাইসগুলি এখন শুধুমাত্র একটি স্পর্শ দিয়ে আনলক করা যেতে পারে। বিকাশকারীরা এনক্রিপশন কী লক এবং আনলক করতে আঙ্গুলের ছাপ ব্যবহার করতে নতুন API-এর সুবিধাও নিতে পারে।
  • এসডি কার্ড গ্রহণ । অপসারণযোগ্য মিডিয়া একটি ডিভাইসে গ্রহণ করা যেতে পারে এবং অ্যাপের স্থানীয় ডেটা, ফটো, ভিডিও ইত্যাদির জন্য উপলব্ধ স্টোরেজ প্রসারিত করা যেতে পারে, তবে ব্লক-লেভেল এনক্রিপশন দ্বারা সুরক্ষিত থাকবে।
  • টেক্সট ট্রাফিক সাফ করুন । ডেভেলপাররা একটি নতুন স্ট্রিক্টমোড ব্যবহার করতে পারে তা নিশ্চিত করতে যে তাদের অ্যাপ্লিকেশনটি ক্লিয়ারটেক্সট ব্যবহার করে না।
  • সিস্টেম শক্ত করা । SELinux দ্বারা প্রয়োগকৃত নীতির মাধ্যমে সিস্টেমের শক্তকরণ। এটি ব্যবহারকারীদের মধ্যে আরও ভাল বিচ্ছিন্নতা, IOCTL ফিল্টারিং, উন্মুক্ত পরিষেবার হুমকি কমাতে, SELinux ডোমেনগুলির আরও আঁটসাঁট করা এবং অত্যন্ত সীমিত/proc অ্যাক্সেস প্রদান করে।
  • ইউএসবি অ্যাক্সেস কন্ট্রোল: ব্যবহারকারীদের অবশ্যই ফোনে ফাইল, স্টোরেজ বা অন্যান্য কার্যকারিতায় USB অ্যাক্সেসের অনুমতি দিতে হবে। ডিফল্ট এখন শুধুমাত্র ব্যবহারকারীর কাছ থেকে স্পষ্ট অনুমোদন প্রয়োজন স্টোরেজ অ্যাক্সেস সঙ্গে চার্জ করা হয়.

অ্যান্ড্রয়েড 5

5.0

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। এখানে Android 5.0 এ উপলব্ধ কিছু প্রধান নিরাপত্তা বর্ধন রয়েছে:

  • ডিফল্টরূপে এনক্রিপ্ট করা. যে সমস্ত ডিভাইসে L-এর সাথে শিপিং করা হয় সেগুলোতে, হারিয়ে যাওয়া বা চুরি হওয়া ডিভাইসগুলিতে ডেটা সুরক্ষা উন্নত করতে ডিফল্টরূপে সম্পূর্ণ ডিস্ক এনক্রিপশন সক্রিয় করা হয়। L-এ আপডেট করা ডিভাইসগুলিকে সেটিংস > নিরাপত্তা -এ এনক্রিপ্ট করা যেতে পারে।
  • উন্নত সম্পূর্ণ ডিস্ক এনক্রিপশন। ব্যবহারকারীর পাসওয়ার্ডটি scrypt ব্যবহার করে ব্রুট-ফোর্স আক্রমণের বিরুদ্ধে সুরক্ষিত এবং যেখানে উপলব্ধ, অফ-ডিভাইস আক্রমণ প্রতিরোধ করার জন্য কীটি হার্ডওয়্যার কীস্টোরে আবদ্ধ থাকে। বরাবরের মতো, অ্যান্ড্রয়েড স্ক্রিন লক সিক্রেট এবং ডিভাইস এনক্রিপশন কী ডিভাইস থেকে পাঠানো হয় না বা কোনো অ্যাপ্লিকেশনের কাছে প্রকাশ করা হয় না।
  • অ্যান্ড্রয়েড স্যান্ডবক্স SELinux-এর সাহায্যে শক্তিশালী করা হয়েছে । অ্যান্ড্রয়েডের এখন সমস্ত ডোমেনের জন্য এনফোর্সিং মোডে SELinux প্রয়োজন৷ SELinux হল Linux কার্নেলের একটি বাধ্যতামূলক অ্যাক্সেস কন্ট্রোল (MAC) সিস্টেম যা বিদ্যমান ডিসক্রিশনারি এক্সেস কন্ট্রোল (DAC) নিরাপত্তা মডেলকে বৃদ্ধি করতে ব্যবহৃত হয়। এই নতুন স্তর সম্ভাব্য নিরাপত্তা দুর্বলতার বিরুদ্ধে অতিরিক্ত সুরক্ষা প্রদান করে।
  • স্মার্ট লক। অ্যান্ড্রয়েডে এখন ট্রাস্টলেট রয়েছে যা ডিভাইস আনলক করার জন্য আরও নমনীয়তা প্রদান করে। উদাহরণস্বরূপ, ট্রাস্টলেটগুলি অন্য বিশ্বস্ত ডিভাইসের কাছাকাছি (NFC, ব্লুটুথের মাধ্যমে) বা বিশ্বস্ত মুখের কেউ ব্যবহার করার সময় ডিভাইসগুলিকে স্বয়ংক্রিয়ভাবে আনলক করার অনুমতি দিতে পারে।
  • ফোন ও ট্যাবলেটের জন্য একাধিক ব্যবহারকারী, সীমাবদ্ধ প্রোফাইল এবং অতিথি মোড। অ্যান্ড্রয়েড এখন ফোনে একাধিক ব্যবহারকারীদের জন্য সরবরাহ করে এবং একটি অতিথি মোড অন্তর্ভুক্ত করে যা আপনার ডেটা এবং অ্যাপগুলিতে অ্যাক্সেস না দিয়ে আপনার ডিভাইসে সহজ অস্থায়ী অ্যাক্সেস প্রদান করতে ব্যবহার করা যেতে পারে।
  • OTA ছাড়া WebView-এ আপডেট। ওয়েবভিউ এখন ফ্রেমওয়ার্ক থেকে স্বাধীন এবং সিস্টেম OTA ছাড়াই আপডেট করা যেতে পারে। এটি WebView-এ সম্ভাব্য নিরাপত্তা সংক্রান্ত সমস্যার দ্রুত প্রতিক্রিয়ার জন্য অনুমতি দেবে।
  • HTTPS এবং TLS/SSL-এর জন্য আপডেট করা ক্রিপ্টোগ্রাফি। TLSv1.2 এবং TLSv1.1 এখন সক্রিয় করা হয়েছে, ফরওয়ার্ড গোপনীয়তা এখন পছন্দ করা হয়েছে, AES-GCM এখন সক্ষম করা হয়েছে, এবং দুর্বল সাইফার স্যুটগুলি (MD5, 3DES, এবং এক্সপোর্ট সাইফার স্যুট) এখন অক্ষম৷ আরও বিস্তারিত জানার জন্য https://developer.android.com/reference/javax/net/ssl/SSLSocket.html দেখুন।
  • নন-পিআইই লিঙ্কার সমর্থন সরানো হয়েছে। অ্যান্ড্রয়েডের এখন PIE (পজিশন-স্বাধীন এক্সিকিউটেবল) সমর্থন করার জন্য সমস্ত গতিশীলভাবে লিঙ্কযুক্ত এক্সিকিউটেবল প্রয়োজন। এটি Android এর অ্যাড্রেস স্পেস লেআউট র্যান্ডমাইজেশন (ASLR) বাস্তবায়নকে উন্নত করে।
  • FORTIFY_SOURCE উন্নতি। নিম্নলিখিত libc ফাংশনগুলি এখন FORTIFY_SOURCE সুরক্ষা প্রয়োগ করে: stpcpy() , stpncpy() , read() , recvfrom() , FD_CLR() , FD_SET() , এবং FD_ISSET() । এটি সেই ফাংশনগুলির সাথে জড়িত মেমরি-দুর্নীতির দুর্বলতার বিরুদ্ধে সুরক্ষা প্রদান করে।
  • নিরাপত্তা সংশোধন. অ্যান্ড্রয়েড 5.0-এ অ্যান্ড্রয়েড-নির্দিষ্ট দুর্বলতার জন্য ফিক্সও রয়েছে৷ ওপেন হ্যান্ডসেট অ্যালায়েন্স সদস্যদের এই দুর্বলতা সম্পর্কে তথ্য প্রদান করা হয়েছে, এবং সমাধানগুলি অ্যান্ড্রয়েড ওপেন সোর্স প্রকল্পে উপলব্ধ। নিরাপত্তা উন্নত করতে, Android এর আগের সংস্করণ সহ কিছু ডিভাইসে এই সংশোধনগুলি অন্তর্ভুক্ত থাকতে পারে।

অ্যান্ড্রয়েড 4 এবং তার নিচের

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। অ্যান্ড্রয়েড 4.4-এ উপলব্ধ কিছু নিরাপত্তা বর্ধিতকরণ নিম্নরূপ:

  • অ্যান্ড্রয়েড স্যান্ডবক্স SELinux-এর সাহায্যে শক্তিশালী করা হয়েছে। Android এখন এনফোর্সিং মোডে SELinux ব্যবহার করে। SELinux হল Linux কার্নেলের একটি বাধ্যতামূলক অ্যাক্সেস কন্ট্রোল (MAC) সিস্টেম যা বিদ্যমান ডিসক্রিশনারি এক্সেস কন্ট্রোল (DAC) ভিত্তিক নিরাপত্তা মডেলকে বৃদ্ধি করতে ব্যবহৃত হয়। এটি সম্ভাব্য নিরাপত্তা দুর্বলতার বিরুদ্ধে অতিরিক্ত সুরক্ষা প্রদান করে।
  • প্রতি ব্যবহারকারী ভিপিএন। মাল্টি-ইউজার ডিভাইসে, ভিপিএন এখন ব্যবহারকারী পিছু প্রয়োগ করা হয়। এটি একটি ব্যবহারকারীকে ডিভাইসের অন্যান্য ব্যবহারকারীদের প্রভাবিত না করে একটি VPN এর মাধ্যমে সমস্ত নেটওয়ার্ক ট্র্যাফিক রুট করার অনুমতি দিতে পারে৷
  • AndroidKeyStore এ ECDSA প্রদানকারী সমর্থন। অ্যান্ড্রয়েড এখন একটি কীস্টোর প্রদানকারী রয়েছে যা ECDSA এবং DSA অ্যালগরিদম ব্যবহারের অনুমতি দেয়।
  • ডিভাইস মনিটরিং সতর্কতা. ডিভাইস শংসাপত্রের দোকানে কোনো শংসাপত্র যোগ করা হলে Android ব্যবহারকারীদের একটি সতর্কতা প্রদান করে যা এনক্রিপ্ট করা নেটওয়ার্ক ট্র্যাফিকের নিরীক্ষণের অনুমতি দিতে পারে।
  • FORTIFY_SOURCE Android এখন FORTIFY_SOURCE স্তর 2 সমর্থন করে এবং সমস্ত কোড এই সুরক্ষাগুলির সাথে সংকলিত হয়েছে৷ ঝনঝন শব্দের সাথে কাজ করার জন্য FORTIFY_SOURCE উন্নত করা হয়েছে৷
  • সার্টিফিকেট পিনিং। Android 4.4 নিরাপদ SSL/TLS যোগাযোগে ব্যবহৃত প্রতারণামূলক Google শংসাপত্রের ব্যবহার সনাক্ত করে এবং প্রতিরোধ করে।
  • নিরাপত্তা সংশোধন. অ্যান্ড্রয়েড 4.4-এ অ্যান্ড্রয়েড-নির্দিষ্ট দুর্বলতার জন্য ফিক্সও রয়েছে। এই দুর্বলতা সম্পর্কে তথ্য ওপেন হ্যান্ডসেট অ্যালায়েন্স সদস্যদের প্রদান করা হয়েছে এবং সমাধানগুলি অ্যান্ড্রয়েড ওপেন সোর্স প্রকল্পে উপলব্ধ। নিরাপত্তা উন্নত করতে, Android এর আগের সংস্করণ সহ কিছু ডিভাইসে এই সংশোধনগুলি অন্তর্ভুক্ত থাকতে পারে।

প্রতিটি অ্যান্ড্রয়েড রিলিজে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। অ্যান্ড্রয়েড 4.3-এ উপলব্ধ নিরাপত্তা বর্ধনের কয়েকটি নিম্নরূপ:

  • অ্যান্ড্রয়েড স্যান্ডবক্স SELinux-এর সাহায্যে শক্তিশালী করা হয়েছে। এই রিলিজটি Linux কার্নেলে SELinux বাধ্যতামূলক অ্যাক্সেস কন্ট্রোল সিস্টেম (MAC) ব্যবহার করে Android স্যান্ডবক্সকে শক্তিশালী করে। SELinux শক্তিবৃদ্ধি ব্যবহারকারী এবং বিকাশকারীদের কাছে অদৃশ্য, এবং বিদ্যমান অ্যাপ্লিকেশনগুলির সাথে সামঞ্জস্য বজায় রেখে বিদ্যমান অ্যান্ড্রয়েড সুরক্ষা মডেলে দৃঢ়তা যোগ করে। অবিরত সামঞ্জস্য নিশ্চিত করতে এই রিলিজটি অনুমতিমূলক মোডে SELinux ব্যবহারের অনুমতি দেয়। এই মোড কোনো নীতি লঙ্ঘন লগ, কিন্তু অ্যাপ্লিকেশন ভাঙ্গা বা সিস্টেম আচরণ প্রভাবিত করবে না.
  • কোনো setuid/setgid প্রোগ্রাম নেই। অ্যান্ড্রয়েড সিস্টেম ফাইলগুলিতে ফাইল সিস্টেমের ক্ষমতার জন্য সমর্থন যোগ করা হয়েছে এবং সমস্ত সেটুইড/সেটগুইড প্রোগ্রামগুলি সরানো হয়েছে। এটি মূল আক্রমণের পৃষ্ঠ এবং সম্ভাব্য নিরাপত্তা দুর্বলতার সম্ভাবনা হ্রাস করে।
  • ADB প্রমাণীকরণ। অ্যান্ড্রয়েড 4.2.2 থেকে, ADB-এর সাথে সংযোগগুলি একটি RSA কী-পেয়ার দিয়ে প্রমাণীকৃত হয়। এটি ADB এর অননুমোদিত ব্যবহার প্রতিরোধ করে যেখানে আক্রমণকারীর একটি ডিভাইসে শারীরিক অ্যাক্সেস রয়েছে।
  • Android Apps থেকে Setuid সীমাবদ্ধ করুন। /system পার্টিশনটি এখন জাইগোট-উত্পাদিত প্রক্রিয়াগুলির জন্য nosuid মাউন্ট করা হয়েছে, যা Android অ্যাপ্লিকেশনগুলিকে setuid প্রোগ্রামগুলি চালানো থেকে বাধা দেয়। এটি মূল আক্রমণের পৃষ্ঠ এবং সম্ভাব্য নিরাপত্তা দুর্বলতার সম্ভাবনা হ্রাস করে।
  • ক্ষমতা আবদ্ধ. অ্যান্ড্রয়েড জাইগোট এবং ADB এখন অ্যাপ্লিকেশনগুলি চালানোর আগে অপ্রয়োজনীয় ক্ষমতাগুলি বাদ দিতে prctl(PR_CAPBSET_DROP) ব্যবহার করে৷ এটি শেল থেকে চালু হওয়া অ্যান্ড্রয়েড অ্যাপ্লিকেশান এবং অ্যাপ্লিকেশানগুলিকে সুবিধাপ্রাপ্ত ক্ষমতা অর্জন করতে বাধা দেয়৷
  • AndroidKeyStore প্রদানকারী। অ্যান্ড্রয়েড এখন একটি কীস্টোর প্রদানকারী রয়েছে যা অ্যাপ্লিকেশনগুলিকে একচেটিয়া ব্যবহারের কী তৈরি করতে দেয়৷ এটি ব্যক্তিগত কী তৈরি বা সঞ্চয় করার জন্য একটি API সহ অ্যাপ্লিকেশনগুলি সরবরাহ করে যা অন্যান্য অ্যাপ্লিকেশন দ্বারা ব্যবহার করা যায় না।
  • কীচেইন হল BoundKeyAlgorithm. Keychain API এখন একটি পদ্ধতি (isBoundKeyType) সরবরাহ করে যা অ্যাপ্লিকেশনগুলিকে নিশ্চিত করতে দেয় যে সিস্টেম-ব্যাপী কীগুলি ডিভাইসের জন্য বিশ্বাসের হার্ডওয়্যার রুটের সাথে আবদ্ধ। এটি ব্যক্তিগত কী তৈরি বা সংরক্ষণ করার একটি জায়গা প্রদান করে যা ডিভাইস থেকে রপ্তানি করা যায় না, এমনকি একটি রুট আপস হওয়ার ক্ষেত্রেও।
  • NO_NEW_PRIVS অ্যানড্রয়েড জাইগোট এখন prctl(PR_SET_NO_NEW_PRIVS) ব্যবহার করে এক্সিকিউশন অ্যাপ্লিকেশান কোডের আগে নতুন সুবিধা যোগ করা ব্লক করতে। এটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলিকে ক্রিয়াকলাপগুলি সম্পাদন করতে বাধা দেয় যা execve এর মাধ্যমে বিশেষাধিকারগুলিকে উন্নত করতে পারে৷ (এর জন্য লিনাক্স কার্নেল সংস্করণ 3.5 বা তার বেশি প্রয়োজন)।
  • FORTIFY_SOURCE বর্ধিতকরণ। Android x86 এবং MIPS এবং ফোরটিফাইড strchr(), strrchr(), strlen(), এবং umask() কলগুলিতে FORTIFY_SOURCE সক্ষম করা হয়েছে৷ এটি সম্ভাব্য মেমরি দুর্নীতির দুর্বলতা বা অসমাপ্ত স্ট্রিং ধ্রুবক সনাক্ত করতে পারে।
  • স্থানান্তর সুরক্ষা. স্ট্যাটিকালি লিঙ্ক করা এক্সিকিউটেবলের জন্য রিড অনলি রিলোকেশন (রেলরো) সক্ষম করা হয়েছে এবং অ্যান্ড্রয়েড কোডে সমস্ত টেক্সট রিলোকেশন সরিয়ে দেওয়া হয়েছে। এটি সম্ভাব্য মেমরি দুর্নীতির দুর্বলতার বিরুদ্ধে গভীরভাবে প্রতিরক্ষা প্রদান করে।
  • উন্নত EntropyMixer. EntropyMixer এখন পর্যায়ক্রমিক মিশ্রণ ছাড়াও শাটডাউন/রিবুট এ এনট্রপি লেখে। এটি ডিভাইসগুলি চালিত থাকাকালীন উত্পন্ন সমস্ত এনট্রপি ধরে রাখার অনুমতি দেয় এবং বিশেষত সেই ডিভাইসগুলির জন্য উপযোগী যেগুলি ব্যবস্থা করার পরে অবিলম্বে পুনরায় বুট করা হয়।
  • নিরাপত্তা সংশোধন. অ্যান্ড্রয়েড 4.3-এ অ্যান্ড্রয়েড-নির্দিষ্ট দুর্বলতার জন্য ফিক্সও রয়েছে। ওপেন হ্যান্ডসেট অ্যালায়েন্স সদস্যদের এই দুর্বলতা সম্পর্কে তথ্য প্রদান করা হয়েছে এবং সমাধানগুলি অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্টে উপলব্ধ। নিরাপত্তা উন্নত করতে, Android এর আগের সংস্করণ সহ কিছু ডিভাইসে এই সংশোধনগুলি অন্তর্ভুক্ত থাকতে পারে।

Android provides a multi-layered security model described in the Android Security Overview. Each update to Android includes dozens of security enhancements to protect users. The following are some of the security enhancements introduced in Android 4.2:

  • Application verification - Users can choose to enable “Verify Apps" and have applications screened by an application verifier, prior to installation. App verification can alert the user if they try to install an app that might be harmful; if an application is especially bad, it can block installation.
  • More control of premium SMS - Android will provide a notification if an application attempts to send SMS to a short code that uses premium services which might cause additional charges. The user can choose whether to allow the application to send the message or block it.
  • Always-on VPN - VPN can be configured so that applications will not have access to the network until a VPN connection is established. This prevents applications from sending data across other networks.
  • Certificate Pinning - The Android core libraries now support certificate pinning. Pinned domains will receive a certificate validation failure if the certificate does not chain to a set of expected certificates. This protects against possible compromise of Certificate Authorities.
  • Improved display of Android permissions - Permissions have been organized into groups that are more easily understood by users. During review of the permissions, the user can click on the permission to see more detailed information about the permission.
  • installd hardening - The installd daemon does not run as the root user, reducing potential attack surface for root privilege escalation.
  • init script hardening - init scripts now apply O_NOFOLLOW semantics to prevent symlink related attacks.
  • FORTIFY_SOURCE - Android now implements FORTIFY_SOURCE. This is used by system libraries and applications to prevent memory corruption.
  • ContentProvider default configuration - Applications which target API level 17 will have "export" set to "false" by default for each Content Provider, reducing default attack surface for applications.
  • Cryptography - Modified the default implementations of SecureRandom and Cipher.RSA to use OpenSSL. Added SSL Socket support for TLSv1.1 and TLSv1.2 using OpenSSL 1.0.1
  • Security Fixes - Upgraded open source libraries with security fixes include WebKit, libpng, OpenSSL, and LibXML. Android 4.2 also includes fixes for Android-specific vulnerabilities. Information about these vulnerabilities has been provided to Open Handset Alliance members and fixes are available in Android Open Source Project. To improve security, some devices with earlier versions of Android may also include these fixes.

Android নিরাপত্তা ওভারভিউতে বর্ণিত একটি বহু-স্তর বিশিষ্ট নিরাপত্তা মডেল প্রদান করে। অ্যান্ড্রয়েডের প্রতিটি আপডেটে ব্যবহারকারীদের সুরক্ষার জন্য কয়েক ডজন নিরাপত্তা বর্ধন অন্তর্ভুক্ত রয়েছে। অ্যান্ড্রয়েড 1.5 থেকে 4.1 সংস্করণে প্রবর্তিত কিছু নিরাপত্তা বর্ধিতকরণ নিম্নরূপ:

অ্যান্ড্রয়েড 1.5
  • স্ট্যাক বাফার ওভাররান প্রতিরোধে প্রোপুলিশ (-fstack-protector)
  • পূর্ণসংখ্যা ওভারফ্লো কমাতে safe_iop
  • ডাবল ফ্রি() দুর্বলতা প্রতিরোধ করতে এবং খণ্ড একত্রীকরণ আক্রমণ প্রতিরোধ করতে OpenBSD dlmalloc-এ এক্সটেনশন। খণ্ড একত্রীকরণ আক্রমণ স্তূপ দুর্নীতি শোষণের একটি সাধারণ উপায়।
  • মেমরি বরাদ্দের সময় পূর্ণসংখ্যা ওভারফ্লো প্রতিরোধ করতে OpenBSD calloc
অ্যান্ড্রয়েড 2.3
  • ফর্ম্যাট স্ট্রিং দুর্বলতা সুরক্ষা (-Wformat-security -Werror=format-security)
  • স্ট্যাক এবং হিপে কোড এক্সিকিউশন প্রতিরোধ করতে হার্ডওয়্যার-ভিত্তিক No execute (NX)
  • লিনাক্স mmap_min_addr নাল পয়েন্টার ডিরেফারেন্স প্রিভিলেজ বৃদ্ধি প্রশমিত করতে (অ্যান্ড্রয়েড 4.1 এ আরও উন্নত)
অ্যান্ড্রয়েড 4.0
মেমরির মূল অবস্থানগুলিকে এলোমেলো করতে ঠিকানা স্পেস লেআউট র্যান্ডমাইজেশন (এএসএলআর)
অ্যান্ড্রয়েড 4.1
  • PIE (পজিশন ইন্ডিপেন্ডেন্ট এক্সিকিউটেবল) সমর্থন
  • শুধুমাত্র-পঠন স্থানান্তর / অবিলম্বে বাঁধাই (-Wl,-z,relro -Wl,-z,now)
  • dmesg_restrict সক্রিয় (কার্ণেল ঠিকানা ফাঁস এড়িয়ে চলুন)
  • kptr_restrict সক্রিয় (কার্ণেল ঠিকানা ফাঁস এড়িয়ে চলুন)