• henfredemars@infosec.pub
    link
    fedilink
    English
    arrow-up
    28
    ·
    edit-2
    13 days ago

    Basically, the secure boot process of your smartphone ensures that only validated software has been loaded. The chip itself validates the bootloader, which validates the kernel, which then successfully forces validation on every app that gets loaded. Most exploits work by corrupting memory or injecting code that shouldn’t be on the system. By rebooting, you are forcing a revalidation of everything that runs, which is going to exclude the attacker’s code unless the attacker can come up with an additional bug to bypass the validation on boot. Any software that doesn’t have a valid digital signature from a trusted source simply won’t get executed.

    You can see this in the jailbreak scene on iPhones. Jailbreaks are classified into tethered and untethered categories. A tether jailbreak is such an exploit that can inject code but can’t survive the validation process upon reboot, so it goes away, meaning the user has to tether to a computer and repeat the process every time. Untethered requires two bugs: The bug to inject the code, and the bug that dodges verification and is capable of injecting code when the system is starting. There’s also a class of jailbreak called semi-untethered that goes away when you reboot, but it’s possible to exploit again manually by the user using tools left behind on the phone, but the same basic principle applies that injected code goes away upon rebooting unless you have another trick up your sleeve.

    • sloppy_diffuser@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      13 days ago

      GrapheneOS provides an auto-reboot feature which reboots locked devices after a set period of time to put data at rest. A countdown timer is started each time the device is locked, and the device will reboot if a successful unlock doesn’t occur before the timer reaches zero.

      https://grapheneos.org/features#auto-reboot

      Essentially it drops the decryption key derived from your unlock pattern / code. Attacks to access files while the decryption key is loaded, even if the phone is locked, are mitigated. The only things that works after a reboot are phone calls, SMS, and the alarm clock. I have mine set to reboot every 4 hours of inactivity.

      I believe this feature is to not only to mitigate your average attacker but also law enforcement threat levels who purchase exploit kits. Can’t do much without the decryption key so they are left with slow brute force attacks.

          • ⓝⓞ🅞🅝🅔@lemmy.ca
            link
            fedilink
            arrow-up
            4
            ·
            13 days ago

            This has all been a very interesting thread. Thank you. I’m thinking I need to set something up with my phone. It does force the password every 72 hours, but it won’t do anything about the boot loader since it doesn’t reboot automatically.