In this paper, we present the modular design and implementation of DONUT, a novel tool for identifying software running on a device. Our tool uses a rule-based approach to detect software-specific DNS fingerprints (stored in an easily extendable database) in passively monitored DNS traffic. We automated the rule extraction process for DONUT with the help of ATLAS, a novel tool we developed for labeling network traffic by the software that created it. We demonstrate the functionality of our pipeline by generating rules for a number of applications, evaluate the performance as well as scalability of the analysis, and confirm the functional correctness of DONUT using an artificial data set for which the ground-truth is known. In addition, we evaluate DONUT's analysis results on a large real-world data set with unknown ground truth.
翻译:在本文中,我们介绍了DONUT的模块设计和实施,DONUT是一个用于识别设备上运行的软件的新工具。我们的工具使用基于规则的方法,在被动监测的DNS流量中检测软件专用DNS指纹(储存在易于扩展的数据库中),在被动监测的DNS中,检测到软件专用DNS指纹(储存在容易扩展的数据库中)。我们在ATLAS的帮助下,我们为DONUT实现了规则提取程序自动化。ATLAS是我们开发了一种新工具,用来用创建的软件给网络流量贴标签。我们通过为一些应用程序制定规则,评估分析的性能和可扩展性,并用已知地面真相的人工数据集确认DONUT的功能正确性。此外,我们还评估了DONUT在无尽地面真相的大型真实世界数据集上的分析结果。