1.网络攻防实验环境构建1.网络攻防实验环境为什么需要网络攻防实验环境?网络攻防是基础知识和实践紧密结合的技术方向基础知识:计算机各个方面专业知识都要“略懂”操作系统、网络的基本结构与底层机制编程语言、汇编语言及软件编译执行机理密码学与信息安全专业基础实践技能:各种网络和系统实践技能也要“略懂”系统底层机制进行深入探究的技术能力:网络、程序…掌握网络渗透测试的实践技能->支持更好的研究和防御掌握对攻击的分析实践技能->了解安全威胁,支持更好的防范掌握攻击防御和响应技能专属的网络攻防实验环境学习网络攻防技术需要一个实验环境学打篮球:你就需要篮球场拿Internet直接作为攻防实验学习环境违背传统黑客道德与精神效率低下学习方式,“脚本小子”/低水平骇客专属的网络攻防实验环境环境的可控性、可重复性“我的地盘我作主”网络攻防实验环境的基本组成o攻击机:发起网络攻击的主机nWin32:WindowsXPnLinux:morepowerful,建议攻击平台o攻击目标主机(靶机)nWin32桌面操作系统:WindowsXPnLinux服务器操作系统:Ubuntu/…nWin32服务器操作系统:Win2K3/Win2KServero攻击检测、分析与防御平台n攻击目标主机网关位置n网关:网络流分析、检测、防御n攻击目标主机:系统日志采集与分析o构建一个基本网络攻防环境,需要4-5台主机及相关联网设备V-Net:基于虚拟蜜网的攻防实验环境o虚拟机技术(VirtualMachine)n通过虚拟化技术在一台主机上构建攻防实验环境n降低部署成本同时提高易管理性n虚拟机软件:VMwareWorkstation/vSphereo蜜网技术(Honeynet)n陷阱网络:诱骗和分析网络攻击n高交互式蜜罐:提供攻击目标环境n蜜网网关/Sebek:攻击网络/系统行为捕获与分析o虚拟机+蜜网=虚拟蜜网(VirtualHoneynet)基于虚拟蜜网的攻防实验环境拓扑2.虚拟化技术与云计算热潮虚拟化技术和云计算热潮oGoogleTrends:虚拟化和云计算查询热度趋势比较o虚拟化技术:21世纪以来的IT技术热点o云计算:近年来IT领域最热点的词汇什么是虚拟化?o虚拟化(Virtualization)n创建某种事物的虚拟(非真实)版本的方法和过程.o虚拟(Virtual)n通常用于区分纯粹概念上的事物和拥有物理实体的事物.o计算领域中的虚拟化[whatis.com][webopedia]n创建某种计算资源的虚拟版本的方法和过程.n某种事物->某种计算资源n示例:处理器,内存,磁盘,完整的计算机,网络等虚拟化技术的提出与复兴虚拟化技术的发展过程虚拟化技术的复兴:第一代虚拟化o第一代虚拟化技术:x86虚拟化(1997-2005)n1997:VirtualPCforMacintoshbyConnectixn1998:DianeGreene和MendelRosenblum从Stanford创建VMware公司,申请专利技术n1999:VMwareVirtualPlatform(Workstation)forx86n2001:VMwareGSXServerproduct(Server,2006年免费发布)03:MS并购Connectix(VirtualPC&VirtualServer),EMC并购VMware$635million第一代虚拟化技术:基于动态翻译技术的完全虚拟化虚拟化技术的复兴:第二代虚拟化o第二代虚拟化技术:硬件/操作系统支持的虚拟化技术(05-)o硬件支持虚拟化技术-nativevirtualizationn2005:Intel在芯片中开始支持虚拟机IVT(Vanderpool/Silvervale)n2006:AMD在芯片中开始支持虚拟机AMD-V(Pacifica)o操作系统支持虚拟化技术-paravirtualizationn2002:DenalibyWashingtonU.n2003:XenbyXenSource(fromU.ofCamb.)n2005:VirtualMachineInterfacebyVMwaren2008:XenSourceisalsodevelopingacompatibilitylayerforMSWindowsServer2008o虚拟基础设施2005-:VirtualInfrastructurebyVMware计算机系统最重要的三个接口oISA:指令集架构nInterface3:系统ISA,OS可见,用于管理硬件nInterface4:用户ISA,应用程序可见oABI:应用程序二进制接口nInterface2:系统调用接口nInterface4:用户ISAoAPI:应用程序编程接口nInterface1:高级编程语言库函数调用nInterface4:用户ISA什么是虚拟机?机器(“machine”)的虚拟版本那什么是机器"Machine"?从一个进程的角度定义机器n一个逻辑内存地址空间;用户级的指令和寄存器;I/O(仅通过操作系统系统调用可见)实际上,ABI接口定义了进程角度所看到的机器;API接口定义了一个高级编程语言程序所看到的机器.o从操作系统的角度定义机器n底层...