目录 PE 病毒实验 一 实验目的 1掌握PE 病毒的传播原理; 2掌握MASM 编译工具的使用; 3掌握Ollydbg 调试工具的使用; 二 实验准备 1Windows 桌面系统; 2 MASM32; 3Ollydbg 调试工具; 4Stup_PE 等PE 文件修改工具; 三 预备知识 本节主要介绍PE 病毒的基本原理;本节中的例子均属于概念病毒概念病毒主要是具 有感染能力的病毒,可能有的病毒具有自动能力,但一般没有破坏性; 一个Win32 PE 病毒基本上需要具有以下几个功能,或者说需要解决如下几个问题; 病毒的重定位 call 指令一般用来调用一个子程序或用来进行转跳,当这个语句执行的时候,它会先将返回地址即紧接着call 语句之后的那条语句在内存中的真正地址压入堆栈,然后将IP 置为call 语句所指向的地址;当子程序碰到ret 命令后,就会将堆栈顶端的地址弹出来,并将该地址存放在IP 中,这样,主程序就得以继续执行; 以下代码通常用于重定位: call delta ;这条语句执行之后,堆栈顶端为delta 在内存中的真正地址 delta: pop ebp ;这条语句将delta 在内存中的真正地址存放在ebp 寄存器中 lea eax,ebp+offset var1-offset delta;这时eax 中存放着var1 在内存中的真实地址 当pop 语句执行完毕之后,ebp 中存放病毒程序中标号delta 处在内存中的真正地址;如果病毒程序中有一个变量var1,那么该变量在内存中的实际地址应该是ebp+offsetvar1-offset delta,即“参考量delta 在内存中的地址+其它变量与参考量之间的距离=其它变量在内存中的真正地址”;有时候我们也采用ebp-offset delta+offset var1的形式进行变量var1 的重定位;当然还有其它重定位的方法,但是它们的原理基本上都是一样的; 获取API函数地址 如何获取API 函数地址一直是病毒技术中的一个非常重要的话题;要获得API 函数地址,我们首先需要获得Kernel32 的基地址; 下面介绍几种获得Kernel32 基地址的方法: 1 利用程序的返回地址,在其附近搜索KERNEL32 模块基地址; 系统打开一个可执行文件时,它会调用 中的CreateProcess 函数,CreateProcess 函数在完成应用程序装载后,会先将返回地址压入到堆栈顶端,然后转向执行刚才装载的应用程序;当该应用程序结束后,会将返回地址弹出放到EIP 中,继续执行;而这个返回地址正处于 的地址空间之中;这样,利用PE 文件格式的相关特征如03CH 偏移处内容存放着“PE”标志的内存地址等,在此地址的基础上往低地址方向逐渐搜索,必然可以找到 模块的首地址;不过这种暴力搜索方法比较费时,并且可能会碰到一些异常情况; 2 通过SEH 链获得KERNEL32 模块内地址遍历SEH 链,在链中查找prev 成员等于0xFFFFFFFF 的EXCEPTION_REGISTER 结构,该结构中handler 值指向系统异常处理例程,它总是位于KERNEL32 模块中根据这一特性,然后配合类似1的向前搜索方法就可以查找 在内存中的基地址; 3 通过PEB 相关数据结构获取;fs:0指向TEB 结构,首先从fs:30h获得PEB 地址,然后通过PEB0x0c获得PEB_LDR_DATA 数据结构地址, 然后通过从PEB_LDR_DATA0x1c 获取 地址,最后在Flink0x08中得到模块的基地址;这种方法比较通用,适用于2K/XP/2003;在Exploit 的编写中,也通常采用这种方式; 4 对相应操作系统分别给出固定的KERNEL32 模块的基地址,对于不同的Windows 操作系统来说,KERNEL32 模块的地址是固定的,甚至一些API 函数的大致位置都是固定的;譬如,Windows 98 为BFF70000,Windows 2000 为77E80000,WindowsXP 为77E60000;病毒在先对目标操作系统进行大致判断之后,可以直接使用相关KERNEL32模块的基地址;在得到了Kernel32 的模块地址以后,我们就可以在该模块中搜索我们所需要的API 地址;对于给定的API,搜索其地址可以直接通过 的引出表信息搜索,同样我们也可以先搜索出GetProcAddress 和LoadLibrary 两个API 函数的地址,然后利用这两个API 函数得到我们所需要的API 函数地址; 关于各个关键项的具体含义我们在课本PE 文件格式一节中详细描述过,这里不再重复;解决了以上问题之后,我们就知道如何从引出表结构查找我们需要函数的地址了; 下面给出已知API 函数的函数名搜索API 函数地址的过程: ①定位到PE 文件头; ②从PE 文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址; ③从导出表的NumberOfNames 字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环; ④从AddressOfNames 字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数; ⑤如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值如x,然后在AddressOfNameOrdinals 指向的数组中以同样的索引值x 去找数组项中的值,假如该值为m; ⑥以m 值作为索引值,在AddressOfFunctions 字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA 值加上模块实际装入的基址ImageBase,就得到了函数真正的入口地址; 对病毒来说,通常是通过API 函数名称来查找API 函数地址;找到某一函数名称之后,可以通过与目标函数名直接进行字符串比较来判断是否找到所需要的函数;也可以事先对API 函数名称进行相关计算得到一个特征值,以后每次找到某一函数名称之后,对该函数名称用同样的算法计算特征值,如果两值相等,则说明找到需要的目标函数;后者相对而言节省了空间,但可能耗费更多时间; 文件搜索 搜索目标文件是病毒技术中一个非常重要的功能;在Win32 汇编中,通常用到了几个关键的API 函数和一个WIN32_FIND_DATA 结构: FindFirstFile:该函数根据文件名查找文件,如果该函数执行成功,其返回一个搜索句柄;如果出错,返回一个INVALID_HANDLE_VALUE 常数,一旦不再需要,应该用FindClose函数关闭这个句柄; FindNextFile:该函数根据调用FindFirstFile 函数时指定的一个文件名查找下一个文件,返回值非零表示成功,零表示失败;如不再有与指定条件相符的文件,会将GetLastError设置成ERROR_NO_MORE_FILES; FindClose:该函数用来关闭由FindFirstFile 函数创建的一个搜索句柄,返回值非零表示成功,零表示失败;会设置GetLastError; WIN32_FIND_DATA 结构中存放着找到的文件的详细信息,具体结构如下所示: WIN32_FIND_DATA STRUCT dwFileAttributes DWORD ③该目录搜索完毕是则返回,否则继续 ④找到文件还是目录是目录则调用自身函数FindFile,否则继续 ⑤是文件,如符合感染条件,则调用感染模块,否则继续 ⑥搜索下一个文件FindNextFile,转到C 继续FindFile Endp 内存映射文件 内存映射文件提供了一组独立的函数,这组内存映射文件函数将磁盘上的文件的全部或者部分映射到进程虚拟地址空间的某个位置,以后对文件内容的访问就如同在该地址区域内直接对内存访问一样简单;这样,对文件中数据的操作便是直接对内存进行操作,大大地提高了访问的速度,这对于计算机病毒来说,对减少资源占有是非常重要的; 在计算机病毒中,通常采用如下几个步骤: ①调用CreateFile 函数打开想要映射的HOST 程序,返回文件句柄hFile; ②调用CreateFileMapping 函数生成一个建立基于HOST 文件句柄hFile 的内存映射对象,返回内存映射对象句柄hMap; ③调用MapViewOfFile 函数将整个文件一般还要加上病毒体的大小映射到内存中;得到指向映射到内存的第一个字节的指针pMem; ④用刚才得到的指针pMem 对整个HOST 文件进行操作,对HOST 程序进行病毒感染; ⑤调用UnmapViewFile 函数解除文件映射,传入参数是pMem; ⑥调用CloseHandle 来关闭内存映射文件,传入参数是hMap; ⑦调用CloseHandle 来关闭HOST 文件,传入参数是hFile; 病毒如何通过添加新节感染其他文件 PE 病毒感染其他文件的方法之一是在文件中添加一个新节,然后往该新节中添加病毒代码和病毒执行后的返回Host 程序的代码, 并修改文件头中代码开始执行位置AddressOfEntryPoint指向新添加的病毒节的代码入口,以便程序运行后先执行病毒代码;下面我们具体分析一下感染文件步骤这种方法将会在后面的例子中有具体代码介绍; 感染文件的基本步骤 1判断目标文件开始的两个字节是否为“MZ”; 2判断PE 文件标记“PE”; 3判断感染标记,如果已被感染过则跳出继续执行HOST 程序,否则继续; 4获得Directory数据目录的个数,每个数据目录信息占8 个字节; 5得到节表起始位置;Directory 的偏移地址+数据目录占用的字节数=节表起始位置 6得到目前最后节表的末尾偏移紧接其后用于写入一个新的病毒节节表起始位置+节的个数每个节表占用的字节数28H=目前最后节表的末尾偏移; 7写入节表和修改PE 文件其他相关首部 ①写入节名8 字节; ②写入节的实际字节数4 字节; ③写入新节在内存中的开始偏移地址4 字节,同时可以计算出病毒入口位置;上节在内存中的开始偏移地址+上节大小/节对齐+1×节对齐=本节在内存中的开始偏移地址; ④写入本节即病毒节在文件中对齐后的大小; ⑤写入本节在文件中的开始位置;上节在文件中的开始位置+上节对齐后的大小=本节即病毒在文件中的开始位置; ⑥修改映像文件头中的节表数目; ⑦修改AddressOfEntryPoint即程序入口点指向病毒入口位置,同时保存旧的AddressOfEntryPoint,以便返回HOST 继续执行; ⑧更新SizeOfImage内存中整个PE 映像尺寸=原SizeOfImage+病毒节经过内存节对齐后的大小; ⑨写入感染标记后面例子中是放在PE 头中; 8写入病毒代码到新添加的节中; ECX =病毒长度 ESI =病毒代码位置并不一定等于病毒执行代码开始位置 EDI=病毒节写入位置后面例子是在内存映射文件中的相应位置 9将当前文件位置设为文件末尾; 文件操作相关API 函数 1 CreateFile该函数可打开和创建文件、管道、邮槽、通信服务、设备以及控制台,如执行成功,则返回值为文件句柄;返回值INVALID_HANDLE_VALUE 则表示出错;即使函数成功,但若文件存在, 且指定了CREATE_ALWAYS 或 OPEN_ALWAYS , GetLastError 也会设为ERROR_ALREADY_EXISTS; 2 SetFilePointer该函数在一个文件中设置当前的读写位置; 3 ReadFile该函数用来从文件中读取数据; 4 WriteFile该函数用来将数据写入文件; 5 SetEndOfFile该函数针对一个打开的文件,将当前文件位置设为文件末尾; 6 GetFileSize该函数用来返回指定文件的长度;; 7 FlushFileBuffers该函数将指定的文件句柄对应文件的缓冲区的所有内容写入到文件之中,并刷新内部文件缓冲区; 病毒如何返回到Host程序 为了提高自己的生存能力,病毒是不应该破坏HOST 程序的,既然如此,病毒应该在病毒执行完毕后,立刻将控制权交给HOST 程序,病毒如何做到这一点呢 返回HOST 程序相对来说比较简单,病毒在修改被感染文件代码开始执行位置AddressOfEntryPoint时,会保存原来的值,这样,病毒在执行完病毒代码之后用一个跳转语句跳到这段代码处继续执行即可; 四 实验内容 在实验之前,必须关闭防病毒软件;否则实验可能无法正常完成; 1 使用RadASM 或者Masm32 自带的QEDITOR 编辑和编译程序源代码;下载Masm32V8,并将其安装到C 盘根目录中C:\\masm32,进入C:\\masm32,打开 编写源代码,并保存为.asm 文件例子中有4 个asm 文件,这4 个asm 文件应该在同一个目录下,其中 为主文件;也可以选择其他编辑软件编写好汇编代码之后,然后用 打开该asm文件; 打开,选择QEDITOR 的菜单栏进行masm 和link 将会得到最终的可执行程序;发现编译通不过: 查看源代码,找出错误并修改: 然后重新编译,完成后则可生成的可执行病毒程序: 病毒程序由于需要对自身代码节进行修改,但默认情况下代码节是不可写的,因此要将代码节的属性进行修改;这里给出利用PE 修改工具直接修改可执行程序的方法; 编译完毕之后,利用PE 修改工具对目标文件代码节的属性进行修改; 我们可以通过Stud_PE 等程序来修改C:\\masm32\\ 程序的.text 节的属性为可写选中“MEM_WRITE”,然后保存即可; 利用Sutd_PE 对PE 可执行程序的节属性进行修改 2 编译或者任意选择一个简单的PE 可执行程序例如功能为“弹出一个窗口”的程序或随便选择一个小游戏等,作为被感染的目标程序,将该程序放在病毒程序指定的目录,并以指定的文件名命令;在这里的感染中,被感染程序命名为,并且和病毒感染程序 在同一个目录之中; 3 执行编译出来的病毒程序; 4 如果顺利,则现在的 程序应该已被感染,它将首先执行病毒程序的代码,执行完毕之后将继续执行原有程序的功能代码; 5 打开Ollydbg或Ollydbg,SoftIce,W32dasm对编译出来的可执行文件进行调试;如果感染程序功能不正常,则通过Ollydbg 来寻找原因,并对源程序进行修正; 6 跟踪API 函数的获取以及添加新节的过程; 7 利用UltraEdit 或者其他PE 编辑工具恢复被感染的程序; 观察病毒文件代码,打开被感染文件: 可以看到,文件中插入了病毒的那段代码;对其进行修改即可还原文件; 完全脆弱图像水印 一 实验目的 了解什么是脆弱性水印和半脆弱性水印,掌握实现半脆弱水印和脆弱水印的原理,设计并实现一种完全脆弱水印的实验方法; 二 实验环境 1Windows XP操作系统 2科学计算软件 3图像文件 三 原理简介 在保证多媒体信息一定感知质量的前提下,将数字、序列号、文字、图像标志等做为水印嵌入到多媒体数据中,当多媒体内容受到怀疑时,可将水印提取出来用于媒体内容的真假识别,并指出篡改位置,甚至攻击类型等;这种水印称为脆弱水印,脆弱水印分为完全脆弱水印和半脆弱水印; 当原始载体内容发生改变时,被嵌入的水印信息就遭到破坏,因此图像的接收方就不能完整地提取水印信息;从而可以鉴定原始数据是否被篡改;完全脆弱水印主要用于完整性保护,图像不能发生任何修改,图像如果发生一个比特的修改都会影响水印信息的提取;而半脆弱水印对一般图像处理如:滤波、加噪声、压缩等有较强的免疫能力鲁棒性,但是能检测到对图像的恶意篡改,一般用于内容保护; 完全脆弱水印系统要求图像的任何细微的变动都会做出拒绝判决;完全脆弱水印一般是从空域LSB水印算法演变过来,其中最有代表性的是校验和算法、公钥认证水印算法、查找表水印算法; 校验和算法原理如下:首先计算每个像素字节最高7位的checksum值,checksum值定义为一系列相同长度的二进制的模2和;此长度为8个连续像素中的最高7位的联合长度,共56位;在checksum值计算过程中,整幅图像中的每个像素都参与计算,但每个都只计算一次,最后结果为56位的数据;随后在图像中随机选取56个像素,将每个像素的最低位变为与上述checksum比特位相同,以此存储checksum值,从而完成水印的嵌入;图像认证时,只需要将被检测图像的CHECKSUM值与提取的水印做比较,便可以知道图像是否衩篡改; 在这个算法中,随机选择的存放Checksum值的图像位置以及Checksum值本身构成了水印信息;在提取水印时,只需计算图像的Checksum值并与水印信息中的Checksum值进行比较,便可知水印是否因遭受篡改而被破坏; 四 实验步骤 水印嵌入 根据以上所说的checksum算法,我在环境下面实现了该程序,由于win7的兼容性问题,程序只能是windows经典模式下面可以运行:img = imread'C:\\Documents and Settings\\Administrator\\桌面\\'; x =rgb2grayimg; wide,high=sizex; temp=uint80 uint80 uint80 uint80 uint80 uint80 uint80 uint80; for ii=1:wide for jj=1:high if mod wideii-1+jj,8 == 0 temp1=bitxortemp1,xii,jj; elseif mod wideii-1+jj,8 == 1 temp2=bitxortemp2,xii,jj; elseif mod wideii-1+jj,8 == 2 temp3=bitxortemp3,xii,jj; elseif mod wideii-1+jj,8 == 3 temp4=bitxortemp4,xii,jj; elseif mod wideii-1+jj,8 == 4 temp5=bitxortemp5,xii,jj; elseif mod wideii-1+jj,8 == 5 temp6=bitxortemp6,xii,jj; elseif mod wideii-1+jj,8 == 6 temp7=bitxortemp7,xii,jj; elseif mod wideii-1+jj,8 == 7 temp8=bitxortemp8,xii,jj; end end end tpwide=1; tphigh=1; counter=1; tp=0; for ii=1:8 for kk=1:7 if kk==1 tp=bitandtempii,uint8128; if tp == 0 if modxcounter,2 == 1 xcounter=bitand xcounter, uint8254; end else if modxcounter,2 == 0 xcounter=bitorxcounter,uint81; end end elseif kk==2 tp=bitandtempii,uint864; if tp == 0 if modxcounter,2 == 1 xcounter=bitand xcounter, uint8254; end else if modxcounter,2 == 0 xcounter=bitorxcounter,uint81; end end elseif kk==3 tp=bitandtempii,uint832; if tp == 0 if modxcounter,2 == 1 xcounter=bitand xcounter, uint8254; end else if modxcounter,2 == 0 xcounter=bitorxcounter,uint81; end end elseif kk==4 tp=bitandtempii,uint816; if tp == 0 if modxcounter,2 == 1 xcounter=bitand xcounter, uint8254; end else if modxcounter,2 == 0 xcounter=bitorxcounter,uint81; end end elseif kk==5 tp=bitandtempii,uint88; if tp == 0 if modxcounter,2 == 1 xcounter=bitand xcounter, uint8254; end else if modxcounter,2 == 0 xcounter=bitorxcounter,uint81; end end elseif kk==6 tp=bitandtempii,uint84; if tp == 0 if modxcounter,2 == 1 xcounter=bitand xcounter, uint8254; end else if modxcounter,2 == 0 xcounter=bitorxcounter,uint81; end end elseif kk==7 tp=bitandtempii,uint82; if tp == 0 if modxcounter,2 == 1 xcounter=bitand xcounter, uint8254; end else if modxcounter,2 == 0 xcounter=bitorxcounter,uint81; end end end counter=counter+1; end %for end% for 判断图像是否被修改或篡改 原始图像如下: 用上述程序处理图像,得到的部分水印信息如下: 对图像做改动,效果如下: 水印信息随之改变: 五 实验总结 从实验结果上看,水印的嵌入与提取都是正确的,在改变了图像信息之后,用于校验的水印也随之改变,从而使得发现图像被修改的信息; 联想网御N3000 IDS 一 实验目的及要求 1掌握IDS的基本知识和技术包括探测器、规则匹配、事件分析等 2掌握联想网御N3000的基本技术 3能够进行N3000的基本配置及检测报表分析并能从中理解IDS在网络安全防护中的重要作用; 二 实验环境 硬件设备:PC、实验室信息安全拓扑环境软件环境:Windows 2000、联想网御N3000 IDS 三 实验基础 有关联想网御N3000 IDS请在上实验课时及时向任课教师索取,同学们应对照该技术文档逐步掌握该款IDS的功能,并能进行一系列的参数配置; 下面就一些基本情况做一下介绍; 网御IDS入侵检测系统 V3.2.5是基于网络的实时入侵检测及响应系统Intrusion Detection and Response System;网御IDS入侵检测系统 提供24小时网络监视功能,实时检测从外部及内部访问的非法用户及入侵行为,提前通知管理员,同时根据危险情况自动与防火墙的联动,保护网络安全; 产品组成及环境 产品的组成 网御IDS入侵检测系统由下列成份组成:控制台安装光盘一张、详细管理说明书、一套探测器; 探测器具有五个网卡;从右至左依次为通讯口eth0,监听口千兆电口|eth4,备用口eth3,监听口千兆光纤|eth2,备用口eth1;接口顺序为eth1|eth2|eth3/eth4/前面板上同时布置了Console口;面板的中间分别有电源和探测器工作状态指示灯;如图: 系统要求 探测器和控制台分别安装在不同的操作平台上;以下是以太网络环境中以40%网络使用量为基准时所需的系统配置;系统要求: 项目 操作系统 控制台 Windows 2000 ProfessionalSP4 CPU 内存 网络接口 HDD 其他硬件 网络协议 Intel Pentium III 700MHz以上 512MB 10/100M Ethernet card 1只 40GB以上 CDROM、备份装备DAT TCP/IP 安装前注意事项 安装前确认列表: 确认 重要程度 ★ ★ 项 目 确认硬盘格式为NTFS 确认管理员账号及密码 ★ ★ ★ ★ ★ ★ ★ ★★ ★★ ★ ★ 关闭或删除其它账号 确认关闭Guest账号 泄漏本地安全权限 设置安全密码 设置管理员账号锁定功能 设置管理员账号 删除不必要共享文件 在必要的共享文件中设置适当的ACL 安装最新的Service Pack 安装最新的post-Service Pack 删除不必要服务 四 实验步骤 安装控制台 控制台安装位置 一个中央控制台可以控制位于一个网络或远程网络的探测器,中央控制台实时从探测器收到入侵检测结果,安全管理员及时做出响应;如果不是特殊的原因,推荐探测器和控制台不要安装在同一个操作平台上,因为控制台工作中占用很多系统资源,会影响探测器的检测及质量效率; 架构网络环境 ·开始菜单中的设置→网络及拨号连接中配置网络; ·一个网卡时,其它设置采用默认设置; ·两个网卡时必须只对其中通讯口的网卡安装TCP/IP协议;因为外网的主机试图与控制台连接 控制台安装步骤 执行安装程序: 把安装盘放入光驱,自动运行安装程序或手动选择执行“Install 网御IDS入侵检测系统 Manager 3.2.5”程序; 自动启动安装程序 控制台安装-欢迎使用... 网御IDS入侵检测系统控制台安装时,如果提示重新安装,应先把原有的系统完全删除之后再重新安装; 仔细阅读网御IDS入侵检测系统使用协议,如果同意请选“是”,不同意则选“否”; 控制台安装-协议画面 输入用户信息,按“下一步”; 控制台安装-输入用户信息 安装控制台的默认路径为“C:\\Program Files\\Lenovo Information Security\\IDS\\Manager”;假如更改安装路径,则选择“浏览”指定安装的路径,按“确认”按钮;再按“下一步”; 控制台安装-选择安装路径 控制台安装-选择安装目录 程序文件夹选择,决定程序文件夹中控制台的名称;按“下一步”继续; 控制台安装-选择程序文件夹 确认安装事项后,按“下一步”按钮;开始复制文件; 开始安装控制台 控制台开始复制文件; 控制台安装程序正在进行 控制台正在复制文件; 控制台安装程序正在复制文件 文件复制结束,设置管理员账号和密码;注:在“ 管理员登录”中使用此帐号和密码 控制台安装-管理员登录 ※ 管理员账号和密码有限制要求; ※ 帐号为:任意字母、数字; 如:administrator ※ 密码必需为:字母和数字混合;如:admin123 管理员登录结束,并生成认证 用于控制台的认证生成之后,出现提示信息画面;把生成的认证文件复制到探测器安装的Certkeys文件夹中,按“确认”按钮,出现安装结束画面,结束安装; 控制台安装-生成认证文件 结束安装,出现如下“安装结束”画面或出现要求重新启动的画面,按“结束”按钮,结束安装,重新启动系统; 控制台安装-安装结束 确认控制台安装 控制台安装后,生成程序安装文件夹;下图为程序文件夹设置的状态; 控制台安装确认-控制台程序文件夹设置确认 控制台安装后,可在添加/删除程序中确认安装与否; 控制台安装确认-添加/删除程序里确认 确认控制台应用程序安装的目录; 控制台安装确认-控制台文件夹安装确认 没有提供探测器和控制台之间的同步化工具,为了正确的检测,把控制台和探测器的时间尽可能的设置为相同; 安装探测器 探测器的安装位置 探测器可安装在如下三个区域: Red Zone危险区域,Internet最敏感反映的设置,检测从外部到内部的所有数据流,生成最多的False alarm; Green Zone正常区域,DMZ比Red Zone敏感度降低,防火墙控制数据流,生成较少的False alarm; Blue Zone可信区域 Internal事先设置为入侵检测系统忽略的数据包和正常许可的数据包之外,试图连接此处的行为都被视为恶意连接,尽管生成最少的False alarm,但对此处的警告信息应比别的区域更加注意;: 探测器安装前准备 为了更好的安装产品软件需要准备如下产品: 安装光盘 安装说明书 证书及控制台认证文件 认证密钥: 控制台安装之后在CertKey 中生成,文件格式为 .0 网卡 NICs 安装探测器须要两个或两个以上网卡;一只网卡用于与控制台通信用,另一只或其它网卡用于监听网络用; 安装探测器配置IP地址和路由 使用超级终端登录探测器,设设置超级终端的波特率:115200;数据位:8;奇偶校验:无;停止位:1;流量控制:无; 按回车键,建立连接后出现Lenovo login: 提示符,输入正确的账号和密码,就能够登陆网御IDS探测器,进入网御IDS探测器的设置模式;网御IDS探测器出厂时,默认的串口管理员账号和密码分别为:lenovo/default,这里的口令需要输入两次,都是default; 进入系统后出现 Lenovo> 提示符,这时输入en,再输入正确的高级管理员密码,就能够对网御IDS探测器进行设置; 网御IDS探测器出厂时,默认的高级管理员密码为:default; 1配置IDS的通讯口IP地址 配置如下: 进入设置模式输入“configure terminal” 输入255.0”,/定义通讯网口eth0的地址和掩码;/ 输入”done” 退出到高级管理员模式 2配置IDS的静态路由 配置如下: 进入设置模式输入“configure terminal” 输入“ip route 0.0.0通讯口所在VLAN的网关地址 ”,/定义通讯网口的静态路由;现在为将服务器作为控制台,将来可以让所有小组PC作为控制台直接访问IDS/ 输入”done” /退出到高级管理员模式/ 3向探测器IDS传输认证密钥 这些步骤完成后,向探测器传输认证密钥;从控制台复制认证文件.0,上传到探测器; 详细步骤如下: 先移动到控制台系统上具有CertKyes目录C:\\Program Files\\Lenovo Information Security\\IDS\\Manager\\CertKeys>;用FTP进行连接;IDS探测器出厂时,默认的文件传送账号和密码分别为:certkey/no1ids注意,这里是数字1而不是字母l; 过程如下: 1、进入管理主机的命令行提示符 2、进入目录c:\\program files\\lenovo information security\\ids\\manager\\certkeys 3、 4、输入用户名:certkey 5、password: 输入密码:no1ids 6、ftp>bin 7、ftp>put .0 8、ftp>bye 见下图: 输入bin,切换到二进制模式,put .0,将通讯密钥传输到探测器上 注:把证书ftp传入IDS后,用串口进入IDS后执行命令:Lenovo write ids 配置探测器 查看主控制台信息: Lenovo sensor manager 查看监听口信息: Lenovo sensor nic 探测器运行状态 启动探测器: Lenovo sensor start Sensor Service Start: -Sensor service has been successfully started. 停止探测器: Lenovo sensor stop Sensor Service Stop: -Sensor service has been successfully stopped. 查看探测器状态: Lenovo sensor status Sensor Service Status: -Current State: SERVICE_RUNNING 控制台的设置 生成完整性值 控制台对控制台相关的注册表以及数据库内容进行完整性检查;因此第一次启动控制台时自动生成完整性值; 启动时完整性检查画面 管理员登录 设置控制台程序时出现,输入要应用的管理员的ID;丢失密码时不能实行控制台程序,所以切记密码; 忘记密码时,请与联系,请求技术支持; 注:用户名和密码是安装控制台时设置的密码 管理员登录 只有正确输入管理员的名字密码才能实行控制台程序; 账号被锁定时,请与网御IDS入侵检测系统供应商联系,请求技术支持; 注册探测器 控制台为了连接并管理探测器首先要进行探测器注册; 为了登录探测器 要知道探测器的IP地址和允许与控制台连接的端口; 在主菜单选择“探测器=>注册”或者在Try View点击鼠标右键选择探测器登录菜单出现如下 “探测器注册”对话框; 注册探测器对话框 输入要注册的探测器的IP:是在2-3-3-1配置的通讯口IP地址; 输入要注册的探测器的端口:4433 默认的端口; 输入要注册的探测器的名称: IDS以各地名称拼音缩写命名,如: IDS名字为IDSN3000; 核心交换机为IDS设置了4个镜像口以方便实验4/5、4/6、4/7、4/8 输入完成后选择“确认”键; 注册成功后,“左边窗口”的根目录“Trust Sensors”下显示注册的探测器,同时“系统日志窗”出现”探测器探测器 IP地址已注册”的检测日志; 点击确认执行探测器注册,探测器对象检测对象添加,探测器的规则库以及响应策略初始化等任务; 实施网络监测 1无监听口监听口空置,即监听本地探测器 2PC间进行大包-l 65500ping,监控N3000控制台 3事件中显示死亡之ping