正文
java恶意代码防范 常见的恶意代码防范技术
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
为什么说JAVA语言编写的程序不容易被恶意代码攻击?
因为java是编译成java字节码在jvm虚拟机上运行的,与本地系统连接不像C/C++那样紧密,虚拟机会检测代码的安全性,再加上java语言本身严格的安全控制,所以说JAVA语言编写的程序不容易被恶意代码攻击
java的作用是什么
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。 Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。 Java分为三个体系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition)。 [编辑本段]Java语言特点 Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。 当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢? Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。 在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:噢,这正是我想要的!于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。 [编辑本段]Java主要特性 1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。 3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。 5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。 8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。 10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。 11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。 [编辑本段]Java相关技术 1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。 2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。 3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。 4、Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无缝的互操作性。这使得Java能集成异构的商务信息资源。 5、JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。 6、JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。 7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。 8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。 在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一
java正则表达式怎么防止代码漏洞
javaWeb安全漏洞及处理方式
关注
转载自java恶意代码防范:
1、SQL注入攻击
SQL注入攻击就是通过把SQL命令插入到Web表单提交或输入域名或页面请求java恶意代码防范的查询字符串java恶意代码防范,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
随着B/S框架结构在系统开发中的广泛应用,恶意攻击者利用SQL命令在Web表单中输入合法的字符或查询字符串来欺骗服务器执行SQL命令。当注入攻击得逞后,Web程序将泄露大量用户隐私数据和数据库中数据结构。攻击者能够获得系统较高的访问权限,进行破坏操作。
SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:
1)不当的类型处理;
2)不安全的数据库配置;
3)不合理的查询集处理;
4)不当的错误处理;
5)转义字符处理不合适;
6) 多个提交处理不当。
解决方法:
数据库安全通信包括SQL注入攻击的防范、安全设置、异常信息处理三个方面。
1.服务端Filter对访问者输入的字符进行过滤检验,但是攻击者经常把危险字符潜藏在用户输入的有效字符中完 成过滤检验。
2.通过正则表达式对页面的文本框输入的数据进行限制可以减少过滤检验存在的漏洞。
3.使用prepareStatment预编译sql语句
2、XSS跨站脚本攻击
跨站脚本(Cross-site scripting,简称XSS),是一种迫使Web站点回显可执行代码的攻击技术,而这些可执行代码由攻击者提供、最终为用户浏览器加载。不同于大多数攻击(一般只涉及攻击者和受害者),XSS涉及到三方,即攻击者、客户端与网站。XSS的攻击目标是为了盗取客户端的cookie或者其他网站用于识别客户端身份的敏感信息。获取到合法用户的信息后,攻击者甚至可以假冒最终用户与网站进行交互。
XSS 属于被动式的攻击。攻击者先构造一个跨站页面,利用SCRIPT、IMG、IFRAME等各种方式使得用户浏览这个页面时,触发对被攻击站点的HTTP 请求。此时,如果被攻击者如果已经在被攻击站点登录,就会持有该站点cookie。这样该站点会认为被攻击者发起了一个HTTP请求。而实际上这个请求是在被攻击者不知情情况下发起的,由此攻击者在一定程度上达到了冒充被攻击者的目的。精心的构造这个攻击请求,可以达到冒充发文,夺取权限等多个攻击目的。在常见的攻击实例中,这个请求是通过script 来发起的,因此被称为Cross Site Script。
XSS漏洞成因是由于动态网页的Web应用对用户提交请求参数未做充分的检查过滤,允许用户在提交的数据中掺入HTML代码(最主要的是“”、“”),然后未加编码地输出到第三方用户的浏览器,这些攻击者恶意提交代码会被受害用户的浏览器解释执行。
分为三种类型:
1)反射型(数据流向:浏览器 -后端 - 浏览器)
反射型XSS脚本攻击即如java恶意代码防范我们上面所提到的XSS跨站脚本攻击方式,该类型只是简单地将用户输入的数据直接或未经过完善的安全过滤就在浏览器中进行输出,导致输出的数据中存在可被浏览器执行的代码数据。由于此种类型的跨站代码存在于URL中,所以黑客通常需要通过诱骗或加密变形等方式,将存在恶意代码的链接发给用户,只有用户点击以后才能使得攻击成功实施。
2)存储型(数据流向是:浏览器 -后端 - 数据库 - 后端- 浏览器)
存储型XSS脚本攻击是指Web应用程序会将用户输入的数据信息保存在服务端的数据库或其他文件形式中,网页进行数据查询展示时,会从数据库中获取数据内容,并将数据内容在网页中进行输出展示,因此存储型XSS具有较强的稳定性。
存储型XSS脚本攻击最为常见的场景就是在博客或新闻发布系统中,黑客将包含有恶意代码的数据信息直接写入文章或文章评论中,所有浏览文章或评论的用户,都会在他们客户端浏览器环境中执行插入的恶意代码。
3)基于DOM(数据流向是:URL--浏览器 )
基于DOM的XSS跨站脚本攻击是通过修改页面DOM节点数据信息而形成的XSS跨站脚本攻击。不同于反射型XSS和存储型XSS,基于DOM的XSS跨站脚本攻击往往需要针对具体的javascript DOM代码进行分析,并根据实际情况进行XSS跨站脚本攻击的利用。
解决方法:
1).输入过滤。对用户的所有输入数据进行检测,比如过滤其中的“”、“”、“/”等可能导致脚本注入的特殊字符,或者过滤“script”、“javascript”等脚本关键字,或者对输入数据的长度进行限制等等。同时,我们也要考虑用户可能绕开ASCII码,使用十六进制编码来输入脚本。因此,对用户输入的十六进制编码,我们也要进行相应的过滤。只要能够严格检测每一处交互点,保证对所有用户可能的输入都进行检测和XSS过滤,就能够有效地阻止XSS攻击。
2).输出编码。通过前面对XSS攻击的分析,我们可以看到,之所以会产生XSS攻击,就是因为Web应用程序将用户的输入直接嵌入到某个页面当中,作为该页面的HTML代码的一部分。因此,当Web应用程序将用户的输入数据输出到目标页面中时,只要用HtmlEncoder等工具先对这些数据进行编码,然后再输出到目标页面中。这样,如果用户输入一些HTML的脚本,也会被当成普通的文字,而不会成为目标页面HTML代码的一部分得到执行.
3、CSRF跨站请求伪造漏洞防护
CSRF是CrossSite Request Forgery的缩写,乍一看和XSS差不多的样子,但是其原理正好相反,XSS是利用合法用户获取其信息,而CSRF是伪造成合法用户发起请求。
字面理解意思就是在别的站点伪造了一个请求。专业术语来说就是在受害者访问一个网站时,其 Cookie 还没有过期的情况下,攻击者伪造一个链接地址发送受害者并欺骗让其点击,从而形成 CSRF 攻击。
根据HTTP协议,在HTTP头中有一个字段叫Referer,它记录了该HTTP请求的来源地址。在通常情况下,访问一个安全受限页面的请求必须来自于同一个网站。
解决方案:
配置FILTER拦截用户所有请求(POST/GET),对用户请求Referer头URL进行合法性校验。
4、URL链接注入漏洞防护
链接注入是修改站点内容的行为,其方式为将外部站点的 URL 嵌入其中,或将有易受攻击的站点中的脚本 的 URL 嵌入其中。将URL 嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。
解决方案:
1,二次验证,进行重要敏感操作时,要求用户进行二次验证。
2,验证码,进行重要敏感操作时,加入验证码。
3,验证 HTTP 的 Referer 字段。
4,请求地址中添加 Token 并验证。
5,HTTP 头中自定义属性并验证。
5、会话COOKIE中缺少HttpOnly防护
会话cookie中缺少HttpOnly属性会导致攻击者可以通过程序(JS脚本、Applet等)获取到用户的cookie信息,造成用户cookie信息泄露,增加攻击者的跨站脚本攻击威胁。
HttpOnly是微软对cookie做的扩展,该值指定cookie是否可通过客户端脚本访问。Microsoft Internet Explorer 版本 6 Service Pack 1 和更高版本支持cookie属性HttpOnly。
如果在Cookie中没有设置HttpOnly属性为true,可能导致Cookie被窃取。窃取的Cookie可以包含标识站点用户的敏感信息。
如果在Cookie中设置HttpOnly属性为true,兼容浏览器接收到HttpOnly cookie,那么客户端通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这将有助于缓解跨站点脚本威胁。
解决方案:
配置filter拦截器,将服务器端返回请求,向所有会话cookie中添加“HttpOnly”属性。
示例代码:
HttpServletResponseresponse=(HttpServletResponse)paramServletResponse;
response.setHeader("SET-COOKIE","JSESSIONID=" + sessionid + "; HttpOnly");
6、点击劫持漏洞(Clickjacking)防护
点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。
解决方案:
配置FILTER拦截器,在服务器端返回请求中,使用一个HTTP头“X-Frame-Options”值为SAMEORIGIN-同源策略 ,则frame页面的地址只能为同源域名下面的页面,防止点击劫持漏洞发生。
示例代码:
HttpServletResponseresponse=(HttpServletResponse)paramServletResponse;
response.addHeader("x-frame-options","SAMEORIGIN");
7、HTTP host 头攻击漏洞
使用HTTP代理工具,可以篡改HTTP报文头部中HOST字段时,该值可被注入恶意代码。因为需要控制客户端的输入,故该漏洞较难利用。
解决方案:
配置FILTER拦截器,对请求输入HOST头信息进行信息安全性校验,防止HOST头信息被恶意篡改利用。
示例代码:
HttpServletRequest request =(HttpServletRequest)servletRequest;
//主机ip和端口 或 域名和端口
String myhosts = request.getHeader("host");
if(!StringUtils.equals(myhosts, "xx.xx.xxx.xxx:xxxx")
!StringUtils.equals(myhosts, "xx.xx.xxx.xxx:xxxx")
!StringUtils.equals(myhosts,"xx.xx.xxx.xxx:xxxx")StringUtils.equals(myhosts,"xx.xx.xxx.xxx")
!StringUtils.equals(myhosts,"xx.xx.xxx.xxx") !StringUtils.equals(myhosts,"xx.xx.xxx.xxx" ){
logger.error("======访问host非法,已拦截======");
response.sendRedirect(request.getContextPath() + "/login.jsp");
return;
}
8、越权访问漏洞防护
越权访问(Broken Access Control,简称BAC)是Web应用程序中一种常见的漏洞,分为垂直越权访问和水平越权访问。垂直越权是指不同用户级别之间的越权,如普通用户执行管理员用户的权限。水平越权是指相同级别用户之间的越权操作。
Web应用程序如果存在越权访问漏洞,可能导致以下危害:
1)导致任意用户敏感信息泄露;
2)导致任意用户信息被恶意修改或删除。
解决方案:
配置FILTER拦截器,对请求所有URL进行拦截,对于需要进行授权的URL进行权限校验,防止用户越权访问系统资源。
9.弱口令漏洞
解决方案:最好使用至少6位的数字、字母及特殊字符组合作为密码。数据库不要存储明文密码,应存储MD5加密后的密文,由于目前普通的MD5加密已经可以被破解,最好可以多重MD5加密,或者多种加密方式叠加组合。
10.JSP页面抛出的异常可能暴露程序信息。
有经验的入侵者,可以从JSP程序的异常中获取很多信息,比如程序的部分架构、程序的物理路径、SQL注入爆出来的信息等。
解决方案:自定义一个Exception,将异常信息包装起来不要抛到页面上。
11.本地缓存漏洞
合法用户“注销”后,在未关闭浏览器的情况下,点击浏览器“后退”按钮,可从本地页面缓存中读取数据,绕过了服务端filter过滤。
解决方案:配置filter对存放敏感信息的页面限制页面缓存。如:
httpResponse.setHeader("Cache-Control","no-cache");
httpResponse.setHeader("Cache-Control","no-store");
httpResponse.setDateHeader("Expires",0);
httpResponse.setHeader("Pragma","no-cache");
12.文件上传漏洞。
前台仅使用JS对文件后缀做了过滤,这只能针对普通的用户,而恶意攻击者完全可以修改表单去掉JS校验。
13.Java WEB容器默认配置漏洞。
如TOMCAT后台管理漏洞,默认用户名及密码登录后可直接上传war文件获取webshell。
解决方案:最好删除,如需要使用它来管理维护,可更改其默认路径,口令及密码。
代码的危害
解析恶意代码的危害机制与防范
摘要:在当今互联网时代,很多人还在受着网页恶意代码的困扰,在网站代码编辑过程中,更会因为恶意代码的转载使用导致整个网页的瘫痪。本文就“恶意代码”的危害和防范来进行深入解析,以激发我们的安全防范意识,积极应对来自网络的安全威胁。
关键词:恶意代码Java Applet JavaScript ActiveX
一、恶意代码综述
恶意代码主要包括计算机病毒(Virus)、蠕虫(Worm)、木马程序(Trojan Horse)、后门程序(Backdoor)、逻辑炸弹(Logic Bomb)等等。它使用SCRIPT语言编写的一些恶意代码利用IE的漏洞来实现病毒植入。当用户登录某些含有网页病毒的网站时,网页病毒便被悄悄激活,这些病毒一旦激活,可以利用系统的一些资源进行破坏。
随着互联网信息技术的不断发展,代码的“恶意”性质及其给用户造成的危害已经引起普遍的关注,因此我们有必要对恶意代码进行一番了解,让其危害降低至最低程度。
二、恶意代码的表现形式
(一)网页病毒类恶意代码
网页病毒类恶意代码,顾名思义就是利用软件或系统操作平台的安全漏洞,通过嵌入在网页上HTML标记语言内的Java Applet 应用程序、JavaScript 脚本程序、ActiveX 网络交互支持自动执行,强行修改用户注册表及系统配置,或非法控制用户系统资源、盗取用户文件、恶意删除文件,甚至格式化硬盘的非法恶意程序。
根据目前较流行的常见网页病毒的作用对象及表现特征,网页病毒可以归纳为以下两大种类:
(1)通过Java Script、Applet、ActiveX 编辑的脚本程序修改IE 浏览器,表现为:
A 默认主页(首页)被修改;B 主页设置被屏蔽锁定,且设置选项无效不可修改;C 默认的IE 搜索引擎被修改;D 鼠标右键菜单被添加非法网站广告链接等。
(2)通过Java Script、Applet、ActiveX 编辑的脚本程序修改用户操作系统,表现为:
A 开机出现对话框(通常都是用户不知所云的内容);B 系统正常启动后,但IE 被锁定网址自动调用打开;C 格式化硬盘;D 非法读取或盗取用户文件;E 锁定禁用注册表,编辑reg,转自[星论文网] 注册表文件格式时出现打开方式错误。
(二)脚本类恶意代码
脚本实际上就是程序,一般都是由应用程序提供的编辑语言。应用程序包括Java Script、VBScript、应用程序的宏和操作系统的批处理语言等。脚本在每一种应用程序中所起的作用都是不相同的,比如在网页中可实现各种动态效果,在OFFICE 中通常是以“宏”来执行一系列命令和指令,可以实现任务执行的自动化,以提供效率,或者制造宏病毒。
(三)漏洞攻击类代码
是利用软件或者操作系统的漏洞而编写的程序,对用户系统或者网络服务器进行攻击。比如黑客利用微软IE 浏览器漏洞,编写漏洞攻击代码对用户进行攻击。
三、恶意代码的实现机制
恶意代码的行为表现各异,破坏程序千差万别,但基本作用机制大体相同,其整个作用过程分为6个部分:
①侵入系统。侵入系统是恶意代码实现其恶意目的的必要条件。恶意代码入侵的途径很多,如:从互联网下载的程序本身就可能含有恶意代码;接受已经感染恶意代码的电子邮件;从光盘或U盘往系统上安装未经审查的软件;黑客或者攻击者故意将恶意代码植入系统等。
②维持或提升现有特权。恶意代码的传播与破坏必须盗用用户或者进程的合法权限才能完成。
③隐蔽策略。为了不让系统发现恶意代码已经侵入系统,恶意代码可能会改名、删除源文件或者修改系统的安全策略来隐藏自己。
④潜伏。恶意代码侵入系统后,等待一定的条件,病毒具有足够的权限时,就发作进行破坏活动。
⑤破坏。恶意代码的本质具有破坏性,其目的是造成信息丢失、泄密,破坏系统完整性等。
⑥重复1至5对新的目标实施攻击过程。
四、恶意代码的防范方法
目前,恶意代码防范方法主要分为两方面:基于主机的恶意代码防范方法和基于网络的恶意代码防范方法。
(一)基于主机的恶意代码防范方法
①基于特征的扫描技术:基于主机的恶意代码防范方法是目前检测恶意代码最常用的技术。扫描程序工作之前,必须先建立恶意代码的特征文件,根据特征文件中的特征串,在扫描文件中进行匹配查找。用户通过更新特征文件更新扫描软件,查找最新的恶意代码版本。这种技术广泛地应用于目前的反病毒引擎中。
②校验和:校验和是一种保护信息资源完整性的控制技术,例如Hash 值和循环冗余码等。只要文件内部有一个比特发生了变化,校验和值就会改变。未被恶意代码感染的系统首先会生成检测数据,然后周期性地使用校验和法检测文件的改变情况。
③安全操作系统对恶意代码的防范:恶意代码成功入侵的重要一环是,获得系统的控制权,使操作系统为它分配系统资源。无论哪种恶意代码,无论要达到何种恶意目的,都必须具有相应的权限。否则它将不能实现其预定的恶意目标,或者仅能够实现其部分恶意目标。
(二)基于网络的恶意代码防范方法
由于恶意代码具有相当的复杂性和行为不确定性,恶意代码的防范需要多种技术综合应用,包括恶意代码监测与预警、恶意代码传播抑制、恶意代码漏洞自动修复、恶意代码阻断等。基于网络的恶意代码防范方法包括:恶意代码检测防御和恶意代码预警。
这些主要是网页恶意代码,也就是网页病毒造成的危害。而用脚本编写的蠕虫病毒的危害就更大了,它不再是针对一台计算机,而是迅速传播,对网络上所有计算机造成危害,直至网络被拖垮最后崩溃。
五、结语
在互联网信息化高速发展的今天,任何软件在编写时或多或少都有自己的漏洞,为此我们应该做到:
1)安全设置。我们上网浏览时不能抱有侥幸心理,不关心安全设置,认为恶意代码与我无缘,对最基本的浏览器安全设置问题也不关心,从而降低了系统抵御恶意代码的免疫能力,致使系统在遭遇恶意代码时不能幸免于难。
2)不浏览来历不明的网站。不要轻易去浏览一些来历不明的网站和下载相关内容。
3)软件升级,安装系统补丁。软件要及时更新版本,尤其是操作系统,一定要常“打”补丁常升级。
4)安装杀毒软件(防火墙)。安装并及时将杀毒软件(防火墙)升级至最新版本,同时开启实时监控功能并不定期杀毒,最大限度地把恶意代码拒之门外。 本文出自: http://,转自[星论文网]
java有什么特点
1、平台无关性,2.简单性,3.面对面性,4.分布式,5.健壮性,6.安全性。
工具/原料电脑方法/步骤1java语言是一个支持网络计算的面对程序设计语言,1.平台无关性是指java能在不同的平台运行,2.java语言的语法与c和c++很接近,使得大多数程序员很容易学习和使用。
23、java语言提供类,接口和继续等原语支持类之间的单继续,支持类与接口之间的实现机制(关键字为implements)。4.java语言支持lnternet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(java.net)它提供了用于网路应用编程的类库,包括ERL,ERLConnection,Socket,ServerSocket等。
35、java的强类型机制,异常处理,垃圾自动回复等是java程序健壮性的重要保证。java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。
关于java恶意代码防范和常见的恶意代码防范技术的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。