AVF क्यों?

मोबाइल कंप्यूटिंग डिवाइस, निजी तौर पर संवेदनशील डेटा की बढ़ती मात्रा को मैनेज कर रहे हैं. इस तरह के संवेदनशील डेटा की मौजूदगी और बाहरी दुनिया से लगातार जुड़े रहने की वजह से, बुरे इरादे रखने वाले लोगों ने इस पर ज़्यादा निवेश किया है. ये लोग, अपनी ज़रूरतों को पूरा करने के लिए, कमज़ोरियों का फ़ायदा उठाने में दिलचस्पी रखते हैं.

ऑपरेटिंग सिस्टम, हार्डवेयर मेमोरी मैनेजमेंट यूनिट (एमएमयू) की मदद से, ऐसे ऐब्स्ट्रैक्शन उपलब्ध कराते हैं जो एक-दूसरे से जुड़ी नहीं हैं. सिर्फ़ उन कॉम्पोनेंट को इन एमएमयू को सीधे तौर पर प्रोग्राम करने की अनुमति है जो भरोसेमंद कंप्यूटिंग बेस (टीसीबी) का हिस्सा हैं.

यह मॉडल, Unix जैसे ऑपरेटिंग सिस्टम के लॉन्च होने के बाद से ही निजता और सुरक्षा को लागू करने का आधार रहा है. हालांकि, इस ज़रूरत की वजह से समस्या आ रही है, क्योंकि आज के समय में टीसीबी बहुत बड़ा हो गया है. इसमें ज़्यादातर डिवाइस और बस ड्राइवर, जटिल शेड्यूलर, फ़ाइल सिस्टम, नेटवर्क स्टैक और प्रोटोकॉल, कैश मेमोरी, एक्ज़ीक्यूटेबल पार्सर और लोडर, और सॉकेट शामिल हैं. इस जटिल सिस्टम के हर हिस्से को सुरक्षित रखना बहुत मुश्किल हो गया है.

Linux कर्नल में दो करोड़ से ज़्यादा लाइनों का कोड है. इसमें बदलाव और फिर से लिखने की दर काफ़ी ज़्यादा है. इस बढ़ोतरी से, Android और हमारे ईकोसिस्टम को काफ़ी मदद मिलती है. हालांकि, इसका टीसीबी बड़ा होने की वजह से, यह पक्का करना मुश्किल हो जाता है कि इसमें ऐसी कोई कमज़ोरी नहीं है जिसका फ़ायदा उठाया जा सकता हो.

हार्डवेयर बनाने वाली कंपनियों ने Arm के TrustZone जैसे समाधान तैयार किए हैं. इनकी मदद से, प्रोसेसर को सुरक्षित मोड में चलाया जा सकता है. साथ ही, मेमोरी के लेन-देन को "सुरक्षित" या "गैर-सुरक्षित" के तौर पर टैग किया जा सकता है. ऐसे सिस्टम में, संवेदनशील डेटा को सुरक्षित दुनिया में स्टोर किया जाता है. यह सिर्फ़ सुरक्षित दुनिया के लिए उपलब्ध होता है. सुरक्षित दुनिया, मांग पर असुरक्षित दुनिया को सेवाएं देती है.

इस तरह के समाधानों की मुख्य समस्या यह है कि डोमेन बहुत ज़्यादा मोटे तौर पर बांटे गए हैं: सिर्फ़ सुरक्षित और असुरक्षित. ऑपरेटिंग सिस्टम से अलग किए जाने की ज़रूरत वाले इस्तेमाल के ज़्यादा उदाहरणों के आने से, हमले की आशंका बढ़ जाती है. साथ ही, कमज़ोरियों की वजह से पूरे डिवाइस पर असर पड़ सकता है.

आज के समाधानों की एक और सीमा यह है कि इन्हें एक ऐसे स्थिर माहौल के लिए डिज़ाइन किया गया है जिसमें इस्तेमाल के सभी संसाधनों का हिसाब रखा जाता है और उन्हें पहले से ही आवंटित कर दिया जाता है. ये समाधान, डाइनैमिक इस्तेमाल के उन मामलों के लिए सही नहीं हैं जिनमें मांग के आधार पर संसाधन आवंटित किए जाते हैं.

इसके अलावा, Android ऑपरेटिंग सिस्टम के बाहर इस्तेमाल किए जाने वाले एपीआई, अलग-अलग हिस्सों में बंटे हुए हैं. साथ ही, ये Android के हिसाब से इस्तेमाल के उदाहरणों को डिप्लॉय करने की हमारी क्षमता को सीमित करते हैं. इनमें Keymint और Gatekeeper जैसे बुनियादी सिद्धांत शामिल हैं.

इन सीमाओं को दूर करने और Android को अगली पीढ़ी के इस्तेमाल के मामलों के लिए एक मज़बूत आधार देने के लिए, Android 13 में Android Virtualization Framework (AVF) के तौर पर सुरक्षित वर्चुअलाइज़ेशन की सुविधा पेश की गई है.

AVF का मुख्य मकसद, अगली पीढ़ी के इस्तेमाल के उदाहरणों के लिए सुरक्षित और निजी एक्ज़ीक्यूशन एनवायरमेंट उपलब्ध कराना है.