移动互联网安全相关资料

我的一些个人总结

1.web 攻击
    最主要的攻击方式,另起一文详细说明;
    其实攻击针对的主要还是服务端,毕竟拿到客户端再多的数据用户也不大;

2.使用不安全的接口
    很多接口对外开放权限-导致不需要校验既可以进行查询(爬虫抓数据),甚至是update、delete操作;
    对来访的IP做校验,加ip/域名黑白名单。对外部环境设置ip黑名单,对内部环境设置ip/域名白名单;
    使用上层服务检测来访请求中的参数信息:B参数、C参数、登录信息、token;
    使用不加密的请求参数;
    使用https的方式不正确(不理解……);
    使用抓包工具/http调试工具,篡改请求;

3.Android/IOS文档目录权限开放
    注意不要有开放访问/修改权限的文件;
    Android的静态文件中字符串要加密,防止篡改;
    对发出的请求做校验,只可以发出指定域名的请求(Android、IOS有现成的方法,可以在官网上查到);
    本地文件(Share Preferences等)/数据库中尽量不存储数据,存储数据时必须加密;

4. Android root、IOS 越狱提升权限拿到隐私数据
    检测如果是root权限或者已经越狱的话,禁止启动;
    注意,有些第三方工具可以hook检测越狱或者root的方法;

5.SO文件、dex文件逆向
    重要的代码存在SO中;
    加壳,使用第三方加壳工具;
    代码混淆(聊胜于无);

6.使用过时的加密方式
    过时的MD4、MD5等等等等,记不住了,网上解密的工具已经很成熟(CMD5)
    不要自己定义一个新的加密规则(本地可破解)
    推荐3DES、RSA(客户端支付常使用),还有一种忘了……

7.不安全的登录信息
    登录信息保持过长(也得看业务要求,维持个折中的方案)
    验证码失效时间过长、验证码保持有效性的bug

8.接口和网站链接命名不好,攻击者直接暴力撞号\撞库
    更改链接命名
    校验来访IP,自动加入(临时)黑名单

9.用户跳过身份验证
    beta测试时,注意设计这方面的测试用例;
    使用工具adb直接调用activity,测试人员在beta测试中设计相关测试用例(不仅如此,使用adb直接调起activity后,可以自己设置参数发起特殊的请求进行SQL注入等攻击);

10.将测试中的调试信息打印到logcat
    严格控制测试、调试信息发到线上,调试入口在发布时必须关闭;
    限制日志的级别,测试人员必须注意






posted @ 2015-09-21 12:05  以前挺瘦的  阅读(188)  评论(0编辑  收藏  举报