GNOME网络安全团队从用户角度开发安全产品

在信息安全与用户执行的便利性之间,两者往往背道而驰,然而GNOME网络安全团队组长Tobias Mueller却有不同的看法,他们认为在操作系统中,无谓的对话框非但不能增加安全性,反而会造成用户执行应用程序的麻烦,因此,他认为开发者设计软件操作流程时,应该从用户角度进行衡量。

Tobias举例,软件的开发者原先是美意,以弹出式窗口提醒,要用户留意再加以确认放行。其中最常见的情况,可能是由于企业采用了自己派发的凭证,导致网络链接的凭证错误,或是像是软件没有安全开发者署名的情形,这个时候,操作系统出现了弹出式窗口警示,但现实的情况是,用户可能才刚下载了安装文件正要执行,这样的警告让大多数用户难以理解,当然普遍来说都是想尽办法按下确定,消除这些窗口,让软件继续执行,所以这些警示窗口,实际上并没有如开发者的预期达到保护的效果。

他也引用了Ellison用户操作体验定律假说,每当因为网络安全考量,开发者每增加一个需要点击的按钮,就会吓跑一半的用户。 Tobias说,推送这种提示消息的做法根本是种错误,尤其有些对话框还让用户做出永久的决定,更是恶魔的行为。纵使后者是避免未来不断询问的解套机制,可是若是用户一旦勾选了不适当的项目,其影响的后果可是相当深远。

作为一个投入自由软件开发的人员,Tobias认为,以往曾经会觉得用极为复杂的手法保护自己,是一件非常酷炫的事情,但是现在他会想到,对于家中没有IT或是网络安全技术背景的亲属而言,根本无福享用这样的安全机制,因此,Tobias说,由于自由软件的开发,多半是自发性的开发人员参与,很容易从自己的需求进行设计,往往会忽略一般用户操作的场景,而这样的情况以往在X.org桌面环境上相当严重,会让这些想要想要尝试的用户裹足不前。

他也一群布鲁塞尔的大学生,想要以人工交换邮件的加密密钥为例,200个人在只有摄氏2度低温的冬天,站在户外长达好几个小时,仅仅是为了互相交换160比特的16进制密码。然而,这样的方法不仅极为麻烦,还可能会搞错,像是8就容易与B弄混。这也突显开发者可能认为是自得其乐的方式,但应用在一般用户上会是场灾难。

因此,Tobias认为,桌面环境的信息安全,应该在软件开发时,就一并纳入考量,而且在不影响用户的操作流程为前提,强化相关的防护。例如,在应用程序的部分,他们就采用了容器化(Containerise)的Flatpak措施,避免系统的内容遭到恶意访问行为攻击。

在Flatpak的环境中,这些应用程序只能在称为namespaces的沙箱里执行,因此除非系统开放了特殊权限,否则应用程序无权访问文件系统、网络,以及计算机的链接端口,因此不像用户帐户控制(UAC),必须经由计算机用户进行确认后放行,而是依据相关的原则,应用程序只能拥有得到许可的资源访问,至于大部分的执行方式都是在最小权限中运行。

再者,假冒USB设备的攻击手法,也相当常见,Tobias说,他们也在GNOME环境里,提供一些场景,自动限制不正常的USB设备加入情形,例如一般的计算机只有一个键盘,若是突然出现第2个键盘设备,GNOME就会禁止链接,此外,像是在屏幕锁定的状态,或是在外部网络的环境中,也会阻止添加链接的USB设备。