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

到 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 开始向下搜索,搜索所走过的…...
OpenClaw安全加固:Qwen3.5-4B-Claude操作权限精细化控制
OpenClaw安全加固:Qwen3.5-4B-Claude操作权限精细化控制 1. 为什么需要权限控制? 上周我在调试OpenClaw自动化脚本时,差点酿成一场"灾难"——AI助手误将我的工作文档识别为临时文件,准备执行删除操作。幸亏当时设置了…...
300FPS的实时目标跟踪是怎么炼成的?手把手拆解KCF算法里的数学魔法
300FPS实时目标跟踪背后的数学魔法:KCF算法深度解密 在计算机视觉领域,实时目标跟踪一直是个令人着迷又充满挑战的问题。想象一下,当你在观看一场足球比赛时,摄像机需要实时锁定某个球员;或者当自动驾驶汽车行驶时&am…...
cv_unet_image-colorization稳定性验证:连续72小时高负载运行无内存泄漏
cv_unet_image-colorization稳定性验证:连续72小时高负载运行无内存泄漏 1. 项目简介与测试背景 在AI工具的实际应用中,稳定性与可靠性往往比惊艳的演示效果更为重要。一个工具能否在长时间、高负载的场景下稳定运行,直接决定了它能否从“玩…...
Agentic Workflow与Workflow的协同之道——RAGFlow 0.20.0企业级实践解析
1. Agentic Workflow与Workflow的协同价值 企业级AI应用开发正面临一个关键矛盾:业务逻辑的确定性需求与LLM带来的灵活性优势如何平衡?RAGFlow 0.20.0给出的答案是让Workflow和Agentic Workflow在统一编排引擎中协同工作。这就像建筑行业中的预制构件与现…...
实战指南:用快马平台生成团队统一的homebrew环境配置脚本,保障协作无忧
最近在团队协作中遇到了一个头疼的问题:新成员加入时,光是搭建开发环境就要折腾一整天。不同成员的电脑上软件版本参差不齐,导致"在我机器上能跑"的经典问题频繁出现。经过一番摸索,我发现用homebrew配合bash脚本可以完…...
MediaPipe实战:5分钟搞定人体姿态检测与3D坐标实时输出(附完整代码)
MediaPipe实战:5分钟搭建高精度人体姿态检测系统 当你第一次看到电影里的动作捕捉技术时,是否好奇过那些流畅的虚拟角色动画是如何实现的?如今,借助MediaPipe这个强大的开源框架,普通开发者也能在个人电脑上构建专业级…...
告别fdisk!用parted命令轻松管理4TB以上大硬盘(附实战案例)
告别fdisk!用parted命令轻松管理4TB以上大硬盘(附实战案例) 当你的NAS存储阵列需要扩容到8TB,或是数据库服务器要配置12TB的RAID组时,传统的fdisk工具会在第一个指令就给你泼冷水——它根本不认识超过2TB的磁盘空间。这…...
Java程序员,如何从零开始学习AI?
文章为Java程序员提供了零学习大模型并实现涨薪的六阶段路线:掌握AI基础概念、用Java调用大模型API、基于Spring AI实现轻量级AI业务场景、在真实项目中落地、学习智能体进阶技能、将AI知识融入简历。强调应聘AI应用开发工程师而非大模型工程师,适合文本…...
LVGL显存、FreeRTOS堆栈、全局变量:在128KB RAM的STM32F407上如何做内存预算与平衡?
LVGL显存、FreeRTOS堆栈与全局变量的内存博弈:STM32F407的128KB RAM精算指南 当一块STM32F407芯片的128KB RAM需要同时供养LVGL的华丽界面、FreeRTOS的多任务调度以及应用层的全局变量时,开发者面临的挑战不亚于一位财务总监在有限预算下平衡多个部门的开…...
OpenClaw多模态实践:Qwen3-VL:30B图片识别与飞书集成
OpenClaw多模态实践:Qwen3-VL:30B图片识别与飞书集成 1. 为什么需要多模态办公助手 上周三凌晨两点,我还在手动整理飞书群里堆积的237张会议纪要截图。这些图片里有手写白板、Excel数据透视表、产品原型草图,还有十几页的PDF转图片。当我意…...
