如果您认为Java的设计可以保证Java小程序的安全与友善的话您应该再好好想一想对数字签名的伪造以及难以驾驭的ActiveX控制功能的出现极大地降低了Java的安全性
任何人只要拥有一个合法的E-mail地址就可以获得一个类数字签名(Class Digital Signature)而获得一个类签名所需的不过是一个信用调查它一般可以由一个像Equifax这样的信用报告公司来提供
动机不良的人可以通过伪造的驾驶执照护照和信用卡来获得假的身份在信用报告公司的数据库中的每一个假身份都可以用来获得一个类数字身份证(Class Digital ID)而这只需每年花美元就可以办到
这真是一幕可怕的情景但是先不要把你的企业网与Internet断开对遭遇到Internet上的攻击性软件的危险性的评估是非常复杂的一方面现在已知的恶意的Java小程序和ActiveX组件只有种(相比之下世界上有约种已知的计算机病毒)而且Java小程序的应用环境中包含有很多严格的内建安全措施
另一方面对Java的安全性问题又不能掉以轻心Internet上的恶意代码可以成为工业间谍活动的一种重要形式——如果它可以被执行无论是经过数字认证了的Java小程序还是ActiveX组件都可以在你的本地机上执行任何它们的主人希望执行的操作这些带有签名的Java小程序或ActiveX组件甚至可以访问你的文件服务器
尽管我们经常将病毒斥之为某个在其孩提时代受到过父母虐待的程序员的一种恶意发洩但是一个在Internet上传播的Java小程序或ActiveX组件比起它来可能要危险得多因为你的竞争对手利用它们可以有机会在网上窥探改动或删除你的文件病毒可以改变你的主引导扇区删除或修改文件并且显示骚扰信息但埋藏在Internet上的 Web页面中的恶意程序不会只进行像病毒所进行的这种破坏它会将它窥探到的东西向其Web服务器主机汇报
如果您担心您的与Internet相连的企业网会成为一条竞争对手窥探您的核心数据的管道并想为此而加强保护措施的话您可能会购买安全工具以将非法入侵者拒之门外为此我们对这类安全性产品进行了评测评测的重点主要是那些承诺可以在服务器上识别并消除恶意的Java小程序javascriptVBScript和ActiveX组件的产品它们是
eSafe技术公司(eSafe Technologies)的eSafe Protect Enterprise
Finjan公司的SurfinGate
Security-软件公司(Security- Software)的SafeGate (Beta版)
Trend Micro公司的Interscan AppletTrap(Bate版)
一些客户端的产品也可以消除病毒与恶意Java小程序的威胁但我们觉得如果能够在网关服务器上将那些具有潜在毁灭性的或是企图进行非法查询的外部软件拒之门外就再好不过了因为这样那些恶意代码便无法靠近客户机了
在评测中我们发现Security-软件公司的SafeGate 提供了针对恶意代码的最佳保护它的速度非常快可以保证客户机的安全非常易于管理并且其性价比也是最高的因此它获得了我们的编辑选择奖所有产品都在安全性方面达到了要求
Security-软件公司的SafeGate (Beta)
SafeGate完全基于服务器的架构及其高水准的安全特性给我们留下了深刻的印象它检查我们的HTTP流量中的Java小程序ActiveX组件javascript和VBScript并对其进行过滤它还对通过Java的ZIPJAR和CAB文件进行解压并检查其文件内容从而使得隐藏在其中的恶意代码难以蒙混过关我们喜欢它对网络数据包所进行的实时的基于内核的处理这种处理方式可以帮助它迅速找出有害代码它可以迅速地校验带有签名的ActiveX信用证和小应用程序而且它一般只需要不到一秒种的时间就可以完成对每个Java小程序(无论有害的还是无害的)的检查更令人称道的是它丝毫也不会影响客户机的处理速度
对于封装在HTML文件中的javascript程序SafeGate也提供了优秀灵活的安全手段它使用的基于加密和密码规则的认证方式的内部安全特性起到了锦上添花的作用该产品使不受欢迎的Internet代码远离我们的客户机而这正是我们希望它做的
SafeGate的安装过程不费吹灰之力由于我们用不着访问每一个客户机或使用登录脚本来安装客户机组件因此安装过程被简化了许多我们可以选择在每台客户机上加载一个通告程序(Notifier)组件它可以让SafeGate在客户机打开一个窗口并通过该窗口告知使用者某个当前的浏览器操作正在被终止因为它隐含着一个恶意程序
SafeGate由套组件构成运行于Windows NT之上的网关内容检查服务中央控制中心管理控制台策略管理器用户界面和侦听监视器在版中还包含有一个用于管理私人信用证书的管理工具我们按类型对进入的文件进行了过滤(例如动态链接库可执行文件和OLE控制等)我们可以根据几条原则选择将未经签名的Java小程序未经签名的ActiveX组件和javascript堵住SafeGate上的一个薄弱点在于——它需要你预先装入Microsoft IE 因为它要使用IE中的加密API动态链接库但是Windows NT Server与IE之间的组合并没有达到其应该达到的性能
我们很喜欢SafeGate直观的用户界面SafeGate的拖放能力使得像输入授权认证证书这样的管理工作非常便捷在我们的测试中我们使用策略管理器来为个人用户和被命名的工作组用户生成并编辑安全规划侦听监视器可以显示SafeGate的侦听日志并使我们可以对破坏安全性的操作和网关检查报告进行跟蹤在我们安装了网关用户界面之后我们很快发现它对于检验内容检查服务的操作和连通性非常有用它可以使我们实时地看到被分析的内容然而网关界面只能记录很短的内容因此控制中心和侦听监视器还是我们用来了解通过的和被拒绝的对象情况的主要信息来源
SafeGate使用微软的数据访问对象(Data Access ObjectDAO)技术来存储安全规划通过选择ODBC(Open Database Connectivity开放式数据库连接)选项并使用NT服务器的ODBC管理器来生成数据库式连接我们可以很方便地将Microsoft SQL Server 作为SafeGate的存储数据库来使用
另外借助于Check Point公司的企业级安全连接开放平台(Open PlatFORM for Security Enterprise Connectivity)APISafeGate可以与Check Point软件技术公司的FireWall-防火墙产品配合使用在这一模式下SafeGate自己的基于内核的检查引擎要让位于FireWall-的数据包检查进程而后者的运行速度要比SafeGate自己的代码检查器慢
Trend Micro公司的InterScan AppletTrap(Beta版)
我们很喜欢Trend Micro公司的InterScan AppletTrap因为它发现可疑代码的方法极具创造性它非常出色地完成了保护我们的客户机免受攻击的任务并且在易于管理方面与SafeGate几乎不相上下它的界面也非常直观但缺乏像SafeGate那样的拖放界面与SafeGate一样我们所测试的InterScan AppletTrap还只是一个Bate版的产品
我们发现AppletTrap并不是一个单纯的服务器端软件它包含了客户机与服务器两个部分每一个Java小程序都运行在客户机上可配置的沙箱环境中我们通过测试证明了这种环境是安全的我们为工作组用户与个人用户分别设定了不同的安全策略AppletTrap会拒绝对某些目录的访问禁止对磁盘的读写并终止那些打开的窗口数超过了一定数量的小应用程序但是这种占用客户机的处理能力来检测每一个可疑的小应用程序的做法使我们难以认同我们更欣赏那种由服务器来杀死不良代码的设计方式
AppletTrap是一个很少有多余成分的HTTP代理服务器并且具有在Trend Micro公司自己的保护性Java代码中封装Java小程序的独特能力被封装的Java小程序(Trend Micro公司把那些被封装了的Java小程序称为被工具化的)被发往客户机在那里封装保护性代码首先建立起一个环境使那些可疑的Java小程序可以安全地在我们所配置的安全策略的限制范围内运行其结果是运行每个Java小程序的平均时间增加了秒在可疑的Java小程序运行时一旦它违背了由用户配置的安全策略的规则保护性代码就会中止程序的运行AppletTrap让我们来决定是让用户能够继续运行Java小程序还是中止Java小程序中的被激活的线程AppletTrap通过这种方式将安全性工作的工作负担在客户机与服务器之间平均地进行分配
当某个Java小程序违反了我们所建立的安全规则时AppletTrap会记录下这一有害程序或javascript代码的身份并将该信息存入其数据库中我们可以选择是让AppletTrap不加通知地中止Java小程序的运行还是在中止它之前向用户询问是否继续运行这一小应用程序一旦客户机用该Java小程序的身份更新了数据库服务器就会阻止继之而来的任何客户机对含有该Java小程序的Web页面的访问企图美中不足的是尽管我们可以对Java小程序运用这些安全策略对ActiveX组件我们却无法这样做
在服务器上AppletTrap会挡住已知的恶意Java小程序以及那些没有合法证书的Java小程序服务器组件通过对Java小程序的大小校验以及其它特性进行鑒别并与其数据库中储存的已知的恶意代码的特征进行比较来决定是否阻挡它这一过程平均要花/秒的时间由于AppletTrap使用其自带的保护性代码来对原始小应用程序进行封装毁坏了原始小应用程序所携带的数字签名AppletTrap随机地在小应用程序中插入其数字ID以便使代码可以在客户机上运行
AppletTrap服务器可以周期性地访问Trend Micro公司的Web站点()并自动地更新其数据库中存放的已知恶意程序的信息我们所测试的其它产品也都拥有类似的自动更新恶意程序代码列表的功能
我们通过AppletTrap的基于