(到目前为止,这个问题纯粹是理论上的,因为我们已经找到了避免它的方法。但是,当它出现时我无法解决它。)
使用 Java,我想以固定的时间间隔通过 SSH FTP 从单个固定服务器发现和下载文件。
远程服务器、协议、时间和文件不在我的控制范围内。远程服务器由受信任的来源控制。
我目前正在使用 Java 实现ls
并get
下载文件。
我的客户非常注重安全,因此他希望尽可能多地防止技术攻击角度。
在考虑恶意实体冒充或控制远程服务器的可能性时,我注意到他们可能会用一个ls
用无限的文件列表回复的实现替换普通的服务器,或者get
用无限的字节流回复. 在某些时候,我的内存或硬盘驱动器会损坏并且我的程序崩溃。
假设我不知道文件可能占用的大小,有没有办法在不停止合法(但大)下载的情况下检测和防止此类攻击?
我正在考虑事先检查文件数量/文件大小,但即便如此,攻击者也只有在我进行此类检查后才能触发他的攻击。