上游究通大学 Infection of Bios Rootkit SHANGHAI JIAO TONG UNIVERSITY 在攻击时,插入U盘,进行JEFI Shell,,Startup.nsh引导启动 chipsec.efi,然后chipsec.efi把三个.mod模块写到Bios ROM.上去,重 启电脑时,Bios Rootkit就开始工作了。 UEFI Bios Operating System EFI Applicateion.... Startup directory Bios Rootkit Write file dropper.mod scout.exe Run soldier.exe Support EFI Driver elite rkloader.mod ntfs.mod 网络空间安全学院
Infection of Bios Rootkit 在攻击时,插入U盘,进行UEFI Shell,Startup.nsh引导启动 chipsec.efi,然后chipsec.efi把三个.mod模块写到Bios ROM上去,重 启电脑时,Bios Rootkit就开始工作了
上游究通大学 SHANGHAI JIAO TONG UNIVERSITY HK UEFI BOOTKIT支持的主板类型: HK UEFI BOOTKIT支持的操作系统类型: 主板型号 HK UEFI BOOTKIT是否支持 AMI UEFI 不支持 主板型号 HK UEFI BOOTKIT AMI BIOS 不支持 是否支持 AWARD BIOS 不支持 Windows XP X86 不支持 Phoenix UEFI 不支持 Windows XP X64 不支持 INSYDE UEFI 支持(极少机型) Windows Vista X86 不支持 Windows Vista X64 MEBROMI支持的服务器操作系统类型: 支持 Windows 7 X86 支持 主板型号 MEBROMI是 Windows 7 X64 支持 否支持 Windows 8 X86 不支持 Windows Server 2003 X86 不支持 Windows 8 X64 不支持 Windows Server 2003 X64 不支持 Windows 8.1 X86 不支持 Windows Server 2008 X86 不支持 Windows 8.1 X64 不支持 Windows Server 2008 X64 仅支持UEFI引 Windows 10 X86 不支持 导 Windows 10 X64 不支持 Windows Server 2008 R2 X64 仅支持UEFI 引导 Windows Server 2012 X64 不支持 Windows Server 2012 R2 X64 不支持 网络空间安全学院
上游充通大警 三、16位COM可执行文件病毒原理及实验 SHANGHAI JIAO TONG UNIVERSITY COM格式 最简单的可执行文件就是DOS下的以COM(Copy Of Memory) 文件。 COM格式文件最大64KB,内含16位程序的二进制代码映像, 没有重定位信息。 COM文件包含程序二进制代码的一个绝对映像,也就是说,为 了运行程序准确的处理器指令和内存中的数据,DOS通过直接 把该映像从文件拷贝到内存来加载COM程序,系统不需要作重 定位工作。 网络空间安全学院
三、 16位COM可执行文件病毒原理及实验 COM格式 • 最简单的可执行文件就是DOS下的以COM(Copy Of Memory) 文件。 • COM格式文件最大64KB,内含16位程序的二进制代码映像, 没有重定位信息。 • COM文件包含程序二进制代码的一个绝对映像,也就是说,为 了运行程序准确的处理器指令和内存中的数据,DOS通过直接 把该映像从文件拷贝到内存来加载COM程序,系统不需要作重 定位工作
上游充通大警 SHANGHAI JIAO TONG UNIVERSITY 加载COM程序 DOS尝试分配内存。因为COM程序必须位于一个64K的段中, 所以COM文件的大小不能超过65,024(64K减去用于PSP的256 字节和用于一个起始堆栈的至少256字节)。 ● 如果DOS不能为程序、一个PSP、一个起始堆栈分配足够内存, 则分配尝试失败。 否则,DOS分配尽可能多的内存(直至所有保留内存),即使 COM程序本身不能大于64K。 在试图运行另一个程序或分配另外的内存之前,大部分COM程 序释放任何不需要的内存。 分配内存后,DOS在该内存的头256字节建立一个PSP (Program Segment Prefix:程序段前缀) 网络空间安全学院
加载COM程序 • DOS尝试分配内存。因为COM程序必须位于一个64K的段中, 所以COM文件的大小不能超过65,024(64K减去用于PSP的256 字节和用于一个起始堆栈的至少256字节)。 • 如果DOS不能为程序、一个PSP、一个起始堆栈分配足够内存, 则分配尝试失败。 • 否则,DOS分配尽可能多的内存(直至所有保留内存),即使 COM程序本身不能大于64K。 • 在试图运行另一个程序或分配另外的内存之前,大部分COM程 序释放任何不需要的内存。 • 分配内存后,DOS在该内存的头256字节建立一个PSP (Program Segment Prefix:程序段前缀)
上海文通大学 SHANGHAI JIAO TONG UNIVERSITY ·创建PSP后,DOS在PSP后立即开始(偏移100H)加载COM文 件,它置SS、DS和ES为PSP的段地址,接着创建一个堆栈。 DOS通过把控制传递偏移100H处的指令而启动程序。程序设计 者必须保证COM文件的第一条指令是程序的入口点。 。 因为程序是在偏移100H处加载,因此所有代码和数据偏移也必 须相对于100H。汇编语言程序设计者可通过置程序的初值为 100H而保证这一点(例如,通过在源代码的开始使用语句og 100H)。 网络空间安全学院
• 创建PSP后,DOS在PSP后立即开始(偏移100H)加载COM文 件,它置SS、DS和ES为PSP的段地址,接着创建一个堆栈。 • DOS通过把控制传递偏移100H处的指令而启动程序。程序设计 者必须保证COM文件的第一条指令是程序的入口点。 • 因为程序是在偏移100H处加载,因此所有代码和数据偏移也必 须相对于100H。汇编语言程序设计者可通过置程序的初值为 100H而保证这一点(例如,通过在源代码的开始使用语句org 100H)