【问题标题】:What are the ways man in the middle attacks can be initiated?可以通过哪些方式发起中间人攻击?
【发布时间】:2012-12-31 10:49:55
【问题描述】:

我正在创建一个遵循服务器/客户端范例的聊天服务程序。该聊天程序同时作为聊天服务器和聊天客户端存在,用户可以托管聊天室(并将其客户端连接到该服务器),也可以加入现有的聊天室。

客户端通过其他用户将告诉他们的直接 IP 地址(例如从 whatismyip.com 获得)和指定的端口号进行连接。

在此聊天程序中的任何时候,一个用户都可以将文件发送给另一个用户。这是通过要求服务器在两个用户之间建立握手来启动的,用户 A 通过服务器将他的 IP 传递给用户 B,并且用户 B 调用用户 A 为文件传输创建的新服务。这样就去掉了原来的聊天服务器,用户通过nettcp协议通过直接IP连接。

在此文件传输中,文件在最初通过 RSA 加密发送 AES 私钥后使用 AES 加密。

我想知道有人可以通过何种方式在这里发起中间人攻击。显然,我看到了通过服务器将 IP 地址传递给其他用户的缺陷,但现在我看不到任何其他方式,因为我无法让服务器检索发件人的 IPV4。

中间人攻击的方式是不是他可以看到这两个用户正在传输文件,并以某种方式从两端将数据流拉到自己?他可以在已经进行的文件传输会话上执行此操作吗?

我正在尝试了解 MITM 攻击的工作方式,以便查看是否可以保护我的程序免受此类攻击......但如果唯一可靠的方法是使用证书颁发机构(我'我还在学习),请继续告诉我。

【问题讨论】:

    标签: security cryptography communication man-in-the-middle


    【解决方案1】:

    在进行更多搜索后,我发现这个很棒的链接解释了不同类型的 MITM 攻击以及它们的工作原理和执行方式。

    http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part1.html

    一共有四个部分。

    【讨论】:

      【解决方案2】:

      中间攻击的人的工作方式是他可以看到 这两个用户正在传输文件,并以某种方式提取数据 从两端流向自己?他可以在已经进行中的情况下做到这一点吗 文件传输会话?

      您需要定义一个威胁模型。通常的嫌疑人是消息插入、删除、篡改和重新排序。有时攻击者只需要篡改一条消息,这样你就做错了。例如,他/她可能需要翻转一点,以便“将 100 美元从 A 转移到 B”更改为“将 900 美元从 A 转移到 B”。在这种情况下,攻击者不需要在中间或解密消息。


      我正在尝试了解 MITM 攻击的工作方式,以便了解我是否 可以保护我的程序免受此类攻击......但如果唯一的方法是 可靠地这样做是使用证书颁发机构(我仍然 了解),请继续告诉我。

      也许您可以使用已经存在的协议来解决您的问题,而不是尝试设计一个强化的协议。

      该协议将是 Z 实时传输协议 (ZRTP)。该协议在 RFC 6189 中指定,ZRTP: Media Path Key Agreement for Unicast Secure RTP

      ZRTP 是一种密钥交换协议,其中包含短身份验证字符串 (SAS) 以阻止中间人攻击。本质上,SAS 是一种只需要执行一次的语音认证。您可以省略 SAS 检查,但不建议这样做。如果您省略检查并且坏人没有攻击,那么当前和未来的会话一切正常。

      一旦您建立了第一个没有对抗性篡改的安全通道,未来的所有会话都将是安全的,因为当前会话的密钥协议依赖于之前的会话。并且已知最早的会话(第一个会话)是安全的。

      ZRTP 还提供前向保密,因此当前会话的妥协不会影响过去会话的安全性。

      ZRTP 不需要证书颁发机构或其他(不)受信任的第三方。

      博士。 Matthew Green 在他的密码学工程网站Let's talk about ZRTP 上有一个关于 ZRTP 的博客。

      要回答您关于 MitM 的问题,Stack Overflow 的答案太多了。一本很棒的免费书是 Peter Guttman 的Engineering Security。 MitM 有时是攻击者的目标,但它不是他/她唯一的载体。 Guttman 的书着眼于许多威胁、人类如何行动和反应、攻击者成功的原因以及如何围绕许多问题进行设计。

      【讨论】:

        猜你喜欢
        • 2021-10-07
        • 2020-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-01
        • 1970-01-01
        • 2018-08-31
        相关资源
        最近更新 更多