资源预览内容
第1页 / 共85页
第2页 / 共85页
第3页 / 共85页
第4页 / 共85页
第5页 / 共85页
第6页 / 共85页
第7页 / 共85页
第8页 / 共85页
第9页 / 共85页
第10页 / 共85页
亲,该文档总共85页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章第二章 常见网络风险分析常见网络风险分析 -Part1-Part1常见程序漏洞问题常见程序漏洞问题恶意代码攻击恶意代码攻击 木马和后门木马和后门 拒绝服务攻击拒绝服务攻击欺骗攻击欺骗攻击 常见程序漏洞问题常见程序漏洞问题什么是程序中的“bug”?开发者犯错误- 导致设计中过失编码( error)-一个或多个错误(fault)。 错误:系统内部观点,开发者所见 失效:系统外部观点,用户看到的问题。对系统要求行为的违反。 不是所有的错误都会导致失效,例如错误代码从来未被执行或者系统从来没有进入某种状态。程序漏洞产生原因程序漏洞产生原因原因:(1)、受编程设计人员的能力、经验和安全技术所限,操作系统及各种应用程序在设计中出现逻辑错误是不可避免的。(2)、对程序内部操作的不了解,或没有足够的重视,编程人员总会假定程序在任何环境中能够正常运行。当假设得不到满足,程序内部的相互作用和安全策略产生冲突便形成了安全漏洞。(3)、数据处理中出现的错误。例如对变量赋值及发送的一些请求命令。 例如WebLogic服务端发送类似GET. rnrn的请求时,远程WebLogic服务端在处理生成重定向的请求时会泄漏该主机的NetBIOS主机名。(4)、安全缺陷和具体的系统环境密切相关。在不同种类的软、硬件设备中,同种设备的不同版本之间,由不同设备构成的不同系统之间,都存在各自不同的安全问题。 例如低于0.6.6k或0.9.7c版本的OpenSSL存在堆栈溢出漏洞,该漏洞可导致远程攻击者获得系统的shell。(5)、某些服务或应用程序会向远程客户提供关于本机的一些信息,这种信息泄漏也是一种安全缺陷。 例如Finger服务,域名解析服务等。(6)、有些服务本身不是漏洞或不存在安全缺陷,但是却能被远程主机利用来进行辅助攻击。 例如Visual Route Web服务器允许攻击者攻击程序在不暴露自身到目标主机路由的情况下执行向第三方主机的路由跟踪。没有技术手段可以消除所有的程序漏洞。 测试技术上:应该做什么,不应该做什么。不可能详尽地测试状态和数据的每一种组合来检验系统。恶意代码还具有隐蔽性。 技术发展上:程序设计和软件工程技术的发展速度远远超过计算机安全技术的发展技术。保护过去的技术举例举例-计算机攻击的剧烈增长计算机攻击的剧烈增长 CERT CERT computer computer emergency emergency response response teamteam 计算机应急响应小组,卡内基梅隆大学,追踪和报道在全世界范围内报道的计算机攻击的种类和数量。 任务:警告用户和开发者出现的新的问题,提供解决的必要信息。 据中国互联网协会统计,2008年,中国大陆受到来自境外的网络攻击数量同比增长了148%。工信部发言人在接受新华社记者专访时指出,仅2009年,我国被境外控制的计算机IP地址就多达100多万个,被黑客组织篡改的网站累计达4.2万个,其中政府网站被篡改的数量达2765个。在受网络病毒威胁方面,我国仅被“飞客”蠕虫病毒感染的计算机数量每月就达1800万台,占全球感染主机的30%,位居世界第一。被植入僵尸程序的计算机数量也位居世界首位,占世界总量的13%。 美国是世界上最大的网络攻击源头。据美国最大的网络公司Symatec公司发表的2008年互联网安全威胁报告,世界上25%的网络攻击源自美国,33%的僵尸控制服务器和43%的“钓鱼网站”位于美国。对中国的网络攻击和入侵也主要源自美国。据中国国家互联网应急中心对部分木马和僵尸程序的抽样检测结果,2009年我国境内被木马程序和僵尸程序控制的主机IP数量分别为26.2万个和83.7万个,分别有16.5万个和1.9万个境外主机地址参与控制这些计算机,其中源自美国的数量排名第一,分别占16.61%和22.34%。可以说,美国已成为全球最大的网络攻击策源地。应急响应服务的诞生应急响应服务的诞生CERT/CCCERT/CC1988年Morris 蠕虫事件直接导致了CERT/CC的诞生。CERT/CC服务的内容:安全事件响应安全事件分析和软件安全缺陷研究缺陷知识库开发信息发布:缺陷、公告、总结、统计、补丁、工具教育与培训:CSIRT(computer security incident response team)管理、CSIRT技术培训、系统和网络管理员安全培训指导其它CSIRT(也称IRT、CERT)组织建设举例举例 计算机安全总署(computer security institute,CSI)和FBI,调查500家大型机构,90%有安全隐患,25%每年有2-5例安全事件,37%超过10例。对167名网络安全人员调查,75%经历过网络攻击,超过50%认为攻击频繁。223名被调查者损失455 000 000美元国内安全事件响应组织建设情况国内安全事件响应组织建设情况 计算机网络基础设施已经严重依赖国外; 由于地理、语言、政治等多种因素,安全服务不可能依赖国外的组织 国内的应急响应服务还处在起步发展阶段CCERT(1999年5月),中国第一个安全事件响应组织NJCERT(1999年10月)中国电信ChinaNet安全小组解放军,公安部安全救援服务公司 中国计算机应急响应组/协调中心CNCERT/CC信息产业部安全管理中心 ,2000年3月,北京国际间的协调组织国内的协调组织国内的协调组织产品用户网络接入用户企业部门、用户商业IRT网络服务提供商 IRT厂商 IRT企业 /政府 IRT如:安全服务公司如:CCERT如:cisco, IBM如CERT/CC, FIRST如CNCERT/CC如:中国银行、 公安部愿意付费的任何用户安全应急响应组的分类安全应急响应组的分类CSIRT的服务内容应急响应安全公告咨询风险评估入侵检测教育与培训追踪与恢复安全应急响应服务组织的服务内容安全应急响应服务组织的服务内容安全应急响应服务的特点安全应急响应服务的特点技术复杂性与专业性各种硬件平台、操作系统、应用软件;知识经验的依赖性由IRT中的人提供服务,而不是一个硬件或软件产品; 突发性强需要广泛的协调与合作主要客户群是CERNET(中国教育科研计算机网)会员,但也有受理其他网络的报告和投诉目前主要从事以下服务和研究:事件响应:入侵、垃圾邮件以及邮件炸弹、恶意扫描和DoS事件处理给站点管理员提供安全建议提供安全信息公告和安全资源反垃圾邮件、禁止扫描的公告操作系统补丁、工具软件网络安全领域的研究,包括安全管理、入侵检测、安全体系结构、PKI等。程序缺陷分类程序缺陷分类有意(恶意)无意:确认时的过失(不完善性或不一致性),域过失,序列化和混淆,不充分的识别和鉴别,边界条件违规,其他可利用的逻辑过失。非恶意的程序漏洞(非恶意的程序漏洞(1 1)缓冲区溢出缓冲区溢出及其安全威胁及其安全威胁例:char sample10;for(i=0;i 10 ?输入参数长度10Fill up bufferWrite over function parameterWrite over return address“Return” will jump to location determined by input Return addr char *inp buf9 buf8 buf1 buf0缓冲区溢出举例缓冲区溢出举例MSFT indexing service, an extension to IIStelnet 80GET /some?Telnet to port 80 and send http GET with buffer over 240 bytesAttacker can take over server攻击者可控制服务器攻击者可控制服务器Form of attack used by Code Red to propagate红色代码红色代码T in Cisco IOSCan use overflow vulnerability to take over serverMany many more examples (1)(1)基于源码的静态分析基于源码的静态分析。基于源码的词法分析、模型化、标记驱动、符号分析等静态分析技术能在程序发布前检测和修正缓冲区溢出脆弱性。它包括如下内容:词法分析、变量范围模型化、基于前后条件的标记驱动、符号分析等方式。(2)(2)基于可执行代码的分析转换。基于可执行代码的分析转换。在不能得到源码的情况下,最直接的办法就是对可执行码进行分析、转换,来检测和预防缓冲区溢出。它包括以下内容:定位边界函数、保护返回地址、检测系统调用、缓冲区代码的反汇编检查等方式。缓冲区溢出攻击防护缓冲区溢出攻击防护Understanding C functions and the stack.Some familiarity with machine code. 对机器代码有些了解Know how systems calls are made. 知道如何系统调用The exec() system call. Attacker needs to know which CPU and OS are running on the target machine. vs. What is neededWhat is neededSome unsafe C lib functionsstrcpy (char *dest, const char *src)strcat (char *dest, const char *src)gets (char *s)scanf ( const char *format, )printf (conts char *format, )(3)(3)扩展编译器功能。扩展编译器功能。编译器是源码变成可执行码的桥梁。有很多缓冲区溢出脆弱性检测和预防技术解决方案是通过扩展原编译器,增加缓冲区边界信息并插入边界检查代码来实现的。它包括如下内容:增加返回地址保护功能、扩展指针表示信息、插入内存修改日志、增加安全类型等方法(4)(4)运行时拦截并检查。运行时拦截并检查。运行时拦截危险函数并进行安全检查是对原系统影响较小的软件实现方法。它包括以下内容:拦截脆弱函数、运行时防止溢出等。(5)(5)堆和栈不可执行。堆和栈不可执行。大部分基于堆栈缓冲区溢出脆弱性的攻击依赖于堆栈可执行。如果不允许堆栈执行程序,就能防御这类攻击。(6)(6)抽象执行网络数据抽象执行网络数据。所谓抽象执行是指在检查网络数据时分析它是否表示了有效的机器指令,通过抽象执行可以检测网络数据中是否包含带有缓冲区溢出脆弱性的程序。数据请求包如果包含了缓冲区溢出脆弱性,那它的有效指令链会比正常的数据请求包中的有效指令链长很多,对可能包含缓冲区溢出脆弱性的数据包再在虚拟机上模拟执行,以进一步验证。(7)(7)软件测试。软件测试。使用一些软件测试技术也能检测缓冲区溢出脆弱性,其主要缺点是需要测试者提供触发脆弱性发生的测试数据。它主要包括以下内容:基于错误注入的测试、基于属性的测试、渗透测试等方法。(8)(8)打乱和加密。打乱和加密。该技术使得攻击代码即使注入,也不能运行。它主要包括以下内容:打乱内存地址、打乱系统调用入口、对段设置保护属性、加密可执行代码等方法。(9)(9)基于硬件的支持。基于硬件的支持。硬件技术是最底层的技术,如果能用于检测和预防缓冲区溢出脆弱性,将是一个性能最高、解决最彻底的方案。它主要包括以下内容:增加硬件堆栈、使用两个堆栈、地址保护、地址完整性检查等方法。用户在浏览器输入数据,用户端程序可以检查并抛弃不正确的数据,要求用户重新输入,但递交结果是包含在URL中传递的,浏览器不会对URL进行检查。用户可以编辑URL,从而可以改变参数,发送它们。而服务器是无法区分是客户正常输入还是直接编辑URL来的。那么这些参数就没有经过完善验证。例:某公司电子商务应用.价格改变 攻击者可以利用这个特性,修改返回攻击者可以利用这个特性,修改返回URLURL中的价格中的价格非恶意的程序漏洞(非恶意的程序漏洞(2 2)-不完全验证不完全验证UNICODEUNICODE漏洞漏洞 Unicode是一种编码标准,目前已被包括Microsoft在内的很多软件开发商所采用。Unicode用%2f和%5c分别代表/和,也可以用所谓的“超长”序列来代表这些字符。“超长”序列是非法的Unicode表示符,它们比实际代表这些字符的序列要长,超长的表示法,例如用%c0%af代表/(用了两个字节)。IIS不对超长序列进行检查,这样在URL中加入一个超长的Unicode序列,就可以绕过Microsoft的安全检查。 IIS Example, used by Nimda wormpasses to cmd command scripts directory of IIS has execute permissionsInput checking would prevent that, but not thisIIS first checks input, then expands unicode see ?.UNICODE漏洞造成的危害归纳为有如下:(1 1)对目标主机对目标主机webweb页面的简单修改。页面的简单修改。(2 2)对目标主机的文件进行操作对目标主机的文件进行操作:显示文件内容;删除文件;COPY文件的同时将该文件改名;COPY文件到另外的文件夹;移动文件夹到指定的目录;显示某一路径下相同文件类型的文件;利用attrib命令实现某些操作:可以查看到目标主机某些文件的属性、可以改变目标主机文件的属性、可以解除文件的属性。(3 3)利用上传木马及泄漏的信息进一步控制目标利用上传木马及泄漏的信息进一步控制目标主机。主机。非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(3 3 3 3)-不恰当的日志不恰当的日志不恰当的日志不恰当的日志PDG soft (用于创建在线店面的软件)(用于创建在线店面的软件) web transaction processing systemCreates log is world-readable: /cgi_bin/PDG_cart/order.log mailing addresses, credit card numbers, .Can use (or could use) Google to find sites that have this fileBug discovered a few years agoPDG issued patch:changed protection domain of log file, encrypts log file1.5 years later, FBI reports: still lots of sites vulnerableAdmins dont install patches Why?Cisco Resource Manager (CRM) Administrative tool, runs on admin machineLogs everything admin does (including uname/pwd)World-readable file; anyone on system can read itLegato Networker, 2002Also logs unames/pwdsLog protected将用户信息记录在没有保护的文件中将用户信息记录在没有保护的文件中非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(4 4 4 4)-检查时刻到使用时检查时刻到使用时检查时刻到使用时检查时刻到使用时刻错误刻错误刻错误刻错误 举例:买东西付钱 在接受安全检查之后到访问之前,已经接受了检查的条件变了.阻止漏洞被利用-数字签名和鉴别:公钥加密基础设施,.非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(5 5 5 5)-无意识的功能造无意识的功能造无意识的功能造无意识的功能造成不安全成不安全成不安全成不安全 IdeaIdeaDesigner tries to add useful features Designer tries to add useful features Introduces vulnerability in the processIntroduces vulnerability in the processExampleExampleFinger服务是一个能提供三种主要类型信息的客户机/服务器系统。Finger服务用于查询用户的信息:某人的用户标识、全名、现在是否登录、最后用该用户标识登录的人、邮件阅读否、办公地址等等。Finger服务会产生信息泄漏错误 。LessonLessonThink about security implications of featuresThink about security implications of features非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(6 6 6 6)-不必要的权限不必要的权限不必要的权限不必要的权限 Principle of least privilegePrinciple of least privilegeApplications should only have minimal privileges needed to do jobProblems with setuid programs running as rootProblems with setuid programs running as rootUnix allows many programs to run as root - a bad ideaIn 1999, 50% of sendmail (Unix环境下使用最广泛的邮件传输代理程序 ) servers were vulnerableMost DNS servers run bind, 60% of them with vulnerabilitiesMany sendmail attacks and patches over the yearsMany sendmail attacks and patches over the yearsOld and amusing attack based on bad input checkingRecommendationRecommendationApply principle of least privilege; break program into modules用最小权限原则,将程序划分成模块非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(非恶意的程序漏洞(7 7 7 7)-系统配置不当系统配置不当系统配置不当系统配置不当 IdeaAccess control depends on configurationAdministrators, users make mistakes or keep defaultsExamplersh daemon grants permission based on .rhosts fileIf .rhosts is not set up properly (or someone has modified it), then attacker can gain access.rshrsh命令命令 rsh是“remote shell”(远程 shell)的缩写。 该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行中指定的命令。如果用户没有给出要执行的命令,rsh就用rlogin命令使用户登录到远程机上。2 2 2 2 病毒和其他恶意代码病毒和其他恶意代码病毒和其他恶意代码病毒和其他恶意代码最 早 纪 录 1970年 。 Ware 在 1970年 的 研 究 和Anderson为空军所作的计划研究准确描述了病毒的威胁程序的脆弱点和程序安全性漏洞. 病病毒毒(virus):(virus):一种具有隐蔽性、破坏性、传染性的恶意代码。病毒无法自动获得运行的机会,必须附着在其他可执行程序代码上或隐藏在具有执行脚本的数据文件中才能被执行。 恶意代码的种类恶意代码的种类恶意代码的种类恶意代码的种类特洛伊木马(Trojan horse):包含意外的不易被发现的功能。逻辑炸弹(logic bomb):在特定条件产生时被引爆。定时炸弹是其中一种,满足时间条件。陷门(trapdoor)后门(backdoor):允许利用来作访问,例如留给维护人员.也可能被恶意人员用作破坏。蠕虫(worm):通过网络大量传播自身拷贝的恶意代码。与病毒差异:传播通过网络,自身拷贝以独立程序形式传播。兔子(rabbit):无限制的复制自己来消耗计算机的系统资源。流氓软件( Badware ):未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。有针对性地恶意代码有针对性地恶意代码有针对性地恶意代码有针对性地恶意代码病毒为无针对性的、没有固定破坏目标的恶意代码。 有针对性地恶意代码专门为某一特定系统、特定应用和特定目的设计。陷门(陷门(trapdoortrapdoor)通往一个模块内部的入口,在文档中没有该入口记录。在代码开发期间加入,目的测试模块,或者为修改和扩充提供“钩子”(hook),或系统失效时提供特别通道。可使程序员进入程序。成因:开发者忘记去掉陷门;或者 处于测试和维护的目的,刻意留在程序中;作为一个隐藏的访问方式。逻辑炸弹逻辑炸弹逻辑炸弹逻辑炸弹 逻辑炸弹攻击是一种隐藏于计算机系统中以某种方式触发后对计算机系统硬件、软件或数据进行恶意破坏的程序代码。逻辑炸弹和病毒的共同点是: 1)都具有隐蔽性,用户一般不会察觉; 2)具有攻击性,发作后会干扰屏幕显示,或降低电脑运行速度,或删除程序,或破坏数据。 两者的不同点:病毒具有“传染性”,而逻辑炸弹是没有“传染性”的。 逻辑炸弹的逻辑条件具有不可控制的意外性。“流氓软件”其实起源于国外的“BadwareBadware”一词,对“Badware”的定义为:是一种跟踪你上网行为并将你的个人信息反馈给“躲在阴暗处的”市场利益集团的软件,并且,他们可以通过该软件能够向你弹出广告。 国内互联网业界人士一般将该类软件称之为“流氓软件”,并归纳出间谍软件、行为记录软件、浏览器劫持软件、搜索劫持软件、广告软件、自动拨号软件、盗窃密码软件等。流氓软件流氓软件流氓软件流氓软件流氓软件流氓软件流氓软件流氓软件特点特点特点特点强制安装:指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装软件的行为。 难以卸载:指未提供通用的卸载方式,或在不受其他软件影响、人为破坏的情况下,卸载后仍活动程序的行为。 浏览器劫持:指未经用户许可,修改用户浏览器或其他相关设置,迫使用户访问特定网站或导致用户无法正常上网的行为。 广告弹出:指未明确提示用户或未经用户许可的情况下,利用安装在用户计算机或其他终端上的软件弹出广告的行为。恶意收集用户信息:指未明确提示用户或未经用户许可,恶意收集用户信息的行为。 恶意捆绑:指在软件中捆绑已被认定为恶意软件的行为。流氓软件流氓软件流氓软件流氓软件特点特点特点特点恶意卸载:指未明确提示用户、未经用户许可,或误导、欺骗用户卸载非恶意软件的行为。恶意安装:未经许可的情况下,强制在用户电脑里安装其它非附带的独立软件。 备注:强制安装到系统盘的软件也被称为流氓软件。其他侵犯用户知情权、选择权的恶意行为。流氓软件流氓软件流氓软件流氓软件特点特点特点特点什么是木马什么是木马什么是木马什么是木马 木马(Trojan)这个名字来源于古希腊传说,它是指通过一段特定的程序(木马程序)来控制另一台计算机。随着病毒编写技术的发展,木马程序对用户的威胁越来越大,尤其是一些木马程序采用了极其狡猾的手段,如Rootkit,隐蔽自己,使普通用户很难在中毒后发觉,及时发现也难以查杀。木马的基本原理木马的基本原理木马的基本原理木马的基本原理 两个执行文件:客户端程序,服务器两个执行文件:客户端程序,服务器端程序。端程序。 客户端程序是安装在攻击者(黑客)方的控制台,它负责远程遥控指挥。服务器端程序即是木马程序,它被隐藏安装在被攻击(受害)方的电脑上 木马攻击第一步:把木马服务程序植木马攻击第一步:把木马服务程序植入攻击对象。第二步:把主机信息发送给入攻击对象。第二步:把主机信息发送给攻击者攻击者木马程序的分类木马程序的分类木马程序的分类木马程序的分类 第一代,简单的密码窃取,发送第二代,在技术上有了很大的进步,冰河可以说为是国内木马的典型代表之一。第三代, 在数据传递技术上,又做了不小的改进,出现了ICMP等类型的木马,利用畸形报文传递数据,增加了查杀的难度。第四代,在进程隐藏方面,做了大的改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL线程或者挂接PSAPI,实现木马程序的隐藏,甚至在Windows NT/2000下,都达到了良好的隐藏效果。木马的危害木马的危害木马的危害木马的危害网游木马病毒:大量针对网络游戏的木马,它会盗取用户帐号。网银木马病毒:网银木马专门针对网络银行攻击,采用记录键盘和系统动作的方法盗取网银的帐号和密码,并发送到作者指定的邮件,直接导致用户的经济损失。木马的危害木马的危害木马的危害木马的危害即时通讯木马病毒:可以利用即时通讯工具(比如:QQ、MSN)进行传播。中了木马后电脑会下载病毒作者指的任意程序,其危害不可确定。后门木马病毒: 对被感染的系统进行远程文件和注册表的操作,可以捕获被控制的电脑的屏幕, 可远程重启和关闭计算机。 广告木马病毒:修改IE等网页浏览器的主页,收集系统信息发送给传播广告木马的网站。修改网页定向,导致一些正常的网站不能登录。冰河木马冰河木马冰河木马冰河木马文件管理器:有关文件的操作命令控制台:向目标计算机发送命令。 冰河是国产的远程监控软件,可以运行在Windows环境下。 1自动跟踪目标机屏幕变化,同时可完全模拟键盘及鼠标输入,即在同步被控端屏幕变化的同时,监控端的一切键盘及鼠标操作将反映在被控端屏幕(局域网适用); 2记录各种口令信息:包括开机口令、屏保口令、各种共享资源口令及绝大多数在对话框中出现过的口令信息,且1.2以上的版本中允许用户对该功能自行扩充,2.0以上版本还同时提供了击键记录功能; 3获取系统信息:包括计算机名、注册公司、当前用户、系统路径、操作系统版本、当前显示分辨率、物理及逻辑磁盘信息等多项系统数据;4限制系统功能:包括远程关机、远程重启计算机、锁定鼠标、锁定系统热键及锁定注册表等多项功能限制;5远程文件操作:包括创建、上传、下载、复制、删除文件或目录、文件压缩、快速浏览文本文件、远程打开文件(提供了四中不同的打开方式正常方式、最大化、最小化和隐藏方式)等多项文件操作功能; 6注册表操作:包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作功能;7发送信息:以四种常用图标向被控端发送简短信息;8点对点通讯:以聊天室形式同被控端进行在线交谈。 木马的启动木马的启动木马的启动木马的启动自动启动:木马一般会存在三个地方:注册表、win.ini、system.ini( 配置Windows系统,如自启动项、键盘语言模式、系统工作类型、高级智能电源管理、屏幕分辨率和各种设备驱动程序的加载项等。) ,因为电脑启动的时候,需要装载这三个文件。在autoexec.bat、config.sys、启动组中易被发现。捆绑方式启动:捆绑方式是一种手动的安装方式。非捆绑方式的木马因为会在注册表等位置留下痕迹,所以,很容易被发现,而捆绑木马可以由黑客自己确定捆绑方式、捆绑位置、捆绑程序等,位置的多变使木马有很强的隐蔽性。木马程序的隐藏技术木马程序的隐藏技术木马程序的隐藏技术木马程序的隐藏技术木马程序的服务器端,为了避免被发现,多数都要进行隐藏处理伪隐藏,就是指程序的进程仍然存在,只不过是让他消失在进程列表里。真隐藏,则是让程序彻底的消失,不以一个进程或者服务的方式工作。伪隐藏的方法: 只要把木马服务器端的程序注册为一个服务就可以了,这样,程序就会从任务列表中消失了,因为系统不认为他是一个进程,当按下Ctrl+Alt+Delete的时候,也就看不到这个程序。但是,这种方法只适用于Windows9x的系统,对于Windows NT,Windows 2000等,通过服务管理器,一样会发现你在系统中注册过的服务。伪隐藏伪隐藏伪隐藏伪隐藏伪隐藏的方法用在Windows NT/2000下API的拦截技术,通过建立一个后台的系统钩子系统钩子,拦截PSAPI(系统进程状态支持模块 )的EnumProcessModules等相关的函数来实现对进程和服务的遍历调用的控制,当检测到进程ID(PID)为木马程序的服务器端进程的时候直接跳过,这样就实现了进程的隐藏,金山词霸等软件,就是使用了类似的方法,拦截了TextOutA, TextOutW函数,来截获屏幕输出,实现即时翻译的。同样,这种方法也可以用在进程隐藏上。系统钩子系统钩子系统钩子系统钩子钩子是WINDOWS中消息处理机制的一个要点,通过安装各种钩子,应用程序能够设置相应的子例程来监视系统里的消息传递以及在这些消息到达目标窗口程序之前处理它们。钩子的种类很多,每种钩子可以截获并处理相应的消息。 真隐藏:木马的服务器部分程序运行之后,完全的溶进了系统的内核。不做成一个应用程序,而做为一个其他应用程序的线程,把自身注入其他应用程序的地址空间。而这个应用程序对于系统来说,是一个绝对安全的程序,这样,就达到了彻底隐藏的效果。木马程序的建立连接的隐藏木马程序的建立连接的隐藏木马程序的建立连接的隐藏木马程序的建立连接的隐藏木马程序的数据传递方法有很多种,其中最常见的要属TCP,UDP传输数据的方法了,通常是利用Winsock与目标机的指定端口建立起连接,使用send和recv等API进行数据的传递。但是由于这种方法的隐蔽性比较差,往往容易被一些工具软件查看到,在命令行状态下使用netstat命令,就可以查看到当前的活动TCP,UDP连接。C:Documents and Settingsbigballnetstat -n Active Connections ProtoLocal AddressForeign AddressState TCP192.0.0.9:1032 64.4.13.48:1863ESTABLISHED TCP192.0.0.9:1112 61.141.212.95:80ESTABLISHED TCP192.0.0.9:1135 202.130.239.223:80ESTABLISHED TCP192.0.0.9:1142 202.130.239.223:80ESTABLISHED TCP192.0.0.9:1162 192.0.0.8:139TIME_WAIT TCP192.0.0.9:1169 202.130.239.159:80ESTABLISHED TCP192.0.0.9:1170 202.130.239.133:80TIME_WAIT 躲避侦察的手段躲避侦察的手段躲避侦察的手段躲避侦察的手段使用特殊的手段,在一个端口上同时绑定两个TCP或者UDP连接,这听起来不可思议,但事实上确实如此,而且已经出现了使用类似方法的程序,通过把自己的木马端口绑定于特定的服务端口之上,(比如80端口的HTTP,谁怀疑他会是木马程序呢?)从而达到隐藏端口的目地.使用ICMP(Internet Control Message Protocol)协议进行数据的发送,原理是修改ICMP头的构造,加入木马的控制字段,这样的木马,具备很多新的特点,不占用端口的特点,使用户难以发觉,同时,使用ICMP可以穿透一些防火墙,从而增加了防范的难度。之所以具有这种特点,是因为ICMP不同于TCP,UDP,ICMP工作于网络层,不使用TCP协议。查看启动组查看启动组查看启动组查看启动组 查看启动标签中的启动项目,有没有什么非正常项目?要是有象netbus、netspy、bo等关键词,极有可能就是木马了。查看注册表查看注册表查看注册表查看注册表由“开始-运行”,输入regedit,确定就可以运行注册表编辑器。再展开至:“HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下,查看键值中有没有自己不熟悉的自动启动文件项目,比如netbus、netspy、netserver等的单词。通过类似的方法对下列各个主键下面的键值进行检查:HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx HKEY-LOCAL-ACHINESoftwareMicrosoftWindowsCurrentVersionRunServices HKEY-LOCAL-ACHINESoftwareMicrosoftWindowsCurrentVersionRunServices HKEY-LOCAL-HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnceMACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce 在注册表中还有很多地方都可以隐藏木马程序,上面这些主键是木马比较常用的隐身之处。象HKEY-CURRENT-USERSoftwareMicrosoftWindowsCurrentVersionRun、HKEY-USERSSoftwareMicrosoftWindowsCurrentVersionRun的目录下都有可能成为木马的藏身之处。最好的办法就是找到木马程序的文件名,再通过其文件名对整个注册表进行全面搜索就知道它有几个藏身的地方了如果有留意,注册表各个主键下都会有个叫“(默认)”名称的注册项,而且数据显示为“(未设置键值)”,也就是空的。这是正常现象。如果发现这个默认项被替换了,那么替换它的就是木马了。其它方法其它方法其它方法其它方法 上网过程中,发现计算机速度明显起了变化、硬盘在不停的读写、鼠标不听使唤、键盘无效、自己的一些窗口在未得到自己允许的情况下被关闭、新的窗口被莫名其妙地打开.怀疑正在被木马控制,不要拔了网线或抽了Modem上的电话线。找到控制端找到控制端:在MS-DOS窗口的命令行键入“netstat”查看目前已与本计算机建立的连接。如果发现端口号码异常(比如大于5000),ForeignAddress中的地址又不为正常网络浏览的地址,那么可以判断你的机器正被远程计算机所窥视着。在对应行的ForeignAddress中显示的IP地址就是目前非法连接你计算机的木马客户端。当网络处于非活动状态,即没什么活动网络连接时。此时可以使用“netstat-a”,加了常数“-a”表示显示计算机中目前处于监听状态的端口。如果出现有不明端口处于监听状态,而目前又没有进行任何网络服务操作,那么在监听该端口的就是特洛伊木马了!删除木马删除木马删除木马删除木马将网络断开,排除来自网络的影响。用木马的客户端程序删除木马用木马的客户端程序删除木马由先前在win.ini、system.ini和注册表中查找到的可疑文件名判断木马的名字和版本。比如“netbus”、“netspy”等,很显然对应的木马就是NETBUS和NETSPY。从网上找到其相应的客户端程序,下载并运行该程序,在客户程序对应位置填入本地计算机地址:127.0.0.1和端口号,就可以与木马程序建立连接。再由客户端的卸除木马服务器的功能来卸除木马。端口号可由“netstat-a”命令查出来。弊端弊端:木马改了名字。被设置了密码。客户端程序没有提供卸载木马的功能。手工删除手工删除用regedit打开注册表编辑器,对注册表进行编辑。找到木马的程序名,再在整个注册表中搜索,并删除所有木马项目。 分析木马文件在硬盘中的位置(多在C:WINDOWS和C:WINDOWSCOMMAND目录下)。启动到纯MS-DOS状态(而不是在Windows环境中开个MS-DOS窗口),用del命令将木马文件删除。如果木马文件是系统、隐藏或只读文件,还得通过“attrib-s-h-r”将对应文件的属性改变,才可以删除Back OrificeBack OrificeBack OrificeBack Orifice木马的清除木马的清除木马的清除木马的清除 Back Orifice 是功能最全的TCP/IP架构的木马工具,它可以搜索被攻击者的信息、执行系统命令、修改客户端的电脑注册表、重新设置机器、重新定向网络的客户端/服务器应用程序等。黑客利用该木马成为被攻击机器的超级用户,几乎电脑的所有操作都可由Back Orifice远程控制。清除方法:1、打开注册表编辑器,展开HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices,若此键中存在Umgr32.exe键值,则将其删除。2、在资源管理器中删除c:windowsSystem中的Umgr32.exe文件。后门技术后门技术后门技术后门技术 (Back DoorBack DoorBack DoorBack Door) 后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。 在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。后门与木马后门与木马后门与木马后门与木马联系:都是隐藏在用户系统中向外发送信息,而且本身具有一定权限,以便远程机器对本机的控制. 区别:木马是一个完整的软件,而后门则体积较小且功能都很单一 。而且,在病毒命名中,后门一般带有backdoor字样,而木马一般则是Trojan字样.后门的分类后门的分类后门的分类后门的分类网页后门网页后门:此类后门程序一般都是利用服务器上正常 的WEB服务来构造自己的连接方式,比如现在非常流行的ASP、cgi脚本后门等。线程插入后门线程插入后门:利用系统自身的某个服务或者线程,也是现在最流行的一个后门技术。扩展后门扩展后门:所谓的“扩展”,是指在功能上有大的提升,比普通的单一功能的后门有很强的使用性,这种后门本身就相当于一个小的安全工具包,能实现非常多的常见安全功能。c/s后门:和传统的木马程序类似的控制方法,采用“客户端/服务端”的控制方式,通过某种特定的访问方式来启动后门进而控制服务器root kit:最经典的后门程序root kitroot kit出现于20世纪90年代初从出现至今,root kit 的技术发展得很迅速,应用越来越广泛,检测难度也越来越大。其中钍对SunOS和Linux两种操作系统的root kit最多。 root kit是攻击者用来隐蔽自己的踪迹和保留root访问权限的工具。通常,攻击者通过远程攻击获得root访问权限,进入系统后,在侵入的主机中安装root kit,然后将经常通过root kit的后门检查系统是否有其他的用户登录,如果只有自己,攻击者就开始着手清理日志中的有关信息。通过root kit的嗅探器获得其他系统的用户和密码之后,攻击者就会利用这些信息侵入其他系统。 网络上常见的root kit 是内核级后门软件,用户可以通过它隐藏文件、进程、系统服、系统驱动、注册表键和键值、打开的端口以及虚构可用磁盘。程序同时也在内存中伪装它所做的改动,并且隐身地控制被隐藏进程。程序安装隐藏后门,注册隐藏系统服务并且安装系统驱动。最著名的后门程序最著名的后门程序最著名的后门程序最著名的后门程序最著名的后门程序,该算是微软的Windows Update。Windows Update的动作包括:开机时自动连上微软的网站,将电脑的现况报告给网站以进行处理,网站通过Windows Update程序通知使用者是否有必须更新的文件,以及如何更新。“开机时自动连上微软网站”的动作就是后门程序特性中的“潜伏”,而“将电脑现况报告”的动作是“搜集信息”。因此,虽然微软“信誓旦旦”地说它不会搜集个人电脑中的信息,但如果从Windows Update来进行分析的话,就会发现它必须搜集个人电脑的信息才能进行操作,关键就在于搜集了哪些信息而已。后门产生的必要条件后门产生的必要条件后门产生的必要条件后门产生的必要条件 必须以某种方式与其他终端节点相连必须与目标机使用双绞线、光纤维、串/并口、蓝牙、红外等设备在物理信号上有所连接才可以对端口进行访问。目标机必须有默认开放的可访问端口。目标机存在程序设计或人为疏忽,导致攻击者能以权限较高的身份执行程序。并不是任何一个权限的帐号都能够被利用的,只有权限达到操作系统一定要求的才允许执行修改注册表,修改log记录等相关修改。防御后门防御后门防御后门防御后门 将不必要的服务关闭;选定适合的网络接口例如如果你的mysql服务(多用户、多线程SQL数据库服务器 )只针对本机,那么完全可以将接口只绑定到127.0.0.1的3306上,这样就避免了其他人外连的可能;对于公开对外的服务,一定需要及时打上相应的补丁。争取在第一时间升级到稳定版本。一旦攻击者进入,任何程序或文件都有可能被改写,最好的确保方法就是备份资料数据,重新安装系统。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号