在HTTPS安全模型中,最薄弱的部分是浏览器中可信CA的列表。有很多方法可以让用户将额外的CA注入用户会信任错误人员的列表中。
例如,贵公司的公共计算机或PC。管理员可能会强迫您信任自己发布的CA,但使用HTTPS中继的HTTPS代理服务器可能会非常不安全。因此,他们将能够发送您的消息,登录名和密码,即使浏览器告诉您您的信任SSL连接。
在这种情况下,Web应用程序开发人员可以做些什么来保护用户和系统?
答案 0 :(得分:4)
作为一名Web应用程序开发人员,您无法做到这一点。
这个问题需要在堆栈中进一步处理。
如果世界各地有人想要:
一个。将假根CA放在某人的计算机上
湾在该CA下为您的域颁发证书
℃。冒充您的网站
d。将某人的域的本地DNS条目指向另一个IP
上述步骤均不涉及您的申请或咨询,因此良好的网络管理和安全性非常重要。
除此之外,也许有人在他们的个人网络上本地做这件事是合理的。我是谁阻止他们?
这基本上是企业网络代理过滤器所做的事情,并且他们有权这样做。
至于阻止某人恶意采取上述步骤,而这些步骤需要放在客户机器的管理员身上。
答案 1 :(得分:1)
从理论上讲,如果用户的终端由对手拥有,那么你已经输了,而且你无能为力 - 如果推动他们可以过滤你的对策或甚至刮擦和欺骗整个网站。
在实践中,你可以做的事情让对手的工作更难,但这是一场军备竞赛。您可能不得不使用恶意软件对扫描仪使用的所有相同类型的对策 - 因为从对手的角度来看,您的网站通过试图阻止自身被覆盖而表现出恶意行为! - 并且知道如果你的对手足够关心,你所做的任何事情都可以迅速反击。
例如,您可以打开套接字或使用JavaScript或小程序中的XmlHttpRequest
,但是您无法阻止对手更新其过滤器以删除您添加的任何内容。
通过发出多态输出或使用其他反逆向工程技术,您可能获得更多里程,因此看起来没有两个点击到该站点产生发送到浏览器的类似代码/资源。这是一项过多的工作,但如果他们想要在中间扮演男人,那就给你的对手一个谜题。