被动操作系统指纹识别的强大功能可实现准确的物联网设备识别

到 2030 年,企业网络和互联网上的物联网设备数量预计将达到290 亿。这种指数级增长无意中增加了攻击面。
每个互连设备都可能为网络攻击和安全漏洞创造新的途径。Mirai 僵尸网络通过使用数千个易受攻击的 IoT 设备对关键互联网基础设施和热门网站发起大规模 DDoS 攻击,就证明了这一点。
为了有效防范物联网蔓延的风险,持续监控和绝对控制至关重要。然而,这需要准确识别企业网络内的所有物联网设备和操作系统 (OS)。
如果没有这些知识,IT 和安全团队就缺乏必要的可见性和理解,无法有效实施有针对性的安全控制、监控网络活动、识别异常情况并减轻潜在威胁。
了解物联网的身份困境
通常,管理员可以通过在网络端点上运行的软件代理分配的唯一设备 ID 来识别设备和操作系统,并收集设备识别信息。然而,在所有操作系统上安装此类代理可能是不可能或不可行的,尤其是在嵌入式系统和物联网设备中使用的操作系统。
这是因为物联网设备旨在执行特定功能,并且通常具有有限的资源(处理能力、内存和存储)。他们通常缺乏支持任何其他软件代理的能力。
出于这些原因,我们需要一种被动的识别方法,该方法不涉及软件安装,并且与定制和精简的系统同样有效,以满足特定的物联网设备要求。其中一种方法是基于网络的指纹识别和被动操作系统指纹识别。
什么是被动操作系统指纹识别?
在实践中,被动操作系统指纹识别就像试图在没有任何直接交互的情况下,仅根据人们的外表和行为来分析他们。
同样,设备与网络交互的方式泄露了很多有关其身份、功能和潜在风险的信息。被动操作系统指纹识别不需要安装软件代理,而是通过分析设备生成的网络流量模式和行为来确定其操作系统。
该方法依赖于已建立的技术和指纹数据库,这些数据库存储特定于各种操作系统的流量模式和行为。例如,TCP 标头或动态主机配置协议 (DHCP) 请求中设置的特定选项可能因操作系统而异。
操作系统指纹识别本质上是将设备的网络流量模式和属性与已知的操作系统配置文件进行匹配,并对流量进行相应的分类。
多种网络协议可用于操作系统指纹识别:
MAC 地址: MAC(媒体访问控制)地址是制造商分配给网络设备的唯一标识符。每个 MAC 地址通常都包含制造商独有的组织唯一标识符 (OUI)。例如,通过检查 MAC 地址“88:66:5a:12:08:8E”,管理员可以确定 Apple 制造该设备,因为字符串“88:66:5a”与 Apple Inc. 相关联。同样,物联网设备流量包括具有特定于设备制造商的 OUI 的 MAC 地址。
TCP/IP 参数: TCP 和 IP 协议在各自的数据包标头格式中具有多个字段。不同的操作系统以不同的方式实现 TCP/IP 属性,并且 TCP/IP 字段可能具有唯一的值,例如初始生存时间 (TTL)、Windows 大小、TCP 标志等。管理员可以分析和比较这些字段,并根据操作系统特定的 TCP/IP 实现来识别底层操作系统。
HTTP 用户代理字符串:当网络设备(客户端)使用 HTTP 协议通过网络与服务器通信时,HTTP 标头包含 HTTP 用户代理字段。该字段可以提供诸如客户端软件的名称和版本、操作系统以及其他相关信息等信息。管理员可以检查此字段以及 HTTP 标头中的其他字段以进行设备检测。
DHCP 请求: DHCP 是一种用于自动分配 IP 地址的网络协议。DHCP 请求可以包含提供有关客户端的附加信息的某些字段,例如主机名、供应商类别标识符或操作系统类型。由于定制和修改,DHCP 请求可能无法确定底层操作系统,但它们仍然可能有助于获取有关设备身份的更精细信息。
尽管存在局限性,但分析跨网络层的多个协议的行为和属性可以帮助准确识别设备。管理员可以使用操作系统指纹来做出有关访问控制和安全策略的明智决策。
跨企业网络的操作系统指纹识别
鉴于物联网网络的快速扩展及其引入的漏洞,操作系统指纹识别有助于被动设备识别。然而,手动操作系统指纹识别是一项艰巨的任务,需要广泛的领域知识和专业知识。
主要挑战是可扩展性。在企业网络的数千个流量中手动映射唯一标识符是不可能的。为了克服这一挑战,组织可以利用基于云的融合网络和安全堆栈的资源和规模。云原生安全堆栈,例如SASE(安全访问服务边缘)或SSE(安全服务边缘),可以访问所需的资源,并启用机器学习算法和统计分析,以从大量网络流量数据中提取模式和行为。
融合网络和安全功能可以自动收集和关联来自多个来源的网络和安全数据,例如入侵检测系统、防火墙日志和端点安全解决方案,以提供网络活动及其与操作系统和物联网设备的关系的概述。
融合有助于根据客户的独特特征自动识别和分类客户。最后,集中管理控制台可以帮助简化识别和分析过程,并允许立即采取有关访问控制和安全策略的行动。
相关文章:
被动操作系统指纹识别的强大功能可实现准确的物联网设备识别
到 2030 年,企业网络和互联网上的物联网设备数量预计将达到290 亿。这种指数级增长无意中增加了攻击面。 每个互连设备都可能为网络攻击和安全漏洞创造新的途径。Mirai 僵尸网络通过使用数千个易受攻击的 IoT 设备对关键互联网基础设施和热门网站发起大规模 DDoS 攻…...
QT/C++获取电脑系统,主板型号,CPU型号,硬盘型号,内存大小等相关信息(二)通过Windows Server (WMI)查询
Qt/C调用windows Api库通过wmi的方式查询电脑能获取更多详细信息,也更加合理有技术性。 建议使用MSCV编译器,如MSCV 2017 ,Qt版本 : 5.13.1 目录导读 关于 WMI示例:创建 WMI 应用程序示例:打印Wmi执行的查询项的所有属性头文件引用…...
自建音乐服务器Navidrome之一
这里写自定义目录标题 1.1 官方网站 2. Navidrome 简介2.1 简介2.2 特性 3. 准备工作4. 视频教程5. 界面演示5.1 初始化页5.2 专辑页 前言 之前给大家介绍过 Koel 音频流服务,就是为了解决大家的这个问题:下载下来的音乐,只能在本机欣赏&…...
ACL 访问控制 过滤数据 维护网络安全(第七课)
一 ACL 简介 ACL是Access Control List(访问控制列表)的缩写,是一种用于控制文件、目录、网络设备等资源访问权限的方法。ACL可以对每个用户或用户组设置不同的访问权,即在访问控制清单中为每个用户或用户组指定允许或禁止访问该资源的权限。它通常由一系列规则组成,规则…...
3D视觉测量:面对面的对称度 点对(附源码)
文章目录 0. 测试效果1. 基本内容2. 3D视觉测量对称度测量思路3. 代码实现4. 参考文章目录:3D视觉测量目录微信:dhlddxB站: Non-Stop_目标:通过3D视觉方法计算面对面的对称度0. 测试效果 数据说明:此测试点云是通过UG建模,Meshlab降采样得到,数据比较理想,仅作为测试使用…...
无涯教程-JavaScript - RANK函数
RANK函数取代了Excel 2010中的RANK.EQ函数。 描述 该函数返回数字列表中数字的等级。数字的等级是其相对于列表中其他值的大小。 如果对列表进行排序,则数字的排名将是其位置。 语法 RANK (number,ref,[order])争论 Argument描述Required/OptionalNumberThe number whose…...
蓝牙发展现状
目录 一、产品分类1、Bluetooth经典2、Bluetooth低能耗(LE)3、二者差异 二、出货量三、未来需要加强的方向四、技术行业细分五、学习资料1、蓝牙官网2、大神博客——于忠军 一、产品分类 1、Bluetooth经典 Bluetooth Classic无线电,也被称为Bluetooth 基本速率/增强…...
排序算法问题
给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 代码如下: 1.插入排序(简…...
PlotlyJs 指定画布的宽度并页面居中
可以通过CSS样式来实现指定画布的宽度并使其在页面居中。具体方法如下: 在HTML文件中定义一个div,用来包含PlotlyJs画布。如下所示: <div id"plotly-div"></div>在CSS样式中指定该div的宽度和居中方式。如下所示&…...
java基础-----第八篇
系列文章目录 文章目录 系列文章目录一、Java类加载器二、双亲委托模型 一、Java类加载器 JDK自带有三个类加载器:bootstrap ClassLoader、ExtClassLoader、AppClassLoader。 BootStrapClassLoader是ExtClassLoader的父类加载器,默认负责加载%JAVA_HOME…...
【Java 基础篇】StringBuilder的魔力:Java字符串处理探究
在Java编程中,字符串是一个常见的数据类型,用于存储文本信息。然而,与字符串相关的操作可能会导致性能问题,因为字符串是不可变的,每次对字符串进行操作都会创建一个新的字符串对象。为了解决这个问题,Java…...
Shell 编程技巧:批量转换Markdown文件
由于一些原因,需要将以前编写的所有markdown文件转成docx文件,以便做一个备份,特别是原文档中引用的图片需要嵌入docx文件,作本地化保存。先上脚本吧: sudo yum -y install pandoc # set new line char as IFS IFS$\…...
EasyAVFilter的初衷:把ffmpeg.c当做SDK来用,而不是当做EXE来用
之前我们做一个视频点播的功能,大概的流程就是将上传上来的各种格式的视频,用FFmpeg统一进行一次转码,如果probe到视频的编码格式是H.264就调用-vcodec copy,如果probe到视频的编码格式不是H.264就调用-vcodec libx264,…...
内存管理之:内存空间分布和栈攻击(黑客常用攻击手段)
目录 C语言内存管理及栈攻击 内存管理 Linux虚拟内存空间分布(重要) 栈溢出(栈攻击) 堆栈的特点 栈攻击 栈攻击的实现 原理 编译器选项 实现案例 linux修改栈空间大小方式 内存泄漏 如何避免野指针? 如何…...
一米facebook功能点
用户信息批量修改 可批量修改已登录用户的头像、密码、个人说明等信息。 小号批量刷赞、评论 可以批量用facebook小号给帖子、主页等刷赞或评论。 直播帖刷人气/评论/分享 可以直接刷直播帖子的人气、评论,并可一键分享到小组或个人时间线、公共主页等。 小组成员…...
uni-app:监听数据变化(watch监听、@input事件)
方法一:文本框监听,使用input事件 <template><view><input type"text" v-model"wip_entity_name" input"handleInputChange" /></view> </template><script> export default {data() {return {…...
提升C语言的方法?
我个人的习惯,学一门新的编程语言一定是需要目的的。 也就是学这个语言是干什么? 单纯的上学学习C语言一般都是工科的专业作为专业课而开设的学科,这种很多都是使用谭浩强的教材,很多同学也基本没听,所以学习效果也是…...
WPF_布局基础
布局容器 Grid 定义由列和行组成的灵活的网格区域。 行 <Grid.RowDefinitions><RowDefinition/><RowDefinition/></Grid.RowDefinitions> 列 <Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDe…...
【SA8295P 源码分析】87 - SA8295P HQNX + Android 编译环境搭建指导
【SA8295P 源码分析】87 - SA8295P HQNX + Android 编译环境搭建指导 一、Android 编译环境搭建:Android + sa8295p-hqx-4-2-4-0_hlos_dev_la.tar.gz1.1 更新 Ubuntu 18.04 源路径1.2 安装基础编译环境1.3 设置JDK8 的环境变量1.4 配置sh为bash(默认为dash)1.5 Android 编译…...
java基础-----第九篇
系列文章目录 文章目录 系列文章目录前言一、GC如何判断对象可以被回收前言 一、GC如何判断对象可以被回收 引用计数法:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计 数为0时可以回收, 可达性分析法:从 GC Roots 开始向下搜索,搜索所走过的…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签 先输入一些标签测试,说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时(如通过点击或键盘导航&…...
高抗扰度汽车光耦合器的特性
晶台光电推出的125℃光耦合器系列产品(包括KL357NU、KL3H7U和KL817U),专为高温环境下的汽车应用设计,具备以下核心优势和技术特点: 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计,确保在…...
