公务员期刊网 精选范文 粮食安全措施及对策范文

粮食安全措施及对策精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的粮食安全措施及对策主题范文,仅供参考,欢迎阅读并收藏。

粮食安全措施及对策

第1篇:粮食安全措施及对策范文

>> 关于云计算应用安全问题的探讨 粮食安全问题的探讨 探讨WLAN中的安全问题 变电运行安全问题的探讨 体育教学安全问题的探讨 有关网络应用中的安全问题及其应对策略的探讨 放射源在煤田测井应用中的安全问题探讨 计算机网络应用安全问题及防范措施的探讨 对于移动互联网应用安全问题的探讨 基于“互联网+”的医院无线应用安全问题探讨 新加坡的安全问题 网络背景下的信息安全问题探讨 论云计算及其安全问题的分析探讨 建筑安全问题的分析与探讨 对水闸混凝土结构安全问题的探讨 对建筑工程安全问题的探讨 基于食品质量安全问题的探讨 探讨深基坑支护存在的安全问题 WLAN在商务运用中安全问题的探讨 探讨双汇食品安全问题背后的原因 常见问题解答 当前所在位置:,*.html)中插入Java程序段和JSP标记,从而形成JSP文件(*.JSP)。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。

JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应。

2 JSP应用的安全问题

由于完全开放了对服务器资源的访问,从JSP页面转换得到的不安全Servlet可能给服务器、服务器所在的网络、访问页面的客户机之中的任意一个或全体带来威胁,甚至通过DDoS或蠕虫分布式攻击,还可能影响到整个Internet。特别是对编写Servlet来说。验证输入和控制对资源的访问是始终必须关注的问题。JSP的体系结构相当复杂,其中包含许多相互协作的子系统。这些子系统之间的交互常常是安全隐患的根源。

Cookie是服务器保存到客户端的少量信息,服务器提取这些信息以维持会话状态或跟踪客户端浏览器的活动。由于两个原因,如果把敏感数据保存到Cookie,安全受到了威胁:第一,Cookie的全部内容对客户端来说都是可见的;第二,虽然浏览器一般不提供伪造Cookie的能力,但没有任何东西能够阻止用户用完全伪造的Cookie应答服务器。

1)中嵌入恶意标记

CERT Advisory CA-2000-02描述了客户在请求中嵌入恶意HTML标记的问题。这个问题一般被称为“cross site scripting”问题,这种攻击通常包含一个由用户提交的病态脚本,或者包含恶意的HTML标记,JSP引擎会把这些内容引入到动态生成的页面。这种攻击可能针对其他用户进行,也可能针对服务器,但后者不太常见。“cross site scripting”攻击的典型例子可以在论坛服务器上看到,因为这些服务器允许用户在自己提交的文章中嵌入格式化标记。通常,被滥用的标记是那些能够把代码嵌入到页面的标记,比如、、和。另外还有一些标记也会带来危险,特别地,可能被用于欺骗浏览者暴露敏感信息。要防止出现这种问题当然要靠输入检查和输出过滤。这类检查必须在服务器端进行,不应依赖于客户端脚本,因为没有任何东西能够阻止用户逃避客户端检验过程。

2)守好JavaBean的入口

JSP组件技术的核心是被称为bean的java组件。在程序中可把逻辑控制、数据库操作放在javabeans组件中,然后在JSP文件中调用它,这样可增加程序的清晰度及程序的可重用性。和传统的ASP或PHP页面相比,JSP页面是非常简洁的,因为许多动态页面处理过程可以封装到JavaBean中。每个JavaBean组件封装了一些可以不依赖于调用环境而独立使用的数据和功能。Bean包含数据成员(属性),并通过Get和Set方法实现访问这些属性的标准API。为快速初始化指定Bean的所有属性,JSP提供了一种快捷方式,即在查询字符串中提供name=value对,并让它匹配目标属性的名字。考虑下面这个使用Bean的例子(以XML格式显示):

你的购物篮

你已经把商品: 加入到购物篮

金额是$ 准备付款

正常情况下,HTML表单构造的查询字符串就是这种形式。但问题在于,没有任何东西能够防止用户设置balance属性:server/addToBasket.JSP? newItem=ITEM0105342&balance=0 ;处理页面的标记时,JSP容器会把这个参数映射到Bean中具有同样名字的balance属性,并尝试把该属性设置为0。为避免出现这种问题,JSP开发者必须在Bean的Set和Get方法中实现某种安全措施,同时,在使用的通配符时也应该小心谨慎。

3)Cookie中的敏感数据

CGI协议是把请求数据从客户端传输到服务器端,最简单的方法是GET请求方法。使用GET请求方法时,输入数据附加到请求URL之后,格式如下:

URL[name=value[&name=value[&...]]]

对于传输敏感数据来说,这种编码方式是不合适的,因为通常情况下,整个URL和请求字符串都以明文方式通过通信通道。所有路由设备都可以和服务器一样记录这些信息。如果要在客户请求中传输敏感数据,应该使用POST方法,再加上一种合适的加密机制。

3 漏洞与源代码安全

JSP实现,在一定的阶段都会出现给系统带来危险的安全隐患。根据目前已经发现的JSP安全问题,主要有源代码暴露类、远程程序执行类。

1)源代码暴露类

源代码暴露类别主要指的是程序源代码会以明文的方式返回给访问者。JSP动态程序在服务器端执行的,执行后只会返回给访问者标准的html等代码。这是理论上的东西,实际运行起来由于服务器内部机制的问题就有可能引起源代码暴露的漏洞。

下面主要介绍一下引起JSP源代码暴漏的主要原因:

①特殊后缀的添加

JSP是大小写敏感的,Tomcat只会将小写的JSP后缀的文件当作是正常的JSP文件来执行,在JSP中就会存在着JSP文件后缀大写漏洞;JSP 文件后加特殊字符如Resin1.2的%82、../漏洞;ServletExec的%2E、+漏洞等等。如果大写了就会引起Tomcat将index.jsp当作是一个可以下载的文件让客户下载。

解决办法是在服务器软件的网站上下载补丁;因为以前用过asp一段时间,接触了很多IIS的漏洞,它的有效解决方法是去掉不必要的映射如htr、htx等,在JSP中我们同样可以参考IIS的解决方法,不同的是不是去掉而是添加映射,方法为在服务器设置中添加一些映射如.JSP 、.JSP、.JSP%2E等,将他们映射到一个自己写的servlet,这个Servlet的唯一功能就是将请求导向一个自定义的类似404 not found的出错页面,不同的服务器设置的地方也不同,请参考相应的文档。第二种解决方法可以在没有补丁的时候采用。

②特殊字符串的插入

IBM WebSphere 3.0.2是调用不同的servlets对不同的页面进行处理,如果一个请求的文件是未进行注册管理的,WebSphere 会使用一个默认的servlet调用。特殊字符串的插入引起的漏洞,BEA WebLogic Enterprise 5.1文件路径开头为 "/file/" 的漏洞、IBM WebSphere 3.0.2的"/servlet/file/"文件开头漏洞等等。如果文件路径以"/servlet/file/"作开头这个默认的servlet会被调用这个请求的文件会未被分析或编译就显示出来。解决方法是在服务器软件的网站下载最新的补丁。

③路径权限引起的文件JSP源代码暴露

大部分的JSP应用程序在当前目录下都会有一个WEB-INF目录,这个目录通常存放的是JavaBeans编译后的class文件,如果不给这个目录设置正常的权限,所有的class就会曝光。安全问题更大的就是,把数据库的用户名密码都写在了Java代码中,现在一反编译谁都能看到数据库的重要信息。通过数据库的远程连接功能,可以轻松的进入到你的数据库中,所有信息全部在他手中。附带说一句,如果用户能获得SQL Server的用户名口令,进入数据库中可以执行任意的dos命令如查看c:文件、建立和删除目录等,那样整个Windows系统都不安全了。

解决方法是将asp程序单独放置一个目录,目录设置上用户权限只能执行不能读取。在JSP环境下同样可以通过设置服务器的环境来解决这个问题,简单的说,就是将一些比较重要的目录如WEB-INF、classes等设置上访问的权限,不允许读而取只允许执行。以apache下解决为例,可以在httpd.conf文件中添加一目录WEB-INF并设置Deny from all等属性。更为重要的是密码的保存问题。在JSP中可以写一个property文件,放置在WINNT系统目录下,然后用Bean来读取数据库信息,这样就算源代码被人知道起码数据库是安全的。(下转第1143页)

(上接第1127页)

④文件不存在引起的绝对路径暴露问题

这个问题相信大家都比较熟悉了,因为微软IIS中也有比较多的类似问题。如微软IIS5.0中的*.idc暴露绝对路径漏洞。同样的这些问题现在也转到了JSP环境中,这个漏洞暴露了web程序的绝对硬盘地址,和其他漏洞结合就具有比较大的危害了。因为负责JSP执行的相关Servlet中处理异常的时候没有过滤掉这种情况。解决方法是下载最新的补丁;如果当时的web服务器软件没有这个补丁,可以找到服务器软件的JSP执行映射Servlet文件,将它用JAD软件反编译,在反编译后的源代码中找到处理Exception的方法,然后将方法中的处理部分全部注释掉,并将请求导向到一个自定义的出错页面中,这样问题就解决了。

2)远程程序执行类

远程程序执行类通过url 地址在浏览器中执行任意服务器上的命令和程序,从而引起安全问题。远程执行任意命令漏洞、iPlanet Web Server 4.x存在一个缓冲区溢出漏洞等等。如果URL请求的目标文件使用了前缀/servlet/,则JSP解释执行功能被激活。这时在用户请求的目标文件路径中使用../,就有可能访问到WEB服务器上根目录以外的文件。目标主机上利用该漏洞请求用户输入产生的一个文件,将严重威胁到目标主机系统的安全。解决方法是安装最新的补丁。

4 总结

JSP应用安全和数据保护这些防范措施都有一定的限度,并不是越安全就越可靠,JSP存在着很多安全上的问题的,客观的说,服务器软件的开发商在内部测试中不可能将系统中的所有bug找出来,即使了软件后,被发现的漏洞也只会是其中的很小一部分,将来还会不断的有新的安全问题出现,所以我们必须时刻提高警惕,并注意自己网站的安全,在看一个JSP网站是否安全时不仅要考察其技术手段,更重要的是对该网站所采取的各种安全措施,从而保证网站的安全性。

参考文献:

[1] 张国祥.基于Apache的Web安全技术的应用研究[J].武汉理工大学学报,2004(3).

[2] 单欧.SSL在web安全中的应用[J].信息网络安全,2004.

[3] 王勇.嵌入式Internet的技术实现及其安全问题的研究[D].浙江大学,2002.

相关热门标签