首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发起中间人攻击的方式有哪些?

发起中间人攻击的方式有哪些?
EN

Stack Overflow用户
提问于 2013-01-17 07:42:52
回答 2查看 953关注 0票数 0

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

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

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

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

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

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-25 13:25:30

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

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

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

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

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

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

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

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

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

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

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

票数 0
EN

Stack Overflow用户

发布于 2013-01-20 19:14:44

在做了更多的搜索之后,我找到了这个很好的链接,详细解释了不同类型的MITM攻击以及它们是如何工作和执行的。

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

全文共分四个部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14369919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档