每次开机,第一时间会用边只 Apps ? Facebook ? Whatsapp ?定 check email 呢?一般而言,我们都会上App Store 或Google Play 去下载心仪Apps做自己想做的事‥‥‥。时间长了,会发现即使电话叉足电,闲置电池都会很快被耗尽。除此之外,也有不少电话被监听,中毒等新闻,网络上不少教学要机主格式化电话,备份资料。有见及此,想从programming 和用家角度去分享心得。
1. 熄机不一定是完全停止运作,永远不知道Apps 背后运行什么程式
在电脑世界中,背后运行的程式,叫做Thread。 Thread就是跟主程式分开,独立进行背景程式。只要背后写成一个回应方式(callback method) ,就可以定期更新主页。在Android / iOS 的世界中,有三种类型的Thread :行单一个Task 、重覆行一个Task、什至连续一个Backend Class 去使用。
而以上所有Threads,如果不是用家设定教它停止运作,或用呼叫App Stack 扫走,电话很快就会耗尽电力。即使依正常步骤离开Apps,Threads 也未必停止运作。
如果有开发Android App 的经验,就会明白所有开机关机的程序都是先由截取按钮的事件触发的。即使离开某App ,如果开发者设计一个Thread,是一定需要用家到设定才叫它停止运作。
Hacker 可以从熄机的流程中截取按下和放开按钮的触发事件,可执行Thread去做任何事。如果你已经root 了电话或jail break iPhone, App 更可以窃取所有用户资料和联络人名单的电邮和电话号码。
2.要使用太多无谓的权限的Apps,安全性教人怀疑。
不少Apps 开发者,特别专注Android Developement 方面,都会多开几个权限,方便开发者改良。尤以拍摄App、开闪光灯的App其严重:
如果稍为细心留意,就知道开闪光灯跟开Wi-Fi、提取用户资料是风马牛不相及的事,然而,用家心急起来多数不为意App会提取你电话中什么权限而已。另外,Google与Apple就审批一个Apps 上架与否,处理方式大有不同。 Google 只会扫描APK一次,看看有没有明显的木马,和内容是否符合要求,最快可以两小时后就成功上架;Apple 却要数个星期。截图和文字描述被呈上后,全程由人手审批。如果要跟其他电子仪器沟通或配合,Apple App Reviewer 更会要求开发者呈交一段Demonstration Video,好让其他人明白如何使用那只App。因此,一般人会更易相信iOS App 比Android App 安全。
可以看到,使用Apps 虽然方便,但暗藏危机。下载Apps 前,请停一停,谂一谂,是否真的清楚明白使用的权限和衡量个人资料被窃取的风险。至于放资料上云端等是否安全,就留待日后有机会再讲。