如果某个程序已存储在微处理器中,那么其他公司是否有可能采用该微处理器并读取程序代码以对其进行复制? [英] If a program has been stored in the microprocessor, is it then possible for other firms to take that microprocessor and read the program code in order to make a copy of it?

查看:99
本文介绍了如果某个程序已存储在微处理器中,那么其他公司是否有可能采用该微处理器并读取程序代码以对其进行复制?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨.
我目前被分配到大学的一个项目,
我们与来自其他领域的学生合作.
我很难解释微处理器中如何存储代码.

他们问我一个问题,我不知道该怎么回答:

如果程序已存储在微处理器中,那么其他公司是否有可能采用该微处理器并读取程序代码以对其进行复制?"

提前谢谢你
Br.
Nikolai

Hi.
I''m currently assigned to a project at the University,
where we are teamed up with students from other fields of study.
I have a hard time explaining how code is stored in a microprocessor.

They asked me a question, which I do not know how to answer:

"If a program has been stored in the microprocessor, is it then possible for other firms to take that microprocessor and read the program code in order to make a copy of it?"

Thanks you in advance
Br.
Nikolai

推荐答案

取决于微控制器,以及如何将数据写入该微控制器.

有些具有安全性位,当该安全性位设置为1时,将其传输出设备时会破坏部分或全部数据(PIC设备会执行此操作-它们被称为 ^ ])您一旦对照主文件验证了设备中的信息,就应显式设置这些位,以防止后续访问.
有些设备没有这样的功能-特别是基于旧版EPROM的设备通常非常容易受到攻击.

BNe意识到大多数此类系统都可能以某种方式被破坏-信息在网上存在,因此,如果IP盗窃对您的设备造成重大风险,那么这可能不应该是您唯一的安全机制.
Depends on the microcontroller, and on how the data has been written to it.

Some have a security bit which when set corrupts some or all of the data when it is transferred out of the device (PIC devices do this -they are called the Code Protection Bits[^]) You explicitly set these bits once you have verified the information in the device against your master file to prevent subsequent access.
Some devices do not have anything like this - the older EPROM based ones in particular are very vulnerable in general.

BNe aware that most of these system can be broken in some way - the info is out there on the net, so this probably shouldnt be your only security mechanism if IP theft is a significant risk with your devices.


是,不是.这在很大程度上取决于许多因素.原则上,在某些处理器体系结构中,可以以无法以任何其他方式读取代码的方式隔离代码,除非实际执行该代码,这当然不能完全显示代码存储器的内容.

(处理器状态的某些更改可以严格地单向完成.例如,使用英特尔x86/I64架构,可以保护某些内存段,无论采用何种保护方式,都无法读取任何内容.环.只能通过重新设置处理器或断开电源来卸下该段.)

在简单的处理器中,情况并非如此.同样,答案取决于您所说的存储"和在微处理器中".通常,微处理器中根本不存储在微处理器中执行的代码. 它存储在处理器外部的 RAM 中.排除项是 微代码 (请参阅下面的参考资料).您是在说一些非易失性存储器吗?通常,只有在通电时才存储可以按照我所解释的方式保护的RAM信息.某些代码可以存储在逻辑上充当RAM的非易失性内存中(例如BIOS,具有易失性和非易失性内存,另一件事是 UEFI ,可以视为 BIOS 替代).

因此,至少可以通过一个简单的原因来读取处理器外部的非易失性存储器:根本不必将其连接到CPU,同时,在断电时也可以保留该非易失性存储器.但是,由于微代码的功能完全不需要读取其上下文,因此可以完全受到保护.仅当执行处理器指令时才执行其执行,因此外部观察者完全看不到微代码的存在.

一些信息,仅供一般理解:
http://en.wikipedia.org/wiki/Ring_%28computer_security%29 [ ^ ],
http://en.wikipedia.org/wiki/RAM [ http://en.wikipedia.org/wiki/Non-volatile_memory [ http://en.wikipedia.org/wiki/Micro-code [ http://en.wikipedia.org/wiki/BIOS [ http://en.wikipedia.org/wiki/UEFI [
Yes and no. It highly depends on many factors. In principle, in some processors architectures, code can be isolated the way it cannot be read in any other way except actually executing this code, which is, of course, does not fully reveal the content of the code memory.

(Some changes of state of the processor can be done strictly one-way. For example, with Intel x86/I64 architectures, it''s possible to protect some memory segment which nothing can ever read, no matter in what protection ring. The segment can only be removed, by re-setting the processor or removing power supply.)

In simple processors, this is not the case. Also, the answer depends on what do you call "stored" and what is "in microprocessor". The code executed in microprocessor is not normally stored on it at all. It is stored in RAM, outside the processor. The exclusion is microcode (please see the reference below). Are your talking about some non-volatile memory? Usually, the RAM information which can be protected the way I explained, is stored only when the power is supplied. Some code can be stored in non-volatile memory which is logically act as RAM (example is BIOS, which has volatile and non-volatile memory, another thing is UEFI, which can be considered as BIOS alternative).

So, non-volatile memory outside processor can be read by at least one simple reason: it does not have to be attached to the CPU at all, at the same time, it is preserved when power is off. However, microcode could be totally protected, as its functionality does not require reading its context at all; its execution is engaged only when processor''s instructions are get executed, so the presence of microcode is completely hidden from an outside observer.

Some information, just for general understanding:
http://en.wikipedia.org/wiki/Ring_%28computer_security%29[^],
http://en.wikipedia.org/wiki/RAM[^],
http://en.wikipedia.org/wiki/Non-volatile_memory[^],
http://en.wikipedia.org/wiki/Micro-code[^],
http://en.wikipedia.org/wiki/BIOS[^],
http://en.wikipedia.org/wiki/UEFI[^].

—SA


这篇关于如果某个程序已存储在微处理器中,那么其他公司是否有可能采用该微处理器并读取程序代码以对其进行复制?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆