您的位置:首页 > 编程语言 > PHP开发

NetPRA:CNCERT自主私有协议逆向工具

2021-03-16 22:26 951 查看

工控和物联网领域存在大量私有协议或非标通信协议,对这类协议进行分析与测试十分困难。为此,CNCERT自主研发了一款网络协议逆向分析工具——NetPRA,从而使集成了NetPRA的Acheron具备了私有协议自动化逆向分析和灰盒测试的能力。单独编译的NetPRA软件即将开放试用。

NetPRA既支持基于离线PCAP数据包的逆向分析,也支持基于在线网络流量的增量式实时逆向分析。NetPRA提供可视化的数据分组分析功能,用户可以设置各种过滤条件,采用类Wireshark设计模式,用户零学习成本。对于捕获或导入的协议分组,采用数据挖掘、关联分析、概率统计等方法,对协议数据所呈现的字段域的位置、长度及数据的前后转换关系等进行定位和分析,最终解析出协议的报文结构、字段含义、状态信息、上下文关系等,并以图形化方式展示给用户。

图1 NetPRA协议逆向分析流程

测试工具可根据协议的自动化逆向结果,基于当前主流的模糊测试框架(如Peach、Acheron等),自动生成的模糊测试脚本,并自动调用相应的模糊测试工具,对工控和物联网设备进行测试,最后生成测试报告。

图2 NetPRA工作流程


NetPRA具有以下特点:

1. 跨平台

NetPRA协议逆向分析工具采用Python和Java作为开发语言,具有良好的跨平台特性,可适用于Windows、Linux等操作系统。

2. 功能全

NetPRA提供了从分组俘获、分组过滤、数据预处理、格式划分、语义推理、状态机推断、测试脚本生成等涉及工控协议逆向的一系列功能,提供了协议分析一站式服务。

3. 响应快

NetPRA一方面采用基于数据挖掘的预处理方法,降低了协议匹配分析的开销,另一方面采用增量式分析方法,有效提高了协议分析的响应速度,改善了用户体验。

4. 结果准

NetPRA充分利用了用户的先验知识,并将其与将机器学习等智能分析方法相结合,有效提高了协议分析结果的准确性。

5. 上手快

NetPRA提供了用户友好的图形化界面,所有协议分析过程都以图形化显示,使用直观方便,易于用户操作。




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: