Day 29 - 软件物料清单

Hacking for Dummies 这本书主要的概念,总结来说,就是用骇客的思维与手法测试系统中可能存在的资安漏洞,及时修正。

前面读书的时候,看到书上除了提供五花八门的测试方式,在 Chapter 14. Web sites and Applications 章节里,提供了一些必须囊括在开发里的一些 practice 。此外, OWASP 是开发时期的好朋友,很多的范例与规范都可以从这边查找到。

除了开发的 practice 可以增加应用程序的安全性,在开发过程中,常常会上网搜讯某个功能的实作是否有 Open Source 能够使用,或是出自民间的高手有没有在 stack overflow 上以程序码救赎迷惘的开发者?[1]

问:难道这些套件或是抠贴来的程序码,就不会有安全性的问题吗?
答:当然会有!

软件物料清单

软件物料清单 (Software Bill of Materials, SBOM) 或是称作 风险物料清单 (Cybersecurity Bill of Materials, CBOM) 是构成软件的元件和关联表,包含名称、版本、来源、相依性甚至供应商等等资讯,也就是说

  1. 公司的软件产品使用的套件中是否有 易受攻击 的套件?
  2. 如果有,影响的产品有哪些 [2]

以被攻到怕怕的资安重灾区美国为例,美国白宫要求所有向联邦政府出售的软件都必须提供这些资讯,透明化软件组成,以利抓出潜在风险。

安全性漏洞始於软件开发,终於软件开发

恩?难道这就是传说的 DevSecOps ,一切还是在开发流程中就注入安全性的中心思想,成本最低,效果最好。

工具

如果要参考 U.S. NTIA (National Telecommunications and Information Administration) 制定的标准,以下项目是必须要被列举出来的:[3]

  1. 供应商名称
  2. 套件名称
  3. 套件版本
  4. 其他可识别套件的 ID
  5. 依赖关系
  6. SBOM表作者
  7. 产表时间

基於可读性, NTIA 要求的 SBOM 报告格式有以下这三种选择

  • Software Package Data Exchange (SPDX)
  • CycloneDX [4]
  • Software Identification (SWID) Tags

以自家的後端开发使用较多的程序语言 golang ,可以找到

明天就来装看看工具 - syft 吧!

[1] 供应链安全层面大剖析,奥义揭露台湾多起APT攻击事件都是对方从供应链下手
[2] https://www.informationsecurity.com.tw/article/article_detail.aspx?aid=9316
[3] https://fossa.com/blog/software-bill-of-materials-formats-use-cases-tools/
[4] 是 OWASP 提出的一种较为 lightweight 的软件物料清单标准。


<<:  【设计+切版30天实作】|Day30 - 最後一天了呜呜呜的30天参赛心得

>>:  图的关键路径 - DAY 30

如何在Windows 10中修复损坏的系统档案

您是否在使用Windows 10时是否出现系统错误?或者您的Windows 10变得反应太慢?您是否...

【Day 29】Hook 09:自定义 Hook(Custom hook)

打造自己的 Hook 自 React 16.8 以後, 使用者就可以在 React 中 创建自定义的...

初探 AJAX 与 Fetch API

前言 根据维基百科,20世纪的90年代,服务器处理每一个浏览器请求都要重新载入页面,换句话说,每当网...

案例:AWS MLOps Framework - 成本、架构概览

昨天看到了AWS MLOps Framework的两个方案的架构图,以及解决方案简介之後,今天想讨论...

[第04天]理财达人Mx. Ada-历史交易资料

前言 本文说明取得历史交易资料。 程序实作 取得历史tick资料 tick代表每一笔成交纪录。 # ...