上周末,夏威夷人白白被吓了一回。夏威夷时间1月13日(周六)早上8点07分,当地居民手机都收到了紧急推入送播消息:“BALLISTIC MISSILE THREAT INBOUND TO HAWAII. SEEK IMMEDIATE SHELTER. THIS IS NOT A DRILL.”(弹道导弹威胁来袭,请尽速避难。这不是演习!)
图源:华盛顿邮报
这个警报非常吓人,因为近期美国与朝鲜关系紧张。就在近几个月,夏威夷才为了因应朝鲜的核武威胁,重新启动冷战时期的核弹空袭警报机制。根据外国媒体报导,原本惬意的周末假期,顿时变成惊吓,甚至有人和家人哀伤的临终道别,收到警报的手机屏幕截屏也在 Twitter 争相转传。
一直到13分钟后——约8点20分,发出警报的夏威夷紧急事务管理局(Hawaii Emergency Management Agency)才在 Twitter 表示,这是误发的警报。8点45分,紧急事务管理局终于二度推送到大家的手机,表示先前警报错误,目前夏威夷并无危险。这时距离“假警报”发出引发恐慌,已经足足38分钟。
图源:Inverse
事件发生后,各方纷纷究责,大略知道主因是夏威夷紧急事务管理局的员工在例行测试流程中失误。而详情可能有点让人傻眼。
原来,这位员工当天早上需要运行一项内部警报测试,因此他登录系统,准备发送测试警报。根据华盛顿邮报1月16日采访夏威夷紧急事务管理局发言人拉波萨(Richard Rapoza)后归纳出的说法,在这套应急警报播发系统中,最终发送前的下拉菜单(drop-down menu)包含两个选项,一是“Test missile alert(测试导弹警报)”,另一个就是“Missile alert(导弹警报)”,本来应该是点选前者,结果操作的员工可能“手滑”,误选了后者。然后......警报就这样发出了,引发大乱。
夏威夷当地媒体Honolulu Civil Beat则在夏威夷州长记者会前,进一步秀出这张州长办公室官员提供,据说是员工看到系统屏幕画面的截屏,再度引起社群哗然,因为比想像中的“下拉式菜单”更恐怖,只是一排紊乱、未经归类的蓝色超链接,宛如回到网络初生的1995年,示意图如下。
这一排字中,PACOM则是美军太平洋司令部,是军方警报,那位员工原该点选”DRILL - PACOM (CDW) - STATE ONLY”,但误触”PACOM (CDW) - STATE ONLY”。最上排的”BMD False Alarm”则是事件发生后,夏威夷紧急事务管理局临时加上的更正信息选项。可以看到测试、演习、正式指令,以及军方、失踪儿童(Amber Alert)、海啸与路面坍方等不同类型的警报全混在一起。
(州长办公室和夏威夷紧急事务处理局随后抵赖这张图就是误触指令员工看到的画面,说只是示意,真正的图比较像这张:)
但不管怎样,仅仅因为一个员工的“手滑”,就引发这样的大乱,显然这已经不是个别员工的问题,而是整个工作流程里,防止失误的安全管控机制做得不好。拉波萨承认这个问题,表示目前系统没有第二人确认机制、也没有立即更正错误警报的方法。
拉波萨说,当局已暂时将这位员工调离职位,但不会开除他,目前的首要之务是修正系统与安全管控流程,未来发送信息时,将有第二人确认,若误发假警报,更正信息也会在第一时间随之送出。
Quartz站点记者Nikhil Sonnad直呼“糟糕的接口设计”是夏威夷误发警报事件的元凶。他举例说,以下拉式菜单选自己的国籍时,常常误选到“United Arab Emirates”,只因为这个选项离“United States”太近。
Nikhil Sonnad说,目前已知“Test missile alert(测试导弹警报)”和“Missile alert(导弹警报)”放在同一个菜单接口中,Nikhil Sonnad认为,这两者性质显然不同,测试警报是使用较频繁、影响较轻微的功能,导弹警报则是少用而影响巨大的功能,用下拉式菜单把这两个放在一起,本来就值得检讨。
不管如何,这个案例再次提醒我们,不管是软件的接口设计,或工作流程的防错、防呆设计,都是系统设计者需要好好考量的。有时,系统设计导致的错误不会像夏威夷事件一样马上爆发,但却像埋藏已久的地雷,一出问题也是不得了。例如,我们在NG!这样的表单设计请避免(1)——别忘了设计“独特值”字段这篇文章提到的,如果你没有帮表单设计一个独特值字段,有一天或许会发生KEY订单时选错客户而不自知的事件。
Twitter网民起初的评语:请告诉我五角大厦没有这种包含“测试导弹”和“发射导弹”两种选项的下拉式菜单...
本文数据来源:华盛顿邮报、Quartz 、Honolulu Civil Beat的报导
首图来源:pixabay, 本图仅为示意