提高开源软件安全性 ——Linux基金会推出Red Team项目

为了提高开源软件的安全性,Linux基金会启动了Red Team项目,该项目旨在孵化开源安全工具,以支持网络范围自动化、容器化测试实用程序、二进制风险量化以及标准验证和改进。

Red Team Project的主要目标是保护那些正在使用开源软件的项目。他们使用攻击者相同的工具、技术和程序,但以建设性的方式提供反馈并帮助企业/机构的项目更安全。

为了解更多信息,Linux基金会采访了Google的客户工程师Jason Callaway,以了解有关Red Team项目的更多信息。

Linux Foundation:你能简单介绍一下Red Team项目及其与Fedora Red Team SIG的历史吗?

Jason Callaway:我在Def Con 25与Red Hatters的同事一起创建了Fedora Red Team SIG。我们有一些想要构建的漏洞利用映射工具,我受到了Mudge和Sarah Zatko的Cyber-ITL项目的启发。我想对他们的方法进行开源实现。Fedora项目慷慨地提供托管,并且是极大的倡导者。现在我在谷歌,我很幸运能够将Red Team作为我的20%项目,我希望能够扩大其影响力并建立一个更加供应商中立的社区。Fedora正在与LF合作,支持我们的项目分支,并将在我们的技术指导委员会中有代表。

LF:该项目的一些短期和长期目标是什么?

Jason:我们最直接的目标是恢复正常运转。这意味着迁移GitHub repos,建立我们的网络和社交媒体,最重要的是,回到编码。我们正在组建一个技术指导委员会,我认为这将成为帮助我们保持专注和有影响力的真正力量倍增器。我们还将在华盛顿特区举行一次聚会,这场聚会将在演讲者和实用的漏洞利用黑客马拉松之间进行为期两周。

LF:为什么开源对项目很重要?

Jason:开源在很多方面对我们很重要,但主要是因为这是正确的做法。网络安全是一个影响个人、企业、政府和每个人的全球性问题。因此,我们必须使开源软件更安全。

有很多人在努力,以典型的开源方式,我们是站在巨人的肩膀上。但Red Team项目希望为开源软件安全提供一些明显的积极价值。

LF:社区如何更多地学习并参与其中?

Jason:我曾经有一位经理人喜欢说,“80%的工作只需要露露脸。”当然他在开玩笑,但这肯定适用于开源项目。要了解更多信息,你可以亲自到场,或通过Google Hangout参加我们的聚会,订阅我们的邮件列表,并在GitHub或我们的网站上查看我们的项目。

项目地址:

https://github.com/redteam-project

5G虽然火热,Wi-Fi也在升级

随着5G网络的到来,很多人都会觉得Wi-Fi的重要性是不是没那么大了?

事实上, Wi-Fi也在紧锣密鼓的升级。

20多年以来,从2G到5G,移动网络的传输速率提升了近20倍。而Wi-Fi网络,也从曾经的802.11a,发展到802.11ax,也就是传说中的Wi-Fi 6,即将进入我们的日常生活。

其带宽、网络容量、覆盖范围等等指标都有大幅度的提升。技术的进步也将为我们的生活带来更多的方便,比如物联网的普及等等。

Wi-Fi 联盟即将在 2019 年 8 月敲定最新的 Wi-Fi 6(又称 802.11ax)无线网络标准。

为抢占先机,高通和联发科等厂商都在抓紧部署“准备就绪”的 Wi-Fi 6 路由器和终端。

比如高通的 QCA6390 芯片组。在启用 1024-QAM 双频段的情况下(5GHz + 2.4GHz / 80MHz 频宽),可提供高达 1.8Gbps 的 Wi-Fi 6 带宽。

Wi-Fi 6的特性,主要包括网络中单一终端吞吐量的提升、覆盖范围的扩大、联网终端更久的电池续航,以及对于最新安全协议WPA3的支持。

对于5G传输速度的飞跃,用户对于数据传输的速度需求会提升,因此Wi-Fi也必须进行升级,才能满足广大用户的需求。

众所周知,5G有eMBB,mMTC 和URLLC三大场景,Wi-Fi 6的方向也是类似的。Wi-Fi 6 优化了设备的的覆盖能力,可以让更多人同时使用,可以更好的支持智慧家庭、工业物联网等应用。

“当你身处东京火车站,挤在人群里看超级碗时,这些环境下的Wi-Fi体验将发生彻底改变,”Wi-Fi联盟营销副总裁凯文·罗宾逊(Kevin Robinson)表示。

当然,每一项新技术的落地,都需要有具体的行业标准来支撑。近日,Wi-Fi联盟已推出针对支持Wi-Fi 6标准的设备认证计划,预计将从2019年第三季度开始。

据悉,这一名为“Wi-Fi Certified 6”的认证计划,旨在确保基于下一代Wi-Fi技术打造的各种设备符合互操作性和安全性的行业标准。Wi-Fi联盟表示,该认证计划将为用户提供流媒体超高清电影甚至关键业务应用所需的容量、覆盖范围和性能。

Wi-Fi Certified 6支持使用MU-MIMO、波束成型和1024-QUAM等技术带来的更高数据传输速率和更大网络容量在内的高级功能。其他功能还包括在拥塞环境中提高性能,以及利用目标唤醒时间(TWT)提高电池寿命实现更高功效等。

ABI Research高级研究分析师Andrew Zignani在一份声明中表示:“Wi-Fi仍然是访问接入互联网的主要技术,它有着悠久的成功历史。Wi-Fi Certified 6将进一步提升Wi-Fi的作用,预计2022年Wi-Fi 6芯片组出货量将超过10亿。”

原作: 半导体观察

原文:https://www.jianshu.com/p/af2bf20d57a4

整理:IoT前哨站

十行代码就能写个整蛊玩具

有时候看国外的街头搞笑节目,经常会看到一种会出声的坐垫。

当不知情的人坐上去时候,椅子上的坐垫便会发出各种奇怪的声音。让人还误以为是自己造成的。

其实做这个并不难,如果用我们这套方法,可能只要十行代码就搞定了,而且还可以指定任意的音乐。

所需工具:

1、树莓派

2、小音箱

3、鳄鱼线和公母跳线各两条

4、几个夹子

5、铝箔

6、硬纸板

7、铜带和海绵若干

开始制作:

从硬纸板上剪两个圆圈,然后把铝箔纸粘在圆圈上。

用一些铜带把铝箔纸和圆纸板的边缘连接起来,做成两个盘子。

把海绵切成长方体,把它们粘在其中一个盘子的箔纸上,这样箔纸就不会互相接触,除非有人坐在盘子上。

它应该是这样的:

把两个盘子叠在一起,铝箔片相对而置。铜带部分不要接触。

你现在有一个“垫子”了。你可以把两个盘子粘在一起,或者用夹子或回形针,这样你就可以测试你的坐垫是否工作正常,并且很容易调试相关硬件。

接下来是树莓派插线位置:

将鳄鱼夹一头接在纸板的铜带部分,然后将另一头夹在所连接的跳线的外销上。两条线同样操作。最后的样子是这样。

硬件部分完成后,先连到树莓派上测试一下声音播放。

接好小音箱,然后在命令行播放你事先准备的wav格式音乐。比如:

aplay burp.wav

确定可以听见音乐之后,开始编码。用Python比较简单,十行就搞定了。

import os,random
from time import sleep
from gpiozero import Button
button = Button(2)

trumps = ['ben-fart.wav','ca-fart.wav','marc-fart.wav']

while True:
    button.wait_for_press()
    parp = random.choice(trumps)
    os.system("aplay {0}".format(parp))
    sleep(2)

三个音乐文件都要提前准备好,最后运行一下看看是否能跑起来。

小心地把“坐垫”放在沙发或椅子上。接好电源(最好用电池组),让程序保持在运行状态。然后……

如果整蛊成功,别忘记回来点个赞。

来源:Raspberrypi.org

编译:IoT前哨站

WebThings Gateway附加组件:扩展网关的功能

除了常规功能以外,WebThings Gateway还有一个附加组件系统。你可以用它来扩展网关的功能。

默认情况下已安装Web Thing、Zigbee和Z-Wave等组件,足以支持大量的商业设备。但是,如果有其他不同类型的设备要加进来。你会需要附加组件来增强对它们的支持。

根据需要找到并安装更多附加组件:

从“设置”菜单中选择“附加组件”。

如果首屏没看到你想要的组件,请单击右下角的“(+)”按钮浏览附加组件列表,然后选择“+ Add”以启用任何附加组件。

例如,你家里有TP-Link或HomeKit兼容的设备,你可以安装它们的附加组件,然后发现这些设备,并且配对。以便它们由你的IoT网关管理。

有些附加组件需要配置才能正常工作(例如Pulse、Weather、ONVIF)。另一些则在添加后立即工作(例如Virtual Things)。

适配器

适配器页面显示当前安装并激活了哪些插件。转到“附加组件”页面,你可以添加或删除系统中适配器。

新的组件将继续被开发,以便能管控更多新的设备。因此请定期检查以扫描列表中的附加组件。你可以在网关开发站点的issues选项卡中提交对额外设备支持的请求。

实验中的功能

你可以在“experiments”选项中启用智能助手和日志记录等实验中的功能。

从“设置”菜单中选择“实验”,然后勾选“启用智能助手”和“日志”。

使用智能助手

一旦启用,智能助手页面就会在主菜单中出现。它允许你用语音和消息命令来控制家里的设备。无论你是使用语音还是输入文本,都可以达到同样的效果。

Web页面会显示你最近发出的打字和语音命令,以及命令的结果。如果你所说的命令被误解或者没说全,请再试一次。记得对麦克风大声清晰地说话。

你可以给它一些指令,比如“打开厨房的灯”。它会回应你,并确认你的动作。到目前为止,它能够理解一组基本的命令来打开和关闭设备、设置级别,设置颜色和色温。

当你第一次点击麦克风图标时,你的浏览器将请求允许使用麦克风。在弹出对话框中,点击“记住这个决定”复选框,然后选择“允许”。

注意,在0.8网关版本中,基于浏览器的语音命令调用的是谷歌语音API,因此音频是在云端处理的。如果你在智能助手的文本框中输入一个命令,那将直接在本地处理,不需要连接到谷歌。

使用日志

一旦启用,日志页面将在主菜单中可见。单击右下角的加号图标,选择要记录的设备、属性以及要存储(日志数据)的持续时间。任何已连接的智能设备都能被记录,并在配置屏幕上可见。

好了,Webthings Gateway的高级功能差不多就到这里。其他的功能大家可以自行探索。

素材:iot.mozilla.org

编译:王文文

WebThings Gateway平面图:让智能家居的位置一目了然

在使用 WebThings Gateway 管控家里的智能设备以后,大家是不是觉得生活比以前方便一些了?

如果你设备少,或者房间不多。那倒是能记得各个设备的不同位置。

但要部署的智能设备和房间很多,怎么直观的区分它们在哪些房间呢?

我们来看一下 WebThings Gateway 的“Floorplan”,平面图功能。

该功能可以让你家中的所有智能设备位置,完全反映到 WebThings Gateway 页面上,你可以看到你家智能家居的整体布局,以及各区域设备的开关状态。你仍然可以单击图标来操作它们,或者查看该对象的详细视图。

创建一个平面布置图

首先你要先绘制屋子的平面图,并保存为数字图像。你可以用手画一个,然后给它拍照,或者使用illustrator工具(如果你用智能手机拍摄平面图,你可以直接从手机的浏览器把图片上传到你的网关上) 。

提示:使用 Inkscape 或 Sketch 之类的工具可将数字绘图保存为带有白线和透明背景的svg文件,以获得极简外观。

点击“平面图”页面右下角的铅笔图标进入编辑模式。将会出现一个“上载文件”按钮,选择要上载的平面图。

在平面图上传完成后,确保你仍然处于编辑模式,然后将插座和灯泡等图标从页面顶部拖到平面图上。单击右下角的勾号,搞定。

这下房间再多也不用担心了。设备在什么位置,是否在工作,一目了然。

素材:iot.mozilla.org

编译:王文文

怎样用WebThings Gateway管控你的智能家居

普通计算机联网要普通网关,物联网设备联网要用物联网网关。

物联网网关,作为一个新的名词,在物联网时代将会扮演非常重要的角色,它将成为连接感知网络与传统通信网络的纽带。作为网关设备,它可以感知网络与通信网络,以及不同类型感知网络之间的协议转换.既可以实现广域互联.也可以实现局域互联。

我们这次就在树莓派上搭一个物联网网关。

WebThings Gateway是一款面向智能家居的物联网网关,来自国际知名的Web浏览器厂商Mozilla。

安装所需要的核心零件:

1、 树莓派

2、SD卡

3、支持ZigBee或Z-Wave协议的USB适配器

WebThings Gateway 镜像地址:

https://github.com/mozilla-iot/gateway/releases/download/0.8.1/gateway-0.8.1.img.zip

安装步骤:

1、刷卡

2、插入USB适配器

3、通电

注:第一次启动可能要等2-3分钟,后面会快一些。

启动系统后,你会在Wi-Fi连接中看到一个名为 “WebThings Gateway XXXX” 的SSID,连上去。

此时会自动跳转到网关的Web管理页面,如果没有自动跳转,就在浏览器里输入“http://192.168.2.1”

然后你必须再次设置Wi-Fi连接,以便物联网网关能接到你家无线路由器上。

将Webthings联网后,系统会问你要不要创建个子域名。

下一步就是添加设备的环节了。

你可以把家里的智能灯泡、插座、门锁……都加进去。

一般的添加过程:

选择要添加的设备,并为其配对。这方面Zigbee和Z-Wave的都差不多。

灯泡拧入(配对时应点亮灯泡),插头插好。

电池驱动的设备,如门/窗传感器、运动探测器、按钮、调光开关、检漏器、温度传感器等等,也都要先通电。

远程控制和规则设置:

添加完相关智能设备后,你可以在手机或平板电脑上直接控制它们。在浏览器中输入WebThings的域名或IP,然后用你设置的用户名密码登录即可。

也可以在“规则”栏里面做设置,比如你想让卧室灯在晚上10点后自动熄灭。

当然,你也可以随时删除它们。

好了,开始享受物联网时代的智能家居生活吧!下一篇文章我再给大家讲WebThings的高级用法。

作者:王文文

Mozilla 推出物联网平台项目 WebThings

Mozilla 物联网团队宣布去年发布的物联网开放平台项目 Project Things 脱离实验阶段,并正式更名为 Mozilla WebThings。

Mozilla 的使命是确保互联网是一个全球公共资源,对所有人开放,所有人都可以访问。互联网将真正把人民放在第一位,个人能获得赋权、安全和独立。而 Mozilla 物联网团队的使命则是创建一种 Web of Things 实现去体现那些价值,帮助推动制定物联网的安全、隐私和互操作标准。

秉承了使命的产物 Mozilla WebThings 志在打破大厂只想绑架消费者使用自家路由器的局面,改变当前物联网生态的破碎现状,从而进一步降低市场物联网设备的售价。此前 Mozilla WebThings 已经历了两年的开发和七个季度的更新,已经引起了开发者和制造商社区的极大兴趣。

WebThings 让用户可以通过网页监控设备,它包括WebThings Gateway和WebThings Framework两个部分。其中,WebThings Gateway 是用于家庭智能网关的软件发行版,专注于隐私、安全和互动;WebThings Framework 可以帮助开发者构建可重复利用的软件组件集。

在宣布推出 WebThings 后,Mozilla 发布了新版本 WebThings Gateway 0.8。新版让用户可以私密记录并监控智能家居设备的数据,还添加了警报、日志的功能和网络设置 UI。

此外,Mozilla 还透露团队正在构建基于 OpenWrt(针对嵌入式设备的 Linux 操作系统)的 WebThings Gateway 版本。该版本将针对消费级无线路由器,本身就可以充当 Wi-Fi 接入点,而不仅仅是作为客户端连接到现有的无线网络。

有兴趣对项目进一步了解,可查阅 WebThings 官网

关于什么是物联网网关:

http://v.qq.com/x/page/r0867d7i4xq.html

微软发布“VSCode Remote” 让远程开发更自在

近期有很多微软 VSCode 编译器的新闻,最搞笑的是这个:

不过我们这次讲的不是 VSCode 的八卦,而是要给经常做远程调试的开发者介绍一个强力插件:“Remote Development”。

在给树莓派、香橙派等各种开发板做调试的时候,很多人是先登录到板载系统上,然后再开始操作的。

这倒还不是慢的问题,而是原本咱们 PC 或 Macbook 上强大的IDE派不上用场了。

为了解决这个问题,微软推出了“VScode Remote Development”。以便大家直接远程调试,不用再登录后操作了。

目前,Visual Studio Code Remote Development Extension Pack支持SSH、容器、WSL 三种模式。

对应的三个扩展:

Remote – SSH – 通过使用 SSH 打开远程计算机或者VM。

Remote – Containers – 把 Docker 作为你的调试环境。

Remote – WSL – 在 Windows Subsystem for Linux 中,像 Linux 一样开发。

不管你做嵌入式开发还是服务器开发,都可以通过这个插件简化工作。

如图所示,一位在做机器学习的朋友正在用SSH模式远程调试Python代码。

该插件下载地址:

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

安装前先确保你电脑上已经有“Visual Studio Code Insiders”。

更多物联网开发资讯,请关注“IoT前哨站”。

在文本冒险游戏中加入道具

上次发了一篇“Python写文本冒险游戏的要点”之后,有的朋友说形式太简单了,能不能在游戏中加入道具?

既然如此,我们这次就来给它升一级。

很多人都玩过“刺激战场”类的游戏,进一个房子就拼命捡枪捡子弹什么的。这些都是游戏人物的重要道具。

下面我们就继续以《回村》为例子,在其中加入道具拾取和过关判定。

先把游戏环境概念图画出来。

1、森林里有牛肉

2、小山里有红酒

3、湖泊边有强盗

获胜判定:

带着牛肉和红酒,避开强盗,回到村庄即获胜。否则游戏继续。

好了,现在就在代码中更新道具和强盗。

代码地址:

https://github.com/IoToutpost/Python_game

Gohome.py是之前的版本,Gohome_v0.2.py是我们加了道具的版本。

需要注意的是,我们现在用字典来存储地点、方向和道具了。这样对于数据读写来说会更方便。

Python中的字典是啥?

字典是Python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里。键可以是数字、字符串甚至是元组。

字典由多个键及与其对应的值构成的对组成。每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典由一对大括号括起来。字典中的键是唯一的,而值并不唯一。

好了,跑一下试试。

到此,一个简单的RPG游戏算是做好了。

如果想让游戏更好玩,要加的东西还很多。比如战斗元素,生命值,时间……探索无止境。

注:这个系列的文章是写给新手的,高手就不用看了哈。当然,欢迎指导,欢迎分享更有意思的版本。

QEMU 4.0 发布 ARM和RISC-V支持加强

做 IoT 总得做一些设备测试,但身边又不是什么设备都有的。这时候通常需要模拟器或虚拟机来替代一下。

QEMU 是一个纯软件实现的通用模拟器和虚拟机,在业界非常流行。它有三种模式,几乎可以模拟任何硬件设备。

1、Full-system emulation:可在硬件架构上运行任意操作系统

2、User-mode emulation:运行另一个 Linux/BSD 程序

3、Virtualization:接近本机性能运行 KVM 和 Xen 虚拟机。

近日,他们发布了4.0.0版本。

这个版本包含了来自220个作者的3100多次代码提交。

下载地址:
https://www.qemu.org/download/#source

主要更新内容:

  • ARM:实现了一批 ARMv8.X 的扩展,包括 SB、PredInv、HPD、LOR、FHM、AA32HPD、PAuth、JSConv、CondM、FRINT 与 BTI
  • ARM:virt:支持 >255 GB 的 RAM 和 u-boot“noload”镜像类型
  • ARM:改进 ARM PMU 模拟
  • HPPA:支持 TLB 保护 ID 和 TLB 跟踪事件
  • MIPS:支持多线程 TCG 模拟
  • MIPS:对 I7200 I6500 CPU 的模拟支持,基于 QMP 的 CPU 类型查询以及对 SAARI 和 SAAR 配置寄存器的改进支持
  • PowerPC:pseries:模拟支持 XIVE 中断控制器
  • PowerPC:pseries:支持热插拔 PCI 主桥(PHB)
  • PowerPC:pseries:默认情况下启用 Spectre/Meltdown 缓解,同时支持 count-cache-flush 缓解
  • RISC-V:virt:支持 PCI 与 USB
  • RISC-V:  支持 mstatus 的 TSR、TW 和 TVM 字段,FS 字段现在支持三个统计数据(dirty、clean 和 off)
  • RISC-V:内置 gdbserver 通过 XML 文件支持寄存器列表
  • s390:支持 z14 GA 2 CPU 型号,默认情况下启用 Multiple-epoch 和 PTFF 功能
  • s390:vfio-ap:支持热插拔,不再禁止内存膨胀
  • x86:HAX 加速器现在支持除 Darwin 以外的 POSIX 主机,包括 Linux 和 NetBSD
  • x86:可以使用“-kernel”选项启动 Xen PVH 镜像
  • Xtensa:xtfpga:改进了对 Linux(中断分发器,IPI和运行系统)SMP 的支持,支持 SMP 的test_mmuhifi_c3 核心配置
  • Xtensa:支持灵活长度指令扩展(FLIX)
  • GUI:新的’-display spice-app’选项用于配置/启动具有与 QEMU GTK 类似 UI 的 Spice 客户端 GUI。VNC 服务器现在通过 tls-authz/sasl-authz 选项支持访问控制
  • Xen:新的’xen-disk’设备,可以创建 Xen PV 磁盘后端,并为 Xen PV 磁盘后端提供性能改进
  • Network Block Device:改进跟踪与错误诊断,qemu-nbd 新选项 –bitmap、–list 与 –tls-authz
  • virtio-blk 现在支持 DISCARD 和 WRITE_ZEROES

完整更新日志:

https://wiki.qemu.org/ChangeLog/4.0