代码之家  ›  专栏  ›  技术社区  ›  Ólafur Waage

如何防止浏览器中的人攻击?

  •  7
  • Ólafur Waage  · 技术社区  · 15 年前

    我一直在读关于MitB攻击的书,有些事情让我担心。

    从…起 WIKI :

    使用强大的身份验证工具只会增加客户和银行对交易安全性的错误信心。

    所以如果我明白了,唯一真正安全的方法是非浏览器确认方法。(如电话或其他外部工具)

    有没有办法防止只使用代码的MitB?

    physical keygen system 您必须按此按钮获取一个数字,然后将该数字输入到交易表单的字段中。

    我不知道这是否被认为是安全的,因为看起来MitB攻击只是使您所做的一切看起来都是安全和正确的,但实际发生的是表单数据在提交时被更改,现在正在传输到其他银行帐户。这样它就可以访问这个钥匙号码了。

    5 回复  |  直到 15 年前
        1
  •  2
  •   Bill the Lizard Alexis MP    15 年前

    电子邮件是否算作OOB交易?

    考虑到像GMail这样的网络邮件服务的普及,我会说不。即使是这样的攻击的目标 不是吗

        2
  •  1
  •   ChrisW    15 年前

    article which is the subject of (and referenced by) that Wikipedia article

    因此,您的问题的答案是“否”:一旦O/S被感染,恶意软件(至少理论上)也可以拦截您的电子邮件。

    另一方面,一些客户端平台(例如,甚至移动电话,更不用说专用销售点终端)比其他平台更不容易受到感染。

        3
  •  1
  •   JP Alioto    15 年前

    这类讨论的问题是,它总是会变得更加复杂。电子邮件是无效的带外步骤,因为,我必须想象我有一个rootkit。。。如果我停止,我必须想象我的操作系统实际上是一个运行在邪恶虚拟机中的来宾操作系统。。。如果我停止这样做,我想我不得不想象这是矩阵,我不能相信任何东西都能用200美元的可用信用来保护我的visa卡

        4
  •  1
  •   Osseta    15 年前

    要回答您的问题,没有办法仅在代码中对此进行辩护。你所做的任何事情都可以在一个恶意软件中专门处理。

        5
  •  1
  •   Community Ramakrishna.p    4 年前

    这是我对浏览器中的人的观点。浏览器中的人好像:

    1. 受害者站起来,离开电脑,将背部移到电脑旁,这样他就不能触摸键盘、移动鼠标,甚至看不到屏幕。
    2. 一名黑客坐在受害者电脑后面。
    3. 如果受害者想使用他的电脑,他 必须 让黑客帮他做这件事。如果他想看到任何结果,他 必须
    4. 黑客尽最大努力让用户相信他在做他要求的事情,并重复他所做的事情。但是,要毫不留情地从这种情况中获益!

    Man In The Browser

    作为一个简单的例子:

    1. 受害者可能 .
    2. 类型 转帐10000美元给杰克 . (发送前篡改表单数据)
    3. 系统可能会显示,我已将10000美元转移给杰克,但黑客说500美元已转移给杰克。(篡改结果HTML)
    4. 受害人要求查看其账户余额,以确保转账完成。
    5. 黑客可以说帐户余额是正确的(例如,可以通过删除余额表的最后一行并更改HTML中的余额金额来实现)

    1. 你们在等一封电子邮件,问黑客我有银行的确认电子邮件吗。
    2. 由于你看不到显示器,他说是的。(从技术上讲,他可以很容易地生成一封假电子邮件)。 (即使你坐在另一台干净的电脑上,也会再次收到一封假电子邮件)

    1. 黑客,我的银行应该给我看一张必须显示转账信息的图片,你能看到吗,上面写着什么。
    2. 黑客 回复 :是的,我可以看到,上面写着“你正在向mom转账500美元”(JavaScript可以轻松创建图像,或者黑客可以将图像url指向服务器,服务器会生成带有适当数据的动态图像以欺骗用户)

    当浏览器中的人更改网站流量时,可能会发生非常危险的情况。在这种情况下,即使是OTP或kegen系统也无法阻止攻击。例如:

    1. 你问黑客你想看看你的平衡
    2. 现在,黑客 当前位置银行问我如果你想查看你的余额,你必须输入一把钥匙。
    3. 你认为,平衡的钥匙似乎很奇怪,但无论如何,让我们把钥匙给他,我相信这个人!!
    4. 黑客切换回传输表单并使用密钥进行传输。

    因此,正如您所看到的,对于浏览器中的人,没有服务器端解决方案,您可以:

    1. 使用带外解决方案向用户通知关键信息。(这就好像你手里拿着一部手机,虽然你的背部仍在电脑上,但敏感信息会被发送到你的可信设备,你可以看到关键信息)
    2. 使用强化浏览器以确保没有人可以更改其行为。(坐回计算机:))

    MITB可以完成的工作的良好示例可在以下网址找到: http://www.tidos-group.com/blog/2010/12/09/man-in-the-browser-the-power-of-javascript-at-the-example-of-carberp/