数据二极管和 TCP 流量

信息安全 网络 身体的 数据二极管
2021-08-15 17:10:01

数据二极管(单向网络)通常用于为高安全性站点实现基于硬件的“气隙”。他们如何处理需要回复的协议,例如 TCP?

我有一些倾向,即在中间安装某种代理服务器的双向数据二极管可能是答案,但我不确定这如何不会降低/损害单向网络的有效性。似乎防火墙和代理服务器会做同样的事情?我跑题了吗??

2个回答

这取决于实施和安全要求。有些解决方案根本没有反向通道,在这种情况下,您永远无法 100% 确定在另一端接收到数据。可以尝试通过足够频繁地发送数据或进行足够的纠错来弥补这一点,但最后如果接收器系统被简单地破坏,则不会被注意到 - 因为明确没有办法获得确认。

还有一些解决方案试图通过提供最小的反向通道来在可用性和安全性之间找到不同的折衷方案。我更了解的一个产品由三部分组成:中间的微内核和微内核两侧的防火墙。单向功能是使用仅使用最少代码的微内核任务实现的,因此可以更好地检查功能的正确性和稳健性。在这个微内核的两侧是更复杂的防火墙,应用程序将 TCP、UDP、FTP 或 SMTP 流量转换为由微内核传输并返回的自定义单向协议。该协议提供的最小反向通道只能表示成功或失败,这足以提供早期反馈,例如在接收器崩溃并且无法接收更多数据的情况下,或者即使由于密码错误导致 FTP 传输失败。TCP 流控制和类似功能由防火墙上的应用程序实现,不通过微内核。

似乎防火墙和代理服务器会做同样的事情?

不是真的,也不是真的错。实现基本单向功能的代码库越大,就越难确定是否真的只有单向通信。基于物理单向属性(如光发射器和接收器)的数据二极管的好处是它们显然是单向的,并且只有在攻击者可以物理访问系统时才能绕过。但是你越是把单向属性从显而易见的地方移开,就越难确定它真的只是单向的。

例如:对于物理单向,显然会损害二极管的两侧,但仍然可以确保保持单向特性。使用基于微内核的解决方案,我概述了双方的防火墙也可能受到损害,而不会失去单向属性。但是如果微内核受到损害,情况就会变得糟糕。但是在这个解决方案中,如果没有物理访问,这被认为是不可能的,因为微内核就是它所说的:最小的代码库,仅通过单向任务与外部交互,并且这个最小的任务有望防止漏洞利用。在单个防火墙设备上使用代理解决方案就足以破坏该防火墙以解决单向属性。

因此:您可以使用简单的代理解决方案实现单向功能,但很难证明它在所有情况下都只做单向功能,即使受到攻击也是如此。而使用数据二极管的市场通常具有很高的安全要求,并且通常要求您不仅声称您的解决方案是安全的并且可以抵抗攻击,而且您可以或多或少地证明它(即证书,独立评估......) . 在这种情况下,设计上明显的稳健性确实有帮助。

简短的版本是:他们没有。

如果您使用数据二极管,您只希望数据以一种方式流动。这意味着您将只使用处理单向流量的协议,通常是原始协议,例如 ASCII over Serial。如果您需要与外部世界建立更复杂的连接,您将在外部有一台计算机在单向协议和 TCP/IP 之类的东西之间进行转换。