《Security of GPS/INS based On-road Location Tracking Systems》(《基于GPS/INS的路面定位跟踪系统的安全性》)这篇论文发表在2019 S&P会议上,论文及相关PPT和视频可以在2019S&P接收论文中查看下载。本文的翻译中没有插入相关的图表,相关图表可以在原论文中查看。


目录

摘要

Ⅰ. 介绍

Ⅱ. 背景

A. GPS概述

B. GPS欺骗攻击

C. 惯性传感器辅助导航和跟踪

Ⅲ. 欺骗INS辅助定位系统

A. 系统和攻击模型

B. 攻击的概述

C. ESCAPE算法核心

1)图构造器

2)被欺骗路线生成器

3)逃生路径生成器

Ⅳ. 攻击影响:实施和评估

A. 惯性传感器的准确性

B. 综合攻击

C. 评估方法和设置

D. 结果评估

Ⅴ. 对策

A. 部署精确的加速度计和陀螺仪传感器

B. 安全导航路径选择

Ⅵ. 相关工作


摘要

位置信息对于众多的导航和跟踪应用非常重要。GPS,如今的户外定位系统,被发现很容易受到信号欺骗攻击。惯性导航系统(INS)正在成为流行的辅助系统,尤其是在路面交通系统中,因为INS不仅改善了导航和跟踪,而且为信号欺骗和干扰攻击提供了预防。在这篇文章中,我们评估了路面交通的惯性导航辅助的GPS跟踪导航系统的安全性。我们假设一个攻击者在惯性导航辅助的GPS系统的监视下,需要从出发地去往目的地。攻击者的目的是在行驶时不被发现。我们研究并评估了能达到这一目标的算法,从而为攻击者提供了可选范围。我们的算法对于给定的交通网建立了一个图模型,这使我们可以推测出攻击者在不触发警报的情况下,可能去往的目的地,即使攻击者安装了惯性导航辅助的GPS系统。这些算法使陀螺仪和加速度传感器失效,因为它们产生的道路轨迹与合理路径无法区分(无论是转弯角度还是道路曲率)。我们也设计,搭建,并证明了磁感应强度可以通过精心控制的线圈组合而被有效地欺骗。为了能通过实验证明并评估实际攻击的可行性,我们运用了第一个实时集成GPS/INS欺骗器,解决交通流,拥堵,灯光问题,并动态生成相应的欺骗信号。此外,我们使用行车轨迹和公开的城市规划评估了我们对十个不同城市的攻击。我们的实验表明,攻击者有可能在未被检测到的情况下,到达距预定目的地30公里外的位置。我们还发现,在某些城市中,攻击者有可能达到目标区域内几乎60-80%的可能地点。这样的结果只是一个下限,因为攻击者可以调整我们的变量,在寻找出发地/目的地上花费比我们对数千条路径进行评估的资源更多的资源(例如,时间)。我们提出了可以限制攻击者能力的对策,而且无需进行任何硬件的修改。我们的系统可以用作抵抗此类攻击的基础,既可以检测又能推荐难以被欺骗的路径。

Ⅰ. 介绍

可以跟踪用户的位置对于各式各样的关键安全应用来说十分重要。例如,那些要处理贵重商品(例如,纸币)的物流与供应链管理公司,它们需要持续监控每辆载有贵重物品的车辆的位置,来保证物品都能安全运达目的地。执法人员也需要使用电子脚链、电子手铐监视被告人或假释人的位置,并且当他们走出规定区域时可以通知他们。一些乘车应用程序,例如Uber和Lyft,使用位置信息跟踪,计费和调配司机。此外,公共交通工具的位置也被持续监控着,来保证平稳及时的服务运营。随着自动驾驶车辆和运输系统的出现,对位置信息的依赖也会增加。以上应用的大多数都依赖GPS,如今使用的户外定位系统。据估计,到2020将有80亿台GNSS(全球卫星导航系统)设备投入使用。

然而,GPS容易受到信号欺骗攻击已被广泛证明。其中最主要的原因是,缺乏任意形式的信号认证。如今,只需简单的欺骗GPS信号就可以改变船舶航向,或迫使无人机降落在敌人的区域,或伪造道路导航系统中的当前位置。 低成本无线电硬件平台的可用性不断提高,使得利用价值不到数百美元的设备就能实现这些攻击。媒体已经报道了一些阻塞和欺骗的证据。例如,Gizmodo杂志中报道,“由于商用卡车的收费依赖GPS跟踪,因此他们可以通过拥堵避免付费。如果45美元的设备可以让您每天上下班免费,您就也可能会去犯罪”。另一则报道提到“加里·博伊扎克承认购买了非法的GPS干扰器,以阻止公司车辆中的跟踪设备”。为了能检测或削弱信号欺骗攻击,一些加密或非加密的对策已经提出。这些技术要么不可靠(例如,误报率高)只对一些低级的攻击者有效,要么需要修改GPS接收器/基础设备。使用Wi-Fi或蜂窝网络的替代定位技术缺乏上述应用所需的准确性和覆盖范围,消耗了大量功率,并且容易受到干扰。

惯性导航,即在GPS暂时中断期间使用加速度计,陀螺仪和指南针等传感器进行导航已有数十年的历史,特别是在飞机,航天器和军用车辆中。传感器制造技术的进步使这些传感器广泛集成到许多常用设备中,例如智能手机,平板电脑,健身追踪器和其他可穿戴设备。许多车辆跟踪和汽车导航系统已将GPS与惯性测量单元集成在一起,以改善个人车辆的定位和跟踪。惯性传感器是现代赛格威中出现的平衡和导航技术的关键。如今,低成本惯性传感器也已普及到消费者无人机行业。惯性导航的主要优势之一是其鲁棒性和对任何形式的无线信号溢出攻击和干扰攻击的适应能力,因为传感器无需与任何外部实体(例如卫星或其他地面转发器)进行通信或接收信息。这使得它们非常适用于对安全性至关重要的定位和跟踪应用,在这些应用中,GPS(或任何无线信号)欺骗攻击和干扰攻击是一个令人担忧的问题。惯性导航装置的主要缺点是传感器测量值的累积误差。这些累积的传感器测量误差会在更长的时间内影响估计的位置和速度,因此限制了惯性单元可以独立起作用的最大时间。当被跟踪的交通工具可以在六个移动自由度上移动时,这会显著影响空中和海上导航能力。然而,在道路导航的情况下,车辆受到道路网的限制,并且只能在这些现有道路的约束范围内导航。道路网施加的这些限制,使低成本惯性传感器对于快速检测攻击和立即跟踪作弊实体非常有价值。

在本文的工作中,我们评估了基于GPS/INS的路面定位跟踪系统的安全性。具体来说,我们解决以下研究问题:给定某个地理区域的道路网,并假设连续监视GPS和惯性传感器数据以跟踪一个实体的位置,那么攻击者是否有可能伪造其行驶路径或最终目的地?如果是,攻击者的约束和可能性是什么?我们是否可以利用城市道路网络中存在的物理运动约束,设计一种安全的路径算法来生成难以被欺骗的路线?例如,携带贵重商品(例如,纸币)车辆的驾驶员是否可以欺骗并偏离其预定的路线而不受监控中心的检测?使用GPS/INS电子脚链的假释人是否可以欺骗他的位置和行进路线而不被发现?

我们的贡献如下。首先,我们证明,即使持续监控GPS位置和惯性传感器,攻击者也有可能劫持远离预定目的地的车辆,或偏离预定路线,而不触发任何警报。我们开发了一套ESCAPE算法,该算法利用城市道路网中存在的常规模式,自动计算出潜在的逃生路线,同时使用起点s和终点d欺骗预定路线。欺骗意思是攻击者将沿着不同于被欺骗(预定)路线的逃生路线行驶。ESCAPE算法使用交叉路口转弯角度,道路曲率和磁力计方位角,计算出攻击者在欺骗时能不被检测到的逃生路线。我们实现了一个实时的集成GPS/INS欺骗模块,该欺骗模块可以根据当前的交通流,交通灯以及攻击者在逃生路径行驶时可能遇到的任何意外拥堵情况,来动态生成欺骗信号。据我们所知,我们的原型是第一个可以根据实际情况,动态实时地调整欺骗信号的集成GPS/INS欺骗系统。我们使用开源城市计划和在全球十个主要城市的行车轨迹进一步评估了攻击的性能。我们的模拟结果表明,攻击者可以在监控系统检测到潜在攻击之前行驶30公里。我们还使用实时的集成欺骗模块,在10条不同长度的不同路线上行驶,结果表明,攻击者可以将车辆劫持2公里(城市的平均偏差)以上,而不会丢失GPS锁定,并且实际路线与欺骗路线之间的最大延迟为60ms。即使在检测到之后,跟踪系统也不知道攻击者的真实位置。我们的攻击影响到价值几百万美元的多种服务和应用程序。实质上,我们的攻击通过生成监控系统不能检测的路线,使陀螺仪和加速度计失效,但生成路线的特征与攻击者实际行驶的路线没有区别。对于磁力计,一种在检测所称航迹与所测航向的不一致性中起着重要作用的传感器,我们构建并证明了磁力计欺骗装置的有效性,该装置物理上产生与欺骗航迹兼容的磁场。最后,我们反转ESCAPE攻击算法,提出了可以减轻这类欺骗攻击的跟踪服务。具体来说,我们对ESCAPE进行了修改,指定起点和终点就能输出安全的路线,从而限制了攻击者攻击的可能性。

Ⅱ. 背景

A. GPS概述

如今,GPS已成为广泛的户外定位系统。 GPS由24颗环绕地球的卫星组成。每颗卫星都配备有高精度原子钟,并发送导航消息,这些消息使用该卫星特有的伪随机码进行传播。地面上的GPS接收器接收这些导航消息并估计其到达时间。根据导航消息中包含的传输时间及其到达时间,接收器计算到每个可见卫星的距离。一旦接收器从至少四颗卫星获取了导航消息,GPS接收器便会估计其自身的位置和准确的时间。

B. GPS欺骗攻击

由于缺乏任何信号认证,并且每个卫星的扩频码,调制方案和数据结构都是公开的,民用GPS很容易受到信号欺骗攻击。GPS信号欺骗攻击是一种物理层攻击,攻击者在其中传输与真实卫星信号相同的伪造无线电信号。在信号欺骗攻击中,攻击者的目的可能是迫使目标接收者(i)计算错误的地理位置,(ii)计算错误的时间,或者(iii)通过传输非法数据来破坏接收器。如今,低成本无线电硬件平台和开源GPS信号生成软件的可用性日益提高,使用不到100美元的设备就能实现GPS欺骗攻击。通过对GPS信号发生器编程,可以发送相应静态位置(例如,纬度,经度和海拔)的射频信号,或者模拟整个轨迹。例如,攻击者可以欺骗运输贵重物品的车辆的行驶路线,并将其劫持到任意位置而不触发警报。打车服务公司也可以伪造所走的路线。此外,GPS欺骗攻击可能会延迟甚至阻止紧急服务到达目的地。

C. 惯性传感器辅助导航和跟踪

为了能在GPS无法访问,不可靠或被欺骗的情况下依然可以有效运行,人们开始寻求辅助导航解决方案和攻击检测技术。一些对策和替代定位技术已经提出。其中,惯性传感器被广泛运用,其主要原因有两个。首先,惯性测量不受无线干扰的影响,因此可以抵抗拒绝服务攻击。其次,它们在大多数现代智能手机中的广泛可用性,使它们易于部署并集成到现有的导航和跟踪模块中,而无需对GPS接收器进行任何硬件或软件修改。

惯性导航是将加速度计,陀螺仪和磁力计等传感器的读数综合成完整的三维位置,速度和方向的过程。惯性导航系统属于推算导航(dead-reckoning),因为其计算过程是迭代的,并且要使用先验信息,即要根据某些先前已知的导航信息进行计算。加速度计沿三个轴分别测量重力加速度和非重力加速度。陀螺仪测量物体旋转的速率,并用其计算物体的姿态和航向。陀螺仪测量数据可以辅助加速度计确定物体的方向。通常,将三个正交的加速度计和三个陀螺仪组合成一个惯性测量单元(IMU)。该结构通常包含其他模拟和数字电路,包括转换和校准组件。磁力计测量磁场,以此确定物体行驶的方向。

低成本惯性传感器(例如MEMS )的主要缺点之一,是航位推算时通常会导致测量过程中误差累积。由于惯性传感器原始读数的单次或两次积分造成了位置,速度和姿态的更新,因此误差会传播并影响最终的位置,速度和姿态估计。例如,由于角速度测量的单次积分,恒定的陀螺仪偏置将产生线性增长的角度误差,陀螺仪噪声随时间的平方根产生“随机游动”。将加速度计输出转换为位置所需的双重积分产生了平方误差,和二阶“随机游动”,分别产生了恒定的加速度偏差和白噪声。 用数字表示,导航坡度传感器的加速度偏差()将在一小时内产生1.59km的位置误差。随着交通工具具有更大的移动自由度,传感器误差的严重对于航空和海事应用至关重要。但是,在地面上,车辆受到道路网的限制,其行驶路线受到严重约束。图1说明了在地面导航(有运动约束)和空中导航(无任何运动约束)的情况下,偏差误差如何影响最终位置估计。道路网本身的限制,促使惯性传感器辅助GPS导航和跟踪解决方案的出现。此外,惯性传感器在很大程度上不受干扰,这使得它们对于先前描述的安全性关键的应用,价值很大。

Ⅲ. 欺骗INS辅助定位系统

在本节中,我们将演示对GPS/INS道路导航和跟踪应用的攻击。据我们所知,这是首次对GPS/INS定位系统进行攻击。

A. 系统和攻击模型

我们的攻击与GPS/ INS系统的部署方式无关,即它既可以是受信任的智能手机上的应用程序,也可以是安装在目标实体上的专用跟踪设备(例如,电子脚链)。监控系统的主要目的是跟踪实体的位置和行驶路线。我们假设攻击者能够使用gps-sdrsim之类的工具,生成和传输与他选择的位置或路线相对应的伪造GPS信号。攻击者的目标是欺骗其位置和路线,而不被发现。例如,攻击者可以在监控系统检测到异常并发出警报之前,尝试偏离预定的行驶路线,并尽可能地远离预定的目的地。当时,攻击者的位置仍不能确定。或者,攻击者在指定的地点出发并到达,但是行驶的路线却与反馈给监控系统的路线不同。我们假设攻击者可以完全接触到被跟踪实体,并且知道部署了用于监控的GPS/INS系统。本文工作中,我们假设跟踪设备本身是防篡改的。 例如,攻击者是货运公司(或被劫持车辆)的驾驶员。他可以接触到车辆,并定期驾驶汽车运输贵重货物。而且他了解该公司采用的基于GPS和INS的跟踪系统。但是,他无法修改智能手机上的软件或物理上篡改跟踪设备。

B. 攻击的概述

攻击者的主要目的是在不引起怀疑的情况下伪造所报告的行驶路线。 简单地欺骗的GPS信号是不够的,因为INS测量结果将会表明所报告的GPS位置与惯性估计之间的差异。为了成功实现攻击,攻击者现在必须识别并欺骗具有相似距离,道路曲率和转弯角的行驶路线,以最大程度地减少INS与GPS估计之间的差异。我们的系统ESCAPE,利用许多城市道路网中存在的常规模式,识别出与报告给监控中心的路线相似的行驶路线。最后,INS与GPS估计的差异十分微小,攻击就成功了。

攻击开始,攻击者先向ESCAPE提供预定路线的起点和终点。ESCAPE计算两组路线:(i)被欺骗路线和(ii)逃生路线。被欺骗路线是起点和终点之间存在的一组路线。这些是攻击者生成虚假GPS信号并欺骗接收器,报告给监控中心的路线。这些应该是对于起点和终点的合理路径。 对于每个被欺骗路线,ESCAPE都会计算出一组逃生路线,攻击者可以在进行欺骗攻击时使用这些逃生路线偏离预定的路线。换句话说,被欺骗路线是报告给监控中心的路线,逃生路线是攻击者到达目的地的真实路线。然后,攻击者选择一条逃生路线,使他能够到达意图位置。 意图位置可以是远离预定目的地的位置(以便在一段时间内收买对方),也可以是到达指定目的地之前偏移预定路线的位置。攻击者可使用与被欺骗路线相对应的逃生路线来生成欺骗信号。图2举例说明了在曼哈顿的两个端点(从绿色标记到红色标记的绿线)之间生成的被欺骗路线,和这条被欺骗路线生成的逃生路线的目的地(红色点)。最后,攻击者沿着逃生路线行驶时,报告被欺骗路线以欺骗跟踪设备,实现了攻击。

C. ESCAPE算法核心

ESCAPE由三个主要模块组成:(i)图构造器,(ii)被欺骗路线生成器,和(iii)逃生路线生成器。图构造器基于研究地区的道路网生成有向图。 我们的攻击没有对地区施加任何限制。顾名思义,被欺骗路线生成器和逃生路线生成器负责为攻击者计算和标识被欺骗路线和逃生路线。

1)图构造器

区域g的路径是从有向图生成的。我们选择OpenStreetMap作为地图提供者,因为它具有世界主要城市的准确道路信息以及各种元数据,例如道路和建筑物的类型。每个地理区域都可以用表示,其中是原子段的集合,是连接的集合,其中X表示两个原子段s和s’之间的连接。我们将原子段定义为两个路口之间的道路,这样它可以保留道路的曲率,但不包含转弯或急弯。连接是连接两个原子段的路口。这些连接可能会延伸相同的道路,也可能会变成另一条道路。如公式1所定义,函数给出了与连接X相关的转弯角度,原子段的曲率由函数给出。我们用顶点表示每个原子段s,用表示每个连接X。图3显示了示例道路网和相应的构造图。 根据OpenStreetMap中的道路类型给每个原子段分配了默认限速。例如,在美国的“高速公路”上限速。长度,限速和原子段s的地理坐标,作为相应顶点v的属性被存储。长度和限速用于计算端点之间最快的行驶时间。重要的是要注意,这是每个地理区域的一次性初始化步骤。

2)被欺骗路线生成器

被欺骗路线生成器搜索并编译特定路线起点和终点之间的可能路径。被欺骗路线是N条路线的集合,当并且时,欺骗的可能性大于。在给定攻击者地区的情况下,该算法生成的路径可以最大程度地找到该地区其他部分的相似的道路曲率和转弯。因此,它使逃生路线的数量最大化。 它利用市区布局的规律性,即多数道路通常是笔直的,转弯角度大多是直角。这些的实现是通过运用一个评分机制,即在相同起点和终点的情况下,包含这类常规模式的道路排名要高于不寻常道路。图4展示了曼哈顿道路的曲率和转弯分布,并为我们的方法提供了直观的认识。我们注意到,大多数转弯为90°,这意味着,当给定的路线的所有转弯都≈90°时,我们找到具有相似转弯的另一条路线的可能性会很高。

被欺骗生成器的基本思想是找到与图中其他路线有相似属性的路线。找到这样的路线后,会更容易发现到图中其它目的地的路线。在此程度上,我们实施了一种评分机制,先分析该地区的道路曲率和转弯角度,并让有频发曲率和频发转弯角度的路线分数最大化。使用改进的深度优先搜索(DFS)算法来实现路线搜索算法。典型的DFS算法是在给定起点和终点间计算出一条路线。这限制了攻击者在这些端点间生成多条被欺骗路线。我们扩展了基本的DFS算法,计算出起点和终点间所有合理的非循环路径。 如果路径在最短路径的20%以内,则该路径是合理的。为了将算法运用到更大的图(对于大城市),我们合并了过滤和评分函数,在每次迭代中去掉可能性较小的路径并修剪低评分路径,从而加快了计算速度。

被欺骗路径生成算法(算法1)的输入为图和起点的地理坐标,终点地理坐标,输出路径的条数。输出为按路径分数排序的被欺骗路径集合。该算法首先初始化当前路径和访问顶点的集合(第1行)。再使用攻击者的起点和终点作为算法GenerateSpoofedPaths的参数,递归计算输出路径(第2-4行)。最后,这些路径按照得分排序,将前条路径保存到最终的被欺骗路径集合中(第5行)。在GenerateSpoofedPaths函数内部,当找到目标顶点后,该算法将顶点添加到当前路径和已访问集合中(第7-8行),将该路径添加到输出集合中(第9-10行)。否则,算法会遍历路径输出的边,使得。在(第12-16行)遍历中,过滤掉不可能出现的边(第13行),使用评分机制对其余边打分(第14行)。过滤和评分方法下面会描述。每条输出边都会调用GenerateSpoofedPaths函数(第15行)。最后,起点从当前路径中移除,访问集合来回溯并进行深度优先搜索(第17-18行)。

评分机制:回想一下,图的所有顶点都是原子段,并且边连接两个原子段(参见III-C节)。连接的转弯角度由函数给定,其中;原子段的曲率由函数给定。该曲率可以根据原子段的地理坐标来计算。令为根据个地理坐标计算出的方位角集合。令为连接该原子段第一个和最后一个地理坐标的假想线的方位。则该原子段的曲率中所有方位角与参考方位差的绝对值规范化后的结果,即

                 (1)

所有道路曲率的集合,和转弯角度集合表示了地区的道路结构。图4展示了曼哈顿的这些特点。大多数的曲率值为为0°,大多数转弯角度为90°。这是曼哈顿和其它具有网状道路结构城市的典型特点。 为了使用该信息进行评分,预先针对该区域计算了概率分布表。该表可以用表示,其中每项都是特定曲率和转弯角度组合出现的概率(角度四舍五入到最接近的整数)。

图上具有M个顶点的路径可以使用每个顶点的曲率和下一条边的转弯角度来表示,例如,其中。开始时,路径的得分都被初始化为1。对于每个被加入路线中的顶点和边,可以从表中获得可能性。由于算法的构造,所有连接边的出现概率相同,并且与当前路径无关。因此,将每个顶点的分数与先前的路径分数相乘,就可以计算出路径中所有顶点的复合概率。最后一条路径的分数是

       (2)

过滤:该算法旨在生成输入的起点和终点之间的所有路径。 对于较大图,数量可能在数十亿个数量级,这使得搜索效率非常低。为了扩展计算,该算法使用以下过滤方法来加快对合理路径的搜索,并同时排名。给定当前路径为,起点为,边为,终点为,当路径的长度加上边与目的地之间的欧式距离超过最大允许距离时,算法会过滤该边。即,其中是路径的长度,是起点和终点间的最短路径。本文的工作中,我们设置,仅接受距离与最短路径距离相近的路径。 该算法还始终维护着最佳的条路径,并且会将得分较低的任一新路径过滤。在我们的评估中,为了确定多个城市在多条路径上的攻击效率,我们选择(该算法在每个起点/终点对上大约运行1分钟)。但是,具有足够资源的攻击者可以轻松地使用较大的来增加被欺骗路径的数量。此外,攻击者只在乎每个攻击实例上的一对起点/终点,因此可能会花费更多时间来得出最大的被欺骗路径和逃生路径集合。最短路径被一个矩形确定了边界(增加了米内边距),这使得所有超出矩形的边都超出范围。以上算法的参数是可调的,并且在本文工作中设置为保守的值。我们相信,通过调参,可以大大提高攻击性能,例如,设置(当关注单个起点/终点时,较大的值更合理)。

3)逃生路径生成器

逃生路径生成器的思想是,在不发出警报的情况下,找到攻击者所有能到达不同目的地的路径。为了避免检测,所有计算出的路径必须具有与被欺骗路径相似的加速度计和陀螺仪模式。与一条被欺骗路径相对应的逃生路径,是一个M条路径的集合,其中但是和类似,对于任意的。当路径具有相似的距离,道路曲率和转弯角度时,它们是相似的。这些路径都开始于输入的起点,但结束于与预期目的地不同的地点。

给定一个被欺骗路径,逃生路径算法(算法 2)生成一个逃生路径的集合,这些路径与被欺骗路径具有相似的距离,道路曲率,和转弯角度。该算法与被欺骗路径生成器的算法相似。主要区别在于该算法使用先前生成的被欺骗路径作为输入,其中,并输出逃生路径的集合。同样,逃生路径生成器算法,使用被欺骗路径中的转弯数作为GenerateEscapePaths的参数(第3–4行),并检查当前逃生路径是否达到期望的转弯数(第10–12行)。

可以通过分析用于跟踪的惯性传感器的噪声灵敏度,来确定与被欺骗路径的偏差(以避免INS检测)。我们发现商用加速度计和陀螺仪难以准确计算距离,道路曲率和转弯角度,这让攻击者可以在不检测到的情况下前往多个目的地。实验显示磁力计很容易被欺骗,使其无法检测车辆行驶方向的异常。我们在IV-A节中展示了加速度计和陀螺仪的噪声分析以及磁力计欺骗的能力。与按分数对路径进行排序的被欺骗路径生成算法不同,此算法计算出的逃生路径的分数始终为1。通过算法过滤器的所有逃生路径都一定不会被INS跟踪系统检测到。

过滤:在此算法中,我们用表示输入的欺骗路径,其中表示距离的集合和路口之间道路曲率的集合,而表示路口处的转弯角度。我们首先提出仅使用转角进行过滤,然后扩大到距离和道路曲率是被欺骗路径的转弯角度。其中是路口的数量。当转弯角差小于设定阈值时,逃生路径中的转弯连接点,其中,对路口有效。即。参数取决于陀螺仪传感器的噪声灵敏度。

对距离的过滤类似于转弯角度。是在个路口间行驶的被欺骗路径的距离。对于一个路口表示从上一个路口到当前路口的距离,即,其中表示在给定路口处的被欺骗路径的总距离。是路径的起点,是路径的终点。当其到上一个路口的距离在由被欺骗路径的第个路口定义的范围内时,逃生路径的连接对路口有效。即,其中代表一个路口的逃生路径的距离。以上参数取决于加速度传感器的噪声灵敏度。

道路曲率的过滤比转弯角度和距离更复杂。原因是,给定一个路口,距离和转弯角度是标量,然而是一个矢量,必须通过路口之间路段的方位角得出 。针对路段的方位角的两个不同向量不能直接比较,因为它们的长度和方向可能不同。例如,可能向北而向南。我们用定义的计算道路曲率相似性的方法是,使用线性插值将这些方位角转换为相同大小,将插值的方位角转换为曲率,然后比较曲率。设分别代表的插值方位角。有个方位角的路段的曲率可以通过减去中所有方位角的连续方位角得出。即。令是分别从得出的曲率。两个段的曲率相似度可以表示为:

    (3)

当最大曲率相似度值低于设定的阈值时,逃生路径中的连接对于路口有效。即。像过滤转弯角度一样,该参数也取决于陀螺仪的噪声灵敏度。

为了避免被检测到,逃生路径的所有K个路口都必须满足上述限制条件。因此,一个逃生路径当且仅当满足下面的所有约束时才是有效的。

Ⅳ. 攻击影响:实施和评估

在本节中,我们将介绍攻击的实施方式,并评估其在全球各个城市的有效性。 首先,我们评估惯性传感器的准确性,并得出ESCAPE算法的实际噪声阈值设置。然后,我们描述实验设置和方法的细节。 最后,我们使用两个指标来介绍我们的评估结果,(i)离开指定目的地的距离和(ii)逃生路径的覆盖范围。

A. 惯性传感器的准确性

用于评估加速度计和陀螺仪的噪声灵敏度的传感器数据,是从一个开源的数据集中获得的。该数据集包含了加速度计,陀螺仪和磁力计样本,这些样本是从在美国马萨诸塞州的波士顿市和沃尔瑟姆市的约140次真实驾驶实验中得到的。传感器样本从4个智能手机(HTC One M7, LG Nexus 5, LG Nexus 5X, and Samsung S6)上采集得到。为了与真实路面进行比较,我们还记录了这些路线的GPS轨迹。 该工作专门针对转弯期间的陀螺仪噪声。我们的工作还包括了,从加速度传感器计算出距离以及从陀螺仪传感器计算出道路曲率时的噪声灵敏度。

1)加速度计准确性:加速度传感器可用于计算行驶的距离。该数据可以表示为以离散时间间隔采样的向量,其中是设备在x,y和z轴上的真实加速度,是由多种因素引起的未知噪声量。例如,由于轴未对准的制造缺陷,传感器具有固有的偏差。噪声的另一个来源是由车辆和发动机的机械结构引起的振动。由于道路状况和交通等外部环境,传感器上也会产生额外的噪声。

当根据加速度计数据计算距离时,我们期望能找到与相关的真实值的偏差范围。为了获得该范围,我们使用加速度计数据为数据集中的每个传感器路径计算路口之间的距离,并将其与从OpenStreetMap获得的真实距离进行比较。为了减少噪声的影响,我们在计算前使用了[47]中描述的校准和旋转技术。我们还对多个样本取均值,以进一步减少噪声的影响。由于路口之间的距离可能会发生显着变化,因此我们将距离误差表示为加速度计得出的距离与实际距离之比。更精确地说,如果是N个用加速度计得出的距离的向量,是N个真实距离的向量,则误差可以表示为向量。图5a展示了误差的分布。 误差的期望值应该接近1,但是,我们看到误差的变化范围在0.1到5之间。这表明加速度传感器不适用于计算距离,并且它会使攻击者实际行驶的距离比预定路线的距离更长。回想一下,逃生路径生成算法使用参数,根据距离过滤逃生路径的连接(第III-C3节)。从误差分布中选择这些参数,以便允许范围基于分布的0.75分位点,即

2)陀螺仪和磁力计的准确性:陀螺仪传感器可用于测量路径的转弯角度和曲率。此数据也可以表示为向量,其中是设备在x,y和z轴上经历的角度变化率, 是未知的噪声量。与从OpenStreetMap得出的真实值相比,我们期望能从陀螺仪数据计算出的转角误差和曲率误差。为了计算转弯误差,我们使用了与[47]类似的方法,即定义转弯误差为陀螺仪得出的转弯角与实际转弯角之间的绝对差。但是,我们更对所有手机而不是单个手机的总体误差分布感兴趣。图5b显示了数据集中所有转弯的转弯角度误差的分布。 分布表明,陀螺仪比加速度计要精确得多,陀螺仪75%的转弯误差在5.5º以内。

为了计算曲率误差,请回忆我们的技术,该技术用于计算第个路口和第个路口之间的两段道路的曲线相似度(等式(3))。以陀螺仪数据的形式已经知道了道路曲率。但是,此曲率必须内插到与相同的长度。给定N条传感器路径的所有K个路口的曲线相似度集合的并集,其中,曲率误差是两条曲线上所有点之间的一组差的绝对值,即。图5c展示了曲线误差的分布。回想一下,逃生路径生成算法分别根据转弯角度和曲率定义了参数来过滤连接(第III-C3节)。基于误差分布的0.75分位点,我们在评估中将参数设置为

我们使用与曲率相同的方法来计算方位角误差。图5d显示了方位角误差的分布。我们注意到,由于附近有风扇,扬声器和其他电磁设备的磁场,方位角误差比陀螺仪大得多。要减少这些错误非常困难,需要对车辆内部的设备进行定期的硬铁校准。

3)磁力计欺骗:作为概念证明,我们用Google Pixel 2智能手机构建了磁力计欺骗的原型。我们的实验设置如图6a所示,它由以下模块组成:(A)一个ESP32微控制器,(B)一个8通道继电器模块,(C)用于控制电流的电阻,(D)两个线圈系统,以及(E)安装在汽车支架上的Google Pixel 2。我们首先确定了磁力计的确切位置,该磁力仪位于手机的左上角(距手机顶部42毫米,距手机左侧7毫米)。我们设计并3D打印了一个两线圈系统,如图6b所示,该系统可以卡在手机上,并可以包裹漆包磁线。我们着重于控制x和y轴,因为它们更容易操控。使用两个线圈,每个线圈以一个轴为目标,可以完全控制平面中的磁场。我们使用以下电磁场公式来估算强度:,其中是相对磁导率,为线圈匝密度,为电流。我们的线圈匝密度为155匝/米,因为我们使用了5层28 AWG漆包磁线。没有铁心,我们估计磁场为,电流为,足以影响磁力计。请注意,如果在其他系统中无法使用磁力计,则可以使用较大的线圈或使用具有较高相对磁导率的材料导通磁场。空气的相对磁导率是1,铁是5000,在氢气中的退火铁是200000。为了控制每个线圈中的电流,进行电流调节,我们使用了带有足够数量的GPIO/DAC引脚的ESP32微控制器(Heltec WiFi Kit 32)来控制带有可变电阻的8通道继电器模块。欺骗装置是用Python编写的,使用一系列方位和持续时间作为输入。它设置线圈中的电流以与输入持续时间匹配的时序触发匝数。图7显示了一个欺骗路径的例子。

B. 综合攻击

实现集成的GPS/INS /磁力计欺骗系统并非易事。它必须解决两类挑战:(1)同步所有欺骗组件:GPS欺骗SDR平台,磁力计欺骗线圈以及真实GPS的感应组件和INS传感器;和(2)动态生成和车辆实时轨迹一致的GPS发射RF信号。处理同步需要构造系统并实现控制回路。但是,针对交通状况例如交通灯和车流,实时欺骗GPS和磁力计更具挑战性。当磁力计完全被攻击者控制,实际上是让控制两个线圈与真实转弯同步的问题,GPS的实时欺骗更具挑战性。如相关工作中所述,目前已有多种针对预定轨迹生成离线GPS RF信号的系统。当轨迹实时变化时会更具挑战性,因为GPS接收器不能失去对卫星的锁定,但如果突然欺骗成了新的GPS位置,GPS接收器将失去对卫星的锁定。我们扩展了现有的开源工具[48],该工具可以实时动态内插所需的轨迹,欺骗GPS RF信号,并以细粒度独立地调整每个欺骗的卫星信号,从而使GPS接收器能够保持其锁定状态,并启用欺骗性GPS信号的紧密控制环。为了解决交通流,交通拥堵和信号灯的问题,我们在与实际路段成正比的位置欺骗。因此,当车辆不行驶时,欺骗位置保持恒定,并且当车辆行驶时,该位置以与真实速度成比例的速度变化。路径被映射为使得当驾驶员在真实道路上转弯时,被欺骗的位置也会在有效路口处以与真实转弯相似的转弯角度转弯。据我们所知,这是第一个实时动态的GPS欺骗工具。该GPS欺骗工具还与其他欺骗传感器外围设备(在本例中为磁力计)集成在一起。

C. 评估方法和设置

我们在PyPy中实施了ESCAPE攻击算法。我们使用两台运行2.40GHz Intel Xeon CPU,12核和20GB RAM的服务器来执行算法并评估其性能。即在预定了起点和终点,并没有被检测到的情况下,攻击者可以逃脱多远。

城市选择:我们在全球10个主要城市的道路网上,评估了攻击的有效性。评估城市从北美洲,欧洲和亚洲各大洲选取。选择这些城市来代表整个城市的特征,例如主要的物流和运输枢纽,人口密集型城市的规划(例如网格状或圆形)等。图8显示了所有选定城市的累积道路曲率和转弯分布。回想一下,道路曲率是使用公式(1)计算的。我们可以看到,芝加哥和曼哈顿的道路大多为直路和直角转弯,而伦敦和巴黎的道路网则具有非常独特的特征。

生成被欺骗路线和逃生路线:通过对每个选定城市进行模拟来评估。该仿真数据由每个城市中的1000条随机生成的路径组成,因此路径距离均匀地分布在1km和21kms之间。目的是根据路径距离来评估欺骗的可能性。仿真路径生成如下:(i)从OpenStreetMap标签中的区域中随机选择一个“家庭”和“公司”位置,(ii)获得起点和终点的地理坐标,(iii)将坐标作为攻击算法的输入,计算被欺骗路径和逃生路径。

集成系统:我们构建了一个攻击评估系统,其中包括一个实时获取车辆真实位置的GPS接收器(ublox NEO-M8N),一个生成GPS欺骗信号的bladeRF x40 SDR,我们的磁力计阻尼器(如前所述),所有的这些都连接到运行控制软件的Dell XPS笔记本电脑上。在目标方面,我们使用Google Pixel 2目标(装有磁力计欺骗工具)。为了避免GPS欺骗信号在空中传输(并可能干扰其他相邻设备),我们使用了第二个外部GPS接收器,其外部天线通过RF同轴电缆连接到bladeRF。第二个GPS接收器通过USB链路连接到Pixel手机。集成了所有组件的控制软件是用Python编写的,并利用了现有的库(例如,测地线计算,最近的节点搜索)。

至于攻击设置,我们在逃生路径和欺骗路径之间创建一个映射。该映射简化了欺骗的实时执行,因为攻击者的每个真实位置都对应一个欺骗位置。更具体而言,我们(1)将两条路径都分成多个路段,以使每个路段都成为两个转弯之间道路的一部分,(2)对逃生路径的坐标进行插值,以使每个坐标都与上一个坐标相距正好1米,(3)使用逃生路段插值被欺骗路径的坐标,即,这个插值具有完全相同的点数,并且距离基于其与相应逃生段的比。

执行集成攻击:三个模块(图9)并行处理不同的功能(线程)。(1)第一个模块使用工作在10Hz的ublox NEO-M8N获得攻击者的真实GPS位置。它使用GPS位置来计算地图上最近的逃生位置,以及地图上相应的映射欺骗位置。可以基于欺骗位置来估计欺骗的方位。为了避免传感器转弯和GPS欺骗转弯之间存在的滞后,计算欺骗位置的效率很重要。为了有效计算最近的逃生位置,我们使用2D-Tree(二维的KD-Tree),其平均时间复杂度为,最坏情况下的时间复杂度为,其中是逃生路径中所有坐标的数量。在我们的实验中,使用的是戴尔XPS笔记本电脑(具有16GB RAM的i7四核处理器),计算欺骗位置的平均时间,最坏情况下。对于人类感知而言,这可以忽略不计。(2)第二个模块每10毫秒,在BladeRF x40软件无线电(SDR)中更新一次欺骗位置。为了避免发射和干扰相邻车辆的GPS信号,SDR的Tx连接到另一个ublox NEO-M8N,并充当GPS接收器的外部天线。被测设备(DUT)使用USB OTG从该GPS接收器获取了信号。(3)第三个模块将磁力计中的欺骗方位角更新。

D. 结果评估

我们使用两个指标来衡量攻击的性能:(i)位移和(ii)覆盖范围。

到目标地的位移:我们将到目标地的位移定义为,在未被检测到的情况下,攻击者在预定路线(即给定起点和终点)中可以到达的最远距离。如前所述,对于每个评估路径,都会生成逃生路径和被欺骗路径。然后,通过选择逃生路线和目的地(即路线预定的终点),我们计算攻击者到达的目的地之间的欧氏距离。图10中展示了我们的结果。图10a显示了在10个城市中,攻击者与生成路线中的目的地的偏离。可以看出,在大多数城市中,超过20%的路线允许与预期目的地的偏差超过10 km。在所有选定的城市中,至少有10%的路线使攻击者能够到达距指定目的地30公里的地点。在所选城市中,芝加哥和曼哈顿地区表现最差,超过40%的路线允许15公里或以上的距离位移。这是由于这些城市的道路网中存在着常规模式。图10b显示了每个城市在指定路线长度下的最大位移。我们观察到,在曼哈顿和芝加哥引起的最大位移与分配的路线距离无关。这是由于城市本身的结构。例如,曼哈顿是一条狭窄的带状网格结构,因此最大位移在某个点达到饱和。但是,对于像北京这样的城市,有一些路线可以使攻击者欺骗其位置,甚至达到距预定位置最远40公里。

逃生路径的覆盖范围:此评估的目的是确定,在给定起点和终点地理坐标的情况下,攻击者通过行驶生成的逃生路径,而可以覆盖的区域的百分比。令代表攻击者感兴趣的总地理区域。在这个评估中,我们将此区域定义为半径为的圆,其圆心位于,其中是起点与终点之间的欧式距离。以上区域可能包含水域,为了得到更准确的覆盖范围必须考虑这些水域。令表示感兴趣区域内的土地面积。在内,表示攻击者从逃生目的地走一小段距离时可以覆盖的区域。给出逃生路径覆盖面积的百分比。由于在感兴趣区域内水域的位置不是已知的,因此面积并不容易计算。由于逃生目的地可能人口稠密且许多地方可能重叠,因此面积的计算也并非易事。为了解决这个问题,我们实施了蒙特卡洛模拟。该模拟在感兴趣区域内生成数百万个均匀分布的点。它维护两个单独的计数器:对陆地上的所有点计数(即,在任何道路的米之内),对一个逃生目的地的半径内的所有点计数(即,在任何逃生目的地的米之内)。有了这两个计数器,可以用来计算,其中是所有点的数量,可以用来计算。因此,使用蒙特卡洛模拟的逃生路径最终的覆盖区域百分比可以用来表示。覆盖率百分比是使用蒙特卡洛模拟计算得出的覆盖面积(使用100 m的步行半径)与土地总面积之比。

结果如图11所示。可以观察到,具有更规则网格状模式的城市,例如芝加哥和曼哈顿,纽约市,更容易受到攻击。在这些城市中,攻击者平均可以在不被检测到的情况下覆盖超过30%的目标区域。对于许多路线,他们甚至可以覆盖60%以上的目标区域。但是,攻击伦敦,法兰克福和亚特兰大等道路网不规则城市比较费力。即使在这些最有限的情况下,攻击者仍然有可能达到20%的目标地理区域。覆盖范围的百分比随着路线或行驶距离的增加而减少,这是因为随着行驶距离的增加,出现特殊路段的可能性也随之增加,而且还因为关注区域面积在起点与终点的距离间呈二次方增长。例如,距离是,关注区域的面积则是,覆盖范围是。另外,以上计算显示了总覆盖区域的下限。这是因为加速度计距离计算中的误差使攻击者能够覆盖更大的距离。例如,在我们评估时计算出的许多逃生路线中,高达82%的最终逃生目的地甚至位于评估所关注的区域之外,平均≈46%。

综合攻击的评估:我们评估了10条路线上综合欺骗器的性能。所选择的欺骗路线其起点或终点靠近大学区域,而另一个端点在大学半径6公里之内。对于每个欺骗路径,系统都会选择具有最大位移的相应逃生路径。在我们的集合中,我们发现此位移范围为0.7km至2.1km。在实验过程中,我们在逃生路线上行驶,却使用欺骗路线的GPS和磁力计进行欺骗。我们记录了以下信息:加速度,陀螺仪数据和磁力计传感器数据以及GPS位置。我们还通过行驶欺骗路线获得基线记录。对所有选定路线的攻击都是成功的,尽管有交通信号灯或交通拥堵。欺骗位置(显示在手机上)与所选位置匹配,并且转弯也能在逃生路径和欺骗路径之间同步。我们上传了一个简短的视频来演示攻击。接收当前逃生路径位置与计算欺骗位置之间的最大延迟约为60毫秒,其中大多数欺骗位置是在获取当前位置的4-5毫秒内计算得出的。为了进行定量比较,我们还行驶了欺骗路线并记录了所有传感器的测量值,将其与逃生路径测量值进行了比较。结果如图12所示。用欺骗路线与逃生路线之间的传感器测量值之差作为路径误差。 基于GPS数据计算得到“GPS路径误差”,而使用惯性传感器估算“传感器路径误差”。然后,我们将其与从140条不同路线记录的“参考”数据集[47]进行比较。我们观察到误差分布与参考数据集相似。例如,陀螺仪误差(曲率和转弯)都在参考数据集的范围内,转弯≈85-90%(传感器基线≈90-95%)和,曲率为≈75-80%(传感器基线≈70-75%)在我们算法定义的范围内。我们还观察到,与陀螺仪相比,加速度计和磁力计数据对噪声(例如汽车仪表盘中的磁体)更敏感。

Ⅴ. 对策

A. 部署精确的加速度计和陀螺仪传感器

减轻威胁的一个明显方法是使用高质量的传感器。为测量传感器噪声对欺骗攻击的影响,我们使用较低的传感器噪声阈值对城市进行了重新模拟。对于此评估,我们使用误差分布的第25个百分位数作为阈值(参见图5)。我们为逃生路线生成器算法设置了以下阈值:。图13a显示了所有城市的模拟结果。使用上述阈值,我们发现允许位移超过5公里的路线百分比显着降低。但是,这种方法存在一些局限性。首先,满足上述参数的传感器几乎只有那些部署起来笨重且昂贵(数千美元)的航空和军事级传感器。此外,它们消耗大量功率(大于约等于5瓦),因此不适合在大多数跟踪应用中使用。而且,攻击者仍然可以通过鲁莽驾驶(例如,快速加速,车道切换)在传感器中引起噪声。

B. 安全导航路径选择

我们提出了一种路径选择算法,与部署精确的传感器相比,该方法可提供更好的效果,而无需对现有GPS/INS跟踪系统进行任何更改。本质是为行驶生成一条“安全路径”。该路径不利于欺骗,因为路径的曲率或转弯更加独特,因此在路网的其他部分不太可能出现。此外,即使在这条路径上有可能发生欺骗,也可以事先知道逃生路线,并采取适当的对策以防止发生这种情况。回想一下,攻击算法会搜索在道路网其他部分中出现概率很高的导航路线(请参阅第III-C2节)。最终使用公式(2)计算路径得分。为了生成能对抗欺骗的安全路径,该算法只需对路径得分取负,即。这样就可以将最高分数分配给发生概率较低且包含唯一道路曲率和转弯的路径。如果我们设置输出路径的数量为1,则在某些情况下,一条曲率唯一且仅在路径的起点或终点转弯的路径就会被选择。这可能会使攻击者行驶比其他路径更高的位移,这是我们不希望的。为了避免这种情况,该算法将设置为100,并选择输出的可欺骗路径数量最少的路径。换句话说,应用程序或服务提供商(例如,物流公司)可以分派具有独特的道路特性而难以伪造的“安全导航路线”。图13b显示了使用与原始模拟相同的参数对城市进行评估的结果,尽管采用了评分方法。与最初的模拟相比,我们发现攻击者的可用欺骗路径数量受到极大限制。

Ⅵ. 相关工作

(略)

《Security of GPS/INS based On-road Location Tracking Systems》论文翻译相关推荐

  1. 【论文翻译】Few-Shot Object Detection and Viewpoint Estimation for Objects in the Wild

    Few-Shot Object Detection and Viewpoint Estimation for Objects in the Wild 野外目标的小样本目标检测与视点估计 论文地址:ht ...

  2. 论文翻译《Salient object detection: A survey》

    传统的方法: 可大致分为三类:基于block和intrinsic cues的模型.基于region和intrinsic cues的模型.基于extrinsic cues的模型(包括block和regi ...

  3. 【论文翻译】FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

    文章目录 PaperInfo Abstract 1 Introduction 2 Related Work 2D Object Detection Monocular 3D Object Detect ...

  4. 论文精读《BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View》

    BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View 文章目录 BEVDet: High-Perform ...

  5. 【论文阅读】【综述】3D Object Detection 3D目标检测综述

    目录 写在开头 3D Object Detection 相关博客: Sliding window Vote3Deep: Fast Object Detection in 3D Point Clouds ...

  6. 点云 3D 目标检测 - CenterPoint:Center-based 3D Object Detection and Tracking(CVPR 2021)

    点云 3D 目标检测 - CenterPoint: Center-based 3D Object Detection and Tracking - 基于中心的3D目标检测与跟踪(CVPR 2021) ...

  7. 3D Object Detection 3D目标检测综述

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/wqwqqwqw1231/articl ...

  8. CVPR2021 三维目标检测(3D object detection)

    [1] 3DIoUMatch: Leveraging IoU Prediction for Semi-Supervised 3D Object Detection(利用IoU预测进行半监督3D对象检测 ...

  9. 论文阅读笔记:(2021.10 CoRL) DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

    论文地址:DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries | OpenReviewWe introduc ...

  10. 【论文翻译】Orthographic Feature Transform for Monocular 3D Object Detection

    标题:<Orthographic Feature Transform for Monocular 3D Object Detection> 作者:Thomas Roddick, Alex ...

最新文章

  1. 2012_02_07
  2. bzoj 3224 普通平衡树 vactor的妙用
  3. Oracle 在Sqlplus 执行sql脚本文件。
  4. 拥抱.NET Core,学习.NET Core的基础知识补遗
  5. python图像加坐标_Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例...
  6. mysql 常用命令操作
  7. Python学习第三天
  8. JavaScript学习_第2章_JS语法规则
  9. paip.invalid conversion from FormWdg* to SOCKET {aka unsigned int}
  10. 联想服务器修改imm地址,联想服务器IMM运维管理指南.docx
  11. 网络安全——终端安全
  12. idea Translation插件翻译失败。TKK: 更新 TKK 失败,请检查网络连接
  13. delphi信封打印程序
  14. 千人基因组计划基因分型数据下载
  15. Udacity Sparkify项目
  16. win10/win11安装时提示:“我们无法创建新的分区,也找不到现有分区”的解决方法
  17. Weighted average
  18. 经典递归算法之Fibonacci序列
  19. margin-left是什么意思
  20. GPU呈现模式分析中颜色的意义

热门文章

  1. 2008年12月12号,星期五晴。为人父,却不能尽父责,为人夫,却不能尽夫责。这种痛楚什么时候才能结束。
  2. HTML体育新闻案例
  3. C1见习工程师能力认证 考纲
  4. web3py earliest、latest、pending
  5. idea怎么光标多选
  6. MATLAB天牛须搜索算法求解数据拟合和多参数优化问题代码实例
  7. 教师利用计算机中的视频图片,多媒体在计算机教学中的作用
  8. java poi 替换word,POI替换Word中的mark标记(指定字符串)
  9. 镁光闪存颗粒对照表_海力士、南亚、镁光内存颗粒编码解析,妈妈再也不用担心你买内存条了...
  10. Proof of Stake - 股权证明 系列1