Aplikace na marketu o sobě tvrdí, že potřebuje přístup k úložišti (čtení/zápis na SD) a k systémovým prostředkům (zabránění spuštění spořiče, když aplikace pracuje).
Jak já poznám, že ta aplikace nehrabe i do mých kontaktů a neposílá něco na síť?
Respektive, kdo kontroluje, že to nedělá?
Že nedělá nic jiného, než o sobě tvrdí?
A teď zpět k tématu: co má za úkol dělat takový antivirus v android mobilu?
Pravomoci aplikace pro android se zadávají do xml souboru před kompilací aplikace. Na to, zda jsou dodržovány dohlíží vlastní Android.
Antivirus v mobilu skenuje jednou za čas (nebo i při instalaci) všechny aplikace na podezřelé vzorky v kódu. Zatím jsem neviděl antivir, který by umožnil definice toho, ktará aplikace kam může a nemůže.
Poměrně slušný stupeň zabezpečení má Android ROM MIUI. Tam je třeba možné nastavit, že do kontaktů, k SMS nebo k volání nemůžou aplikace třetích stran. Dále třeba umožňuje nastavit přístup aplikaci k internetu.
Nejsem si úplně jistý, že antivirus v mobilu má možnost sahat do jiných aplikací. Bez roota nejdou aplikace s daty ani zálohovat, natož aby se někdo hrabal v jejich bytekódu. Na rozdíl od škodlivých aplikací, antivirus nemůže spoléhat na chyby v jednotlivých verzích androida, které mu umožní se hrabat kde chce.
Já bych řekl, že tu možnost má.... Nastavení/zabezpečení/správci zařízení -> nevím, jaké přesné oprávnění to poskytuje, ale rozhodně to umožňuje skenovat při instalaci. Co jsem viděl, tak spousta aplikací na ochranu před krádeží to využívá taky (ona taková aplikace ani nejde dost dobře odinstalovat, dokud se nejdřív neodebere z tohoto seznamu).
Kontakty nejsou uložené na SD kartě, na síť nemůže... věřit tomu buď musíte a nebo si můžete nějakou aplikaci zkusit napsat a zjistil byste, že bez toho aniž by si Vaše aplikace o práva pro komunikaci po síti vyžádala, to prostě nejde. Jakmile to ale uvedete v manifestu (nebo tam někde už si to přesně nepamatuju) tak to té aplikaci povoli a zároveň při instalaci o tom bude uživatele informovat ... jedno bez druhého nejde...
To mi připomíná nějaký návrh v diskuzi (nebo snad dokonce oficiální oznámení), kde se psalo o "fine tuningu" ACL pro každou aplikaci, pokud možno uživatelsky přívětivou formou. Tedy nejspíš dialogy pro několik typů přístupu (síť, kontakty, SD karta, data dalších aplikací, co já vím) a nějaký "control panel", kde by se daná nastavení dala zobrazit / měnit uživatelem.
Jasně, spousta lidí by povolila přístupy všeho ke všemu, ale zase by se našlo dost (i "netechnických") lidí s mozkem v hlavě, kteří by si dávali pozor, pokud by jim ten systém vysvětlil pěkný grafický průvodce.
Bohužel to nevyřeší problém "falešného certifikátu" - tedy pokud uživatel najde aplikaci, která se mu líbí, tak jí klidně odsouhlasí cokoli, jen aby fungovala.
CyanogenMod 7.1.0
Zobrazit si detaily o aplikacii a po tuknuti na nejake pristupove pravo sa znemozni (vidiet ho potom ako preskrtnute). Niektore aplikacie ale potom samozrejme mozu zacat padat, pretoze aplikacia sa moze spoliehat na umoznemy pristup a nema osetrene zlyhanie.
Podla mna vyborne riesenie, nieco ako firewall na permissions. Ziadne spomalovace systemu v podobe 3rd party "antivirakov" netreba.
Já bych spíš uvítal nějaký firewall, který by mi umožnil osekat práva aplikacím, které je v manifestu vyžadují, ale logicky je k ničemu nepotřebují. Například spousta her vyžaduje full network acces a přitom funguje i když mám datové přenosy úplně vypnuté. Podobně vyžadují přístup do adresářů, čtení kontaktů, SMS apod.
Ano, nemusím takové aplikace instalovat, ale když jsem si chtěl udělat obrázek o tom, co je na Android Marketu k mání, tak takových byla spousta.
Vyhovovalo by mi něco jako dělá COMODO ve Windows - v okamžiku, kdy aplikace chce na síť, chce zapisovat do registrů apod., tak zobrazí placku jestli to chci povolit nebo zakázat, a jestli trvale nebo jen pro tentokrát. Umí tohle nějaký firewall pro androida?