Ⅰ 木马的类型
1)破坏型
这种木马唯一的功能就是破坏并且删除文件,它们非常简单,很容易使用。能自动删除目标机上的DLL、INI、E X E 文件,所以非常危险,一旦被感染就会严重威胁到电脑的安全。不过,一般黑客不会做这种无意义的纯粹破坏的事,除非你和他有仇。
(2)密码发送型
这种木马可以找到目标机的隐藏密码,并且在受害者不知道的情况下,把它们发送到指定的信箱。有人喜欢把自己的各种密码以文件的形式存放在计算机中,认为这样方便;还有人喜欢用W i n d o w s 提供的密码记忆功能,这样就可以不必每次都输入密码了。这类木马恰恰是利用这一点获取目标机的密码,它们大多数会在每次启动Windows 时重新运行,而且多使用25 号端口上送E-mail。如果目标机有隐藏密码,这些木马是非常危险的。
(3)远程访问型
这种木马是现在使用最广泛的木马,它可以远程访问被攻击者的硬盘。只要有人运行了服务端程序,客户端通过扫描等手段知道了服务端的I P 地址,就可以实现远程控制。
(4)键盘记录木马
这种特洛伊木马非常简单。它们只做一件事情,就是记录受害者的键盘敲击并且在LOG 文件里查找密码,并且随着Windows 的启动而启动。它们有在线和离线记录这样的选项,可以分别记录你在线和离线状态下敲击键盘时的按键情况,也就是说你按过什么按键,黑客从记录中都可以知道,并且很容易从中得到你的密码等有用信息,甚至是你的信用卡账号哦! 当然,对于这种类型的木马,很多都具有邮件发送功能,会自动将密码发送到黑客指定的邮箱。
(5)DoS攻击木马
随着D o S 攻击越来越广泛的应用,被用作D o S 攻击的木马也越来越流行起来。当黑客入侵一台机器后,给他种上DoS 攻击木马,那么日后这台计算机就成为黑客DoS 攻击的最得力助手了。黑客控制的肉鸡数量越多,发动D o S 攻击取得成功的机率就越大。所以,这种木马的危害不是体现在被感染计算机上,而是体现在黑客利用它来攻击一台又一台计算机,给网络造成很大的伤害和带来损失。
还有一种类似DoS 的木马叫做邮件炸弹木马,一旦机器被感染,木马就会随机生成各种各样主题的信件,对特定的邮箱不停地发送邮件,一直到对方瘫痪、不能接受邮件为止。
(6)FTP木马
这种木马可能是最简单和古老的木马了,它的惟一功能就是打开21 端口,等待用户连接。现在新FTP 木马还加上了密码功能,这样,只有攻击者本人才知道正确的密码,从而进入对方计算机。
(7)反弹端口型木马
木马开发者在分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。与一般的木马相反,反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的被动端口;为了隐蔽起见,控制端的被动端口一般开在80,即使用户使用扫描软件检查自己的端口时,发现类似TCPUserIP:1026 Controller IP:80 ESTABLISHED 的情况,稍微疏忽一点,就会以为是自己在浏览网页,因为浏览网页都会打开80 端口的。
(8)代理木马
黑客在入侵的同时掩盖自己的足迹,谨防别人发现自己的身份是非常重要的,因此,给被控制的肉鸡种上代理木马,让其变成攻击者发动攻击的跳板就是代理木马最重要的任务。通过代理木马,攻击者可以在匿名的情况下使用Telnet,ICQ,IRC 等程序,从而隐蔽自己的踪迹。
(9)程序杀手木马
上面的木马功能虽然形形色色,不过到了对方机器上要发挥自己的作用,还要过防木马软件这一关才行。常见的防木马软件有ZoneAlarm,Norton Anti-Virus 等。程序杀手木马的功能就是关闭对方机器上运行的这类程序,让其他的木马更好地发挥作用。
Ⅱ bugtraq漏洞库 怎么查看
1、以CVE开头,如 CVE-1999-1046 这种
CVE 的英文全称是“Common Vulnerabilities & Exposures”公共漏洞和暴露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字” 。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题 。
2、以CAN开头,如 CAN-2000-0626 这种
“CAN”和“CVE”的唯一区别是前者代表了候选条目,还未经CVE编辑委员会认可,而后者则是经过认可的条目。 然后,两种类型的条目都对公众可见,条目的编号不会随着认可而改变—仅仅是“CAN”前缀替换成了“CVE”。
3、 BUGTRAQ
BugTraq是一个完整的对计算机安全漏洞(它们是什么,如何利用它们,以及如何修补它们)的公告及详细论述进行适度披露的邮件列表
4、以 CNCVE开头,如CNCVE-20000629
CNCVE就是中国(CN)的 CVE ,是CNCERT/CC(国家计算机网络应急处理协调中心)为漏洞进行编号的一个自己的标准,即国家计算机网络应急处理协调中心(CNCERT/CC)领导下,国内正在组建自己的 CVE 组织。 CNCVE的组建目的就是建设一个具有中国特色的,能为国内广大用户服务的CVE组织。国际CVE组织仅仅是描述漏洞的主要特征,统一命名漏洞。CNCVE不但包含漏洞的描述予以统一定义,还将包括漏洞的补丁、验证等措施,更方便、有用。
5、 以 CNVD开头,如 CNVD-2014-0282
CNVD是国家信息安全漏洞共享平台。是由国家计算机网络应急技术处理协调中心(简称CNCERT)联合国内重要信息系统单位、基础电信运营商、网络安全厂商、软件厂商和互联网企业建立的信息安全漏洞信息共享知识库,漏洞编号规则为CNVD-xxxx-xxxxx。
6、以CNNVD开头,如 CNNVD-201404-530
CNNVD 是中国国家信息安全漏洞库,漏洞编号规则为CNNVD-xxxxxx-xxx。是中国信息安全测评中心为切实履行漏洞分析和风险评估的职能,负责建设运维的国家信息安全漏洞库,为我国信息安全保障提供基础服务。
Ⅲ 如何给oracle打patch补丁
给软件打补丁相当于给人打预防针,对系统的稳定运行至关重要。本文详细、系统地介绍了Oracle数据库补丁的分类、安装、管理等问题。
厂商提供给用户的软件补丁的形式多为编译后的库函数,所以安装软件补丁实际上就是把这些库函数拷贝到相应目录,并在需要时进行联接操作。软件公司一般在一段时间后会把针对某一版本的所有补丁进行整理:合并融合,解决冲突,进行整体测试,并使文件拷贝和联接操作自动执行,得到一个软件补丁“包”。不同的公司使用不同的名称,现在一般计算机用户都熟悉的Windows Service Pack就是这样的补丁包。Oracle公司给出的补丁包的名称是Patch Set,安装Patch Set后的版本称Patch Set Release(PSR)。
Oracle公司对处于标准技术支持的产品不定期地提供PSR,例如在完成本文时,版本10.2的最新PSR是10.2.0.2;版本10.1的最新PSR是10.1.0.5;版本9.2的最新(也极可能是最终)PSR是9.2.0.8。
在安装最新PSR后新发现的Bug,其相应补丁当然会收录到下一个PSR中。PSR是累积型的,即下一个PSR中会包括当前PSR中所有补丁和新发现Bug的补丁。同时存在几个PSR时,只需安装最新版本一次就可以了。但是由于PSR的发行有一定间隔,如果这些Bug对用户有比较大的影响,那么 Oracle公司也会向用户公开和提供这些补丁,这些补丁被称为个别补丁(Interim Patch,one-off patch 或 Patch Set Exception)。而对于最终补丁发行版而言,由于不再有下一个PSR,所以当发现影响系统的新Bug时,个别补丁成为惟一选择。
此外,Oracle公司还定期发布安全补丁,称之为CPU(Critical Patch Updates)。安全补丁用来修复软件的易受攻击性(vulnerability)或通常说的安全漏洞。这类问题本来不属于软件错误,在正常使用中不会出现任何问题。但是别有用心的人可以通过运行非常精巧设计的代码,绕过数据库系统的安全管理机制,达到非授权存取的目的。
另外还存在一类补丁:诊断用补丁(diagnostic patch)。顾名思义,这类补丁不是用来解决问题的,而是用来寻找问题的原因的。这类补丁只在Oracle技术支持部门要求安装时,才需要安装。在得到需要的诊断信息后,应立即卸载这一补丁。
利弊及时机选择
负责管理支撑大型应用系统的数据库的DBA会容易理解安装软件补丁的代价。安装PSR需要停止数据库服务,关闭数据库,对于许多应用系统安排这样的停机时间本身就是一件比较困难的事情。事实上,更为严重的是由于安装PSR可能“引入”新的Bug,反而影响应用系统的正常运行。软件补丁本来是修正 Bug,怎么会带来新的Bug?虽然有些让人匪夷所思,但很不幸这是现实存在的。
对于每一个PSR,其中都包括了少则几百多则上千个严重Bug的修正。即便是如此,在PSR发布后,很快就又会在安装PSR后的数据库中发现一些新问题。其中一部分Bug是以前就一直存在的只是以前没有发现,而现在偶尔被发现,或者是由于PSR修正了某一错误从而将其“激活”或容易发现。但是确实有一些Bug是由这一PSR造成的,Oracle技术支持部门称其为倒退(Regression)。对于每一PSR,在metalink中有两个重要的与之有关的文档,一个是“List of fixes added in XXXX”,是这一PSR修复的Bug的清单,是一本“修复列表”;另一个是“Known issues and alerts affecting XXXX”,是安装PSR后发现的问题,可以称其为“悔过列表”。由于大型软件的复杂性,Bug几乎是不可避免的。重要的是能够及时提供信息,DBA可以结合自己系统的情况做出正确的判断。读者不必因为知道还存在着Bug,就对Oracle数据库产品失去信心。PSR修复的上千个Bug中绝大多数是在一些很少见的环境中,或者是若干个组件的复杂组合使用的情形中发生的。
如果系统在运行中出现过某种问题,由Oracle技术支持部门或第三方的专家确认原因是PSR中的某一Bug,这样就必须尽早安装;如果系统一直运行正常,并且在PSR已发现的问题中涉及的组件或功能(如Logical Standby, JVM,RAC等)在系统中并不使用,此时可以选择安装也可以选择不安装。
另一个需要考虑的因素是安装补丁的时机。上述这些考虑的一个重要前提是系统已经投入运行,担心“倒退”的Bug影响系统。如果系统还处在开发和测试阶段,不需要有任何犹豫,安装最新的PSR,并在此基础上测试应用系统是否工作正常。如果发现异常,要及时请Oracle技术支持部门确认是否新Bug,如果是请其提供个别补丁。目的就是在一个尽可能完善稳定的数据库平台上测试应用系统。我们可以把这种安装补丁的策略概括为“补丁补新不补旧”。
以上都是针对PSR的安装,对于个别补丁,由于补丁修复的Bug单一,容易判断是否需要安装。需要注意的是,如果在当前PSR之上安装了若干个个别补丁,那么在下一个PSR发布后,在安装下一个PSR之前,需要卸载所有个别补丁。为便于管理,现在Oracle技术支持部门要求必须使用工具 opatch安装管理个别工具,而尽量避免手动拷贝文件等操作。
最后是安全补丁安装的判断。虽然安全漏洞这个词看上去让人觉得非常严重,但是还要冷静综合分析这些漏洞在系统中的危害程度。事实上,不安装安全补丁的危险性可能远远小于始终不渝地使用scott/tiger这样人人都知道的用户名和口令的“标准缺省”做法。
安装PSR
使用oui工具安装PSR时只需要用鼠标做几个选择就可以进入自动执行的阶段,操作过程本身非常简单。但是如果要求必须一次安装成功;要求必须在凌晨2点到4点这个有限的停机时间段完成操作;要求安装过程不出差错,以后出现问题时能够完全排除此次操作失误的可能性,那么就需要在启动oui之前做一些准备工作。
1. 收集信息
有关PSR的信息中,一个最重要的文档就是软件补丁说明,这个文件相当于技术手册中的安装指南和发行说明。文件本身包含在下载的软件补丁文件之中,文件名是patchnote.htm或README.html。需要注意的一个问题是在软件补丁文件之中找到的这一Patch Set Notes可能不是最新版,可以根据文件内的提示信息在metalink中检索最新版。
另外两个重要文件就是前面已经提及的“修复列表”和“悔过列表”,相对于“修复列表”更应该仔细阅读“悔过列表”中的每一项内容。另外,在Patch Set Notes的已知问题(Known Issues)一节内列出了安装PSR后出现的一些问题。
除去这三个主要文件外,还应在metalink中检索,寻找是否还有其他涉及这一PSR的技术文章,寻找其他用户在安装这一PSR时或安装后遇到问题时所发的救助的帖子,前车之鉴更应重视。
2. 做出判断
在认真阅读收集到的文章之后,根据自己系统的实际情况,做出是立即安装PSR,或是等待下一PSR的决定。如果是暂缓安装,则要记录原因,以便以后跟踪Bug的修复进程。
3. 制订实施计划
在决定安装PSR后,需要制订一个实施计划。在计划中不仅要包括正常的操作步骤,更要考虑在出现意外时的应急处理(如果安装PSR失败,则在正常应用开始时间之前,要恢复系统到安装之前的状态)。如果可能,在对正式系统开始实施之前,应在测试系统中进行演练和应用处理的测试,保证在安装PSR后不会影响应用系统的运行。
安装PSR的计划大致有以下几个部分:停止数据库服务关闭数据库;备份DBMS软件和数据库以备恢复之用;安装PSR软件;更新数据库数据字典升级PSR版本;正常启动数据库开始数据库服务。
看似简单的关闭数据库的操作,在系统构成复杂时也会变得不容易。另外,如果夜间作业时间不允许在完成数据库完全备份之后再安装PSR,则安装PSR的日期应该选择在例行的数据库完全备份的下一个晚上,只备份重做日志。
在安装PSR之前备份DBMS软件的目的是,由于安装PSR会对许多程序和库函数进行更新,如果安装PSR中途失败(虽然可能性非常小),有可能造成DBMS软件出现不一致。另外一种可能的情形是,在安装PSR,更新数据字典后,测试应用系统时,出现了某种异常,原因不明,最终决定放弃PSR。如果操作之前没有备份,则此时只有重新安装软件一种选择(PSR不同于完整软件安装,在oui中无法单独卸载PSR软件)。
对文件、目录和文件系统的备份,最简单的方式可以使用cp、tar、mp等命令完成。如果希望缩短文件拷贝时间,可以考虑分区备份的方法。分区备份常用的命令是dd。但是,分区拷贝比文件拷贝速度快的前提是良好的分区设计:Oracle软件单独占一个大小适中(如4GB)的分区,这样扇区拷贝才会体现优势,这也就是为什么在安装软件时,Oracle建议单独使用一个分区安装软件的原因之一。
在制定实施计划时,应认真阅读Patch Set Notes中有关操作前准备工作一节。在这节内会介绍对于一些特殊系统构成,如果你的系统属于文档中提到的构成,一定要首先阅读文内提示的相关技术文章,找到正确的安装步骤。
使用oui, PSR软件安装完成后,一定不要忘记更新数据字典这一步骤。如果在这一ORACLE_HOME下生成了多个数据库,则每个数据库都必须更新数据字典。
. 实施操作
制订一个详细的计划后,实施操作就可以“照本宣科”,是一个简单的体力劳动。要认识到“忙中出错”的概率远比“急中生智”大得多,操作时尽量减少失误的可能性。例如,需要执行的复杂命令,尽可能从一个文件拷贝到终端执行,而不要现场输入。另外,在实施过程中,要记录各个阶段实际的执行时间,以供以后制订类似计划时参考。
5. 检查操作结果并记录备案
执行一个操作,操作是否成功,一定要进行检查,不能简单认为没有出错信息就是成功。要知道验证的方法。除去极个别极费时间的验证(分区备份的内容是否可以成功恢复系统,必须恢复分区,启动数据库,测试应用系统后才能确认),其余操作都应进行验证。所有屏幕输出信息和日志文件都应保留,作为安装报告的附件提交给上级或客户。
在屏幕输出或日志文件中出现异常/错误信息时,应即时分析,决定马上采取的措施。出现严重错误时,可能需要重新执行某一SQL程序,或者重新安装PSR。所以在制订实施计划时应在时间上留出异常情况处理的时间。
下面给出一个在Linux平台上安装10.1的PSR的实例,给从未安装PSR的读者有一个感性认识。
操作系统是RHEL AS4.0 Update3,Oracle的当前版本是10.1.2。在metalink中检索,找到10.1版的最新PSR10.1.0.5。下载压缩文件。在压缩文件中找到Patch Set Notes,该文档的完成日期是2006年1月。而按照文档内的提示在metalink中检索得到的此文档的最新版本完成日期是2006年4月。使用文件比较工具进行比较,两个版本没有实质性差别,只有语句措词的修改,但是养成总是检索最新文档的习惯有益无害。
根据Patch Set Notes中的说明,有一些特殊系统构成需要额外的步骤,本例中由于全部没有涉及到,所以可以按标准步骤执行。
另外,检查“Known issues and alerts affecting 10.1.0.5”文档后,发现10.1.0.5引入的影响最大的一个Bug是执行SELECT MAX()在某些特定条件下结果不正确。而这一Bug可以通过设置事件(event)关闭FIRST ROW优化而避免。最后的结论是这一BUG不会对本系统有影响,可以安装PSR10.1.0.5。
1. 检查数据库表空间和初始化参数是否需要调整。
System表空间要求有一定未使用空间:初始化参数SHARED_POOL_SIZE 和 JAVA_POOL_SIZE不能低于最小值150MB。
2. 关闭数据库,停止listener和agent等进程。
3. 解压缩下载文件至某一目录,执行oui。
在压缩文件中附带的oui的版本要比已经安装的版本高,应总是使用新版本的oui。在oui窗口中,要求选择本次安装的软件的位置,正确的位置是解压缩目录下的子目录Disk1/stage/, 选中procts.xml即可开始文件拷贝。
要注意窗口中会出现本次安装的日志文件的文件路径和文件名。文件的位置是在Oracle的inventory所在目录的子目录logs中,文件名由前缀InstallActions和安装日期时间组成,如: InstallActions2006-08-30-11-32-48AM.log。
正常结束后,退出oui。打开日志文件,检索是否出现error 或“ORA-”的错误信息。本次安装产生的日志文件内,没有任何此类的信息,表明PSR软件安装成功。如果此时再次启动oui,点击“已安装软件”,则可以看到在原有的10.1.0.2软件之下,新出现了10.1.0.5一项,这也证实PSR软件安装成功。
4.更新数据库数据字典
更新数据字典时,必须以特殊的升级方式打开数据库。
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catpatch.sql
执行结束后,关闭重定向:
SQL> SPOOL OFF
打开文件patch.log检查是否有错误“ORA-”。(这一文件在启动sqlplus时的当前目录中,当然也可以在“SPOOL patch.log”语句中显式指定文件路径。)如果出现错误要分析原因,在解决问题后,需要再次执行catpatch.sql程序。
更新数据字典时,由于对某些PL/SQL包删除后又重新生成,造成相关PL/SQL包的状态为异常(invalid)。在以后调用这些包时,检测到其状态为非法,会自动执行编译命令,使状态成为正常(valid)。虽然不会出错,但会造成个别处理第一次执行时变慢。显然,与其留到应用系统运行时再一个个编译,不如之前集中一次重编译所有异常包。
SQL> SHUTDOWN
SQL> STARTUP
SQL> @?/rdbms/admin/utlrp.sql
最后,根据Known Issues中的指示,完成与本系统有关的操作。例如,修改Pro*C的配置文件。这里执行一个修改文件存取权限的“后操作”,以便非同组用户和程序可以存取客户端工具和库函数。
$ cd $ORACLE_HOME/install
$ ./ changePerm.sh
个别补丁管理工具opatch
如前所述,在发布一个PSR后发现的新BUG,只能把其补丁收入到下一个PSR中。如果对数据库有实质性影响,则这一补丁以个别补丁的形式向用户提供。个别补丁是与某一个特定的PSR关联,是安装在这一PSR之上的。另外,如同其名字表明的,个别补丁只是单一Bug的补丁,不会包含其他个别补丁,即不是累积型的。
在9.2版之前,安装个别补丁的操作完全是手工的。这种手工方式的缺点不仅在于加重DBA的负担,容易造成操作失误,更严重的是无法对已安装的个别补丁进行管理。
为解决手工方式的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch。opatch使用一个称为 inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch 命令完成,冲突检测也由opatch在安装时自动完成;提供列表命令可以很方便得到已安装个别补丁的信息。
10g(10.1和10.2)版本中,opatch作为一个标准工具,在软件安装时自动安装。(安装在$ORACLE_HOME/OPatch 下。)而对于9.2版,需要从metalink下载opatch。无论数据库是哪一个版本,系统中是否已经安装opatch,在使用之前,应从 metalink下载最新版本的opatch。很遗憾,由于系统实现的问题,10.2使用的opatch与之前版本(10.1和9.2)使用的 opatch不兼容,不能混用,这一点必须注意。
opatch是使用perl编写的脚本程序(其中也使用JAVA API)。编程使用的perl版本是5.6版,虽然在5.6之前的版本中也可运行,但应尽可能安装5.6或以上的版本的perl。对于DBA来说一个好消息是,如果安装9.2版软件时保留了HTTP服务器,则在$ORACLE_HOME/Apache下会自动安装perl。(10g会自动安装配置perl 和opatch。)
opatch命令格式为:
opatch < command > [< command_options >] [ -h[elp] ]
命令有:apply(安装个别补丁)、rollback(卸载个别补丁)、lsinventory(对inventory进行列表)、query (显示某一个别补丁的详细信息)、version(显示opatch版本信息)。在opatch目录下,有用户使用指南文件(Users_Guide.txt),其中有详细的命令格式和使用示例,读者可以参考。Opatch执行操作时,除在屏幕输出结果外,还生成日志文件。日志文件的路径和文件名格式如下:
$ORACLE_HOME/.patch_storage/< patch_id >/< action >-< patch_id >_< mm-dd-yyyy_hh-mi-ss >.log
其中“patch_id”是Oracle技术支持部门为个别补丁分配的编号。
4. 个别补丁安装实例
沿用安装PSR实例中的环境。在安装PSR10.1.0.5后,检索metalink,发现若干在其之上的个别补丁。选择其中之一安装。
个别补丁Patch 4518443修复BUG4518443,这一BUG的主要问题是TNS LISTENER在注册ONS(Oracle Notification Services)的同时如果创建子进程,那么LISTENER会挂起(HANGUP)。
安装时,首先,从metalink下载补丁的压缩文件p4518443_10105_LINUX.zip。将此文件解压缩至某一目录中。解压缩后,这一补丁的所有文件都在子目录4518443下,目录名就是个别补丁的补丁号,opatch依据目录名获得信息,所以一定不要重命名子目录。
然后,在终端窗口中,执行cd命令移动到4518443子目录中,执行以下命令:
$ $ORACLE_HOME/OPatch/opatch apply
对inventory列表,确认安装操作:
$ $ORACLE_HOME/OPatch/opatch lsinventory
执行卸载命令时,也必须使4518443子目录成为当前目录。其中,Rollback命令需要两个参数:-id给出个别补丁号;-ph 给出个别补丁解压缩后的路径。
$ $ORACLE_HOME/OPatch/opatch rollback -id 4518443 -ph /…/4518443
随后再对inventory列表,则会看到这一个别补丁已经被移去。
4. 使用opatch显示已安装的版本信息
不需要启动数据库,执行加选项的对inventory的列表命令,可以得到已安装的软件的各个组件的详细版本信息。
$ $ORACLE_HOME/OPatch/opatch lsinventory -detail
安全补丁CPU
一个CPU内包含了对多个安全漏洞的修复,并且也包括相应必需的非安全漏洞的补丁。CPU是累积型的,只要安装最新发布的CPU即可,其中包括之前发布的所有CPU的内容。事实上,在CPU之前的安全漏洞修改除去个别例外也被包括在CPU中。Oracle公司只对处于标准技术支持和延长支持期间的产品提供CPU更新,对处于维持支持范围的产品不提供新的CPU。(对于9.2以前的版本,只对处于ECS和EMS期间的版本提供CPU更新。)一般对当前补丁发行版及前一个版本提供CPU,但也有只限于当前补丁发行版的例外情形。也就是说,一般需要先安装最新PSR后才可能安装CPU。由于是累积型的定期发布,所以对于某一平台的某一版本,如果两次CPU发布期间没有发现新的安全漏洞,则新发布的CPU与前一版本完全相同。
Ⅳ 如何防范计算机网络攻击
一、计算机网络攻击的常见手法
互联网发展至今,除了它表面的繁荣外,也出现了一些不良现象,其中黑客攻击是最令广大网民头痛的事情,它是计算机网络安全的主要威胁。下面着重分析黑客进行网络攻击的几种常见手法及其防范措施。
(一)利用网络系统漏洞进行攻击
许多网络系统都存在着这样那样的漏洞,这些漏洞有可能是系统本身所有的,如WindowsNT、UNIX等都有数量不等的漏洞,也有可能是由于网管的疏忽而造成的。黑客利用这些漏洞就能完成密码探测、系统入侵等攻击。
对于系统本身的漏洞,可以安装软件补丁;另外网管也需要仔细工作,尽量避免因疏忽而使他人有机可乘。
(二)通过电子邮件进行攻击
电子邮件是互联网上运用得十分广泛的一种通讯方式。黑客可以使用一些邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪,这一点和后面要讲到的“拒绝服务攻击(DDoS)比较相似。
对于遭受此类攻击的邮箱,可以使用一些垃圾邮件清除软件来解决,其中常见的有SpamEater、Spamkiller等,Outlook等收信软件同样也能达到此目的。
(三)解密攻击
在互联网上,使用密码是最常见并且最重要的安全保护方法,用户时时刻刻都需要输入密码进行身份校验。而现在的密码保护手段大都认密码不认人,只要有密码,系统就会认为你是经过授权的正常用户,因此,取得密码也是黑客进行攻击的一重要手法。
取得密码也还有好几种方法,一种是对网络上的数据进行监听。因为系统在进行密码校验时,用户输入的密码需要从用户端传送到服务器端,而黑客就能在两端之间进行数据监听。
但一般系统在传送密码时都进行了加密处理,即黑客所得到的数据中不会存在明文的密码,这给黑客进行破解又提了一道难题。这种手法一般运用于局域网,一旦成功攻击者将会得到很大的操作权益。
另一种解密方法就是使用穷举法对已知用户名的密码进行暴力解密。这种解密软件对尝试所有可能字符所组成的密码,但这项工作十分地费时,不过如果用户的密码设置得比较简单,如“12345”、“ABC”等那有可能只需一眨眼的功夫就可搞定。
为了防止受到这种攻击的危害,用户在进行密码设置时一定要将其设置得复杂,也可使用多层密码,或者变换思路使用中文密码,并且不要以自己的生日和电话甚至用户名作为密码,因为一些密码破解软件可以让破解者输入与被破解用户相关的信息,如生日等,然后对这些数据构成的密码进行优先尝试。另外应该经常更换密码,这样使其被破解的可能性又下降了不少。
(四)后门软件攻击
后门软件攻击是互联网上比较多的一种攻击手法。Back Orifice2000、冰河等都是比较着名的特洛伊木马,它们可以非法地取得用户电脑的超级用户级权利,可以对其进行完全的控制,除了可以进行文件操作外,同时也可以进行对方桌面抓图、取得密码等操作。
这些后门软件分为服务器端和用户端,当黑客进行攻击时,会使用用户端程序登陆上已安装好服务器端程序的电脑,这些服务器端程序都比较小,一般会随附带于某些软件上。有可能当用户下载了一个小游戏并运行时,后门软件的服务器端就安装完成了,而且大部分后门软件的重生能力比较强,给用户进行清除造成一定的麻烦。
当在网上下载数据时,一定要在其运行之前进行病毒扫描,并使用一定的反编译软件,查看来源数据是否有其他可疑的应用程序,从而杜绝这些后门软件。
(五)拒绝服务攻击
互联网上许多大网站都遭受过此类攻击。实施拒绝服务攻击(DDoS)的难度比较小,但它的破坏性却很大。它的具体手法就是向目的服务器发送大量的数据包,几乎占取该服务器所有的网络宽带,从而使其无法对正常的服务请求进行处理,而导致网站无法进入、网站响应速度大大降低或服务器瘫痪。
现在常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。它们的繁殖能力极强,一般通过Microsoft的Outlook软件向众多邮箱发出带有病毒的邮件,而使邮件服务器无法承担如此庞大的数据处理量而瘫痪。
对于个人上网用户而言,也有可能遭到大量数据包的攻击使其无法进行正常的网络操作,所以大家在上网时一定要安装好防火墙软件,同时也可以安装一些可以隐藏IP地址的程序,怎样能大大降低受到攻击的可能性。
-----------------------------------------------------------------------------
二、计算机网络安全的防火墙技术
计算机网络安全是指利用网络管理控制和技术措施,保证在一个网络环境里,信息数据的保密性、完整性和可使用性受到保护。网络安全防护的根本目的,就是防止计算机网络存储、传输的信息被非法使用、破坏和篡改。防火墙技术正是实现上述目的一种常用的计算机网络安全技术。
(一)防火墙的含义
所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,防止他们更改、拷贝、毁坏你的重要信息。
(二)防火墙的安全性分析
防火墙对网络的安全起到了一定的保护作用,但并非万无一失。通过对防火墙的基本原理和实现方式进行分析和研究,作者对防火墙的安全性有如下几点认识:
1.只有正确选用、合理配置防火墙,才能有效发挥其安全防护作用
防火墙作为网络安全的一种防护手段,有多种实现方式。建立合理的防护系统,配置有效的防火墙应遵循这样四个基本步骤:
a.风险分析;
b.需求分析;
c.确立安全政策;
d.选择准确的防护手段,并使之与安全政策保持一致。
然而,多数防火墙的设立没有或很少进行充分的风险分析和需求分析,而只是根据不很完备的安全政策选择了一种似乎能“满足”需要的防火墙,这样的防火墙能否“防火”还是个问题。
2.应正确评估防火墙的失效状态
评价防火墙性能如何,及能否起到安全防护作用,不仅要看它工作是否正常,能否阻挡或捕捉到恶意攻击和非法访问的蛛丝马迹,而且要看到一旦防火墙被攻破,它的状态如何? 按级别来分,它应有这样四种状态:
a.未受伤害能够继续正常工作;
b.关闭并重新启动,同时恢复到正常工作状态;
c.关闭并禁止所有的数据通行;
d. 关闭并允许所有的数据通行。
前两种状态比较理想,而第四种最不安全。但是许多防火墙由于没有条件进行失效状态测试和验证,无法确定其失效状态等级,因此网络必然存在安全隐患。
3.防火墙必须进行动态维护
防火墙安装和投入使用后,并非万事大吉。要想充分发挥它的安全防护作用,必须对它进行跟踪和维护,要与商家保持密切的联系,时刻注视商家的动态。因为商家一旦发现其产品存在安全漏洞,就会尽快发布补救(Patch) 产品,此时应尽快确认真伪(防止特洛伊木马等病毒),并对防火墙软件进行更新。
4.目前很难对防火墙进行测试验证
防火墙能否起到防护作用,最根本、最有效的证明方法是对其进行测试,甚至站在“黑客”的角度采用各种手段对防火墙进行攻击。然而具体执行时难度较大,主要原因是:
a.防火墙性能测试目前还是一种很新的技术,尚无正式出版刊物,可用的工具和软件更是寥寥无几。据了解目前只有美国ISS公司提供有防火墙性能测试的工具软件。
b.防火墙测试技术尚不先进,与防火墙设计并非完全吻合,使得测试工作难以达到既定的效果。
c.选择“谁”进行公正的测试也是一个问题。
可见,防火墙的性能测试决不是一件简单的事情,但这种测试又相当必要,进而提出这样一个问题:不进行测试,何以证明防火墙安全?
5.非法攻击防火墙的基本“招数”
a. IP地址欺骗攻击。许多防火墙软件无法识别数据包到底来自哪个网络接口,因此攻击者无需表明进攻数据包的真正来源,只需伪装IP地址,取得目标的信任,使其认为来自网络内部即可。IP地址欺骗攻击正是基于这类防火墙对IP地址缺乏识别和验证的机制而得成的。
b.破坏防火墙的另一种方式是攻击与干扰相结合。也就是在攻击期间使防火墙始终处于繁忙的状态。防火墙过分的繁忙有时会导致它忘记履行安全防护的职能,处于失效状态。
c.防火墙也可能被内部攻击。因为安装了防火墙后,随意访问被严格禁止了, 这样内部人员无法在闲暇的时间通过Telnet浏览邮件或使用FTP向外发送信息,个别人会对防火墙不满进而可能攻击它、破坏它,期望回到从前的状态。这里,攻击的目标常常是防火墙或防火墙运行的操作系统,因此不仅涉及网络安全,还涉及主机安全问题。
----------------------------------------------------------------------------
(三)防火墙的基本类型
实现防火墙的技术包括四大类:网络级防火墙(也叫包过滤型防火墙)、应用级网关、电路级网关和规则检查防火墙。
1.网络级防火墙
一般是基于源地址和目的地址、应用或协议以及每个IP包的端口来作出通过与否的判断。一个路由器便是一个“传统”的网络级防火墙,大多数的路由器都能通过检查这些信息来决定是否将所收到的包转发,但它不能判断出一个IP包来自何方,去向何处。
先进的网络级防火墙可以判断这一点,它可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。
如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。
下面是某一网络级防火墙的访问控制规则:
(1)允许网络123.1.0使用FTP(21口)访问主机 ;
(2)允许IP地址为 和 的用户Telnet (23口)到主机 上;
(3)允许任何地址的E-mail(25口)进入主机 ;
(4)允许任何WWW数据(80口)通过;
(5)不允许其他数据包进入。
网络级防火墙简洁、速度快、费用低,并且对用户透明,但是对网络的保护很有限,因为它只检查地址和端口,对网络更高协议层的信息无理解能力。
2.规则检查防火墙
该防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。它同包过滤防火墙一样, 规则检查防火墙能够在OSI网络层上通过IP地址和端口号,过滤进出的数据包。它也象电路级网关一样,能够检查SYN和ACK标记和序列数字是否逻辑有序。
当然它也象应用级网关一样, 可以在OSI应用层上检查数据包的内容,查看这些内容是否能符合公司网络的安全规则。规则检查防火墙虽然集成前三者的特点,但是不同于一个应用级网关的是,它并不打破客户机/服务机模式来分析应用层的数据, 它允许受信任的客户机和不受信任的主机建立直接连接。
规则检查防火墙不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据,这些算法通过已知合法数据包的模式来比较进出数据包,这样从理论上就能比应用级代理在过滤数据包上更有效。
目前在市场上流行的防火墙大多属于规则检查防火墙,因为该防火墙对于用户透明,在OSI最高层上加密数据,不需要你去修改客户端的程序,也不需对每个需要在防火墙上运行的服务额外增加一个代理。
如现在最流行的防火墙之一OnTechnology软件公司生产的OnGuard和CheckPoint软件公司生产的FireWall-1防火墙都是一种规则检查防火墙。
从趋势上看,未来的防火墙将位于网络级防火墙和应用级防火墙之间,也就是说,网络级防火墙将变得更加能够识别通过的信息,而应用级防火墙在目前的功能上则向“透明”、“低级”方面发展。最终防火墙将成为一个快速注册稽查系统,可保护数据以加密方式通过,使所有组织可以放心地在节点间传送数据。
(四)防火墙的配置
防火墙配置有三种:Dual-homed方式、Screened-host方式和Screened-subnet方式。Dual-homed方式最简单。 Dual-homedGateway放置在两个网络之间,这个Dual-omedGateway又称为bastionhost。
这种结构成本低,但是它有单点失败的问题。这种结构没有增加网络安全的自我防卫能力,而它往往是受“黑客”攻击的首选目标,它自己一旦被攻破,整个网络也就暴露了。
Screened-host方式中的Screeningrouter为保护Bastionhost的安全建立了一道屏障。它将所有进入的信息先送往Bastionhost,并且只接受来自Bastionhost的数据作为出去的数据。
这种结构依赖Screeningrouter和Bastionhost,只要有一个失败,整个网络就暴露了。Screened-subnet包含两个Screeningrouter和两个Bastionhost。 在公共网络和私有网络之间构成了一个隔离网,称之为”停火区”(DMZ,即DemilitarizedZone),Bastionhost放置在”停火区”内。这种结构安全性好,只有当两个安全单元被破坏后,网络才被暴露,但是成本也很昂贵。
----------------------------------------------------------------------------
(四)防火墙的安全措施
各种防火墙的安全性能不尽相同。这里仅介绍一些一般防火墙的常用安全措施:
1.防电子欺骗术
防电子欺骗术功能是保证数据包的IP地址与网关接口相符,防止通过修改IP地址的方法进行非授权访问。还应对可疑信息进行鉴别,并向网络管理员报警。
2.网络地址转移
地址转移是对Internet隐藏内部地址,防止内部地址公开。这一功能可以克服IP寻址方式的诸多限制,完善内部寻址模式。把未注册IP地址映射成合法地址,就可以对Internet进行访问。
3.开放式结构设计
开放式结构设计使得防火墙与相关应用程序和外部用户数据库的连接相当容易,典型的应用程序连接如财务软件包、病毒扫描、登录分析等。
4.路由器安全管理程序
它为Bay和Cisco的路由器提供集中管理和访问列表控制。
(六)传统防火墙的五大不足
1.无法检测加密的Web流量
如果你正在部署一个光键的门户网站,希望所有的网络层和应用层的漏洞都被屏蔽在应用程序之外。这个需求,对于传统的网络防火墙而言,是个大问题。
由于网络防火墙对于加密的SSL流中的数据是不可见的,防火墙无法迅速截获SSL数据流并对其解密,因此无法阻止应用程序的攻击,甚至有些网络防火墙,根本就不提供数据解密的功能。
2、普通应用程序加密后,也能轻易躲过防火墙的检测
网络防火墙无法看到的,不仅仅是SSL加密的数据。对于应用程序加密的数据,同样也不可见。在如今大多数网络防火墙中,依赖的是静态的特征库,与入侵监测系统(IDS,Intrusion Detect System)的原理类似。只有当应用层攻击行为的特征与防火墙中的数据库中已有的特征完全匹配时,防火墙才能识别和截获攻击数据。
但如今,采用常见的编码技术,就能够地将恶意代码和其他攻击命令隐藏起来,转换成某种形式,既能欺骗前端的网络安全系统,又能够在后台服务器中执行。这种加密后的攻击代码,只要与防火墙规则库中的规则不一样,就能够躲过网络防火墙,成功避开特征匹配。
3、对于Web应用程序,防范能力不足
网络防火墙于1990年发明,而商用的Web服务器,则在一年以后才面世。基于状态检测的防火墙,其设计原理,是基于网络层TCP和IP地址,来设置与加强状态访问控制列表(ACLs,Access Control Lists)。在这一方面,网络防火墙表现确实十分出色。
近年来,实际应用过程中,HTTP是主要的传输协议。主流的平台供应商和大的应用程序供应商,均已转移到基于Web的体系结构,安全防护的目标,不再只是重要的业务数据。网络防火墙的防护范围,发生了变化。
对于常规的企业局域网的防范,通用的网络防火墙仍占有很高的市场份额,继续发挥重要作用,但对于新近出现的上层协议,如XML和SOAP等应用的防范,网络防火墙就显得有些力不从心。
由于体系结构的原因,即使是最先进的网络防火墙,在防范Web应用程序时,由于无法全面控制网络、应用程序和数据流,也无法截获应用层的攻击。由于对于整体的应用数据流,缺乏完整的、基于会话(Session)级别的监控能力,因此很难预防新的未知的攻击。
4、应用防护特性,只适用于简单情况
目前的数据中心服务器,时常会发生变动,比如:
★ 定期需要部署新的应用程序;
★ 经常需要增加或更新软件模块;
★ QA们经常会发现代码中的bug,已部署的系统需要定期打补丁。
在这样动态复杂的环境中,安全专家们需要采用灵活的、粗粒度的方法,实施有效的防护策略。
虽然一些先进的网络防火墙供应商,提出了应用防护的特性,但只适用于简单的环境中。细看就会发现,对于实际的企业应用来说,这些特征存在着局限性。在多数情况下,弹性概念(proof-of-concept)的特征无法应用于现实生活中的数据中心上。
比如,有些防火墙供应商,曾经声称能够阻止缓存溢出:当黑客在浏览器的URL中输入太长数据,试图使后台服务崩溃或使试图非法访问的时候,网络防火墙能够检测并制止这种情况。
细看就会发现,这些供应商采用对80端口数据流中,针对URL长度进行控制的方法,来实现这个功能的。
如果使用这个规则,将对所有的应用程序生效。如果一个程序或者是一个简单的Web网页,确实需要涉及到很长的URL时,就要屏蔽该规则。
网络防火墙的体系结构,决定了网络防火墙是针对网络端口和网络层进行操作的,因此很难对应用层进行防护,除非是一些很简单的应用程序。
5、无法扩展带深度检测功能
基于状态检测的网络防火墙,如果希望只扩展深度检测(deep inspection)功能,而没有相应增加网络性能,这是不行的。
真正的针对所有网络和应用程序流量的深度检测功能,需要空前的处理能力,来完成大量的计算任务,包括以下几个方面:
★ SSL加密/解密功能;
★ 完全的双向有效负载检测;
★ 确保所有合法流量的正常化;
★ 广泛的协议性能;
这些任务,在基于标准PC硬件上,是无法高效运行的,虽然一些网络防火墙供应商采用的是基于ASIC的平台,但进一步研究,就能发现:旧的基于网络的ASIC平台对于新的深度检测功能是无法支持的。
三、结束语
由于互联网络的开放性和通信协议的安全缺陷,以及在网络环境中数据信息存储和对其访问与处理的分布性特点,网上传输的数据信息很容易泄露和被破坏,网络受到的安全攻击非常严重,因此建立有效的网。
Ⅳ 木马和病毒有什么区别吗,补丁又是什么东西啊
电脑病毒
电脑病毒是什么东西呢?是否会像其他病毒,如“H5N1”、“O-157大肠杆菌”、“HIV”一样对人体造成伤害呢?电脑病毒是会造成伤害,但不是对你造成伤害,而是对你的电脑系统造成一定的伤害。其实,电脑病毒是一段非常小的(通常只有几KB)会不断自我复制、隐藏和感染其他程序的程序码。它在我们的电脑里执行,并且导致不同的影响。它可把电脑里的程序或数据消失或改变。电脑病毒与其它威胁不同,它可以不需要人们的介入就能由程序或系统传播出去。“程序码”包含一套不必要的指令,当执行时,它把自己传播到其它的电脑系统、程序里。首先它把自己拷贝(Copy)在一个没有感染的程序或文件里,当这个程序或文件执行任何指令时,这电脑病毒都会包括在指令里。根据病毒创造者的动机,这些指令可以做出任何事情,其中包括显示一段信息、删除文件或精细地改变数据,甚至破坏电脑的硬件。有些情况下,电脑病毒并没有破坏指令的企图,但取而代之就是病毒占据磁盘空间、CPU时间或网络的连接。
电脑病毒----什么是电脑病毒
从广义上定义,凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。依据此定义,诸如逻辑炸弹,蠕虫等均可称为计算机病毒。
1994年2月18日,我国正式颁布实施了《中华人民共和国计算机信息系统安全保护条例》,在《条例》第二十八条中明确指出:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。”此定义具有法律性、权威性。
自从Internet盛行以来,含有Java和ActiveX技术的网页逐渐被广泛使用,一些别有用心的人于是利用Java和ActiveX的特性来撰写病毒。以Java病毒为例,Java病毒并不能破坏储存媒介上的资料,但若你使用浏览器来浏览含有Java病毒的网页,Java病毒就可以强迫你的Windows不断的开启新窗口,直到系统资源被耗尽,而你也只有重新启动。
所以在Internet出现后,计算机病毒就应加入只要是对使用者造成不便的程序代码,就可以被归类为计算机病毒。
下面我们谈一谈病毒。您以前是否听说过电脑病毒?不要一听到病毒就浑身发抖,只要了解了病毒,对付起来还是很容易的。
电脑病毒与我们平时所说的医学上的生物病毒是不一样的,它实际上是一种电脑程序,只不过这种程序比较特殊,它是专门给人们捣乱和搞破坏的,它寄生在其它文件中,而且会不断地自我复制并传染给别的文件,没有一点好作用。 电脑病毒发作了都会有哪些症状呢?
电脑染上病毒后,如果没有发作,是很难觉察到的。但病毒发作时就很容易感觉出来:
有时电脑的工作会很不正常,有时会莫名其妙的死机,有时会突然重新启动,有时程序会干脆运行不了。
电脑染毒后表现为:工作很不正常,莫名其妙死机,突然重新启动,程序运行不了。有的病毒发作时满屏幕会下雨,有的屏幕上会出现毛毛虫等,甚至在屏幕上出现对话框,这些病毒发作时通常会破坏文件,是非常危险的,反正只要电脑工作不正常,就有可能是染上了病毒。病毒所带来的危害更是不言而喻了。而且,以前人们一直以为,病毒只能破坏软件,对硬件毫无办法,可是CIH病毒打破了这个神话,因为它竟然在某种情况下可以破坏硬件!
电脑病毒和别的程序一样,它也是人编写出来的。既然病毒也是人编的程序,那就会有办法来对付它。最重要的是采取各种安全措施预防病毒,不给病毒以可乘之机。另外,就是使用各种杀毒程序了。它们可以把病毒杀死,从电脑中清除出去。
常用杀毒程序有:KV300,KILL系列,瑞星,PC CILLIN,NAV,MCAFEE等。
电脑病毒一般可以分成下列各类:
1.引导区电脑病毒
2. 文件型电脑病毒
3. 复合型电脑病毒
4.宏病毒
5. 特洛伊/特洛伊木马
6.蠕虫
其他电脑病毒/恶性程序码的种类和制作技巧
引导区电脑病毒
1.引导区电脑病毒是如此传播:隐藏在磁盘内,在系统文件启动以前电脑病毒已驻留在内存内。这样一来,电脑病毒就可完全控制DOS中断功能,以便进行病毒传播和破坏活动。那些设计在DOS或Windows3.1上执行的引导区病毒是不能够在新的电脑操作系统上传播,所以这类的电脑病毒已经比较罕见了。 Michelangelo是一种引导区病毒。它会感染引导区内的磁盘及硬盘内的MBR。当此电脑病毒常驻内存时,便会感染所有读取中及没有写入保护的磁盘。除此以外,Michelangelo会于3月6日当天删除受感染电脑内的所有文件。
2.文件型电脑病毒,又称寄生病毒,通常感染执行文件(.EXE),但是也有些会感染其它可执行文件,如DLL,SCR等等...每次执行受感染的文件时,电脑病毒便会发作:电脑病毒会将自己复制到其他可执行文件,并且继续执行原有的程序,以免被用户所察觉。
CIH会感染Windows95/98的.EXE文件,并在每月的26号发作日进行严重破坏。于每月的26号当日,此电脑病毒会试图把一些随机资料覆写在系统的硬盘,令该硬盘无法读取原有资料。此外,这病毒又会试图破坏FlashBIOS内的资料。
3.宏病毒 与其他电脑病毒类型的分别是宏病毒是攻击数据文件而不是程序文件。
宏病毒专门针对特定的应用软件,可感染依附于某些应用软件内的宏指令,它可以很容易透过电子邮件附件、软盘、文件下载和群组软件等多种方式进行传播如MicrosoftWord和Excel。宏病毒采用程序语言撰写,例如VisualBasic或CorelDraw,而这些又是易于掌握的程序语言。宏病毒最先在1995年被发现,在不久后已成为最普遍的电脑病毒。 JulyKiller这个电脑病毒通过VB宏在MSWord97文件中传播。一但打开染毒文件,这病毒首先感染共用范本(normal.dot),从而导致其它被打开的文件一一遭到感染。此电脑病毒的破坏力严重。如果当月份是7月时,这病毒就会删除c:\的所有文件。
4. 特洛伊或特洛伊木马是一个看似正当的程序,但事实上当执行时会进行一些恶性及不正当的活动。特洛伊可用作黑客工具去窃取用户的密码资料或破坏硬盘内的程序或数据。与电脑病毒的分别是特洛伊不会复制自己。它的传播技俩通常是诱骗电脑用户把特洛伊木马植入电脑内,例如通过电子邮件上的游戏附件等。 BackOrifice特洛伊木马于1998年发现,是一个Windows远程管理工具,让用户利用简单控制台或视窗应用程序,透过TCP/IP去远程遥控电脑。
5.蠕虫是另一种能自行复制和经由网络扩散的程序。它跟电脑病毒有些不同,电脑病毒通常会专注感染其它程序,但蠕虫是专注于利用网络去扩散。从定义上,电脑病毒和蠕虫是非不可并存的。随着互联网的普及,蠕虫利用电子邮件系统去复制,例如把自己隐藏于附件并于短时间内电子邮件予多个用户。有些蠕虫(如CodeRed),更会利用软件上的漏洞去扩散和进行破坏。 于1999年6月发现的Worm.ExploreZip是一个可复制自己的蠕虫。当执行时,它会把自己隐藏在附件,经电子邮件传送予通讯录内的收件人。在Windows环境下,若用户开启附件,就会自动执行蠕虫。在Windows95/98环境下,此蠕虫以Explore.exe为名,把自己复制到C:\windows\system目录,以及更改WIN.INI文件,以便系统每次启动时便会自动执行蠕虫。
预防篇
1. 提倡尊重知识产权的观念,支持使用合法原版的软件,拒绝使用翻版软件,只有这样才能确实降低使用者电脑发生中毒的机会.
2. 平日就要将重要的资料备份起来,毕竟解毒软体不能完全还原中毒的资料,只有靠自己的备份才是最重要的.
3. 建立一张紧急救援磁片,而且是“乾净及可开机的”,DOS的版本与硬盘相同,同时里面还要有以下程式:FDISK.EXE,FORMAT.COM,UNFORMAT.COM,SYS.COM,UNDELETE.EXE,SCANDISK.EXE,扫毒软体所备份的启动磁区及硬盘分割表档案.如果你有PCTOOLS或Norton Utility等软体,用它们来帮助你做一张紧急救援磁片,它们甚至可以还原CMOS资料,或是灾后重建资料.(别忘了贴上防写标签.)
4. 不要随便使用来历不明的档案或磁盘,就算要使用,先用扫毒软体扫一扫再用.
5. 准备一些好的防毒,扫毒,解毒软体,并且定期使用.
.建立正确病毒基本观念,了解病毒感染,发作的原理,亦可以提高个人的警惕.
治疗篇
请熟记以下的六字口诀:
1. 关(Step 1;关闭电源)
2. 开(Step 2;以乾净磁片开机)
3. 扫(Step 3;用防毒软体扫瞄病毒)
4. 除(Step 4;若侦测有病毒,则立即删除)
5. 救(Step 5;若侦测硬盘分割区或启动区有病毒时,可用"硬盘紧急救援磁片"救回资料,或用乾净DOS磁片中的FDISK指令,执行FDISK/MBR以救回硬盘分割区资料;另可在A槽中执行A>SYS C:(C为中毒磁盘)以救回资料;若不行就只有重新格式化硬盘了.
6. 防(Step 8;好了!您的电脑安全了.不过为了预防未来不再受到病毒之侵害,建议您经常更新你的防毒软件,以建立完善而且坚固的病毒防疫系统.
什么是木马?
特洛伊木马(以下简称木马),英文叫做“Trojan house”,其名称取自希腊神话的特洛伊木马记。
它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具体位置,往往只能望“马”兴叹。
所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
从木马的发展来看,基本上可以分为两个阶段。
最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。
而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。
所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。
参考资料:http://bbs.51ww.com/365000/ShowPost.aspx
回答者:完颜康康 - 探花 十一级 9-18 12:40
--------------------------------------------------------------------------------
DLL 木马揭秘
相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?
一、从DLL技术说起
要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。
时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的方法,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。
DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。
二、应用程序接口API
上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。
三、DLL与木马
DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。
四、DLL的运行
虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。
五、DLL木马技术分析
到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。
1.木马的主体
千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。
如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。
DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。
2.动态嵌入技术
Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种方法进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-
远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?
3.木马的启动
有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。
启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。
Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的方法(rundll32.exe [DLL名],[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。
注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。
有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。
4.其它
到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……
六、DLL木马的发现和查杀
经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的方法:杀毒软件和防火墙(不是万能药,切忌长期服用)。
上网下载最新的系统补丁,给操作系统“进补”,是大家经常要做的一件事,但面对网上铺天盖地的Hotfix和SP补丁,许多用户特别是电脑新手往往会迷失方向。那么什么是Hotfix,什么是SP,它们之间又有什么联系和区别呢?
明明白白Hotfix
Hotfix是针对某一个具体的系统漏洞或安全问题而发布的专门解决该漏洞或安全问题的小程序,通常称为修补程序。微软公司为提高其开发的各种版本的Windows操作系统和Office软件的市场占有率,会及时地将软件产品中发现的重大问题以安全公告的形式公布于众,这些公告都有一个惟一的编号,即MS-,如MS03-063,MS是微软的英文缩写,03代表2003年,063代表该安全公告的编号,合起来就是微软公司在2003年发布的第63个安全公告。在这个公告中微软公司都会给出一个形如Q(2003年4月份前用此编号)或KB(2003年4月份后用此编号)的编号,这个编号是微软知识库中的一个编号,通过该编号我们可以在微软知识库(support.microsoft.com)中查找到有关该问题的所有技术性文章和相应的解决方案。
我们以微软发布的用于Windows XP操作系统的冲击波漏洞的补丁“WindowsXP-KB823980-x86-CHS32λ.exe”为例来说明。
★Windows XP——产品名称,说明该补丁适用的操作系统。可能出现的选项有Windows 2000 、Windows XP、WindowsServer 2003等等,分别应用于对应的操作系统。
★KB823980——KB是Knowledge Base的首字母缩写,意即基本知识库,823980是该补丁在微软知识库中相应的说明性文章的编号,我们键入网址“support.microsoft.com/KBid=823950”即可以查看该补丁的技术文章。
★x86——处理器平台的标识,示例中x86说明该补丁应用于Intel 公司的x86构架的处理器平台。可能出现的选项有x86、AMD64和IA64等。
★CHS32λ.exe——语言版本的标识。示例中的CHS表明该补丁应用于中文版的Windows操作系统。可能出现的选项有CHS、ENU和INTL,分别应用于中文版、英文版和多语言版的Windows操作系统中;32表示的是应用于32位的处理器平台;λ表明该补丁为非正式版,只是一个测试版。
提示:α、β、λ常用来表示软件测试过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。修补程序经过测试上市发行之前在编号上会略加修改,即去掉后面的“32λ”字样,因此正式版冲击波补丁名称应为“ WindowsXP-KB823980-x86-CHS.exe”。
明明白白SP
SP是Service Pack的缩写,意即补丁包。微软的操作系统及软件产品漏洞很多,微软不得不频繁地发布各种Hotfix来进行修补,但对一般用户来说,要查看自己的电脑是否安装了某个Hotfix是一件麻烦事,下载安装各种Hotfix也很繁琐,微软为了解决问题,就开始发布SP补丁包,SP补丁包中包含有SP发布日期前所发布的所有Hotfix。也就是说,Hotfix是针对某一个问题的单一补丁,SP包含SP发布日期前的所有Hotfix补丁。因此,只要你下载并安装了SP补丁包,就不需要再去下载安装SP发布日期前的Hotfix了。SP补丁包按发布日期的先后顺序排列,这样便有了SP1、SP2、SP3……等等。
针对Windows操作系统的SP补丁包是可叠加补丁包,也就是说SP2中已包含有SP1中的所有补丁,SP3中已包含有SP2、SP1中的所有补丁,以此类推,如Windows 2000现在就有SP1、SP2、SP3、SP4补丁包。
不过,Office产品的SP补丁包是不可叠加补丁包,比如SP2只包含有SP1发布日期以后到SP2发布日期前这一段时间内的所有补丁,以此类推。因此,对于Windows产品来说,用户只需下载并安装最新的SP补丁包即可。而对于Office产品则必须下载并安装所有的SP补丁包,这一点务必要注意。
提示:用户要了解系统打过了哪些补丁,可以单击“开始→设置→控制面板→添加/删除程序”,在“添加/删除程序”窗口中形如“Windows XXXX修补程序包——KB 823980”字样的选项就是你为系统打的补丁。或者单击“开始→运行”?在弹出的运行对话框中输入“REGEDIT”打开注册表编辑器?找到如下分支?HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix ?,观察Hotfix下的子键就可以看到系统打了哪些补丁
Ⅵ win7升级SP1有什么好处
Windows 7 SP1的改进:总体上说Win7 SP1 在功能上并没有多少新颖的变化,只是对以往功能“不疼不痒”的修补,在更新后也感觉不到win7在性能上有所提升,可以说SP1补丁包主要是对以往更新程序的集成,具体更新和改进如下:1,新版本的远程桌面服务。这是为了和Server 2008 R2 SP1新增功能RemoteFX相匹配所需要的更新。2,XPS文档问题修复。在个别情况下,一个同时包含横向和纵向排版内容的XPS文档会无法以正确格式打印出来,SP1将会修复这个问题。3,对第三方联盟服务更好的支持。更新SP1后,WIndows 7将会额外支持符合Web服务联盟语言被动请求者规范的第三方服务。4,改进HDMI音频设备性能。Windows7 SP1修正了一个重启系统后可能会和HDMI音频设备断开连接的Bug。5,其他热修补程序和Bug修复。所有自Windows 7发布后(到SP1发布前)的补丁程序都会集成在SP1里。如果WIN7 SP1补丁包没有让你感到惊喜,也不要失望哦,只能说Windows7 RTM版太成功了,以至于在SP1中无法做出太多的改进和性能优化!
Ⅶ 如何反编译MS08-067漏洞
没有反编译漏洞一说。
应该是分析漏洞的原理。
分析漏洞需要很强大的程序逆向分析功力。