AVF क्यों?

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

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

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

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

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

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

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

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

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

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