80天徽章周围:OFFZONE的另一侧

哈Ha! 上次我们讨论了OFFZONE 2019国际网络安全会议徽章的徽章及其用途。 今天,我们将分享幕后故事:它们是如何诞生的,以及发明和生产2000系列设备的成本。 事件的时间表,开发,采购,安装的陷阱以及电子世界带来的其他欢乐。 走吧



每个实际的网络安全会议都有交互式徽章。 就我们而言,徽章至少应充当活动内部货币OFFCOIN的钱包。

去年,一张Java地图解决了这一任务,我们把一些任务搞砸了,包括一辆坦克游戏和一个推箱子。 同一张卡片似乎是2019年徽章的逻辑发展,直到现在才有了NFC:这里有连续性,发展性和任务思路。 对于她来说,所有的成就都非常重要-如果您在第一轮中寻找漏洞,这很重要,在第二轮中您将组织一次会议。

当来自硬件分析实验室的消息传来时,我们正在缓慢地准备生产:同事们将在OFFZONE上展示他们对嵌入式系统攻击概述 。 工作聊天充满了准备好的木板的照片,在走廊上讨论了旁通道类型,硬件主题甚至没有吸引我们的经济学家。 我们意识到对于OFFZONE 2019,我们需要提交自己的设备。

因此,在会议召开前80天,我们的目标是2,000个设备和2个电子开发商。 通过一位开发人员的眼神,这部史诗般的样子。

80天


我们首先要做的是与同事们集思广益并产生徽章概念。 这些想法中的一个是单板,上面带有一些基本的口译,一个带E-ink显示屏的名片,来自基于ESP32或类似模块的IoT设备世界中的东西,以及一个预先准备用于附加设备和附加模块的基础母板。

79–65天


我们走路,喝咖啡,消化思想。 权衡利弊。 我们读高音扬声器,看看别人在做什么

64-60天


我们又进行了一次头脑风暴会议。

单一付款人的想法被抛弃了。 事实证明,由于大量的组件和安装,它太昂贵了:一个按钮就有30多个,而且使用这种设备的人不会感到惊讶-立即记住了Supercon徽章和类似工艺。

带有电子墨水显示屏的名片也被解雇:他们找不到有趣的应用程序,并决定了如何将潜在任务附加到徽章上。 而且ESP32看起来有些轻浮-我们会以为我们是新的美术师! (尽管我将回到Arduino主题。)。 曾经有一种想法,那就是能够在模块上配备不足以解决任务的模块。

几天就完成了这个主意。 结果,我们选择了3.5英寸软盘的形式,具体取决于主要功能和主体套件。 在后者的情况下,我们采用了带8个开关的DIP开关,一个OLED显示屏,一个IR接收器,一个13.56 MHz的RFID收发器以及一个单独的433 MHz的接收器和发射器。 像流行的Blue Pill板上的STM32F1微控制器一样,被分配来管理这个杂色无常的动物园。

同时,提出了在OFFZONE上创建Craft.Zone平台的想法,每个人都可以闻到松香并亲自为他们的徽章配备电子组件。 焊接区-这是另一个骑士的动作! 首先,这对于行业会议来说是有趣且不寻常的,其次,它甚至会吸引初学者,其次,这样,我们将加速最后一批设备的安装。 各方都赢了!

因此,在最初的几周内,我们批准了未来设备的概念,基本功能和组件库。 然后,乐趣开始了。

59-50天


我们设法制作了电路,进行了稀释,生产并手动安装了标牌的第一个版本。 在这个阶段,选择电源是最痛苦的。

显然,徽章必须是独立设备。 为了保证这种自主性,要求使用0.5 A * h的锂聚合物电池以及在诸如TP4096这样的简单控制器上的相应充电控制系统。 但是,您是否尝试过在莫斯科没有预先订购的情况下甚至从受信任的制造商那里购买数千个电池? 我们尝试过-我们没有成功。 我们不敢从中国订购:电池太过充电,容易着火,我们的客人不得不戴在脖子上。 那时我们回到了旧电池。 估计消耗量,进行了一系列简单的实验,并确定了四个AAA电池的配置。 根据使用的活动,他们给设备提供了16–20个小时的运行时间。

他们绞尽脑汁编写固件。 在其他情况下,我们将使用Eclipse(arm-none-eabi-gcc),Keil,IAR和其他人类(不是完全)IDE来编写软件。 但是,我们的开发志愿者团队大部分是法医和渗透测试人员。 希望他们在业余时间能很快掌握嵌入式系统固件的编写是不合理的。

我答应了,没有arduins不会吗? 我没有撒谎! 为了简化软件开发过程,我们使用了Arduino IDE。 幸运的是,有一个很好的STM32Duino项目,该项目开箱即用为我们的目标产品STM32F1实现了Arduino引导加载程序,而Arduino IDE支持了该项目。 在后者中,我们需要使用很大一部分库来处理与高级编程有关的模块和其他乐趣。 当然,使用库并不是一切都那么顺利,但是您可以生活。 要使它们中的大多数适应STM32,只需重写与平台相关的功能即可,仅此而已。 但是编辑库代码几乎就像插入引号一样!

一个有趣的事实。 为了实现徽章功能,我们使用了以下库:

  • Adafruit_SSD1306用于OLED显示器
  • MFRC522,用于RFID,
  • 用于433 MHz无线电的RCSwitch
  • 红外发射器的irmp-master。


现在,该板的第一个版本已准备就绪。 它是绿色的,没有必要的铣削孔,实际上是行不通的。

一个有趣的事实。 电路板的原型是在Resonite的“我们昨天真的需要这个”特别计划下订购的,这些组件是在莫斯科的零售商店购买的,并且安装工作是由我们自己完成的。

如果我们以前将电路的主要部分组装在面包板上,则可以避免第一版的大多数问题。 我们肯定会注意到,接收器和发射器需要不同的输入电压值:接收器5 V,发射器3-12 V(在试用版中,两个模块均由3 V供电)。 无法通过并休眠USB。 仔细阅读Blue Pill型电路板的电路图有助于了解USB,直到USB_P线被1.5–10kΩ电阻上拉至5 V电源时,它才起作用。

一个有趣的事实。 尝试重新激活USB并将示波器插入电路板时,我很惊讶地发现:尽管其上的电压为5 V,但数据线D +和D-本身被拉高至3.3V。

由于时间紧迫,我们不得不妥协并遵循“做七次测量”但要“做测试正确”的原则。 但这仅适用于耐压力的爱好者-我们不建议在家重复。

提示。 不要忽略布局并仔细阅读数据表!

49–40天


我们解决了问题,并制作了一批徽章v2.0。 它仍然是绿色的,但几乎可以正常工作。 那就是手的意思!



如果查看照片徽章,则会在正面看到两条条形码曲线(是的,我们知道QR码的存在,但我们决定要使用热管条形码)。 尝试将指向会议站点和操作说明的链接链接到徽章上,但未成功。 条形码尚未进入最终版本:我们无法决定如何放置条形码,以使其在板上清晰可见。 在较小的版本中,移动设备上的应用程序无法读取它,但是以当前的大小,它看起来太可怕了。

一个有趣的事实。 照片中正确的条形码正在工作,并且包含复活节彩蛋。 那些感兴趣的人可以尝试数一数。

在徽章的第二版中,我们固定了USB,调整了模块的连接,正确地创建了铣削区域。 还删除了额外的组件和大多数调试跳线-但不是全部。

一个有趣的事实。 我必须为显示器留下0欧姆跳线,因为对角线为0.96英寸的I2C OLED显示器有两个引脚,其电源和接地触点的位置不同。 我们无法提前说出该显示器的哪个版本,我们不得不预见这两种选择。


注意电源和接地触点的位置。

在同一阶段,我们开始购买大部分组件。 该徽章仅需要流行的STM32F1,WS2812B和其他消费品-我们没有想到它们的短缺,因此并不着急。 但事实证明,一切都取决于规模。 在莫斯科购买10个控制器存货很容易,而100个也不是问题。 但是从1000或更多的困难开始。 我们在首都找不到能够在合理的时间和足够的资金下交付2000 MK STM32F1的单一卖方。 必须从叶卡捷琳堡订购!

购买8,000个WS2812B LED时也遇到了同样的困难。 后者从欧洲仓库飞到我们身边,并在海关徘徊,这对我们来说是一件好事。

唯一引起麻烦的是无源SMD组件,例如0603号电阻器和电容器。这些都是散装在莫斯科仓库中。

一个有趣的事实。 订购了每种模块200件的附加模块。 它们来自中国-数量不多。

展望未来,我会说所有组件都是在3-4周内获得的。 但这很幸运,我们不会再承担任何风险。

提示。 如果必须购买100、500或更多设备的组件,请不要在长框中延迟任务。 对于这样的系列,要花一个月或更长时间来购买,尤其是在我们谈论微电路时。

39-30天


派对v3.0。 徽章已经是黑色的,并且功能齐全! 只有一个鲜红的细微差别。 从某种意义上说,从徽章的第一个版本开始,在433 MHz发射机上的电源和数据触点的位置出现错误。

由于此错误,在收音机上编写任务的我们的同事几乎变成了灰色。 在他的arduino样机上,变速箱自信地工作了30米,但在徽章上-如果离板子半米,那很好。 几天之后,直到他们发现线路中的错误,一位同事才被折磨了,不知道发生了什么。 Fedor,请原谅我们! 尽管这是一个谜,但为什么带有混合引脚的设备完全可以使用呢?

因此,我们发现了一个错误,固定了板上的两个轨迹,为方便起见,我们将miniUSB连接器更改为microUSB,自己越过了,订购了2000件最终的v3.1。

29-15天


我们走了,担心来自世界各地的组件供应。 一路上,这些家伙完成了他们的任务。

一个有趣的事实。 在开发《 Flappy Quote》游戏期间,一位同事设法通过大约半小时的时间来滋养该机器人。



14天


板子来了,组件来了,我们让安装! 我们与“ M板”合作,在一周内安装了所有2000台设备。

提示。 如果您有100台或更多的设备,则无需进行手动安装,而准备进行自动装配线。 设计PCB时请记住这一点。 (请咨询您选择的制造商-他们可以告诉您很多信息。Resonita网站上有一般建议。)

提示。 PCB制造商通常可以为自动安装准备电路板。 在我们的案例中,工厂将几块板子分组为一个空白,在板子上创建了必要的技术领域并应用了参考点,还把准备组装线所需的所有技术文件留给了第三家组织。



10天


我们从安装中测试12块板,检查并呼气:一切正常。



9-5天


在为最终克服常识做准备的过程中,我们积极完成任务。 毕竟,我们将必须手动刷新所有2000个设备。 为了简化战斗任务,他们使用STM32 ST-LINK Utility的控制台版本编写了python脚本,并准备了两打便宜的ST-Link v2。



提示。 无需BI.ZONE人员的英勇努力,即可在工厂组装的最后阶段对主板进行刷新。 我们没有利用这个机会,只是因为在组装结束之前尚未准备好软件的最终版本。

会议开始前96小时


我们从安装中取出板子,关闭手机,将自己锁在办公室中,并在晚上填充所有2000台设备。

一个有趣的事实。 在2000种设备中,只有2种出现了生命迹象,安装出口处的次品百分比为0.1。



我们的脸上洋溢着欢乐,但思想却遥不可及。 明年的徽章是什么? 我们将通过E-ink证明这一想法还是提出全新的想法? 让我们回到塑料卡的概念,还是会受到东京奥运会的启发而将纸质折纸徽章洗掉? 如果您有新想法,请发表评论:一年后的提议可能会被世界各地的网络安全专家绞死!

而不是结论


OFFZONE 2019在一个月前举行,但仍然有人问我们“我能以某种方式获得徽章”的问题。 是的,你可以! 首先写信给info@offzone.moscow的人将获得100个徽章。 我们运送到俄罗斯和独联体。 该活动将在文章发表之日起持续两周,并将于8月2日恰好在莫斯科时间13点37分结束。

Source: https://habr.com/ru/post/zh-CN460631/


All Articles