netty开发,物联网协议安全浅析

 

做了几年物联网开发,对于设备协议安全和反逆向,总体可以有以下思路:

 

- 1. 协议加密,设备端和云端统一使用密钥进行加解密,而且密钥可以通过鉴权流程进行动态变更

- 2. ip黑白名单, 使用黑白名单的策略对设备入网或者流量进行识别区分,避免攻击

- 3. 异常流量统计, 设备异常流量一定要做好统计,一有异常报警并增加业务处理逻辑,比如临时下线等等

- 4. tcp报文改造,利用防火墙的netfilter功能,对tcp的自定义扩展区域加上特征码,不包含特征码的tcp报文直接忽略。这个适用于公网

- 5. 协议选择, 尽量选择二进制协议而非文本协议,破解难度更高

- 6. 数据传输业务分离, 数据传输层只做数据收发,不涉及任何业务处理。

 

==========================

以上为我司目前使用的安全策略,目前设备公网在线量约47W, 

 

针对于第4点,我已经整理代码并开源,欢迎大家使用:

MisterChangRay/custom-tcp-filter: Custom Tcp Header Options And When Data Arrive Netfilter Check It (github.com)

 

针对于java的协议序列化,也做了一个开源工具:

magic-byte: 一种简单的方式将java对象转为字节数据,用于快速高效的自定义序列化/反序列化场景,类似C的Strcut结构体,多用于私有通讯协议实现。 (gitee.com)

 

posted @ 2023-03-15 11:26  枫潇雨  阅读(305)  评论(0)    收藏  举报