今天给大家推荐的是来自2020年IEEE S&P的一篇关于智能家居自动化方案安全性的论文"Towards a Natural Perspective of Smart Homes for Practical Security and Safety Analyses"。
目前针对家庭自动化方案安全性的研究大多使用智能设备的companion apps来进行规则提取和安全分析,但是在某种程度上,companion apps代表的是开发者的要求而不是终端用户的行为和习惯。此外,很多研究使用人工的方式(仅靠经验或设想)制定一系列策略,会存在一定的误报和漏报。
因此,本文作者提出了一种用户驱动的家庭自动化安全评估框架——Hεlion,该框架通过基于NLP技术来识别用户驱动的家庭自动化例程中的规律性,从而生成可能的现实场景以用于之后的安全评估。
Hεlion主要主要针对三种情形:偶然事件(故障或意外的安全违规)、恶意事件(由攻击者造成)、厂商测试(动态测试产品是否存在不安全行为)。如图2所示,Hεlion的输入为从终端用户中收集用户驱动的例程(如用户的行为、习惯,家庭状态等)以及相应的执行指标(如有关该例程何时计划执行或执行频率的信息),之后执行三个过程来预测可能会发生的场景。主要流程如下:
(1)用户驱动例程的收集
-
首先,作者从真实的用户中收集家庭自动化相关的例程和执行指标,并使用结构化自然语言来进行表示。
-
然后,作者将这些结构化自然语言表示的例程解析为token(即家庭自动化事件),token被定义为一个三元组:
e:=<device, attribute, action>
(2)Informed Scheduling
-
Hεlion将这些由特定用户定义的token转换为一个家庭自动化序列,即有序的事件调度。
-
作者通过从用户中收集的执行指标来实现这一过程。
-
首先根据不同例程执行的事件和频率以一小时时段来初始化一个月的时间序列。
-
如果在时间序列中安排了所有例程,则从时间序列中提取有序的例程集作为执行序列。
(3)n-gram Language Modeling
-
Hεlio使用所得的事件序列作为训练数据集,利用n-gram模型学习用户驱动的家庭自动化事件的规律性。
(4)Predicting Scenarios
-
Hεlion使用训练的模型作为事件序列生成器来生成可能的场景。
-
给定历史事件,n-gram模型检查先前的n-1事件,然后预测下一个最可能的事件。
作者实现了Hεlion框架并进行了一系列的评估和测试。
首先,作者选取了40位参与者来收集用于构建Hεlion语料库(HOME)的数据,对于每一位参与者进行3步调查:选取设备、创建例程、设置执行指标。在实验中,HOME语料库一共包含30518个事件,这些事件由40位用户的273个例程及其执行指标生成。
然后,作者通过解答四个问题来描述这项工作的意义,并且通过16名外部用户的评估证实了Hεlion生成的方案是有效的。
此外,作者还使用Hεlion生成了17个安全策略,并从评估结果中提取了16个主要发现,以证明该方法在家庭自动化安全检测中的优势。
总的来说,这篇论文与之前研究相比最大的不同在于使用了不同的事件序列和策略生成方法。之前的研究大多从开发者的视角通过companion apps来提取自动化的事件序列,并通过经验和猜想的方式来制定一系列的安全策略;而本文作者采用了一种更加客观且自动化的方法,从用户的角度来收集、研究家庭自动化事件,并在此基础上自动化的制定相应的安全策略。
原文PDF:
https://ieeexplore.ieee.org/document/9152773
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 学术论文推荐 2020-12-29
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论