百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

提高可移动存储设备管理系统安全运行的方案

cac55 2024-12-16 11:17 38 浏览 0 评论

摘 要:可移动存储设备管理系统在运行时会面临攻击者采用任务管理器或第三方工具强行关闭的攻击,可能导致应用程序无法正常运行。为解决这类应用程序安全运行的问题,提出一种融合进程隐藏和进程守护技术的可移动存储设备管理系统安全运行方案。该方案利用改进的远程线程注入技术提高系统隐蔽性,利用双守护进程的两级监控体系提高系统健壮性,从而达到维护程序安全运行的目的。应用结果表明,该方案能够很好地抵抗强行关闭攻击。

0 引言

可移动存储设备由于其体积小、容量大、携带方便等优点得到了广泛应用。可移动存储设备在给人们带来方便的同时,也给企事业单位引入了极大的安全隐患,是个人计算机系统信息泄露的主要途径[1]。在一些有保密性要求的单位,既希望利用可移动存储设备即插即用、无需安装驱动程序、携带方便等优点,同时又希望可移动存储设备只能在特定范围内使用,以保证所存储的内容不会向外泄漏。为满足这一需求,需要开发对可移动存储设备进行综合管理的系统,对单位内部的可移动存储设备进行管理,禁止外部可移动存储设备在内部使用[2]。然而,在实际应用中,对要受保护的计算机安装可移动存储设备管理系统后,用户可以使用任务管理器或者第三方工具结束其进程,这样,即使安装了该程序,也无法实现对可移动存储设备的管理。因此,如何增强系统隐蔽性防止被用户发现,或者被用户发现时能够防止被用户结束,是可移动存储设备管理系统安全运行亟待解决的问题。解决这一问题通常采用的技术路线有两种:进程隐藏技术和进程守护技术。本文基于对进程隐藏和进程守护技术的分析,结合两种技术的优点,给出了一种融合这两种技术的可移动存储设备管理系统安全运行的方案。

1 进程隐藏技术

进程隐藏技术有很多,现有进程隐藏技术主要分为三类[3]:(1)基于API Hook的进程隐藏;(2)基于DLL的进程隐藏;(3)基于远程线程注入的进程隐藏。其中,基于远程线程注入的进程隐藏技术隐蔽性和健壮性好,可以存在于任一进程(包括系统进程的内存空间)中,因而成为目前最为常用的进程隐藏技术[3]。远程线程注入技术有两种:直接代码注入和以DLL形式注入。虽然直接代码注入技术隐蔽性比DLL形式注入技术的隐蔽性更好一些,但是直接代码注入技术对注入代码的大小有限制[4],所以,在实际开发可移动存储设备管理系统时,多采用远程线程注入DLL的进程隐藏技术。

1.1 DLL形式远程线程注入技术

通常情况下,每个进程都有自己的私有地址空间,其他进程不允许对这个私有地址空间进行访问操作。远程线程注入技术通过在目标进程中创建远程线程的方法进入目标进程的内存地址空间,由注入到远程进程中的线程启动指定DLL,在指定DLL中完成要实现的功能,这样就可以使要实现的功能的代码运行到远程进程中。如果注入到进程explorer.exe中,用户使用任务管理器或者第三方进程查看工具看到的是explorer.exe进程,而注入到explorer.exe进程中的代码被隐藏起来,因此,增强了系统的隐蔽性,不容易被发现。

1.2 远程线程注入技术的实现

远程线程注入技术的实现主要有5个步骤[5]:(1)通过OpenProcess打开试图注入的远程进程,获取其句柄;(2)利用VirtualAllocEx在远程进程中为要注入的DLL申请足够的内存地址空间;(3)利用WriteProcessMemory将DLL路径名复制到远程进程的内存地址空间;(4)通过GetProcAddress计算LoadLibrary在Windows系统库中的入口地址,用于后面加载DLL;(5)利用CreateRemote Thread创建远程线程并加载DLL。

虽然DLL文件在目标进程运行时任务管理器中不会列出DLL文件名,看到的只是目标进程的文件名,这在一定程度上增强了系统隐蔽性,能够有效防止被用户发现进程,但是通过DLL形式远程线程注入技术的实现步骤可以发现该技术也仍然存在缺点,即不仅硬盘上有DLL文件存在,而且使用一些工具查看系统进程加载DLL时也会发现进程中可疑的DLL,这为系统的安全带来隐患,需要在设计开发可移动存储设备管理系统时加以解决。

2 进程守护技术

进程守护技术的基本思想是启动一个新的进程(即守护进程)来对需要保护的进程(即待检测进程)进行轮询检测,如果检测到要受保护的进程不存在,则守护进程将立刻启动需要保护的进程,如此循环往复。这样,即使用户使用任务管理器或者第三方进程查看工具看到了需要保护的进程,关闭了需要保护的进程后,该进程又被守护进程启动,使得关闭需要保护进程的行为变得毫无实际意义。因此,在设计开发可移动存储设备管理系统时采用以进程守护技术为主同时融合进程隐藏技术的方案。

进程守护技术的实现需要考虑两个问题:(1)如何防止守护进程被结束。因为待检测进程有守护进程的保护,是无法结束的。但是,若没有守护进程的保护,则是可以结束的。(2)如何提高守护进程和待检测进程之间的工作效率。如果按时间直接轮询,将会耗费系统资源,特别是CPU时间。占用过多CPU时间会引起用户注意。

3 可移动存储设备管理系统安全运行的方案

可移动存储设备管理系统的整体结构设计分为两个部分:可移动存储设备管理客户端RSDMSClient和授权中心RSDMSACenter。授权中心负责对可移动存储设备的授权,只有经过授权的可移动存储设备才能在安装有客户端的计算机上使用。客户端安装在每个需要保护的计算机上,它实时监测本地计算机系统的每个移动存储接口,当监测到有可移动存储设备接入本地计算机系统时,客户端进程对来访的可移动存储设备进行鉴别,并根据鉴别结果采取相应的访问控制策略。

一个普通的可移动存储设备,如果没有授权是不能接入到安装有客户端程序的计算机上使用的。因此,只要对单位内部的可移动存储设备进行授权,不对外部的可移动存储设备授权就可以达到禁止外部可移动存储设备在内部使用这一需求。授权中心运行在专用机器上,不运行在客户端,只有专职人员才能使用,其安全性相对较高。可移动存储设备管理系统客户端程序安装在受保护的个人计算机上,易遭受用户使用任务管理器或者第三方工具强行关闭的攻击,需要采取措施抵抗用户的强行关闭。在设计开发可移动存储设备管理系统时,将客户端程序编写成DLL,融合进程隐藏和进程守护技术,能有效防止用户的强行关闭攻击。下面给出设计过程中的几个要点。

3.1 远程线程注入DLL后将其删除提高系统隐蔽性

远程线程注入DLL后,DLL文件在目标进程中运行时,任务管理器中不会列出DLL文件名,看到的只是目标进程文件名,但一些工具可以查看一个进程究竟装入哪些DLL文件,通过这些工具仍然可以发现进程中的可疑DLL。要解决这个问题,必须脱离DLL文件,让远程运行的代码只存在于内存中,这样就不会显示有某个文件被非法装入。因此,采用注入DLL后将其删除的方法可以进一步提高系统隐蔽性。

该方法基本思想:因为注入DLL后会在被注入的进程内存中产生映像,通过Get ProcAddress函数获取映像的入口函数地址,并对内存映像进行备份;使用FreeLibrar y释放加载的DLL,并删除DLL文件;前面FreeLibrar y释放加载的DLL时,内存映像的内容也会随之释放,因此必须将内存映像的备份复制到释放前所在的地址空间。这样,只要通过调用获取的入口函数地址就实现了程序隐藏,从而提高了系统隐蔽性。

3.2双守护进程的两级监控体系提高系统健壮性

将客户端RSDMSClient程序编写成DLL,采用远程线程注入技术注入到常用的系统进程。这样即使注入的DLL模块被发现,在任务管理器中系统进程是不允许被关闭的,因此安全性得到提高。但是,用户使用第三方工具还是有可能结束系统进程的,系统进程结束了,注入的监控程序也就不存在了,外部的可移动存储设备就可以在内部使用。所以,不能单纯采用远程线程注入技术,可以结合使用进程守护技术,形成两级监控。第一级监控(即守护进程注入到系统进程)负责监控第二级监控是否已经注入到另外的系统进程,若没有则将其注入到另外的系统进程。第二级监控才是真正负责具体监控任务的。

采用两级监控对系统起到了隐藏和保护作用,使得系统更加安全。前面在进程守护技术中提到,守护进程没有保护,如果先关闭守护进程,系统的安全性就降低很多。因此,需要提高守护进程的安全性,在设计可移动存储设备管理系统时采用双进程守护技术。

双进程守护技术是功能完全相同的两个程序不断地检测对方是否已经被结束,如果发现对方已经被结束了,那么又开始创建对方,这样又能够让对方执行。显然,采用双守护进程的两级监控体系极大提高了系统健壮性。但是,需要注意的是,双守护进程彼此不断检测对方是否存在时,对系统CPU资源的耗费是致命的。解决CPU资源的耗费方法是使用心跳机制。假设两个进程是proc1和proc2。proc1首先遍历进程快照,如果proc2存在,proc1刷新进程快照,重新遍历进程快照;如果proc2不存在,proc1开始创建proc2,然后proc1退出。当proc1退出时,proc2又开始重复类似proc1的动作。

3.3 基于WM_DEVICECHANGE消息提高探测效率

采用进程守护技术确实提高了系统的健壮性,但如何提高守护进程与待检测进程之间工作效率是必须解决的问题。对可移动存储设备的实时探测,若按照时间直接轮询,则会耗费很多系统资源。因为只要客户端程序RSDMSClient运行,不管有没有可移动存储设备接入都会不断轮询,这其中有大部分是空转轮询,极大地浪费了系统CPU时间。为了提高探测效率,按照时间直接轮询是不合理的,在设计可移动存储设备管理系统时采用基于WM_DEVICECHANGE消息的实时探测来提高守护进程与待检测进程之间工作效率。

当设备状态发生变化时,系统将会以WM_DEVICECHANGE消息通知应用程序。在可移动存储设备管理系统中,当有可移动存储设备接入到客户端计算机并且准备就绪,可以正常访问时,系统会发出DBT_DEVICEARRIVAL类型消息,如果这时探测接入的设备,不仅可以保证不漏掉任何可移动存储设备的探测,而且可以避免出现空转轮询,从而极大地提高了系统工作效率。WM_DEVICECHANGE所对应的消息处理函数是OnDeviceChange,它在消息映射宏的位置比较特殊,具体使用可见参考文献[6]。

目前,一般台式机和笔记本电脑上基本是不配软驱的,但为了完整性,在此还是做一下说明。当USB或1394接口的可移动存储设备接入系统时,系统会发出WM_DEVICECHANGE消息,但是软盘插入到软驱时,系统无消息产生,这时需要利用HOOK技术来解决软盘探测问题。

4 结论

融合进程隐藏和进程守护技术的可移动存储设备管理系统目前已经应用到某政府机关单位。实际应用结果表明,改进的远程线程注入技术提高了系统隐蔽性,能够抵抗常规的安全检测技术,双守护进程的两级监控体系使得系统运行更加安全。

参考文献

[1] 王庆丰,刘功申.一种可信移动存储介质管理系统的设计与实现[J].信息安全与通信保密,2008(10):46-49.

[2] 南理勇,左强.可移动存储设备的识别[J].计算机与数字工程,2005,33(9):131-133.

[3] 肖道举,左佳,陈晓苏.进程隐藏的相关问题研究[J].微处理机,2008(4):78-80.

[4] 何志,范明钰,罗彬杰.基于远程线程注入的进程隐藏技术研究[J].计算机应用,2008,28(6):92-94.

[5] 王峥,娄渊胜.远程线程注入技术在监控系统中的应用[J].计算机技术与发展,2010(3):207-210.

[6] 侯捷.深入浅出MFC[M].武汉:华中科技大学出版社,2001.

相关推荐

MIRIX重塑AI记忆:超Gemini 410%,节省99.9%内存,APP同步上线

MIRIX,一个由UCSD和NYU团队主导的新系统,正在重新定义AI的记忆格局。在过去的十年里,我们见证了大型语言模型席卷全球,从写作助手到代码生成器,无所不能。然而,即使最强大的模型依...

硬盘坏了怎么把数据弄出来对比10种硬盘数据恢复软件

机械硬盘或固态硬盘损坏导致数据丢失时,应立即停止对硬盘的读写操作,并根据损坏类型选择逻辑层恢复工具或专业物理恢复服务。紧急处置措施立即停止通电使用:发现硬盘异响、无法识别或数据异常时,需立即断开连接,...

蓝宝石B850A WIFI主板新玩法:内存小参调节体验

蓝宝石前段时间发布了一款性价比极高的主板:NITRO氮动B850AWIFI主板。这款主板的售价只要1349元,相比普遍1500元以上的B850主板,确实极具竞争力。虽然价格实惠,蓝宝石NITR...

内存卡损坏读不出怎么修复?这5个数据恢复工具汇总,3秒挽回!

在数字化生活的浪潮中,内存卡凭借小巧便携与大容量存储的特性,成为相机、手机、行车记录仪等设备存储数据的得力助手,承载着无数珍贵回忆与重要文件。然而,当内存卡突然损坏无法读取,无论是误删、格式化、病毒入...

内存卡修复不再难,2025年必学的6款软件工具

内存卡出现问题时,通常是因为文件系统损坏、物理损坏或病毒感染。通过专业的修复工具,我们可以尝试恢复数据并修复内存卡。内存卡修复利器:万兴恢复专家万兴恢复专家是一款功能强大的数据恢复软件,支持多种设备和...

有5款内存卡修复工具汇总,内存卡数据轻松找回!

在如今的数字时代,内存卡作为不可或缺的存储介质,广泛应用于相机、手机、行车记录仪等各类设备中,承载着我们珍贵的照片、视频以及重要文件。然而,数据丢失的风险却如影随形,误删、格式化、病毒入侵、硬件故障等...

揭秘:如何通过多种方式精准查询内存条型号及规避风险?

以下是内存条型号查询的常用方法及注意事项,综合了物理查看、软件检测、编码解析等多种方式:一、物理标签查看法1.拆机查看标签打开电脑主机/笔记本后盖找到内存条,观察标签上的型号标识。例如内存标签通常标...

内存卡数据恢复5个工具汇总推荐,轻松找回珍贵记忆!

在这个数字化时代,内存卡作为我们存储珍贵照片、重要文件的常用载体,广泛应用于手机、相机、平板电脑等设备。但数据丢失的意外却常常不期而至,误删除、格式化、病毒攻击,甚至内存卡的物理损坏,都可能让辛苦保存...

电脑内存智能监控清理,优化性能的实用软件

软件介绍Memorycleaner是一款内存清理软件。功能很强,效果很不错。Memorycleaner会在内存用量超出80%时,自动执行“裁剪进程工作集”“清理系统缓存”以及“用全部可能的方法清理...

TechPowerUp MemTest64:内存稳定性测试利器

TechPowerUpMemTest64:内存稳定性测试利器一、软件简介TechPowerUpMemTest64,由知名硬件信息工具GPU-Z的出品公司TechPowerUp发布,是一款专为64位...

微软推出AI恶意软件检测智能体Project Ire,精确度高达98%

IT之家8月6日消息,当地时间周二,微软宣布推出可自主分析恶意软件的AI检测系统原型——ProjectIre。该项目由微软研究院、Defender研究团队及Discovery&a...

农村老木匠常用的20种老工具,手艺人靠它养活一家人,你认识几种

生活中的手艺老匠人是非常受到尊敬和崇拜的,特别是在农村曾经的老匠人都是家里的“座上宾”。对于民间传统的手艺人,有一种说法就是传统的八大匠:木匠、泥匠、篾匠、铁匠、船匠、石匠、油匠和剃头匠。木匠的祖始爷...

恶意木马新变种伪装成聊天工具诱人点击

国家计算机病毒应急处理中心通过对互联网监测发现,近期出现一种恶意木马程序变种Trojan_FakeQQ.CTU。该变种通过伪装成即时聊天工具,诱使计算机用户点击运行。该变种运行后,将其自身复制到受感染...

学习网络安全 这些工具你知道吗?

工欲善其事必先利其器,在新入门网络安全的小伙伴而言。这些工具你必须要有所了解。本文我们简单说说这些网络安全工具吧!Web安全类web类工具主要是通过各种扫描工具,发现web站点存在的各种漏洞...

5分钟盗走你的隐私照片,这个全球性漏洞到底有多可怕?

这个时代,大家对电脑出现漏洞,可能已经习以为常。但如果机哥告诉大家,这个漏洞能够在5分钟内,破解并盗取你所有加密文件,而且还无法通过软件和补丁修复...这可就有点吓人啦。事情是酱婶的。来自荷兰埃因...

取消回复欢迎 发表评论: