论文部分内容阅读
近年来,计算机网络和电子商务的快速发展极大的改变了人们的生活方式,这些技术在使人们的生活变得日益方便、快捷的同时,也给人们的隐私信息带来了前所未有的威胁。如何保证企业和用户信息的机密性、完整性、真实性,提供一个可信赖的计算环境成为人们日益关注的焦点。传统的计算机安全思想只是通过在计算机与外界网络之间增加一些安全层次,如口令、加密、防火墙、反病毒、IDS(Intrusion Detection System,入侵检测系统)等一系列措施,但这些安全措施都属于被动的解决方案,反病毒、IDS等措施更是无法检测出新型的病毒和攻击,而且这些解决方案的正确运行是建立在它们的下层系统,尤其是操作系统是安全的前提下。目前计算平台存在的一些安全问题很多都是由于其自身体系结构的安全薄弱性造成的。可信计算通过在软件和硬件上增加一些组件来增加计算机系统的可信赖性。可信计算技术在可信计算平台内部植入了一个可信硬件设备作为可信根,通过可信根所具有的生成和保护密钥的能力来建立一条信任链,一级认证一级,一级信任一级,从而把信任关系扩展到整个计算机系统,以确保计算机系统和终端用户的可信。远程认证技术提供了一种对终端平台运行环境、配置进行可信评估的手段。远程认证技术对远端用户身份的认证几乎无懈可击,但是对程序进行认证的实质是一种基于二进制的完整性验证,也就是说这种对程序的认证方式只能确认远端实体正在运行什么样的程序,而不能确定远端运行的程序行为是否正常。软件生产厂商声明他们所生产的程序是安全的,远程认证对程序行为安全性的保证也完全建立在对这个声明信任的基础上。所以说远程认证对程序的认证是基于信任的,而不是基于行为的。为了弥补远程认证不基于行为的缺点,本文用程序在Linux系统下正常运行所产生的系统调用序列来构建程序的正常行为模式库,通过将程序实际运行时产生的系统调用序列与事先建立的模式库进行匹配来判断程序的行为是否正常。将待检测序列与模式库进行匹配时,考虑了各个短序列在模式库中出现的概率因素,将短序列在模式库中出现的概率作为此短序列的权值。为了使结果更直观,用相对匹配度来衡量待检测序列与模式库的差别程度。这种认证是动态的、非一次性的,可以作为远程认证的一个补充,以弥补远程认证不基于行为、静态、一次性的缺点。