Android Oreo-ს Autofill API-ის უსაფრთხოების პოტენციური ხარვეზი საშუალებას აძლევს პაროლის მენეჯერებს გაჟონონ ისეთი მონაცემები, როგორიცაა პაროლები, მისამართები ან საკრედიტო ბარათები.
ავტომატური შევსება არის ერთ-ერთი ყველაზე დიდი და ყველაზე პოპულარული ახალი ფუნქცია, რომელიც დაინერგა Android 8.0 Oreo-ს გამოშვებით. პაროლის მართვის ბევრმა აპმა, როგორიცაა LastPass, უკვე დანერგა ეს ახალი API თავის აპლიკაციებში. და სანამ ეს შეიძლება დაამტკიცოს საკმაოდ გაუმჯობესება ხელმისაწვდომობის სერვისების გამოყენებით წინა ავტომატური შევსების განხორციელებასთან შედარებით, გასათვალისწინებელია უსაფრთხოების პოტენციური ხარვეზი. გასულ თვეში, თეთრი ფურცელი გამოქვეყნდა GitHub-ში, სადაც დოკუმენტირებული იყო Android Oreo Autofill API-ის თანდაყოლილი ხარვეზი, რომელიც შეიძლება შესაძლოა გამოიწვიოს თქვენი პაროლის მენეჯერის მიერ თქვენი პერსონალური მონაცემების მეტი გაჟონვა, ვიდრე თქვენ მას მისცეთ ნებართვა. ჩვენ ვაპირებთ მარკ მერფის მიერ დაწერილი თეთრი ფურცლის სწრაფ ჩამონათვალს (უფრო ცნობილი როგორც CommonsWare) და გამოქვეყნდა მის GitHub გვერდზე 2017 წლის 8 აგვისტოს.
მონაცემთა გაჟონვის პოტენციური ხარვეზი Android Oreo-ს Autofill API-ში
როგორ მუშაობს ნაკლი?
ავტომატური შევსების განხორციელება Android Nougat-ში (და ქვედა ვერსიებში) და ბრაუზერებში, როგორიცაა Google Chrome, მართლაც მარტივია. ჩვეულებრივ, პაროლის მართვის აპები გამოიყენებენ ხელმისაწვდომობის სერვისებს, რათა სკანირონ ეკრანის შიგთავსი შესვლის ყუთისთვის და რეკომენდაციას უწევენ ავტომატური შევსების მონაცემებს მის აღმოჩენის საფუძველზე. სანამ ის მუშაობდა, ის შეიძლება გამოიწვიოს მნიშვნელოვანი ჩამორჩენა.
Android Oreo-ზე ეს ცოტა განსხვავებულად მუშაობს, რადგან პაროლის აპები ახლა ოფიციალურად არის მხარდაჭერილი Autofill API-ით. მესამე მხარის პაროლის აპლიკაციებს აღარ სჭირდებათ ხელმისაწვდომობის სერვისები, რადგან მათ ახლა შეუძლიათ შეასრულონ ავტომატური შევსების სერვისის როლი, აპლიკაციებთან კომუნიკაცია Autofill Framework-ის მეშვეობით. როდესაც მომხმარებელი ფოკუსირებულია ვიჯეტზე, სისტემა შეფუთავს გარკვეულ ინფორმაციას ამ ვიჯეტის/ფორმის შესახებ და გაუგზავნის მას ავტომატური შევსების აპში. შემდეგ აპლიკაცია აბრუნებს შესაბამის ავტომატური შევსების მონაცემებს, როგორიცაა პაროლები, ელფოსტა, საკრედიტო ბარათები ან სხვა სახის მგრძნობიარე მონაცემები. Android სისტემა მოქმედებს როგორც შუამავალი აპლიკაციას შორის, რომელიც ინახავს მონაცემებს და მათ, ვინც ამას ითხოვს.
თუმცა, მავნე აპებს ან მავნე პროგრამებს შეუძლიათ რეალურად ისარგებლონ ავტომატური შევსების ფუნქციით, რათა მიიღონ მეტი ინფორმაცია საკუთარი თავისთვის. მავნე მოქმედებას შეუძლია მოითხოვეთ დამატებითი ავტომატური შევსების მონაცემების შეყვანა უხილავი ან ფარული ვიჯეტით. სანამ მომხმარებელი თანახმაა შეავსოს ერთ-ერთი ხილული ვიჯეტი, როგორიცაა შესვლის ფორმა ან მსგავსი რამ, უხილავი ვიჯეტი ასევე იღებს დამატებით მონაცემებს, რომ არ დაინახოთ. ეს შეიძლება მართლაც საშიში იყოს, თუ ეს გაჟონილი ინფორმაცია არის თქვენი პაროლი, მისამართი ან საკრედიტო ბარათის დეტალები!
ზემოთ მოყვანილი ეკრანის ანაბეჭდები აჩვენებს მავნე ტესტის აპლიკაციას, რომელიც იყენებს უსაფრთხოების ამ ხარვეზს.
Google-ის პასუხი პრობლემაზე
CommonsWare-ის თანახმად, უსაფრთხოების ამ საკითხს ჯერ არ აქვს Google-ის მიერ გამოქვეყნებული საჯარო გადაწყვეტა. თუმცა, ჩვენ ვიცით, რომ Google-მა იცის ეს საკითხი. CommonsWare აცხადებს, რომ Google-ის ინჟინრებმა აღიარეს, რომ პრობლემა არსებობს პირადი საკითხების ტრეკერის ანგარიშში, მაგრამ ის რთული იქნება (თუ შეუძლებელი არა) მისი რეალურად დაყენება ან გააფართოვოს გამოსწორება.
მაგრამ ეს არ ნიშნავს იმას, რომ ავტომატური შევსება სრულიად სახიფათოა გამოსაყენებლად, რადგან Google იყენებს სხვა მიდგომას მონაცემთა უსაფრთხოების უზრუნველსაყოფად. კომპანია არის ვცდილობთ, რომ ავტომატური შევსების სერვისები ამ საკითხს ბოლომდე გაუმკლავდნენ და როგორც ასეთი, ცდილობს აამაღლოს დეველოპერების ცნობიერება, რათა გააუმჯობესონ ავტოშევსების პროვაიდერები და გახადონ ისინი უფრო უსაფრთხო. კონკრეტულად რა არის შემოთავაზებული?
უპირველეს ყოვლისა, ავტომატური შევსების პროვაიდერები უნდა დანაწილდეს მათი მონაცემები. იმის ნაცვლად, რომ ავტომატური შევსების ყველა მონაცემი ერთ აუზში შეინახონ, დეველოპერებმა უნდა გაანაწილონ ტიხრებში შენახული მომხმარებლის მონაცემები. მაგალითად, მისამართი/ტელეფონის დანაყოფი, საკრედიტო ბარათის დანაყოფი, პაროლი/მომხმარებლის სახელი და ა.შ. ავტომატური შევსების სერვისმა უნდა გადასცეს მხოლოდ ერთი დანაყოფის მონაცემები ერთდროულად ფოკუსირებული ვიჯეტის საფუძველზე. ეს არის ერთ-ერთი საჯაროდ ხელმისაწვდომი გვერდები ავტომატური შევსების აპებზე, რომლებიც თავს იცავენ მონაცემების უხილავ ვიჯეტებში გაჟონვისგან.
Google-ის ინჟინრების თქმით, არის კიდევ რამდენიმე რამ, რაც პაროლის მენეჯერების დეველოპერებმა უნდა გააკეთონ. მაგალითად, ავტომატური შევსების პროვაიდერმა უნდა გადასცეს მონაცემები მხოლოდ კონკრეტულ აპს, რომელმაც პირველად მიაწოდა იგი. ეს უნდა გაკეთდეს პაკეტის სახელის და აპლიკაციის საჯარო ხელმოწერის გადამოწმებით, რათა შეცვლილ APK-საც არ შეეძლოს მასზე წვდომა. სხვა ის არის, რომ ავტომატური შევსების აპები საჭიროებენ ავთენტიფიკაციას, სანამ რეალურად მიაწოდებენ მონაცემებს ავთენტიფიკაციის აქტივობა, რომელიც აცნობებს მომხმარებელს, რა სახის მონაცემები მიეწოდება აპს, რომელიც მას ითხოვს. ამ რჩევას რეალურად ბევრი შეცდომა აქვს, ყველაზე მნიშვნელოვანი ის არის, რომ ეს რჩევები რეალურად არ არის აღსრულებული Google-ის მიერ.
გაითვალისწინეთ, რომ ზემოხსენებული წინადადებებიდან ბევრი აღებულია CommonsWare-ის პირადი საკითხების ტრეკერის ანგარიშიდან და არა Google-ის ოფიციალური დოკუმენტაციის გვერდიდან. შემდგომი, უფრო ტექნიკური ინფორმაციისთვის, თუ როგორ შეუძლიათ აპებმა, რომლებიც იყენებენ Autofill API-ს, დაიცვან თავი ამ ტიპის თავდასხმისგან, გირჩევთ, წაიკითხოთ სრული თეთრი ფურცელი CommonsWare-ის მიერ.
რომელი აპლიკაციებია დაცული ამ ხარვეზისგან?
ჩვენ მივმართეთ 1Password, Enpass და LastPass-ის დეველოპერებს ამ დაუცველობის შესახებ და უსაფრთხოების გუნდებს ამ 3 აპის უკან ამტკიცებდა რომ ისინი არიან უსაფრთხო, თუმცა ჩვენ ჯერ არ გადავამოწმეთ ეს პრეტენზიები.
როგორც ზემოთ მოყვანილ განცხადებებში ვხედავთ, 1Password მომხმარებლისგან ითხოვს ავტორიზაციას მონაცემების შევსებამდე, ასევე აცნობებს მათ, თუ რა მონაცემები შეივსება წინასწარ. ეს ასევე ეხმარება ჩუმად შევსების პრობლემას, რადგან ავტორიზაციის ამომხტარი გამოჩნდება თითოეული აქტივობისთვის, რომელიც ითხოვს ავტომატური შევსების მონაცემებს.
Enpass არასოდეს გამოავლენს მთელ გასაღების ჯაჭვს მომთხოვნი აპისთვის, იქნება ეს მავნე თუ ნამდვილი. მომხმარებლისთვის წარედგინება მხოლოდ შენახული ელემენტები, რომლებიც შეესაბამება მომთხოვნი აპლიკაციის პაკეტის სახელს. მათ ასევე დაადასტურეს, რომ Google-ის რჩევის შემდეგ ექნებათ მეტი ზომები.
გარდა ამისა, LastPass-მა დაგვიდასტურა, რომ მიუხედავად იმისა, რომ მათ არ იცოდნენ პრობლემის შესახებ Android Oreo-ს გამოშვებამდე, მათი აპლიკაცია იყენებს მონაცემთა დაყოფა მომხმარებლების დასაცავად, სხვა შემოწმებებთან ერთად, რათა დარწმუნდეთ, რომ LastPass მხოლოდ ავსებს ჩანაწერთან დაკავშირებულ აპლიკაციას.
მიუხედავად იმისა, რომ ამ 3 აპლიკაციის გამოყენებასთან დაკავშირებით არანაირი პრობლემა არ უნდა იყოს, თუ გსურთ სრულად დარჩეთ, უნდა გამორთოთ ავტომატური შევსება მთლიანად თქვენს ტელეფონზე, სანამ არ დაადასტურებთ პაროლის მენეჯერის დეველოპერს, რომ მათი აპლიკაცია დაცულია ამ ხაზისგან თავდასხმა. საბედნიეროდ, ეს შეიძლება გაკეთდეს მარტივად, თუ გადადით პარამეტრები > სისტემა > ენები და შეყვანა > გაფართოებული და იპოვით „ავტოშევსების სერვისის“ პრიორიტეტს, დააჭირეთ მასზე და აირჩიეთ „არცერთი“.
როგორც ზემოთ ვთქვით, უცნობია, შეუძლია თუ არა Google-ს რეალურად გამოასწოროს ეს, ასე რომ სანდო აპების გამოყენება ან უბრალოდ ფუნქციის გამორთვა ერთადერთი გზაა, რომ დარჩეს უსაფრთხოდ. თუ გსურთ მეტი წაიკითხოთ ამ საკითხზე და მასთან დაკავშირებულ ყველა დეტალზე, უნდა წაიკითხოთ ორიგინალში თეთრი ქაღალდი, რომელიც მას დოკუმენტურად ადასტურებს GitHub-ზე.
ეს სტატია განახლდა 9/13/17, რათა უფრო ზუსტად აისახოს LastPass-ის, Enpass-ისა და 1Password-ის პასუხების გავლენა.