一周安全学术资讯 1-1

2023-10-28

本周安全学术资讯有车联网安全、AI安全、软件安全、网络安全、IoT安全以及Web与隐私安全,包括针对自动驾驶中深度估计算法的攻击、探索隐藏摄像头等。
在这里插入图片描述

车联网安全

针对自动驾驶系统中基于深度估计的避障的远程攻击

关键词:深度算法攻击;避障;无人机
在这里插入图片描述
该研究利用深度估计算法中立体匹配的弱点和光学成像中的镜头眩光效应,通过投射来自两个互补光源的纯光来注入虚假障碍物的深度,以达到如上图的效果。
在这里插入图片描述
首先,深度估计算法基本原理使用仿人类眼球的视觉成像原理(a),在汽车上放置两个相机(b)等价的两个眼球,以算出三角形的边距 ©。

在这里插入图片描述
上图则展示了三种不同攻击的模式,橙色圆圈表示图像中注入光(眩光)的外观,虚线白色圆圈表示未对准相机的光源位置,绿色小圆圈代表球体,P和Q则是攻击中的两个点光源,可以看到三种不同的光束交替情况导致其识别的障碍物(绿色球体)深度不同。
该研究基于这类的攻击方式进行细化攻击实验,从而成功地对自动避障系统造成伤害。

IoT与IIoT安全

Lumos:在陌生环境中识别和定位各种隐藏的物联网设备

关键词:隐藏摄像头;无线信号度量;

在这里插入图片描述
该研究的目的是识别在各类陌生环境下隐藏的IoT设备。实验环境与人员模型如上图,在其设定的环境中,攻击者拥有完全控制环境且已经设置好隐藏的通过802.11无线协议进行通信的IoT设备如恒温器、智能充电口等,同时,这些设备的协议、固件内容不会变。用户可使用一个具备监听模式的WiFi接收器如手机、笔记本电脑,嗅探加密的802.11蓝牙数据包。
在这里插入图片描述
如上图 Lumos 的架构图。首先,指纹模块为常见的物联网设备离线训练阶段,当用户进入一个陌生的新空间时会运行一个客户端代理嗅探正在进行的 802.11 流量,该模块使用机器学习中的XGBoost算法来进行分类。
然后,通过指纹模块检查与每个设备相关的数据包以识别这些设备。由于用户不知道这些设备在哪个无线信道上运行,因此 Lumos 使用设备感知信道感知机制来决定嗅探哪个信道、何时以及持续多长时间。
最后,Lumos 使用基于 RSSI-VIO 的定位技术通过请求用户在空间周边走一圈来估计每个已识别设备相对于用户的粗略位置。

MPInspector:一种用于评估 IoT 消息传递协议(MP)的安全性的自动化方法

关键词:消息传递协议安全;MQTT;CoAP

在这里插入图片描述
该研究主要评估IoT协议的安全性。作者们提出的工具包括五个模块:消息语义提取、交互逻辑提取、属性生成、形式代码翻译和形式验证。
在这里插入图片描述
首先,消息语义提取模块接受 MP 流量和 IoT 平台文档作为输入,并提取标准 MP 规范中指定的每个参数的自定义组合语义,分为两部分,一部分是基于流量的语义提取,一部分是基于IoT平台的标准文档的语义提取,其中,基于文档的使用了NLP方法。该模块最终形成一个语义图。
其次,交互逻辑提取模块通过向 MP 实现中的相关方发送消息并监控他们的响应来执行主动模型学习以推断原始状态机。该模块要求用户指定通信配置,以便在学习过程中生成消息。在这两个阶段之后,MPInspector 将从第一个模块中提取的消息语义添加到在第二个模块中推断的原始状态机中的转换消息中,以形成详细的状态机。

在这里插入图片描述
第三,属性生成模块使用从详细状态机推断的扩展属性以扩展标准 MP 规范中的元属性,进而形成最终要验证的安全属性。
第四,代码翻译模块将详细的状态机和安全属性翻译成 Tamarin 代码。最后,MPInspector 应用 Tamarin Prover 对 Tamarin 代码进行形式化验证。最终输出是违反安全规则的属性,也就是最终的结果。

网络安全

一种对 VPN 的盲入/通路攻击

关键词:VPN漏洞;盲入/通路攻击;
该研究主要通过两类方式对VPN服务的加密隧道进行攻击。
在这里插入图片描述
一种是将恶意数据注入到客户端的网络堆栈(盲入),这意味着攻击者与客户端的网络是相邻的,因为任何网络相邻的攻击者都可以通过ARP 投毒攻击轻松地将自己置于网络路径中。许多客户端的操作系统不会根据数据包进入系统的接口来区分数据包,因此攻击者有可能将看似来自远程应用程序服务器的数据包欺骗到VPN 客户端。

具体的攻击流程如上图,简要概括如下:

  1. 确定VPN客户端的虚拟IP地址;这里运用到一个原理:网关发送一个带有网关源地址的SYN数据包到受害者主机,如果这个受害者主机的虚拟IP地址是错误的,那么它不会做任何回应,如果是正确的,受害者主机无线网口会发送一个带有虚拟IP地址的RST响应包。
  2. 使用虚拟IP地址推断激活连接;
  3. 使用对未经请求的数据包的响应包,来确定激活连接的序列号和确认号,以劫持 TCP 会话。

在这里插入图片描述
如上图,另一种是在网络线路上骗取数据包并将其发送到VPN客户端。此类数据包可以从 Internet 上任何位置骗取,但由于该研究假设攻击者可以查看加密的 VPN 流量(以计算加密数据包或字节数),因此,服务器端攻击必须是由在 VPN 服务器和 VPN 客户端之间的路径中的路由器执行。
从上文两类角度提出三种攻击方式:

  1. 从邻近网络攻击者(例如 WiFi 接入点)的角度推断和劫持 TCP 连接的客户端攻击。

  2. 服务器端攻击,从 VPN 服务器和 VPN 客户端之间的中间路由器的角度推断和劫持 TCP 连接。

  3. 从 VPN 服务器和 VPN 客户端之间的中间路由器的角度劫持 DNS 查询的服务器端攻击。

软件安全

使用可能的不变量作为模糊测试工具的反馈

关键词:模糊测试;反馈标志;

该研究主要针对模糊测试工具中,以单纯的代码覆盖率为评判指标所造成的一些程序的关键点无法被测试的问题,他们提出以一些不变的参数值将程序划分以形成一种基于程序状态的反馈机制。
该研究在模糊测试过程之前,通过使用一些基于初始语料库的样例作为输入,输入到测试程序中来学习一些不变量,以对程序空间进行划分。该论文以如下图片所展示的代码为例子阐述他们的思想:

在这里插入图片描述
这两部分代码都来自WAV文件格式中libsndfile的ms_adpcm.c,该研究做出的实验表明,很多现有的基于代码覆盖率的模糊测试工具都覆盖到了这个位置,但是并没有触发bug(listing1)究其原因,如果要触发这个bug,需要在程序处于特定的状态,即pms缓冲区(listing1 line8)的分配很小,且pms->blocksize(listing1 line13)的值足够大从而迫使循坏写出listing2中line7-10中的几个数组边界,这就是所谓的特定状态。

他们通过调查Fuzzer在训练过程中保存的参数值,设定他们所认为的上图中的两个listing 的代码的可能的不变参数列在了line4-6之间。该论文通过这些不变的参数将被测代码分为ABCD四个部分,如下图所示:

在这里插入图片描述
纵坐标是blockalign的值,横坐标是samples-perblock的值,对称线为二者相等值所构成的线,可以看到,以LI2条件所构成的块区域就是对称线的下方,当blockalign大于samplesperblock时就是上方;以LI1所构成的条件是y=0,2,256,也就是图中A,C两个块;当同时满足LI1和LI2条件,就是块C。
当然,很多不变量没有太大作用,这里该研究提出了三类修剪规则:
第一类是丢弃那些不可能违反规则的变量,例如非字符型整型变量即总是大于或等于0,很难第二类是不相关的变量,为了消除这些关系,该研究为被测试的程序的每个函数,计算可比集:每个变量只属于一个这样的集合,并且将不同集合中的变量组合在一起的不变量丢弃。
第三类是只要不同的不变量有重叠的条件,就可以通过重用以前计算的值来优化它们的运行时的验证。
这里作者们提出两种方式作为语料库以寻找到这些不变量,一种是初始种子,一种是fuzzer的队列中的有价值的种子(发现了新的分支的种子),他们对比了一下两种方式下的效果,发现以队列中的值作为不变量所带来的效果最好。
在这里插入图片描述
上图是基于不变量的fuzz工作流程图,分为两个阶段:

  1. 学习阶段,程序状态变量发出日志记录,为不变量的发掘器提供数据;

  2. 插桩阶段,增加被测程序的代码,以直接适用于覆盖引导的FUZZER的形式评估合适的不变量。

在 Instrumentation 阶段,在程序函数中编码可能不变的信息,以将它们暴露给基于覆盖率引导的FUZZER,这样,FUZZER就可以针对性的以暴露出的不变量作为指导进行Fuzzing
工具公开在https://github.com/eurecom-s3/invscov

有请客官关注微信公众号信安科研人观看剩下的内容

在这里插入图片描述
定期更新安全学术资讯、安全学术复现、以及安全技术分析。希望您提出宝贵的意见!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一周安全学术资讯 1-1 的相关文章

随机推荐

  • Redis可视化工具RedisInsight

    今天是老苏居家隔离的第 39 天 周五抗原 周六 周日 周一每天两次抗原 上午一次 下午一次 没完没了的捅鼻子 感觉都要捅出鼻炎了 虽然小区早就是防范区了 但是一直处于提级管理中 还是不能出小区 也看不到任何松动的迹象 最近几天都在传 一人
  • R reason ‘拒绝访问‘的解决方案

    Win11系统 安装rms的时候报错 Error in loadNamespace j lt i 1L c lib loc libPaths versionCheck vI j namespace Matrix 1 5 4 1 is alr
  • 使用Thinkphp5.0 中 {include file="index/left" /} 引入模板 影响样式

    在使用Thinkphp 5 0框架开发后台的时候 需要在模板中引用公共头部 我使用 include file index header 的方式引用了公共头部 引用之后发现头部和页面顶端之间出现了间距 未引用之前 头部和页面顶端是没有间距的
  • Azure文件同步服务的创建和配置

    将Azure FileShare share1同步到Server Endpoint 在这没法添加 只能管理服务 选择 Create a resource 查找 azure file sync 注意 选择的Location 一定要与File服
  • PLY文件格式及其MATLAB读写操作

    PLY是一种电脑档案格式 全名为多边形档案 Polygon File Format 或 斯坦福三角形档案 Stanford Triangle Format 史丹佛大学的 The Digital Michelangelo Project计划采
  • Arduino实验三:伺服马达

    目录 前言 1 伺服马达 1 1 相关参数 1 2实物图 1 3连接线路图 1 4程序代码 1 5运行结果 前言 伺服马达和直流马达的区别 伺服马达有3条接入线 在输入信号的控制下 能够转动特定角度 其中三条线中 红色线接正极 棕色线接地
  • App常见内存泄漏以及解决方法

    如果是想认真学习的话 请先不要看以下内容 此记录只是为加深记忆 可能会有错误的地方 以免有误导 学习转载链接 https blog csdn net u014674558 article details 62234008 App常见内存泄漏
  • python怎么实现类似#define宏定义

    我怎么了 怎么突然问出这个问题 一时还认真的点进了论坛 面壁思过一下 python是解释性语言 不需要编译 define是预编译阶段起作用的 python没得必要 在c语言中 define在调试或者多平台兼容的时候很有用 特别是 defin
  • [内核文档系列] NMI 看门狗

    内核文档系列 NMI 看门狗 秦白衣 qinchenggang sict ac cn X86和X86 64体系结构均支持NMI看门狗 你的系统是不是会经常被锁住 Lock up 直至解锁 系统不再响应键盘 你希望帮助我们解决类似的问题吗 如
  • AttributeError: 'numpy.dtype' object has no attribute 'base_dtype'

    AttributeError numpy dtype object has no attribute base dtype 这个错误其实是有说keras版本有点高的问题 我调低了 Keras 2 0 2 具体他有没有影响 我没有验证 但是下
  • 机器学习K-均值——nonzero(clusterAssment[冒号,0].A==cent的一步步操作演示,看完你就明白了

    先准备测试数据 如下 上面都是准备数据 下面才是一步步的告诉你怎么生成我们要的数据 原文链接 https blog csdn net xinjieyuan article details 81477120
  • Educoder C&C++线性表实训

    目录 第1关 顺序构建线性表 第2关 逆序构建线性表 第3关 排序构建线性表 第4关 查找元素 第5关 删除指定位置的结点 第6关 删除包含特定数据的结点 第7关 线性表长度 第8关 线性表应用一 栈 第9关 线性表应用二 队列 第10关
  • Min Difference

    C Min Difference Problem Statement You are given two sequences A A1 A2 AN consisting of NN positive integers and B B1 BM
  • JenKins工作流程

    程序员提交代码到Git SVN仓库 触发钩子程序向 JenKins 进行通知 Jenkins 调用Git SVN插件获取源码 调用Maven打包为war包 调用Deploy to web container插件部署到Tomcat服务器
  • 无法登陆宝塔面板?宝塔界面为什么无法访问?宝塔面板登陆不上?宝塔面板打不开解决办法

    很多小伙伴很久没有登陆宝塔面板 再次打开宝塔面板就出现了上面这种情况 下面张大哥介绍几个排查方法 帮助大家协助解决一下此类问题 第一 请检查你是否在安全组开放8888端口 一般安装环境时默认为8888端口 如果更改为其他自定义端口的话 需要
  • [Pytorch系列-53]:循环神经网络 - torch.nn.LSTM()参数详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121644547 目录 第1章 LST
  • 为Unity3D编写Low-level Native Plugin(OpenGL Renderer Plugin)作渲染

    为Unity3D编写Low level native plugin插件 主要是用作对Unity自带的render pipeline作拓展使用 可以在其渲染的各个stage插入用户自己的渲染代码 具体的编写过程与之前的Native Plugi
  • 【Java基础】注解--@interface使用详解

    注解 interface不是接口是注解类 在jdk1 5之后加入的功能 使用interface自定义注解时 自动继承了java lang annotation Annotation接口 在定义注解时 不能继承其他的注解或接口 interfa
  • VUE创建播发器组件并调用

    首先用vue cli创建前端项目 参考 https www cnblogs com ouyangkai p 11549290 html 新建play vue文件 编写play组件
  • 一周安全学术资讯 1-1

    本周安全学术资讯有车联网安全 AI安全 软件安全 网络安全 IoT安全以及Web与隐私安全 包括针对自动驾驶中深度估计算法的攻击 探索隐藏摄像头等 文章目录 车联网安全 针对自动驾驶系统中基于深度估计的避障的远程攻击 IoT与IIoT安全