开发者学堂课程【物联网安全中心实战课程: IoT 固件安全检测(FSS)最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/918/detail/14483
IoT 固件安全检测(FSS)最佳实践
内容介绍:
一、什么是 FSS
二、IoT 固件安全检测服务
三、FSS 核心检测能力
四、FSS 特点
五、IoT 固件安全检测服务的应用场景
六、FSS 使用
一、什么是 FSS
#阿里云 loT 固件安全检测
#针对 loT 的设备固件进行无侵入、多维度的安全风险检测
#帮助用户识别 loT 固件的操作系统和第三方组件存在的软件安全漏洞,提前发现弱口令、证书风险、隐私泄露、配置不当等多种安全风险
#提供安全检测报告和风险修复建议
二、IoT 固件安全检测服务
IoT 固件安全检测是一款面向设备制造及运营商、供应链安全管理及服务商、安全测评及咨询机构等等,提供的针对设备固件进行无侵入、多维度的安全风险检测的云端化服务,帮助厂商快速识别软件安全漏洞,提前发现弱密码、证书风险、隐私泄露、配置不当等各种安全风险,提升设备固件安全防护水平,减少产品发布后的召回、修复、更新、升级成本,满足产品安全合规需求
三、FSS 核心检测能力
1. 2大类固件:Linux 类、RTOS 类 包含 AliOS Thins, Yocto、OpenWrt、uClinux、Android 等
2. 16类安全风险检测:已知 CVE 漏洞、密钥安全、配置风险、信息泄露、代码安全等方面
四、FSS 特点
1. loT 固件级扫描:无需源代码、不依赖 Agent、无需集成 SDK、二进制全黑盒扫描
2.基于云端的检测服务:一步提交、全自动化检测/报告提示、提供开放 API 供第三方调用
3.全面的 loT 安全风险分析:漏洞检测、风险评估、弱密码检测、密钥证书、敏感数据检测、软件配置风险等
4.适用于全周期安全开发:三方软件风险评估、安全开发和发布、持续检测
五、IoT 固件安全检测服务的应用场景
1. 固件发布/OTA
设备厂商将 IoT 固件安全检测与开发流程对接。在固件发布之前进行安全性扫描,防止高危风险发布上线。
2. 供应链安全检测和管理
对第三方提供的固件进行安全风险检测,防止因为安全开发执行不到位、引用了有漏洞的第三方组件而带来的安全风险,作为符合等保或其他安全合规标准的验收参考项。
3. 安全渗透测试和专家服务
作为对 IoT 系统安全评估的工具之一,帮助高效识别IoT设备的潜在安全风险;并根据安全检测报告有针对性的进行安全风险修复。
FSS应用架构
六、FSS 使用
阿里云账号:主账号:直接登陆
子账号:AliyunFssFullAccess或AliyunFSSReadOnlyAccess
使用方式:控制台:loT 安全中心-接入管理-固件安全检测
OpenAPI
购买:购买检测次数:loT 安全中心-入门指引-安全检测
首先进入 loT 安全中心
点击系统管理-任务管理-进入界面
点击左侧接入管理-固件安全检测
填入检测任务并点击开始检测
进入任务管理界面可以查看固件安全检测任务
demo:
package com.aliyun.fss.openapi.demo;
import ...
public class FssApiSampleDemo
{
private final static Logger logger = LoggerFactory.getLogger(FssApiSampleDemo.class);public static DefaultAcsclient getPopclient()
//线上
String regionId = "cn-shanghai"";
String domain = "fssapi.cn-shanghai.aliyuncs.com";
DefaultProfile.addEndpoint(regionId,product"Fss-api"",domain);
DefaultProfile profile = DefaultProfile.getProfile(
regionld, Constants.AK,Constants.
) ;
profile.getHttpclientConfig().setIgnoressLCerts(true)//
测试使用
return new DefaultAcsClient(profile) ;
}
public static String createScanTask(IAcsClient iAcsClient,String fwId,String fwrl) throws ClientException f
String taskId =“"";
System.out.println("fwUrl: "" +fwUrl);
createScanTaskRequest createScanTaskRequest = new createScanTaskRequest();
createScanTaskRequest.setFwrl("https://iotx-ota-daily.oss-cn-shanghai.aliyuncs.com/ota/eeb091ede5e54c456
createScanTaskRequest.setEmail("test.fssgalibaba-inc.com");
createscantaskRequest.setFwId( "test-fwId"");
createScanTaskRequest.setFwld(fwld);
createScanTaskRequest.setFwdiame("208UXD2D0.bin"") ;
createScanTaskRequest.setFwUrl(fwUrl) ;
createScanTaskRequest.setFwversion(""i.0.e""》;
createScanTaskRequest.setDetectionRuleCodes(""BASIC"");
createScanTaskResponse cResponse = iAcsClient.getAcsResponse(createScanTaskRequest);
System.out.println("createScanTask response: " + 35ON.toJS0NString(cResponse));
System.out.printIn(""TaskId:" + cResponse.getData( ).getTaskId());
System.out.println("Code: " + cResponse.getcode( ));
System.out.println("Message: " + cResponse.getNMessage());
检测完成后可以点击查看检测报告
进入此界面
查看检测报告中的信息
FSS 支持阿里云主账号和子账号,提供三种方式进行固件的安全检测:
通过 FSS 控制台
使用开放接口,调用相关接口提交固件检测、获取检测报告。
通过在阿里云物联网平台的“固件升级开启固件安全检测。
准备工作
主账号访问
如果还没有阿里云账号,先注册阿里云账号,如果没有完成实名认证,先进行个人实名认证。
在浏览器地址栏中输入https://fss.iot.aliyun.com
使用主账号下的 AccessKeyId 和 AccessKeySecret 访问 FSS 开放接口。
通过 FSS 控制台开启检测
登录到 loT 固件安全检测控制台。
单击“新建任务”,开始设置检测任务。
提交待检测的固件。
说明 上传固件:
需要您选择要检测的固件文件进行上传。
固件地址:您需要输入固件的 URL(仅支持阿里云 OSS 地址),任务启动后会自动下载该固件并执行检测任务。
可选:设置任务名称。用于区别和标识不同的检测任务。
单击“开启检测”,确认固件信息,勾选“我已阅读,并确认以上声明”,单击“开始检测”。
查看检验报告
检测任务状态为“任务完成”,则可以查看检测报告。
单击“查看报告”,在线查看检测报告结果。
单击“下载报告”,下载检测报告结果到本地。