日前行政院长江宜桦发函要公务人员不要使用LINE、WhatsApp 等通讯软件,要公务人员使用工研院研发的手机通讯软件 Juiker(揪科),但 Juiker 却爆出 SSL 凭证认证的问题,让恶意攻击者可利用中间人攻击,窃取使用者的机敏资料。虽然工研院紧急修改 App,已于 1 日重新上架,但这也揭示手机 App 在开发上的 SSL 凭证风险,对一般者来说,手机最机密的资料往往是手机上的帐密及网络金融交易资讯。
HITCON 台湾骇客年会在 6 日举办论坛,提醒开发者特别注意手机 App 开发时,常被忽略的 SSL 处理,以及 Android 系统的 WebView 三大漏洞(注)。岑志豪提醒,Android 系统的 4.0.X 及 4.1.X 版本是重灾区,横跨三个 WebView 漏洞,开发者不要小看每个漏洞,三个漏洞加总起来,危害不容小觑。
岑志豪指出,“不是用 SSL 加密连线就安全,要检查凭证是否安全。”网络连线普遍发生的现象是,对资料层传输的保护不足。最常遇到中间人攻击(Man-In-The-Middle Attack),当连线被中间人攻击时,会拦截中间的资讯,使用者的连线被导往攻击者的服务器,使用者资料就会被窃取。
不要在公众网络使用银行线上交易
资安专家戴夫寇尔资安研究员岑志豪建议,一般使用者尽量不要在公众使用的网络如咖啡厅进行刷卡及网络金融交易,避免恶意攻击者利用同一个网段进行恶意攻击,取得机敏资讯,3G、4G 网络或家中网络则相对安全。因为网络银行也可能被中间人攻击,台湾许多线上银行都存在 SSL 风险,由于程式通常是委外开发,要看外包厂商是否注意到 SSL 的问题。
另外,岑志豪提醒使用者不要点进来历不明的连结,更要注意是否点进连结后下载程式。他进一步指出,如果发现上网的速度变得很慢,或者突然在某个情况下耗电率很快,这两个特征可以协助使用者判断是否手机可能被恶意攻击。
如果真的发现手机被攻击下载恶意程式,可以试着移除程式,如果无法移除的话,就把手机系统重置,恢复到原厂设定,大部分的情况应该可以解除危害。
SSL 处理凭证风险,防范方法:避免在公众网络传输机敏资讯
SSL 问题普遍存在,资策会“2014 年上半年台湾风云 APP 百强”中,Android 的 App 有 86 个,其中存在 SSL 风险的 App 就有 49 个。岑志豪说,一般来说,系统预设会对服务器做凭证的检查,只要凭证有效,服务器的设定也正确的话,就可以正常使用加密连线,如果凭证无效的话,开发者若没有处理,连线就会被中断。
使用预设设定而无法通过凭证的原因有以下三个: 1、凭证是对的,但服务器设定有误。 2、根凭证未预装到装置上,手机上有先预安装凭证,但手机机型旧,导致凭证认为你的手机有问题。 3、其他:像是开发者常常会自行签发凭证、凭证过期及网域名称不符。
给开发者的建议:
- 务必采用加密连线传输机敏资料
- 严格做好对服务器凭证的检查(系统预设、凭证绑定)
- 只容许在开发阶段忽略凭证检查
- 注意使用的第三方函式库是否有问题
给使用者的建议:
- 避免使用公众场所所提供的无线网络
- 避免使用加密强度较弱的无线网络,如 WEP、WPA 等。
▲Android 系统上 SSL 问题的建议。(图片来源:郭芝榕/摄影。)
三大 WebView 漏洞,防范方法:使用 Android 系统 4.2.X 或 chrome、firefox、opera 浏览器
开发者想让程式与网页结合时,通常会使用 WebView,是可执行 JavaScript,用于连结网络及显示网页的元件。不过,岑志豪也指出 WebView 目前的三大漏洞 CVE-2012-6636、CVE-2014-1939、CVE-2014-6041,会让攻击者可以窃取资料,Android 系统的 4.0.X 及 4.1.X 同时受到三个漏洞影响,算是“重灾区”。
▲手机 App 使用 WebView 常见的三大 CVE 漏洞,漏洞见红色区域。(图片来源:郭芝榕/摄影。)
岑志豪说,结合SSL的中间人攻击及 WebView 的漏洞,攻击者可取得手机应用程序的权限,进而控制使用者的手机。他并建议,千万不要忽视每个漏洞的影响力,尤其是不同漏洞的组合,危害将远大于每个漏洞各自的影响。开发者要在产品发布前进行安全测试,定义 App 最低支援版本,避免因相容旧版而引发资讯安全的问题。
▲资安专家提醒开发者不要忽略漏洞被结合攻击的影响力。(图片来源:郭芝榕摄影。)
给开发者的建议:
CVE-2012-6636
- 避免 WebView 载入恶意内容,使用 HTTPS,只读取本地 HTML
- 在 4.2.X 或以上版本使用时要为函数标注 @Javascriptinterface
- 避免在 4.1.X 或以下版本的系统上使用 addJavascriptInterface 函数
CVE-2014-1939
- 避免WebView载入恶意内容,使用HTTPS,只读取本地HTML
- 对版本 3.0.X ~ 4.1.X 的系统使用 removeJavascriptInterface,把"searchBoxJavaBridge-“这个界面移除
CVE-2014-6041
- 避免 WebView 载入恶意内容,使用 HTTPS,只读取本地 HTML
- 机敏 cookie 务必设定为 HttpOnly(服务器端)
给使用者的建议:
- 系统更新至 4.2.X 或以上版本
- 避免开启不明来历网址
- 采用非内建 WebView(WebKit)作为核心的浏览器,像 Chrome、Firefox、Opera
注:CVE(Common Vulnerabilities and Exposures)漏洞是一个国际知名的漏洞数据库,由企业界、政府界和学术界共同参与的非盈利组织,可以快速发现软件中的脆弱之处。
(首图来源:郭芝榕摄;本文由 数位时代 授权转载)