You do it because it makes an attacker’s life harder because now I have to find two bugs instead of one.
The entire boot chain of the phone up to the apps you run are verified successively by the component that loads it. A digital signature helps ensure that only trustworthy code ever runs. A bug must be found to bypass these checks to load malware code. For example, a bug in the image code in a web browser might cause loading of code that isn’t checked. This way the malware gets smuggled onto the phone.
This means that if you get hacked via one bug and malware is loaded, the attacker has to work harder to solve the problem of how do I convince the phone to load it again at boot because the code it’s made of isn’t going to be approved code. When you reboot, you are effectively forcing a validation that all the code you have running is authentic, which would exclude the malware. Trick me once sure, can you survive a full pat down? Probably not. It’ll get caught.
Unless I have a second bug to fool the normal code loading systems too, the malware can’t run. You have to go back and trigger the first bug again somehow, which places more strain on the attacker.
Exactly, as you already explained in detail this is primarily for security.
GrapheneOS has a feature to set a time after which the phone reboots in case there was no unlock. So in case a bad actor gets your phone they only have that time with a running system after the first unlock. However, if you use it normally, and unlock it in regular intervals it does not auto-reboot. This is especially neat if your threat level is not "investigative journalist" or "political activist on the run", because then you can set the time to a longer interval and the phone does not reboot every night when you are asleep which also leads to the SIM card being locked and nobody being able to call you...
I remember this feature, and I wish it was a standard Android feature. It sounds like it would be trivial to implement and could be completely optional.
But that only works for untrusted code escaping a sandbox, right? It does not help with malicious code embedded into legitimate seeming apps. The later vector seems easier, especially on Android, no?
I don't really consider a malicious app to be an exploit. In this case, the software is doing exactly what it was designed to do -- malicious activity. It's not being manipulated to perform unintended operations through the exploitation of a software bug. Code signing and secure boot are not effective in the face of intentionally shipping malicious code to end users. It's designed to frustrate actual hackers.
For malicious-by-design apps, we rely on a central app store that hopefully reduces the number of bad apps in circulation. If you publish malware, eventually you get caught and we know who you are. Sandboxing with a permissions system helps prevent apps from performing actions contrary to the user's interests. E.g. why is my flashlight app asking for my contacts when I pressed 'change color?'
If you directly exploit your way in, it's harder to know who did this and why because you didn't go through any central vetting or accountability system, and you're not so easily bound by the permissions system. It depends on what your bad guy's goals are, what they want, whom they're targeting. Force your way in the back entrance, crawl through an open window (like a weak security setting), or lie your way in the front door (trojan)? It depends.
None of it is perfect, but I'm sure OS design experts would love to hear about better solutions if any exist.
Pixels with grapheneos can reboot automatically after a number of hours with the screen off (unattended because you are sleeping). But this would also interfere with Whatsapp backup, which happens overnight.
Reboot Daily: According to research from Amnesty International and Citizen Lab, Pegasus often relies on zero-click 0-days with no persistence. Regular daily reboots can help clean the device, making it necessary for attackers to repeatedly reinfect, thereby increasing the chances of detection over time.
For a case with persistence, Lookout notes another bug was required and details the extra work.
Idk man I just do it when my phone won't ring when I get a call from my dad or doctor or something, so I have to go delete the voicemail and call them back. So like, every couple of weeks. I think it's a Samsung thing, happened on my last phone too.
Nothing wrong with that. I don’t think it’s a mistake to not reboot your phone until you need to. It’s your phone. It’s not like rebooting your phone will save lives or the planet.
My wife doesn’t even use a lock screen password. I’m interested in the nuances of such things.
This is gonna sound odd, but have you cleaned out the USB port lately? Weird stuff happens when pocket lint collects in there. I thought mine had a dead port until I picked out (with a non-conductive toothpick) the lint I didn't realize had accumulated.
Really? My S22u is super stable. I don't think it's ever crashed. The current up time is 377 hours. But that's only because of the 6.1 update a few weeks ago.
Don't e.g. alarm apps not work after that until you unlock your phone since the device data decryption keys weren't kept in RAM after rebooting? I have that feature off since I don't want that to happen. Afaik AOSP has added that to make installing updates more seamless, but it'd be useful for this too. (And since Samsung usually sucks at improving their already self-made stuff to align with AOSP, like Virtual A/B updates, I'm just assuming this)
Phone batteries are typically designed to last around 2 years before they really degrade because a lot of people buy new ones around every 2-3 years.
When the battery can't sustain the same throughput, the phone can handle this in one of two ways.
Slow the phone down. This is what Apple does and why people with iPhones 2 years old complain the new update slowed their phone down.
Don't slow it down but if the throughput drops below what's needed, die and reboot. This is what your phone is doing.
Getting a new battery will probably stop this behavior (and for iPhone users reading this, getting a new battery for a 2 year old phone will make your phone faster).
well, I mean... anything can leak memory. but yeah, enterprise/carrier grade devices are designed to be in continuous use for years and they generally do that pretty well.
TIL, I use GOS and never thought to look, I just see a banner saying there's been updates and I've got "update and restart now", "schedule restart" and "I'll restart myself when ready" (or some such).
The main purpose of this is actually security. Because when the device is in BFU (before first unlock) state, it's much harder to gain access to the data (without the correct unlock credentials). During the reboot, the encryption keys are wiped from RAM, making it essentially impossible to access the device, since brute-force unlock attempts are prohibited by Weaver API, which is enforced by the Titan M2 hardware security module. You can read more about this at https://grapheneos.org/faq#encryption
I remember my old phone had the option to auto reboot and I had it set to like 3am but now I don't see that option on newer phones. My previous phone didn't even have a reboot option I had to shut it down and power it back up
For Samsung phones. Go to Settings -> Device Care -> Under Performance you will see Auto Optimization -> At the bottom of the page you will see Auto Restart -> Restart on Schedule -> Done.
I use Tasker automation that reminds me to reboot after my phone has been up for awhile. I don't think I'd like an auto reboot feature. I don't even like it when I can't postpone a software update until a time convenient for me.
iPhone batteries are small in general. My GF's iPhone se (don't ask me which gen) barely lasted half a day, and took hours to charge. So a couple of years ago I bought her a Z Flip 3 for her birthday because all the girls in the Korean shows she watches had that phone at the time. Now her battery actually lasts a full day, and the phone charges to full in 45 minutes.
The larger iPhones easily last a day. The SE (any gen) are fairly small and thin and don’t have very large batteries. The 12 and 13 mini are also very small and thus don’t have much battery life. If you have a regular sized iPhone or even a Max, battery life is fine, on the bigger ones good even.
The bootloader of your phone (if locked) is one of the most secure parts. It's very hard to get into a modern phones bootloader. In contrast, finding an exploit in a running phone is a lot more feasible.
If a vulnerability was abused to get into your running phone, it will persist until the phone reboots, and the bootloader verifies the core parts of the operating system at startup. In order to persist past a reboot, malware like that would need a vulnerability in the bootloader, or a bypass for its integrity checks.
Alongside that, any background services ("daemons") that got stuck or became slow over time are forced to restart. Operating system updates can be applied, and working memory is cleared.
In general, it's just good advice to just reboot your phone once in a while. There's no harm in doing so.
Forbes uncovered a seriously dated NSA document outlining the best practices for keeping your phone safe from bad actors in the digital space.
The phones depicted are a 2010s-era iPhone with the original push-button Home button and a Samsung Galaxy smartphone.
Over a dozen tips are included, ranging from “considering using Biometrics” to “only use original charging cords.” It’s all fundamental stuff you’ve seen before, but the advice that’s got everyone’s ears perked up is the NSA’s suggestion to power your device off and back on weekly.
It’s a simple way to either force a waning software update or clear any background apps and memory leaks that might contribute to a too-hot-too-handle metal phone.
I’m a frequent restarter because I have cell signal issues in my area—a quick reboot usually does the trick, though not without my heart beating rapidly as I wait to see those mobile service bars return.
The Google Pixel doesn’t have a scheduled offering, but there is an option you can toggle on to have the device automatically restart once it receives an over-the-air (OTA) software update.
The original article contains 314 words, the summary contains 181 words. Saved 42%. I'm a bot and I'm open source!
I'd love to see your list of "stupid" things... not immoral, vicious, incendiary, criminal, etc...but stupid. None of those things is stupid if they are also your fundamental mandate.
GrapheneOS has an option to restart the phone after a given time without any successful unlock. I have it set to 8 hours, so it reboots every night. Shorter is possible.
A freshly restarted phone is in its safest state. Necessary to input the unlock code, strict minimum required processes running in the background.