Google I/O 2019 დეველოპერის კონფერენციაზე Google-მა გამოაცხადა Project Mainline - უსაფრთხოების განახლებების დაჩქარების მცდელობა Android Q-ის მოდულების მეშვეობით.
Android-ის ვერსიის ფრაგმენტაცია ერთ-ერთი ყველაზე დიდი გამოწვევაა Google-ისთვის გადასაჭრელად. მიუხედავად იმისა, რომ Google Pixel სმარტფონები ბაზარზე ყველაზე უსაფრთხო სმარტფონებს შორისაა Pixel-ისა და წარმოუდგენელი ძალისხმევის წყალობით. AOSP ინჟინრები, მრავალი სხვა სმარტფონი დაუცველია ექსპლოიტების მიმართ მოძველებული OS ვერსიების ან უსაფრთხოების მოძველებული პაჩის გამო დონეები. Gartner-ის უახლესი ანგარიში აჩვენებს, რომ Android 9 Pie ჯერ კიდევ წარმოუდგენლად უსაფრთხო ოპერაციული სისტემაა მხოლოდ დაახლოებით 10% გამოშვებაშია ყველა სმარტფონი.
Google ებრძვის ვერსიების ფრაგმენტაციას ისეთი ინიციატივებით, როგორიცაა პროექტი Treble, ანდროიდის მთავარი ხელახალი არქიტექტურა, რომლის შედეგადაც განცალკევებულია Android OS ჩარჩო კომპონენტები და გამყიდველი HAL კომპონენტები,
გაფართოებული Linux kernel LTS, უსაფრთხოების პატჩის სავალდებულო განახლებები 2 წლის განმავლობაში და რეკომენდირებულია Android Enterprise. Google I/O 2019-ზე კომპანიამ გამოაცხადა თავისი უახლესი ინიციატივა უსაფრთხოების განახლებების დაჩქარების მიზნით: Project Mainline for Android Q.Project Mainline: Android Q სისტემის მოდულების განახლება Google Play-ს მეშვეობით
ბოლო რამდენიმე თვის განმავლობაში ჩვენ თვალყურს ვადევნებდით რაღაც სახელწოდებით "APEXAOSP-ში. APEX, ან Android Pony EXpress, არის ახალი პაკეტის ტიპი, რომელიც მსგავსია APK. Android აპლიკაციის ნაცვლად, APEX არის მშობლიური ან კლასის ბიბლიოთეკის სახლი, წინასწარ შედგენილი კოდი, რომლის გამოძახებაც შესაძლებელია Android აპების, Hardware Abstraction Layers (HAL) და Android-ის მიერ Runtime (ART). APK-ის მსგავსად, APEX პაკეტების სერვისი მომხმარებლებს შეუძლიათ Android-ში პაკეტების ინსტალაციის ტრადიციული მეთოდებით: Google Play Store/პაკეტების მენეჯერი ან ADB.
APEX მოდულები შეიძლება გამოყენებულ იქნას ჩატვირთვის პროცესში ბევრად უფრო ადრე, ვიდრე APK-ზე დაფუძნებული მოდულები და მათ ასევე მხარს უჭერს dm-verity და Android Verified Boot გაზრდილი უსაფრთხოებისთვის. APEX პაკეტში payload სურათების დამონტაჟებისთვის საჭიროა Linux kernel-ის მარყუჟის დრაივერი, ამიტომ მოწყობილობებს სჭირდებათ Linux kernel ვერსია 4.9+. APEX პაკეტების მართვა მოითხოვს ახალ APEX დემონს, რომელიც დაინერგა Android Q-ით. მიუხედავად იმისა, რომ შესაძლებელია მოწყობილობების განახლება Android Q-ზე Linux kernel 4.4-ით APEX-ის მხარდასაჭერად (როგორც Google Pixel 3), OEM-ებმა უნდა გააერთიანონ დამატებითი პატჩები, რათა ის იმუშაოს. უმეტესწილად, მხოლოდ Android Q-ით გაშვებული მოწყობილობები ექნება Project Mainline-ს მხარდაჭერას.
GNU/Linux დისტრიბუციებს დიდი ხანია შეუძლიათ სისტემის კომპონენტების განახლება სისტემის სრული განახლებისგან დამოუკიდებლად, მაგრამ Android-ს ყოველთვის სჭირდებოდა სისტემის განახლება მათი განახლებისთვის. Google-მა არჩია ამ პაკეტების გავრცელება ტრადიციული Linux პაკეტების მართვის სისტემების გამოყენებით, როგორიცაა dpkg და rpm, რადგან ისინი არ იცავენ პაკეტებს ინსტალაციის შემდგომ dm-verity-ის გამოყენებით.
იმის გამო, რომ მოწყობილობების მწარმოებლებს განახლებების გაშვებას დიდი დრო სჭირდება, ბევრ მოწყობილობას შეიძლება ჰქონდეს მოძველებული სისტემის კომპონენტები დღეების, კვირების ან თუნდაც თვეების განმავლობაში. ამ კომპონენტების APEX პაკეტების სახით გავრცელებით, Google-ს შეუძლია გვერდი აუაროს OEM-ების ხანგრძლივი ლოდინის გამოქვეყნებას სისტემის განახლებისთვის.
თუმცა Google არ ახორციელებს სრულ კონტროლს სისტემის ყველა კომპონენტზე. კომპანია მუშაობდა თავის OEM პარტნიორებთან სისტემური აპლიკაციების (როგორც APK) და სისტემის კომპონენტების (APEX-ის სახით) ნაკრების შესარჩევად პაკეტების მოდულირება, რათა მათ გააუმჯობესონ უსაფრთხოება, კონფიდენციალურობა და თანმიმდევრულობა ყველა მომხმარებლისთვის მოწყობილობებით, რომლებიც გაშვებულია Android Q. მიუხედავად იმისა, რომ Google-მა ზუსტად არ გაამჟღავნა, თუ როგორ შეადგინეს სისტემის კომპონენტების საწყისი ნაკრები, მათ აქვთ მოგვაწოდეთ სისტემის კომპონენტების სია Android Q-ით გაშვებულ მოწყობილობებზე, რომლებიც განახლდება Google:
- უსაფრთხოება: მედია კოდეკები, მედია ჩარჩო კომპონენტები, DNS Resolver, Conscrypt
- კონფიდენციალურობა: Documents UI, Permission Controller, ExtServices
- თანმიმდევრულობა: დროის სარტყლის მონაცემები, ANGLE (დეველოპერების ჩართვა), მოდულის მეტამონაცემები, ქსელის კომპონენტები, დაკავებულ პორტალზე შესვლა, ქსელის ნებართვის კონფიგურაცია
Conscrypt-ის, Java უსაფრთხოების ბიბლიოთეკისა და მედიის კომპონენტების დაუყოვნებელი განახლებები, რომლებიც „შეადგენენ ახლახან შესწორებული დაუცველობის თითქმის 40%-ს“, გახდის Android მოწყობილობებს უფრო უსაფრთხო. ნებართვების კონტროლერის განახლებები გააუმჯობესებს კონფიდენციალურობას. დროის სარტყლის მონაცემების სტანდარტიზაცია სასარგებლო იქნება Android მოწყობილობების ერთსა და იმავე გვერდზე შესანარჩუნებლად, როდესაც ქვეყანა გადაწყვეტს დროის სარტყლის შეცვლას. გარდა ამისა, თამაშის დეველოპერები ისარგებლებენ სტანდარტიზაციით ANGLE.
Google იწყებს მუშაობას სისტემის ამ კომპონენტებით, მაგრამ შეიძლება მეტი დაამატოთ Android-ის მომავალ გამოშვებებში. ამ 13 კომპონენტიდან Conscrypt, Timezone მონაცემები, Media Codecs და Media Framework Components მიწოდებული იქნება APEX პაკეტების სახით. დანარჩენი 9 კომპონენტი არის სისტემის APK. მიუხედავად იმისა, რომ APEX და APK-ები მიწოდებულია Google Play-ით, APEX პაკეტის განახლება საჭიროებს გადატვირთვას. Google-ს ჯერ არ გაუზიარებია ინტერფეისის ნაკადი იმის შესახებ, თუ როგორ მოხდება ეს, მაგრამ როგორც კი მოწყობილობები დაიწყებენ Android Q-ით გაშვებას, ჩვენ სავარაუდოდ გავიგებთ მეტ ინფორმაციას Project Mainline და APEX პაკეტების შესახებ.