【论文笔记】针对已部署的物联网设备漏洞的大规模研究-NESA实验室-浙江大学

标题: A Large-scale Empirical Study on the Vulnerability of Deployed IoT Devices **作者:**Binbin Zhao, Shouling Ji, Wei-Han Lee, Changting Lin, Haiqin Weng, Jingzheng Wu, Pan Zhou, Liming Fang, Raheem Beyah 关键字: IoT Search Engine, Vulnerable Device Assessment. 来源: IEEE Trans. Dependable and Secure Comput. **链接:**https://ieeexplore.ieee.org/document/9259111/ **引用:**Zhao, Binbin, Shouling Ji, Wei-Han Lee, Changting Lin, Haiqin Weng, Jingzheng Wu, Pan Zhou, Liming Fang, and Raheem Beyah. “A Large-Scale Empirical Study on the Vulnerability of Deployed IoT Devices.” IEEE Transactions on Dependable and Secure Computing, 2020, 1–1. https://doi.org/10.1109/TDSC.2020.3037908. 摘要 物联网 (IoT) 已变得无处不在,极大地影响了人们的日常生活。随着物联网设备的不断发展,相应的安全问题变得越来越具有挑战性。如此严峻的安全形势提出了以下需要紧急关注的问题:IoT 设备当前面临的主要安全威胁是什么?供应商和用户如何处理这些威胁? 本文旨在通过大规模的系统研究来回答这些关键问题。具体来说,我们对 1,362,906 台 IoT 设备的漏洞进行了为期 10 个月的实证研究,这些设备有六种类型。结果显示,Nday漏洞严重危及物联网设备的证据:385,060 (28.25%)设备至少存在一个Nday漏洞。此外,这些易受攻击的装置中,有2 669个可能受到僵尸网络的危害。我们进一步揭示了五个流行的物联网搜索引擎之间的巨大差异:Shodan [1],Censys [2], [3], Zoomeye [4], Fofa [5] 和NTI [6]。为了研究供应商和用户是否采取防御威胁的措施,我们测量 MQTT [7] 服务器的安全性,并确定 12,740 (88%)MQTT 服务器没有密码保护。我们的分析可以作为研究物联网设备安全性以及推进物联网系统更安全环境开发的重要指南。 ...

2020年11月18日 · 2 分钟 · M2kar

【论文笔记】CyGraph:用图数据库发现并可视化网络流量中的安全威胁

标题: CyGraph: Graph-Based Analytics and Visualization for Cybersecurity 作者: S. Noel1, E. Harley, K.H. Tam, M. Limiero and M. Share 关键字: 流量分析, 知识图谱 来源: The MITRE Corporation, McLean, VA, United States 链接: http://www.sciencedirect.com/science/article/pii/S0169716116300426 引用: Noel, S., E. Harley, K. H. Tam, M. Limiero, and M. Share. “CyGraph: Graph-Based Analytics and Visualization for Cybersecurity.” In Handbook of Statistics, edited by Venkat N. Gudivada, Vijay V. Raghavan, Venu Govindaraju, and C. R. Rao, 35:117–67. Cognitive Computing: Theory and Applications. Elsevier, 2016. https://doi.org/10.1016/bs.host.2016.07.001. 摘要 CyGraph,它是一种用于改善网络安全状况,在面对网络攻击时保持态势感知并着重于保护关键任务资产的系统。 CyGraph采用与潜在和实际网络攻击,防御和任务影响相关的基于图的统一网络安全模型。它捕获网络环境中的增量攻击漏洞,安全事件和任务依存关系,建立可能的攻击路径和关键漏洞的预测模型,并将事件与已知漏洞路径相关联。它还包括任务需求和网络资产之间的依赖关系,以便在任务保证的背景下进行分析。知识图谱捕获了网络安全领域中实体之间的复杂关系。 CyGraph将孤立的数据和事件汇总在一起,以提供决策支持和态势感知。在任务关键型资产的情况下,它对暴露在外的漏洞(映射到潜在威胁)进行优先级排序。面对实际的攻击,它将入侵警报与已知的漏洞路径相关联,并提出最佳措施以响应攻击。对于攻击后取证,它显示了可能需要更深入检查的易受攻击的路径。 CyGraph还支持CyQL(CyGraph查询语言),CyQL是一种领域特定的查询语言,用于表达感兴趣的图形模式,并具有交互式可视化查询结果的功能。为了帮助管理视觉复杂性,CyGraph支持将图模型分离为相互依赖的层。对于时间相关的图模型,它提供了动态的图状态动态可视化。 CyGraph还与第三方工具集成,以可视化图形状态变化(例如,由仿真驱动)。此外,它具有合成具有特定统计属性的图形模型的功能。 ...

2020年10月19日 · 1 分钟 · M2kar

【论文笔记】FuzzGen自动化生成模糊测试器

标题: FuzzGen: Automatic Fuzzer Generation 作者: Kyriakos Ispoglou, Daniel Austin, Vishwath Mohan, Mathias Payer, 关键字: 系统安全, Fuzzing, 动态分析 来源: USENIX Security 2020 链接: https://www.usenix.org/conference/usenixsecurity20/presentation/ispoglou 引用: Ispoglou Kyriakos, Austin Daniel, Mohan Vishwath, and Payer Mathias. “FuzzGen: Automatic Fuzzer Generation,” 2271–87, 2020. https://www.usenix.org/conference/usenixsecurity20/presentation/ispoglou. 摘要 模糊测试是一种发现软件中未知漏洞的测试技术。将模糊测试应用于库时,提供随机输入的核心思想保持不变,但是实现良好的代码覆盖率并非易事。库不能作为独立程序运行,而是通过另一个应用程序调用。在库中深层触发代码仍然具有挑战性,因为需要特定的API调用序列来建立必要的状态。到目前为止,图书馆是多种多样的,并且具有独特的界面,这些界面需要独特的模糊器,到目前为止,该分析器是由人类分析师编写的。为了解决这个问题,我们介绍了FuzzGen,这是一种用于在给定环境中自动合成复杂库的模糊器的工具。 FuzzGen利用整个系统分析来推断库的界面,并为该库专门合成模糊器。 FuzzGen不需要人工干预,可以应用于各种库。此外,生成的模糊器利用LibFuzzer来实现更好的代码覆盖率并暴露库深处的错误。在Debian和Android开放源代码项目(AOSP)上对FuzzGen进行了评估,选择了7个库来生成模糊器。到目前为止,我们发现了17个先前未修补的漏洞,其中包含6个分配的CVE。生成的模糊器平均可实现54:94%的代码覆盖率;与手动编写的模糊器相比,改进了6:94%,证明了FuzzGen的有效性和通用性。 介绍 现实问题 待解决的问题 主要思路 FuzzGen背后的主要思路。 为了合成Fuzzer,FuzzGen执行整个系统分析以提取所有有效的API交互。 主要贡献 之前研究的不足 方法设计 FuzzGen工作流。 FuzzGen以CFG(a)开头,并提取相应的A2DG(b)(有关其他模块的图,请参阅(c))。 然后将两个A2DG图合并(d)。 然后,合并的A2DG用于根据功能顺序(e)创建模糊器。 这些图由FuzzGen自动生成。 实现 实验评估 数据集 实验方法 实验效果 讨论 总结 作者介绍 收获 本文优势 可扩展结合的点 论文评价 评分: ⭐⭐⭐⭐⭐ ...

2020年10月19日 · 1 分钟 · M2kar

【论文笔记】HALucinator 虚拟化硬件层模拟启动固件

**标题:**HALucinator: Firmware Re-hosting Through Abstraction Layer Emulation 作者: Abraham A Clements, Eric Gustafson; Tobias Scharnowski; Paul Grosen; David Fritz; Christopher Kruegel and Giovanni Vigna; Saurabh Bagchi; Mathias Payer 来源: USENIX Security 2020 链接: https://www.usenix.org/conference/usenixsecurity20/presentation/clements 引用: Clements, A. A., Gustafson, E., Scharnowski, T., Grosen, P., Fritz, D., Kruegel, C., … Payer, M. (2020). HALucinator: Firmware Re-hosting Through Abstraction Layer Emulation. 29th USENIX Security Symposium (USENIX Security 20), 1201–1218. USENIX Association. Retrieved from https://www.usenix.org/conference/usenixsecurity20/presentation/clements 摘要 鉴于在线嵌入式设备无处不在的情况,分析其固件对于安全性,隐私性和安全性至关重要。硬件和固件之间的紧密耦合以及嵌入式系统中的多样性使得难以对固件执行动态分析。但是,固件开发人员会定期使用诸如硬件抽象层(HAL)之类的抽象来开发代码,以简化其工作。我们利用这些抽象作为重新托管和分析固件的基础。通过提供HAL功能的高级替代品(称为“HLE”),我们使硬件与固件脱钩。这种方法的工作方式是,首先通过二进制分析在固件样本中找到库函数,然后在全系统仿真器中提供这些函数的通用实现。我们在原型系统HALucinator中提出了这些想法,该系统可以重新托管固件,并允许虚拟设备正常使用。首先,我们介绍了现有库匹配技术的扩展,这些扩展是识别二进制固件中的库函数,减少冲突以及推断其他函数名所必需的。接下来,我们通过使用简化的处理程序和外围模型演示重新托管过程,这些过程使固件样本和芯片供应商之间的过程快速,灵活且可移植。最后,通过向HALucinator添加AFL模糊器,在固件中间件库中定位多个以前未知的漏洞,我们证明了HLE在安全性分析方面的实用性。 ...

2020年10月18日 · 1 分钟 · M2kar

lvm磁盘备份、替代、和修复方案

lvm磁盘备份、替代、和修复方案 创建lvm组VG0和分区LVA并挂载到/A Make lvm volume group VG0 and partition LVA and mount to /A root@vm-ubu:/home/rui# lvmdiskscan /dev/loop0 [ 14.50 MiB] /dev/loop1 [ 140.66 MiB] /dev/sda1 [ <80.00 GiB] /dev/loop2 [ <90.99 MiB] /dev/loop3 [ <12.99 MiB] /dev/loop4 [ <34.54 MiB] /dev/loop5 [ <2.25 MiB] /dev/loop6 [ <3.70 MiB] /dev/sdb [ 2.00 GiB] /dev/sdc [ 2.00 GiB] 2 disks 8 partitions 0 LVM physical volume whole disks 0 LVM physical volumes root@vm-ubu:/home/rui# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created. root@vm-ubu:/home/rui# vgcreate VG0 /dev/sdb Volume group "VG0" successfully created root@vm-ubu:/home/rui# lvcreate -L 1G VG0 -n LVA Logical volume "LVA" created. root@vm-ubu:/home/rui# mkfs.ext4 /dev/mapper/VG0-LVA mke2fs 1.44.1 (24-Mar-2018) Creating filesystem with 262144 4k blocks and 65536 inodes Filesystem UUID: d2d61132-f79c-486f-a391-8471288bd20e Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done root@vm-ubu:/home/rui# mkdir /A root@vm-ubu:/home/rui# mount /dev/mapper/VG0-LVA /A root@vm-ubu:/home/rui# seq 100 | xargs -i dd if=/dev/urandom of=/A/{}.dat bs=1024 count=1 备份分区LVA到A.img Backup partition LVA to img file A.img ...

2020年10月17日 · 4 分钟 · M2kar

把旧安卓打造为家用开机棒

把旧安卓打造为家用开机棒 背景 硬件 魅族 软件 Android 5.1 termux 版本限定 root 开发者模式 不休眠 代理 远程端口转发 ssh config autossh 升级版:解决端口占用问题 #! bash set -x set -e if [ -z $PROXY_INTERVAL ];then PROXY_INTERVAL=60 fi echo "=======================init proxy==========================" while : ; do sshd rand_port=$(shuf -i 50040-50060 -n 1) ; echo "$rand_port" | ssh proxy1.isrc "cat >m2-ssh-port.txt" ; ssh -vNC -R 0.0.0.0:$rand_port:localhost:2222 proxy1.isrc ; sleep $PROXY_INTERVAL ; echo "=======================restart proxy==========================" echo "restart proxy1.isrc `date`" ; done; 连接命令: ssh -o "ProxyJump proxy.isrc" -p $(ssh proxy.isrc cat m2-ssh-port.txt) localhost 欢迎评论以及发邮件和作者交流心得。 版权声明:本文为 m2kar 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 作者: m2kar 打赏链接: 欢迎打赏m2kar,您的打赏是我创作的重要源泉 邮箱: m2kar.cn#gmail.com 主页: m2kar.cn Github: github.com/m2kar CSDN: M2kar的专栏

2020年6月15日 · 1 分钟 · M2kar

Windows 定制右键菜单

Windows 定制右键菜单 Windows的右键快捷菜单是个非常方便的东西。但有时候因为安装程序过多,所以右键菜单过于冗余。有的时候有需要自定义一些新的右键菜单项,因此我们需要了解右键菜单的知识。 工具 注册表 所有的右键菜单条目都在注册表的HKEY_CLASSES_ROOT\XXXX\shell\里。 第三方修改工具 右键管家 Ultimate Windows Customizer, Right-Click Extender, Ultimate Windows Tweaker, & Context Menu Editor ContextEdit ShellExtView or ShellMenuView Easy Context Menu MenuMaid File Menu Tools. 这里还是比较推荐右键管家的,符合中国人操作习惯,而且功能很强大。 详细说明参考: https://www.thewindowsclub.com/remove-click-context-menu-items-editors/ 修改技巧 下面介绍一些常用的修改技巧。 常用主体的注册表位置 常用的右键菜单主体都在注册表的HKEY_CLASSES_ROOT下面。 * : 表示所有文件 某扩展名:如.zip,表示扩展名对应的右键菜单 Directory/Background: 表示文件夹的背景 右键菜单注册表项结构 所谓百闻不如一见,下面就几个示例来讲解常用的右键菜单配置参数。 在所要创建的主体下面的shell下的项即为某个右键菜单项。其中默认值即为此项的显示名称。字符串项Icon为图标。如下图所示。 在右键菜单项的下一级创建项,并命名为command,表示此项的执行命令,命令的位置及参数应当写在command子项的默认中。通常用%1表示本文件的文件名参数。 也有一些高级的参数。比如下面的PowerShell,默认值用了使用了一个动态链接库。 然后Extended参数表示把此项在默认菜单中隐藏,需要按Shift+右键才可以显示。 NoWorkingDirectory表示不设置工作文件夹。 欢迎评论以及发邮件和作者交流心得。 版权声明:本文为 m2kar 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 作者: m2kar 打赏链接: 欢迎打赏m2kar,您的打赏是我创作的重要源泉 邮箱: m2kar.cn#gmail.com 主页: m2kar.cn Github: github.com/m2kar CSDN: M2kar的专栏

2020年6月5日 · 1 分钟 · M2kar

Zotero使用技巧

Zotero 使用技巧 设置文献同步 文献数据库使用Zotero账户同步 文件使用坚果云的WebDAV服务同步 修改PDF默认文件名 打开首选项-高级-常规-设置编辑器。 搜索extensions.zotero.attachmentRenameFormatString,修改为 快速打标签 可以通过在标签上指定颜色,选择位置。即可在条目上按数字键快速打标签。 标签命名为简单的数字为开头或者*+数字为开头,通过Zotero对标签的检索功能快速打标签。 分级 分级打星标是Endnote中比较好用的功能,但是zotero中没有,但是我们可以通过标签功能快速分级。 *1⭐ *2⭐⭐ *3⭐⭐⭐ *4⭐⭐⭐⭐ *5⭐⭐⭐⭐⭐ 也可以使用快速打标签中介绍的内容实现快速标签 sci-hub支持 此功能需要下载安装插件: 下载插件:zotero-scihub/release 拖拽到工具-插件 重启Zotero 参考: https://github.com/ethanwillis/zotero-scihub 参考文献格式 一般选择国标 GB/T 7714。最新版为2015. 软件学报格式 参见:软件学报参考文献格式 欢迎评论以及发邮件和作者交流心得。 版权声明:本文为 m2kar 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 作者: m2kar 打赏链接: 欢迎打赏m2kar,您的打赏是我创作的重要源泉 邮箱: m2kar.cn#gmail.com 主页: m2kar.cn Github: github.com/m2kar CSDN: M2kar的专栏

2020年6月3日 · 1 分钟 · M2kar

Linux 装机必备类软件

Linux 装机必备类软件 开发环境 apt-get install -y openssh-server \ build-essentials \ python3 \ pythonpy \ python \ curl \ wget \ git \ sshfs \ screen \ tmux \ zsh \ vim 安装oh-my-zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" docker docker docker-compose 安装方式参看官网 oh-my-tmux cd git clone https://github.com/gpakosz/.tmux.git ln -s -f .tmux/.tmux.conf cp .tmux/.tmux.conf.local . 参看: https://github.com/gpakosz/.tmux 生产环境 apt-get install -y git \ tmux \ openssh-server 欢迎评论以及发邮件和作者交流心得。 版权声明:本文为 m2kar 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 作者: m2kar 打赏链接: 欢迎打赏m2kar,您的打赏是我创作的重要源泉 邮箱: m2kar.cn#gmail.com 主页: m2kar.cn Github: github.com/m2kar CSDN: M2kar的专栏

2020年6月2日 · 1 分钟 · M2kar

Bash 终端配置优化

Bash优化 Bash可以称之为使用最为广泛的终端程序了! 之前特别喜欢用zsh+oh-my-zsh,很方便很好看的终端程序,傻瓜化且人性化的配置,但是无奈在windows下不是很理想。最近喜欢用上了Windows下的git-bash,因为这个非常简单的bash在windows下运行的很快很好。因此也寻找了一下zsh中比较喜欢的一些功能,并让它能在bash下支持。 下面将列举一些让默认的Bash更加好用的一些修改。 修改配置文件 配置文件种类 全局配置:/etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置:~/.bash_profile, ~/.bashrc profile类文件作用: 定义环境变量 运行命令或者脚本 bashrc类文件作用: 定义本地变量,函数 命令别名 通常会编辑 ~/.bashrc,在文件最后添加某些语句。 加载顺序 登陆式Shell: /etc/profile > .bash_profile > .bash_login > .profile > .bash_logout 非登陆式Shell: /etc/bash.bashrc > .bashrc 详情参看: Bash配置文件 Bash历史记录优化 Bash同时保存多个终端的命令记录 编辑 ~/.bashrc,在文件最后添加下面的语句: export PROMPT_COMMAND='history -a' 重新启动终端,即可在多个终端中同时保存命令到History. 设置可保存的历史记录数量 export HISTSIZE=10000 欢迎评论以及发邮件和作者交流心得。 版权声明:本文为 m2kar 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 作者: m2kar 打赏链接: 欢迎打赏m2kar,您的打赏是我创作的重要源泉 邮箱: m2kar.cn#gmail.com 主页: m2kar.cn Github: github.com/m2kar CSDN: M2kar的专栏

2020年5月30日 · 1 分钟 · M2kar