>首页> IT >

信息安全的相关概念与技术,以及信息流技术在软件硬件中的应用

时间:2021-11-14 05:53:42       来源:腾讯网

在互联网技术迅猛发展的今天,计算机技术已经在生活生产中占据核心的地位。这也意味着大量的个人隐私、生产的核心资料记录由人脑、纸张等传统存储手段转移到了现代化的磁盘、数据库和云存储空间上。然而计算机信息安全问题的解决手段一直没能达到理想中的水平。

信息安全问题已经成为各种系统设计过程中主要研究方向之一,尤其对于高靠系统而言。高可靠系统一般广泛应用于军事、工业、医疗设备等领域,所以对信息安全要求极为严格,否则一旦系统的关键部位被攻陷或者发生敏感信息泄露情况,将导致严重的经济损失和政治影响。所以对信息进行安全属性的定义以及相关保护检测方法是完全有必要的。

一、信息安全相关技术分析

国际上一个通用的信息安全框架“金三角模型”中将信息的完整性、机密性和可用性列为信息安全最重要的三个要素。同样的高可靠系统的信息安全需求也是主要体现在三个方面,当然不同的高可靠系统还需要满足其他的信息安全属性,例如高铁等交通工具所使用系统的信息实时性。

信息的完整性指的是信息在传输过程中,需要保持信息在未经授权的情况下不被修改或破坏,保证系统功能和数据的一致性,这也是最基本的安全特征。例如,在加密算法中如果密钥被未经授权的非法用户修改了内容,那么经过加密后的数据就无法通过对应的解密过程来还原正确的原始信息。

信息的机密性指的是不将系统敏感信息泄露给非授权用户的特性。可以通过信息加密、访问控制、安全通信协议以及身份认证等技术手段实现,信息加密是防止信息非法泄露的最基本手段。同样的在密码算法中,如果密钥发生了信息泄露的情况,那么非法用户就可以利用密钥还原信息并提取其中有用的部分。

信息的可用性指的是信息以及系统功能可被授权用户按要求正常使用,或者在非正常情况下能够快速恢复合法用户的使用权的特性。目前高可靠系统的硬件安全测试和验证的主要标准是CommonCriteria制定的七级安全性评价体系。

所以高可靠系统一般需要达到很高的安全级别,一方面系统必须制定相对应的信息安全机制保护信息不会轻易泄露或被破坏,另一方面在此基础上还需要对设计进行信息安全的测试与验证,保证数据在严格符合信息安全要求的情况下流动。

在保证系统的信息安全时,常用的两类安全机制分别是密码算法和访问控制。数据加密是目前保证敏感信息不会在系统运行时发生泄漏的有效途径,因为只要对敏感信息进行加密且密钥保护得当,即使未授权用户能够观察到加密后的信息也无法正确的获取信息内容。

但是,敏感信息需要与密钥一起经过复杂的运算才能起到保护的作用,一旦因为设计中有意或无意的操作导致硬件环境产生了侧信道直接泄露敏感信息或密钥,从而直接或间接的泄露敏感信息,则密码算法对敏感信息的保护作将完全丧失。

访问控制指的是系统根据功能和资源对不同身份用户进行分级并按照分级限制其使用重要资源的一种有效手段。这种方法是信息安全防范和资源保护的关键策略之一,是系统完整性和机密性的重要基础。访问控制在大多数情况下是非常有效的措施,也是使用非常广泛的一种信息安全保护措施,可以防止非授权用户访问机密信息或者破坏重要数据的完整性。

然而,该技术缺乏对信息流动的监控与验证。例如,授权用户提取的可信数据被非法用户破坏,然后在系统默认允许可输入的情况下导致系统功能和数据完整性被篡改的可信数据破坏。同样的,因为设计可能存在的缺陷导致授权用户的敏感信息通过硬件环境的侧信道等漏洞不慎泄露或者被非法用户窃取,从而破坏了敏感信息的机密性。

在一些高可靠系统中,即使存在密码算法和访问控制这样的信息安全机制,仍然存在关键信息的机密性和完整性被破坏的情况,例如设计过程中无意留下的后门或设计本身存在的缺陷,亦或制造过程中不法分子故意设计的硬件木马都会导致上述两种信息安全机制失去作用。因此对系统进行设计安全性检测和验证是必要的。

二、信息流技术的应用

在信息传输过程中,严格的信息流控制是保证信息流安全的根本途径,而想要实现信息流的精确控制,对信息的传播途径进行跟踪是必不可少的环节。常用的信息流跟踪技术可以基于程序语言、操作系统和体系架构等不同的层次实现。

信息流分析可以有效的保证计算机系统中数据的保密性和完整性。一般来说,信息流分析技术是通过分析程序中数据传播的合法性以保证信息的安全性,防止关键性数据在传播的过程中遭到泄露或者篡改。信息流跟踪技术(也可以称作污点分析技术)作为信息流分析技术的一种实践方法,该方法通过对程序中的敏感数据进行污点标记,继而跟踪被标记的敏感数据在程序中的传播,通过观察敏感数据传播的实际情况与理想的形态进行比较,以检测系统安全问题的目的。

污点分析技术在解决应用程序软件安全漏洞的过程中需要具体问题具体分析,结合能够获得的软件资源使用不同的方法。一般可以将污点分析技术分为两大类:静态污点分析技术和动态污点分析技术。

静态污点分析技术一般是指可以在不运行程序的前提下,通过分析程序中变量的依赖关系来检测所有可能执行的路径,观察是否出现污点标记数据流向不该出现的输出点或者可观测点处。

该技术一般需要有源码或者二进制代码等程序代码作为分析对象。静态污点分析技术优点是可以涉及到程序所有可能执行的路径,但是因为程序并没有实时运行,所以也就无法得到运行时产生额外信息,可能导致结果不够精确。

动态污点分析技术一般是指在程序运行时实时观察,通过监控程序运行过程中污点标记数据的实际传播路径,来检测是否存在污点数据通过某些路径流向意料之外的输出点或者可观测点处。动态分析利用不依赖于源码,具有语言无关性。

对比如静态污点分析技术,动态污点分析技术也有相对应的优缺点。因为需要运行程序,所以它的优点是能够得到运行时的额外有用信息,使检测更能够与实际情况相联系。但是缺点依旧突出,首先要多次长时间运行程序,运行开销非常大,同时即使大量的运行不同的输入,依旧无法考虑所有的路径。

相比如信息流分析在软件安全漏洞方面的大量研究,信息流技术在硬件方面的研究并没有很多,一是绝大部分用户只与操作系统及运行在其上的软件进行交互,相关研究带来的直接效益高;二是硬件安全漏洞利用难度较大,而且相关研究需要的资源多且难获取,进而容易忽视硬件安全漏洞问题。

目前,基于硬件的信息流安全分析方法主要分为两种:静态信息流安全检测和动态信息流监控。基于硬件的静态信息流检测方法与软件的静态信息流方法有很多相似之处,一般都是需要有源码或者由源码生成的网表结构等作为分析对象。

而动态信息流监控则是为了弥补静态验证方法存在可能覆盖面不足的缺陷,一般随原系统一起物理实现,在系统运行中动态监测系统中关键信息的流动情况。

静态信息流安全检测方法用于检测和验证系统是否完全符合预定义的信息流安全策略,其中测试和验证过程一般在设计阶段进行。在检测出存在有违反预定义的信息流安全策略的情况时,则根据出现的问题对原始设计进行修改,并需要重新进行功能正确性和信息流安全检查,直到设计能够严格符合所有的预定义的信息流安全策略。检测完成后可以将用于检测信息流的附加逻辑电路删除,无需随原电路一起进行物理实现。

静态信息流安全检测方法一般利用逻辑仿真和形式化验证两种主要的检测手段。传统的测试是对源码进行仿真和验证,其中主要关注的是设计功能的正确性。而信息流检测中进行逻辑仿真与形式化验证关注的是设计的安全属性,进行仿真和测试的对象是附加的信息流逻辑单元。

在静态测试与验证模式下,测试者需要为设计输入分配安全属性标签。例如,在完整性分析时,检测人员可以将来自开放性的外界数据标记为不可信的,然后通过这些数据标签可以观察到这些数据是否影响系统中的关键区域;而在机密性分析时,可以将一些比较敏感或者机密性较高的数据标记为不可信,然后可以观察这些机密数据是否流向了非保密的输出口。

静态信息流安全检测方法需要在源码或网表基础上添加用于检测的信息流逻辑,这些附加的逻辑电路可以直观的发现信息的流动是否完全符合目标设计的信息流安全策略。

但是这些附加逻辑电路不需要随原始设计一起物理实现,它只存在于芯片的设计阶段,因此芯片不需要额外的面积和功耗等方法的开销。同样在检测过程中,因为该方法需要使用逻辑仿真或者形式化验证,所以通常需要大量的测试与验证来保证设计目标的正确性。

实际应用时,其测试状态空间的规模与设计复杂度成正比的。对于大规模设计,测试往往难以对其进行全面的覆盖,而且检测时间很长,导致结果的可信度不高。因此通过一些方法提高测试的覆盖率和效率是非常有必要的,也是进一步研究的重要方向。

动态信息流监控是一种可以在系统运行中动态地监控系统中信息流动的技术。上文提到的静态检测方法中添加的额外信息流逻辑在完成检测之后需要删除,而动态信息流监控需要添加的信息流逻辑随原始设计一起进行物理实现。

动态信息流监控在某种程度上可以弥补静态信息流安全检测方法中因为测试空间庞大而覆盖不全面的问题,因为其监测系统中的实时信息流。这种方法不仅能观察每次输入产生的信息流,而且一旦遇到违法信息流安全策略的情况,系统会进行中断等应急操作处理,保证敏感信息不被泄漏或者系统关键部分不被破坏。

信息流逻辑电路一般比较复杂且需随原始设计一起制成芯片,通常会带来较大的面积和性能开销,所以实际应用中经常只对系统中信息流安全要求较为严苛的部分实例化信息流逻辑,例如处理器中的算术逻辑单元(ALU)。

动态信息流监控方法一般主要应用于安全要求极高的系统,而且监控逻辑的设计与优化也是需要非常专业的工作人员来实现,因此在一般的硬件安全漏洞检测研究中,动态信息流监控方法使用较少。

三、总结

通常信息安全漏洞可分为软件安全漏洞和硬件安全漏洞。软件因为其收益高、见效快,所以对于其安全问题一直是各个领域的重要关注对象,研究工作进度非常快,相比之下硬件安全的研究就比较滞后。

因为硬件漏洞相较于软件来说利用难度很大,偶尔出现的硬件漏洞也很快以补丁等形式修复,因此对于大部分人来说硬件安全问题对他们来说比较遥远。但是一旦出现难以修复的硬件漏洞,带来的影响是非常巨大的。

关键词: 信息安全的相关概念与技术 以及信息流技术在软件硬件中的