On Tue, Mar 14, 2023 at 01:17:00PM -0500, Scott Cheloha wrote:
> > On Mar 14, 2023, at 11:32 AM, p...@delphinusdns.org wrote:
> > 
> >> Synopsis: can we resist agains bit flipping?
> >> Category: system
> >> Environment:
> > System      : OpenBSD 7.2
> > Details     : OpenBSD 7.2 (GENERIC.MP) #2: Thu Nov 24 23:53:03 MST 2022
> > r...@syspatch-72-arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/GENERIC.MP
> > 
> > Architecture: OpenBSD.arm64
> > Machine     : arm64
> >> Description:
> > https://en.wikipedia.org/wiki/Single-event_upset
> > 
> > A single event upset gave someone in belgium who was in a poll, 4096
> > extra votes.  When I think about this bit flip and look at the kernel
> > code for an ultra secure operating system there is not much stopping
> > someone to try an attack during a cosmic storm or increased solar
> > activity.  Perhaps a bit flips somewhere in the CPU or RAM?
> > 
> > pjp@polarstern$ grep sourceroute ip_input.c
> > int     ip_dosourceroute = 0;
> >                        if (!ip_dosourceroute) {
> >        if (!ip_dosourceroute)
> >                    &ip_dosourceroute);
> > 
> > Like here.  As you know someone found something last week if this were
> > enabled.  But the way this check is.  It doesn't check for the low bit set 
> > to
> > one but it checks for the inverted value, so if the 12th bit was flipped in 
> > a
> > solar storm ip_dosourceroute would now be 4096.  And the system would be 
> > wide
> > open.
> > 
> >> How-To-Repeat:
> > Hackers probably check the weather report like 
> > https://spaceweather.com/ for increased solar activity and then fill
> > the CPU caches with attempts to get a bit flip happening.  The odds
> > aren't in their favour but who knows they may get lucky. 
> >> Fix:
> > I propose all these variables to be monitored occasionally with a CRC
> > check and if there is a bit flip happening to unset it to the right value.
> > This is a lot of work but may be worth it.  OpenBSD would never be faring to
> > space right?  I have no code but trying to think around how to do this.
> 
> Why wouldn't you just buy ECC memory?
> 
> https://en.wikipedia.org/wiki/ECC_memory
> 

Good idea, but nothing is perfect of course :)

An interesting read and research:
https://www.vusec.net/projects/eccploit/

-- 
Kind regards,
Hiltjo

Reply via email to