考虑到这一点,本文提出了方案:GPS卫星指纹识别。断言有可能创建卫星的签名或指纹(更具体地说是其发射),从而使人们几乎可以立即确定所接收的GPS发射是否真实。此外,在本文中证明了该解决方案可检测所有已知的欺骗攻击,并且比以前的解决方案更快速,便宜且更简单,并且针对环境因素具有很高的鲁棒性。
本文方法使用物理层识别(PLI),又名设备指纹识别,并且属于相关配置文件异常检测类别。使用设备指纹来保护收发器已有很长的历史,而卫星就是此类收发器的一个示例。本文介绍了Spotr,它是一种通过设备指纹识别技术进行的GPS欺骗检测,它能够根据与已知源自GPS卫星的信号的物理层相似性来确定GPS信号的真实性。从所有GPS接收器共有的复杂相关器的输出中提取强大的特性,并使用它们为真正的卫星信号(称为指纹)生成模板。为真正的GPS信号找到一个强大的指纹并非易事,因为欺骗的攻击者总是试图尽其所能模仿真实信号的特性们在此处介绍了简单(但难以欺骗)的特征,但是仍能够以高精度及时检测到最强大的欺骗攻击。本文主要贡献是:
•使用单个通道/接收器检测文献(时间和/或位置)中不同维度的GPS接收器上所有现有的欺骗攻击。
•能够在有或没有多径传播影响的情况下,在不同的日期,环境条件和位置(例如城市和乡村环境)下跟踪真正的卫星。本文方法不需要通道建模,这降低了其复杂性。仅限于对信号进行良好的观察以执行设备指纹识别。
•由于使用指纹识别,因此不会对欺骗检测的范围施加下限。这是对最新的欺骗检测器的改进,该欺骗检测器无法找到1000 m范围内的攻击。
无论欺骗者使用多少设备,本文的欺骗检测器都能正常运行。这能够检测到对多纬度系统的协同攻击(根据以已知速度传播的波形的到达时间估算距离)。方法是完全被动的,无需修改现有的GPS协议,卫星轨道或上行/下行通信通道。本文的真实和欺骗性GPS信号数据集可供社区使用。
(1)GPS接收器
上图b示出了GPS接收机的框图。GPS接收器的主要组件是(i)RF前端,(ii)采集模块,(iii)跟踪模块和(iv)PVT估计器模块。RF前端会调查卫星信号是否可用。采集模块搜索任何卫星的伪随机噪声(PRN)序列的延迟版本,同时估算多普勒频移并对其进行补偿。PRN是用于区分码分多址(CDMA)系统中不同卫星产生的信号的代码。跟踪块的作用是跟随信号同步参数的演变:码相,多普勒频移和载波相位。作为跟踪模块的主要组件,gnss-sdr的VOLK-Library负责在GPS接收器上运行延迟锁定环(DLL)和锁相环(PLL)。它基于该情况下的跟踪质量在反馈系统中以不同的速度运行。PVT估算器使用此报告位置,时间和速度的解决方案。最常见的方法是多点定位,其中GPS发射机加时的位置坐标的准确估计需要至少四颗卫星的数据。
(2)特征选择原理
GNSS接收器由模拟RF前端和数字部分组成。前图c说明了在模数转换器(ADC)之前具有自动增益控制(AGC)组件的RF前端的框图。AGC是一种自适应反馈环路系统,它使用可变增益放大器(VGA)以便为ADC提供一致的输入。这种一致性使相关器成为特征提取的良好观察点。一个潜在的最佳检测器,用于确定有效信号的存在,是一个匹配滤波器,它在加性高斯白噪声(AWGN)中最大化已知输入信号的信噪比。
ch是调制缺陷或AGC参数,已知容易受到低成本的欺骗攻击。但是,相关器输出需要具有任意波形发生器(AWG)的更好的资源攻击者。为了模仿这样的攻击者,执行了匹配功率的重播攻击。考虑到它们的安全性以及AGC的工作原理,使相关输出具有可靠的特征(下图a)。
(3)特征提取
根据GPS的文档在RF前端进行I-Q解调后得到了一些样本,分别包含有关P(Y)和C / A代码,军用和民用代码的信息。匹配滤波器相关性Mo的输出为:
其中rep显示了接收器中PRN代码的副本。给定等式的右侧,如果存在匹配,则实部将具有足够大的值,而虚部将接近零,这将导致锁定跟踪块。上图a中显示了三个这样的相关器,分别称为早期,即时和晚期相关器,称为E,P和L。上图b中给出了P相关器的实部和虚部的样本,将重点关注包含大部分来自卫星的信息的真实部分。虚部的理想值为零。
gnss-sdr接收器使用两个指标来验证信号质量以生成锁,称为代码锁检测器(CN0)和载波锁检测器(CLT)。CN0测试定义为:
在此,阈值γcode被设定为32dB-Hz。载波跟踪环路的锁定检测器测试定义为:
其中∆ϕ 是载波相位误差。如果对余弦的两倍的载波相位误差的估计余弦值高于某个阈值,则将环路声明为锁定状态。阈值γcarrier被设置为0.5弧度。这在数据收集软件中称为CLT。下图a显示了CN0和CLT的直方图,用于确定阈值。
在筛选出未能通过上述锁定测试的样本点之后,研究了EPL相关器输出的实际值,以为每颗卫星生成强大的特征。对于每个相关器,将零以上的点和零以下的点分别作为高/低采样点,并且将具有六维特征,即EPL相关器输出的高和低采样点。特征一是E相关器的高位,特征二是E相关器的低位,特征三是P相关器的高位,特征四是P相关器的低位,特征五是L相关器的高位,特征六是L相关器的低位。特征5和6的直方图在上图b中示出。
(4)多元正态分布
为了描述这些数据的特征,将多元正态分布(MVN)[4]应用于每个数据集。对于分配的一组{µ,Σ},MVN得分由等式计算。高斯分布与本文的特征最接近,上图b给出了一个例子。假设特征是相关的,并且打算捕获它们之间的这种关系,这就是选择MVN作为评分指标的原因。它是衡量工作中相似度的主要指标,并转化为来自数据集的每个观察值与特定分布的接近程度。
为了确保真实的GPS信号与在不同天气条件或位置的欺骗信号之间有清晰的区分,使用来自多个采样点的平均MVN得分。上图c显示出了使用单个样本点进行比较与使用100个样本点的平均值进行比较的效果。在实验评估中将使用多个采样点(用n表示),并对它们的MVN得分求平均。
(5)实时检测
分两个主要步骤设计基于PLI的欺骗检测器。首先进行了训练和测试过程,得出了从伪造信号中识别出真正卫星信号的阈值。其次训练了探测器以实时方式使用这些阈值,一旦观察到异常就触发。
训练:在这一步中,使用从无欺骗数据集中观察到的400个采样点,并生成特征模板集。使用这些训练特征使MVN分布适合真正的GPS信号。假设训练是安全的,这是通过在已知位置收集数据来完成的。
测试:从欺骗的GPS数据集中计算每个观测的MVN分数。MVN分数低表示GPS信号存在欺骗。为了定义阈值并最终确定欺骗检测过程,进行了二进制搜索算法来查找与相等错误率(EER)相对应的阈值。EER是衡量生物识别系统性能的指标,它指示假阳性率(FPR)等于假阴性率(FNR)的情况。EER的理想值为零。
K折交叉验证:使用上述解释的训练测试过程定义了一个扩展阈值,该阈值可识别除特定数据集以外的所有来自欺骗信号的真实GPS信号。接下来通过计算该数据集的MVN分数来验证该阈值,并使用该阈值执行检测过程。然后调查FPR和FNR,以评估此阈值在此数据集上的作用程度,该数据集在训练阶段未包括在内。对所有K-1数据集重复此过程,称为K折交叉验证。
实时检测:先前步骤中离线定义的阈值用于触发欺骗检测器。接收器根据真实卫星信号的分布,为每个采样点生成特征,并为这些特征生成MVN分数。如果该分数低于阈值,则将丢弃该样本,否则它将被传递到下一个GPS接收器块。算法2解释了上述步骤的详细信息。
(6)时间复杂度分析
使用非常简单的特征提取算法,在时域中执行所有操作,从而消除了计算复杂性。在算法1中给出的特征提取,O(1)的时间复杂度。使用训练样本点训练MVN模型需要协方差矩阵计算和矩阵求逆运算,时间复杂度为O(n ^ 3),但是所有这些都可以离线完成。这降低了算法在将特征提取到O(1)之后将单个采样点拟合到已经训练的MVN模型中的复杂性。
(1)GPS数据分割
GPS传输分为5个子帧,每个子帧以平均6 s的平均持续时间更新。第一子帧包含有关卫星健康状况和准确性的信息,GPS定时信息以及任何时钟校正。第二和第三子帧包含发送卫星的星历数据(轨道测量值)。第四子帧包含卫星25到32的缩写年历数据,以及电离层和UTC数据,卫星配置以及任何特殊消息。第五个也是最后一个子帧包含卫星1至24的缩写年历数据,以及年历本身的时间和周数。请注意,子帧4和5需要大约12.5分钟才能完成,这意味着子帧1 2和3在此期间将多次更新。为了使攻击者欺骗成功的PVT解决方案,需要在18 s到30 s之间连续欺骗。.
(2)实验硬件
有实时数据和重放数据集合,接收器是Ettus Research的B210,B205mini和X300软件定义的无线电(SDR)。对于实时信号采集,使用X300,它包括一个GPS纪律振荡器(GPSDO)和一个UX-160子板。使用了两个便宜的(约10美元)GPS天线,一个连接到子板的RX2端口,另一个直接连接到GPSDO。对于重放(欺骗)会话,使用B210(USB连接)作为发送器,使用X300(千兆以太网连接)作为接收器。这两个无线电通过SMA终端同轴电缆连接(见下图),该电缆始于B210的TX / RX端口,经过可变衰减器,最后至X300的RX2端口。这样的有线连接为攻击者提供了理想的传输方式,因为信道传播效应不会影响攻击者的无线电信号。
(3)实验软件
数据收集软件是GNSS-SDR,这是使用SDR进行GNSS研究的开源应用程序。信号参数是通过配置文件设置的,该文件允许本研究指定诸如载波频率,采样率和数据类型之类的参数。最重要的是可以安排八个可用频道中的每个频道仅以指定的PRN锁定,以确保可以为每个卫星选出一个单独进行跟踪。根据最佳视角(例如,尽可能接近直接在顶部)选择PRN,并将它们的位置在在线跟踪网站(https://in-the-sky.org )和Android应用(GPS测试)之间建立关联)。
GPS-SDR-SIM是另一种开源应用程序,它是生成欺骗性数据的原始集合并通过有线连接传输所述数据的主要手段。此应用程序允许人们显示GPS星历文件(通过NASA维护的存储库),指定时间,日期,位置和持续时间变量,然后生成可传输的真实GPS二进制数据。遇到的一个问题是,尽管该软件确实生成了可行的GPS NAV消息,并且可以用它们成功欺骗某个位置,但该软件并不旨在解决PRN的真实性。因此修改了此应用程序,以允许在生成的数据中具有更大的特异性,从而导致在时间,位置和收到的PRN中准确的欺骗信号。修改将被安全社区共享以供使用。
(4)第三方数据:UT-Austin TexBat存储库
GPS安全领域的几项工作已针对称为TI欺骗电池(TexBat)的GPS信号欺骗痕迹的公开存储库的实际标准进行了测试。该数据集由Univ的Radionavigation Lab提供。的数据包括10轮数据采集,每轮持续400 s,其中前100 s是无欺骗的,以25 Msps采样,并具有16位分辨率,以获取复杂值。TexBat包括两轮单独的无欺骗数据,这些数据基于平台的移动性而分为静态静态和动态动态。从位于建筑物中的参考天线收集干净的静态数据,而从安装在德克萨斯州奥斯丁市的车辆顶上的天线记录干净的动态数据。其余的数据集是在时间和/或位置有不同攻击的欺骗性数据,与真实信号的电表高度一致。TexBatin引起600 m的位置偏移和2 µs的时间误差。
在这项工作中,除了本文数据集(SatGrid)外,还在TexBat数据上测试Spotr。首先,因为它为安全研究人员提供了一个公平的比较平台,并帮助他们超越了统计分析方法来测试其解决方案。由于TexBat的欺骗性数据,以前只能验证零假设(无攻击)的检测方法然后可以测试备用假设。其次,生成TexBatdata的UT欺骗者是一个强大的攻击者,针对其攻击的真实GPS信号的大小有所不同。
使用之前所述的特征对GPS信号进行指纹识别时遵循两个主要目标。首先,从被欺骗的信号中识别出真正的卫星信号,称为检测。其次,通过在不同条件下跟踪来自真正卫星的信号来证明这些特征的一致性,称为跟踪。评估了Spotr对GPS信号的不同类型攻击的检测和跟踪能力。首先评估了Sec中针对不同环境条件的欺骗攻击者。接下来,针对更强大的重放攻击者对Spotr进行评估,从而对攻击者在引入伪造的PVT解决方案的成功率有更多的见解。无法将错误率与最新技术进行比较,因为它们使用更高级别的指标来报告结果,例如最大位置偏移。
对于上表中的场景,训练和测试列包括常规数据集信息,其后是用Dm:Gx标记的设备m(Dm)的真实数据集和用Dm:Sx标记的从Dm收集的欺骗数据集,其中x是表中的数据集索引3和4。对于仅报告一个数据集的情况(例如TexBat:S5),前100 s是无欺骗的。
(1)评估与讨论
下面在不同的时间,位置,多路径条件以及数据收集设置中使用的指纹识别器设备上,对Spotr进行了针对欺骗攻击者的评估。
a)随着时间的推移进行检测和跟踪
生成特征后,于2018年9月24日在布莱克斯堡从Sat Grid:G1和SatGrid:S1(Spoofing-Attacker)中随机选择了40,000个样本,并使用等式拟合MVN模型训练µ和Σ。接下来,使用当天的剩余数据对MVN分数进行EER分析,并训练识别/检测阈值。请注意,在所有情况下,都需要使用尽可能多的采样点(用n表示)以实现EER为零(EER的理想值),并在图表的X轴标签中进行报告。
接下来,使用训练后的MVN模型和阈值来测试训练后紧接连续几天在布莱克斯堡使用在不同日期收集的真实数据和欺骗数据,也是在2019年9月10日在阿灵顿(SatGrid:G23)。下图b示出了与该分析相关联的MVN分数。观察到,在样本点上没有任何平均的情况下,所有真实数据的MVN分数都高于训练的阈值,而欺骗数据的MVN分数大多为零(这就是为什么它们未以对数标度显示在图上的Y轴上的原因)。这可以得出结论,能够在一年的时间内跟踪到真正的信号,从而验证了特征随时间推移的稳定性。场景2说明了错误率(FNR和FPR)以及达到2018年9月和2019年Blacksburg和Arlington收集的所有数据的报告错误率所需的平均采样点数(n)。
在场景7中,根据TexBat数据的选择进行了类似的分析,以验证特征随时间推移的稳定性。与场景2不同,在这种情况下,用于训练和测试的数据都是在富多路径环境中收集的。上图f显示了测试数据TexBat:S6的MVN分数,其中MVN模型和阈值是在TexBat:S5上训练的。多重提示的存在是在决定其真实性之前,需要平均多个采样点(在这种情况下为35000)的原因。
b)在不同位置的检测和跟踪
遵循相同的训练步骤,使用场景1中给出的欺骗攻击者测试了从不同位置收集的数据上Spotr的检测和跟踪。上图a显示了密苏里州收集的数据的MVN得分,而原始MVN模型和阈值是根据布莱克斯堡进行训练的。对表中列出的数据收集在不同日期出现的所有卫星使用1.77e-92的检测阈值,导致EER为零,这得出结论,无论是什么信号都可以将真实信号与欺骗信号区分开。
c)存在多路径时的检测和跟踪
GPS系统欺骗检测中最常见的挑战是多径效应,这使得很难将GPS信号的真正多径分量与恶意信号区分开。为了研究存在多路径的Spotr的性能,将MVN模型拟合到无多路径训练数据,并针对SatGrid和TexBat在富多路径数据上进行测试,反之亦然。这一轮分析可以帮助了解具有多路径效应的真实数据可以与欺骗数据混淆的程度。
最初的TexBat数据集是在2012年使用其第一个指纹识别硬件(D1)在具有视线的静态平台上收集的,其中TexBat:S1,S2,S3和D4是无多路径的。来自TexBat存储库的另一组数据集则是在富多路径环境中使用相同的指纹识别器安装在车辆上,并经过得克萨斯州的人口稠密地区行驶了3英里。TexBat:S5和S6是从此“动态”平台收集的。前图h说明了真实数据和欺骗数据的MVN分数,其中模型是在此丰富多路径数据上训练的,并在之前提到的TexBat D1的无多路径数据集上进行了测试。
场景9报告了FNR为5.23%的分析错误率,这意味着在使用1000个样本点进行真实性最终判定后,这种情况下仍未发现欺骗活动。如前所述 nss-sdr的VOLK-Library 负责在GPS接收器上运行dll-pll循环,并在反馈系统中以不同的速度运行。这就是为什么无法将未检测到的恶意样本点的数量转换为时间的概念,并且无法报告Spotr在无法获得准确时间戳的情况下仍无法检测到的欺骗活动的最大连续时间。通过使用时间戳分析最坏的情况(最强的攻击者:SatGrid上具有匹配能力的重播攻击者)。
为了进一步评估Spotr在所有可能情况下的鲁棒性,在场景7中对来自TexBat的丰富多路径数据进行了训练和测试,其中使用多个采样点有助于克服多路径对检测的影响/跟踪过程如前图f所示。还将在场景3和8的SatGrid上对Spotr进行评估,其中分别针对无多路径(2019年9月10日)和富多路径数据(2019年8月23日)进行了培训。如前图c和前图g所示,仅用一个采样点就可以执行高精度的检测/跟踪
d)针对不同攻击的检测和跟踪
上表b显示了使用D1 2012进行的K倍交叉验证对TexBat数据进行的更通用的训练测试过程的结果,其中欺骗类型从单个时间或位置,到同时的时间和位置有所不同。此分析是混合进行的多路径无数据(前图d和前图e)和同时在丰富多路径中收集的数据(前图h)。表中的错误率表示某些情况下FPR和FNR值较高,这是由于在训练阶段使用多路径受影响的数据引起的。这表明,如果在训练阶段不考虑这种传播效果,则可以将具有多径效应的真实数据与欺骗数据混淆。为了弥补检测/跟踪过程中精度降低的问题,增加了观察样本点的数量,并在上表c中报告了新的比率。
e)使用不同的硬件平台作为指纹识别器进行检测和跟踪
提议的欺骗检测背后的主要思想是发射机的硬件指纹识别。这可以假设算法中利用的特征应随信号采集平台而变化。在本节中,通过针对SatGrid的数据训练模型并针对TexBat的数据进行测试来验证这一点。前图i显示,当使用SatGrid训练模型时,无法跟踪来自TexBat指纹识别硬件的真实数据(来自TexBat的真实数据的MVN密度值都保持为零,这就是为什么它们不以对数形式打印的原因)。这是指纹识别方法的一般限制,可以通过在部署之前在真实卫星数据上训练每个指纹识别器来克服。
(2)安全分析:特征重放
在本节中研究最强大的攻击者的能力,其中为攻击者提供与真正卫星完全相同的样本。2019年11月8日收集的两轮SatGrid GPS数据,与所有其他列出的数据集不同的是,这些数据包括高保真时间戳记。首先,攻击者能够实时地将其功率估计并匹配到目标接收器处真实GPS信号的功率电平。对于攻击者而言,这代表了最佳情况(不切实际),因为它不仅在基于频带功率的欺骗检测器中隐藏了欺骗活动,而且还避免了由于正版和认证之间的斗争而导致的接收器的复杂相关器输出选项卡出现异常。旨在控制跟踪块的欺骗信号。其次,由于攻击模型和数据收集设置,攻击者固有的不可避免的延迟量已被删除。在设备指纹识别的文献中,这是最强的攻击者。
为了成功进行任何欺骗攻击,攻击者必须成功并同时在接收器上欺骗四个GPS通道,这是强制性的。这是因为PVT解决方案解决了X,Y和Z坐标四个未知数加上时间的线性问题,并且这样做依赖于它从跟踪块中至少四个通道收集的信息。2019年11月8日在阿灵顿屋顶收集的SatGrid:G25包含来自八个PRN的数据。因此研究了这些PRN的所有可能组合,这些组合可能会在接收机中生成成功的PVT修复。这些组合在这里称为PRN集,其中包括70箱八颗卫星。
上图b显示了当Spotr利用多个样本点执行检测/跟踪过程时,所有PRN集的“最大连续欺骗时间”的平均值。X轴显示这些采样点的数量,用n表示。如果Spotr使用100,000个采样点,则这种情况下的“最大连续欺骗时间”的平均值将从100 s减少到47.3 s。该图还报告了同一图中所有PRN集的“总体连续欺骗时间”,如果n = 100,000,则也将从266.6 s减少到101.2 s。这表明Spotr在最强大的攻击者在场的情况下能够在47.3 s内检测到欺骗活动。
导航消息由1500位长的30 s帧组成。因此,Spotr不能检测到的30 s锁的数量是评估性能的更准确指标。上图c显示了spoofer能够为每个PRN组生成的30 s锁的数量。Spotr能够将未检测到的锁定数量从n = 1时的360次发生减少到n = 100,000时的131次减少。真实数据的锁数在此处作为基准(以蓝色条形表示)给出,其中所有PRN集共有361个锁。这可以使您对Spotr的性能有较高的了解,而不能直接转化为攻击者的持续欺骗能力。攻击者将在上图c所示的30秒锁定间隔内被检测到。
到目前为止可以得出结论,如果攻击者能够调整其功率水平,则Spotr平均要采样的点数n是一个直接影响检测/跟踪性能的关键参数。上图a显示了当EER在所有功率水平下均保持理想值零时,此数字如何随SatGrid重播攻击者的功率水平而变化。当攻击力不足的攻击者将其强度提高到与真实数据相匹配的水平时,攻击力会增加,而随着攻击者的力量远大于真实信号的力量,攻击力会再次降低。
- 结尾 - 精彩推荐 【技术分享】针对IKEv2的新型拒绝服务攻击 【技术分享】针对解释型语言软件包管理器的供应链攻击评估 【技术分享】生成虚假威胁情报以进行数据投毒攻击 戳“阅读原文”查看更多内容 原文始发于微信公众号(安全客):【技术分享】通过设备指纹进行GPS欺骗检测