附件2:第一届中国研究生网络安全创新大赛揭榜挑战赛题目.docx
附件 2 第一届中国研究生网络安全创新大赛揭榜挑战赛题目 题目 1:WAF 防护有效性自动化评估 答疑邮箱: qingeng5@huawei.com 背景: 给出具有漏洞的网站或靶机系统,含有 web 类高危漏洞,然后针对 这个靶机系统前置流行 WAF,要求挑战者针对 WAF 保护下的靶机 展开自动化绕过尝试,最终输出可以绕过的 Payload 清单,并保障最 终 Payload 可用作后续的渗透利用。 竞赛题目详细描述: 题 面 是 一 个 专 项 web 漏 洞 靶 机 系 统 (https://github.com/zhuifengshaonianhanlu/pikachu),该系统含有 SQL 注入、任意文件上传、任意文件下载/包含、RCE(命令注入、代码 执行)主要高危漏洞。在该环境中依次部署 5 个 WAF 类产品,其中 至少包含 1-2 个商用 WAF(赛题评审前不提供具体 WAF 名称)。要 求开发一套 WAF 规则自动化绕过工具,能够针对每个 WAF 保护下 的各类漏洞做自动化绕过尝试,并最终输出可用的 Payload。 考察选手对 WAF 检测的认识以及编程能力,挑战内容如下: 1、能够针对 WAF 保护下的高危漏洞(至少 3 个)进行自动化绕过 尝试 2、 输出的绕过 Payload,必须具备渗透利用价值,不能只是 PoC 评价方式: 1、输出可利用的绕过型 Payload 列表 2、系统设计与 WAF 自动绕过算法 题目 2:网页登录报文自动化构造 答疑邮箱: qingeng5@huawei.com 背景: 在对大量目标进行渗透测试过程中,使用各类 web 漏扫对发现的资 产进行漏洞探测时,有相当多的资产是需要登录之后才能探测到漏洞 的。传统的扫描器基本只能针对单一特定页面录制自动化登录脚本实 施自动化渗透,需要开发一套漏扫爬虫数据自动化处理工具,能够实 施批量化登录页面识别加自动化登录获得会话功能。 竞赛题目详细描述: 题面是 500-1000 个含有表单提交的交互页面地址,其中 10%为登录 页面地址。开发一套工具,能够导入这些地址后实施页面内容获取, 并自动对登录页面进行识别和筛选,并在筛选完后使用预制的账户名 和口令字典进行爆破。 考察选手编程能力,挑战内容如下: 1、表单提交页面地址必须含各类表单请求提交功能,相似功能不能 超过 10% 2、必须有一半为综合页面中含有登录功能,而非全部是登录入口页 面 3、各个登录页面的表单请求参数必须完全不同 评价方式: 1、能够支持资产列表导入 2、输出登录表单准确率高于 80% 题目 3:轻量级设备数据保护 答疑邮箱:l.dmxcsnsbh@gmail.com 背景: 数据全生命周期安全保护很大程度上依赖设备本身的安全级别。针对 没有安全环境的弱设备,如何保护数据全生命周期安全存在一定挑战。 题目描述: 小明购买了一个带屏的家庭存储盒子,并邀请家人一起在盒子里存储 家庭相册、视频。家庭成员可以在设备上存储数据,并发起访问。 问题: 设计一个系统,保护轻量级设备上的数据。设计上包括以下维度: 1、数据 at rest 保护(必选设计): 前提:在设备不具备基于安全环境的秘钥管理条件; 设计要素:如何保护数据存储的安全,使设备丢失的情况下,攻击者 无法获取数据。 2、数据 in use 保护(必选设计): 前提:设备不具备用户认证条件 (该设备没有锁屏密码、传统人脸、 指纹等生物特征认证能力) 设计要素:对轻量级设备上存储的设备进行访问时,如何保证是合法 的用户 3、其他要素(可选): 为了保护该设备上的数据,还有哪些其他的考虑与防护目标?针对这 些防护目标进行安全设计 评估方式: 输出设计报告,识别该场景下的安全模型与关键威胁,针对数据的机 密性、完整性、访问方防仿冒、防 DOS 等维度进行分析设计。 题目 4:OpenHarmony 漏洞挖掘 答疑邮箱:l.dmxcsnsbh@gmail.com 背景: OpenHarmony 是面向全场景、全连接、全智能的新型开源智能终端 设备操作系统,旨在促进万物互联产业的繁荣发展。OpenHarmony 所涉及的设备相对复杂,上至高级智能终端,下至硬件资源极有限的 传感器设备等,因此运用虚拟化仿真技术对其进行漏洞挖掘是主流且 可行的方案。 题目描述: 利用 OpenHarmony 内核的仿真环境,并对其进行 Coverage-guided fuzz,发现尽可能多的漏洞。 备注:挑战者需了解常见内存破坏漏洞的类型和主要模式;了解主流 操作系统内核漏洞的挖掘方法,并在仿真环境下针对一款主流操作系 统(如 Linux)的某一个模块(如文件系统)进行 fuzz。 参考信息: https://gitee.com/openharmony https://gitee.com/openharmony/device_qemu 评价指标: 1、发现 OpenHarmony 的漏洞数量 2、Fuzzer 的覆盖率 题目 5:应用行为分析系统的设计与实现 答疑邮箱:l.dmxcsnsbh@gmail.com 背景: 应用行为分析系统,是针对风险应用和恶意应用的重要手段,目前业 界 Android 平台的应用行为分析工具大多基于 Xposed 插件、Frida 动 态插桩、Magisk 插件或者应用多开等技术实现。然而针对这些已有 的实现手段,在产业链中已经有较为成熟的方法进行检测,并且由于 这类插件大多需要取得 root 权限并修改大量的系统文件和策略,导致 很难在根本上杜绝被第三方应用检测到。基于这样的背景,本课题提 出一种更隐蔽的方法来实现应用行为分析系统。 题目描述: 设计一套应用行为分析系统,可以检测风险应用和恶意应用的行为, 至少包含以下需求: 1、基于修改的 AOSP 源代码,实现第三方应用调用 Binder 系统服务 的记录,并且能将数据存储到本地数据库和导出到 PC 上进行进一步 分析。 2、基于修改的 AOSP 源代码,实现第三方应用调用 Linux Kernel Syscall 的记录,并且能将数据存储到本地数据库和导出到 PC 上进行 进一步分析。 以下需求可供参考: 1、将收集到的数据传输到 PC 上之后,可以生成基于 Web 的数据看 板,并列出相关的风险。 2、实现你认为应当记录的,对于风险应用和恶意应用行为分析有帮 助的其他数据。 评价指标: 1、应用行为分析系统对第三方应用的透明度,也就是第三方应用进 行检测对抗的难度,检测的技术包括但不限于 root 检测、ADB 调试 检测、模拟器检测、SELinux 策略检测、关键进程检测等。 2、应用行为分析系统记录内容的全面性,至少需要包含调用 Binder 系统服务和调用 Linux Kernel Syscall 的记录,能记录更多数据为加分 项。 3、对 Android 大版本的兼容性以及分析系统的可移植性,要求必须 兼容 AOSP 12。 题目 6:恶意脚本相似性问题 答疑邮箱:george.liu@163.com 背景: 当前恶意脚本在主机安全领域造成非常大的危害,在脚本中做恶意软 件下载、隐藏、横向扩展等。执行后,对系统造成极大破坏,除了植 入恶意程序,造成的系统破坏也经常很难清理和恢复。检测困难,因 为攻击者会对脚本做少量或大量变化,如其中的 IP、用户名、目录名 等,hash 签名就发生了变化,使用签名 hash 匹配的方式无法检测。 因为对文件进行文字比较会导致运算量很大,比较方法也很复杂,实 际上不可行。所以,需要用相似性技术来检测文件是否是恶意脚本。 在这个题目中,是开发一个相似性算法,该算法处理恶意脚本可能经 历的各种更改。由于真正的恶意脚本可能会造成危害,在这个题目中, 使用文本文件模拟处理的恶意脚本。本题目中,我们使用“Localitysensitive hashing” 位置敏感哈希,这个术语解释中的第一段作为基准 文本。 为了模拟脚本可能经历的类似变化, 对文本做了以下 2 种类型的变化: —在文件中加入了一个文本块 —对文件中某些单词的变化——例如,变化一些单词,省略一些单词 (1)基准文本: “In computer science, locality-sensitive hashing (LSH) is an algorithmic technique that hashes similar input items into the same "buckets" with high probability.[1] (The number of buckets is much smaller than the universe of possible input items.)[1] Since similar items end up in the same buckets, this technique can be used for data clustering and nearest neighbor search. It differs from conventional hashing techniques in that hash collisions are maximized, not minimized. Alternatively, the technique can be seen as a way to reduce the dimensionality of high-dimensional data; highdimensional input items can be reduced to low-dimensional versions while preserving relative distances between items.” (2)增加一段文字之后的文本: “In computer science, locality-sensitive hashing (LSH) is an algorithmic technique that hashes similar input items into the same "buckets" with high probability.[1] (The number of buckets is much smaller than the universe of possible input items.)[1] Since similar items end up in the same buckets, this technique can be used for data clustering and nearest neighbor search. It differs from conventional hashing techniques in that hash collisions are maximized, not minimized. Alternatively, the technique can be seen as a way to reduce the dimensionality of high-dimensional data; highdimensional input items can be reduced to low-dimensional versions while preserving relative distances between items. The Jaccard index, also known as the Jaccard similarity coefficient, is a statistic used for gauging the similarity and diversity of sample sets. It was developed by Grove Karl Gilbert in 1884 as his ratio of verification (v)[1] and now is frequently referred to as the Critical Success Index in meteorology.[2] It was later developed independently by Paul Jaccard, originally giving the French name coefficient de communauté,[3] and independently formulated again by T. Tanimoto.[4] Thus, the Tanimoto index or Tanimoto coefficient are also used in some fields. However, they are identical in generally taking the ratio of Intersection over Union. The Jaccard coefficient measures similarity between finite sample sets, and is defined as the size of the intersection divided by the size of the union of the sample sets” (3)修改过一些文字的文本 “In computer program, locality-sensitive hashing (LSH) is an algorithmic technique that hashes similar input items into the similar "buckets" with high probability.[1] (The number of buckets is much larger than the universe of possible input items.)[1] Since similar items end up in the same buckets, this technique can be used for data clustering and nearest neighbor search. It differs from conventional hashing methods in that hash collisions are maximized, not minimized. Alternatively, the technique can be seen as a way to reduce the dimension of high-dimensional data; high-dimensional input items can be induced to low-dimensional versions while preserving relative distances between items.” 目标: 参赛者需要开发一种方法来检测此类文件之间的相似性水平,并说明 解决方案。算法中考虑到算法复杂度、可扩展性等方面。参赛者也可 以使用自己准备的恶意脚本用例完成题目。 这个问题是开放式的,但是有一些可能的方向可以作为参考: —局部敏感哈希方法,例如 SSDeep、TLSH 等 —机器学习方法 —数据预处理方法,如文件分块等技术 题目 7:数字水印与隐藏信息 答疑邮箱:george.liu@163.com 背景: 数字隐藏水印将水印藏入图片,也有将数据(秘密)隐藏在另一个公 开数据中,让第三方无法发现和破坏。例如,在图片中隐藏一个 python 代码文件。 题目: 在这个题目中,用户 A 和用户 B 通过未加密的网络通道在两个网络 之间传送数据,该通道被全天候监控。A 希望向 B 传输一个文本文件, 要让监控系统不会注意到它。他需要将文本文件嵌入灰度(2D)图 像中。这个挑战的目标是在最小的迭代次数中传输最大数量的信息 (即,最小化通过网络信道发送的图像的数量) 在图像中嵌入数据时,需要考虑三个方面: 1、安全性——指“不可注意”或“不可检测”——人类的“肉眼”不应该能 够检测到数据被隐藏的事实。即,肉眼观察原始图像和隐藏信息的图 像的比较不应不同 2、容量——使用多少个图像。在我们的用例中,图像和格式是确定 的。 3、健壮性——如果修改(转换、压缩、旋转、缩放、调整大小等), 隐藏信息需要能够被恢复,如把文件格式转换成 jpeg 格式。 在这个比赛中,是用最小的图片数量传输这个文本文件 1、图片是 800*600jpeg 格式的黑白图片 2、要嵌入的秘密是一个 python 脚本文件,secret.py, 4.77KB。 题目原则: 1、图片大小像素数不可改变,文件大小增加不超过 5% 2、数据可以完全恢复 3、不限制嵌入方法 评估: 1、使用的图片数量 2、查看原始图像和隐藏信息图像之间的差异 3、健壮性:把图像格式改为 Png,对图像进行缩放之后,图像是否 不可用 secret.py 点击链接下载 http://cpipc.acge.org.cn/sysFile/downFile.do?fileId=eac6a9d6bafe4e8e85 23bba8632e2096 用于隐藏水印的灰度图片点击链接下载 http://cpipc.acge.org.cn/sysFile/downFile.do?fileId=92d2dd21f70e42e2b d3ea4d001357d0e