界面劫持与反界面劫持

梆梆安全移动应用开发手札之反界面劫持

 

界面劫持,顾名思义就是正常应用的界面被恶意攻击者劫持,替换上仿冒的恶意界面作恶。界面劫持类攻击极具迷惑性很难被识别出来,界面劫持攻击不仅会给用户带来严重损失,更是移动应用开发者们的恶梦。好消息是,通过本篇梆梆安全移动应用开发手札开发者会发现,借助安全插件可以有效防范APP遭遇界面劫持攻击。

界面劫持类攻击由来已久,而且这类攻击主要瞄准了用户的金融类交易操作。早期的网络钓鱼所仿冒的页面要么做工粗糙要么破绽百出,仔细分辨总能发现一些端倪出来。而界面劫持攻击所仿冒的页面绝对属于“高仿”级别,唯一的区别可能就是页面后台用户输入数据的发送方向是恶意攻击者的邮箱,而非真正的金融服务端。当用户在这类页面输入了自己的用户名、银行卡账号、密码等信息点击确定按钮后,并不会发生用户所期待的支付、转账等真实操作,恶意攻击者的电子邮箱才是这类数据的终点。许多钓鱼类恶意程序都可能采取这种“界面劫持”的攻击方式:在后台监控前台窗口运行,如果前台是一个银行应用登陆界面,恶意程序就立即启动自己的仿冒界面实施欺诈。利用仿冒界面来进行钓鱼欺骗,正在成为一种显著而有效的恶意攻击方式。在这类攻击之下,用户等于“拱手相让”了自己银行账户的控制权,而移动应用也将背负上难以洗脱的骂名。

如何才能避免遭遇界面劫持攻击,不要让移动应用被其“鬼上身”呢?梆梆安全友情提示,吃透界面劫持攻击原理,合理利用防界面劫持插件,为可能遭遇界面劫持攻击威胁的金融、交易等类APP实施有效的安全防护,再配合移动应用安全加固技术,即可保护用户敏感信息、财务免遭偷窃。

界面劫持攻击分为界面劫持和钓鱼攻击两部分。恶意程序会对目标应用的客户端进行监控,当应用客户端程序调用Acitivity组件显示窗口,且该窗口界面组件是恶意程序预设的攻击对象,恶意程序就会立即启动自己的仿冒界面使之替换或覆盖在客户端程序界面之上,这就是界面劫持。恶意攻击者在发动界面劫持后,用户所面对并操作的其实已经是被替换后的仿冒页面,这意味着用户在毫无察觉的情况下将自己的账号、密码等信息输入到了仿冒界面中,这些数据最终会返回到恶意程序的服务器里,这个过程便是钓鱼攻击。

据梆梆安全专家介绍,界面劫持攻击手法包括监听系统Logocat日志、系统API等多种方式,一旦监听到发生界面切换行为,即进行攻击,覆盖上假冒界面实施欺骗。大多数Android系统在界面切换时,会由ActivityManagerService打印出包含了界面信息的日志文件,恶意程序可以通过Logocat获取这些信息,从而监控客户端的启动。实际上,现在许多设备和系统都存在日志泄露的安全问题。另外,监听系统API也是恶意攻击者所采用的一种主要攻击方式,一旦恶意程序监听到相关界面的API组件调用,即可发起攻击。手机银行这类金融APP的登录界面、转账界面等都是恶意攻击者的主要目标。

知道了攻击原理,对界面劫持攻击的防范方法也就清晰了,比如要拦截恶意攻击者的监听,封堵日志漏洞等等。如果移动应用开发者在开发APP的过程中使用梆梆安全的防界面劫持插件,并配合相关的安全加固技术,就可以有效防止界面劫持攻击的入侵。

梆梆安全的防界面劫持插件能够对API组件进行全方位监控,当APP客户端运行时对Acitivity组件进行监控,如果发现系统所调用的界面遭遇了覆盖操作,就会立即提示用户可能存在安全风险,不要输入敏感信息,由此实现对恶意攻击者从API所发起界面劫持攻击的拦截。

另外,梆梆安全的安全加固方案能够对手机、系统、APP自身所存在的日志打印输出漏洞进行有效控制,防范因日志漏洞而导致的界面劫持攻击。同时安全加固方案还能从外层对防界面劫持插件本身进行再保护,防范插件遭遇篡改或攻击而被去掉,使其无法有效抵御界面劫持攻击。

其实,梆梆安全的安全加固技术能对APP客户端代码、API等进行有效保护,防止恶意攻击者对APP本身进行反编译分析发现程序组件相关漏洞,抵御各种恶意程序由此发起注入攻击等,降低界面劫持类攻击的风险。而梆梆安全的清场插件能在客户端启动时进行病毒和恶意程序扫描,给应用提供一个安全干净的运行环境空间,进一步降低界面劫持攻击风险。

移动应用开发者借助梆梆安全的防界面劫持插件,可以保护用户输入的账号、用户名、密码、验证码等敏感信息免遭恶意窃取。目前,该插件全面支持所有的移动开发框架和引擎。

PS:对梆梆安全的防界面劫持插件感兴趣的开发者朋友们可以前往官网下载免费试用。

你可能感兴趣的:(界面劫持与反界面劫持)