30年前,报警器都是硬连线的,具有分立元件,并由钥匙开关操作。20年前,他们已经演变为使用微控制器,LCD和键盘,但仍然是硬连线。10年前,无线报警器开始变得普及,并增加了许多之前没有的功能。
而如今,我们的报警器却遍布了我们的生活,从互联网连接,移动应用程序,到家庭自动化和视频验证都能为我们提供警报服务 – 其中检测器早已被集成在了我们家中的摄像头内。
可以看到,警报系统在不断的更新和完善,但制造商,安装人员,操作人员和用户对他们的了解程度却远远不够。
本地攻击
无线报警器为我们开启了全新的攻击面。有线系统一般都会使用开/关电路,所有接线都处在保护区内。而相比之下,无线系统则打破了边界,允许攻击者在外围恶意篡改报警信号。
有许多技术可以来帮助我们,完成对无线报警器的攻击。
某些符合EN 50131-1标准的报警器会有等级的划分。从1级(低安全级别)到4级(高安全级别)。而在英国,无线警报器的最高级别是2级。
干扰
不管市场是如何说的,大量的无线警报器都可以被干扰,以阻止报警信号的传达并且允许攻击者的访问。
让我们看看无线报警器的标准 - EN 50131-5-3,我们着重来关注2级别,因为它是英国目前无线警报器的最高等级,这个等级适用于家庭住宅并且有较低的商业风险。
这就表述了干扰(或者故意干扰)的两个重要特点:
- “对于周期性通信故障检测的要求”,比如说,多久控制面板不能接受到检测器的信号。结果为120分钟,也就是两个小时没有信号传达。
- “对于干涉检测的要求”比如说干扰。这样每60秒就有30秒被干扰,这就给我们很大的空间来发挥。
(摘自:http://e-collection.library.ethz.ch/eserv/eth:5031/eth-5031-01.pdf)
以下有三种我们可以执行的干扰攻击:
- 主动干扰 – 我们一直在发送信号。然而没有信号可以传达,但是这很容易就检测出来,并且将会导致大范围内其他相同频率设备的毁坏。
- 反应分组干扰 – 我们等待着直到检测到一个信号,然后开始信号干扰。状态和报警信息都受到了干扰,不太容易检测并且有报警的风险。
- 反应位干扰 – 监听发送的信号,通过足够长时间的干扰来破坏信号。这样的好处是我们可以监听数据包,并只干扰报警信息,状态信息则不受影响。
这里我们使用 RFcat - 一个简单的RF USB加密狗 – 在434MHz上发送连续的信号。根本没有报警信号通过。干扰检测不会触发报警(不知道为什么会这样)。
RFcat约30英镑。其实我们可以做得更廉价些 - 一个简单的OOK发射机,使用555定时器调制来完成主动干扰的工作。
如果我们想做反应分组或位干扰,那么我们可以使用CC1110板,并使用自定义的代码进行编程。另外,我发现Ciseco ARF的价格相对合理只需£29,输出功率为500mW且效果非常好。
重放攻击
EN 50131-5-3标准中的级别2,并没有对重放攻击的要求。这意味着我们可以接收一个信号 – 例如来自一个keyfob的撤防信号 – 然后进行重放。
软件定义无线电(SDR)非常的简单。在这里我们使用价值$300的HackRF。我们选择频率(434.8Mhz),然后开始捕获,并将撤防信号捕获到文件。我们可以在Audacity或其他类似的软件下,查看我们捕获的文件。接着我们只需将捕获的信息送回HackRF,即可为我们撤防警报。
其他攻击
Fuzz是渗透测试中常用的手段。例如,通过对一款软件的fuzz我们可以观察其对不正确输入格式的处理情况,从而判断其潜在的安全问题。这里,我们也可以用RF信号做到这一点。
当一个报警器接收到的数据包大于预期时,则会完全挂起。键盘无响应;探测器将什么都不做。这时你需要通过拉电源开关(包括备用电池),才能使其再次工作。我们不知道为什么微控制器的看门狗定时器,不用于关键的安全设备。
设备会在键盘和面板之间发送PIN码。所以我们可以进行嗅探,解码,然后使用它。
那么,这里我们可以尝试爆破出PIN吗?
如果你的PIN错误超过限制的次数,那么几乎每个报警面板都会锁定你。所以,让我们试试RF端。
一个简单的Python脚本用于驱动RFcat,并顺序发送每个PIN。
大概需要1小时20分钟才能枚举完所有这些PIN。我们可以使用一些常用的PIN码(如0000,1111,1234,1900-2016等),这样爆破成功的概率将会大大增加。
网络攻击
拒绝服务攻击
如今我们仍有许多连接互联网的系统,这些系统依靠云服务器来提供功能。这为攻击提供了一个新的中心点;报警接收中心(ARC)或云服务器。攻击者一旦攻破其中的一个点,就可能导致数以上千的警报器被触发,这将消耗大量的资源和分散人们的注意力,后果可想而知。
研究员Wilco Baan Hoffmann在2013年谈到了这一点,他分析了SIA-HS报警信号协议的安全性。演示文稿非常值得一读,有兴趣的可以点击查阅。
恶作剧式攻击
攻击报警器的人也可能单纯只是为了恶作剧或是炫技。从LED交通灯,广告牌,加热控制器,PA系统到婴儿监视器。对于他们而言,任何连接互联网的设备系统都有可能成为其攻击的对象。
更广泛网络带来的威胁
随着网络设备的不断普及,像DVR,IP摄像头,报警器等这些设备早已进入了千家万户。但安全问题也随之而来,许多人竟随意的就将这些设备通过端口转发连接到了互联网。
而这对于攻击者而言,这些设备就是台微型的计算机,和渗透内部网络的理想‘跳板’。因为这些设备,通常并不具备病毒查杀功能,也不易被用户发现,对于大流量的进出用户也不会有任何怀疑。
例子
RSI Videofied加密破解
http://www.kb.cert.org/vuls/id/792004
我们使用RSI来制作一个报警系统,在检测器中有相机,并在被触发时拍摄视频和图片。然后将这些从检测器发送到面板,再将面板发送到报警接收中心。报警接收中心运行一些名为Frontel的软件,来接收警报和图像。
RSI Videofied在检测器和面板之间提供了一个加密。但是,当面板和报警接收中心之间建立连接时它并没有亮。
每个面板都使用基于面板序列号的固定的加密密钥。这个序列号是清楚地发送的,所以我们可以找出加密密钥。我们只需一小时就可以找到它。
这样,我们就可以连接到ARC,发送欺骗性的重放信号。
面对安全威胁我们该如何选择?
如果你已经安装了无线报警器也不必太过担心。虽然存在一定的安全隐患,但是就目前来看这样的攻击并不多见。
如果你正考虑安装一个无线报警器,那么请考虑以下几点建议:
有线的永远比无线的更加安全。
如果你的环境无法安装有线设备,那么请选择符合以下特点的设备:
- 双向RF – 面板可以与检测器进行通信,使得干扰攻击更加困难,并且在报警被撤防的同时允许探测器进入睡眠状态,从而延长电池寿命。
- 加密RF – 一些RF链路会被加密。
- 滚动代码 – 使用伪随机代码使得干扰和重放攻击更加困难。
- 跳频 – 这使得干扰以及信号拦截更加困难。
- 分级 – 虽然一些符合分级标准的报警器也存在诸多问题,但总比那些没有任何分级标准的产品要好。
总结
作为我们个人,需要提高我们自身的安全意识。对于一些重要的设备,切不可随意接入互联网。如果对相关配置并不明确,则可以请专业的安装人员协助我们。作为设备的制造商,应该严格遵循相应的行业标准,最大程度的从设备源头解决潜在的安全威胁。但在实际生产中质量往往与价格有关,因此如何权衡质量和价格间的关系,值得厂商们的深思。