NIZKCTF:非交互式零知识夺旗平台
关键词:计算机安全,软件开发,服务器,隐私,密码学
夺旗 (CTF) 比赛作为教育和专业工具对巴西网络安全社区越来越重要。不幸的是,CTF 平台可能会遇到安全问题,从而给竞争对手带来不公平的优势。为了缓解这种情况,我们提出了 NIZKCTF,这是第一个基于非交互式零知识证明的开放式审计 CTF 平台。
正文
强大的网络安全战略的一个关键要素是培养现代技术安全问题方面的人才。研究表明,美国是应对网络攻击准备最充分的国家;1然而,专业人员也存在数量和质量方面的问题,尤其是在涉及更复杂的技能时,例如设计安全、防御性编程、应用密码学、威胁情报和妥协后的取证分析。2这个问题在发展中国家更加严重,在那里获得基于现实世界经验的专业培训的尖端资源是有限的。
为了减少网络安全专业人员的短缺,公司、学校、大学和军事等机构一直在世界各地推广夺旗 (CTF) 竞赛,以促进专业人员对网络安全话题的参与度。CTF 比赛通常旨在服务于教育目的,让参与者体验来自广泛技术领域的计算机安全问题以及识别和应对现实世界中发现的攻击类型。CTF 比赛还可以作为一种方便的招聘工具,用高技能人才填补特定职位。逆向工程、开发、取证、网络编程和密码分析是 CTF 比赛中典型的必备技能。这些比赛对于像巴西这样的国家具有战略意义,因为比赛组织和运行成本低廉,而且允许当地社区与国际玩家互动和竞争。
CTF比赛有两种风格:攻击/防御和解题。在进攻/防守比赛中,每支队伍都有一台机器在一个单独的网络上进行防守。队伍通过防守指定机器和成功攻击其他团队机器来得分。解题竞赛比较常见,通常涉及多个类别的问题,每个类别包含各种具有不同价值和难度级别的问题。问题的正确解决方案对应一个标志(flag),提交给评分平台进行积分。团队试图在比赛的时间范围内(例如 24 小时)获得最多积分,但通常不会直接互相攻击。这种游戏风格不是一场比赛,而是鼓励花时间接受挑战,并优先考虑正确提交的数量而不是时间。
一个重要的问题是保护 CTF 平台不被攻击。该平台通常负责存储标志(flag)并随着比赛的进行更新分数榜。然而,由于 CTF 平台面临与任何软件组件相同的安全问题,并且由于此类环境能激励选手竞争,通常会发现针对平台而不非挑战的队伍。没有独立可验证的方法能保证团队确实解决了挑战且分数榜记录是正确的。对平台的成功攻击可以说是展示了相关技能,但组织者可能更感兴趣的是执行比赛规则规则和奖励方案,以履行赞助职责或集中招聘工作的需求。
在本文中,我们提出了一个名为NIZKCTF 解题式比赛的新平台--“非交互式零知识 CTF 平台”。使用 NIZKCTF,平台中不存储任何标志;因此,对于已解决的挑战,团队不会提交标志本身,而是提交公开的零知识证明。这个证明是针对团队和挑战的。因为是公开证明,平台和其他团队可以审计确认团队确实解决了挑战,而不能推论flag。我们将 NIZKCTF 实现为一个开源项目,其架构包括基于 Git 的集中式存储库(提交标志并接收事件更新)和持续集成系统(自动合并存储库中团队的所有请求)等软件元素比赛)。任何 CTF 发起人都可以在他或她的比赛中实例化和使用 NIZKCTF。
在两次较小的比赛中验证了 NIZKCTF 的实用性和安全性后,我们采用该平台来举办 2017 年版的 Pwn2Win,这是一个国际性的和双语的巴西 CTF。在 CTF 期间和之后,团队无法达成最终结果。
历史和背景
1996 年在拉斯维加斯举行的 DEFCON 期间举办了第一届 CTF 比赛。在巴西,黑客挑战通常在国家安全活动期间在本地进行,例如从 2007年开始举办的 Hackers to Hackers Conference,16。第一个广泛宣传的解题式竞赛是 Hacking nRoll,17于 2010 年首次举办由塞阿拉州立大学信息安全研究小组提供。2014 年,更多的比赛开始出现,例如 Pwn2Win(在线)和 Hackaflag(本地 ) CTF。尽管挑战仅以葡萄牙语呈现,但一支乌克兰团队参加了 2014 年版的 Pwn2Win 和 Hacking n Roll,增加了对双语和国际比赛的兴趣。2016年3月,Pwn2Win成为首个入选CTFtime 18国际指数的巴西CTF ,同年12月DSCTF紧随其后。图1显示了巴西队积极参与国际比赛的趋势。
图1 由 CTFtime 索引的国际活跃巴西队伍的数量。在 2016 年推出首个巴西双语比赛后,这一数字有所增加。
作为 Pwn2Win CTF 的组织者,我们在 2016 版期间遇到了可扩展性问题。在比赛的最后几个小时,由于并发访问量的原因,主要的软件平台几乎无法呈现分数榜。虽然这个问题可以通过采用更高效的开源平台来缓解,但人们越来越担心面临拒绝服务攻击,甚至由于软件安全缺陷或服务器配置错误而导致标志泄露。作为国际 CTF 舞台的新人,这可能会降低巴西比赛的整体声誉,这促使我们构建更强大和透明的 CTF 平台。
问题陈述
CTF 平台中软件漏洞的影响很大,并为能够利用该平台而不是解决竞争挑战的熟练团队提供了不成比例的竞争优势。本文通过提高比赛平台的安全性来解决这个问题,拟回答以下问题:
- 如何在解题的 CTF 比赛中保证完整性和最低水平的公平性,防止团队利用平台窃取旗帜?
- 如何确保可审计性,允许任何人根据记分板中显示的分数验证团队是否真正解决了挑战?
- 如何复制检查解决方案正确性所需的信息,以减少最终平台不可用的影响?
不幸的是,在 CTF 平台中发现漏洞是很常见的,正如最近两个备受瞩目的例子所示:
- RC3 CTF 2016。在这次CTF中,第一名的队伍有3590分。突然,一个名为“积分榜受到攻击,请联系admin@seadog007.me”的团队以4,500分出现在计分板上。19 图2显示了这次事件的记录。
- CODEGATE CTF 2016 总决赛。在此 CTF 期间,一个团队发现托管其中一个挑战的服务器具有旧内核版本,并且容易受到 OverlayFS 权限提升 (CVE-2016-1576) 的影响。团队成员能够获得 root 访问权限并获得一些“免费标志”(尽管他们声称他们直到真正解决了挑战才提交这些标志)。跟踪 Secure Shell 服务器的系统调用,他们等待管理员登录并获取密码。然后,该团队注意到其他服务器(包括记分牌)具有相同的密码。参观完平台服务器并获得乐趣后,他们停止了入侵,继续像往常一样比赛。20
相关工作
对保护 CTF 平台免受攻击或只是让竞争更公平的担忧并不新鲜。2015 年,伯明翰大学和伦敦帝国理工学院3宣布了一个包含易受攻击的服务和挑战的虚拟机 (VM):每个学生都在本地运行 VM,并尝试在 VM 内部解决挑战。解决挑战会显示特定 VM 实例独有的标志,从而可以检测学生之间的勾结。除了获得标志外,学生还必须提供传统的书面题解并通过检查。
2015 年,卡内基梅隆大学4发布了用于 CTF 比赛的自动问题生成器 (APG),其中给定的挑战不是固定的,而是可以有许多不同的自动生成问题实例。APG 为玩家提供了独特的体验,可以促进考虑过程的练习,其中问题的变化刚好足以确保用户可以复现解决方案的想法。APG 还允许比赛管理员检测用户何时将复制的标志从另一个用户提交到评分服务器。
还有其他关于可能影响 CTF 整体质量的问题的工作。5 – [6] [7] 8 Chung 和 Cohen 5介绍了从组织全球网络安全意识(最大和最成功的 CTF 之一)中学到的见解和经验教训。维尼亚等人。6展示了运行 iCTF 的经验教训,iCTF 是世界上最大的攻击/防御 CTF,其中来自多个国家的在线玩家相互竞争。查普曼等人。7展示了 PicoCTF 的比赛设计以及基于调查反馈和网站互动统计以及对参赛学生的观测。
尽管它们具有相关性,但这些工作并未解决玩家攻击 CTF 平台的安全问题。第一个问题是玩家攻击平台以窃取旗帜。尽管常识要求标志应使用单向函数处理,类似于通常存储密码的方式,但表 1显示大多数以前存在的开源 CTF 平台不支持此功能。例外是 PicoCTF 平台 2,它通过调用特定于每个挑战的脚本来检查标志是否正确。该脚本可以配置为检查受保护的标志,尽管此用例不是内置功能或根本没有记录。接下来讨论我们提出的解决方案。
表 1. NIZKCTF 与以前存在的开源平台之间的比较。
竞赛协议
本节介绍 NIZKCTF 采用的新颖竞赛协议。定义了 CTF 比赛的威胁模型,然后对该模型进行形式化描述其主要理论工具和可审计性要求,以及安全属性的文本和所采用的澄清方案。
威胁模型
在CTF比赛中,对手是有兴趣利用平台漏洞的玩家或团队,而不是解决挑战,以获得诸如窃取旗帜或操纵记分牌等优势。由于开发无漏洞系统的难度,NIZKCTF 依靠密码原语(例如零知识证明)来提供安全属性。
另一种形式的对抗行为是一个团队想要在未经其同意的情况下提交标志以代替另一个团队(例如,通过使其在记分板上落后来伤害特定团队)。出于这个原因,NIZKCTF 要求零知识证明对于特定团队是唯一的。
该协议本身并不能防止标志共享,即团队从其他人那里复制和提交标志。对于解决此类对手的方案,请回忆 Burket 等人提出的自动问题生成。4因为在基于NIZKCTF 的比赛中可以自动生成问题,所以我们的提议可以扩展以支持对标志共享对手的保护。
零知识证明
令L是一种非确定性多项式时间(NP)语言,使得 当且仅当存在证据 属于,此时 是一个多项式时间图灵机。让我们假设计算的概率 到 的多项式时间可以忽略。
非交互式零知识 (NIZK) 知识证明9是一种密码方案,证明者通过该方案知道可以说服该事实的验证者,满足以下属性。
- 非交互性。访问公共参数集和证明本身的内容必须足以验证证明。因为不需要与证明者互动,任何有兴趣充当验证者的一方都可以这样做。
- 完整性。如果, 由诚实的证明者知道产生的证明 必须被诚实的验证者接受:
- 有效性。任何不知道的概率多项式时间 (PPT) 证明器ski 成功的可能性必须可以忽略不计 e说服验证者。等效地,对于每一个可能的 PPT 证明者 P(甚至是恶意的),都存在一个知识提取器 Extract,给定对 P 的预言机访问,它能够在每次 P 成功完成新的证明时以压倒性的可能性 ( 1 minus; ϵ ) 提取ski :
Q 代表的是一个查询磁带,它记录了所有以前发送给证明者的查询。
- 零知识。证明没有透露任何信息 除了证明者知道其价值这一事实之外。同样地,对于每一个可能的 PPT 验证器 V(甚至是恶意的),都存在一个模拟器Sim 给定 Oracle 对 V 的访问权限,能够以可忽略的概率差异说服 V ε 与真正的证明者,即使 Sim 不知道 ski :
在 NIZKCTF 中,值 公开披露,但相应的 ski 这允许证明isin; L保密。每个玩家都有一个证人证明他或她的团队成员身份 t。 当玩家在比赛中解决挑战 C时 ,他或她获得证人 断言玩家拥有挑战的答案。为队伍赚取积分,玩家需要公开证明同时了解 和 . 同时知识的概念通过在辅助 NP 语言上进行证明来表达 满足 ,如果存在证人 ∥ 满足 这里操作符 ∥ 表示字符串连接。
存在不同的方法来证明证人的知识 ∥, 但它们的实用性取决于 。因此, 的第一种方法是通用的 NIZK 证明系统,但通用性是有代价的,其形式是大量的处理时间和构建证明所需的大量公共参数。
一种基于数字签名的方案
在 NIZKCTF 中提出和实施的方法包括选择一个 (,ski ) 验证是否 ski 是公钥对应的私钥 在数字签名方案中。这种选择使我们能够将知识证明问题简化为数字签名消息的问题,其
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[595988],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料