Artificial intelligence 基于人工神经网络的Web客户端分类

Artificial intelligence 基于人工神经网络的Web客户端分类,artificial-intelligence,neural-network,Artificial Intelligence,Neural Network,我有一个高流量的网站。 我想创建一个软件,可以动态分析客户端请求,并确定它们是来自真实用户还是僵尸网络机器人。为了训练神经网络识别合法(“良好”)用户,我可以在没有DDoS活动时使用日志。一旦经过培训,网络将区分真实用户和机器人。 我所拥有的: 请求URI(和订单) 饼干 用户代理 请求频率 关于如何为这项任务最佳地设计ANN以及如何调整它,有什么想法吗 编辑:[回应关于这个问题范围过宽的评论] 我目前有一个正在运行的C#程序,它根据相同请求的频率阻止客户端。现在我想用一个基于神经网络的分类

我有一个高流量的网站。
我想创建一个软件,可以动态分析客户端请求,并确定它们是来自真实用户还是僵尸网络机器人。为了训练神经网络识别合法(“良好”)用户,我可以在没有DDoS活动时使用日志。一旦经过培训,网络将区分真实用户和机器人。

我所拥有的:

  • 请求URI(和订单)
  • 饼干
  • 用户代理
  • 请求频率
关于如何为这项任务最佳地设计ANN以及如何调整它,有什么想法吗

编辑:[回应关于这个问题范围过宽的评论]

我目前有一个正在运行的C#程序,它根据相同请求的频率阻止客户端。现在我想用一个基于神经网络的分类器来提高它的“智能”

我不知道如何为ANN规范化这些输入,我需要在这一特定领域的建议。

这并不真正适用于神经网络。神经网络非常有用(作为粗略指南):

  • 你可以节省处理能力
  • 数据不是暂时的
  • 输入数据是有限的

  • 我不认为您真的通过了任何这些。

    Re:规范化输入:您将输入数据映射到一组符号(然后转换为数字),或者将输入映射到浮点数,其中数字表示某种程度的强度。您可以将任何类型的数据映射到任何类型的方案,但您实际上只希望在问题解决方案是非线性的情况下使用ANN(另一个分类的一个分类的所有数据不能聚集在一条线的一侧,而另一个分类的所有数据则聚集在另一侧)。在这两种情况下,您都会得到与输出相关联的输入向量([BOT,HUMAN]或[BOT,HUMAN,UNKNOWN]或[BOT,可能-BOT,可能-HUMAN,HUMAN]等)


    你如何区分两个用户同时及时提交了完全相同的图书请求(假设你在卖书)?

    这是一个涉及面很广的问题,因为在整个计算机科学学科中,都致力于回答这个问题。这是一个广泛的问题。你试过了吗?没有。我有一个正在运行的C#程序,可以根据相同请求的频率阻止客户端。但现在我想用神经网络来提高它的“智能性”。我不知道如何为ANN规范化这些输入。这是一个有趣的问题,但我希望您意识到,当数据包到达您的服务器时,抵御DDoS攻击已经太晚了。如果您的上游连接已饱和,那么告诉真实用户来自机器人有什么好处?这取决于DDoS攻击的类型。如果当机器人多次尝试请求index.php时,攻击的目标是你的CPU或内存,那么这与流量无关,而是你的CPU和内存,你可以阻止这些机器人并释放你的CPU时间和内存。(2)-你是什么意思?(3) -数据是有限的。比如说,你可以传递5个请求,然后问安它看起来是否像真正的用户。我认为神经网络对数据进行分类是一项很好的任务,不是吗?数据是暂时的,它有时间信息。这取决于你在NN中输入的关于它是否有限的信息(实际上固定长度更好地描述了这个属性)。我不想阻止你尝试这个,但我不太希望它会起作用。“数据是暂时的,它有时间信息”-不。你可以将时间增量传递给NNtemporal-“时间的或与时间有关的”,它仍然是暂时的。它真的比我想象的更复杂