为建立一个能抵御网络威胁的远程信息处理平台提出15条安全建议

发表于2016年11月14日生产力 通过亚历克斯ukhov


汽车联网带来了新的好处,但也引发了网络安全问题。阅读15条关于远程信息处理平台的安全建议。

互联汽车提供了无数新的好处,即安全、高效和方便。然而,汽车联网引发了人们对网络安全的担忧,并引发了全行业的讨论。其中,FBI、NHTSA和NAFA都表达了这些担忧。[1,2,3]特别是,FBI建议“车主应检查第三方设备制造商和服务提供商的安全和隐私政策,他们不应将任何未知或不可信的设备连接到OBD II端口。”与此类似,NAFA建议“船队管理者应制定政策,确保只有安全设备连接到港口。”我们提供这个博客部分是作为这次对话的起点。

当然,对于车主和车队经理来说,在试图评估与远程信息处理平台相关的安全政策和措施时,确定他们到底应该寻找什么是具有挑战性的。本博客的目的是在这方面提供指导,并邀请进一步讨论,作为一个整体,远程信息处理行业如何能够并应该不断提高安全性。

参见:

所有你需要知道的关于Geotab和FedRAMP

信息安全管理三大支柱

在过去,电信信息产业很大程度上依赖于3G无线网络和更新的蜂窝基础设施,它们确实提供了一定的安全措施。然而,GSM已经向我们表明,蜂窝基础设施,就像任何其他连接系统一样,也不能幸免于入侵,我们需要更多。我们花了相当多的时间和精力研究这个问题,并与其他专家进行了交流,我们提出了以下15条弹性远程信息处理平台的安全建议。

本文有PDF格式。点击下面下载。

下载

1.实现安全的数据传输

实现套接字数据加密提供数据隐私无论蜂窝网络或任何其他中间连接介质的状态如何。实现身份验证将验证接收/传输的数据源和目的地是否与您认为的一样。请参阅NIST推荐的可接受的加密和认证算法。[5]

尽可能使用标准库。编写自己的算法是非常耗时的,并且很难正确地实现。如果系统中有标准方法不满足需求或不兼容的元素,确保让第三方(或其他方)执行渗透测试。在开发这些问题之前,最好先确定并修复这些问题。

2.进行数字签名更新

数字签名应用程序更新是远程信息处理设备安全的一个关键因素。数据通信泄露,无论多么危险,都限制了攻击者在设备的功能集内操作。通常,对嵌入式系统最危险的攻击需要注入恶意应用程序或固件映像。这可以允许攻击者激活系统元素,这些元素不是设计的,或者是设计限制的(例如,出于安全原因)。

签名应用程序更新允许设备验证更新是否来自可信来源。有关签名可接受算法的更多信息,请参阅NIST的这些建议。[5]重要的是实现一个安全的内部签名过程和密钥存储位置,以最小化内部威胁。

3.启用硬件代码保护

如果单片机支持它,从设备读取固件代码的能力应该被禁用。在微控制器上启用代码保护极大地限制了攻击者对设备进行反向工程的能力,因为攻击者不再容易访问代码。这是一个很好的工具,可以保护低技能/资源威胁的参与者,但对中等(或更高)技能/资源威胁的参与者没有什么好处。有些公司会付费提供从各种代码保护处理器中提取代码的服务。这是一个很好的例子,说明为什么应该总是假定攻击者完全了解您的系统实现。

4.假设您的代码是公共的

通过模糊实现的安全性是一个非常脆弱的解决方案。在设计安全元素时,应该假设攻击者完全了解您的系统,并且已经拥有对代码的完全访问权。即使内部机器和存储库目前被认为处于安全状态,过去可能不是这样,将来也可能不是这样。前雇员可能有机会将系统的代码复制到他们家里的机器上。

5.使用密码学上强随机数

随机数生成被许多用于安全的算法所使用。重要的是随机数源能够提供密码学上强的随机数。如果生成的随机数不是密码学上强的(“不够随机”),那么使用这些随机数的算法的强度就会大大减弱。

6.有个性的强调安全数据

安全关键数据(如加密密钥和身份验证令牌)对于每个设备都应该是唯一的。如果一个设备被破坏了,那么它不应该破坏任何其他设备或生态系统的一部分。嵌入式系统尤其因在许多设备上使用一个密钥而臭名昭著。[6]

7.对不同的角色使用不同的键

妥协一个安全逻辑元素不应该影响另一个。不同的角色应该使用不同的键。例如,套接字通信不应使用与应用程序签名相同的密钥。

8.监测元数据

能够及早发现可疑活动并作出反应,对于最大限度地减少恶意行为者造成的损害至关重要。积极地寻找调试信息中的错误或趋势可以减少或防止攻击造成的损害。有许多可用的云处理服务,因此甚至可以实时监控大量的性能数据。创建在检测到错误或异常时通知适当人员的服务,对于及早识别攻击至关重要。

9.禁用调试功能

调试模式和数据是开发、故障排除和功能验证的重要组成部分。它们也是探测系统异常的好工具。然而,从安全性的角度来看,与调试相关的逻辑常常会被忽略。在生产软件构建中不应该访问包含安全关键信息的调试逻辑。

10.执行第三方审计

系统中所有与安全相关的组件都应该进行适当的审计。将您的代码透露给专业的第三方公司进行审查应该是受欢迎的,因为在设计您的系统时,应该假设攻击者完全了解代码库。私下发现并修复漏洞要好得多。已识别的具有不可接受风险的漏洞应在合理的时间内实施对策。

11.限制服务器访问

应该实现内部帐户层次结构,只允许那些需要它们的个人访问后端服务器/功能。多因素身份验证是一种非常强大的访问控制工具。有各种类型的硬件或手机应用程序可以用于这一目的。服务器的登录记录在可疑帐户活动的取证分析中是必不可少的。

12.应用安全设计实践

安全性应该在设计阶段就考虑到,而不是事后才添加的。应用最小特权—确保系统的每个元素只允许需要访问的用户访问。不要相信任何系统输入会限制攻击者探测系统的方式。

13.为软件/固件更新提供支持

假设一个系统在其生命周期中的任何时刻都是完全安全的,这是不现实的。与安全相关的问题将会出现,并且应该有一个适当的过程来修复它们。在连接的系统中,更新软件/固件的能力是一个基本的安全特性。具有快速执行更新的能力对于缓解零日威胁是非常宝贵的。至关重要的是,制造商要负责维护设备上的固件。不应该依赖终端用户来确保他们的设备被更新和安全——更新需要自动推送到现场的所有设备。远程信息技术(或其他)的制造商物联网)设备应该对自己的安全补丁负责。

14.验证和测试

系统代码库是不断变化的。有一个正式的开发过程。同行评审每个变更将在它们有机会造成损害之前提前捕捉到无数问题。单元测试在确保安全逻辑保持功能上也是至关重要的。单元测试应该在代码和硬件级别建立,以实现全面的覆盖。

15.建立安全文化

即使是设计得最安全的系统,也可能会被操作人员破坏。所有拥有网络接入的员工(不仅仅是安全开发人员!)都应该接受安全互联网使用实践方面的常规培训和测试。这包括对钓鱼攻击的弹性,使用强密码,点击url时的意识,以及注意安全证书。培训本身是一个很好的开始,但让员工对安全感兴趣并注意到这一点要强大得多。

要了解更多,请阅读白皮书:“在联网车辆中保护隐私和安全:前方道路上的OBD端口”

虽然我们相信,这些建议在使远程信息处理平台适应网络威胁方面将有很长的路要走,但学习和改进将是保持系统和用户安全的关键。这必须成为整个行业的努力。因此,如果您对如何交流安全意识有想法或想法,请随时加入我们的工作,并在下面留下您的反馈!

引用:

  1. 联邦调查局,“警报号码I-031716-PSA:机动车辆越来越容易受到远程攻击”,2016年3月17日。(在线):https://www.ic3.gov/media/2016/160317.aspx
  2. 美国国家公路交通安全管理局,“25-16:美国交通部向汽车行业发布联邦指导意见,以改善机动车网络安全”,2016年第24期。(在线):https://www.nhtsa.gov/About-NHTSA/Press-Releases/nhtsa_cybersecurity_best_practices_10242016
  3. NAFA船队管理协会。《车队管理与互联汽车》,2016年10月。(在线):www。nafa.org/
  4. G. Cattaneo, G. De Maio,和U.F. Petrillo,《GSM标准的安全问题和攻击:综述》通用计算机科学杂志第19卷第2期16(2013), 2437-2452,“2013年10月”。(在线):http://www.jucs.org/jucs_19_16/security_issues_and_attacks/jucs_19_16_2437_2452_cattaneo.pdf
  5. E. Barker, "国家标准和技术协会特别出版物800-57第1部分,第4版。《关键管理建议》,2016年1月。(在线):http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r4.pdf
  6. I. Arce等人,“避免软件安全设计的十大缺陷”,IEEE计算机学会,2015年11月13日。(在线):http://cybersecurity.ieee.org/blog/2015/11/13/avoiding-the-top-10-security-flaws/

如果你喜欢这篇文章,请告诉我们!


免责声明

Geotab的博客文章旨在提供信息,并鼓励对整个telematics社区感兴趣的主题进行讨论。Geotab并没有通过这些博客文章提供技术、专业或法律建议。虽然我们已经尽了一切努力来确保这篇博客文章中的信息是及时和准确的,但可能会出现错误和遗漏,随着时间的推移,这里提供的信息可能会过时。

订阅Geotab博客

从我们屡获殊荣的车队管理博客注册每月新闻和提示。您可以随时取消订阅。