暗渡陈仓:用低消耗设备进行破解和渗透测试2.2.3 BeagleBone Black

简介:

2.2.3 BeagleBone Black

虽然BeagleBone在推出时已经很具有颠覆性了,但随着技术的进步,后来又发布了一个更强大的版本,价格却降到原来的一半(相比于之前的89美元,它只要45美元),被称作BeagleBone Black版(缩写成BBB)。原始版本发布不到18个月,BeagleBone Black于2013年4月23日推出。成本下降主要得益于芯片数的压缩和大批量生产。图2.7和图2.8是BeagleBone Black。

除了价格更低,新版BeagleBone还有一些改进。处理器速度从720MHz提升到了1GHz;RAM从256MB翻倍到了512MB。BeagleBone Black使用DDR3内存,如今DDR3比原版BeagleBone所使用的DDR2要便宜。这里给出的BeagleBone Black的信息摘自《BeagleBone Black System Reference Manual》,手册可以从https://github.com/CircuitCo/BeagleBone-Black/blob/master/BBB_SRM.pdf下载。

  

      图2.7 BeagleBone Black正面    图2.8 BeagleBone Black背面

为什么不用……

开源硬件的能力是有高下之分的

在世界各地的会议上做关于Deck的演讲时,经常有人问我“为什么不使用某某开源板子?”,这里的“某某板子”通常是树莓派(Raspberry Pi),碰巧它还不是开源的。简短的回答是树莓派不适合我们的情况,详细的解释请看下文。

树莓派没有BeagleBone Black功能强。实际上,即使是比树莓派更早的BeagleBone也要比它强。BeagleBone Black使用1GHz的现代Cortex-A8处理器,树莓派使用的是只有700MHz的BCM2835芯片。树莓派缺少运行像Metasploit这样强力渗透测试工具所需的处理能力。德州仪器自由地发布他们处理器芯片的信息,而Broadcom却要求签署NDA才能得到应用他们芯片的细节。Broadcom的芯片使用支持不够好的陈旧ARM6指令集。这限制了树莓派所能使用的操作系统。特别地,树莓派不能使用Ubuntu。像下一章介绍的,Deck是基于Ubuntu的。

树莓派也没有Beagle家族成熟。最早版本的BeagleBoard在2008年就已经交付了。BeagleBone到用户手里的时间比树莓派早了足足半年。甚至树莓派项目启动一年后,批量购买都还成问题。相比之下,BeagleBone Black发布后一周我就买了好几块板子,根本不用等几个月才能拿到。

尽管构建渗透测试硬件时价格并不是主要问题,但用树莓派构建完整系统则要比使用BeagleBone Black贵得多。当外壳、USB电缆、电源,以及扩展板都配齐时,两个板子本身报价的差异立即就消失殆尽了。另外,当买多个BeagleBone时,多数经销商都会提供折扣。

树莓派提供最多17个GPIO线(仅比Arduino多一点),而BeagleBone板可以提供66个GPIO线。树莓派采用的是很脆弱的插针,需要购买一个排线来连接其他硬件,相比之下BeagleBone则使用坚固的插针,可以在板上直接扩展cape。BeagleBone很易于实现紧凑(并且更可靠)的设计。

尽管树莓派的处理能力低,但它却比BeagleBone需要更多的电能。因为运行的软件不一样,很难给出有意义的电能比较。据说,根据经验测试(例如2013年5月19日发布的题为《树莓派(B型)功耗,低压测试》的文章,http://www.youtube.com/watch?v=4a_OCg9UZbo),树莓派消耗的功率是BeagleBone的150%~200%。既然我们要构建电池供电的设备,BeagleBone Black在同类产品中稳拔头筹。

说到这儿,显然树莓派并不是构建渗透测试的理想选择。本书成稿时,几个把Deck移植到其他ARM系统的实验正在进行中。这将评估是否要把这些平台纳入官方支持。这些移植的最新进展参见官方网站(http://philpolstra.com)和我的博客(http://polstra.org)。

BeagleBone Black带有2GB的eMMC非易失存储(本书写作时,正在讨论在后续版本扩展到4GB)。随机安装的Angstrom Linux系统安装在eMMC中(宣布不久后新板出厂的预装系统将是Debian Linux)。相比于microSD的4位接口,eMMC的接口是8位。由于板载eMMC的配置是已知的,可以最大限度根据其参数优化性能,而不用像microSD卡那样,只有卡插入后才能确定参数。出于这些原因,使用eMMC存储根文件系统时能够获得巨大的性能提升。不幸的是Deck系统高达6GB多的根文件系统太大了,无法存储在eMMC上。

BeagleBone Black一个最明显的变化是增加了microHDMI插座输出HDMI视频信号。HDMI支持是由NXP TDA19988 HDMI成帧器实现的。BeagleBone Black支持高达1920×1080的视频分辨率。BeagleBone Black默认使用EDID报告的最高分辨率。正因这个原因,在BeagleBone Black系统启动前连接并且打开显示器是很必要的。与BeagleBoard-xM不同,该接口支持包括音频在内完整的HDMI规范。只有Consumer Electronics Association(CEA)标准中的分辨率下才支持音频,因为所有高清电视都支持这些分辨率,所以为BeagleBone Black找到显示器完全不成问题。

然而,不像增加HDMI插座那么明显的变化是,BeagleBone Black也比原版更省电了。压缩掉了几个芯片导致所需的电流大大降低(差不多30%)。结果,基于BeagleBone Black的电池驱动的破解攻击机能够比基于旧版BeagleBone的运行更长的时间。

BeagleBoard.org团队尽可能让新版BeagleBone兼容原版。购买cape时,一定要确保是BeagleBone Black兼容的,可以到http://elinux.org/Beagleboard:BeagleBone_Capes检查兼容性。增加eMMC和HDMI导致几个原来在扩展口上可用的引脚,现在被BeagleBone自己占用了。用到这些被eMMC和HDMI占用引脚的cape则必须把相关的功能关掉才能工作。在我们的应用中这不是问题,因为Deck系统太大不能放到eMMC中,并且对于破解攻击机,HDMI输出并不需要。两个BeagleBone版本之间还有一些其他的差异,但都跟我们的渗透测试关系不大。关于这些差异的详细情况可以参考《System Reference Manual》。

如前所述,BeagleBone Black应该配上外壳或把它装到绝缘的材料里保护起来,以防短路。Adafruit(http://www.adafruit.com/category/75)出售小的亚克力外壳和能容纳一个BeagleBone加上几个cape的大外壳。大多数像Special Computing(https://specialcomp.com/beaglebone/)这样的其他BeagleBone商家也都有简单的亚克力外壳出售,价格差不多10美元。图2.9和图2.10展示了Special Computing的外壳。原版BeagleBone的外壳如果用电钻或类似的工具开个microHDMI插座的槽,也能用在新版BeagleBone上。如果读者想自己制作外壳,一定小心别用太大的铜柱,因为这有可能会碰坏靠近安装孔的元器件。

  

      图2.9 装上Special Computing外壳的    图2.10 装上Special Computing外壳的

      BeagleBone Black正面   BeagleBone Black背面

相关文章
|
14天前
|
安全 测试技术 网络架构
【专栏】编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。
【4月更文挑战第28天】本文介绍了编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。通过实际案例分析,展示了如何成功完成割接,确保业务连续性和稳定性。遵循这些步骤,可提高割接成功率,为公司的网络性能和安全提供保障。
|
2天前
|
存储 测试技术
LabVIEW编程开发PCB自动测试设备
LabVIEW编程开发PCB自动测试设备
|
4月前
|
测试技术
Appium 并行测试多个设备
Appium 并行测试多个设备
62 0
|
10月前
|
Linux 测试技术 Windows
可编程 USB 转串口适配器开发板应用于电子设备开发测试
可编程 USB 转串口适配器开发板应用于电子设备开发测试
可编程 USB 转串口适配器开发板应用于电子设备开发测试
|
5月前
|
Java
100143. 统计已测试设备 --力扣 --JAVA
给你一个长度为 n 、下标从 0 开始的整数数组 batteryPercentages ,表示 n 个设备的电池百分比。 你的任务是按照顺序测试每个设备 i,执行以下测试操作: 如果 batteryPercentages[i] 大于 0: 增加 已测试设备的计数。 将下标在 [i + 1, n - 1] 的所有设备的电池百分比减少 1,确保它们的电池百分比 不会低于 0 ,即 batteryPercentages[j] = max(0, batteryPercentages[j] - 1)。 移动到下一个设备。 否则,移动到下一个设备而不执行任何测试。 返回一个整数,表示按顺序执行测试操作
31 0
H8
|
9月前
|
自然语言处理 物联网 Unix
全网最佳IoT命令行超级工具箱|帮你轻松解决百万物联网设备测试和联调
作为一个物联网开发和学习人员,IoT设备协议的测试联调是工作中很重要的一环!我有很多时刻都想拥有一个能集成常见物联网协议的客户端工具可供使用。经过我一通查找,发现和我拥有相同问题的人不在少数。 不仅仅是IoT开发者,包括云厂商、网络运营商都有相同烦恼: 开源物联网平台Thingsboard: coap -> coap.js(需要安装node); 移动OneNET平台: mqtt -> mqtt.fx(几年没更新了); 电信AEP平台:自定义TCP协议 -> sokit工具(只支持windows); 阿里云物联网平台: Nb-IoT协议 -> 需要到电信或移动平台上进行测试; 作者:穆书伟
H8
298 0
|
11月前
|
JavaScript Linux Python
【Matter】如何在Linux平台下测试Matter应用级通信(虚拟设备)
我们使用chip tool结合生成的QR码进行调试,重新打开一个终端,使用默认的chip tool工具(记住不是之前构建应用程序生成的chip tool),通过QR码可以快捷迅速地将虚拟设备添加到网络中,我们使用chip tool对设备进行调试
453 0
|
12月前
字符块设备驱动程序框架---已测试程序hello为例
字符块设备驱动程序框架---已测试程序hello为例
64 0
|
12月前
|
Java 测试技术 Android开发
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解(下)
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解
298 0
|
12月前
|
Web App开发 JavaScript Java
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解(上)
Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解
386 0

热门文章

最新文章