অ্যান্ড্রয়েডে ডিস্ক এনক্রিপশন এবং সংবেদনশীল ডেটার সুরক্ষা

  • অ্যান্ড্রয়েড সম্পূর্ণ ডিস্ক এনক্রিপশন থেকে ফাইল-ভিত্তিক এনক্রিপশনে স্থানান্তরিত হয়েছে এবং ক্রেডেনশিয়াল-লিঙ্কড (CE) ও ডিভাইস-লিঙ্কড (DE) স্টোরেজকে আলাদা করেছে।
  • একটি TEE-এর মধ্যে fscrypt, vold, KeyMint/Keymaster এবং Gatekeeper/Weaver দ্বারা এনক্রিপশন কীগুলি পরিচালিত হয়, যা লক পাসওয়ার্ডের সাথে প্রকৃত অ্যাক্সেসকে সংযুক্ত করে।
  • ডাইরেক্ট বুট মোড প্রথমবার আনলক করার আগে নির্দিষ্ট কিছু অ্যাপ ও পরিষেবা কাজ করার সুযোগ দেয়, কিন্তু সংবেদনশীল ডেটা অবশ্যই সর্বদা সিই (CE) স্টোরেজে থাকতে হবে।
  • কার্নেল, SELinux এবং পারমিশনের সঠিক কনফিগারেশন এটা নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ যে, ব্যবহারকারীর ক্রেডেনশিয়াল ছাড়া আনলক করা বুটলোডার বা রুট অ্যাক্সেস কোনোটিই এনক্রিপ্টেড ডেটা ফাঁস করতে পারবে না।

অ্যান্ড্রয়েডে ডিস্ক এনক্রিপশন এবং সংবেদনশীল ডেটার সুরক্ষা

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

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

অ্যান্ড্রয়েডে ডেটা এনক্রিপশন কী এবং এটি কেন এত গুরুত্বপূর্ণ?

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

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

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

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

সম্পূর্ণ ডিস্ক এনক্রিপশন থেকে ফাইল-ভিত্তিক এনক্রিপশন পর্যন্ত

ঐতিহাসিকভাবে, অ্যান্ড্রয়েড ডিভাইস এনক্রিপশনের ক্ষেত্রে দুটি প্রধান পদ্ধতি অবলম্বন করেছে: সম্পূর্ণ ডিস্ক এনক্রিপশন (FDE) এবং ফাইল-ভিত্তিক এনক্রিপশন (FBE)এই পার্থক্যটি বুঝতে পারলে যেকোনো নির্দিষ্ট সময়ে কী সুরক্ষিত হচ্ছে এবং ফোন 'লক' থাকা সত্ত্বেও কেন কিছু নির্দিষ্ট ফাংশন কাজ করতে থাকে, তা বুঝতে অনেক সুবিধা হয়।

সম্পূর্ণ ডিস্ক এনক্রিপশন অ্যান্ড্রয়েড ৪.৪ (এপিআই ১৯)-এ চালু করা হয়েছিল এবং অ্যান্ড্রয়েড ৫.০ (এপিআই ২১)-এর মাধ্যমে এটি প্রকৃত জনপ্রিয়তা লাভ করে। এই মডেলে, সম্পূর্ণ ব্যবহারকারীর ডেটা পার্টিশনটি একটিমাত্র কী দ্বারা সুরক্ষিত।ওই কী-টি ব্যবহারকারীর ক্রেডেনশিয়াল থেকে তৈরি হয়, তাই সিস্টেম চালুর সময় আপনার পিন, প্যাটার্ন বা পাসওয়ার্ড প্রবেশ না করানো পর্যন্ত /data-এর কোনো কিছুই অ্যাক্সেস করতে পারে না।

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

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

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

ডাইরেক্ট স্টার্ট মোড এবং CE/DE পৃথকীকরণ কীভাবে কাজ করে

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

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

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

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

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

আধুনিক অ্যান্ড্রয়েডে এনক্রিপশনের প্রযুক্তিগত প্রয়োজনীয়তা এবং বাধ্যতামূলক প্রকৃতি

অ্যান্ড্রয়েড ৭.০-তে এফবিই (FBE) ব্যবহারের সুযোগ রয়েছে, এবং অ্যান্ড্রয়েড ১০ থেকে গুগল এটি বাধ্যতামূলক করেছে। ঐ সংস্করণ বা তার পরে প্রকাশিত সমস্ত ডিভাইস ফাইল-ভিত্তিক এনক্রিপশন ব্যবহার করবে।যেসব ফোনে হার্ডওয়্যার AES এনক্রিপশন অ্যাক্সিলারেশন নেই, সেগুলোতে ভালো পারফরম্যান্স বজায় রাখার জন্য Adiantum অ্যালগরিদম ব্যবহার করা হয়।

FBE যথাযথভাবে বাস্তবায়ন করতে হলে, প্রস্তুতকারককে বেশ কিছু নিম্ন-স্তরের প্রয়োজনীয়তা পূরণ করতে হবে। একদিকে, ডিভাইসটির লিনাক্স কার্নেলকে অবশ্যই fscrypt ফাইল সিস্টেম এনক্রিপশন লেয়ার সমর্থন করতে হবে। ext4 বা F2FS-এর জন্য (অ্যান্ড্রয়েডে /data-এর জন্য এই দুটিই প্রচলিত বিকল্প)। আধুনিক কার্নেলগুলিতে, কেবল CONFIG_FS_ENCRYPTION-এর মতো বিকল্পগুলি সক্রিয় করুন এবং, যদি আপনি ইনলাইন এনক্রিপশনের সুবিধা নিতে চান, তাহলে CONFIG_FS_ENCRYPTION_INLINE_CRYPT সক্রিয় করুন।

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

ডিভাইসটিতে অবশ্যই একটি থাকতে হবে হার্ডওয়্যার রুট অফ ট্রাস্ট এবং একটি যাচাইকৃত বুট এটি KeyMint ইনিশিয়ালাইজেশন প্রক্রিয়ার সাথে যুক্ত, যা ডিভাইস এনক্রিপশন (DE) কী-গুলিতে অননুমোদিত প্রবেশ প্রতিরোধ করে। অন্য কথায়, পরিবর্তিত ফার্মওয়্যার ফ্ল্যাশ করা হলেও, বুট চেইন বৈধ না হলে নিরাপত্তা হার্ডওয়্যারটি কী-গুলি প্রকাশ করতে অস্বীকার করে।

কনফিগারেশন পর্যায়ে, ডিভাইসের ইউজারডেটা পার্টিশনের fstab ফাইলটি সম্পাদনা করে FBE এনক্রিপশন সক্রিয় করা হয়। সেখানে একটি অপশন নির্দিষ্ট করা থাকে। ফাইল এনক্রিপশন=… যা কন্টেন্ট এনক্রিপশন অ্যালগরিদম (সাধারণত aes-256-xts বা Adiantum), ফাইল নামকরণের অ্যালগরিদম (aes-256-cts, aes-256-heh, aes-256-hctr2 বা adiantum) এবং একাধিক ঐচ্ছিক ফ্ল্যাগ (v1/v2, inlinecrypt_optimized, emmc_optimized, wrappedkey_v0, dusize_4k) নির্ধারণ করে।

সিস্টেমের কোন অংশগুলো এনক্রিপ্ট করা আছে এবং কীগুলো কীভাবে সাজানো আছে?

সঠিকভাবে FBE কনফিগার করা একটি অ্যান্ড্রয়েড সিস্টেমে, /data সংগঠিত থাকে বিভিন্ন "স্টোরেজ ক্লাস" যে চাবিটি সেগুলোকে রক্ষা করে এবং যে মুহূর্তে সেগুলো ব্যবহারযোগ্য হয়ে ওঠে, তার ওপর নির্ভর করে।

এমন কিছু ডিরেক্টরি আছে যা FBE দিয়ে এনক্রিপ্ট করা নয় (যদিও অনেক ক্ষেত্রে সেগুলি মেটাডেটা এনক্রিপশন দিয়ে এনক্রিপ্ট করা থাকে), যেমন /ডেটা/এপেক্স (কিছু সাবডিরেক্টরি ছাড়া), /data/lost+found, /data/preloads অথবা /data/unencrypted। এই পাথগুলোতে সিস্টেমের এমন উপাদান বা কাঠামো সংরক্ষিত থাকে, যেগুলোকে ব্যবহারকারীর ক্রেডেনশিয়ালের সাথে সংযুক্ত করার প্রয়োজন হয় না।

তারপর আছে শ্রেণী সিস্টেমএই ক্যাটাগরিটি ডিভাইস অনুযায়ী এনক্রিপ্টেড ডেটাকে গ্রুপ করে, যা কোনো নির্দিষ্ট ব্যবহারকারীর নয়: /data/app, /data/misc, /data/system, /data/vendor, এবং /data-এর অন্যান্য সাবডিরেক্টরি। এছাড়াও, ক্ষণস্থায়ী ফাইলগুলির জন্য একটি "per_boot" ক্লাস (/data/per_boot) রয়েছে, যেগুলি রিবুটের পরেও টিকে থাকার প্রয়োজন নেই।

প্রতিটি ব্যবহারকারীর জন্য নির্দিষ্ট CE এবং DE রুট তৈরি করা হয়: /data/user/${user_id}, /data/system_ce/${user_id}, /data/misc_ce/${user_id}, /data/vendor_ce/${user_id} অভ্যন্তরীণ CE-এর জন্য; এবং অভ্যন্তরীণ DE-এর জন্য /data/user_de/${user_id}, /data/system_de/${user_id}, /data/misc_de/${user_id}, /data/vendor_de/${user_id}। যদি অ্যাডপ্টেবল স্টোরেজ উপস্থিত থাকে (এসডি কার্ড যা অভ্যন্তরীণ মেমরির একটি এক্সটেনশনে রূপান্তরিত হয়েছে), তাহলে অনুরূপ কাঠামো /mnt/expand/${volume_uuid}/-এর অধীনে প্রতিলিপি করা হয়।

অ্যান্ড্রয়েড ভলিউম ডেমন vold-এর মাধ্যমে কী ম্যানেজমেন্ট পরিচালিত হয়। ভোল্ড FBE কীগুলি পরিচালনা করে এবং সেগুলিকে ডিস্কে এনক্রিপ্ট করে সংরক্ষণ করে। (ব্যতিক্রম হলো 'অন বুট' কী, যা প্রতিবার ডিরাইভ করা হয় এবং কখনো সেভ করা হয় না)। উদাহরণস্বরূপ, অভ্যন্তরীণ ব্যবহারকারীর CE এবং DE কীগুলো যথাক্রমে /data/misc/vold/user_keys/ce/${user_id} এবং /data/misc/vold/user_keys/de/${user_id} -এ স্টোর করা থাকে, যেগুলো আবার TEE-এর ভেতরের Keystore-এ সংরক্ষিত কী দ্বারা সুরক্ষিত থাকে।

অভ্যন্তরীণ স্টোরেজের CE কীগুলি ছাড়া, বাকি FBE কীগুলি কীস্টোর কী ব্যবহার করে AES-256-GCM দিয়ে মোড়ানো থাকে, যা সুরক্ষিত পরিবেশের বাইরে যায় না। এছাড়াও, রোলব্যাক রেজিস্ট্যান্স এবং 'সেকডিসকার্ডেবল' ফাইলের মতো কৌশল ব্যবহার করা হয়। পূর্ববর্তী সিস্টেম অবস্থা পুনরুদ্ধারের প্রচেষ্টা সত্ত্বেও, কোনো কী মুছে ফেলা যেন সত্যিই স্থায়ী হয়, তা নিশ্চিত করা।

স্ক্রিন লক, সিন্থেটিক পাসওয়ার্ড এবং সিই কী-এর মধ্যে সম্পর্ক

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

system_server-এ অবস্থিত LockSettingsService সার্ভিসটি সেই সিন্থেটিক পাসওয়ার্ডটি পরিচালনা করে। যখন আপনি আপনার পিন বা স্ক্রিন পাসওয়ার্ড সেট করেন বা পরিবর্তন করেনসিস্টেমটি সেই LSKF ফাইলটি গ্রহণ করে, সেটিকে (কিছুটা সুরক্ষিত করার জন্য) scrypt-এর মধ্য দিয়ে চালনা করে এবং ডিভাইসের হার্ডওয়্যারের উপর নির্ভর করে Weaver বা Gatekeeper-এর সাথে যোগাযোগ করার জন্য ব্যবহার করে।

উইভার-সক্ষম ডিভাইসগুলিতে, সুরক্ষিত LSKF-টি একটি সিকিওর এলিমেন্ট (SE) বা TEE-তে সংরক্ষিত একটি উচ্চ-এনট্রপি র‍্যান্ডম সিক্রেটের সাথে যুক্ত থাকে। এরপর সিন্থেটিক পাসওয়ার্ডটি দুইবার এনক্রিপ্ট করা হয়: প্রথমে LSKF এবং উইভার সিক্রেট থেকে প্রাপ্ত একটি কী দিয়ে, এবং তারপর একটি কীস্টোর কী দিয়ে। এটি একটি নতুন বৈশিষ্ট্য তৈরি করে। হার্ডওয়্যার-প্রবর্তিত চেষ্টার হারের সীমা পাসওয়ার্ড অনুমান করে দ্রুত ব্রুট-ফোর্স আক্রমণ প্রতিরোধ করা।

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

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

আনলক করা বা রুট করা বুটলোডার থাকলেও কি এনক্রিপশন সুরক্ষিত থাকে?

অ্যান্ড্রয়েডে ডিস্ক এনক্রিপশন এবং সংবেদনশীল ডেটার সুরক্ষা

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

বাস্তবে, আধুনিক অ্যান্ড্রয়েড মডেল দুটি জিনিস চায়: একদিকে, যে LSKF ছাড়া CE কী পাওয়া যাবে না।এটি সম্ভব হয়েছে TEE/SE, Gatekeeper/Weaver, এবং Keystore-এর সম্মিলিত ব্যবহারের কারণে; এবং এর আরেকটি কারণ হলো, কোনো অবিশ্বস্ত সিস্টেম শনাক্ত হলে ভেরিফায়েড বুট DE কী-গুলোতে অ্যাক্সেস ব্লক করে দেয়। তবে, এর কিছু গুরুত্বপূর্ণ সূক্ষ্ম বিষয় রয়েছে।

এর মধ্যে একটি হলো যে, FBE যুক্ত ডিভাইসগুলিতে, /data-এর কিছু বিষয়বস্তু পিন প্রবেশ করানোর আগেও DE-তে পাওয়া যেতে পারে।এর মধ্যে রয়েছে অভ্যন্তরীণ কাঠামো, সহায়ক ফাইল, এবং এমনকি /data/misc, /data/system বা অনুরূপ স্থানের কিছু নির্দিষ্ট ডিরেক্টরি, যেগুলো ডিস্কে এনক্রিপ্ট করা থাকলেও বুট করার পরে ডিক্রিপ্ট হয়ে যায়, কারণ ব্যবহারকারীর হস্তক্ষেপ ছাড়াই ডিই (DE) কী উপলব্ধ থাকে।

কিছু বাস্তব-জীবনের পরীক্ষায় দেখা গেছে, উদাহরণস্বরূপ, LineageOS 16 (Android 9), সক্রিয় FBE এবং SD কার্ড চালু থাকা একটি Moto X4-এ, আপনি যখন লক স্ক্রিনে পৌঁছান, তখন /data ইতিমধ্যেই মাউন্ট করা অবস্থায় দেখা যায়।ADB রুট শেল থেকে পাসওয়ার্ড ছাড়াই কিছু নির্দিষ্ট ফাইল এক্সট্র্যাক্ট করা যায়। তবে, অন্যগুলো ব্যর্থ হয় বা অ্যাক্সেসযোগ্য বলে মনে হয় না, যা নির্দেশ করে যে সেগুলো CE-এর সাথে সঠিকভাবে সংযুক্ত আছে।

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

এই ধরনের পরিস্থিতিগুলো মূলত FBE-এর নকশারই কোনো ত্রুটি নয়, বরং বাস্তবায়ন ত্রুটি বা অনিরাপদ কনফিগারেশন কাস্টম রম, পরিবর্তিত রিকভারি, বা এমন ডিভাইস যেখানে প্রস্তুতকারক সমস্ত সুপারিশ অনুসরণ করেনি (উদাহরণস্বরূপ, কে /data/misc/vold অ্যাক্সেস করতে পারবে তা সঠিকভাবে আলাদা না করা, SELinux স্ট্রিক্ট মোডে প্রয়োগ না করা, বা CE-তে থাকা ডেটা সঠিকভাবে আলাদা না করা), সেখানে পর্যালোচনা করুন এবং সামঞ্জস্য করুন। নিরাপত্তা বিন্যাস এই ঝুঁকিগুলো কমাতে সাহায্য করে।

আমার ফোন লক থাকা সত্ত্বেও Spotify, YouTube বা নোটিফিকেশনগুলো কেন কাজ করে?

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

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

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

ডিক্রিপশন করতে আক্ষরিক অর্থে "১ সেকেন্ড" লাগে না; যা ঘটে তা হলো... স্টার্টআপ এবং প্রথম আনলকিংয়ের সময়ই মূল কাজগুলো সম্পন্ন হয়ে গেছে।তারপর থেকে, সিস্টেমটি কী-গুলো সক্রিয় রাখে (পরবর্তী রিস্টার্ট পর্যন্ত), যাতে সবকিছু ক্রমাগত পুনরায় গণনা করতে না হয়, যা ব্যবহারকারীর অভিজ্ঞতাকে অসহনীয় করে তুলবে।

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

সিস্টেম অ্যাপগুলো ডাইরেক্ট বুট দিয়ে কী করতে পারে এবং কী করতে পারে না

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

একটি অ্যাপের ম্যানিফেস্টে দুটি প্রাসঙ্গিক অ্যাট্রিবিউট ঘোষণা করা যেতে পারে: অ্যান্ড্রয়েড:ডাইরেক্টবুটঅ্যাওয়ার এবং android:defaultToDeviceProtectedStorage। প্রথমটি নির্দেশ করে যে অ্যাপের সমস্ত উপাদান এনক্রিপশন সম্পর্কে অবগত এবং ডিরেক্ট বুট মোডে কাজ করতে পারে; দ্বিতীয়টি অ্যাপটিকে ডিফল্টরূপে তার ডেটার জন্য CE-এর পরিবর্তে DE স্টোরেজ ব্যবহার করতে বাধ্য করে।

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

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

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

এসডি কার্ড এনক্রিপশন এবং অ্যাডপ্টেবল স্টোরেজ: সুবিধা এবং অসুবিধা

যখন আপনি একটি এসডি কার্ডকে অ্যাডপ্টেবল স্টোরেজ হিসেবে ব্যবহার করেন, তখন অ্যান্ড্রয়েড সেটিকে ইন্টারনাল মেমোরির একটি এনক্রিপ্টেড এক্সটেনশন হিসেবে গণ্য করে। কার্ডটি এমন একটি কী দিয়ে এনক্রিপ্ট করা হয়েছে, যা নীতিগতভাবে শুধুমাত্র ডিভাইসটি নিজেই ব্যবহার করতে পারার কথা।এবং সেই কী-টি অন্যান্য ভলিউম কী-গুলির সাথে এনক্রিপ্ট করা অবস্থায় /data/misc_ce/${user_id}/vold/volume_keys/${volume_uuid} অথবা /data/misc_de/${user_id}/vold/volume_keys/${volume_uuid} এর মতো পাথে সংরক্ষিত থাকে।

অ্যান্ড্রয়েড ৯ থেকে এফবিই (FBE) এবং অ্যাডপ্টেবল স্টোরেজ সম্পূর্ণরূপে সমর্থিত, এবং অ্যান্ড্রয়েড ১১ থেকে কন্টেন্ট ও মেটাডেটা এনক্রিপশন ফরম্যাট নির্ধারণের পদ্ধতিকে সিস্টেম প্রপার্টিজের মাধ্যমে একীভূত করা হয়েছে, যেমন— ro.crypto.volume.options অথবা ro.crypto.volume.metadata.encryption। পূর্ববর্তী সংস্করণগুলিতে, কন্টেন্ট মোড এবং ফাইলের নামের জন্য আলাদা প্রোপার্টি ব্যবহার করা হতো, এবং অনেক ডিভাইসে অ্যাডপ্টেবল ভলিউমের নামগুলির জন্য ডিফল্ট মানটি সুপারিশযোগ্য ছিল না, তাই এটিকে স্পষ্টভাবে সমন্বয় করতে হতো।

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

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

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

এনক্রিপশন, কর্মক্ষমতা এবং সম্ভাব্য অসুবিধা

এনক্রিপশনের জন্য গণনাগত খরচ হয়: এনক্রিপ্ট করা ডেটা পড়া বা লেখার জন্য AES-256-XTS বা Adiantum-এর মতো অ্যালগরিদম ব্যবহার করতে হয়। হার্ডওয়্যার ক্রিপ্টোগ্রাফিক ত্বরণ সহ আধুনিক ডিভাইসগুলিতে (উদাহরণস্বরূপ, ARM64-এ ARMv8 CE এক্সটেনশন), পারফরম্যান্স এবং বিদ্যুৎ খরচের উপর এর প্রভাব খুবই সামান্য এবং প্রায় অলক্ষ্যনীয়।

পারফরম্যান্স সর্বোচ্চ করার জন্য, সাধারণ অ্যান্ড্রয়েড কার্নেলগুলোতে একটি ফ্রেমওয়ার্ক অন্তর্ভুক্ত থাকে। ইনলাইন এনক্রিপশনএটি নির্দিষ্ট কিছু স্টোরেজ কন্ট্রোলারকে (UFS, eMMC) ডেটা আদান-প্রদানের সময় এনক্রিপ্ট এবং ডিক্রিপ্ট করার সুযোগ দেয়। CONFIG_BLK_INLINE_ENCRYPTION, CONFIG_SCSI_UFS_CRYPTO, বা CONFIG_MMC_CRYPTO-এর মতো অপশনগুলো এবং inlinecrypt_optimized বা emmc_optimized-এর মতো ফ্ল্যাগগুলো সক্রিয় করলে ওভারহেড কমাতে এবং ব্যাটারির আয়ু বাড়াতে সাহায্য করে।

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

আরেকটি বিষয় মনে রাখতে হবে যে, একবার স্টোরেজ এনক্রিপ্ট করা হয়ে গেলে, ফ্যাক্টরি রিসেট ছাড়া সাধারণত আর আগের অবস্থায় ফেরা যায় না।ডিস্ক এনক্রিপশন ফরম্যাটটি `fstab`-এর `fileencryption`-এর মতো অপশন দ্বারা নির্ধারিত হয় এবং এটি একটি সাধারণ ওভার-দ্য-এয়ার (OTA) আপডেটের মাধ্যমে পরিবর্তন করা যায় না। আপনি যদি এনক্রিপশন নিষ্ক্রিয় করতে চান, তবে সাধারণ সমাধান হলো ডেটা পার্টিশনটি মুছে ফেলে নতুন করে শুরু করা।

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

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

পরিশেষে, এই সম্পূর্ণ কাঠামোটি অ্যান্ড্রয়েডে ডিস্ক এনক্রিপশন এবং সংবেদনশীল ডেটার সুরক্ষাকে প্রথম দর্শনে যা মনে হয় তার চেয়ে অনেক বেশি জটিল করে তোলে। FDE এবং FBE-এর মধ্যে, CE এবং DE পরিসর, TEE, KeyMint, Gatekeeper, fscrypt, মেটাডেটা এনক্রিপশন, এবং ভেরিফাইড বুটসিস্টেমটি এমনভাবে ডিজাইন করা হয়েছে যে, কোনো অননুমোদিত আক্রমণকারী ডিভাইসটি হাতে পেলেও এবং পরিবর্তিত সফটওয়্যার বুট করার বা রুট অ্যাক্সেসসহ এডিবি (ADB) ব্যবহার করার চেষ্টা করলেও, ব্যবহারকারীর পাসওয়ার্ড ছাড়া তার পক্ষে কোনো দরকারি তথ্য পড়া অত্যন্ত কঠিন হবে; তবে শর্ত হলো, প্রস্তুতকারককে অবশ্যই সুপারিশগুলো অনুসরণ করতে হবে এবং ব্যবহারকারীকে একটি শক্তিশালী লক, হালনাগাদ আপডেট ও অ্যাপ্লিকেশন ইনস্টল করার সময় সাধারণ জ্ঞান প্রয়োগ করতে হবে।

অ্যান্ড্রয়েড সুরক্ষা
সম্পর্কিত নিবন্ধ:
অ্যান্ড্রয়েড নিরাপত্তা: সবকিছু তারা আপনাকে বলে না

আপনি আগ্রহী হতে পারেন:
অ্যান্ড্রয়েডে ভাইরাসগুলি কীভাবে সরিয়ে ফেলা যায়
গুগল নিউজে আমাদের অনুসরণ করুন