实践2网络攻防实验环境构建文档格式.docx
《实践2网络攻防实验环境构建文档格式.docx》由会员分享,可在线阅读,更多相关《实践2网络攻防实验环境构建文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
环境的可控性、可重复性
“我的地盘我作主”
网络攻防实验环境的基本组成
o攻击机:
发起网络攻击的主机
nWin32:
WindowsXP
nLinux:
morepowerful,建议攻击平台
o攻击目标主机(靶机)
nWin32桌面操作系统:
nLinux服务器操作系统:
Ubuntu/…
nWin32服务器操作系统:
Win2K3/Win2KServer
o攻击检测、分析与防御平台
n攻击目标主机网关位置
n网关:
网络流分析、检测、防御
n攻击目标主机:
系统日志采集与分析
o构建一个基本网络攻防环境,需要4-5台主机及相关联网设备
V-Net:
基于虚拟蜜网的攻防实验环境
o虚拟机技术(VirtualMachine)
n通过虚拟化技术在一台主机上构建攻防实验环境
n降低部署成本同时提高易管理性
n虚拟机软件:
VMwareWorkstation/vSphere
o蜜网技术(Honeynet)
n陷阱网络:
诱骗和分析网络攻击
n高交互式蜜罐:
提供攻击目标环境
n蜜网网关/Sebek:
攻击网络/系统行为捕获与分析
o虚拟机+蜜网=虚拟蜜网(VirtualHoneynet)
基于虚拟蜜网的攻防实验环境拓扑
2.虚拟化技术与云计算热潮
虚拟化技术和云计算热潮
oGoogleTrends:
虚拟化和云计算查询热度趋势比较
o虚拟化技术:
21世纪以来的IT技术热点
o云计算:
近年来IT领域最热点的词汇
什么是虚拟化?
o虚拟化(Virtualization)
n创建某种事物的虚拟(非真实)版本的方法和过程.
o虚拟(Virtual)
n通常用于区分纯粹概念上的事物和拥有物理实体的事物.
o计算领域中的虚拟化[][webopedia]
n创建某种计算资源的虚拟版本的方法和过程.
n某种事物->
某种计算资源
n示例:
处理器,内存,磁盘,完整的计算机,网络等
虚拟化技术的提出与复兴
虚拟化技术的发展过程
虚拟化技术的复兴:
第一代虚拟化
o第一代虚拟化技术:
x86虚拟化(1997-2005)
n1997:
VirtualPCforMacintoshbyConnectix
n1998:
DianeGreene和MendelRosenblum从
Stanford创建VMware公司,申请专利技术
n1999:
VMwareVirtualPlatform(Workstation)forx86
n2001:
VMwareGSXServerproduct(Server,2006年免费发布)
03:
MS并购Connectix(VirtualPC&
VirtualServer),EMC并购VMware$635million
第一代虚拟化技术:
基于动态翻译技术的完全虚拟化
第二代虚拟化
o第二代虚拟化技术:
硬件/操作系统支持的虚拟化技术(05-)
o硬件支持虚拟化技术-nativevirtualization
n2005:
Intel在芯片中开始支持虚拟机IVT
(Vanderpool/Silvervale)
n2006:
AMD在芯片中开始支持虚拟机AMD-V(Pacifica)
o操作系统支持虚拟化技术-paravirtualization
n2002:
DenalibyWashingtonU.
n2003:
XenbyXenSource(fromU.ofCamb.)
VirtualMachineInterfacebyVMware
n2008:
XenSourceisalsodevelopingacompatibilitylayerforMSWindowsServer2008
o虚拟基础设施
2005-:
VirtualInfrastructurebyVMware
计算机系统最重要的三个接口
oISA:
指令集架构
nInterface3:
系统ISA,
OS可见,用于管理硬件
nInterface4:
用户ISA,
应用程序可见
oABI:
应用程序二进制接口
nInterface2:
系统调用
接口
用户ISA
oAPI:
应用程序编程接口
nInterface1:
高级编程
语言库函数调用
nInterface4:
什么是虚拟机?
机器(“machine”)的虚拟版本
那什么是机器"
Machine"
?
从一个进程的角度定义机器
n一个逻辑内存地址空间;
用户级的指令和寄存器;
I/O(仅通过
操作系统系统调用可见)
实际上,ABI接口定义了进程角度所看到的机器;
API接口定义了一个高级编程语言程序所看到的机器.
o从操作系统的角度定义机器
n底层硬件特性定义了机器.
nISA提供了操作系统和机器之间的接口.
进程级虚拟机和系统级虚拟机
o进程级虚拟机
进程级虚拟机是执行单一进程的虚拟平台.JavaVM,FVMSandbox,etc.
o系统级虚拟机
系统级虚拟机提供了支持操作系统和上层众多应用进程的一个完整、持久稳固的系统环境.VMware,Qemu,etc.
o基本概念guest,host,runtime,VMM
系统级虚拟机实现需求和目标
o系统级虚拟机实现需求
n向GuestOS提供与真实硬件相类似的硬件接口
n硬件接口:
CPU,Memory,I/O(Disk,Network,外设)
o系统级虚拟机实现目标
n兼容性:
具备运行历史遗留软件的能力
n性能:
较低的虚拟化性能开销
n简单性:
支持安全隔离(没有/很少安全缺陷),可靠性(不失效)
n多种不同技术,分别提供不同的设计平衡
CPU虚拟化技术
oCPU架构可虚拟化:
n如果支持基础的虚拟化技术——直接执行(directexecution)
o直接执行
n在VMM保持对CPU的最终控制权前提下,能够让虚拟机中的
指令直接在真实主机上运行
n实现直接执行需要:
o虚拟机特权级和非特权级代码:
CPU的非特权模式执行
oVMM:
CPU特权模式执行
o虚拟机执行特权操作时:
CPUtraps到VMM,在模拟的虚拟机状
态上仿真执行特权操作
o提供可虚拟化的CPU体系框架的关键
n提供trapsemantics,使得VMM可以安全的、透明地、直接的
使用CPU执行虚拟机.
CPU虚拟化的挑战
o大部分modernCPU并不支持可虚
拟化,如x86
o需直接访问内存和硬件的操作系统
特权代码必须在Ring0执行
oCPU虚拟化必须在GuestOS下面
添加VMM(Ring0)
o一些关键指令在非Ring0权限级执
行具有不同语义:
不能有效虚拟化,
Figure:
x86privilegelevel
o非特权级指令可以查询CPU的当前architecturewithoutvirtualization
特权级,x86并不trap这些指令
CPU虚拟化技术:
动态代码翻译
o结合直接执行和动态代码翻译
n运行普通程序代码的CPU模式可虚拟化:
直接运行
保证高性能
n不可虚拟化的特权级CPU模式:
代码翻译器
o快速:
相同ISA架构时,较低延迟
o动态:
paravirtualization(静态)
o兼容:
对GuestOS全透明,可以
运行无需修改的历史遗留软件Figure:
thebinarytranslation
o动态代码翻译技术是无需硬件和OS支approachtox86virtualization
持实现对特权指令虚拟化唯一选择.
Paravirtualization
oParavirualization
nalongsidevirtualization
nOS支持的虚拟化
nVMM设计者需要定义虚拟机接口,将不可虚拟化的指令替换为
可虚拟化/可高效直接执行的等价指令
优势:
消除trap等虚拟化overhead,高效
弱势:
不兼容,需要修改操作系统,对商业OS第三方无法移植
oXen,WindowsSvr2008,
VMwareVirtualMachine
Interface
NativeVirtualization
Figure:
thenativevirtualizationapproachtox86virtualization
o可虚拟化CPU架构
n随着虚拟化技术复兴,硬件厂商快速跟进并推出简化虚拟化技
术的CPU新特性
nIntelVirtualizationTechnology(VT-x)
nAMD’sAMD-V
o针对特权代码的虚拟化
n在Ring0之下增加一个新的rootmode(VMM)
n特权代码会自动trap至hypervisor,无需paravirtualization或动态代码翻译
ngueststate存储于VirtualMachineControlStructures(VT-x)/VirtualMachineControlBlocks(AMD-v)
n弱势:
较高的hypervisor到guest的转换延迟
nVMware使用场景受限(64-bitguestsupport),Xen3.0
小结
o三种现有的CPU虚拟化技术
动态代码翻译
Paravirtualization
NativeVirtualization
兼容性
优秀
差
性能
好
一般
简单性
n动态代码翻译,Paravirtualization,NativeVirtualization
n各种技术具有独特的优势和弱势
nCPU虚