欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

浅谈APK安全及自动化审计

来源:本站整理 作者:佚名 时间:2018-08-17 TAG: 我要投稿

一、 闲聊
 说到移动安全,可能大家比较陌生,因为这方面的研究是在最近几年才逐渐火起来的。那么什么是移动安全呢?首先,我们知道,移动安全无非就是ios平台和安卓平台上的一些安全性的问题,包括平台系统系统本身的一些问题和应用层面上的问题。当然在客户端和服务端在进行交互的时候还需要涉及一些通信协议,主要是http及https协议,当然还有一些其他的协议,比如websocket等等。
这些协议本身的缺陷我们就不做过多的关注了,我们需要关注的是数据包在传输的过程中是否有进行必要的加密,服务端是否有对用户的操作权限进行控制,服务端的一些业务逻辑处理是否存在缺陷等等,这一方面的思路基本和web渗透差不多,但也有一些不同,后面会讲到。
二、木马攻击
说到移动安全,当然少不了病毒和木马的攻击,常见的远控木马有droidjack、SpyNote等等,还有前一段时间如雨后春笋般涌现的锁机软件。

图1Droidjack

图2 锁机软件
攻击者可以利用Droidjack这类软件,生成木马程序,这种恶意的木马程序一般存在于一些三流的apk市场里。一般来说,攻击者会在这些apk中投放一些带有诱惑性的信息,比如免费观看某某美女视频,某某视频免广告客户端,某某爽图浏览器等等。攻击者将这些带有诱惑性信息的apk发布到网络上后,会在远程服务器上起一个服务端程序,一旦用户安装运行了这个恶意程序,黑客就可以在远程服务端对用户手机进行操控,监视用户的各种行为,进而窃取用户隐私信息。
归根结底,这些木马病毒层面的攻击,主要还是由于用户安全意识方面太薄弱,就不做为主要的讨论对象了,我们主要还是针对安卓的应用层面的安全性进行一些讨论。
三、App服务端漏洞挖掘
那么我们该如何进行app漏洞的挖掘呢?首先,对于从web安全转战移动端漏洞挖掘的安全工作者而言,当然想挖一挖和自己所在领域比较相近的漏洞,而app的服务端基本和web安全领域的服务端差不多,只是web程序它的客户端更多的是浏览器,而移动应用它一般都有一个可以安装在移动设备上的app程序。所以,对于app服务端漏洞的挖掘上面,我们照样可以凭借以往的web经验,对其中的一些xss,ssrf,sql注入,任意文件读取等漏洞进行挖掘。
在对web应用进行漏洞进行挖掘时,我们可以通过在浏览器配置代理,来对我们web应用进行抓包分析,那么对移动端应用我们该怎么进行数据包分析呢?
其实,安卓应用的数据包分析也是要基于代理的,只是代理的配置相对复杂点罢了。我们在burptsuit或者fiddler中配置相应的代理后就可以使用他们进行数据包的截取和重放操作了。具体的步骤这里就不做详细阐述,网上都有教程,各位可自行查阅。
这里,对于xsssql注入等一些经典的漏洞我就不做多说了,也没什么好说的,这里主要说下移动应用的越权漏洞。我们知道,web安全里,越权漏洞一般时由于服务端没有对用户请求进行权限校验,只凭用户id就执行了用户请求而导致的。那么正确认证方式是一种什么样的过程呢?用文字简要的描述就是:用户在登陆认证成功后,服务端会将标识用户权限写进cookie,然后返回给浏览器,浏览器保留下这个cookie;用户在之后发起的请求包中带上这个cookie,服务端对数据包中的cookie做校验,从而识别用户权限,执行相应权限的操作。

图3 cookie认证过程
当然,还有一种认证方式是session认证。Session认证和cookie认证都可以对用户的身份进行认证,那么,Session认证和cookie认证方式的区别什么呢?   
简单来说,cookie存放在客户端,而session存放在服务端。从安全的角度来说的话,cookie相对不安全,而session相对安全些,因为cookie是存放在客户端的,攻击者可以在客户端获取cookie,如果用于标识用户身份的字段没有进行加密,容易被枚举,那么,攻击者就可以对cookie进行伪造,进而进行越权操作。而如果启用了session认证,那么客户端登入成功后获得的仅仅是对应的session的id。这个id是一串加密的字符串,是无法被遍历的。
那么它的认证过程又是什么样的呢?首先我们要知道,session认证也需要依赖于cookie的,用户在登陆成功后,服务端会将用户对应的session写进服务端的数据库中,session中带有用户的一些身份标识等信息,然后服务端会将这个session对应的id发送给客户端,所以客户端中的cookie的内容一般就只有一串sessionid=xxxxxx这样的字符串。用户在之后发起的请求中需要带上这个sessionid,服务端通过识别sessionid,然后查询数据库,获得相应的用户权限信息,然后再判断用户是否有权限执行响应的操作。
显然,session机制要相对安全一些,但安全的另一面也是需要付出代价的,相对cookie来说,session机制会更加消耗服务器的性能。

[1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载