Flutter 跨平台开发之路六 应用安全和应用业务风控

一.app应用安全

1.利用app应用安全可以做什么:

拆app包,内嵌到另一个app,应用数据窃取,应用图片盗用,应用网络协议破解,代码反编译,应用的漏洞利用

2.应用安全可以从不同的角度进行分类,以下是一些常见的分类方法:
  • 代码安全:包括静态应用安全测试(SAST)和动态应用安全测试(DAST)两大类。SAST主要发现潜在的代码编码安全漏洞。DAST主要通过对运行中的程序进行分析,发现代码逻辑、数据结构等方面的漏洞。
  • 通信安全:主要包括数据加密传输、通信身份验证和授权等方面的保障。数据加密可以增加通信的安全性,身份验证和授权则可以实现访问控制。
  • 数据安全:包括数据完整性、数据备份、数据库安全等方面的保护。数据完整性可以防止恶意攻击者篡改数据;数据备份可以保证在数据丢失或损坏时能够及时恢复;数据库安全则可以通过权限控制、访问控制等方式保护敏感数据。
  • 认证和授权:即对用户和程序进行身份认证和权限控制的安全机制,防止未授权的用户和程序访问应用程序和数据。
  • 安全漏洞管理:包括漏洞识别、修复、检测、修复结果验证等一系列操作,确保应用安全和软件质量不断提升。
  • 逻辑漏洞管理:白盒测试,黑盒测试,应用安全性左移
3.应用安全编码和规则标准
  • ISO/IEC TS 17961: ISO/IEC TS 17961 是C语言检测安全漏洞的安全编码标准。
  • CERT :CERT是卡内基梅隆大学软件工程研究所的编码规范,安全编码标准,针对C,C++和Java中可能导致安全风险的不安全编码实践和未定义的行为。
  • CWE :已知的安全漏洞库,包含逻辑层的漏洞,可认别常见的软件安全漏洞。
  • DISA-STIG :DISA-STIG 是技术软件安全发现的集合,包含功能规范的漏洞。
  • OWASP:一个开源的、非盈利的全球性安全,开放Web应用程序安全 项目(OWASP),共同推动了安全标准、安全测试工具、安全指导手册等应用安全技术的发展,包含web各环节及各系统的漏洞。
4.app应用安全防护
  • 防护拆app包:混淆,脚本代码段加密,应用数据加密
  • 防护内嵌到另一个app:函数访问控制
  • 防护应用数据窃取:应用数据和用户数据加密
  • 防护应用图片盗用:资源图片加密
  • 防护应用网络协议破解:协议访问控制和协议内容加密
  • 防护代码反编译:混淆,脚本代码段加密,应用数据加密
  • 防护应用的漏洞利用:白盒测试,黑盒测试,应用安全性左移

二.WEB应用安全

1.WEB应用安全攻击:
  • SQL注入攻击(通过精心构造的恶意SQL语句,绕过正常的输入检查,将这些语句插入到应用程序的数据库中执行):
    用户登录页面
    商品搜索页面
    订单页
    管理员权限页面
    搜索引擎页面

  • 跨站点脚本(XSS)攻击:
    利用表单输入框、评论框等
    通过恶意电子邮件或网站
    利用恶意广告和第三方脚本
    伪造登录页或输入框
    利用文件上传组件
    利用浏览器执行JavaScript脚本

  • 跨站请求伪造CSRF攻击(核心原理在于利用了服务器对用户请求的信任,修改操作界面或转换发送的协议)
    钓鱼邮件:恶意链接的邮件获取通信凭据
    收集反馈表单:填写表格秘密发送到其它地方
    非法刷卡:冒充商户发起交易请求,篡改商户的交易请求
    窃取登录信息:诱骗发送用户凭证到其它地方

  • 恶意文件上传攻击(利用网站或应用程序的文件上传功能,将恶意文件(如木马、病毒、恶意脚本或WebShell等)上传到服务器上)
    网页应用程序:应用程序上传功能
    在线存储服务:在线存储服务允许用户上传和下载文件
    网站漏洞:有可以上传漏洞
    网络钓鱼:虚假的电子邮件,下载恶意附件
    供应链攻击:供应链中的某个环节设下载恶意附件
    远程管理工具和后门:远程管理工具或后门软件存在漏洞可以上传
    网络钓鱼和社交工程:伪装合法的来源诱骗下载
    恶意广告和代码注入:恶意广告强行下载
    恶意链接和钓鱼邮件:恶意链接的钓鱼邮件诱骗下载恶意附件

2.WEB安全防范的策略
  • Web攻击防护:
    OWASP 威胁防护
    AI检测和行为分析
    智能语义解析引擎

  • 应用层DDoS防护
    高风险特征库:高风险行为特征
    策略配置:高风险行为阀值
    日志总结:正常访问规律总结
    慢连接攻击防御:检测请求头超时时间,包数阈值
    自定义防护规则:用户可以对HTTP协议字段进行组合,制定访问控制规则
    网页防篡改:采用强制静态缓存锁定和更新机制,对网站特定页面进行保护
    访问日志审计:记录所有用户访问,并排序
    数据防泄漏:response报文进行处理,设置数据防泄漏规则
    支持HTTP流量管理:访问速率和流量控制
    请求头管理:请求头替换或者敏感信息隐藏设置

3.安全分析报表:

Web安全攻击报表,CC攻击防护报表,用户访问统计报表,自定义命中报表
,均值和峰值带宽统计信息,全量日志(用户活动、系统状态变化、错误信息等)

4.常见攻击时机:
  • 访问控制中断:非法访问使服务器出现错误或暴露服务器敏感信息
  • 数据泄露:涉密数据包直接或间接暴露
  • 服务器端请求伪造(SSRF):通俗讲就是利内部人员帮忙拿相关的资料,也就是通过对外的服务器,拿内部相关服务器的资料。
  • SQL注入:因为SQL语句嵌套特性,无限制嵌套特定SQL语句来达到获取和功击
  • 跨站脚本(XSS):利用跨域特性,通过各种方法替换或修改网站,把敏感信息转发到其他服务器
  • 中断的身份验证:由于功能模块没有访问权限设定,从而可以中断修改访问参数达到特定信息的获取
  • 安全配置不当:系统级权限没有设定好
  • 蛮力攻击防护不足:获取文件和获取密码没有作次数限制,使得有蛮力攻击有机可乘
  • 薄弱的用户密码:由于密码太简单,破解时间短
  • 未修复的已知漏洞:漏洞公开后,使用漏洞的人会很多
5.安全漏洞:

SQL注入漏洞
XSS漏洞
CSRF漏洞
文件上传漏洞
文件包含漏洞
SSRF漏洞
XXE漏洞
远程代码执行漏洞
密码暴力猜解漏洞
逻辑漏洞
中间件解析漏洞
Redis未授权访问漏洞
反序列化漏洞

三.应用业务风控:

  • Root检测:检测手机的root环境,是否越狱等
  • isHook检测:检测主流hook框架,是否被Hook
  • Xposed检测:检测堆栈信息中是否包含Xposed相关字符串
  • Frida检测:检测手机是否包含Frida相关特征
  • 沙箱&虚拟环境检测:进程,包名结构,目录,当前IPC等类是否被动态代理
  • Apk签名检测:通过获取APK的签名信息做对比
  • 模拟器检测:检测模拟器特征(文件,设备特性等)
  • 用户行为&心跳包上报:检测用户行为(用户点击屏幕点)和心跳规律
  • 异常&行为埋点上报:检测特定异常和特定功能点上报情况
  • 查杀分离:不规律不定时查封

四.总结:

1.应用安全按环境分为两大类:

文件安全(用户数据文件,应用程序文件)。
内存安全(内存代码函数,内存数据)。

2.应用安全当前能做的就是:(因为除了访问控制和数据加密,其他的都是第三方的,攻击者是能熟知并利用)

访问控制。
数据加密。

3.应用安全在开发中能够依靠的技术:密码学
  • 密码学:机密性、完整性、消息源认证、通信实体的认证、不可否认性
  • 现在的加密和解密:密钥可变,算法固定
  • 未来的加密和解密:密钥可变,算法可变
4.密码学主要两个方向:数据打乱和数据不打乱
  • 数据打乱:虽然打乱了,但能篡改,如:后量子算法,主要思想是不要让第三方知道使用的密钥,就不会被破解,而密钥是从公开的信息中通过算法获得,后量子算法主要是确保密钥不被获取(也就是密钥是通过双方提供的两个参数也就是私有秘钥传入慢算法中生成,由于慢算法的特性无穷时长性,后量子算法中主要用到的是连量子计算机来算都是慢的算法,而密钥是通过层层慢算法生成,以达到第三者拿不到密钥)。
  • 数据不打乱:虽然不打乱,但不能篡改,如:区块链加密技术,主要是利用不可逆算法层层不可逆来达到增加篡改难度,以达到不可篡改
5.应用安全现有的应对方案:(访问控制,数据加密)
  • 访问控制:通过密码学,生成 打乱并不可篡改的认证信息,来控制函数访问
  • 数据加密:通过密码学,生成 打乱的数据,并组合成不可篡改的数据链
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值