এই পাতায় AVF-এর সাধারণ ব্যবহারসমূহ উল্লেখ করা হয়েছে।
বিচ্ছিন্ন সংকলন
একটি সফটওয়্যার-সুরক্ষিত এনক্লেভ হিসেবে, একটি সুরক্ষিত ভার্চুয়াল মেশিন (VM) নিরাপত্তা-সংবেদনশীল কোড কম্পাইল করার জন্য একটি নিরাপদ পরিবেশ প্রদান করে। এই পরিবেশটি (APEX আপডেটের মাধ্যমে সক্রিয় হওয়া) bootclasspath এবং সিস্টেম সার্ভার JAR-এর কম্পাইলেশনকে আর্লি বুট থেকে রিবুটের আগে নিয়ে আসতে সাহায্য করে এবং APEX আপডেট-পরবর্তী বুট টাইম উল্লেখযোগ্যভাবে কমিয়ে দেয়।
এর বাস্তবায়ন com.android.compos APEX-এ রয়েছে। এই কম্পোনেন্টটি ঐচ্ছিক এবং একটি মেকফাইল ব্যবহার করে অন্তর্ভুক্ত করা যেতে পারে।

নিরাপত্তার লক্ষ্য হলো যাচাইকৃত ইনপুটকে সঠিকভাবে কম্পাইল করা এবং আউটপুটকে বিচ্ছিন্নভাবে তৈরি করা; অ্যান্ড্রয়েড একটি অবিশ্বস্ত ক্লায়েন্ট হিসেবে কম্পাইলেশনের আউটপুটকে ব্যর্থ করা ছাড়া অন্য কোনোভাবে পরিবর্তন করতে পারে না (যখন অ্যান্ড্রয়েড বুট-টাইম কম্পাইলেশনে ফিরে যায়)।
ভিএম-এর কম্পাইলেশন সার্ভিসটি শুধুমাত্র তখনই একটি সিগনেচার তৈরি করে, যখন সম্পূর্ণ কম্পাইলেশন চলাকালীন কোনো ত্রুটি না থাকে। সিগনেচার যাচাই করার জন্য অ্যান্ড্রয়েড ভিএম থেকে পাবলিক কী সংগ্রহ করতে পারে।
ভিএম-এর কী (key) তৈরি করা হয় ভিএম-এর ডাইস প্রোফাইল (DICE profile) থেকে, যা ভিএম-এ মাউন্ট করা এপেক্স (APEX) ও এপিকে (APK) এবং ডিবাগযোগ্যতার মতো অন্যান্য ভিএম প্যারামিটার দ্বারা সংজ্ঞায়িত হয়।
পাবলিক কী-টি কোনো অপ্রত্যাশিত ভিএম থেকে এসেছে কিনা তা নিশ্চিত করতে, অ্যান্ড্রয়েড কী-টি সঠিক কিনা তা যাচাই করার জন্য ভিএম-টি বুট করে। প্রতিটি এপেক্স আপডেটের পর আর্লি বুট-এর সময় ভিএম-টি বুট করা হয়।
Protected VM-এর Verified Boot-এর মাধ্যমে, কম্পাইলেশন সার্ভিস শুধুমাত্র যাচাইকৃত কোডই চালায়। এর ফলে, কোডটি কেবল সেইসব ইনপুটই গ্রহণ করার সিদ্ধান্ত নিতে পারে যা নির্দিষ্ট শর্ত পূরণ করে; উদাহরণস্বরূপ, এটি কেবল তখনই একটি ইনপুট ফাইল গ্রহণ করবে, যার নাম এবং fs-verity ডাইজেস্ট একটি allowlist-এ সংজ্ঞায়িত আছে।
ভিএম থেকে উন্মুক্ত যেকোনো এপিআই (API) আক্রমণের ক্ষেত্র। সমস্ত ইনপুট ফাইল এবং প্যারামিটার একটি অবিশ্বস্ত ক্লায়েন্টের কাছ থেকে এসেছে বলে ধরে নেওয়া হয় এবং প্রক্রিয়াকরণের আগে অবশ্যই তা যাচাই ও পরীক্ষা করে নিতে হবে।
ইনপুট এবং আউটপুট ফাইলের অখণ্ডতা ভিএম দ্বারা যাচাই করা হয়, যেখানে ফাইলগুলি অ্যান্ড্রয়েডে একটি অবিশ্বস্ত ফাইল সার্ভার হিসাবে নিম্নরূপভাবে সংরক্ষিত থাকে:
- ব্যবহারের পূর্বে একটি ইনপুট ফাইলের বিষয়বস্তু অবশ্যই
fs-verityঅ্যালগরিদম ব্যবহার করে যাচাই করতে হবে। একটি ইনপুট ফাইলকে ভিএম-এ উপলব্ধ হতে হলে, এর রুট হ্যাশটি অবশ্যই এমন একটি কন্টেইনারে (APK) সরবরাহ করতে হবে যা ভিএম-এর DICE প্রোফাইলে অবদান রাখে। বিশ্বস্ত রুট হ্যাশ থাকলে, কোনো আক্রমণকারী শনাক্ত না হয়ে ইনপুটে হস্তক্ষেপ করতে পারে না। - ভিএম-এ আউটপুট ফাইলের অখণ্ডতা অবশ্যই বজায় রাখতে হবে। আউটপুট ফাইলটি অ্যান্ড্রয়েডে সংরক্ষিত থাকলেও, তৈরির সময় একই
fs-verityট্রি ফরম্যাট ব্যবহার করে এর অখণ্ডতা বজায় রাখা হয়, তবে এটি গতিশীলভাবে আপডেট করা যেতে পারে। চূড়ান্ত আউটপুট ফাইলটি রুট হ্যাশ দ্বারা শনাক্ত করা যায়, যা ভিএম-এ পৃথকভাবে সংরক্ষিত থাকে। ভিএম-এর সার্ভিসটি সিগনেচারের মাধ্যমে আউটপুট ফাইলগুলোকে সুরক্ষিত রাখে।
লিনাক্স উন্নয়ন পরিবেশ
ঐতিহ্যগতভাবে অ্যান্ড্রয়েডই একমাত্র প্রধান অপারেটিং সিস্টেম ছিল যা ব্যবহারকারীদেরকে প্ল্যাটফর্মটিতেই অ্যাপ তৈরি করতে দিত না। লিনাক্স ডেভেলপমেন্ট এনভায়রনমেন্ট চালু করার মাধ্যমে, আমাদের লক্ষ্য হলো ডেভেলপার অ্যান্ড্রয়েড ব্যবহারকারীদের জন্য একটি লিনাক্স-ভিত্তিক ডেভেলপমেন্ট এনভায়রনমেন্ট প্রদান করা। ভবিষ্যতে, আমরা এই প্রচেষ্টা আরও প্রসারিত করার পরিকল্পনা করছি, যাতে আমাদের অংশীদাররা গ্রাফিক্যাল ইউজার ইন্টারফেস অ্যাপ এবং এমনকি গেম চালানোর মতো উদ্ভাবনী ভিএম (ভার্চুয়াল মেশিন) ব্যবহারের সুযোগ তৈরি করতে পারে।
লিনাক্স ডেভেলপমেন্ট এনভায়রনমেন্টটি নির্দিষ্ট কিছু ডিভাইসে উপলব্ধ এবং এটি একটি অরক্ষিত ভার্চুয়াল মেশিনে চলে।

উচ্চ-স্তরের প্রবাহটি নিম্নরূপ:
- লিনাক্স ডেভেলপমেন্ট এনভায়রনমেন্ট ব্যবহার করতে, ডেভেলপার অপশন চালু করুন ।
- ডেভেলপার অপশন চালু করার পর, টার্মিনাল অ্যাপটি আপনার হোম লঞ্চারে দেখা যাবে।
- আপনার হোম লঞ্চার থেকে টার্মিনাল অ্যাপটি চালু করুন।
- প্রয়োজন হলে, টার্মিনাল অ্যাপটি প্লে স্টোর থেকে ওএস ইমেজ ডাউনলোড করে।
- টার্মিনাল অ্যাপটি একটি ভার্চুয়াল মেশিন (VM) তৈরি করতে অ্যান্ড্রয়েড ভার্চুয়ালাইজেশন ফ্রেমওয়ার্ক (AVF) ব্যবহার করে।
- এরপর AVF, OS ইমেজটি দিয়ে VM-টি চালায়।
- ভার্চুয়াল মেশিনটি ইমেজ থেকে ওএস বুট করে।
- ভিএম বুট করার পরে, টার্মিনাল অ্যাপের ওয়েবভিউ ভার্চুয়াল মেশিনের একটি ওয়েব সার্ভিসের সাথে সংযোগ স্থাপন করে। এই সার্ভিসটি HTTP-এর মাধ্যমে টার্মিনাল অ্যাক্সেস প্রদান করে।
- আপনি কমান্ড প্রবেশ করিয়ে এবং অ্যাপে আউটপুট দেখে টার্মিনালের সাথে ইন্টারঅ্যাক্ট করেন।
লিনাক্স ভিএম-এর প্রধান উপাদানগুলো নিম্নরূপ:
- টার্মিনাল অ্যাপ: একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন যা একটি টার্মিনাল ইন্টারফেস প্রদান করে। ইন্টারঅ্যাকশনের জন্য এটি ভিএম-এ চলমান একটি ওয়েব সার্ভিসের সাথে সংযোগ স্থাপন করতে একটি ওয়েবভিউ ব্যবহার করে। এই অ্যাপটি ডিফল্টরূপে নিষ্ক্রিয় থাকে। ডেভেলপার সেটিংসে এটি সক্রিয় করুন।
- অ্যান্ড্রয়েড ভার্চুয়ালাইজেশন ফ্রেমওয়ার্ক (AVF): ভার্চুয়াল মেশিন (VM) তৈরি এবং পরিচালনার জন্য অ্যান্ড্রয়েডের বিদ্যমান সাবসিস্টেম। এই ফিচারের জন্য কাস্টম ওএস ইমেজ সমর্থন করতে এতে সামান্য পরিবর্তনের প্রয়োজন হয়।
- ভার্চুয়াল মেশিন: একটি ভিএম যা AVF তৈরি করে। এটি টার্মিনাল সার্ভিস হোস্ট করে, এবং AVF বিশেষভাবে টার্মিনাল অ্যাপের কার্যকারিতার জন্য এটি তৈরি করে।
- ওএস ইমেজ: আপস্ট্রিম ডেবিয়ান থেকে প্রাপ্ত একটি সামান্য পরিবর্তিত ডেবিয়ান-ভিত্তিক ওএস ইমেজ। টার্মিনাল অ্যাপটি একটি বাহ্যিক গুগল সার্ভার থেকে এই ইমেজটি ডাউনলোড করে। এটি ভিএম-এর কার্যক্রমের ভিত্তি হিসেবে কাজ করে।
- গেস্ট এজেন্ট: ভিএম-এর নতুন সফটওয়্যার। এটি এভিএফ-কে ওএস-এর অবস্থা সম্পর্কে জানায় এবং ভার্চুয়াল মেশিনটির নিয়ন্ত্রণ প্রদান করে।
- ttyd : ভিএম-এ চলমান একটি ওপেন-সোর্স সফটওয়্যার যা HTTP-এর মাধ্যমে টার্মিনাল এমুলেশন বাস্তবায়ন করে। টার্মিনাল অ্যাপের WebView এটির সাথে সংযুক্ত হয়।
- টিথারিং ম্যানেজার: একটি বিদ্যমান অ্যান্ড্রয়েড সাবসিস্টেম। এটি ভার্চুয়াল মেশিনকে (ভিএম) অ্যান্ড্রয়েড-চালিত ডিভাইসের সাথে টিথারিং করার মাধ্যমে নেটওয়ার্ক অ্যাক্সেস প্রদান করে।
ডিভাইসে বিষয়বস্তুর নিরাপত্তা
কন্টেন্ট সেফটি অন-ডিভাইস হলো কন্টেন্ট সেফটি অন-ডিভাইস টিম দ্বারা তৈরি একটি গোপনীয়তা-সংরক্ষক কন্টেন্ট সুরক্ষা সমাধান। এটি ১পি/৩পি ডিভাইসে বিভিন্ন গুগল পণ্যের জন্য কন্টেন্ট সুরক্ষা শ্রেণিবিন্যাস সম্পাদন করে এবং ব্যবহারকারীর ডেটা গুগল সার্ভারে ফেরত না পাঠিয়েই ১ বিলিয়নেরও বেশি ব্যবহারকারীকে আপত্তিকর কন্টেন্ট থেকে রক্ষা করে। এটি প্রাইভেট কম্পিউট কোর (PCC) নীতি মেনে চলার জন্য ডিজাইন করা হয়েছে, যা ক্লায়েন্ট ও ভার্চুয়াল মেশিন (VM)-এর মধ্যে স্বচ্ছ ও গোপনীয়তা-সংরক্ষক যোগাযোগ যাচাই করে এবং ব্যবহারকারীর ডেটার যেকোনো ধরনের বহির্গমন প্রতিরোধ করে। এটি ডিভাইসে অপব্যবহার শনাক্তকরণ সক্ষম করার মতো কাজের জন্য ব্যবহার করা যেতে পারে, যেমন প্লে প্রোটেক্ট লাইভ থ্রেট ডিটেকশন ।
এই ব্যবহারের ক্ষেত্রে, সিস্টেমটি প্লে প্রোটেক্ট লাইভ থ্রেট ডিটেকশনের জন্য তার মডেল ক্লাসিফিকেশন চালাতে সুরক্ষিত ভার্চুয়াল মেশিন ব্যবহার করে, যা এর মডেল এবং সুরক্ষার নিরাপত্তা উল্লেখযোগ্যভাবে বৃদ্ধি করে। এটি শুধুমাত্র অনুমোদিত কোড রান করা নিশ্চিত করে এবং এর অপারেশনগুলো বাহ্যিক প্রসেস থেকে গোপন রাখার মাধ্যমে, এমনকি রুটেড ডিভাইসেও আক্রমণকারীদের দ্বারা রিভার্স ইঞ্জিনিয়ারিং এবং ম্যানিপুলেশন প্রতিরোধ করে।
উচ্চ স্তরের প্রবাহগুলো নিম্নরূপ:
- লাইভ থ্রেট ডিটেকশন ভিএমটি চালু করার জন্য প্রাইভেট কম্পিউট সার্ভিসেস-কে পিং করে। প্রাইভেট কম্পিউট সার্ভিসেস হলো পিসিসি এবং ক্লাউড সার্ভারের মধ্যে একটি গোপনীয়তা-কেন্দ্রিক মধ্যস্থতাকারী।
- প্রাইভেট কম্পিউট সার্ভিসেস ভিএমটি চালু করে এবং ভিএম থেকে এর পাবলিক কী সংগ্রহ করে।
- প্রাইভেট কম্পিউট সার্ভিসেস, প্লে প্রোটেক্ট লাইভ থ্রেট ডিটেকশনের কাছে ভিএম-এর মালিকানা হস্তান্তর করেছে।
- প্রাইভেট কম্পিউট সার্ভিসেস সার্ভারে অ্যাটেস্টেশন এবং পাবলিক কী পাঠায়।
- সার্ভার ভিএম পাবলিক কী ব্যবহার করে অ্যাটেস্টেশন এবং এনক্রিপ্ট সুরক্ষা যাচাই করে।
- এরপর সার্ভার এনক্রিপ্ট করা সুরক্ষাগুলো ডিভাইসে ফেরত পাঠায়।
- এরপর, ডিভাইসে থাকা লাইভ থ্রেট ডিটেকশন ভিএম-এর ভেতরের এনক্রিপ্টেড সুরক্ষা ব্যবহার করতে পারে। ভিএম-ই একমাত্র সত্তা যার কাছে প্রাইভেট কী থাকে, যা এই সুরক্ষাগুলোকে ডিক্রিপ্ট করতে পারে।
উচ্চ স্তরের উপাদানগুলো নিম্নরূপ:
- সার্ভার: ভিএম-এ এনক্রিপ্ট করে এনক্রিপ্টেড সুরক্ষা সরবরাহ করে।
- প্রাইভেট কম্পিউট সার্ভিসেস: ভিএম (VM) চালু করতে, ভিএম-এর সাথে যোগাযোগ স্থাপন করতে এবং এই স্বচ্ছতা নিশ্চিত করতে ব্যবহৃত হয় যে, কোনো ব্যবহারকারীর ডেটা অ্যাস্ট্রিয়ার মাধ্যমে সার্ভারে যাচ্ছে না।
- প্লে প্রোটেক্ট লাইভ হুমকি সনাক্তকরণ:
- ডিভাইসে কন্টেন্ট সেফটি দ্বারা সরবরাহকৃত মডেল ক্লাসিফায়ার ধারণ করে এবং ব্যবহার করে।
- ভিএম-এর মালিকানা গ্রহণ করে এবং শ্রেণিবিন্যাসের ব্যবহারের জন্য এটি ধারণ করে।
- প্রয়োজন অনুযায়ী ভিএম চালু ও বন্ধ করে।
OEM
একজন OEM নিজস্ব ব্যবহারের জন্য AVF ব্যবহার করতে পারে। উদাহরণস্বরূপ, OPPO তার AI প্রাইভেট কম্পিউটিং স্পেস চালু করতে AVF ব্যবহার করে। এই স্পেসের প্রথম অ্যাপ্লিকেশনটি একটি ভার্চুয়াল মেশিনে চলমান অ্যাপ ক্লায়েন্টদের জন্য ডিভাইসেই ঝুঁকি নিয়ন্ত্রণের সমাধান প্রদান করে। এই সিস্টেমটি অবৈধ কার্যকলাপ থেকে সৃষ্ট হুমকি মোকাবেলা করে এবং বিভিন্ন বিপদ থেকে সুরক্ষা দেয়।