浅谈拒绝服务攻击与防范IntroductiontoDenialofServiceattackandpre.doc

浅谈拒绝服务攻击与防范IntroductiontoDenialofServiceattackandpre.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅谈拒绝服务攻击与防范IntroductiontoDenialofServiceattackandpre

浅谈拒绝服务攻击与防范IntroductiontoDenialofServiceattackandpre 1、相关定义 1.1、堆栈的定义 堆栈是内存中的一个连续的块 [5] 。一个叫堆栈指针的寄存器(SP)指向 堆栈的栈顶,堆栈的底部是一个固定地址。堆栈有一个特点就是,后进先出。 也就是说,后放入的数据第一个取出。它支持两个操作,PUSH和POP。PUSH 是将数据放到栈的顶端,POP是将栈顶的数据取出。 在高级语言中,程序函数调用和函数中的临时变量都用到堆栈,参数的 传递和返回值是也用到了堆栈,通常对局部变量的引用是通过给出它们对 SP 的偏移量来实现的。另外还有一个基址指针(FP,在 Intel 芯片中是 BP), 许多编译器实际上是用它来引用本地变量和参数的。通常,参数的相对 FP 的偏移是正的,局部变量是负的。当程序中发生函数调用时,计算机做如下 操作:首先把参数压入堆栈;然后保存指令寄存器(IP)中的内容,作为返回 地址(RET);第三个放入堆栈的是基址寄存器(FP);然后把当前的栈指针(SP) 9 1.2、相关概念介绍 在 Windows 系统中,木马的具体隐蔽技术是与 Windows 系统密切相关的。为说明木马 在 Windows 系统中的隐蔽技术,首先介绍一些与 Windows 系统相关的概念。 进程(Process)和线程(Thread) 进程通常被定义为一个正在运行的程序的实例,它由两部分组成:进程内核对象和地 址空间。内核对象是操作系统用来管理此进程的信息块。地址空间包含所有可执行模块或 DLL 模块的代码和数据,包含动态分配的内存空间(如线程堆栈和堆分配空间)。进程可拥 有一个或多个线程,由线程负责执行进程地址空间中的代码。一个 Windows 应用程序,在 运行之后,会在系统之中产生一个进程。Windows 系统会为每个进程都分配一个虚拟的内 存空间,一切相关的程序操作,都会在这个虚拟的空间中进行。多个进程之间往往通过内 存映射文件共享信息。 线程是进程地址空间中代码的具体执行者。每个线程都有它自己的 CPU 寄存器和堆栈, 用于执行代码和保存数据。进程创建一个线程后会在其内存空间中给该线程分配堆栈。一 个进程拥有的多个线程之间可以同步执行多种操作,一般来讲,线程之间是相互独立的, 当一个线程发生错误的时候,并不一定会导致整个进程的崩溃。线程可以访问同进程中其 它线程的堆栈。 系统中的所有运行片段都会运行于某一进程的地址空间内。应用程序代码运行于自己 的进程空间内。操作系统中完成各种管理和服务的各种模块代码和各种驱动程序运行于相 应的系统进程内。 服务(Service) 操作系统都需要在后台执行任务而用于处理各种重要的事务。在 UNIX 中,后台任务是 通过 Daemons 来处理的。在 Windows 系统中,这种后台的任务被称为服务。服务可在每次 系统启动的时候运行,并且不管是否登陆,都会随系统启动而运行。 服务一般随系统启动而启动、随系统关机而停止。在 Windows 2K/2003 系统中,用户 和管理员用服务控制管理器(SCM,Service Control Manager)管理各种服务。通过 SCM 第 8 页 可以修改服务启动操作(启动、停止、暂停、恢复和重新启动某个服务)。 服务程序运行时会在后台工作,在 Windows 9X 中,服务不会出现在的任务管理器的 进程列表中。在 Windows NT/2K/2003 系统中,有些系统服务共同运行于一个 Svchost 进 程空间内,但是可以通过 SCM 检查系统中启动运行的服务。 消息(Message)和 Hook(勾子) Windows 是以消息驱动的操作系统,消息提供了应用程序之间以及应用程序与 Windows 系统之间进行通讯的手段,换言之,消息是 Windows 线程之间进行通信的一种手段。 Windows系统中有一个系统消息队列3,2位Windows系统为每一个正在执行的Windows 应用程序建立一个消息队列,用来存放该程序可能创建的各种窗口的消息(16 位 Windows 系统中,系统和应用程序共用一个消息队列)。应用程序中含有一段称作”消息循环”的代 码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。Windows 应用程 序创建的每个窗口都在系统核心注册一个相应的窗口函数,窗口函数的程序代码形式上是 一个巨大的 switch 语句,用以处理由消息循环发送到该窗口的消息,窗口函数由 Windows 采用消息驱动的形式直接调用,而不是由应用程序显示调用的,窗口函数处理完消息后又 将控制权返回给 Windows。 Hook (勾子)是一种特殊的消息处理机制。Hook 的本质是一段用以处理系统消息的程 序,

文档评论(0)

wyw118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档