security - 利用 "backwards"进入出站 tcp 连接的风险

标签 security tcp firewall network-protocols exploit

我正在构建一个服务器应用程序,它将通过防火墙启动 TCP 连接来维持与其他应用程序的连接,该防火墙只对应用程序将连接到的相关 IP 端口的出站流量开放。

如果有人接管了我们连接的机器,从而能够通过我们建立的出站连接向后利用我们的应用程序,这有什么风险。

连接使用的协议(protocol)不难理解,但它基于周期性心跳(间隔 30 秒)。如果错过了两个连续的心跳,发起者(我们)将终止连接并重新连接。

我们应用程序的源代码或二进制文件对我们连接的组织不可用。

最佳答案

如果攻击者可以访问您要连接的机器或网络,那么他们很容易嗅探到您服务器的网络流量。这可能允许他对您的协议(protocol)进行逆向工程,然后尝试将恶意数据注入(inject)返回到您服务器的数据中,或者完全替换客户端应用程序。

既然听起来您不能信任客户端应用程序,那么无论是谁发起连接都无关紧要,一旦建立起来,您就有了双向通信 channel 。在这种情况下,最好的办法是验证来自客户端的所有数据。

如果您可以信任客户端,而不是网络,那么在您的网络协议(protocol)中添加一些加密会有所帮助。

关于security - 利用 "backwards"进入出站 tcp 连接的风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/687059/

相关文章:

security - 删除 TFS 中的读者组和贡献者组有任何副作用吗?

c++:简单的TCP服务器不接受来自客户端的数据

linux - 将 NFTables 设置迁移到其他机器

visual-studio - 确切地说,必须打开哪些端 Eloquent 能使MSVSMON.exe(远程调试)正常工作?

firewall - STUN 协议(protocol) : How to detect twice or double NAT firewalls?

security - 防止定时攻击

web-services - 保护使用 Web 服务的移动应用程序的最佳实践

php - escapeshellcmd警告

c++ - 如何通过蓝牙从 iPhone/iPod Touch 向 Windows C++ 应用程序发送流数据?

.net - Windows Server 2008 上的最大 tcp/ip 连接数