gpt4 book ai didi

java - 如何防止无限下载?

转载 作者:行者123 更新时间:2023-12-02 07:30:53 25 4
gpt4 key购买 nike

(到目前为止,这个问题纯粹是理论上的,因为我们已经找到了避免它的方法。但是,在它出现时我无法解决它。)

使用 Java,我想以固定的时间间隔通过 SSH FTP 从单个固定服务器发现并下载文件。
远程服务器、协议(protocol)、时间和文件不在我的控制范围内。远程服务器由可信来源控制。

我目前正在使用 lsget 的 Java 实现来下载文件。

我的客户非常注重安全,因此他希望尽可能多地防止技术角度的攻击。<​​/p>

在考虑恶意实体冒充或控制远程服务器的可能性时,我注意到他们可能会用一个实现来替换通常的服务器,该实现会用无限列表回复 ls文件,或使用无限字节流回复get。在某些时候,我的内存或硬盘会损坏并且我的程序崩溃。

假设我不知道文件可能占用的大小,是否有方法可以在不停止合法(但较大)下载的情况下检测和防止此类攻击?
我正在考虑事先检查文件数量/文件大小,但即使如此,攻击者也只有在我进行此类检查后才能触发他的攻击。<​​/p>

最佳答案

While thinking about the possibility of a malign entity either impersonating or taking control of the remote server.

除非 SSH 的客户端实现存在缺陷,或者受信任站点的私钥被泄露或破解,否则应该不可能冒充该站点。

Assuming that I don't know the size a file could take, are there ways to detect and prevent such an attack without stopping legal (but large) downloads?

我不这么认为。

I was thinking about checking the number of files/file size beforehand ...

问题是如何区分“合法但大型”的下载和来自受感染服务器的大型下载?

<小时/>

我认为解决方案是限制下载大小。

另一件事要注意的是,即使坏人确实欺骗您进行“无限”下载:

  1. 这实际上是拒绝服务攻击,而不是具有直接安全后果的攻击。<​​/li>
  2. 有更简单、更有效的方法可以发起拒绝服务攻击。
  3. 下载不会真正无限。由于网络问题、系统重启等原因,连接最终会断开,或者有人会注意到下载需要很长时间。

关于java - 如何防止无限下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12935490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com