8 ms·
I wonder what the 'safest' uptime possible is today, for a computer connected to the internet? e.g. what's the oldest linux kernel that has no known remote atta
by joosters 7y ago
I wonder what the 'safest' uptime possible is today, for a computer connected to the internet? e.g. what's the oldest linux kernel that has no known remote attacks (not just remote exploits but DOS weaknesses too) ?
To make it more difficult, what would be the safest uptime for a box that allowed remote logins? SSH flaws don't count, since you can always upgrade that on the fly, but kernel-level privilege escalation weaknesses would count as critical.
- necovek 7y agoWhy would you limit yourself to Linux: it has a very large "surface" area so new vulnerabilities are found all the time. It has the benefit of large number of eyes on it, so gets patched quickly (and can be live-patched for most part), but it's not a good candidate for super-long uptime. I would imagine something small and stripped down serving a particular purpose would fare better. And OpenBSD prides itself in security for general purpose computing, but it still gets regular security fixes.
- joosters 7y agoLinux was just an example, in fact I'd guess that there's probably a lot of BSD variants out there with ridiculous uptimes. I think the 'allows user access' bit is the thing that would limit safe uptimes the most, since once you're logged in to a box, the kernel surface area for attacks is much larger.
- deleted 7y ago[deleted]
- zaarn 7y agoDon't look into BSD, you gotta look at mainframes. Some of the mainframes at banks have been running since they bought the very first one in the 90s or even 80s. Since stuff like VMS allowed to simply clustering, you could simply add modern machines, transfer over and shutdown the old hardware without having to shutdown the system itself. These are probably the only machines with a chance to reach 30+ years of uptime.
- dogma1138 7y agoMany if not all of these mainframes have been fully upgraded or at least serviced due to hardware failure while still running. I’m not entirely sure how you define uptime for these machines if none of the original parts are still there.
- pinkfoot 7y agoTrivially: 100%
- verisimilitude 7y agoPhilosophers ask a similar question to yours: https://en.wikipedia.org/wiki/Ship_of_Theseus https://en.wikipedia.org/wiki/Ship_of_Theseus
- dogma1138 7y agoI was hinting at that, which is why we should define an uptime of a system rather than a machine because with distributed systems that uptime of the system isn't dependent on the uptime of a single "machine" and a mainframe is a distributed system even if it's in a single rack. The question is then where you define the boundaries of a system and it's uptime. At least from my recollection for mainframes they defined uptime based on the execution of batch jobs and availability of services not the OS/Hardware which if it crashed often involved Big Blue coming to investigate WTF happened and how it happened since System Z machines are designed with so much redundancy that you can swam RAM modules without interrupting the workflow. Today with RAIM (RAID for Memory) IBM System Z machines even support an entire memory channel dying without interruption.
- zamadatix 7y agoBut the topic is safe uptime for a computer connected to the internet. I have no doubt a mainframe has a chance to reach 30+ years of lifetime but I also have no doubt it'd also be done for if attacked.
- giancarlostoro 7y ago
- cameronbrown 7y agoWith kernel upgrades in place is this an issue anymore?
- joosters 7y agoIn-place kernel upgrades are cheating wrt uptime :)
- SmellyGeekBoy 7y agoWhy?
- joosters 7y agoNo real reason, just that they potentially give you unlimited uptime. I know that's a good thing, just not for this particular silly challenge :) Although, in-place upgrades haven't been around all that long in the grand scheme of things. Perhaps there's a box out there that predates in-place upgrades and is still running securely?
- zamadatix 7y agoDepends how long you're willing to backport security fixes. Even Red Hat only goes ~15 years.
- zaarn 7y agoAsk your bank what the uptime on their mainframe is, with good chance, it'll be higher than anything else you've seen (unless power outage).
- chief167 7y agoAs someone who works in finance, I can tell you it's going to be less than a year. Although uncommon, those things sometimes reboot as part of maintenance. For example, we upgraded our COBOl compiler and all got an email that for like half an hour after midnight in a weekend the mainframe would be down for maintenance.
- jankotek 7y agoWe rebooted system as part of training every two years, new staff needed to know how it is done :-)
- swarnie_ 7y agoI'm a Natwest/RBS customer. I'm going to guess their uptime is about three weeks.
- ClumsyPilot 7y agoMy experience is literally that 1/3 of my logins result in "our system is down right now". Probably because I often want to check my account in the evening on a weekend.
- ClumsyPilot 7y agoIt depends on your definition of a computer. A bare-metal embedded system could be fine without any software updates, ever. Some of them are in-place sensors for weather/temperature/whatever. Think of an Arduino with an Ethernet shield, that measures air temperature, encrypts with AES and sends it over plain TCP connection. There is no port is open for listening, and there is nothing to hack into. The only possible vulnerability is OTA update, but in some cases you might purposefully avoid that. For example in the rail industry, the only way to update their devices is to physically change the hardware, and that is done intentionally. The hardware might be sleeping for 99% of it's service life, and is typically over-engineered. They could run into the next century if corrosion doesn't get them.
- GhettoMaestro 7y agoClient side vulns do exist. Your model is not complete.
- ClumsyPilot 7y agoI am not claiming they don't, but often these devices only run thousand lined of code, not millions. The security challenge is much, much smaller than securing the Linux kernel.
- joosters 7y agoIf it's doing TCP then there's a whole network stack to attack. I bet there's a big range of embedded systems that can be crashed because they have a simplistic cut-down, non-hardened TCP/IP/Ethernet implementation that can be abused. You've got a chance of breaking it through sending malformed packets to cause a panic, or just exhausting its memory - which might cause it to reboot (maybe lots of fragmented packets?) The lack of listening ports might shrink the attack surface, but a malicious endpoint that it connects to might be able to confuse it. (or perhaps some evil MITM attacker)
- thisisnico 7y agoI bet that these devices are local only. Working in IT the security measures for these devices are likely that they are sitting on their own isolated VLAN. Routing is likely controlled by layer 3 switches with dedicated ACLs to only allow certain systems to obtain access to that VLAN. If it's a rail company the network itself is likely protected by an Cisco ASA or ASA style dedicated network security appliance. Networks have been hardened pretty well. Most often the exploits that IT is worrying about is application-based and user-based (social engineering).