首页 >> 新闻资讯 >

智能硬件开发基本入门守则以及安全入门原则

来源:朗创物联网软件公司 | 时间:2022-04-22 13:03:24 | 浏览: 0

     在智能硬件开发方面,使用PC、服务器和移动设备的消费者较少。过去,这个领域的很多研究人员都在电子行业,但现在物联网的普及让很多黑客和安全研究人员进入了这个领域,使得这个领域的产品安全问题频繁发生!

    物联网的发展使虚拟网络与现实生活紧密相连。一旦出现安全问题,被黑客攻击将对人们的现实生活环境产生严重影响和危害,甚至危及人身安全和生命安全,如车联网的安全等。

    物联网安全已成为未来一个重要的发展趋势。

    对于许多没有涉足这个领域的人来说,尤其是那些以前从事过计算机行业的人,他们觉得这个领域太广了,涉及到很多处理器架构,有很多嵌入式操作系统和非操作系统,所以他们觉得自己无法启动。然后,本文的主要目的是引导新人开始学习,或者给想要转向这个方向的朋友一个学习参考。当然,我的个人精力有限,我只能踏上少数几个方向。目前

    我只是用一个特定的学习路线来引导你尽快开始。就安全而言,这个领域还相对较新,需要学习的东西太多。将来,我会把一些好的技术文章发到这一部分,与大家讨论和学习。

    1、 什么是智能硬件

    首先,我们应该理解什么是智能硬件,明确概念,以便定位方向,而不是无法启动。智能硬件实际上是智能手机概念的升级,即对传统设备进行升级改造,使其具有某种智能,如电视、冰箱、空调、手表、门锁、茶杯、医疗器械、玩具、机器人、,

    汽车甚至房屋。因此,智能硬件的发展方向比较广泛,涉及的领域也比较广泛,相关产业也比较多。与PC平台不同,我们只需要关注某种处理器体系结构,甚至只是某个操作系统平台。如果你想完整列出智能硬件的知识架构,

    你可能需要写一本书,但你不能把它完整地列出来。我们每个人都有有限的精力,我们不能参与每一个领域,所以我们只需要关心某个领域或方向。

    2、 按软件分类

    根据设备使用的不同软件系统,

    我将这些智能硬件分为以下四类:

    1.安卓设备系列,包括智能手机、智能电视、智能手表、车联网、智能导航设备等。

    2.IOS设备系列,主要是苹果产品。

    3.嵌入式操作系统:嵌入式Liux、VxWorks、FreeRTOS、Widows XP Embedded、Widows CE、RTX、uCliux等,与嵌入式操作系统相关。

    4.非操作系统(这里特指非智能设备):如摄像头、摄像头、洗衣机、电子玩具、键盘、鼠标、摄像头、麦克风等电子设备,以及仪器、电子卡、SIM卡等。

    对于熟悉安卓和IOS的朋友来说,前两种设备应该不是问题。这两个部分有很多非常好的文章。有兴趣的人可以学习这两个部分。这里我主要介绍后两种设备。这两种设备都需要嵌入式开发相关知识和MCU相关知识作为准备。

    大多数嵌入式系统都是POSIX标准。对于本部分的介绍,您可以先学习Liux,然后学习嵌入式操作系统的移植。开始应该不难。安全性研究和逆向分析与传统方法相似。毕竟

    它们都是基于操作系统的,学习思路非常相似,但后面部分涉及的编译将有所不同。

    对于那些非操作系统设备,安全研究和逆向分析相对困难,因为这些设备大多是封闭或半封闭的。基本上,他们需要打开包装,分析电路板,测试和分析电路板。在这方面,介绍主要是基于对单片机的学习,这将更进一步。我们可以先学习MCU,然后再学习嵌入式,反之亦然。

    这两个方面需要了解硬件,但重点不同。

    3、 如何使用硬件设备

    因为有太多的硬件设备和嵌入式系统,太多的设备会让我们不知道从哪里开始。首先,在我们计划学习之前,我们需要弄清楚我们的学习目的是什么,我们的兴趣是什么。只有在我们发现这些之后,我们才能有具体的学习目标,这对我们开始学习更有帮助。

    目前,我们的目标不是做硬件开发或嵌入式开发。我们的目标是做安全研究和逆向工程。我们能对硬件做些什么

    1.利用安全漏洞:登录验证、弱密码、弱加密、溢出漏洞、固件更新漏洞、敏感信息泄露、,

    不安全的访问控制、嵌入式系统留下的漏洞等。目前,物联网主要体现在很多方面,它实际上是传统安全问题在新领域的复制。

    2.开源硬件DIY:开源硬件材料齐全,需要一定的硬件知识,但主要测试动手能力和错误消除能力,如raspberry pie(现在很多系统主动支持raspberry pie,尤其是3,无限潜力)、ardurio、ATMEL Explaied(pro)、coocox开发工具、Galileo开发板等;还有一些特殊的机器人开源项目(dfrobot、turtlebot等)、四轴飞机(3DR solo、mikrokopter、crazepoy、,

    3D打印机(Ormerod、mamba3d、ultimaker等)。

    3.固件反向工程:反向固件并在固件级别查找安全问题。例如,圣地亚哥华盛顿大学和加利福尼亚大学的研究人员通过使用蓝牙固件漏洞获得了汽车远程信息处理单元的远程代码执行权限。

    4.固件代码植入:在固件中植入恶意程序,如equatio orgaizatio的硬盘固件病毒,可用于个人感兴趣的安全研究。例如,今年有一个关于blackhat的主题是将病毒植入PLC。你可以关注它。

    5.固件DIY:

    很多人在国外玩,

    例如,鼠标被转换成扫描仪,背光键盘被转换成蛇游戏。稍后,我将分享这些文章来介绍分析方法和实现原理。

    6.DIY硬件:DIY硬件要求你对硬件有更多的了解。你需要一些手工技能来设计电路图和自己焊接。在这方面,本节后面将介绍一些介绍方法的帖子。

    7.破解:例如,各种卡片的破解。

    4、 物联网的机遇

    上面介绍的第一个游戏实际上是一个传统而安全的游戏。在物联网时代,

    当一些与网络隔离的设备被添加到智能操作系统并连接到互联网时,传统的安全研究思路和方法可以再次发挥它们的威力。

    由于物联网的发展,大量以前存在漏洞的系统暴露在网络中,大量核心技术工程师来自传统的嵌入式工程师。由于缺乏安全发展意识,物联网设备中出现了许多低级安全问题,如各种路由器密码后门、智能电视登录验证薄弱、遥控器与智能家居之间的明文通信或加密通信薄弱等,

    智能交换机和云的弱验证、远程溢出漏洞等,使得这些设备的安全问题随着物联网的发展不断暴露。因此,这一领域的大量安全问题正等待着您去发现。这也是一个新领域的老问题,也是你介入的最佳时机。总之,目前物联网的安全漏洞仍处于一个非常容易探索的时期。

    当然,在万物互联的背景下,汽车安全、工业控制安全、POS系统安全、医疗网络安全等都成为人们关注的热点问题。当然,也有一些,

    如监控摄像头、ATM安全、无线通信安全等。

    基本准备:

    如果你以前做过渗透测试或漏洞挖掘,你基本上可以直接测试你周围的智能路由器、智能交换机、智能电视和其他设备,以及控制这些设备的应用程序

    一些基本知识:

    1.熟悉嵌入式操作系统,如Liux、VxWorks、FreeRTOS、RTX等,

    您可以尝试编译和安装这些系统,并熟悉它们的文件系统。

    2.学习arm和MIPS编译

    3.能够使用通用渗透测试工具进行测试。建议使用Kali系统,并配备齐全。

    物联网的播放方式更简单,不需要关心硬件。传统的渗透测试和模糊测试方法也适用。更深入地说,您可以转储固件。这些固件(嵌入式系统固件)是嵌入式操作系统及其以特定格式存储的文件系统。您只需提取相关程序(通常是arm和MIPs编译的程序)进行分析即可发现安全漏洞。

    当然,你可以选择最简单的游戏,比如许多智能家居设备,比如智能开关、智能冰箱、智能电饭煲等。这些智能设备将支持Adroid和IOS进行控制。

    你可以直接分析和测试这些应用是否存在安全问题。

    5、 开始使用底层硬件

    如果你对底层感兴趣,让自己玩得更深入,最好熟悉硬件的底层。当然,我们没有条件,也不需要制造那些杂乱的设备,但我们可以得到一个设备,用工具观察、分析和拆卸它。因此,只要我们愿意这样做,并使用搜索引擎检查电路板的芯片指令,即使我们最终失败了,我们也可以学到很多东西。当然,在我们完成这些任务之前,我们还需要做一些准备。

    我们最好打下坚实的基础,以便解决许多看似困难的问题。

    1.首先,你最好学习一下单片机。这是您熟悉硬件的最佳方式。熟悉C语言真的很简单。虽然我们的目的不是编程,但编程对我们进行逆向分析和理解其运行机制非常有用。最简单的是51单片机,其次是PIC、AVR和STM32。从这些编程中,您可以尝试理解8051指令集、AVR指令集和arm指令集的相反含义。

    学习MCU更重要的是学习与外围设备的通信、接口连接、,

    调试方法等等。

    1) 外围设备包括LED灯、a/D(D/a)转换器、键盘、数码管、LCD屏幕、传感器、红外线、收音机、电机等。

    2) 接口包括USART、RS232、PCI、SPI、I2C、USB等

    在附件中,我将上传一些资源供您学习。如果你理解这一点,你基本上有一定的基础。

    当然,并非所有的外围设备都需要完全学习。您可以在研究相关外围设备时检查数据。您可以关注反向,在反向时编写代码,并了解从开机重置到自己的代码执行的过程。

    如果你不学习SCM,

    直接向物联网方向进行安全分析没有问题。在这方面,只要找到攻击面,就很容易开始,但专家们会更深入地理解它,以便最大限度地扩大攻击面。

    2.装配知识。事实上,对于8051、AVR、arm和MIPS处理器体系结构,您不必担心组装问题。当你学习一个平台时,你可以有一本参考书。这些都是公共平台。

    3.电子线路不需要太深。它可以简单地识别电气元件及其功能,识别方框图,并读取一些芯片图、引脚和接口图。主要是当你拆卸设备时,

    你可以识别出那些是控制器,那些是闪存,在找到数据表后你可以理解芯片图。

    4.需要熟悉一些工具的使用:

    1) 调试工具,如JTAG/SWD emulator、opejtag、使用USB到串口工具等。如果我们能准确地找到与MCU相关的程序员,那就更好了。在这方面,我们将在下面的文章中介绍如何使用opeocd进行固件调试,以及如何直接取出闪存并读取闪存数据。

    2) USB协议分析工具,如usbpcap和Wireshark这些工具用于在设备升级但无法调试时分析USB数据包,

    你可以分析升级固件程序的机制,

    然后使用libusb库编写自己的固件转储工具和擦除工具。这一部分是通过分析文章介绍给大家的。

    3)在具备一定的基础后,可以根据自己的需要进行DIY调试模拟器、Flash阅读器等的设计。现在很多外国情人都是白手起家的。

    

    

城市分站

在线咨询
QQ咨询
服务热线
服务热线:18530930310
TOP
点击拨打电话