最新版本(mm/dd/yy): 04/23/2009
概述
这种攻击包括对移动代码的操作,以便在客户端执行恶意操作。通过使用中间人技术拦截客户端流量,恶意用户可以使用任意操作修改原始的移动代码,这些操作将在他的凭证下在客户端机器上执行。在另一种情况下,恶意的移动代码可以托管在一个不可靠的web站点上,或者它可以通过注入攻击在脆弱的web站点上永久地注入。这种攻击可以通过Java或C++应用程序执行,并影响所有操作。
实例
以下代码演示了如何使用Java小程序(Java applet)执行此攻击。
// 在这里声明一个带有恶意类路径的对象URL
URL[] urlPath= new URL[]{new URL("file:subdir/")};
// 这里生成一个对象"loader",它负责在URL路径中装入一个类
URLClassLoader classLoader = new URLClassLoader(urlPath);
//这里声明一个包含在“classLoader”中的恶意类的对象
Class loadedClass = Class.forName("loadMe", true, classLoader);<br><br>
为了解决这个问题,有必要使用某种类型的完整性机制来确保移动代码没有被修改。
相关的威胁代理
- 待定(TBD)
相关攻击
- 移动代码:非最终公共领域(Mobile code: non-final public field)
- 移动代码:对象劫持(Mobile code: object hijack)
相关漏洞
- 不安全的移动代码(Unsafe Mobile Code)
相关控件
- 散列(Hashing)
- 边界检查(Bounds Checking)
- 安全库(Safe Libraries)
- 静态代码分析(Static Code Analysis)
- 可执行的空间保护(Executable space protection)
- 地址空间布局随机化(ASLR)
- 栈溢出保护(SSp)