• 移动安全


    包签名 - (非原始签名说明包被修改过,可能被植入木马)

    CVE-2017-13156(Janus签名)

    调试证书使用 -(1.无法在应用市场上架,2.影响迭代更新)

    为Debug或Android说明使用的调试证书

    应用加壳

    SO文件加壳

    启动隐藏服务风险

    全局异常检测

    启用VPN服务检测

    系统权限使用

    Android.permission.INSTALL_PACKAGES  #允许程序安装应用
    Android.permission.WRITE_SECURE_SETTINGS    #读写系统敏感设置
    Android.permission.MOUNT_FORMAT_FILESYSTEMS   #格式化文件系统
    Android.permission.MOUNT_UNMOUNT_FILESYSTEMS  #在sd卡内创建和删除文件权限
    Android.permission.RESTART_PACKAGES   #结束系统任务

    ProtectionLevel权限

    sharedUserid检测

    master key漏洞

    allowBackup

    debuggable

    模拟器权限 - 用户位置任意篡改

    测试模式发布

     

    组件 - Activity

    类型:DDOS |  信息泄露

     

    组件 - Service

    类型:DDOS |  信息泄露

     

    组件 - Receiver

    类型:DDOS |  信息泄露

     

    组件 - provider

    类型:信息泄露 | 目录遍历 | SQL注入(uri搜索 - addURI)|任意文件读写

     

    debug/test敏感组件信息泄露

     

    组件功能未实现引发DDOS

     

    Intent-based

     

    PendingIntent误用Intent

     

    Intent敏感数据泄露风险

     

    Fragment注入

    风险:导致本地拒绝服务漏洞,fragment 注入攻击可导致应用的敏感信息泄露、远程代码执行

     

    动态注册广播风险

    风险:越权|信息泄露|DDOS

     

    WebView远程执行

     

    WebView XSS

     

    WebView明文存储密码

     

    WebView组件忽略SSL证书验证错误

    风险:劫持 | 用户敏感信息泄露

     

    WebView系统隐藏接口未移除

    CVE-2012-663

    CVE-2014-1939

     

    WebView组件克隆应用

    风险:远控

     

    数据库任意读写

     

    SharedPreference全局读写

    风险:用户敏感信息泄露

     

    内部文件全局读写

     

    HTTPS未校验主机名

    风险:劫持

     

    HTTPS 未校验服务器证书

    风险:劫持

     

    getDir数据全局可读写

     

    随机数不安全使用风险 

     

    发送广播信息泄漏风险

     

    剪贴板信息泄露风险

     

    SD卡数据泄漏风险

     

    资源文件泄露风险 

     

    URL敏感信息检测

     

    外部加载dex

     

    外部加载so

     

    日志数据泄漏风险

     

    弱加密检测

     

    RSA加密算法不安全使用风险

     

    Java代码混淆检测

     

    证书明文存储风险

     

    SO未使用编译器堆栈保护风险

     

    恶意可执行程序感染漏洞

     

    应用运行其它可执行程序风险 

     

    应用Root设备运行风险 

     

    截屏攻击风险 

     

    本地端口开放越权

     

    FFmpeg任意文件读取

    风险:可以访问手机中任意文件,导致用户信息泄露

    代码保护不足

    未混淆

    未加固

    代码中编写测试账户信息

    密钥硬编码

       对密钥离散存储于资源文件中,并动态加载使用

    服务端证书检测 - 测试客户端程序是否严格检查服务器端证书信息,避免用户访问钓鱼网站后,泄露密码等敏感信息。SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER为忽略证书验证

          对SSL证书进行强校验,包括证书是否合法、主机域名是否合法和证书的有效期。修改Allow_all_hostname_verfier

    Janus安卓签名漏洞

          将App升级到最新的Signature scheme V2签名机制;

          开发者及时校验App文件的开始字节,以确保App未被篡改。

    WebView漏洞
    Android 4.2之前版本对addJavascriptInterface的输入参数进行过滤;
    Android 4.2及之后版本,使用声明@JavascriptInterface来代替addjavascriptInterface
    控制相关权限或者尽可能不要使用js2java的bridge

    随机数加密破解漏洞

    Intent协议解析越权漏洞

    KeyStore漏洞
    SQL注入漏洞
      
    参数化
    预编译
    过滤

    公共组件漏洞

    组件Content Provider配置错误,导致数据泄漏
    
    组件Activity配置错误,导致登录页面被绕过
    
    组件Service配置错误,导致非法权限提升
    
    组件Broadcast Receiver配置错误,导致拒绝服务、非法越权

    应用配置错误

    关闭allowbackup备份
    
    关闭Debuggable属性,防止应用信息篡改泄露风险

     数据安全

    SQLLite读取权限安全性
    创建应用内部存储文件时,调用了openOrCreateDatabase,并将访问权限设置为MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE

    私有文件泄露风险
    创建应用内部存储文件时,调用了openFileOutput,并将访问权限设置为MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE,若设备被root也可进行读写。
    设置为MODE_PRIVATE模式

    SharedPrefs任意读写漏洞
    创建应用SharedPreference时,调用了getSharedPreferences,并将访问权限设置为MODE_WORLD_READABLE或者MODE_WORLD_WRITEABLE

    日志泄露风险

     cookie等用户隐私被窃取

    不要将不必要组件导出;如需导出,禁止使用File协议;如需使用File协议,禁止js执行:setJavaScriptEnabled(False)
    对file域下符号链接限制不当,可导致cookie等用户隐私被窃取

     

  • 相关阅读:
    docker启动centos容器后如何用putty连接
    Nginx——静态资源服务器(一)
    在win10 docker启动的centos容器中安装nginx
    Spring简单实现数据源的动态切换
    fastjson将json字符串中时间戳转化为日期
    springmvc的异常统一处理
    检查性异常和非检查性异常的区别
    前端其他目录
    JavaScript目录
    React目录
  • 原文地址:https://www.cnblogs.com/AtesetEnginner/p/11299050.html
Copyright © 2020-2023  润新知