0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

讲讲嵌入式设备,如何防止被抄袭?

strongerHuang ? 来源:liwen01 ? 2023-10-23 10:48 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式设备被抄袭已是一种普遍现象,特别是在国内,在没有形成技术壁垒之前,如何防止产品被抄袭是一个不可回避的问题。

今天就来讲讲嵌入式设备,如何防止被抄袭?

常规设备

常规设备主要的防护手段有:

专利保护

加密保护代码

授权校验

持续更新和改进

(1)专利保护

对于一些比较重要的技术发明或是创新,应该尽快申请专利。虽然目前国内对于知识产权保护的力度有限,但申请专利还是有用的,至少可以避免专利被别人提前申请,导致自己侵权。

(2)加密保护代码

这里会涉及到加密与性能和成本的平衡,如果对设备成本不是很敏感,可以添加加密芯片;如果是要对程序进行加密,这可能会影响程序的执行效率。

(3)授权校验

在产品中引入授权验证机制,例如使用加密密钥或者授权证书,以验证产品的合法性。这可以有效防止未经授权的复制和使用。

(4)持续更新和改进

及时修复软件中的漏洞和缺陷,持续进行功能改进和升级。这样可以让产品保持竞争优势,并减少被抄袭的动力。

嵌入式设备

对于嵌入式设备而言,主要涉及到结构外观,硬件电路,嵌入式软件。除上面介绍的方法,还可以有下面几种方式,可以增加被抄袭的难度

打磨关键芯片LOGO

关闭调试串口

flash 设置读保护

对关键信息进行加密和混淆

(1)打磨关键芯片LOGO

嵌入式系统中,不同的处理器,使用不同的交叉编译工具,程序分区布局情况也不一样,可以增加逆向工程分析难度

(2)关闭调试串口

正常产品,在量产的时候都应该关闭调试串口,有两个目的:

避免调试串口有信号干扰,影响系统稳定性。

调试串口一般都会把程序的一些调试和系统信息打印出来,别人可以从这些信息入手进行逆向分析。

(3)flash 设置读保护

有一些MCU,在它的烧录器中是可以设置读保护的,也就是使用工具无法直接读取MCU里面的程序。

常规的flash也有保护机制,但是保护等级很弱,可以增加加密芯片的方式来避免程序被直接拷贝。但是会影响程序的效率以及增加设备成本。

(4)对关键信息进行加密和混淆

在嵌入式系统中,受限于flash容量大小影响,一般都会对执行程序进行格式转换,再压缩。运行的时候,先解压,再进行格式转换,最后再运行。

在这里可以增加一个步骤,就是加密和混淆,先对关键信息进行加密,然后再转换,之后再压缩,这样可以大大增加逆向分析的难度。

君正程序破解

下面以君正广发的方案进行分析:

君正的执行程序是放置在根文件系统上,根文件系统挂载上之后,先进行一些初始化设置,然后就直接运行在根文件系统的执行程序。

拿到一个君正T系列官方的固件,如果要进行破解,基本的流程应该如下:

找到根文件系统的位置

解压根文件系统

恢复文件系统格式

找到可执行程序

对可执行程序进行反编译等操作

(1)找到根文件系统的位置

这里涉及到根文件系统的起始位置和大小。

一般而言,根文件系统会是在一个独立的分区,而分区信息是可以在boot的参数中去获取,同时可以获取到根文件系统的类型等信息

对于君正官方的固件,可以在boot中找到bootargs,bootcmd等信息:

fe52528a-7148-11ee-939d-92fbcf53809c.png

通过上面可以知道rootfs的大小为6048K,起始位置为5728K = 0X598000

fe5dc8d6-7148-11ee-939d-92fbcf53809c.png

(2)解压和恢复根文件系统

官方打包的操作方法是:

find . | cpio -H newc -o > ../rootfs_camera.cpio

lzop -9 -f rootfs_camera.cpio -o rootfs_camera.cpio.lzo

find . | cpio -H newc -o > ../rootfs_camera.cpio

它是使用 cpio 命令将当前文件及其子文件打包成rootfs_camera.cpio 文件,使用的是newc 文件格式

lzop -9 -f rootfs_camera.cpio -o rootfs_camera.cpio.lzo

它是使用lzop 命令,将rootfs_camera.cpio压缩成rootfs_camera.cpio.lzo 文件

如果要逆向操作,可以执行下面命令:

lzop -d rootfs_camera.cpio.lzo

cpio -i < rootfs_camera.cpio

lzop -d rootfs_camera.cpio.lzo

将rootfs_camera.cpio.lzo 文件解压到当前目录

cpio -i < rootfs_camera.cpio

rootfs_camera.cpio 文件中的内容将被解包并恢复为原始的文件和目录结构,这些文件和目录将出现在当前工作目录中。

通过etc/init.d/rcS 文件可以找到有启动哪些程序,对应程序放置在什么位置,最后可以通过反汇编等信息得到想要的信息。

(四)如何防止被逆向破解

通过上面对君正官方的设计分析,对于内行的专业工程师,还是比较容易被破解。那可以通过什么手段增加被破解的难度呢?

1.对整个根文件系统进行加密

加密分为对称加密和非对称加密,在嵌入式系统中,比较推荐使用对称加密的算法,比如AES算法

编译打包过程

选择AES密钥长度

生成密钥

使用密钥对文件进行加密

将加密的rootfs_camera.cpio.lzo 打包到固件包里

设备运行流程

kernel 在启动过程中,会将根文件系统拷贝到内存中,然后再进行解压

在解压之前,使用打包时的密钥进行解密,之后再按原来流程继续执行

优缺点

优点是可以对整个文件系统进行加密,破解的难度会比较高

缺点是会影响启动速度,如果对于快速启动系统,这种方式会有影响

2. 只对关键信息加密

对嵌入式系统而言,关键信息可以是:

某些关键算法库

产品序列号等信息

算法模型文件等

加密和解密方式与上面根文件系统加密方式一样,区别是在系统运行的不同阶段进行解密操作

优点是不会影响系统的启动速递

缺点是相对来说,比较容易被逆向分析

最后

所有的加密都有被破解的可能,实际设计产品应根据产品行业安全等级去设计不同等级的加密。不提倡大家去抄袭破解别人的设备,但也应合理地保护好自己的知识产权。

持续更新和改进自己的产品设计方案,让自己的产品和方案形成技术壁垒,这就不会过度的担心自己产品被抄袭了。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    18033

    浏览量

    369340
  • FlaSh
    +关注

    关注

    10

    文章

    1683

    浏览量

    152254
  • 嵌入式设备
    +关注

    关注

    0

    文章

    116

    浏览量

    17453
  • 烧录器
    +关注

    关注

    3

    文章

    245

    浏览量

    27708

原文标题:嵌入式设备,如何防止被抄袭?

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式工业显示器如何提升自动化设备的操作效率??

    在工业 4.0 的浪潮下,自动化设备在各行业中的应用愈发广泛,而嵌入式工业显示器作为自动化设备的关键人机交互界面,其性能优劣直接影响着设备的操作效率。那么,
    的头像 发表于 07-14 15:55 ?179次阅读

    嵌入式开发入门指南:从零开始学习嵌入式

    特定功能的计算机系统,广泛应用于智能家居、工业控制、医疗设备、车载系统等领域。 2. 学习嵌入式开发的前置知识熟悉C语言编程掌握基本的数据结构与算法了解数字电路与微控制器原理熟悉Linux操作系统
    发表于 05-15 09:29

    小身材大能量:解读小尺寸嵌入式主板

    ,就带大家一同深入了解小尺寸嵌入式主板。小尺寸嵌入式主板特点小尺寸嵌入式主板,尺寸规格相对紧凑,专为特定应用场景和设备量身定制的主板。它们
    的头像 发表于 02-17 18:02 ?642次阅读
    小身材大能量:解读小尺寸<b class='flag-5'>嵌入式</b>主板

    嵌入式主板:智能设备的“大脑”,驱动未来无限可能

    在当今这个万物互联的时代,嵌入式主板作为智能设备的“大脑”,正悄然改变着我们的生活。从智能家居到工业自动化,从医疗设备到交通系统,嵌入式主板无处不在,为各种应用场景提供强大的计算和控制
    的头像 发表于 02-07 11:34 ?657次阅读
    <b class='flag-5'>嵌入式</b>主板:智能<b class='flag-5'>设备</b>的“大脑”,驱动未来无限可能

    嵌入式机器学习的应用特性与软件开发环境

    作者:DigiKey Editor 在许多嵌入式系统中,必须采用嵌入式机器学习(Embedded Machine Learning)技术,这是指将机器学习模型部署在资源受限的设备(如微控制器、物联网
    的头像 发表于 01-25 17:05 ?710次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与软件开发环境

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着控制、处理和通讯等多种功能。本文将对嵌入式主板的基本概念、构成部分、
    的头像 发表于 01-13 16:30 ?820次阅读
    <b class='flag-5'>嵌入式</b>主板的概述与发展

    ARM架构嵌入式主板特点

    嵌入式主板可以理解为嵌入设备中用于控制和数据处理的CPU板,也就是设备的“大脑”。当主板嵌入设备
    的头像 发表于 12-31 16:03 ?1112次阅读
    ARM架构<b class='flag-5'>嵌入式</b>主板特点

    新手怎么学嵌入式?

    新手怎么学嵌入式? 在科技飞速发展的今天,嵌入式技术已经渗透到我们生活的各个角落,从智能手机到智能家居,从汽车电子到医疗设备。对于新手而言,嵌入式技术就像是一座充满神秘和机遇的宝藏,等
    发表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指将人工智能技术应用于嵌入式系统中的一种技术。嵌入式系统是嵌入到其他设备或系统中的计算机系统,通常用于控制、监测或执行特定任
    的头像 发表于 12-11 09:23 ?1062次阅读
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系统开发与硬件的关系 嵌入式系统开发常见问题解决

    嵌入式系统开发与硬件的关系 嵌入式系统是专为特定应用设计的计算机系统,它们通常嵌入在所控制的设备中。这些系统的关键特点是它们与硬件的紧密集成,这意味着软件必须为特定的硬件平台量身定制。
    的头像 发表于 12-09 09:38 ?1024次阅读

    嵌入式超火的方向有哪些?

    目前,随着全球物联网设备的大量使用和ChatGpt等AI大模型的出现,嵌入式系统市场目前呈现出快速发展的趋势,各种嵌入式系统广泛应用于汽车、医疗、农业、工业自动化、安防监控等领域。但
    发表于 11-21 15:49

    嵌入式系统与物联网的结合

    随着科技的飞速发展,嵌入式系统和物联网(IoT)已经成为现代技术领域的重要组成部分。嵌入式系统是指嵌入设备或系统中的专用计算机系统,而物联网则是指通过互联网将各种
    的头像 发表于 11-06 10:23 ?1179次阅读

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入
    的头像 发表于 10-16 10:14 ?2700次阅读

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是
    的头像 发表于 09-30 10:05 ?1666次阅读

    嵌入式系统的未来趋势有哪些?

    (ML)技术的快速发展,嵌入式系统将更多地整合这些先进技术,以支持智能决策和自动化。在设备上直接运行AI和ML模型,进行图像识别、自然语言处理、预测分析等任务,将极大提升嵌入式系统的智能化水平。比如说在
    发表于 09-12 15:42