“华为杯”第二届中国研究生网络安全创新大赛揭榜挑战赛赛题
发布时间:2023-05-31 来源:网络安全创新大赛 阅读次数:12265

题目1:富文本敏感信息泄露检测

一、背景:

在攻防演练中,红队通常会在拿到目标服务器文件浏览权限后,进一步收集诸如用户名密码等敏感信息,以方便后续进一步渗透测试。现需要为防守方设计一个程序,能够在目标服务器上运行,对目标服务器中的海量文件进行扫描,检测其中是否含有潜在的敏感信息泄露,降低被攻击风险。

二、竞赛题目详细描述:

给定一个包含大量文件的压缩包(见附件),选手需要编写程序,自动化提取其中敏感的认证信息。压缩包中的文件格式包含但不仅限于WordExcelPowerPointtxt、各类系统配置文件、图片、聊天纪录等。

三、考察选手编程能力,挑战内容如下:

1、提取敏感认证信息,包含但不仅限于目标地址、端口、用户名、密码、密码hashTokenAK/SK等。

2、程序应能关联上下文,输出关联的敏感信息对,如{"ip":"127.0.0.1","port":3306,"username":"root","password":"root"}

四、评价方式:

1、提取的敏感内容条目不少于预设总条目的80%

2、提取条目相同时,时间越少越好。

五、答疑邮箱: xuxiaoqiang6@huawei.com

题目一附件链接如下:

https://cpipc.acge.org.cn/sysFile/downFile.do?fileId=3f03175a2ddb46328f35a1edd8924236

 

题目2:源码自动化审计与自动化评估验证

一、背景:

网站服务在正式上线前需要经过安全人员的渗透测试与验证,为了减少安全人员的投入,现需要设计一个程序,辅助进行源码审计与漏洞验证。

二、竞赛题目详细描述:

给定几组含有漏洞的web源码文件和对应的网站环境,选手需要编写自动化程序分析源码,检测代码中的漏洞,并自动化构造漏洞验证报文,对靶机进行漏洞验证。

注:给定的源码为基于Spring框架二次开发的Java网站源码

三、考察选手编程和漏洞分析能力,挑战内容如下:

1.编写程序分析给定网站源码,尽可能多的发现漏洞点。

2.程序能够根据漏洞点位置和网站路由信息自动构造漏洞验证报文进行漏洞验证。

四、评价方式:

1.程序对现场给定的几组源码和网站环境(非测试样例中的附件)进行分析,找到的漏洞信息种类和数量

2.加分项:支持反序列化类漏洞利用链自动查找与验证

五、答疑邮箱: xuxiaoqiang6@huawei.com

题目二附件链接如下:

https://cpipc.acge.org.cn/sysFile/downFile.do?fileId=e0a76b733be143a69dd932ebf3d22988

 

题目3:通用web漏洞检测与验证

一、背景:

在渗透测试过程中,经常遇到web网站,为了快速发现安全问题,需要设计一款漏洞扫描程序,对给定目标自动构造测试报文进行漏洞发现与验证。

二、竞赛题目详细描述:

选手需要编写程序,对靶场进行漏洞检测与验证,输出漏洞信息和漏洞验证报文。靶场参见专项web漏洞靶机系统(https://github.com/zhuifengshaonianhanlu/pikachu

注:漏洞类型仅限于任意文件上传、XML外部实体注入、服务器端请求伪造、任意文件下载、本地文件包含、模板注入。

三、考察选手编程和漏洞分析能力,挑战内容如下:

1.程序能够自动发现网站安全问题并构造报文进行验证。

2.某些网站可能对漏洞点设置了过滤规则,所设计的程序应能遍历常见的漏洞payload绕过变形方式,输出可用payload和变形方式

四、评价方式:

1.现场给定多个靶场地址(非测试样例),选手利用程序进行漏洞检测与验证,根据输出的漏洞种类和数量进行评价。

2.加分项:漏洞验证的payload能够绕过常见的安全校验限制。

五、答疑邮箱: xuxiaoqiang6@huawei.com

题目三附件链接如下:

https://cpipc.acge.org.cn/sysFile/downFile.do?fileId=fe0cf82e7c854fb2b54e69676d1c06e0

 

题目4Moving Target VMP

一、题目背景:

应用软件安全威胁层出不穷,程序破解攻击、恶意插件植入、数据泄露及安全隐私窃取等事件频发,由于应用APP难以直接采用系统硬件安全能力(如TEE、安全芯片),普遍采用应用内安全加固技术缓解安全威胁。传统的应用内加固技术存在代码膨胀问题,且性能开销大,性能效率和安全性难以平衡;纯软件执行环境,无特权等级隔离,攻击者会存在更高的权限;攻击者的经验可以复制,一旦在一台设备破解,就可以将攻击方法推广以影响更多设备,需要避免攻击扩散。

二、题目描述:

构建持续变化及不可预测的VMP环境,核心代码逻辑(C语言)能够用vmp加固,并且指令集定义以及字节码可由云端动态刷新,扭转应用安全的攻防不对称性。

三、评价方式:

demo+设计文档结合评审
1.能够基于自定义的VMP指令集对应用native libary中的指定函数进行加固。
2.支持动态加载,应用启动时,可由服务器侧动态更新应用native libaray自定义的VMP指令集(例如shuffle指令集)和相应的字节码.
3.结合逆向分析,综合考虑方案的安全强度、性能、健壮性。

参考信息:Loki: Hardening Code Obfuscation Against Automated Attacks. USENIX Security 2022.

四、答疑邮箱:wuwei113@huawei.com
 

题目5C/C++内存错误检测工具

一、题目背景:

目前业界普遍使用Address sanitizer检测C/C++程序的内存错误问题。Address sanitizer在设计上并非完备,很多情况可能导致漏报。如何设计一套更精确的内存错误检测机制,同时兼顾性能和易用性,是一个具有挑战性的课题。
二、题目描述:

基于llvm设计一套C/C++时间和空间内存错误检测机制,让程序运行时自动检测相关错误并打印错误信息。
具体来说,该检测机制至少包含如下需求:
1. 能检测部分或全部空间内存错误,比如缓冲区溢出。
2. 能检测部分或全部时间内存错误,比如释放后重用。
3. 检测到错误后能打印错误相关信息,比如调用点栈信息、错误原因等。
4. 允许一定程度的漏报,但不允许误报。
5. 不依赖特定硬件特性,如Intel MPKARM MTE等。

6. 该方案能够解决ASAN无法检测的漏报场景,包括但不限于下面两个场景:

  1. 缓冲区非连续越界访问,跨越了redzone访问到另一个缓冲区,无法检测到溢出
    int main() {
    char *a = malloc(0x10);
    char *b = malloc(0x10);
    a[0x20] = 0;
    free(;
    free(b);
    return 0;
    }
  2. 大量的malloc/free导致同一个地址被重复申请,无法检测到uaf
    int main()
    {
    char *a = malloc(1 << 20);
    free(a);
    char *b = malloc(1 << 28);
    free(;
    char *c = malloc(1 << 20);
    a[0] = 0;
    free(c);
    return 0;
    }

     

为完成该课题,选手需要提交以下内容:
1. 方案设计文档、代码和二进制文件。方案需基于llvm 15.0.0设计开发(https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.0
2. 方案功能测试结果,测试集使用Juliet C/C++ 1.3,测试结果需分别包括时间内存错误和空间内存错误的漏报率(Juliet C/C++ testsuite: https://samate.nist.gov/SARD/test-suites/112
3. 方案性能开销测试结果,测试集使用SPEC CPU2006,结果分为内存开销和运行开销。
为统一测试环境,选手需要使用ubuntu 20.04作为系统测试环境,且不应修改系统默认的libcld等环境软件版本。

三、评价指标:
1. 方案的安全性和完备性
2. 方案的测试功能测试指标
3. 方案的性能开销指标

四、答疑邮箱:zhaozixuan2@huawei.com
 

题目6:大语言模型隐私防泄漏

一、题目背景:

ChatGPT的火爆让AIGC走进大众的视野,成为历史上增长最快的消费应用。随着活跃用户的快速增长,ChatGPT也在持续收集用户的真实反馈数据用于提升大模型生成能力。由于大语言模型可能记忆训练数据中的敏感信息,存在泄露用户隐私的风险,如何防止大语言模型泄露隐私的诉求越来越迫切。

二、题目描述:

给定一个预训练大语言模型(如GPT-2)和微调数据集(包含公开的或合成的虚拟个人身份信息),基于开源深度学习框架MindSpore设计并实现一种高可用的大语言模型隐私防泄漏方案,在保证模型可用性和训练性能的前提下,防止敌手从微调后的模型中恢复个人身份信息(包括姓名、邮箱、电话号码、居住/工作住址)。微调后的模型通过黑盒API部署,敌手仅能获取下一个token的预测向量,而无法获取模型参数和中间特征。比赛提供基于MindSpore实现的预训练模型和微调数据集。

三、评价方式:
1)模型可用性:评估模型防泄漏技术对模型可用性的影响,使用困惑度(perplexity)指标衡量
2)训练性能:评估模型防泄漏技术对训练性能的影响,使用训练所需的内存开销和训练时长指标衡量,推理时长增加小于20%
3)安全性:评估模型防泄露技术的保护效果,对比模型保护前后隐私攻击的成功率,其中成员推理攻击通过ROC AUC衡量,隐私数据提取攻击通过RecallPrecision指标衡量

四、参考信息:
1)开源深度学习框架MindSpore, https://www.mindspore.cn/
2)安全与隐私保护工具开源MindSpore Armourhttps://www.mindspore.cn/mindarmour/docs/zh-CN/r2.0/index.html
3Extracting Training Data from Large Language Modelshttps://arxiv.org/abs/2012.07805
4Analyzing Leakage of Personally Identifiable Information in Language Modelshttps://arxiv.org/abs/2302.00539
5)预训练模型:GPT2-smallhttps://gitee.com/mindspore/mindformers/blob/r0.3/docs/model_cards/gpt2.md
6)部署环境:在启智社区(https://openi.org.cn)申请计算资源, 可选硬件Ascend/GPUhttps://openi.pcl.ac.cn/docs/index.html#/

五、交付件:
1)源代码
2)可执行文件和部署测试方法
3)设计和测试文档

六、答疑邮箱:yangyuan24@huawei.com

题目六附件链接如下:

https://cpipc.acge.org.cn/sysFile/downFile.do?fileId=261dcd40f2e54398924deb2c363fdf4c

 

 

揭榜挑战赛参赛队伍沟通QQ群:589491470(入群请备注学校+姓名)