The widespread adoption of cloud computing has resulted in the proliferation of open source cloud computing frameworks that give more control to enterprises over their data and networks. Though the benefits of open source software are widely recognized, there is a growing concern over their security assurance. Often open source software is a subject of frequent updates. The updates might introduce or remove a variety of features and hence violate security properties of the previous releases. Obviously, a manual inspection of security would be prohibitively slow and inefficient. In this work, we propose an automated approach that can help developers to assure the security of open source cloud framework even in the presence of frequent releases. Our methodology consists of creating a (stateful) wrapper that emulates the usage scenarios with explicit representation of security and functional requirements as contracts. We use a model-driven approach to model REST APIs of KeyStone, an identity service in OpenStack. OpenStack is an open source cloud computing framework providing IaaS. Our models define structural and behavioral properties of Keystone together with its security requirements. We detail the implementation of these models in Django Web Framework and also show how to use the behavioral interfaces to implement a service monitor for the cloud services. This mechanism facilitates verification and validation of functional behavior and security requirement in an automated manner.
翻译:广泛采用云计算导致公开源云计算框架的扩散,使企业对其数据和网络拥有更多的控制权。虽然开放源代码软件的好处已得到广泛承认,但人们对其安全保障越来越感到关切。开放源代码软件往往经常更新。更新可能会引入或删除各种特征,从而违反先前释放的安全性能。显然,人工检查安全性能将是令人望而却步和低效的。在这项工作中,我们提议了一种自动化方法,帮助开发者确保开放源云框架的安全,即使经常发布。我们的方法包括创建一个(固定的)包件,以明确显示安全和功能要求作为合同来效仿使用。我们使用模型驱动了KeyStone的REST API,这是OpenStack的一个身份服务。OpenStack是一个开放源云计算框架,提供IaAS。我们的模型界定了Keystone的结构和行为特性及其安全要求。我们在Django Web Framt中详细介绍了这些模型的实施情况,并展示了如何使用行为界面来实施功能性核查机制。