欢迎来到天天文库
浏览记录
ID:34375723
大小:322.38 KB
页数:100页
时间:2019-03-05
《本科网络安全与保密第13章new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第13章移动代码安全第13章移动代码安全13.1引言13.2移动代码安全技术13.3Java安全第13章移动代码安全13.1引言移动代码又称移动代理、可下载代码、可执行内容、远程代码等等,它是指在本地执行的远程代码。传统系统中,执行的代码都是驻留在执行代码的主机上,而对于移动代码,执行的代码则是来自远程主机。Carzaniga等人[1]将移动代码进行了分类并与传统的基于客户机—服务器技术的分布式系统作了比较:第13章移动代码安全(1)客户机—服务器模型:客户机和服务器位于不同的主机上,由客户机向服务器发送请
2、求;处理请求所需的资源和代码都位于服务器端。(2)即时响应代码(Code-on-Demand):客户机拥有完成某项操作的资源,但没有如何完成这项操作的代码,客户机通过向远程服务器发送请求,由服务器将代码发送给客户机。这种类型的移动代码包括:Java应用程序、ActiveX控件、MIMITcl扩展和Postscript等。第13章移动代码安全(3)远程计算:客户机拥有描述某项服务的代码,而执行代码所需的资源位于远程服务器上。客户机把代码发送到服务器上,由服务器执行代码并把结果回送到客户机。(4)移动代理:客户
3、机进程在执行期间为了完成某项服务需要访问一些资源,而这些资源位于远程服务器上,于是客户机把客户机进程移植到服务器端并由服务器完成服务。客户机进程会一直停留在服务器上直到下一个客户机进程移植过来。第13章移动代码安全Java应用程序(Applet)和代理(Agent)是移动代码中的两种主要形式。Java应用程序是用户把代码从远程主机下载到本地执行。这种技术在Web浏览器中嵌入了Java虚拟机。这样,Web发布者就可以向用户提供动画、游戏等动态内容,而不仅仅提供静态的HTML页面或依赖于带宽的CGI交互式内容。
4、而代理则相反,用户是把代码发送到网络上以完成用户所需的某项任务。最早的移动代理系统之一是Telescript。第13章移动代码安全从上面的讨论可以看出,移动代码是由一方生成,但在另一方控制的环境中运行的代码。这就会带来安全问题。如对于Java应用程序,用户在执行它来实现某些操作的同时要承担恶意代码破坏系统的风险,而代理则要保护其代码免受恶意主机的利用。第13章移动代码安全13.2移动代码安全技术移动代码会导致安全问题的本质在于在运行代码时需要访问系统资源,而代码却是来自于另一台,甚至是不可信的主机。即代码提
5、供者和代码运行者之间可能是互不信任的。移动代码易受到以下几种类型的攻击[2]:(1)泄漏用户或主机的机密信息;(2)拒绝服务:使合法用户无法获得资源;第13章移动代码安全(3)破坏或修改数据;(4)恶作剧攻击:如在用户屏幕上显示图片或在用户主机上播放音乐等。第13章移动代码安全移动代码安全需要考虑以下几个方面:(1)访问控制:规定谁可以使用代码;(2)用户认证:识别合法用户;(3)数据完整性:保证代码在传输过程中未被修改过;(4)不可抵赖:发送者和接收方不能否认使用过代码;(5)数据机密性:保护敏感数据;(
6、6)审计:跟踪移动代码的使用。第13章移动代码安全在前面提到,移动代码安全可以从两个方面考虑:一是恶意代码对本地系统的破坏;二是远程恶意主机对代理的非法使用。接下来,我们将从恶意代码和恶意主机两个方面来讨论移动代码的安全技术[3]。第13章移动代码安全13.2.1恶意代码对于Java应用程序类的移动代码,一般的操作是用户下载可执行格式的二进制Applet然后运行。这就很容易带来安全问题:用户必须允许不可信的代码在本机运行,而这些代码可能会随机写内存,从而导致系统崩溃;代码甚至可以读、修改以至删除用户个人文件
7、。在运行Applet之前进行认证可以解决这个问题。通过认证,用户就可以确定它所运行的代码来自于特定的可信源。但是这种方法带来了两个问题:第13章移动代码安全(1)严重限制了用户可以运行的Applet(必须来自可信源),而不可信服务器也可提供有用的、好的代码;(2)更重要的是来自可信源的代码可能存在bug,从而对用户系统带来恶劣的影响。对这个问题的理想解决方法就是阻止不安全的行为。接下来讨论三种解决恶意代码问题的技术:安全解释器、故障隔离和代码验证。第13章移动代码安全1.安全解释器直接运行二进制代码是很危险
8、的,解决这个问题的常用方法是不使用编译好的可执行代码,而采用解释移动代码的方法。在这种情况下,解释器能很好地控制Applet并能检查每一条指令和每一个状态以决定是否执行Applet。这样,系统的安全性就在于实现解释器的安全策略的正确性上。安全解释器包括Safe-Tcl、Safe-Tcl扩展、Java等等。第13章移动代码安全2.故障隔离采用安全的解释器系统能很好地解决恶意代码的问题。但是,相对编译的机器码而言,解
此文档下载收益归作者所有