我们在前文《芯片设计环境的安全体系概述》提出了“一个平台、三层隔离、五层控制”的安全框架,将重要的安全要点以如下的框架形式呈现出来。以此基础就可以系统和计划性地架构安全方案,并结合安全技术和流程手段将安全风险控制在企业期望达到的目标之中。
图1.推荐的芯片行业的安全框架图
上篇:
核心安全三要素-金字塔“CIA”
图2.CIA金字塔模型
“CIA”其实是三个英文单词的缩写,C-Confidentiality机密性、I–integrity完整性和A–availability可用性。它从三个维度指导安全策略的制定和控制手段的实施。
第1个要素:C-机密性
针对“机密性”的安全控制:
其二、要分层、分级做好访问控制和监控,访问控制策略可以是自主访问控制、强制访问控制,及其在身份鉴别基础上实施的“基于角色”的访问控制。作为和权限控制紧密相连的身份鉴别要素,其重要性与日俱增,我们会在后面小节中着重介绍。
其三、采用加密手段,防止数据被窃取或破坏。
图3.安全对象
第2个要素:I–完整性
为了保证完整性,对数据的安全控制可以是:
●加密,以防止数据因为攻击或被破坏造成数据不能完整读取
●版本控制,以防止数据因为误操作被删除而得不到及时恢复造成的研发计划耽误或重要信息丢失的损失
●对于EDA环境,建立工具、库和项目数据的生命周期管理机制和流程
●分优先级的备份和恢复策略,以防止由于数据丢失并且得不到及时恢复而造成重大业务损失
此外,做好日志记录、监控和审计,能够判别信息是否已被篡改过,如果发现有篡改行为,比如密码校验出现错误,则需要结合以上或其他的安全控制使得数据立即恢复或修复。
第3个要素:A–可用性
图4.影响可用性的物理环境、业务场景
为了保证高可用性,我们可以考虑的安全措施和策略有:
●对业务环境和IT系统做完善的冗余架构设计
●制定详细的灾备方案
●建立失效、故障转移机制
●部署物理和机房环境监控
●提高虚拟化力程度
●对于系统环境配置集群
这些措施,相信大多企业在部署基础设施的时候都已经考虑,从安全风险控制角度,围绕可用性安全要素,冗余和备份还要做的更精细化些,在基础设施基础上进一步深入做应用层的数据冗余和备份部署。
例如,在图1中,针对芯片研发环境安全架构中,我们从基础架构:网络、主机、存储,虚拟化平台到应用、EDA研发环境,每一层都考虑了冗余设计和数据备份策略,不仅能避免软、硬件的单独故障的出现,还从业务安全角度,保证了EDA环境中业务数据的高度可用性。
下篇:
拓展的其它三个重要安全要素
随着信息化技术的不断发展,企业的业务系统趋于更加复杂而多样,因此带来了更大的安全风险和隐患。CIA模型显然不能满足多样的安全需求,特别是它不能表述出业务方面的安全需求。因此,信息安全又衍生出其它安全要素,即我们在下篇提及的可认证性、不可抵赖性和实用性。
第4个要素:Authenticity-可认证性
数据和信息的访问、传输和交换必须经过身份鉴别和申明。可认证性可以认为是完整性的扩展,并和可用性紧密结合。
“可认证性”要素的安全增强措施之一是实现身份和密码的统一管理。
图5.对不同身份用户
统一设置不同密码长度策略
图6.Gartner魔法象限—访问管理
选比较成熟的身份统一认证产品,企业可以在安全起点比较高的基础上进一步做业务和数据方面的安全。
运行在复杂环境互联网上的系统,围绕可认证要素的安全控制尤其重要。对此,各云服务商都提供了相应的IAM服务。比如:微软Azure云的AzureAD,亚马逊的IAM、阿里云的RAM等。他们都基于自己的平台提供了丰富的基于权限的身份验证机制。
第5个要素:Non-repudiation–不可抵赖性
”不可抵赖性“通过”身份验证“+”数字签名“来实现。数字签名,顾名思义是通过技术手段在计算机或服务器上对数据文件进行签名,用于鉴别数字信息,验证数据发送方的身份,从而保证数据的完整性和不可抵赖性。
数字签名是通过非对称加密算法和哈希算法来实现的。但是哈希算法太简单的话,还是可以被”中间人“、”钓鱼“等黑客技术攻破,从而使数据的完整性得到破坏。因此,哈希函数的安全性直接关系到了数字签名的有效性。
图7.通过”数字签名“增强
信息和数据的不可抵赖性
应用到芯片行业中,针对该要素采用的安全手段包括:
●禁用明文密码传输,
●采用数字签名方法
●…
图8.通过配置sshd_config中
第6个要素:Utility-实用性
实用性,指的是访问资源是可用的,可用的资源才是有价值的。很明显,这是一个体现业务特性的安全要素,因为只有数据和信息还在有价值期间,对它的安全保护才是最有意思的。
我们举个例子,企业花了很多钱买了加密产品,并且付出了很多的努力用该产品对IP和机密类的业务数据进行了保护,可是由于安全保障措施、备份方案的缺失或者人为的疏忽,导致了密钥的丢失,数据虽然还完整的存在,但是因为不能解密,它也失去了该有的商用价值。一般加密保护的数据都是企业比较重要的数据,因此这些数据不可用产生的后果可能会给企业带来比较重大的损失。所以现在我们做安全方案,也考虑如何保证数据有效性,即:实用性。
针对”实用性“安全要素的安全控制要点在于:
●合理的数据分类,区分出要重点保护的数据和IP
●加强数据生命周期的管理
●制定有效的数据备份和旧数据的归档策略
●对加密保护的数据,必须建立一套有效的密钥机制和方案,包括对该方案的测试和验证。
总结:
相互关联的六大安全要素
我们在上文给大家介绍了传统经典的金字塔三大安全要素:机密性、完整性和可用性,又展开解释了可访问性、不可抵赖性和实用性,这六个安全元素构成的六角集合模型较之前者,更为稳固,并能结合业务需求,因此更能全面地指导安全控制措施的部署。
从阐述中可以看出,这六个安全要素不是孤立存在,而是相互关联的。为了体现它们之间的关联性,我们通过芯片开发场景来将它们贯穿起来。
而另一方面,为了保证数据因丢失、删除或破坏而得到尽可能地迅速恢复,建议根据项目的生命周期配置来制定和实施不同的备份和恢复策略。对处于项目开发期的数据,通过存储的快照策略保证数据的及时恢复可用,从而保证开发阶段的数据高可用性;项目结束后归入维护运维,几年后,老项目数据进入归档保存。这就是我们结合可访问和实用性,根据项目数据的有效性而采用的安全控制手段,可以看到,这里的大部分措施和IT架构和运维部署相似,实际上是建在IT基础架构之上的,但是从两个安全要素维度,它更侧重对数据的保护,并强调了保障业务数据的有效性。
项目数据的访问得到有效保护后,我们再结合可认证性和完整性两个安全要素来考虑对他们的访问控制采取必要的安全手段。
对于芯片设计公司来说,设计数据和IP是公司的”命脉“,如何有效、最大程度的保护数据的安全存储和传输,不发生被窃取、丢失等安全事件;如何保证其高度机密性,我们就要根据机密性+不可抵赖两大安全要素来部署我们的安全策略和实施安全控制。芯片设计中,可能需要和外包设计公司合作,设计完成后产生的gds2文件需要传送到晶圆厂;设计过程中遇到问题,需要将日志传到EDA厂商进行排错…这些场景都需要数据通过传输工具经过互联网传到外部,从而引发数据泄露等安全事故。
为此,我们通过加密工具,用高安全的算法和长度生成密钥和签名,对数据进行加密保护,并用安全的传输工具来保证传输过程安全,比如,摩尔精英开发的安全数据传输工具---”摩尔云舟“就能很好的保证数据传输安全;而密钥管理则通过搭建专门的密钥服务器来进行管理和维护。
我们通过以上完整的研发环境的安全控制来体现安全六要素的作用,它不仅会引领我们识别安全风险,并且会使我们系统地部署安全举措。同时也会让我们捋出安全控制的优先级,将投资和人力运用到最需要做安全控制的地方。
我们希望,通过本文对安全六要素的介绍,给读者提供一些安全控制方面的启示!