首页 > 其他分享 >自定义TCP协议,私有TCP协议以及TCP协议安全性提高升级

自定义TCP协议,私有TCP协议以及TCP协议安全性提高升级

时间:2023-03-16 10:24:28浏览次数:44  
标签:协议 自定义 端口 tcp TCP 攻击者

tcp协议是最底层的,一般来说无需修改,直接使用。但是在某些场景下,直接使用会带来一些安全性的问题:比如物联网设备。

物联网设备需要经常的发送消息到服务器,如果直接使用标准TCP协议,攻击者在抓包后很容易获得服务器的端口,然后进行以下操作:

  • 饱和攻击,将所有设备离线!
  • 报文解析,通过对报文的处理来逆向报文,伪造数据进而造成损失!

这里提供一个思路,根据tcp 协议,在协议中有一个可选头,可选头可以附带自定义的数据。通过这个字段来将数据进行封包,然后先校验这个标识,如果未通过,则默认为垃圾消息,进行丢弃处理。

这样的好处在于,即使攻击者抓取端口,但攻击成本会提高数倍:

  • 即使知道端口,但因为所有数据将会没有响应,所以攻击者也不知道端口状态,所有攻击如牛入泥海
  • 由于有自定义的标识,伪造数据包后使用标准tcp封包发送将会被丢弃,进而提高攻击难度

经过在网上找了一圈资料,把以上思路进行了实现,写了一个基于netfilter的插件,基本实现了上述功能:
贴上地址,希望可以启发一下大家的思路,如果有用请点赞
通过linux netfilter 扩展的 TCP自定义封包过滤器。

标签:协议,自定义,端口,tcp,TCP,攻击者
From: https://www.cnblogs.com/raychang/p/17221302.html

相关文章

  • TCP协议得物联网安全浅析
    公司做物联网项目,后端采用java+netty开发,端口如果直接暴露使之容易被扫描攻击。故实现自定义TCP头,这样可以在握手阶段就丢弃数据包,达到提高攻击门槛的目的。 在......
  • I2C协议
    I2C协议通信协议可以按照通信方式分为单工,半双工,全双工三种。单工:发射端和接收端固定,有一条数据通路,通路上数据单向流动。半双工:发射端和接收端可变,有一条数据通路,通路......
  • OSI五层协议
    网络编程原理:网络编程是指利用计算机网络技术进行数据通信,通过网络连接实现进程间通信和数据交换。网络编程的基本原理是客户端与服务器之间的通信,客户端通过网络连接到服......
  • 【python爬虫】 request模块介绍 http协议版本区别 双token认证 携带cookie的两种方
    目录上节回顾今日内容1爬虫介绍2request模块介绍3request发送get请求4request携带参数5url编码解码6携带请求头http协议版本之间的区别7发送post请求,携带数据对于......
  • .net core自定义使用FluentValidation
    本篇实使用FluentValidation时自动注册以及在注册后自动验证,无须在接口中添加验证代码的功能。1.相应开发环境.netcore3.1Nuget包FluentValidation10.0.02.原校验过程......
  • 自定义登录成功处理和失败处理
    自定义登录成功处理和失败处理在某些场景下,用户登录成功或者数失败的情况下用户需要执行一些后续操作,比如登录日志搜集,或者在现在目前前后端分离的情况下,用户登录成功和失......
  • QT5笔记:7. 自定义类、自定义信号及类的元对象信息
    自定义的QPerson类,需要继承QObject类qperson.h头文件#ifndefQPERSON_H#defineQPERSON_H#include<QObject>classQPerson:publicQObject{Q_OBJECT......
  • linux自定义man搜索路径
    很多时候,在linux我们源码编译库代码时候会自定义安装路径,这使得man查询的时候无法找到库文档,默认的man搜索路径可以使用下面命令查看:$man-w/usr/local/share/man:/usr/......
  • Magento2.4.5 在后台产品列表添加自定义列
    要在Magento2.4.5后台产品展示列表中添加自定义列,请按照以下步骤进行操作:1.创建一个自定义模块。2.在自定义模块的"view/adminhtml/ui_component/product_listing.xm......
  • UDP协议类_DatagramSocket——广播代码实现
    广播地址:255.255.255.255 publicclassClientDemo{publicstaticvoidmain(String[]args)throwsIOException{//广播DatagramSocket客户端发送......