Při uložení obrázku a jeho otevření v aplikaci Instagram by hackeři získali plný přístup k instagramovým zprávám a obrázkům oběti, což by jim umožnilo na účtu oběti zveřejňovat nebo mazat obrázky podle libosti, stejně jako přístup ke kontaktům, fotoaparátu a údajům o poloze napadeného telefonu.
Jak útok funguje?
Ke zneužití zranitelnosti by útočníkům stačil jediný škodlivý obrázek. Check Point popsal útok ve třech krocích:
- Útočník odešle obrázek na e-mail uživatele, WhatsApp nebo jinou komunikační platformu.
- Obrázek se uloží do mobilního telefonu uživatele. To lze provést automaticky nebo ručně v závislosti na způsobu odeslání, typu mobilního telefonu a konfiguraci. Obrázek odeslaný například přes WhatsApp se ve výchozím nastavení automaticky uloží na telefon na všech platformách.
- Oběť otevře obrázek v aplikaci Instagram, čímž dojde ke zneužití zranitelnosti, cože útočníkům umožní převzít kontrolu nad účtem a telefonem.
Převzetí kontroly nad instagramovým účtem a zneužití telefonu
Zranitelnost by útočníkům poskytla plnou kontrolu nad aplikací Instagram a umožnila bez souhlasu uživatele například číst zprávy, mazat nebo zveřejňovat fotografie nebo manipulovat profilem.
Aplikace Instagram má poměrně rozsáhlá oprávnění, takže by útočníci mohli zranitelnost zneužít k přístupu ke kontaktům v telefonu, informacím o poloze, fotoaparátu a souborům uloženým v zařízení. Telefon by se tak dal zneužít ke špionáži.
Zneužití by na té nejméně sofistikované úrovni mohlo vést ke zhroucení aplikace Instagram a odepření přístupu, dokud uživatel aplikaci ze svého zařízení neodstraní a znovu nenainstaluje. To ale může způsobit ztrátu dat a jiné komplikace.
Hrozby v kódech třetích stran
Výzkumný tým Check Point Research objevil zranitelnost v Mozjpeg, open source JPEG dekodéru, který Instagram používá k nahrávání obrázků do aplikace. Check Point proto upozorňuje vývojáře aplikací na potenciální rizika spojená s knihovnami kódů třetích stran. Vývojáři aplikací často šetří čas a pro běžné úkony, jako je zpracování obrazu a zvuku nebo připojení k síti, používají kódy třetích stran. Kód třetí strany ovšem často obsahuje zranitelnosti, které mohou vést k bezpečnostním chybám v aplikaci, jako je tomu i v případě Instagramu.
Check Point odpovědně informoval Facebook, tedy majitele Instagramu. Facebook tento problém okamžitě uznal a vydal záplatu pro novější verze aplikace Instagram na všech platformách. Aby bylo zajištěno, že aplikace uživatelů budou záplatované, čekal Check Point se zveřejněním analýzy šest měsíců.
„Z našeho výzkumu vyplývají mimo jiné dvě věci. Knihovny kódů třetích stran mohou být vážnou hrozbou. Důrazně žádáme vývojáře softwarových aplikací, aby prověřili knihovny kódů třetích stran, které používají k vytváření svých aplikačních infrastruktur, a zajistili, že jejich integrace proběhla správně. Kód třetí strany se používá prakticky ve všech aplikacích a hrozby s jejich pomocí mohou zůstat neodhalené. Dnes je to Instagram, zítra to může být někdo jiný,“ uvedl Petr Kadrmas, Security Engineer Eastern Europe v kyberbezpečnostní společnosti Check Point. „Lidé zároveň musí věnovat pozornost oprávněním, které aplikace žádají. Když aplikace žádá o nějaké oprávnění, může se to zdát jako zbytečná ztráta času a řada uživatelů jednoduše klikne na souhlas a na vše zapomene. Ale v praxi je to důležitá součást ochrany před mobilními kyberútoky, doporučujeme věnovat chvilku času a zamyslet se, jestli opravdu chcete aplikaci poskytnout přístup ke kameře, mikrofonu či dalším zdrojům telefonu.“
Check Point proto doporučuje dodržovat základní bezpečnostní principy:
- Aktualizujte! Aktualizujte! Aktualizujte! Pravidelně aktualizujte mobilní aplikace a mobilní operační systém. V aktualizacích jsou každý týden desítky důležitých bezpečnostních oprav a každá může vážně ovlivnit vaše soukromí.
- Sledujte žádosti o oprávnění. Věnujte pozornost, jaká oprávnění aplikace žádají. Pro vývojáře aplikací je velmi snadné jednoduše požádat uživatele o více oprávnění, než potřebují, a uživatelé mohou jednoduše kliknout na „povolit“, aniž by si to pořádně rozmysleli.
- Než něco schválíte, dobře se nad tím zamyslete. Než něco schválíte, pořádně se nad tím zamyslete a zeptejte se: „Opravdu chci této aplikaci poskytnout tato oprávnění, opravdu to potřebuji?“ Pokud je odpověď ne, žádost neschvalte.