Lack of awareness and knowledge of microservices-specific security challenges and solutions often leads to ill-informed security decisions in microservices system development. We claim that identifying and leveraging security discussions scattered in existing microservices systems can partially close this gap. We define security discussion as "a paragraph from developer discussions that includes design decisions, challenges, or solutions relating to security". We first surveyed 67 practitioners and found that securing microservices systems is a unique challenge and that having access to security discussions is useful for making security decisions. The survey also confirms the usefulness of potential tools that can automatically identify such security discussions. We developed fifteen machine/deep learning models to automatically identify security discussions. We applied these models on a manually constructed dataset consisting of 4,813 security discussions and 12,464 non-security discussions. We found that all the models can effectively identify security discussions: an average precision of 84.86%, recall of 72.80%, F1-score of 77.89%, AUC of 83.75% and G-mean 82.77%. DeepM1, a deep learning model, performs the best, achieving above 84% in all metrics and significantly outperforms three baselines. Finally, the practitioners' feedback collected from a validation survey reveals that security discussions identified by DeepM1 have promising applications in practice.
翻译:我们声称,查明和利用分散在现有微观服务系统中的安保讨论可以部分弥合这一差距。我们将这些安保讨论定义为“发展者讨论的一段,其中包括与安全有关的设计决定、挑战或解决办法”。我们首先调查了67名从业人员,发现确保微观服务系统是一项独特的挑战,而且获得安全讨论对作出安全决定是有益的。调查还确认,可能的工具对自动确定此类安保讨论很有用。我们开发了15个机器/深层学习模型,自动确定安保讨论。我们将这些模型应用于一个手工制作的数据集,其中包括4 813次安全讨论和12 464次非安全讨论。我们发现,所有模型都能够有效地确定安保讨论:平均精确度为84.86%,回顾72.88%,F1核心为77.89%,ACU为83.75%,G-平均值为82.77%。深层M1是一个深层学习模型,在所有计量讨论中最优秀,达到84%以上,深层M1级讨论中大大超出三个基准。最后,我们发现,通过收集的实践验证,从深层M软件中得出了可靠的反馈。