公告摘要
项目编号-
预算金额-
招标联系人-
标书截止时间-
投标截止时间-
公告正文

网络通信与安全紫金山实验室 - 竞价公告 (CBPMLABS2024000220)
发布时间:2024-11-08 10:31:46 截止时间:2024-11-11 10:41:42
基本信息:
申购主题:ELF二进制文件基地址随机化组件(定制化软件开发)项目
报价要求:国产含税
发票类型:增值税专用发票
付款方式:货到验收合格后付款
送货时间:合同签订后60天内送达
安装要求:免费上门安装(含材料费)
预算:****** 人民币

收货地址:江苏省/南京市/江宁区/****
供应商资质:
备注说明:
采购明细:
序号
设备名称
数量/单位
预算单价
品牌
型号
规格参数
质保及售后服务
附件

1
ELF二进制文件基地址随机化组件
1

定制
定制
一、通用性指标
1.针对x86_64和aarch64下的ELF二进制程序,在没有源代码的情况下,对二进制程序进行修改,使得运行时的程序基地址随机化变换;
2.交付物包括:ELF二进制文件基地址随机化组件源代码1套、《ELF二进制文件基地址随机化组件技术研究报告》1份、x86_64平台测试集1套、《x86_64平台测试集说明文档》1份、aarch64平台测试集1套、《aarch64平台测试集说明文档》1份、测试环境镜像1套、《漏洞防护能力测试报告》1份、《正确率测试报告》1份、《安装使用手册》1份;
3.该项目的技术成果(包括但不限于软件程序及相关技术文档、源代码、目标代码等)的知识产权(包括但不限于著作权、专利权、外观设计等)归属采购方独有。采购方申请知识产权登记时,中标单位有协助配合的义务。。
二、二进制文件随机化组件
1. 平台为x86_64和aarch64两种;
2. 时机为输出系统调用和输入系统调用之间,要求至少包括标准输入/输出函数(printf、scanf、putchar、getchar、puts、gets),文件 I/O函数(fread、fwrite、fgets、fprintf、fscanf),低级I/O函数(read、write、readv、writev),套接字函数(send、recv、sendto、recvfrom、sendfile、recvmsg、sendmsg),消息队列函数(msgget、msgsnd、msgrcv、mq_send、mq_receive),交付后用户可自行添加特定的输入/输出函数;
3. 机化要求至少对主程序的.interp、.note.gnu.property、.note.gnu.build-id、.note.ABI-tag、.gnu.hash、.dynsym、.dynstr、.gnu.version、.gnu.version_r、.rela.dyn、.rela.plt、.init、.plt、.plt.sec、.text、.fini、.rodata、.eh_frame_hdr、.eh_frame、.init_array、.fini_array、.dynamic、.got、.got.plt、.data、.bss节区进行随机化;
4. 时支持-pie、-no-pie两种选项编译生成的elf文件的随机化变换;
5. 址随机化后其主程序内存权限不能发生变化,并且要求避免内存泄漏;
6. 址随机化后其主程序的数据区和代码区,动态库的数据区和代码区、堆区、栈区都能保证其内容的完整性和地址一致性;
7. 址随机化方案保持良好的扩展性和移植性,不允许添加任何额外动态库依赖;
8. 容低版本编译器(如GCC-4.8)产生的绝对寻址指令,确保准确率达到95%以上,这里:准确率=转换后正确运行的测试用例数量/总测试用例数量。
三、Glibc库随机化组件
1. 平台为x86_64和aarch64两种;
2. glibc2.23 2.27 2.31 2.35等不少于五种主流glibc版本;
3. glibc中实现一种以上堆分配随机化算法。
四、x86_64平台漏洞防护能力验证
1. x86_64平台漏洞类型验证:要求至少包含栈溢出、堆溢出、整数溢出、格式化字符串、memory leaks、use after free、use after return、global buffer overflow、initializations order bugs等漏洞类型;
2. x86_64平台利用手段验证:要求至少包含Mprotect、 Ret2csu、Ret2dlresolve、Ret2libc、Ret2shellcode、Ret2syscall、Ret2text、Stack-Pivoting、栈partial Overwrite、 Chunk-Overlapping、Fastbin Attack、House Of Force、House Of Orange、Tcache Attack、Unlink、Hijack GOT、栈上格式化字符串、非栈格式化字符串等利用手段。
3. x86_64平台漏洞测试集由甲方提供,数量为122个,未覆盖1、2两项指标漏洞类型和利用手段的测试用例由乙方补充,每种利用手段和漏洞类型不少于1个测试例;
4. 漏洞类型测试集的防护能力>=90%;
5. 仅运用二进制文件随机化加载组件时,利用手段测试集的防护能力>=50%;运用二进制文件随机化加载组件、glibc随机化组件时,利用手段测试集的防护能力>=90%;
6. 每个漏洞测试样例至少需保持对gcc,clang编译器以及不同新旧版本编译器的兼容性。
五、aarch64平台漏洞防护能力验证
1. aarch64平台漏洞类型验证:要求至少包含栈溢出、堆溢出、整数溢出、格式化 字符串、use after free、use after return、 global buffer overflow、initializations order bugs等漏洞类型;
2. aarch64平台利用手段验证:要求至少包含Mprotect、Ret2libc、Ret2syscall、Ret2text、Stack-Pivoting、栈partial Overwrite、Chunk-Overlapping、Fastbin Attack、House Of Force、Tcache Attack、 Unlink、Hijack GOT、栈上格式化字符串、非栈格式化字符串等利用给手段。
3. Aarch64平台漏洞测试集由甲方提供,数量为84个,未覆盖1、2两项指标漏洞类型和利用手段的测试用例由乙方补充,每种利用手段和漏洞类型不少于1个测试例;
4. 漏洞类型测试集的防护能力>=90%;
5. 仅运用二进制文件随机化加载组件时,利用手段测试集的防护能力>=50%;运用二进制文件随机化加载组件、glibc随机化组件时,利用手段测试集的防护能力>=90%;
6. 每个漏洞测试样例至少需保持对gcc,clang编译器以及不同新旧版本编译器的兼容性。
六、x86_64平台正确性验证
1. 正确性验证测试集包括:3漏洞防护能力验证中的漏洞类型测试集、利用手段测试集、x86平台binutils测试集;
2. 三种测试集的正确率>=95%;
3. 对无法变换正确的测试用例,给出优化建议。
七、aarch64平台正确性验证
1. 正确性验证测试集包括:4漏洞防护能力验证中的漏洞类型测试集、利用手段测试集、aarch64平台binutils测试集;
2. 三种测试集的正确率>=95%;
3. 对无法变换正确的测试用例,给出优化建议。
1.要求一年质保期,且质保期内须免费提供代码调试、Bug修复等服务。


返回顶部