CASA认证记录

前一阵我们的应用在申请Google Fit API时,被要求进行安全性评估。

在这里插入图片描述

收到的通知邮件部分内容如下:

You are required to complete a TIER 2 CASA security assessment for your application by the following date: xxx. This assessment is required annually; to learn more, please visit the CASA website.

CASA (云应用安全性评估)的定义如下:

在过去十年中,我们在保护云基础架构方面进行了大量投资和改进,但应用层仍面临着重大挑战。具体来说,风险较高的安全应用通过可信的数据集成集成与安全的云基础架构交换数据。因此,我们推出了云应用安全性评估 (CASA)。

CASA 在 OWASP 应用安全验证标准 (ASVS) 的基础上基于行业认可的标准,提供一组一致的要求,可强化任何应用的安全性。此外,对于可能需要访问敏感数据的应用,CASA 提供了一种统一的方式来执行针对这些要求的可信保证评估。

简单理解就是检测代码里面存在的安全隐患和漏洞,以达到安全标准。有些类似国内各厂商开发平台的应用检测。

那么为了不提供源代码,我们选择了自行扫描里面的静态扫描。

静态扫描

利用 FlidAttacks CLI 对您的应用执行自动静态 (SAST) 扫描。创建 Docker 镜像以包含所有必要的 CWE。只需启动容器,然后在容器内运行扫描命令。

这里有个小坑,一开始我是按照这个静态扫描文档去操作的,但是过程中发现在FlidAttacks的casa文档中说上面的文档过时了。。。

在这里插入图片描述

回过头看文档底部显示的最后更新时间是2022-11-11。同时发现这种方式更加简单,不需要Dockerfile文件,只需要下载镜像。所以就使用了此方法。

我下面说一下整个操作流程,我的系统是ubuntu20。

  • 安装docker,可以参考这篇博客。有安装的话忽略此步骤。

  • 然后将config.yaml文件放入扫描代码的根目录。config.yaml的内容见上图或者文档。

  • 下载镜像: docker pull ghcr.io/fluidattacks/makes/amd64:latest

  • 运行:docker run -v /root/MyApplication:/working-dir ghcr.io/fluidattacks/makes/amd64 m gitlab:fluidattacks/universe@trunk /skims scan ./config.yaml (注意必须是扫描代码的绝对路径)

在这里插入图片描述

  • 完成后扫描结果Fluid-Attacks-Results.csv文件就在扫描代码的根目录。

在这里插入图片描述

下图是Fluid-Attacks-Results.csv的部分内容:

在这里插入图片描述

此条cvss值为:CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C

通过cvss计算器,计算结果如下:

在这里插入图片描述

高、中、低严重程度的划分对应以下分数:

  • 高:CVSS 基本评分为 7.0–10.0 的漏洞。
  • 中:CVSS 基本评分为 4.0–6.9 的漏洞。
  • 低:CVSS 基本评分为 0.0–3.9 的漏洞。

这条安全漏洞7.8分显然需要修改,其他几条都是低风险,但是也不代表这可以不用处理,比如低风险的CWE-310。所以需要使用CASA的加速器,在里面可以查看需要遵守的所有CWE。例如上面的问题CWE-295。

在这里插入图片描述

问题是使用到的org.java-websocket:Java-WebSocket1.3.9版本有安全漏洞。通过CVE-2020-11050我搜到了相关内容。

在这里插入图片描述

处理方法就是升级Java-WebSocket到1.4.1以上,后面再次扫描验证,问题解决。

ps: 这让我想起了之前Android Studio上使用的360FireLine插件,也是做这种代码安全扫描,并给出改进意见。

使用CASA内置扫描

还有一种方式是打包代码,上传到CASA门户网站进行扫描。

首先需要在此页面上下载打包工具,工具下方也提供了操作说明文档。

对于Android代码,可以在项目根目录里面执行scancentral package -bt gradle -skipBuild -o myPackage.zip命令进行打包。

注意打包前需要编译好代码,因为里面需要包含所有开发代码,和用到的jar和aar文件。

完成后就是按要求提供各种资料上传,填写问卷,等待审核结果。

在这里插入图片描述

参考

  • 通用漏洞评分系统CVSS v4.0标准浅析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/298281.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力 代码CrissCrossAttention注意力ECAAttention通道注意力EMAU期望最大化注意力加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中…

【Kubernetes】控制器Statefulset

Statefulset控制器 一、概念二、Statefulset资源清单文件编写技巧2.1、查看定义Statefulset资源需要的字段2.2、查看statefulset.spec字段如何定义2.3、查看statefulset的spec.template字段如何定义 三、Statefulset使用案例:部署web站点3.1、编写一个Statefulset资…

LeetCode——1954. 收集足够苹果的最小花园周长

通过万岁!!! 题目:这个题目比较复杂,就是给你一个坐标轴,然后让你以0,0为中心选择一个边长为整数的正方形,使得正方形中所有点坐标的绝对值之和要大于给定的neededApples。但是我们需要输出的是…

OpenHarmony之内核层解析~

OpenHarmony简介 技术架构 OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件…

C++ 比 C语言增加的新特性 2

1.C新增了带默认值参数的函数 1.1 格式 格式:返回值 函数名(参数1初始值1,..........){} 例如:void function(int a10){} 调用:不需要更改参数的值:function&#x…

AI日报:2024年人工智能对各行业初创企业的影响

欢迎订阅专栏 《AI日报》 获取人工智能邻域最新资讯 文章目录 2024年人工智能对初创企业的影响具体行业医疗金融服务运输与物流等 新趋势 2024年人工智能对初创企业的影响 2023年见证了人工智能在各个行业的快速采用和创新。随着我们步入2024年,人工智能初创公司正…

双向可控硅触发电路图大全

双向可控硅触发电路图一: 为了提高效率,使触发脉冲与交流电压同步,要求每隔半个交流电的周期输出一个触发脉冲,且触发脉冲电压应大于4V,脉冲宽度应大于20us.图中BT为变压器,TPL521-2为光电耦合器&#xff…

2023RT-Thread开发者大会

参加了一次RT-Thread的开发者大会,相当有意思,虽然一天奔波挺累,但睡了半天之后简单剪了下22号的视频,也就有时间写自己的参会笔记了。 与openEuler社区不同,RT-Thread社区更专注于嵌入式,与硬件厂商结合较…

WorkPlus一站式协同解决方案,助力企业降本增效

在企业数字化转型的过程中,很多企业都会遇到一个共同问题:重复建设基础功能,耗费大量时间和资源。为解决这一难题,WorkPlus已经将一些通用、基础且有技术门槛的功能进行了集成与开发,如IM(即时通讯&#xf…

渗透测试——1.1初认识kali

一、kali的下载 官方地址:www.kali.org 下载后压缩就可用vmware打开即可(初始账号和密码都是kali) 二、三种网络配置 1、桥接模式:将虚拟机看成局域网中的独立主机 2、NAT模式:将物理机当做路由器(rout…

操作无法完成(错误 0x000006ba),Windows 11 PDF打印机无法使用解决办法

操作无法完成(错误 0x000006ba),Windows 11 PDF打印机无法使用解决办法 解决方式一 先重启一次电脑,看看是否可以解决问题。 解决方式二 重新启动 Printer Spooler 服务

doris基本操作,02-创建复合分区表

创建复合分区表 create table table2 (event_day DATE,siteid int defautl 10,citycode smallint,username varchar(32) defautl ,pv bigint sum default 0 )aggregate key (event_day, siteid, citycode, username) -- 按照event_day做range分区 -- paritition by range(even…