最近,我解决了 UniFi 网络下,客户端设备无法学习到 IPv6 网关地址的问题。在这篇文章中,我将记录问题的定位与解决过程。
通过自定义 Prompts,让 Readwise Reader 为文章优化标题、添加中文摘要
本文介绍了如何使用 Readwise Reader 的自定义 prompts 功能,为 RSS Feed 生成优化后的中文标题和摘要,方便读者快速浏览并过滤值得阅读的文章。
通过 Waydroid 自动备份 NAS 照片到 Google Photos
最近几天,我尝试了使用虚拟机 + Waydroid 的方式,在 NAS 上运行 Android 版 Google Photos。同时通过 NAS 提供的一系列软件,自动汇总手机、存储卡中的照片,并备份到 Google Photos。在本文中,我将记录完整的操作过程。
AirTerminal 2.2:Telnet 服务器、自动重连
AirTerminal 是一个用于 iPhone、iPad 和 Apple Silicon Mac 的蓝牙终端 App,同时支持 XMODEM 文件传输、日志记录等功能,可在 App Store 下载。
AirTerminal 2.2 增加了两个新功能,包括 Telnet 服务器,蓝牙自动重连。
AirTerminal 2.1:自定义字体、颜色主题、退格键映射
AirTerminal 是一个用于 iPhone、iPad 和 Apple Silicon Mac 的蓝牙终端 App,同时支持 XMODEM 文件传输、日志记录等功能,可在 App Store 下载。
AirTerminal 2.1 根据用户的反馈,增加了几个新功能,包括自定义字体、颜色主题、退格键映射等。
将 Logseq 的昨日待办事项自动转移到今天
虽然 Logseq 提供了强大的 Query 功能,能够汇总显示所有页面的待办事项,或者通过双链把待办事项链接到今日日志页面。但是,我更习惯用一种比较繁琐的方式整理待办事项:第二天早上,手动将前一天未完成的待办事项转移到当天的日志页面,前一天的日志中只保留笔记和已完成任务。
这种方式源自我之前用文本文件管理待办事项的习惯,它让我做到了每天回顾前一天完成的事情,并重新规划当天任务。当我使用 Logseq 后,也开始在 Logseq 中继续使用这种方式。不过,对于每天早上重复的复制粘贴操作,我还是感觉有点麻烦……
所以,我我想用一种「半自动化」的方式,让这个过程更加顺畅:也就是通过脚本,自动将前一天未完成的待办事项转移到今天。
一次使用 ChatGPT 帮助我学习 L4S 的尝试
在观看 WWDC 视频时,我发现 iOS 17 即将支持 L4S。由于我对 L4S 感兴趣,所以想要阅读更多与 L4S 相关的文章,更深入地了解 L4S。
正好在前段时间,我在 Twitter 上看到了 AI Agents 这款 ChatGPT 插件。这款插件相当于把 AutoGPT 的功能整合进了网页版的 ChatGPT,可以讲一个复杂的指令拆分成单步操作。配合其他 ChatGPT 插件,即可实现搜自动搜索网页、查找文献,并将查找到的内容汇总在一起。
所以,我也打算尝试使用 AI Agents、Web Requests、WebPilot 三个插件,让 ChatGPT 整理一本关于 L4S 的电子书,帮助我更快速地了解 L4S。
AirTerminal 2.0:支持连接多个蓝牙设备
AirTerminal 是一个用于 iPhone、iPad 的蓝牙终端和 XMODEM 文件传输工具,可在 App Store 中下载。具体功能请参考这篇文章:
AirTerminal 2.0 是一个大版本更新,在这个版本中,我们为 AirTerminal 增加了连接多个蓝牙设备的功能。你可以通过打开多个标签页的形式,连接多个蓝牙设备,也可以通过分屏显示,在同一屏幕上显示两个终端。
多标签
AirTerminal 2.0 的界面右上角新增了一个「新建标签页」按钮,点击这个按钮,即可创建一个新的标签,并在新的标签页中连接更多蓝牙设备。
分屏显示
通过分屏功能,可以在一个屏幕上显示两个终端。只需要长按标签栏中的标签,然后拖动到屏幕右侧,即可打开此功能。
目前分屏显示是在应用内实现的,暂不支持 iPadOS 原生的多任务、多窗口功能。相关功能计划在后续版本提供。
AirTerminal 1.4 更新:自定义换行符,隐藏没有名称的设备
AirTerminal 是一个蓝牙终端和 XMODEM 文件传输工具。具体功能可参考我过去的文章。
在 AirTerminal 1.4 版本中,我为 AirTerminal 增加了两个功能:
- 自定义换行符
- 隐藏没有名称的设备
支持自定义换行符,包含 CR、CRLF 和 LF
大部分终端的实现,会将 CR('\r'
)做为换行符。但是,有些终端会将 CRLF('\r\n'
)作为换行符。旧版的 AirTerminal 只支持将 CR 做为换行符,当使用旧版的 AirTerminal 连接这些设备时,可能会出现敲回车键,设备没有反应的现象。
AirTerminal 1.4 中增加了设置换行符的选项。如果发现回车键不工作的情况,可以尝试调整不同的换行模式,直到回车键能够正常工作。
隐藏没有名称的蓝牙设备
旧版 AirTerminal 在搜索和添加设备时,默认显示所有设备,对于没有名称的蓝牙设备,设备名会显示为 UNKNOWN
。这导致了在设备较多的情况下,设备列表中存在大量没有名称的设备,很难找到实际需要连接的设备。
AirTerminal 1.4 默认隐藏了没有名称的设备,如果需要搜索和连接这些设备,可以打开“Display hidden devices”开关。
目前 AirTerminal 1.4 已在 App Store 发布,欢迎更新体验。
AirTerminal 1.3 更新:日志记录、改用 SwiftTerm
AirTerminal 是一个蓝牙终端和 XMODEM 文件传输工具。具体功能可参考我过去的文章。
在这个春节,我为 AirTerminal 增加了日志记录功能,同时改用 SwiftTerm 实现终端模拟器。新版本可在 App Store 中下载。
我的 2021
2021 年,在工作之外的业余时间,我学习了做饭、折腾了软件和数码产品,也阅读了几本书……
这些零碎的事情可能不太适合分别用独立的文章进行记录。所以,我将它们汇总在这一篇文章中,与大家分享。
如何增强智能家居设备的安全性
智能家居设备,现在已经不是什么「新鲜事物」。在市场上,我们能够看到各种各样的智能家居设备,例如扫地机器人、空气净化器、监控摄像头、智能插座、智能音箱……
当家中的联网设备越来越多,你是否会想过,这些设备可能会给家庭网络带来安全风险?
智能家居设备会带来哪些安全性问题?
那么,为什么智能家居设备会给家庭网络带来安全风险?这些设备会带来哪些安全方面的问题?
首先,设备接入家庭网络后,就有能力做到扫描网络中的所有设备,收集家中手机、电脑、路由器等的品牌、型号,以及家庭的地理位置1,用于数据分析,或者精准推送广告:
另外,在软件开发过程中,开发者可能会因为编码疏忽、方便调试等原因,或者引用的第三方 SDK 有问题,有意或者无意地为设备引入后门或漏洞。尤其是软件开发流程不规范的小团队,更有可能给设备带来漏洞。
其中一部分漏洞会使设备绕过 NAT 或防火墙的保护,直接暴露在公网。例如某品牌手机的「快应用」实现,就通过 UPnP,将 55555 端口映射到公网,导致手机能被 Internet 上的所有设备访问:
设备上的漏洞还可能会被黑客利用,用来做为跳板,扫描、攻击内网设备,或者用于对外发起 DDoS 攻击:
还有黑客会利用设备上的漏洞,进行「挖矿」等活动,或者将设备作为 PCDN 节点,占用设备的 CPU、存储、带宽等资源,降低设备寿命:
对于监控摄像头(包括带摄像头的电视机)、智能音箱等设备,如果存在漏洞,理论上黑客能够利用漏洞,「偷看」或者「偷听」家中的画面和声音,严重威胁我们的个人隐私:
对于带有存储功能的智能设备,例如摄像头、NVR、NAS,漏洞还可能导致数据泄漏或丢失:
- SynoLocker: 针对 Synology NAS 的勒索病毒
- Qlocker: 针对 QNAP NAS 的勒索病毒
- 西数:黑客利用远程漏洞抹除My Book用户数据 正研究潜在恢复方案 – 安全 – cnBeta.COM
另外,对于带有云服务的智能硬件,云服务也有可能存在漏洞,或者运维的过程中出现失误,导致隐私泄漏:
如下两篇综述,对智能家居设备、物联网操作系统的安全性问题进行了全面的整理:
如何提高智能家居设备的安全性?
使用重视安全的厂商的智能家居设备
在我们选用智能硬件时,尽量选用大公司、或者重视安全的公司的产品。
大公司的产品,用户量相对较大,更容易受到安全研究人员的关注。这使得安全漏洞更容易被暴露出来,并得到修复。
下图是 Apple Product Security 邮件列表中的一封邮件,可以看出,在软件更新中,Apple 解决了一系列第三方研究机构上报的安全问题:
相对来说,大公司的软件开发流程也会更加规范,会有完整的开发、代码审查、测试等步骤,对于安全问题的响应也会更及时2。
接下来是一些小技巧,通过这些技巧,读者可以粗略判断出一家公司是否重视安全:
首先,可以观察一下厂商官网上,是否有漏洞反馈页面,或者安全奖励计划页面。虽然有这些页面并不完全代表厂商重视安全,但还是能一定程度上看出厂商对安全问题的态度:
此外,还可以查找厂商是否提供安全白皮书,并阅读白皮书中的内容。重视安全的公司,一般会将自己的产品如何保护用户的安全与隐私,详细在白皮书中描述:
还可以阅读厂商的软件更新日志,观察安全漏洞修复的及时程度。另外,部分厂商还专门提供有安全漏洞更新的邮件列表,或者安全预警邮件,及时通知用户如何解决安全漏洞:
正确设置路由器,避免设备暴露在公网
家用路由器中一般运行有 NAT,能够避免内网设备被外网访问。这样,攻击者很难从外网直接访问家中的智能家居设备,大大减小了漏洞被利用的可能性。
但是,如果路由器设置有误,例如将智能家居设备设置为 DMZ 主机,或者错误设置了端口转发规则,仍会有可能让设备暴露在公网。
建议定期检查路由器中 DMZ、端口转发等设置,并删除错误配置。
设置防火墙,阻止设备访问 Internet
如果路由器设置正确,不将设备暴露在公网,智能家居设备就难以被外界攻击,安全性大大得到提升。
但是,智能家居设备仍然可以访问 Internet,连接设备厂商的服务器。阻止智能家居设备访问 Internet,能避免厂商通过智能家居设备收集家庭网络中的隐私数据,也能避免厂商服务器被攻击时,家中的智能家居设备被黑客控制。
路由器中的「防火墙」或「家长控制」功能,可用于阻止内网设备访问 Internet:
当然,阻止设备访问 Internet,也会带来一些不便之处,例如不能使用厂商的 App 进行远程控制、无法实现高级自动化功能等。针对这些问题,可考虑控制设备的在线时间:例如对于摄像头,可通过脚本,实现有人在家时禁止联网,只有家中无人时,才允许摄像头联网,从而一定程度上取得安全与便利的平衡。
也可以考虑使用 HomeKit、Home Assistant 等工具,实现远程访问家庭设备,具体请参考下文中的介绍。
使用 HomeKit
HomeKit 是来自 Apple 的智能家居平台。与 Google Home、米家等其他厂商的智能家居平台不同,HomeKit 的实现方式比较「另类」,所以在此处单独进行介绍。
大部分智能家居厂商都提供了「云服务」。智能家居设备和手机 App 连接到厂商服务器,实现了出门在外时,也能通过手机 App 控制智能家居设备。
但这样的云服务大多没有实现「端到端加密」。也就是说,手机和智能家居设备之间传输的数据,在服务器上是以明文形式存在的。如果设备厂商的内部管理不严格,运维人员就能看到这些数据。
而 HomeKit 实现了端到端加密,手机 App 和 HomeKit 家庭中枢之间通信的数据全程保持加密,在服务器上也不会解密 ,安全性更高。
此外,HomeKit 有如下两个功能,能够提升智能家居的安全性:
其中一个是 HomeKit Secure Video。
当用户购买 iCloud+ 后,HomeKit Secure Video 能将能 10 天内的摄像头录像存储在 iCloud,不额外占用 iCloud 存储空间。摄像头录像在 iCloud 中同样受到端到端加密的保护3。
- HomeKit 摄像头安全性 – Apple 支持
- koush/scrypted:使普通摄像头支持 HomeKit Secure Video
另一个是 受 HomeKit 保护的路由器。
HomeKit 通过一种相对安全的方式,实现了外网访问家中的智能家居设备。所以,使用 HomeKit 之后,就可以按照上文中的介绍,阻止智能家居设备访问 Internet,进一步提升安全性,而不会牺牲太多便利性了。
如果有支持 HomeKit 的无线路由器,这一步的操作会更加便捷。HomeKit 能自动设置路由器,阻止智能家居设备访问 Internet,无需用户手动修改复杂的防火墙规则。同时,HomeKit 路由器还支持 PPSK 认证,避免泄漏主 Wi-Fi 密码。
目前,支持 HomeKit 的智能家居设备数量较少,且价格偏贵。可考虑使用 HomeBridge,让更多第三方设备接入 HomeKit:
- Homebridge
- 如何让米家设备轻松接入 HomeKit?
- HomeBridge 操作指南:从零开始,将你的米家设备接入 Homekit
- 教你把索尼电视接入 HomeKit 平台
- 借助树莓派与 HomeBridge ,将 YeeLight 彩光灯接入 Apple HomeKit | Matrix 精选
当然,HomeKit 并不能保证绝对的安全。不少智能家居设备,除了支持 HomeKit,也提供了自己的 App。通常情况下,设备厂商自己的 App 会提供比 HomeKit 更加丰富的功能,但不一定能提供与 HomeKit 相同等级的安全性。
另外,HomeKit 是闭源软件,HomeKit 基础设施也由 Apple 控制,而不是由用户控制。理论上 Apple 可以私下改变 HomeKit 的实现方式,而不提前通知用户。至于是否应该信任 Apple,就需要读者自行判断了。
- HomeKit 数据安全性 – Apple 支持
- 从 Apple 儿童安全功能的原理出发,聊聊它为什么引发热议 – 少数派
- Reddit用户发现CSAM检测中使用的苹果NeuralHash算法隐藏在iOS 14.3中 – cnBeta.COM(虽然 Apple 表示在 iOS 15 中启用 CASM检测功能,但是 iOS 14.3 也被发现存在 CASM 检测代码)
自行搭建 Home Assistant
对于不使用 Apple 设备、或者不信任 Apple 的用户,还有另外一种选择:Home Assistant。
Home Assistant 是一个开源的智能家居平台,可以搭建在 NAS、Raspberry Pi 或者高性能的无线路由器4上。通过 HomeBridge,可以实现对智能家居设备的集中控制,以及智能家居设备的跨厂商、跨平台自动化。
将所有智能家居设备接入 Home Assistant 之后,只需要通过安全的方式让 Home Assistant 可被外界访问5,就可以阻止智能家居设备访问 Internet,统一使用 Home Assistant 控制智能家居设备了。
选购支持 ONVIF 等开放协议的摄像头,并将监控录像存储在本地
对于监控摄像头,也有不少厂商提供了云服务,可以将监控录像存储在云端,方便视频回放和远程访问。
但是,如果厂商的云服务没有采取正确的加密措施,或者存在安全漏洞,可能就会导致监控录像泄漏。如果担心这样的问题,最好的办法,就是将视频存放在本地。
很多 NAS 都拥有强大的摄像头监控录制软件,例如 Synology 和 QNAP 的 Surveillance Station。可以通过这些工具,将摄像头录像保存在 NAS 上:
如果想要将视频监控数据和 NAS 上的重要数据分离,还可以考虑使用 NVR 设备:
对于 NAS 和 NVR,一般使用 ONVIF 协议来连接摄像头。做为一个通用的协议,绝大多数厂商都生产支持 ONVIF 的摄像头,但互联网品牌的家用摄像头(例如小米、Nest 等品牌),也有很多不支持该协议。在选购时需要注意。
如下两个摄像头均支持 ONVIF,且价格不贵,适合搭配 Surveillance Station 或 Home Assistant 使用:
- 169元带云台摄像头实现群晖Surveillance Station高清录像+IPC控制 – KoolShare
- 群晖接入水星(MERCURY)MIPC251C-4网络摄像机-左搜
- 伪开箱 – 水星 mipc251c-4 摄像头 + HomeAssistant 迎宾系统搭建_摄像头_什么值得买
使用单独的 VLAN 和 SSID,将智能家居设备与其他设备隔离
家庭网络中的设备,一般位于同一个局域网,设备之间可以相互访问。设备间的相互访问,可能也会带来安全和隐私问题。
例如前文中提到的,智能家居设备可能会扫描家庭中的所有设备,泄漏设备型号、地理位置等信息。
再例如,即使在路由器上阻止了家中的摄像头访问 Internet,但是,如果电脑感染恶意软件,电脑也有可能访问摄像头,获取摄像头录制的视频,并发送到恶意网站,导致隐私泄露。
那么,什么样的措施,能够阻止家庭网络内设备间的相互影响?划分 VLAN,就是其中的一种方法。不同 VLAN 间的设备能够相互隔离,避免直接访问6。关于 VLAN 的基础知识和实际应用,可通过如下两个链接了解:
VLAN 是以太网的概念,通常只用于有线网络。对于 Wi-Fi,可以创建多个 SSID,让不同的VLAN 绑定不同的 SSID,使链接 Wi-Fi 的设备也能做到相互隔离:
- How do I create multiple SSID’s to operate on multiple VLAN’s | Answer | NETGEAR Support
- Isolating my IOT Devices on a VLAN with the Unifi Dream Machine
- Setup IoT VLANs and Firewall Rules with UniFi. ULTIMATE (Smart) Home Network Part Three
- Ultimate Home Network 2021
- Secure IoT Network Configuration
创建多个 VLAN 和 SSID 看似复杂,但实际上,路由器上的「访客模式」功能,就是通过自动划分 VLAN 和 SSID,实现访客网络的家庭网络的隔离的。希望后续家用无线路由器厂商能够进一步优化,提供一键创建 IoT 网络的功能。
mDNS Proxy
划分 VLAN 和 SSID 虽然提升了安全性,但是智能家居和手机等设备处于不同的网络,无法实现 HomeKit、AirPlay、手机 App 控制等功能7。
不过,大部分智能家居设备,使用了 mDNS 和 DNS-SD 协议。这使得我们有办法实现跨 VLAN 控制智能家居设备。
mDNS/DNS-SD 协议用于局域网内的服务发现。该协议最早由 Apple 发扬光大:Apple 通过 Bonjour 软件实现了这两个协议,并在 AirPlay、AirPrint、iTunes 家庭共享、AirPort 路由器等产品和服务中得到了广泛应用。
- RFC 6762 – Multicast DNS
- RFC 6763 – DNS-Based Service Discovery
- Apple中国 – Mac OS X – Bonjour
- Bonjour – Apple Developer
在智能家居时代,无论是 Apple 的 HomeKit,还是小米米家,都选择使用 mDNS 来查找和发现局域网内的智能家居设备。
mDNS 在大部分情况下,仅限在一个局域网内使用。但一部分路由器支持 mDNS Proxy8,能够从一个网络内学习 mDNS 信息,并发布到另一个网络,从而实现跨网络的设备发现。对于不支持 mDNS Proxy 的路由器,也可以使用第三方软件实现:
- UniFi – Best Practices for Managing AirPlay/Chromecast on UniFi Network – Ubiquiti Support and Help Center
- 开源一个自用的 mDNS 反射软件: 解决局域网跨 VLAN 服务发现难题,让你的 IoT 设备可以跨 VLAN 使用 – V2EX
- 配置Bonjour网关示例(AP与AC间二层转发) – WLAN V200R010C00 典型配置案例集 – 华为
使用安全的隧道访问内网设备
如果将内网设备直接暴露在公网,很有可能带来安全问题。
当然,我们可以选择使用 Home Assistant,将 Home Assistant 暴露在公网,并添加 HTTPS 等安全措施。但是,这样做也会有几个缺点:
- 设置麻烦
- 部分设备不支持 Home Assistant
- Home Assistant 拥有 Web 界面,但国内家庭宽带不允许搭建 Web 服务
所以,可以考虑通过建立安全的隧道,让外部设备与家庭设备形成一个虚拟的局域网,实现在外部访问内网设备。这种方式在本文中不再详细介绍,感兴趣的读者可以自行上网搜索。
DIY 智能家居设备
⚠️ 注意:本方法只适合有经验的读者。如果操作不当,可能会带来危险,包括但不限于导致身体受伤、中毒、触电,或引发火灾。
对于具有嵌入式开发能力的读者,还可以选择 DIY 智能家居。自己制作的智能家居设备,软硬件相对可控,而且与成品设备相比,能够自由组合不同的传感器和各种器件,实现成品设备无法实现的功能。
一般来说,DIY 智能家居具有较高的门槛。但是,随着开源软件和开源硬件的流行,Arduino 生态的逐渐完善,以及像 ESP8266/ESP32 这样的廉价易用的 SoC 的出现,用户可以用类似「搭积木」的方式,方便地制作出自己的智能家居设备。在少数派上,也有作者分享过基于 ESP8266 的优秀项目:
ESPHome 项目可以让用户使用 ESP8266/ESP32,连接各种传感器和电子模块,制作自己的智能家居设备,并接入 Home Assistant。ESPHome 提供的软件框架,可通过配置文件方便地添加功能,无需编程:
虽然可以使用开源软硬件来制作自己的智能家居设备,但是在制作时,还是要尽量自己对代码进行阅读和审计,确认代码是否安全。
如何发现智能家居设备正在偷偷「做坏事」?
对于已有的智能家居设备,是否有办法看到设备正在做什么?有没有在「做坏事」?在下文中,笔者将介绍几种方法。
检查路由器上的 UPnP 端口映射信息
部分智能家居设备,会通过 UPnP/NAT-PMP,将端口映射到公网。这样做能方便外网访问,但也会带来安全风险。
建议定期检查路由器中的 UPnP 表项,观察是否有设备偷偷开放了不必要的端口。
另外,还有一部分路由器,能够统计出通过 UPnP 端口映射转发了多少流量。如果流量过大,则有可能是设备受到了攻击,或者被厂商偷偷用做 PCDN 节点。
使用 Pi-hole、AdGuard Home 等广告过滤工具
想要具体知道设备访问了哪些域名,可以使用 Pi-hole、AdGuard Home 等广告过滤工具。
- Pi-hole – Network-wide protection
- AdGuard Home| 适用于任何操作系统(Windows,macOS,Linux)的网络软件
- AdGuard Home 安装及使用指北
- AdGuard Home:用 DNS 巧去广告,所有设备都能用
- 基于树莓派的全能广告屏蔽助手 —— Pi-hole
这些工具做为 DNS 服务器运行,能够记录和统计家庭网络中所有设备的 DNS 请求,同时屏蔽广告域名和恶意域名。
不过,一部分设备可能会使用固定的 DNS 服务器地址,或者使用 DNS-over-TLS、DNS-over-HTTPS 等新型的加密 DNS 协议,无法由用户指定 DNS 服务器。对于这样的设备,Pi-hole 等工具就无能为力了。
DPI
DPI 全称为「深度包检测」,能够深入分析经过网络设备的所有数据,以便于对智能家居设备的行为进行分析。
与 Pi-hole 等基于 DNS 的工具相比,DPI 能监控智能家居设备所产生的所有网络流量,实现更全面的分析。
一部分路由器自带了 DPI 功能,例如 Ubiquiti EdgeRouter。对于使用开源操作系统(例如 OpenWrt 或 pfSense)的路由器,可通过安装 ntopng 来实现 DPI 功能:
IDS/IPS
IDS 全称为「入侵检测系统」,IPS 全称为「入侵防御系统」。这两者在 DPI 的基础上,增加了安全策略,从而可以实现对恶意行为的检测和拦截。常见的 IDS/IPS 包括 SNORT 和 Suricata:
在这篇文章中,我们可以看出,通过 SNORT 规则,可以检测网络中是否有利用摄像头漏洞进行攻击的活动:
IDS/IPS 需要网络设备有较高的性能,在家用路由器里,华硕等品牌的部分型号支持 IPS/IDS。对于拥有高性能软路由的读者,可自行安装 SNORT 或 Suricata,其中,pfSense 和 OPNSense 操作系统对 SNORT/Suricata 的支持比较完善。
蜜罐
蜜罐(英语:honeypot)是一个电脑术语,专指用来侦测或抵御未经授权操作或者是黑客攻击的陷阱,因原理类似诱捕昆虫的蜜罐因而得名。 — Wikipedia
之前某品牌电视自动扫描内网、尝试通过 SSH 登录内网设备,通过蜜罐,就可以方便的「抓出」这些行为
前文中提到的,某些品牌的电视自动扫描内网、尝试通过 SSH 登录内网设备的行为,通过蜜罐,就能非常容易地被发现。
部分路由器自带蜜罐功能,例如笔者正在使用的 UniFi Dream Machine,就带有一个简单的蜜罐。从截图中可以看到,有内网设备访问了蜜罐上的 21、23、80 端口,可以根据这些信息,确认内网设备是否有恶意行为。
也可以自行在路由器、Raspberry Pi 等设备上安装蜜罐。开源的蜜罐有很多种,可以参考如下链接了解:
抓包
除了上文中介绍的方法,还有一种适合专业的用户的方法:抓包。
抓包指的是用工具记录下网络中经过的所有报文,以便于后续进行人工分析。常用的抓包工具是 Wireshark,能够通过图形化的界面来捕获和分析报文:
tcpdump 则是一款基于命令行界面的抓包工具。一部分基于 Linux 操作系统的路由器,已经内置了 tcpdump 工具:
抓包的结果,需要进行人工分析,才能知道智能家居设备的行为。所以,这种方式只适合专业用户使用。如下链接的博客节目中,有通过抓包方式观察到光猫异常行为的案例,可供大家参考:
那么,这样做是不是太麻烦了?
上文中介绍了一系列提高智能家居设备安全性的方法。一部分方法操作较为繁琐,甚至会限制智能家居的部分功能……
使用智能家居本来是为了方便。使用了这些方法,是不是过于复杂,得不偿失了?
在《你的必要隐私手册Android 篇:权限管控与存储空间隔离》一文中,作者 pokon548 说到:
隐私与便利是一门平衡的艺术,世上并不存在绝对的隐私。
其实,对于智能家居设备的安全与隐私问题,也是同样的道理。本文列举了提高智能家居安全性的一系列方式,读者可以根据自身情况,选择出最适合自己的方式,来取得安全与便利的平衡。
当然,也不是说采用了本文中的所有措施,就一定能保护好安全和隐私了。最重要的是,做为用户,我们需要逐步提高安全意识。相反,如果安全意识不足,部分采用本文中的方法,可能还会引入新的安全问题:例如使用 Home Assistant 时,如果没有设置强密码、没有及时更新,且 Home Assistant 暴露在公网,可能就会导致家庭网络被入侵。
另外,对于非常敏感的数据,最好还是尽量保持「离线」。例如摄像头尽量不要放在卧室、智能电视在不用的时候彻底断电、不需要智能功能的设备直接断开网络……
> 题图来自 Unsplash,作者是 Dan LeFebvre。本文部分图片素材来自 Flaticon,作者分别是 xnimrodx、Freepik、DinosoftLabs。
> 想要了解更多关于家庭网络的知识?欢迎在 GitHub 上关注 blanboom/awesome-home-networking-cn。
> 本文首发于少数派,原文链接:https://sspai.com/post/69223
-
当然,这里并不是说读者一定要选择大公司的产品。注重安全的、「小而美」的团队也确实存在,但需要读者自行区分和判断。 ↩
-
需要注意的是,在 iCloud 中,并不是所有的数据都受端到端加密的保护。例如 iCloud 中的照片,就没有进行端到端加密:https://support.apple.com/en-us/HT202303 ↩
-
考虑到家庭网络的稳定性,不建议将 Home Assistant 搭建在家庭路由器上 ↩
-
例如使用 HTTPS + 强密码、HTTPS + 双因素认证,或者通过安全的隧道来访问家中的 Home Assistant ↩
-
配置路由后,VLAN 之间也是可以实现互通的。可通过附加防火墙规则,进一步提升跨 VLAN 访问智能家居设备的安全性 ↩
-
默认 VLAN 之间不能互通,需要配置 VLAN 间的路由。但是,即使配置了 VLAN 间的路由,由于 IoT 设备和手机处于不同的网络,手机 App 也难以发现 IoT 设备 ↩
-
也可能会被叫做「mDNS 代理」、「mDNS 反射器」、「mDNS 网关」、「Bonjour 网关」等 ↩