在病毒肆虐的PC时代和网络时代,对于计算机数据输入端的攻击就从未停止。键盘作为终端数据输入的主要硬件设备,成为了恶意攻击者的主要目标。魔高一尺道高一丈,对于输入端的防护也在不断进行。而今,这场战争已经延伸到了移动互联网的移动应用上。
早期的各类系统以及Web应用出于安全性的考虑,需要使用者建立登录帐号、密码,设置密保等各种验证信息。在建立登录帐号过程中,系统有时会要求用户填写身份证号码、公司信息、家庭住址、家庭成员信息、电子邮箱、手机号码等。而为了加强安全性,登录时有的还要填写系统随机给出的安全验证码。而到了移动联网时代,各类移动金融APP、电商交易APP、第三方支付APP、支付宝、手游等则会绑定用户信用卡账号、银行卡账号等用来完成在线交易。那些BYOD的人们,更是习惯于在移动终端输入商业信息、敏感数据通过移动互联网进行传输、确认等各种操作。
人们通过键盘输入各类数据信息,而恶意攻击者则通过下钩子的方式对用户键盘操作进行监控,一旦发现键盘操作就会将窥探到的机密信息资料发送到骇客指定电子邮箱或者远程服务器站点里。今年国内的安全大会上还曾有国外安全专家演示,如何通过谷歌等智能眼镜直接“看”到用户在智能手机上所输入的密码。如何才能保障输入的安全性?
在PC上人们通过软键盘的方式来扰乱恶意攻击者对键盘操作的监控,实际上软键盘这种专业的安全键盘系统同样可以用于保护移动终端上的输入安全。
在移动互联网时代,骇客们往往是通过反编译一些流行应用(比如输入法、电子地图等),将键盘钩子(监控程序)捆绑嵌入其中,二次打包后上传到各个应用市场上进行扩散传播。当用户安装并运行了这些受感染的应用时,骇客嵌入的钩子程序就会被激活,悄悄驻留在后台中,监控用户通过键盘输入的数据,发起输入数据监听攻击、键盘劫持攻击、键盘截屏攻击、输入数据篡改攻击以及来自系统底层的内存Dump攻击,同时还会破解加密算法、窃取输入后存储的数据或者对未加密的数据进行篡改。
在骇客们的攻击下,用户的键盘操作犹如裸奔一般。在线交易网友的银行卡账户密码、交易金额、交易信息、交易凭证,喜欢网游朋友们的游戏帐号、密码、游戏里的虚拟物品,爱好社交网友的社交应用账号、密码、好友列表信息等都会被攻击者轻易获取。用户隐私信息、公司机密数据、网银存款……只要下了“钩子”这些就都能被钓到。据统计,全球去年有超过5亿用户发生信息泄露。
移动开发者总是习惯于调用系统默认的输入法,所以要想破解移动应用的输入安全危机就要由此着手,比如使用安全键盘。
对于键盘的安全问题需要考虑从输入启动前/中/后、应用层/底层,以及数据传输、数据存储、内存数据换算等阶段进行全流程保护。也就是说要在软键盘启动前、输入状态时,数据未加密前进行安全防护,而且还要保护加密数据的加密算法。另外虚拟安全键盘的键位要能够实现随机分布,从视觉上进行安全迷惑。如此才能有效抵御数据侦听、键盘劫持、键盘截屏、键盘窥探等攻击行为。
这类安全键盘里最为典型的就要数梆梆安全所推出的金融级移动应用键盘保护解决方案了。中国人民银行于2012年5月8日发布《网上银行系统信息安全通用规范》,该规范涉及网上银行系统的技术、管理和业务运作三个方面,分为基本要求和增强要求两个层次,基本要求为对网上银行系统的最低安全要求,增强要求为三年内应该达到的安全要求。根据对比统计,梆梆安全的安全键盘超出了该规范的增强要求,全面符合并超出银监会和人民银行基于CS架构的专用安全防护控件技术标准,其安全强悍程度由此可见一斑。
梆梆安全所提供的标准随机分布式虚拟安全键盘,可以由开发者集成进其所开发的移动应用中,在输入数据时进行调用。大家可以在“http://bangcle.com/solution/sdk-center/”免费下载。
梆梆安全键盘通过键盘位置每次随机布局,数字键盘每次输入后变化,防止从底层驱动以及外界窥探分析输入点,从而分析并截获用户所输入的密码。对于底层的内存Dump也做了有效防护,防止Dump出内存密码明文拷贝等风险。系统调用安全键盘请求输入时,还将配合进行清场、环境扫描、杀灭病毒的安全操作。对于输入时的截屏攻击进行防御,不回显输入信息。对输入输出的日志进行保护,防止logocat输出信息打印出明文密码帐户信息。在难以反编译的so文件中保存密钥,并对so文件高强度加壳。通过高强度的组合加密算法和机制,对安全键盘输入的信息在全流程实施加密,不留下风险空挡。
对于安全键盘自身的安全问题,则可以通过客户端加固的方式,防止安全键盘被去除或绕过,以致整体加密输入功能失效,从外围对安全键盘形成加壳保护。
再进一步,通过对开发者的移动应用进行加固,在APK包中打入反篡改、反编译、反调试/反注入等安全机制,可以防止其他环节对所输入重要信息的劫持和篡改。而通过保护整体代码,保护发送加密包的网络协议证书代码,还可以防止对通讯协议的破解。
目前所有Android系统,以及阿里云手机、小米定制OS、魅族定制OS等定制系统上都可以应用梆梆安全键盘。移动应用开发者只需要将梆梆安全键盘的相关插件以SDK的方式进行集成,再配合应用加固,就可以对应用输入实施全方位的安全防护,为网友提供一个安全可靠的移动应用环境。