之前咱聊过芯片设计环境的安全框架,什么“平台隔离控制五步走”,整得挺热闹。但说白了,那只是个骨架,真正要让安全方案落地,还得靠血肉填充。这个“血肉”,就是对安全要素的理解和应用。别跟我说你天天喊安全,却连安全要素都搞不清楚,那就等于拿着倚天剑当烧火棍,纯属浪费!
图1. 芯片行业安全框架?在我看来,更像是一张藏宝图,能不能找到宝藏,就看你的本事了。
安全评估,别光看报告上的数字,得从安全要素入手,摸清IT环境的底细。安全策略也一样,不是贴几张告示就完事,得基于安全要素,把控制措施落到实处。所以,今天咱就来扒一扒芯片行业的那些重要安全要素,看看你到底掌握了几成火候。
上半场:
CIA“搞事情”:安全金字塔的底层逻辑,你真的懂?
说起信息安全,最先蹦出来的肯定是“CIA”金字塔模型,老掉牙的东西了?别急着否定,这玩意儿就像内功心法,练好了能打通任督二脉。
图2. CIA金字塔?在我眼里,这就是安全世界的地基,地基不稳,楼再高也得塌。
CIA,机密性(Confidentiality)、完整性(Integrity)、可用性(Availability),三个维度,看似简单,实则暗藏玄机。安全策略怎么定?控制手段怎么搞?都得围绕这三个核心转。 **第一式:机密性——守口如瓶的艺术** 机密性,说白了就是保护数据,别让不该看的人看到。外防入侵,内防泄密,双管齐下。但问题来了,怎么才能做到“按需知密”?难道给每个人都发个“免死金牌”? 当然不行!信息和数据那么多,得先分个三六九等,敏感的、一般的、公开的,分门别类,然后划出不同的安全域,搞“三层隔离、五层控制”。这可不是纸上谈兵,得有技术和流程做支撑。 访问控制和监控也得跟上,自主访问控制、强制访问控制、基于角色的访问控制,各种姿势都要掌握。身份鉴别更是重中之重,毕竟现在黑客都学聪明了,冒充合法用户是基本操作。 最后,别忘了加密这个大杀器,数据加密、传输加密,能用上的都用上。
图3. 安全对象?在我看来,这就是一个个待保护的“小金库”,能不能守住,就看你的安保措施够不够硬。
现在有些芯片企业,为了安全,直接把明文协议给禁用了,像什么http、ftp、telnet,统统滚蛋,换成更安全的TLS。这招够狠,但效果也确实不错。 Linux系统是芯片设计环境的主力,系统安全也得重视。别光顾着用,常用工具的安全隐患也得揪出来。比如openSSH、Samba,低版本漏洞一堆,赶紧升级,禁用老旧协议,启用新版本。 **第二式:完整性——金钟罩铁布衫** 完整性,保证系统和数据不被篡改,不因故障丢失。数据完整性、系统完整性、硬件完整性,一个都不能少。 对于自动化系统,可以用CRC校验数据完整性,但这玩意儿只能防君子,防不了小人。恶意篡改还得靠密码校验。 为了保证完整性,以下几点要牢记: * 加密,防止数据被破坏 * 分级访问控制,防止非授权访问 * 版本控制,防止误操作 * EDA环境生命周期管理,防止数据丢失 * 备份和恢复策略,防止灾难发生 * 日志记录、监控和审计,及时发现篡改行为 **第三式:可用性——随时能战的保障** 可用性,保证授权用户能随时访问和使用系统和数据。别跟我说系统三天两头宕机,那还搞个屁的研发!
图4. 影响可用性的因素?在我看来,这就是一个个潜伏的“定时炸弹”,随时可能引爆,让你措手不及。
为了保证高可用性,以下措施必不可少: * 冗余架构设计 * 详细灾备方案 * 失效转移机制 * 物理和机房环境监控 * 提高虚拟化程度 * 系统环境配置集群 这些措施,大部分企业都知道,但要从安全角度出发,把冗余和备份做得更精细化。别光想着基础设施,应用层的数据冗余和备份也要跟上。 在芯片研发环境安全架构中,网络、主机、存储、虚拟化平台、应用、EDA研发环境,每一层都要考虑冗余设计和数据备份策略。这样才能避免单点故障,保证业务数据的高度可用性。 **下半场:** **安全要素PLUS:进阶之路,你准备好了吗?**
随着技术发展,安全需求越来越多样化,光靠CIA已经不够用了。所以,又衍生出其他安全要素,也就是接下来要说的可认证性、不可抵赖性和实用性。
第四式:可认证性——你是谁?从哪来?要到哪去?
数据和信息的访问、传输和交换,必须经过身份鉴别和申明。可认证性可以认为是完整性的扩展,并和可用性紧密结合。
现在的黑客,技术高超,手段隐蔽,经常冒充合法用户混进系统。所以,光保证数据完整还不够,还得确认信息来源的身份是否可信。
“可认证性”要素的安全增强措施之一是实现身份和密码的统一管理。
小型芯片研发公司可以配置Linux的SSO服务和AD域账号和密码同步,方便用户,简化密码管理,还能通过统一集中的密码策略,避免弱密码泄露。
 *图5. 不同身份用户?在我看来,这就是一个个需要区别对待的“VIP”,给他们定制专属的密码策略,才能保证安全。*
规模较大的企业可以考虑实施统一身份管理的IAM方案,提供统一登录界面,实现更高安全密码+SMS或者密码+token等的多种身份验证机制。IAM产品有很多,比如SolarWinds, Sailpoint, Oracle OUD, 微软的Azure Active Directory。个人比较推荐微软的Azure AD,毕竟企业IT账号一般都是在windows的AD域生成,集成性好,稳定性高,安全性也领先。
 *图6. Gartner魔法象限—访问管理?在我看来,这就是一张“英雄榜”,能上榜的都是有两把刷子的。*
运行在复杂环境互联网上的系统,围绕可认证要素的安全控制尤其重要。各云服务商都提供了相应的IAM服务,比如微软Azure云的Azure AD, 亚马逊的IAM、阿里云的RAM等。
第五式:不可抵赖性——雁过留痕,人过留名
“不可抵赖性”保证信息交换的双方不能否认其发送或接受信息的行为和发生时间。保证信息在传输中不被复制或篡改。
“不可抵赖性”通过“身份验证”+“数字签名”来实现。数字签名,就是给数据文件盖个章,证明身份,保证完整性。
数字签名是通过非对称加密算法和哈希算法来实现的。哈希算法的安全性直接关系到了数字签名的有效性。
 图7. 数字签名?在我看来,这就是给数据穿上了一层“防伪外衣”,让篡改者无处遁形。
应用到芯片行业中,针对该要素采用的安全手段包括:
-
禁用明文密码传输 -
采用数字签名方法
如果是web类应用程序,要启用https (TLS),而非明文的http;网络服务的连接方式要禁用明文telnet , 而使用较安全的SSL方式; 数据的传输启用sftp,特别是较高安全级别的数据最好是加密(密钥+数字签名)来保护。
在以Linux为主的EDA环境中,访问服务器时,管理员经常用OpenSSH来登录。SSH本身就是一个安全工具,但由于普及性,容易受到攻击和破解。所以,除了升级版本外,还要做安全加固:SSH提供了多种认证方式,key认证比密码认证更安全。
 *图8. 配置sshd_config?在我看来,这就是在给SSH加装“装甲”,让黑客更难攻破。*
第六式:实用性——活着才有价值
实用性,指的是访问资源是可用的,可用的资源才是有价值的。这是一个体现业务特性的安全要素。
企业花大价钱买了加密产品,保护IP和机密数据,但如果密钥丢了,数据就成了废品。所以,现在做安全方案,也要考虑如何保证数据有效性,即:实用性。
针对“实用性”安全要素的安全控制要点在于:
-
合理的数据分类,区分出要重点保护的数据和IP -
加强数据生命周期的管理 -
制定有效的数据备份和旧数据的归档策略 -
对加密保护的数据,必须建立一套有效的密钥机制和方案,包括对该方案的测试和验证。
尾声:
六脉合一,方能笑傲江湖

传统CIA三大安全要素,加上可访问性、不可抵赖性和实用性,构成了六角集合模型。这个模型更稳固,更能结合业务需求,全面指导安全控制措施的部署。
这六个安全要素不是孤立存在,而是相互关联的。以芯片开发场景为例,工程师每天需要登录EDA环境访问项目数据进行研发工作,特别是流片之前,系统要24小时服务不中断,以保证项目数据的高可用。为此,我们设计了冗余系统,单点故障恢复机制,尽可能地将系统服务和重要应用程序通过虚拟化平台部署,并通过监控和报警机制来预警并采取必要的措施。
为了保证数据因丢失、删除或破坏而得到尽可能地迅速恢复,建议根据项目的生命周期配置来制定和实施不同的备份和恢复策略。对处于项目开发期的数据,通过存储的快照策略保证数据的及时恢复可用,从而保证开发阶段的数据高可用性;项目结束后归入维护运维,几年后,老项目数据进入归档保存。这就是结合可访问和实用性,根据项目数据的有效性而采用的安全控制手段。
项目数据的访问得到有效保护后,我们再结合可认证性和完整性两个安全要素来考虑对他们的访问控制采取必要的安全手段。
首先是账号的集中管理,为了增加安全性,同时也为了统一监控并简化用户的登录过程,我们将各个系统用户账号集成起来,通过统一的登录门户来管理,包括制定严谨的密码管理策略,比如:通过策略强制用户设置一定长度的复杂密码,在高风险、低安全区(公共区域)登录须通过多种因素认证等。从OA 办公网络到EDA环境,每一层,对系统和应用程序的访问都通过访问策略、最小权限原则来分配权限,以保证项目数据的访问只给授权人员使用;同时重要的EDA工具根据生命周期流程来管理,所有的项目数据通过配置工具进行版本管理,从而使得数据的完整性得到保证。
对于芯片设计公司来说,设计数据和IP是公司的“命脉”,如何有效、最大程度的保护数据的安全存储和传输,不发生被窃取、丢失等安全事件;如何保证其高度机密性,我们就要根据机密性+不可抵赖两大安全要素来部署我们的安全策略和实施安全控制。芯片设计中,可能需要和外包设计公司合作,设计完成后产生的gds2文件需要传送到晶圆厂;设计过程中遇到问题,需要将日志传到EDA厂商进行排错…这些场景都需要数据通过传输工具经过互联网传到外部,从而引发数据泄露等安全事故。
为此,我们通过加密工具,用高安全的算法和长度生成密钥和签名,对数据进行加密保护,并用安全的传输工具来保证传输过程安全,比如,摩尔精英开发的安全数据传输工具---“摩尔云舟”就能很好的保证数据传输安全;而密钥管理则通过搭建专门的密钥服务器来进行管理和维护。
对于更为机密的IP和项目数据,我们甚至通过加密产品对数据的存放和访问采用加密手段,只有在授权和许可的条件下,才能解密并获取访问。

通过以上完整的研发环境的安全控制来体现安全六要素的作用,它不仅会引领我们识别安全风险,并且会使我们系统地部署安全举措。同时也会让我们捋出安全控制的优先级,将投资和人力运用到最需要做安全控制的地方。
希望本文对安全六要素的介绍,能给你带来一些安全控制方面的启示!
```
黑客/
原文始发于微信公众号(龙哥网络安全):信息安全之六大安全要素概述
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论