In this paper, we propose a new approach to infer state machine models from protocol implementations. Our method, STATEINSPECTOR, learns protocol states by using novel program analyses to combine observations of run-time memory and I/O. It requires no access to source code and only lightweight execution monitoring of the implementation under test. We demonstrate and evaluate STATEINSPECTOR's effectiveness on numerous TLS and WPA/2 implementations. In the process, we show STATEINSPECTOR enables deeper state discovery, increased learning efficiency, and more insightful post-mortem analyses than existing approaches. Further to improved learning, our method led us to discover several concerning deviations from the standards and a high impact vulnerability in a prominent Wi-Fi implementation.
翻译:在本文中,我们提出了从执行协议中推断国家机器模型的新办法。我们的方法,即国家技术局,通过使用新方案分析,将运行时记忆和I/O观测结合起来,学习协议状态。它不需要获得源代码,而只需要对测试中的执行情况进行轻量级执行监测。我们展示和评价了国家技术指标和WPA/2执行中的效率。在这个过程中,我们展示了国家技术局能够更深入地发现国家,提高学习效率,并比现有方法更深入地进行尸检分析。除了改进学习外,我们的方法还使我们发现一些与标准不符的情况以及显著的无线信息执行中存在高度影响的脆弱性。