版权归原作者所有,如有侵权,请联系我们

[科普中国]-隐藏对象识别

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

隐藏对象识别是指通过有关算法或技术检测发现隐藏对象。隐藏对象识别在很多领域都有应用,例如信息安全中,恶意软件和病毒隐藏对象的识别;图像识别中,识别在隐藏在可见对象的对象,可以发现图像更多信息和特征。

信息隐藏概述信息隐藏也称作数据隐藏(Data Hiding),是集多学科理论与技术于一身的新兴技术领域。信息隐藏技术主要是指将特定的信息嵌入数字化宿主信息(如文本,数字化的声音、图像、视频信号等)中,信息隐藏的目的不在于限制正常的信息存取和访问,而在于保证隐藏的信息不引起监控者的注意和重视,从而减少被攻击的可能性,在此基础上再使用密码术来加强隐藏信息的安全性,因此信息隐藏比信息加密更为安全。应该注意到,密码术和信息隐藏技术不是互相矛盾、互相竞争的技术,而是相互补充的技术,他们的区别在于应用的场合不同,对算法的要求不同,但可能在实际应用中需要互相配合。特定的信息一般就是保密信息,信息隐藏的历史可以追溯到古老的隐写术,但推动了信息隐藏的理论和技术研究始于1996年在剑桥大学召开的国际第一届信息隐藏研究会,之后国际机构在信息隐藏领域中的隐写术、数字水印、版权标识,可视密码学等方面取得大量成果。

图像隐藏技术图像隐藏技术可以分为两大类:基于空间域的信息隐藏方法和基于变换域的信息隐藏方法。基于变换域的方法 是将秘密信息嵌入到人体感官不易察觉的频域数据中, 一般具有较强的鲁棒性和安全性,但嵌入信息量不高。基于空间域的隐藏方法是利用空间像素的属性值变化进行隐藏, 其算法实现比较简单,信息隐藏量较大,但鲁棒性不高,容易在传输过程中受几何变换、 压缩、 噪声干扰或有意攻击而丢失秘密数据1。

恶意软件隐藏对象识别当前,恶意软件呈现出隐蔽性和伪装性等特点,给安全软件的检测带来了极大的困难。恶意软件通常驻留在操作系统内部,为了消除自己的攻击痕迹并达到持续控制被入侵主机的目的,通常都在被入侵主机中预留后门,如建立监听进程和网络连接等。为了隐藏自身的恶意行为,恶意软件通过隐藏进程、网络连接以及文件等方式来逃避安全软件的检测。当前,隐藏的手段多种多样,且呈现出底层化趋势。例如:通过直接篡改用户态监控程序,可以自动过滤用户枚举进程和网络连接的操作结果;通过重定向应用程序的调用路径(如重定向动态链接库以及系统调用表调用路径等),也可以达到隐藏操作系统对象等目的;特别是以 Rootkit 为代表的内核级恶意程序,它驻留在内核内存,能够直接操纵内核数据结构,具有对操作系统内核的控制权可以通过篡改内核代码等方式,绕过甚至破坏操作系统的安全检测机制。针对恶意软件的隐藏行为,学术界和工业界开展了广泛研究,并研发了相应的工具和系统。当前的操作系统隐藏对象检测机制按照实现和部署方式可分为应用层检测、操作系统级检测、硬件辅助检测和虚拟化层检测这 4 种类型。其中,应用层和操作系统级检测仍然是使用最广泛的检测方法。然而,首先,由于这两种方法都位于操作系统内部,很容易被 Rootkit 发现;其次,由于 Rootkit(特别是内核级 Rootkit)具有高级别系统权限,因此一旦发现检测工具的存在,就很容易通过篡改、绕过、禁用等手段破坏检测工具的有效性和完整性;最后,出于检测需要,这些工具需要获得操作系统内部对象的状态及信息,因而与操作系统平台紧密绑定(例如,Rootkit Revealer 仅适用于 Windows 平台),无法跨平台兼容多种操作系统。为了弥补应用层和操作系统级检测工具存在的安全缺陷,出现了基于辅助硬件的检测方法和工具。在此方式下,检测程序固化于硬件,与被检测对象隔离开,具有防篡改性和不可旁路性。但由于需要额外的硬件支持且不可避免地引入性能开销,并未得到广泛应用。由于虚拟机技术具有隔离性、洞察性和可干涉性等优势,近年来被用于隐藏检测技术中。其基本思路是:将检测程序置于 VMM 层,与被检测软件隔离开;同时,利用 VMM 的底层监控优势来监控上层软件的隐藏行为。其优势是具有良好的透明性和不可旁路性。然而,现有基于 VMM 的隐藏对象检测技术由于缺乏充分的上层语义信息,导致检测结果不精确,同时,现有技术仅关注进程检测,未考虑对操作系统内其他对象(如网络连接、文件等)隐藏行为的检测,特别是缺乏对隐藏对象及行为间的关联分析。例如,进程通过入侵或伪装以普通进程的身份运行,同时隐藏自身的网络连接和文件,仅依赖进程隐藏检测方法无法识别。另一方面,当发现隐藏网络连接和文件时,由于缺乏对恶意行为主体(如进程)的关联,导致难以识别完整攻击路径,无法发现攻击源头。以下是一些恶意软件隐藏对象识别方法:采用多视图对比检测机制,通过比较操作系统用户态视图、内核态视图以及虚拟机监控器视图之间的差异来识别操作系统隐藏对象,支持对进程、网络连接和文件这 3 种操作系统内部对象的隐藏行为检测。基于虚拟机自省技术,在 VMM 层建立客户操作系统内进程、网络连接和文件三者之间的关联关系,并识别其交互特征,从而构建完整攻击视图。设计并实现显式和隐式相结合的操作系统对象监控机制,基于 VMM 层获取的隐式信息生成可信视图,并结合操作系统内部语义来获取对象详细信息,通过比较显式和隐式视图之间的差异,识别内核恶意行为2。

图像识别图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。图像识别可能是以图像的主要特征为基础的。每个图像都有它的特征,如字母A有个尖,P有个圈、而Y的中心有个锐角等。对图像识别时眼动的研究表明,视线总是集中在图像的主要特征上,也就是集中在图像轮廓曲度最大或轮廓方向突然改变的地方,这些地方的信息量最大。而且眼睛的扫描路线也总是依次从一个特征转到另一个特征上。由此可见,在图像识别过程中,知觉机制必须排除输入的多余信息,抽出关键的信息。同时,在大脑里必定有一个负责整合信息的机制,它能把分阶段获得的信息整理成一个完整的知觉映象。

在人类图像识别系统中,对复杂图像的识别往往要通过不同层次的信息加工才能实现。对于熟悉的图形,由于掌握了它的主要特征,就会把它当作一个单元来识别,而不再注意它的细节了。这种由孤立的单元材料组成的整体单位叫做组块,每一个组块是同时被感知的。在文字材料的识别中,人们不仅可以把一个汉字的笔划或偏旁等单元组成一个组块,而且能把经常在一起出现的字或词组成组块单位来加以识别