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

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

cac55 2024-12-16 11:17 37 浏览 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.

相关推荐

远程桌面管理服务器的软件工具:Splashtop

通过远程控制和维护服务器,IT运维无需亲自在设备附近就可以轻松完成工作,极大地提高了效率。在本文中,我们将深入了解远程桌面管理服务器的主要优点,以及实现此任务所需的软件工具和操作方法。首先,远程桌面管...

最担心的事还是发生了 19岁黑客远程破解逾25台特斯拉

近日,德国19岁的安全研究人员大卫·科伦坡(DavidColombo)表示,他在特斯拉的系统中发现一处系统漏洞,并通过该漏洞远程入侵了13个国家的25辆特斯拉电动汽车,使其关闭安全系统。他几乎掌控了...

朝鲜黑客使用已知恶意软件家族FASTCash的 Linux 变种来窃取资金

据观察,朝鲜威胁组织使用已知恶意软件家族FASTCash的Linux变种来窃取资金,作为以财务为动机的活动的一部分。一位自称HaxRob的安全研究员表示,这种恶意软件“安装在受感染网络内处理卡...

Phorpiex恶意脚本卷土重来,成为LockBit 3.0勒索木马传播载体

IT之家5月5日消息,安全公司Cybereason发文透露“老牌”恶意脚本Phorpiex近日又卷土重来,成为传播LockBit3.0勒索木马的载体,感染了相应脚本的设备会自动下...

黑客远程入侵控制Jeep 自由光 互联网汽车存隐患

当我们在为汽车互联网技术带来的便捷欢呼雀跃时,也许危险也在悄悄走近。近日据Wired报道,名叫安迪的男子正开着Jeep自由光以70码的时速行驶在圣路易斯下城区时,车辆突然失去了控制。“首先是冷风突然调...

警惕!KeePass密码管理器竟成黑客“帮凶”

近日,网络安全领域爆出一则令人震惊的消息:网络安全公司WithSecure披露,在过去至少八个月的时间里,黑客通过篡改知名的KeePass密码管理器,上演了一场大规模的恶意攻击大戏!KeePass作...

开源网页应用框架ThinkPHP遭黑客滥用,变身远程代码执行工具

IT之家6月9日消息,安全公司Akamai近日发布报告,声称目前有黑客滥用一款热门开源网页应用框架ThinkPHP中的远程执行代码漏洞,打造了一款名为“Dama”的恶意工具进行攻击。I...

远程控制、窃密、挖矿!我国境内捕获“银狐”木马病毒变种

最近大家可得小心电脑病毒了!国家相关部门刚通报了一个叫"银狐"的木马病毒新变种,专门盯着普通老百姓和企事业单位下手。我给大家掰开揉碎了讲讲,遇到这种情况该怎么躲坑?·一、这病毒怎么盯上...

6款Linux常用远程连接工具,你最中意哪一款?

点击上方头像关注我,每周上午09:00准时推送,每月不定期赠送技术书籍。本文2106字,阅读约需6分钟Hi,大家好。远程连接的实现方法有很多,概括地说有两种,一种是用系统自带的远程连接,另外一种是用...

安全公司曝光黑客山寨杀毒软件Bitdefender官网,实为提供木马

IT之家5月31日消息,安全公司DomainTools发文,透露有黑客伪造网站声称提供杀毒软件,实则借机传播恶意木马。IT之家参考相应通报获悉,相应黑客首先建立山寨Bitdefender...

魔兽世界怀旧服:mc与bwl高手进阶输出手法与职业心得理解

作者:NGA-499917309a前言:之前写了两篇教新手术士怎么打mc和bwl的帖子,属于基础入门,只是让大家会打,随着时间推移,副本早已进入farm阶段,新手也不满足于会打,而是追求更高的输出,甚...

《奇幻梦境》进不去游戏解决方法攻略

奇幻梦境第一章近日发售了,本作也是一款第一人称解密游戏。本作的游戏画面色彩简单明了,包括了游戏的剧情也是。有不少的小伙伴反映奇幻梦境打不开不进不去,接下来小编就给大家解决这款游戏打不开进不去的一些可能...

国外网友热议:LOL客户端仍然如此差劲!新版又在测试了?

印象中英雄联盟的客户端换过几次版本,但是动作最大的应该就是在2017年的那次,直接更换了整个客户端的UI界面以及内部的很多组件。但是新版客户端上线至今两年多的时间里,玩家对于这个客户端的吐槽依旧很多,...

谷歌地球免费专业版7.1.5.1557下载

IT之家讯5月22日消息,谷歌地球专业版GoogleEarthPro已经更新到7.1.5.1557版,目前,谷歌官方还没有给出更新日志。这种情况通常来讲都是常规问题修复,建议新老用户及时下载安装...

僵尸部队三部曲 免安装中文硬盘版下载发布

【游戏封面】中文名称:僵尸部队三部曲游戏名称:ZombieArmytrilogy游戏类型:第三人称射击游戏制作:Rebellion游戏发行:Rebellion游戏发行:PC游民星空狙击精英3专区版...

取消回复欢迎 发表评论: