图片都存在一起,最大的好处就是可以做CDN加速.特别是某些高清图.同理,视频,音频文件也是这样的.

然而今天却并不是要从这个角度去讨论这个话题.

今天的话题,从一个不太可爱的地方谈起:静态潜伏的恶意代码.

在一个看似正常的动态链接库里面,潜伏着一段恶意代码.当知晓这个秘密的神秘来客用一个同样是看似无害的程序加载了这个库之后,只要调用一个不为人知的API,剩下的事情,也就只能由这个神秘人头顶的神明来决定了.(这里就要感叹一下IOS系统的应用分离机制和IO控制机制了,确实,苹果在兼顾软件生态多样性的同时,找到了一种解决安全问题的有效的办法)

同样的道理,在一些有特殊结构的文件里面,是存在着被追加写入甚至在特殊位置注入其他bit级别信息的可能性的.我们习惯把程序和数据分开,这种思路在阳光下并无大碍,甚至利于思考问题,但是在那些阳光照不到的地方,程序与数据,都是硬件里的信号,他们本质上是没有区别的,只是不同的标识特征决定了他们的身份,进而决定了他们的用途.

那么有没有一种可能,让一个程序从不同的,看似无害的数据文件中,取出一些隐藏在其中的数据,然后把他们组装成另外一个程序呢?从技术上来说,是完全可行的.甚至你可以取出一个事先加了密的片段,组装到一起再解密,最终获得一个可执行程序.

对应的防护策略当然也是有的,这就是AV大战的一部分了.

在个人电脑上,这个问题并不难解决,一般的电脑,跑个av软件会卡一点,但是还不至于卡到失去响应.在联网的系统里,也是如此,服务器仅仅是把图片存起来,再传输给各个终端的PC,真正冒险去解码图片的,还是终端的PC机.

于是程序员渐渐达成了共识,专机专用,绝不混杂不同的可执行区域,这里也就是一个简单的运维手段:最小化安装和运行:服务器除了它所运行的应用所必须的组件之外,不要有任何多余的功能.于是这样,一个白名单的管理体系就能被建立起来:除了允许做的事情之外,一切都是禁止的.有时候,为了防止一台服务器上的组件过多,还要拆分整个应用的功能,把他们分散到不同的机器里面去.

这一切,都是为了防止在服务器上出现某个未知的应用程序被执行的情况.因为你不知道,这个程序究竟会干出什么事情来.对于程序来说,绕过静态代码审查的方法实在是太多了.所以,越是那种功能多,讨人喜欢的系统,反而是越危险的系统,因为这种系统永远都只能等到恶意代码运行之后,才能被动的触发防御机制.根本不能从根源上解决问题,只会把问题越搞越复杂.因此,对于服务器来说,不希望被莫名其妙的神秘人控制?那就别把简单的问题复杂化,分工明确,各司其职,专注,专一,高效的处理和高效的合作,这不才是网络存在的意义吗?

转载至链接:https://my.oschina.net/748/blog/1932349

java 接口 白名单_策略:服务器上的白名单安全机制相关推荐

  1. java全文检索word中的内容_对服务器上所有Word文件做全文检索的解决方案-Java

    一.背景介绍 Word文档与日常办公密不可分,在实际应用中,当某一文档服务器中有很多Word文档,假如有成千上万个文档时,用户查找打开包含某些指定关键字的文档就变得很困难,目前这一问题没有好的解决方案 ...

  2. java 怎么通过url获取远程服务器上某个文件夹下的所有文件_JMX远程代码漏洞研究...

    前言: 前一段时间apace solr JMX因为配置不当出现远程代码执行漏洞,最近自己在看一套java系统时,发现该系统也存在JMX远程代码漏洞,于是乎就想研究下JMX这种通用型漏洞,下面我就从原理 ...

  3. java 接口和虚构_深入理解Java的接口和抽象类

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

  4. java 接口中 常量_在Java接口中怎样访问定义的常量呢?

    java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能).那么我们在Java接口中怎 ...

  5. java 接口中 常量_讨论:Java 接口当中的 “常量接口”

    Java接口当中有一个类型为常量接口,我在网上看到有些人不提倡使用这种方式.具体的原因也没怎么讲,但是在这里我还是想与大家讨论一下这个接口方式的使用. 希望有对此接口使用方式有深刻了解的网友能够多提意 ...

  6. 如何在服务器上运行python程序_在服务器上配置运行(每天一则段子python程序)...

    之前的文章里有一个用python-SMTP发信的程序,利用爬虫随机爬下段子网站的一则段子然后发送给指定收件人. 在本地计算机上运行这个程序只有及时性的功能(一直挂着也不太现实),所以现在将它放置在服务 ...

  7. 写好的java项目如何部署在公司服务器上,并能让局域网内其他同事访问到,以及遇到的坑!

    ** 如何把自己写好的代码部署在外部服务器上呢? ** 我用的springboot框架在eclipse中写好的项目 ; 部署的步骤: 1. 修改项目的pom文件,需要改3处(项目jar改成war;添加 ...

  8. java 删除 指定图片_java删除服务器上指定图片

    在windows下的写法 一般是: File file = new File ("E:\img\qqq.jpg"); 或者 File file = new File (" ...

  9. java接口推送_推送API

    推送API 代码示例 推送API,GitHub示例点此查看 简述 个推为开发者提供了如下3种消息推送方式: toSingle :简称"单推",指向单个用户推送消息 toList:简 ...

最新文章

  1. 关于Tomcat上请求的编解码问题
  2. 使用Redis来实现LBS的应用
  3. java textlistener_Java TextView.setOnEditorActionListener方法代码示例
  4. java 面向组件_Java 面向对象
  5. Linux内核spin_lock与spin_lock_irq分析
  6. Django目录结构说明
  7. 对于拷贝构造函数和赋值构造函数的理解
  8. 用Adapter模式重构以前系统的登录权限验证
  9. Ruby on Rails 终极部署方案 nginx+mina+puma
  10. wireshark抓包工具的使用及分析
  11. 一图解惑SQL JOINS
  12. 支付分当钱花有人信了?微信辟谣:开通微信支付分不收费
  13. 单板剥皮机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  14. 全网最详细的HBase启动以后,HMaster进程启动了,几秒钟以后自动关闭问题的解决办法(图文详解)
  15. 存储产业进入闪存时代
  16. java实现5 4 3 2 1递归_递归及递归的使用
  17. JS获取本机IP地址的方法
  18. 推特 我们目前不能注册此邮箱地址_安卓版推特App存在隐私漏洞,官方发信敦促用户更新...
  19. 思科《计算机网络》第三章考试答案
  20. 成功解决WebMediaCfg.ini文件被清空引起的“没有找到数据库”

热门文章

  1. 宁波银行总行科技部面经
  2. IDEA安装Background Image Plus插件
  3. 冰封王座 地图与种族优势分析
  4. 悬索结构中的斜拉索结构是什么?
  5. [android][sensor][cts] ctsv device suspend test fail —— qrtr改为非唤醒模式
  6. 通过多线程为基于 .NET 的应用程序实现响应迅速的用户
  7. linux---软件包管理rpm
  8. 【记录】2022/7/16
  9. Mac如何查看与更高切换输入法的快捷键
  10. python强大的模块_python之强大的日志模块-阿里云开发者社区