Re: Putting together a computer from old components

Spiros Bousbouras <[email protected]>
Newsgroups alt.comp.hardware,uk.comp.homebuilt
Organization Aioe.org NNTP Server
Message-ID <[email protected]>
On 03 Dec 2021 13:56:52 +0000 (GMT)
Theo <[email protected]> wrote:
> Jaimie Vandenbergh <[email protected]> wrote:
> > On 29 Nov 2021 at 18:46:48 GMT, "Spiros Bousbouras" <[email protected]>
> > wrote:
> > > - Do ARM processors have anything analogous to the Intel management engine ?
> > > If not then yes , that's a plus in my book. Plus I want to learn some ARM
> > > assembly so having an ARM processor would be a bonus.
> > 
> > I am fairly sure (but not 100%) that they do not. Raspberry have solid
> > documentation, and I've not found an extra controller inside but also
> > they don't make a statement that there isn't (I mean why would they
> > think to?)
> > https://www.raspberrypi.com/documentation/computers/processors.html#bcm2835
> 
> Arm designs processors, it doesn't design chips.  It's up to the chip designer
> to decide what else to put in there.  For example you can get the same Arm
> core with an Arm, Qualcomm or Broadcom GPU.
> 
> It is quite common for systems on chip to have additional microcontroller
> cores for managing things, for example booting, clocks, power and DDR
> timing.  Some of those may be exposed (as a 'system control unit'), but
> others aren't.  For example the battery will have a microcontroller in it to
> keep an eye on the charging/discharging profile, the touchpad will have a
> microcontroller for speaking USB, etc etc.  Many of those microcontrollers
> don't have access to system memory (especially not the ones off-chip), but
> some do.  They don't often appear on the datasheet as a 'processor' but
> simply as a functional block for doing those things (eg a battery monitoring
> unit).  Almost none of the firmware that runs on all of these pieces is open
> source.
> 
> In the Raspberry Pi case there's a GPU that runs closed-source firmware, so
> it's not unusual in that respect.  Whether it's analogous to the Intel ME
> depends on what you're concerned about: the GPU doesn't have a network
> socket on it, but then it can reach the ethernet controller (maybe another
> CPU!) over the memory interconnect.  (Arm offers a System MMU to provide
> some degree of protection here, but the RPi doesn't use one).
> 
> So if you were worried about a supply chain attack providing you malicious
> GPU firmware then it's not going to help.  If you're worried about malicious
> network traffic attacking the GPU, that won't get to the GPU in normal
> operation.
> 
> I'm not familiar with the internals of the 15-20 year old AMD systems you're
> talking about, but I would be unsurprised if there were similar control
> processors in there for doing similar kinds of tasks - just more basic ones. 
> And of course those systems haven't had a BIOS update in 15 years so any
> vulnerability lurking in there is not going to be patched.  When you start
> building a system with a GPU, network card, storage controller, etc, that's
> all firmware that hasn't seen updates in a decade or more.
> 
> TL;DR: you need to boil down to exactly what is objectionable in the Intel
> ME before asking whether the same threat exists on other platforms.  'Other
> things running software you can't see / isn't open source' is a given, on
> anything more complex than a Sinclair Spectrum.

What is objectionable is the increase in the attack surface created by the
management engines (both Intel and AMD) without sufficient explanations on
what functionality they offer (useful to the user or in general). There is
also the fact that many respectable sources express similar concerns. The
question "Do ARM processors have anything analogous to the Intel management
engine ?" indirectly also asks whether similar concerns have been expressed
about ARM processors ; and it's not just a matter of existence but also of
degree. By degree I mean the degree of at least the following 2 parameters :

- Complexity of the functionality ; larger complexity means greater opportunity
  for security flaws.

- Justification of the functionality from the point of view of the end user
  (me !).

There is of course also the binary parameter of whether it's secret or not.
The more things are secret , the worse. I probably can't avoid all secret
firmware (as you point out) but I will try to avoid what I can. I note also
that there is a political component which seems to parallel the time when
Stallman started his GNU efforts towards open source software , at least
according to how he tells the story. According to Stallman , most software
used to be free , not necessarily in the modern legal sense as embodied by
the GPL and other licenses but in a practical sense in that you could inspect
the software and modify it. Then the trend started to move towards close
source and Stallman tried to oppose this with some success. In an analogous
fashion , in hardware the trend seems to be towards more secrecy and more
taking control away from the end user and owner of the hardware for unknown
ends. I'm trying to resist this. I don't expect I will be anywhere near as
successful as Stallman was with software but I (will) do what I can.

Anyway , thanks for all the technical information. Even if I don't manage to
mitigate my risks with my proposed measures (you seem to think that I may
even be increasing my risks) , I'm learning useful relevant information.

-- 
vlaho.ninja/prog
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.