android平台漏洞攻防和代码保护的技术趋势

ha4k3r 2013-09-30 159656人围观 ,发现 8 个不明物体 无线安全

移动互联网,时下最热门的互联网产业。这当中涌现出现了各种创业者们,他们创办公司,他们集结人才,他们卖命营销,他们赢得掌声,也有的,他们默默退出。WHY? 只因为他们拥有属于自己的“产品”!这些产品将面向用户,面向社会。回头想想:是否做成了一个“产品”就能把其中的安全问题解决掉呢? 创业者们是否就只做产品而不用顾及产品自身的安全呢?需要顾及吗?众所周知,android的市场占有率是首屈一指,这当中的安全问题是很值得我们研究和讨论的。使用量大,代表着有更多的人已经安装和正在使用它。可见,在浩瀚的信息安全海洋中,一个android App就犹如一条小船,如何确保他们能躲过安全风暴的突袭?

话说任何问题,都存在关联性。而关联性一旦被串起来,就会引发所谓的安全漏洞。

0×1: 漏洞名称:WebView JavaScript Bridges的滥用

该漏洞主要体现在APP程序的开发者为了显示在线的网页内容而直接用内置的android的webview视图类来调用在线的网页,从而引发的一系列安全漏洞。由于系统来自底层sdk接口,那意味着:只要是采取了类似做法的APP都存在加载有危险代码的网址的风险。其代码形式如下:

WebView webView = new WebView (R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.freebuf.com");

您的产品是否有躺枪呢?某android手机端产品,全国下载量几千万,由于android自身的系统漏洞,导致其内置的浏览器窗口有被远程执行恶意代码的风险,用户手机安全不保。

0×2: 风险名称:android的代码可被反编译为伪java代码,从而识别出用户APP软件的某些功能的核心算法以及暴露远程服务器重要url的安全风险。其反编译工具如下:

dex2jar  将android的class.dex反编译为jar代码包

jdgui  源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码
那么,试试看,你的APP是否也能被反编译为可读源码呢?案例:某anroid手机端产品,全国下载量几百万,被大量手机厂商内置为出厂软件,但由于其内置的代码被反编译,有风险的远程URL被暴露,远程web被黑,数据库信息被脱裤的风险并存,危及百万用户的个人隐私信息。

1

看着赤裸裸的伪源码,完美的近似程度,你很吃惊吗?还有太多太多的相关案例被等待揭示。与其说这些android App是个产品,不如说它们是一个展露安全风险的信息炸弹。如何防护?实在令人头疼不已。

其他android的安全风险还包括以下几点:

1. 作为android app的开发者们,常常将用户的登陆密码明文保存到手机或者sd卡上面。
2. android app的系统和后端服务器接口有暴露和传输被Sinffer的风险。
3. android app与用户的交互存在xss漏洞。
4. app对应的关联网站存在各种漏洞风险问题
5. android app程序中的逻辑设计问题(纵横权限的设计逻辑出现bug)。

我不仅想到在Freebuf上面由softbug写的那篇关于《谈谈APP创业公司对网络安全认识的周边感悟》中提到的:“创业公司大都不懂网络安全”这个说法。

的确,他们大都不懂安全,但这不不能成为产品不考虑安全的借口啊!这是一种对用户,对社会负责的态度。如何做到android平台的产品安全把控?如何保护我们的android 代码不被有心骇客反编译?幸运的是,这次,我在ISC的软件分论坛上找到了答案。—– ISC 2013的软件安全论坛中 《关于android平台漏洞攻防和代码保护的技术趋势》可以感受一下。尽管不是想象中那么完美,但至少能让我们明白,我们是否可以为自己的产品做点什么,不是吗?无论你是一个APP创业者公司CEO,还是一个android的代码开发屌丝,或许那正是你们需要看到的。这个议题过后,正好也有一个关于《让WEB更安全》的议题,顺带让我们把脑子思维换到网站这边,看看专家们都是怎么给我们建议的。

写在结尾的话:我们相信,没有安全的产品不是一个好产品。还清晰记得前几天腾讯安全应急中心(TSRC)的百万现金奖励计划,这似乎就能说明出什么问题来。对安全的关注有些公司已经到了全力投入的地步。这难道不是一种社会责任感的重要体现吗?至少能让大家知道,安全很重要。最后告知各位android的创业者和开发者们:你们做的是产品,而不是信息定时炸弹。

发表评论

已有 8 条评论

取消
Loading...
css.php