您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

三招教你预防服务器系统中的“盗梦者”

添加时间:2010-11-22  添加: admin 
【IT168 专稿】利用中秋小假,我观看了最近备受热议的电影《盗梦空间》。影片中的盗梦团队筑造的梦中梦体现了复杂逻辑的魅力。该电影所引发的热议甚至比起电影本身更精彩。虽然现实中人不需要防御“盗梦者”,但是计算机系统却是随处可遇“盗梦者”,那么作为系统管理员究竟该如何抵御这些“盗梦者”呢?

  首先允许我先介绍下《盗梦空间》这部电影的主要内容:《盗梦空间》是由《黑暗骑士》导演克里斯托夫·诺兰执导,莱昂纳多主演的一部具有很强逻辑思维和数学理论为基垫的电影。主要讲男主角科布(莱昂纳多饰)领导的盗梦团队筑造了一个梦中梦(共有4层梦境),目的是将一个思想注入能源大亨继承人费舍尔(希里安·墨菲饰演)的头脑中,让其放弃继承庞大的遗产。

  

如何预防你的服务器系统的“盗梦者”

 

  ▲电影《盗梦空间》宣传海报

  有资深影迷评论称,影片中的多重梦境实际上是利用程序算法中的递归思维。假设做梦是一个函数Dream(),那么梦中梦就是该函数的递归调用。比起一般的递归调用来,该程序的特殊之处是,它是一个多线程的递归调用,也即是说每一次递归都会新建一个线程来执行函数体。因此该递归函数有两种结束机制,一种是wait超时(药物失效),另一种是由其调用函数来结束(kick)。这就好比影片中,当需要进入下一层梦境,就必须注入药物,当需要返回上一层梦境,就必须以自杀形式结束。

  而由于硬件平台所限,该递归只能进行四层,因为每次递归都需要消耗系统资源,所以递归深一层,系统运行就越慢(梦境每深一层,时间就变慢20倍)。一旦在第四层的时候资源耗尽(做梦者生命耗尽),就会产生栈溢出,因此线程就会进入僵死状态(limbo状态)。而一旦将运行超时时间设置得过长(强力镇静药物),则会导致子线程运行过长从而耗尽资源。此时如果子线程还没有被上层调用函数强制结束(撞击),则会被detach(在梦中死去),因此进入僵死状态(进入limbo状态)。而为什么多层次的梦唤醒需要同步撞击呢,这就跟我们析构一个含有指针的STL容器一样,如果不遵守顺序,那么就会出现容器被析构而指针内容还在从而发生内存泄露的问题。

  总的来说整个电影的梦中梦的营造就是利用多重递归的三个操作:入栈(pushing),弹出(popping)、堆栈(stacks)。其中“入栈”就是暂停手头工作、标记停止地点、开始另一项工作,新工作比原工作要“低一个层次”。“弹出”就是结束低层次的工作、在上一层次暂停的地方恢复原工作。“堆栈”用来记录暂停地点的环境信息。例如接电话过程中有新电话进来,于是暂停第一个电话开始接第二个电话,不一会又暂停第二个电话来接第三个电话……堆栈可以记录你结束当前电话后该回到第几个电话、该电话是谁打来的、暂停时你们谈到哪儿了。人们很容易在多重嵌套中迷失,这时候堆栈的作用就很重要。只要堆栈记录准确,我们就不会搞混各种层次。

  显然,《盗梦空间》中多重嵌套的梦就是“递归”,入梦机器负责“推入”,穿越操作用来“弹出”,每层梦中留守的人就是“堆栈”,负责维持现场环境以确保成功穿越。

  作为一个盗梦团队,盗梦的目的其实跟计算机安全中的缓冲区溢出攻击是同理的,也就是利用程序漏洞(人的性格弱点),向其地址空间对应于人的头脑)植入可执行代码(想法),从而可以在对方的系统(大脑)中执行自己的特权指令(解散Fisher的公司)。

  盗梦巧妙的应用了程序设计思想,同时也证明了再完善的系统也是存在漏洞的的,只有全面了解你的系统才能做好充足的安全防御工作,而系统监控就是安全防御的第一步,接下来就向大家介绍10款优秀的监控工具、以及常用内存监控和系统性能监控工具。

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站