人类不擅长URL和字体无关紧要

2020-10-30 03:19:17

在过去的几天里,很多受害者都在抱怨。受害者并非自己的过错,一直是众多愤怒推文的目标,这些推文旨在嘲笑他们在互联网安全中所扮演的角色,并暗示他们没有能力履行自己的职责。这一切都是从这里开始的:

这是一个很好的例子,说明人们在阅读和理解网址的域名部分,然后根据影响他们的安全和隐私的部分做出决定是多么糟糕(参见民意调查下面的答案)https://t.co/Ati2ndKvGI。

-特洛伊·亨特(@troyHunt)2020年10月24日。

让我提供一张NordVPN在那条推文中发布的民意调查的屏幕截图,因为由于稍后会变得明显的原因,您的体验可能会有所不同:

当我第一次看到这个投票时,它已经结束了,所以选票已经全部展示出来了。尽管HTTPS与网站内容的可信度完全无关,但我认为百度获得了最大份额的选票,因为HTTP地址没有通过安全方案提供。如果我完全诚实,我不知道正确的答案是什么,因为坦率地说,我不擅长阅读URL。结果是第三个:

答案是第三个。我们用了一个大写的“i”,让它看起来像一个小写的“L”i或l--不是很容易辨别出区别,是吗?这就是https://t.co/IxZMKl9zcO成为https://t.co/bLOVrYNV1u.的原因。

-NordVPN(@NordVPN)2020年10月23日。

啊,真狡猾!如果我在浏览器开发工具中手动将字体更改为serif版本,一切都会变得清晰(Er):

我在这篇博文的开头提到的受害者?可怜的老式无衬线字体,有很多人把它扔到公交车下面,认为它是表达域名的无用的排版选择。我将为这篇博客中的简单字体辩护,首先解释一下我们在这里实际看到的东西-同形文字:

在正字法和排版中,同形字形是形状相同或非常相似的两个或多个字素、字符或字形中的一个。

但是,NordVPN民意测验中的字符之所以看起来相似,只是因为大小写混合在一起,那么为什么不直接将所有字符都小写呢?一旦URL出现在浏览器的地址栏中,就会发生这种情况:

等等,浏览器在解析并加载导航栏中的URL后,是否始终对其执行.toLowerCase()(&A;)?(DNS不区分大小写)。这将显示出Googie&34;的问题。在点击之前浏览URL链接没有太大帮助,因为链接文本可能与目标URL不同。

-BartekŚWierczyńSKI(@bswerczynski)2020年10月25日。

对于投票中使用的NordVPN域,让我们来看看它在浏览器中是如何呈现的(奇怪的是,该站点不支持HTTPS,所以我更改了方案,但域名是相同的):

事实证明,googie.com不是一个钓鱼网站,而是一家合法的房地产服务公司,这里用Chrome以非常常见的1080p分辨率显示。你能发现域名和搜索引擎相比有什么细微的区别吗?你能清楚地看到为什么我不是一个人吗?显然,图片的大小已经调整到了这个博客上段落的宽度,如果您想以1:1的大小查看它,请点击一下。但是,让我们在这里也保持一些观点;看看我和我之间有多少像素的不同之处:“。”

我们真的要依靠未经训练的眼睛在200多万个网络钓鱼的屏幕上发现6个像素丢失,从而打击网络钓鱼吗?!当然不会,尤其是如果有人在点击了像NordVPN‘s这样的大写链接后才进入这个页面,尤其是如果这个页面是一个钓鱼网站,而不是一个精美的房地产网站,看起来就像谷歌(Google)。巴泰克的建议完全可以理解,但也完全不可靠。

这在很大程度上回到了一个古老的陈词滥调,即围绕URL的可信度,用户应该在多大程度上参与整个决策过程,实际上,应该有多积极的技术来帮助他们完成这项任务。例如:

很长一段时间以来,我一直认为URL应该始终使用serif来呈现,部分原因正是出于这个原因。这和斜杠的零,也许是一个警告弹出的URL在视觉上类似(但不同于)流行的URL,将会有很大的帮助来缓解它。

-Jon(@heeerrresjonny)2020年10月25日。

所以..。有人想在googie.com上找一些好的房产,浏览器会弹出警告?可怜的古吉!就像没有相似的名称并不意味着URL不指向网络钓鱼网站一样,仅有相似的名称并不会使一个网站变坏(或可能变坏)。稍后会有更多关于这一点的报道。

但还有另一个问题,归根结底就是同形文字比看起来相似的几个无衬线文字是一个更广泛的问题。例如,维基百科关于这一主题的文章展示了用小写表示的拉丁字母表的第一个字母与用Helvetica字体表示的西里尔文版本是如何难以区分的:

蓝色的填充物是人们熟悉的,而红色的轮廓是西里尔文的,虽然这两个字符看起来一样,但它们实际上是完全不同的。因此,您可以可行地使用两个不同的URL来表示,虽然它们在视觉上是相同的,但实际上却指向不同的地方。这里有一个漂亮的例子来说明这个问题:

如果你看火狐当前版本的地址栏,你的眼睛会告诉你你在看苹果网站,但如果你看了标签的标题,你就会意识到你根本不是在这家科技巨头的网站上,而是在аррӏе网站上。嗯?!

现在,让我们在Firefox的开发工具中来看看上面这段话,让我们把它搞得乱七八糟:

浏览器会在页面上显示我们都认识的公司名称,而就在鼠标下方,我们会在状态栏中再次看到相同的名称。然而,在dev工具中,我们看到超链接的href属性引用了一个无法识别的字符串,而<;a>;标记中的域名几乎看起来非常熟悉,尽管是第四个字符。点击Firefox上的链接,你会进入一个谈论IDN同形异义词的页面,但如果你使用Chrome,体验就不同了;在浏览器中,它看起来仍然像这家科技公司的域名,但将鼠标悬停在链接上,状态栏中会从上方显示href值。实际单击该链接后会显示以下内容:

由于Chrome和Firefox使用的字体,这两个域在视觉上无法区分。因此,如果不仔细检查网站的URL或SSL证书,就不可能识别该网站为欺诈性网站。

你可以在上面的链接中深入研究这是如何工作的,但现在,有两个重要的信息需要带给你:

即使仔细查看URL也不足以确定您正在访问的实际网站地址。

这不是印刷工或程序员犯下的罪过,责怪可怜的老式无衬线字体只会让它成为所有这一切的受害者。这是一种错位的情绪,因为我们只是在不同的字母表中有相似的字符。人们甚至不善于阅读和理解URL的域名部分,然后根据影响他们安全和隐私的内容做出决定,这有什么奇怪的吗?

如果我们采取不同的策略呢?我的意思是,如果我们以一种不会因为地址中使用的字符而模棱两可的方式,让人们更清楚地了解他们实际使用的URL会怎么样?可以说,更加以用户为中心:

同理心和以用户为中心的设计。为我们拥有的用户设计,而不是为我们想要的用户设计。以他们的经验为中心,不是我们的。创建大量的反馈循环,并明智地使用它们。哦,不要嘲笑那些有利基需求的人,或者更喜欢不同寻常的方法的人。结束了。

-Emma(@Browwwn)2020年10月25日

让我们来解决一下为什么这不能让我们更接近一个真正的解决方案,而这就是事情变得更糟的地方--更糟的地方。在你开始观看我在下面嵌入的视频之前,让我来设置一些背景:这是由在Google Chrome团队工作的艾米丽·谢克特(Emily Scheck Hter)所做的演讲。几年前,我在夏威夷的LocoMocoSec上看到她发表了这个主题演讲,这真的引起了我的共鸣。艾米丽是业内最优秀的人之一,她比几乎任何人都能更多地接触到人们如何与浏览器互动的现实世界信息,所以请仔细听她的话(我已经深入链接到相关部分,只需花一分钟时间):

您认为仅从URL就可以了解是谁发布了这些站点吗?你能分辨出其中哪一个是真正的谷歌博客网站吗?

我不能,因为正如我们已经确定的那样,我甚至不擅长阅读和理解URL的域名部分,就像你一样。如果你想知道,真正的谷歌博客网站在blog.google,我知道这一点的唯一方法是因为我快进到视频的16分钟标记,听到艾米丽说了这句话!我在这里显然要说的是,当我们谈到人们不善于解释URL时,这不是一个简单地通过改变字体或以他们的经验为中心就能解决的问题,问题要深得多。

但所有这些都不能阻止Twitter花生画廊表达他们对URL带来的困难的不满。一些建议是合理的,其他的是,嗯:

还有一则指责最终用户的帖子。系统需要设计成“每个人都可以访问”,如果我必须做特殊的心理或身体体操才能使用系统……。系统已损坏https://t.co/iZIPj5ZMu7。

-Earl Matthews(@EarlMatthews)2020年10月25日。

推特上回复的一个共同主题是以用户为中心,同理心和可及性。这些都是好的情绪,但正如我在随后的一条推文中所说,它们都是母性的声明,没有任何实质内容。这类似于说我们应该解决世界饥饿问题,然后在没有实际提供任何解决方案的情况下四处游荡。或者像这样说,我们应该有一个由多学科组成的团队,这样就能解决这个问题。啊:

我们可以建立什么来实现这一目标?我们可以建立一个资助的多学科团队,他们可以获得非轶事数据,并最终影响标准小组和供应商的优先事项?技术只会走到这一步,但安全浏览和已知不良的RPZ也会进入消费者DNS(可能)

-Joel Samuel(@JoelGSamuel)2020年10月26日。

我相信有这个团队是很好的,但是他们实际上要建设什么呢?是纽扣吗?通知什么地方吗?这并不是解决钓鱼问题的办法,而是建议应该有一个团队能够找到解决钓鱼问题的方案,有点像谷歌浏览器团队,对吧?🙂。

一个更实际的建议涉及在网站上展示某种形式的验证身份:

是的,如果SMS/Twitter客户端突出显示URL,也许他们也应该通过.toLowerCase()将它们标准化。这里的解决办法是什么?是否在特定注册表中定义的可信URL旁边显示公司(商标)徽标?浏览器过去常常对证书执行此操作。

-BartekŚWierczyńSKI(@bswerczynski)2020年10月26日。

虽然这在理论上听起来不错,但正如Bartek观察到的那样,浏览器不再这样做了,而且有很好的理由:它从一开始就不起作用。由于我在那篇博客文章和之前的其他文章中概述的各种原因,它从未奏效。EV失败的核心是这样一个简单的错误前提:在每个网站的基础上,用户能够根据自己的判断,在没有一个鲜为人知(也很少出现)的视觉指标的基础上,准确地做出信任决定。他们不能,就像他们不能用URL参数、带衬线或不带衬线的字体,甚至是没有任何混淆的整个URL一样。它。只是。不管用。

但如果他们可以呢?我的意思是,如果世界与实际完全不同,人们理解视觉安全指标,会发生什么?不仅仅是视觉指示器,如果人们真的可以阅读和理解URL会怎么样?

我认为隐藏信息会剥夺用户发现异常情况的关键机会。我真的爱你。澄清和放大将是我的偏好。

-马克·西蒙斯(@MarkDSimmons)2020年10月25日。

显然,他们目前还不能(我们已经确定了这一点),那么改变这种行为的挑战是什么呢?

首先,这给用户带来了负担。第二,这样的教育以前从来没有奏效过。第三,从字面上讲,将有数十亿人需要教学。期望用户成为足够的安全专家来可靠而准确地做到这一点是不可能的。

-斯科特·赫尔姆(@Scott_Helme)2020年10月25日。

斯科特在这里做到了这一点-改变数十亿互联网用户的现状是不可行的,任何要求他们检测URL结构中细微差别的解决方案都注定会失败。有些地方的视觉指示器可能非常有效,但我们谈论的是非常令人讨厌的地方,比如上面Chrome在二元码苹果域名上发出的警告。那是另一回事(对不起,我控制不住!)。建议我们可以训练人们阅读和理解URL。

那么,我们能不能把人类排除在外,转而用这项技术来识别钓鱼网站呢?我们已经可以了,上个月我写了一篇关于NordVPN';的CyberSec如何彻底屏蔽这类事情的文章:

根据那篇博客文章,这是一个合法的钓鱼网站(好的,我在这里用了一个奇怪的方式使用了合法这个词,但你知道我的意思是🙂),看看网址;之前关于使用衬线字体的任何建议都没有阻止这样的网站。有没有人真的认为,如果字体更具装饰性,会有更少的人上当?!

在结束这篇文章之前,值得一提的是为什么我们在像Twitter客户端这样的地方使用无衬线字体。事实上,让我们首先承认,除非有人能证明我是错的,否则每个Twitter客户都使用无衬线字体。当然,Twitter网站做了,原生iOS客户端做了,Tweetbot也做了。如果你使用的客户没有,我很想了解一下。现在,你认为事情发展成这样仅仅是巧合吗?编码者使用这些字体构建客户端是罪人吗,或者实际上可能有合法的原因?当然是后者:

与衬线字体相比,无衬线字体的笔划宽度变化更小。它们经常被用来传达简约和现代或极简主义。无衬线字体已成为在计算机屏幕上显示文本的最流行字体。在较低分辨率的数字显示器上,像衬线这样的精细细节可能会消失或显得太大。

也就是说,我显然对这个博客采取了一种不同的方式,但我也不会像Twitter那样将大量信息浓缩到一个很小的空间里。无论如何,无衬线字体并不比衬线字体不会停止钓鱼一样,所以我看不到Twitter客户端会改变策略,而且这也不会有什么不同。

那么,答案是什么呢?我指的是实际的解决方案,而不仅仅是重新设置杀手级网络的上下文。(好的,我是从废话生成器里拿来的,但它与前面提到的一些建议没有什么区别。)。事实证明,我们确实有解决方案,正如一些人指出的那样,使用一个像样的密码管理器就是其中之一:

解决方案:使用1Password作为密码管理器。它与伪造的域名不匹配,因此没有输入密码。这就是特洛伊推荐密码管理器的原因。特别是#1 Password👍。

-marcG(@marcwastaken)2020年10月25日。

想要对网络钓鱼攻击产生有意义的影响吗?停止抱怨字体,让人们使用最新的浏览器,该浏览器可以标记通过NordVPN运行的已知钓鱼网站,并打开CyberSec,并使用1Password对网站进行身份验证。尽一切可能继续教育人们,但预计即使是最精明的互联网用户最终也会像我这样的🙂一样不会阅读URL