वाहन प्रणाली अलगाव

कार सिस्टम की अखंडता सुनिश्चित करने के लिए, एंड्रॉइड ऑटोमोटिव इन स्तरों पर आने वाले डेटा की सुरक्षा करता है:

ईवीएस सिस्टम घटक

चित्र 1. सिस्टम सेवा वास्तुकला

  • ऐप्स. सिस्टम सत्यापित करता है कि ऐप को कार सबसिस्टम से बात करने की अनुमति है।
  • अच्छी तरह से परिभाषित एपीआई. जेनेरिक एपीआई मनमाने डेटा ब्लॉब्स को स्वीकार नहीं करते हैं (एपीआई को अच्छी तरह से परिभाषित किया जाना चाहिए)।
  • कार सेवा। पूर्ण-डिस्क एन्क्रिप्शन और सत्यापित बूट के साथ केवल ओटीए (या यूएसबी) के माध्यम से अपडेट की अनुमति है। साइडलोड नहीं किया जा सकता.
  • वाहन एचएएल. सत्यापित करता है कि विशिष्ट संदेशों की अनुमति है।

ऐप्स और एपीआई

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

वाहन HAL संदेशों को दो स्तरों पर फ़िल्टर किया जाता है:

  • ऐप स्तर. गैर-सिस्टम ऐप्स उचित अनुमति के साथ कार सेवा के माध्यम से वाहन एचएएल तक पहुंच सकते हैं।
  • वाहन एचएएल स्तर। सुरक्षा और आश्वासन की एक अतिरिक्त परत की अनुमति देता है कि वाहन उपप्रणालियों को भेजे गए संदेश वैध स्रोत से उत्पन्न होते हैं। इसका उपयोग सीमा संदेशों को रेट करने, दुर्भावनापूर्ण ऐप्स को CAN बस में बाढ़ आने और संभावित रूप से वाहन उप-प्रणालियों में हस्तक्षेप करने से रोकने के लिए भी किया जा सकता है।

वाहन एचएएल

वाहन एचएएल एक निचली परत है जो वाहन के साथ इंटरैक्ट करती है, ड्राइवर इनपुट/आउटपुट कंट्रोल (आईओसीटीएल) कॉल के माध्यम से इन-व्हीकल नेटवर्क और अन्य वाहन हार्डवेयर के साथ संचार करती है।

वाहन एचएएल एंड्रॉइड ऑटोमोटिव में आईवीआई सिस्टम से जुड़ा एकमात्र घटक है, या तो सीधे ऐप प्रोसेसर/माइक्रोकंट्रोलर कनेक्शन के माध्यम से या वीएमसीयू के माध्यम से गेट किया गया है। SELinux नियमों और कर्नेल इंटरफ़ेस पर उचित अनुमतियों का उपयोग करके वाहन HAL तक पहुंच सिस्टम ऐप्स तक सीमित होनी चाहिए।

SELinux नीतियाँ

एंड्रॉइड ऑटोमोटिव ओपन, क्लोज़, रीड, राइट और ioctl कॉल सहित ड्राइवर एक्सेस को फ़िल्टर करने के लिए SELinux का विस्तार करता है। ioctl फ़िल्टरिंग (अन्य SELinux कार्यक्षमता के साथ) का उपयोग वाहन HAL द्वारा अनुमत और स्वीकृत CAN संदेशों के प्रकार को सीमित करता है, जिससे हमले की सतह काफी कम हो जाती है। SELinux पर विवरण के लिए, Android में सुरक्षा-उन्नत Linux देखें।

इसके अतिरिक्त, ऑटोमोटिव उपयोग के मामलों में नए प्रकार के संवेदनशील डेटा शामिल हैं जिन्हें अलग और नियंत्रित किया जाना चाहिए। संवेदनशील डेटा की अलग-अलग अनुमतियाँ होती हैं; अन्य क्षमताएं जैसे एचवीएसी नियंत्रण और विंडो समायोजन केवल सिस्टम ऐप्स को दी जानी चाहिए। ऑटोमोटिव-विशिष्ट SELinux नीति का उदाहरण:

<permission-group
 android:name=”android.support.car.permission.CAR_MONITORING />

<permission
 android:name=”android.support.car.permission.CAR_MILEAGE”
 android:protectionLevel=”signature|privileged” />
<permission
 android:name=”android.support.car.permission.CAR_SPEED”
 android:permissionGroup=”android.permission-group.LOCATION”
 android:protectionLevel=”dangerous” />
<permission
 android:name=”android.support.car.permission.CAR_VENDOR_EXTENSION”
 android:permissionGroup=”android.support.car.permission.CAR_INFORMATION”
 android:protectionLevel=”signature|privileged” />

CAR_MONITORING अनुमति समूह ऑटोमोटिव-संबंधित अनुमतियों के लिए बनाया गया था। वर्तमान गति को संवेदनशील जानकारी माना जा सकता है। इसलिए, CAR_SPEED अनुमतियाँ खतरनाक सुरक्षा स्तर के साथ बनाई गई थीं। इस स्तर का मतलब है कि जानकारी निजी और संवेदनशील है। अनुमति CAR_VENDOR_EXTENSION सिस्टम- या हस्ताक्षर-स्तरीय अनुमति के साथ बनाई गई थी, जिसका उपयोग सिस्टम ऐप्स या हस्ताक्षरित ऐप्स के लिए किया जाता है जिन्हें स्पष्ट रूप से यह अनुमति दी गई है।

ऐप और गतिविधि को अवरुद्ध करना

विचलित ड्राइविंग को कम करने के लिए, एंड्रॉइड ऑटोमोटिव अतिरिक्त नियंत्रण (एक अनुमति सूची) प्रदान करता है ताकि यह सुनिश्चित किया जा सके कि वाहन के गति में होने पर साइडलोड किए गए ऐप्स का उपयोग नहीं किया जा सके। ये ऐप तब भी चल सकते हैं जब कोई वाहन पार्क किया गया हो या रुका हो।

अनुमति सूची उन ऐप्स को निर्दिष्ट करती है जिनका उपयोग वाहन चलते समय किया जा सकता है। केवल विश्वसनीय सिस्टम ऐप्स ही अनुमति सूची को अपडेट कर सकते हैं। हालाँकि अपडेट नेटवर्क पर हो सकते हैं, लेकिन अपडेट को विश्वसनीय नहीं माना जाना चाहिए।