Google Camera და Samsung Camera აპებმა აჩვენეს თავიანთი კამერისა და ვიდეოს მიზნები მესამე მხარის აპებს, რამაც გამოიწვია ნებართვის გვერდის ავლით დაუცველობა.
iOS-თან შედარებით, Android უზრუნველყოფს აპლიკაციებს ერთმანეთთან ურთიერთობის უამრავ გზას, რაც დეველოპერებს საშუალებას აძლევს შექმნან Android-ის ზოგიერთი უფრო გავრცელებული ფუნქცია, რომელსაც ჩვენ ველოდებოდით და გვიყვარს. ეს შესაძლებელი გახდა Android-ის Intent სისტემის წყალობით, რომელიც საშუალებას აძლევს ნებისმიერ აპს გაუგზავნოს ნებისმიერი განზრახვა, რაც მას სურს და მიმღების აპებს აძლევს საშუალებას კრეატიულად გაუმკლავდნენ ამ მიზნებს. მაგრამ, როგორც ირკვევა, Google Camera აპმა და Samsung Camera აპმა დატოვა მათი კამერა და ვიდეო მიზნები მესამე მხარის წინაშე. აპლიკაციები, რომლებიც კარს ღია ტოვებს პოტენციური ბოროტად გამოყენებისთვის კრიტიკული ნებართვების გვერდის ავლით, რაც აჩვენეს უსაფრთხოების მკვლევარებმა ჩეკმარქსი.
მიზნები Android-ზე აღწერილია როგორც "შეტყობინებების ობიექტები, რომლებიც ხელს უწყობენ კომუნიკაციას აპლიკაციის კომპონენტებს შორის", რაც უფრო მარტივი სიტყვებით ნიშნავს იმას, რომ Intent საშუალებას აძლევს აპებს გაუგზავნონ მონაცემები ერთმანეთს. მაგალითად, როდესაც თქვენ ცდილობთ ფაილის გაზიარებას ფაილების მენეჯერიდან აპში, როგორიცაა WhatsApp, თქვენ აგზავნით განზრახვას WhatsApp-ში ფაილების სახით. ნებისმიერ აპს შეუძლია გააგზავნოს ნებისმიერი განზრახვა, რაც მას სურს, და მიმღები აპის გადასაწყვეტია, რომელი მიზნების მოსმენა სურს, იგივეს განსაზღვრით Manifest ფაილში. მიმღები აპი ასევე წყვეტს, როგორ რეაგირება მოახდინოს ამ განზრახვებზე. გარდა ამისა, მიმღებ აპს ასევე შეუძლია უზრუნველყოს, რომ მოქმედებები შესრულდება მხოლოდ მაშინ, როდესაც განზრახვა იგზავნება თეთრ სიაში შეტანილი კონკრეტული აპები (გამოკვეთილი მიზნები) ან აპებიდან, რომლებიც ფლობენ გარკვეულ ნებართვებს (დაცული განზრახვები). როგორც ირკვევა, ზემოხსენებულ კამერის აპებში დაუცველი მიზნები შეიძლება გამოიყენონ ცუდი მსახიობების მიერ.
ჩეკმარქსი აღმოაჩინა, რომ Google Camera აპს და Samsung Camera აპს ჰქონდათ დაუცველი განზრახვები, გამოეწვიათ ისეთი ქმედებები, როგორიცაა ფოტოს გადაღება და ვიდეოს ჩაწერა. დაუცველი განზრახვა ამ კონტექსტში ნიშნავს, რომ მიმღები აპი არ ამოწმებს, აქვს თუ არა განზრახვის გამომგზავნ აპს საჭირო ნებართვა თავად განახორციელოს ქმედება -- android.permission. კამერა ამ შემთხვევაში. კამერის აქტივობა, com.google.android. GoogleCamera/com.android.camera. CameraActivity, ასევე იყო ექსპორტირებული აქტივობა, რაც იმას ნიშნავს, რომ სხვა აპებს შეეძლოთ მისი მოწოდება. ამგვარად, დაუცველი განზრახვა და ექსპორტირებული აქტივობა იწვევს ნებართვის გვერდის ავლით დაუცველობას.
ამრიგად, შეიძლება შეიქმნას მავნე აპი, რომელსაც არ ექნება კამერის ნებართვა, მაგრამ მაინც შეძლებს გარკვეული ფუნქციონირებას კამერა ფუნქციონირებს ამ კამერის აპების მეშვეობით მათი მარშრუტირებით და მათი დაუცველი მიზნების გამოყენებით და ექსპორტით აქტივობა.
როგორც კონცეფციის დამადასტურებელი საბუთი, ჩეკმარქსი შექმნა მოჩვენებითი ამინდის აპლიკაცია, რომელსაც არ გააჩნდა კამერის ნებართვა, მაგრამ მას მოჰყვა ერთი STORAGE ნებართვა, რომელიც არ ჩანდა მწყობრიდან ამინდის აპისთვის. კამერის ნებართვის გარეშე, ამინდის აპმა შეძლო Google Camera-სა და Samsung Camera-ის გააქტიურება ფოტოების გადაღებისა და ვიდეოების ჩასაწერად. STORAGE ნებართვა მოქმედებს ამ და ისევე როგორც ყველა სხვა ფოტოსა და ვიდეოზე შენახულ /DCIM-ზე წვდომისას -- ის არ არის საჭირო ფოტოებზე დაწკაპუნებისა და ვიდეოების ჩაწერის ქმედებებისთვის.
უარეს შემთხვევაში, ეს დაუცველობა შეიძლება გამოყენებულ იქნას ისეთი მოქმედებების გასაკეთებლად, როგორიცაა მომხმარებლის ვიდეოს ჩაწერა ზარის დროს, მდებარეობის გახეხვა ინფორმაცია ფოტოების GPS მეტამონაცემებიდან, თუ მდებარეობის მონიშვნა ჩართულია კამერის აპში (და ეფექტურად მიიღეთ ტელეფონის მიმდინარე მდებარეობა), და მეტი.
რა თქმა უნდა, ინტერფეისი მიუთითებს, რომ კამერაზე წვდომა ხდება, მაგრამ ამის გამოსწორება შესაძლებელია შექმნით სიახლოვის სენსორის გამოყენება ტელეფონის დისპლეის გამორთვის გასაზომად და ამით მომხმარებლისგან თავის დაღწევისთვის ყურადღება. მავნე აპს შეუძლია ტელეფონის ხმის დადუმება და მოწყობილობის ეფექტიანად გაჩუმება, როდესაც ის იღებს ფოტოს ან ვიდეოს.
ჩეკმარქსი ირწმუნება, რომ დაუცველობა, სახელწოდებით CVE-2019-2234, ასევე არსებობს სმარტფონების სხვა მწარმოებლების კამერის აპებში. მაგრამ მკვლევარებმა არ დაასახელეს რომელი მომწოდებლები და მოწყობილობები დაზარალდნენ Google-ისა და Samsung-ის მიღმა. თუ სხვა კამერის აპებს აქვთ ექსპორტირებული აქტივობები ფოტო გადაღებისა და ვიდეოს ჩაწერის დასაწყებად და აქვს დაუცველი მიზნები, რომლებიც არ ამოწმებენ დარეკვის აპისთვის ხელმისაწვდომ ნებართვას, ასევე დაზარალებული.
ვინაიდან ეს არ არის დაუცველობა ანდროიდის პლატფორმაში ან Linux-ის ბირთვში, ის არ შეიძლება იყოს შეტანილი და გამოქვეყნებული, როგორც ნაწილი. Android უსაფრთხოების ბიულეტენი. დაუცველობა დაფიქსირდა Google Camera აპში აპის განახლების მეშვეობით 2019 წლის ივლისში და იგივე დაფიქსირდა დაფიქსირდა სამსუნგის კამერის აპლიკაციაში, თუმცა არ არსებობს კონკრეტული ინფორმაცია, როდის მოხდა ეს განახლება გარეთ.
Google Camera-ის გაუხსნელ ვერსიებზე, შეგიძლიათ აიძულოთ ვიდეოს გადაღება ამ დაუცველობის მეშვეობით შემდეგი ADB ბრძანების გაშვებით:
adb shell am start-activity -n
com.google.android.GoogleCamera/com.android.camera.CameraActivity --ez
extra_turn_screen_ontrue-aandroid.media.action.VIDEO_CAMERA--ez
android.intent.extra.USE_FRONT_CAMERAtrue
თუ იყენებთ Google Camera-ს ან Samsung Camera-ს, დარწმუნდით, რომ განაახლებთ კამერის აპის უახლეს ვერსიას თქვენს მოწყობილობაზე, რომელიც გავრცელდა Play Store-ის ან OTA-ის მეშვეობით, როგორც ეს შეიძლება იყოს.