AWS近日表示将开源两个项目,一个项目是用于查找软件漏洞的新模糊测试工具,另一个是用于控制应用访问的授权策略语言。
AWS是在Linux基金会年度开源峰会上公布这些新工具的,这些工具都以安全为重点。AWS公司表示,就SnapChange而言,这是一种新的模糊测试工具,让开发人员和研究人员能够试验“快照模糊测试”。
模糊测试是一种用于发现软件(尤其是开源项目)中安全问题的技术,可以监视系统在处理随机数据时的行为方式,例如可能涉及为呈现图像的应用更改样本JPEG文件,然后在该应用中打开该文件。如果应用崩溃,则可能是存在应用安全问题。
AWS公司开源战略和营销总监David Nalley表示,SnapChange建立在这个概念之上,让目标应用能够通过最少量的修改进行模糊测试。他说,模糊测试工具在行业中得到广泛使用,“近年来帮助根除了数百个安全漏洞”。
Nalley解释说,SnapChange不是唯一的模糊测试工具,但它的独特之处在于,它不需要用户重写底层Linux内核或者使用修改后的基于内核的虚拟机。相反,它可以与现有Linux内核和现有KVM协同工作,从而降低研究门槛,同时也扩展到数十个处理器核心。他说:“SnapChange将使模糊测试更高效。”
据他说,他们最初并没有打算把SnapChange作为一个独立的项目。它是由AWS的Find & Fix(F2)威胁搜寻研究团队开发的,该团队的任务是不仅要查找漏洞,还要尝试修补这些漏洞。他说:“该团队必须开发大量工具来进行大规模的安全研究,该工具就是其中之一。”
尽管AWS计划通过增加新特性和功能支持SnapChange,但Nalley表示,AWS希望与研究群体展开合作,从长远来看打造一个更强大的工具。他说:“AWS在开源供应链安全方面拥有既得利益,我们在开源方面有着共同的命运。”
此次发布的第二个工具是Cedar,这是Amazon Verified Permissions和AWS Verified Access托管服务使用的授权策略语言。
Cedar既是一种开源语言,也是一种软件开发工具包,可用于编写和实施应用的授权策略。开发人员使用Cedar可以对照片共享应用中的图像、微服务集群中的计算节点、或者工作流自动化平台中的组件等资源进行访问控制。它的灵活性让开发人员能够将细粒度的权限指定为Cedar策略,并通过调用Cedar SDK的授权引擎来授权访问请求。
Nalley说,Cedar的策略语言是围绕使用基于数学证明的“自动推理”概念编写的。自动推理超越了测试驱动的开发范畴,利用数学来确保策略实际上是按照开发人员要求进行。 根据Nalley的说法,如果尽可能实现自动化,则更容易确保策略和限制的正确性。他解释说:“你可以使用已经存在的数学证明,来证明一个程序将以特定的方式工作。”
尽管Cedar不能通过数学证明对所有事情实施自动化,但它是很有用的,因为它让开发人员可以专注于仅测试策略不起作用的那些边缘情况。
Nalley说,AWS开源Cedar主要是为了透明性,这样开发人员就可以看到它是按预期工作的。“我们希望客户相信Cedar能够按预期工作,我们希望人们用它,去拆解它。”