Updates, Patching and fixing the holes.
There’s nothing more infuriating than having your workflow interrupted – once you’re working, and you’re in the zone, it can be a real pain having to break off for anything. Unfortunately, a lot of these interruptions aren’t in the form of phone calls, or colleagues in the office, but from the box on your desk – Whether it’s Windows Updates prompting you to reboot to finish updates, or Java asking you to install the latest version, there’s always something your device will ask of you for every bit of time it gives you in return (and working in IT, believe me, we know this better than anyone!)
Today, we’ll be looking at updates as a whole, and what they actually do. I hope that we can convince you that while these updates can be a nuisance, they are also absolutely essential.
What are updates?
There are two main categories that most updates fit into, regardless of what the update is for – Fixing security flaws, and improving stability.
Modern Anti-Virus usually works from a list of known viruses. Each virus has a very specific signature, which your Anti-Virus product can detect. Once detected, the product then stops any application using that signature from running. You can think of this almost like a shopping list – unless your list is up to date, you’re likely to forget the milk!
The same applies with Anti-Virus products. There is a small window of opportunity between a virus being created, and that virus being added to the list – during that window, your Anti-Virus is unlikely to be able to stop the infection. This is known as a Zero-Day attack.
The thing is, it’s very easy to change the signature on a virus that already exists, meaning your Anti-Virus will no longer be able to detect and remove it. It can actually be as simple as just renaming one of the files that the virus uses. Most viruses are not unique at all – they are simply older viruses that have been changed slightly. There may be several viruses out there that all do the same thing, but have different signatures.
The reason for this is simple – vulnerabilities. Viruses are designed to exploit flaws in a piece of software. These flaws aren’t usually intentional, and the manufacturer of the software may be completely unaware that the flaw even exists until months down the line.
As an example, a couple of years ago, known as Heartbleed was discovered. Heartbleed, under the right conditions, allows anyone tech savvy (with the nerve to do it) to intercept and examine data as it’s being moved from place to place. In the case of Heartbleed, people were able to eavesdrop on communication (including email), steal data, and even retrieve passwords. Unfortunately, Heartbleed was a bug present in OpenSSL – you don’t need to know exactly what OpenSSL is, only that it’s used by 17% of the world’s web servers, which amounts to over half a million servers; many of these were being used by large companies such as eBay and Amazon. I doubt that you’d be too happy if someone managed to steal your password for either of those!
This is where security patching comes in. Once a vulnerability is identified, it can take a matter of hours before someone has created a virus able to exploit it. Once that virus is successfully stopped, it can take only minutes to change the virus enough that it will still work. As fans of Hercules will know, chopping off the head of a Hydra doesn’t really work out well!
Security patching works by fixing the vulnerability which the virus exploits – once the vulnerability is gone, the virus will not work no matter how many times it’s signature is changed. Going back to Heartbleed as an example, OpenSSL were quickly able to release a patch that completely prevented the exploit – any servers that were patched were no longer vulnerable, and the collective tech community was able to breathe again.
Naturally, your PC at work isn’t responsible for running 17% of the internet, but most of these exploits are simply a “backdoor” – a way into your system. Your PC might not be massively important on it’s own, but as it’s likely connected to the same network as other PCs in your office, it’s possible that an exploit that allows access to your PC would allow the same attacker to gain access to a lot more than that. It’s a very short step from one compromised office machine to a whole office full of broken machines; If you haven’t been in that situation before, believe me, you are one of the lucky ones.
I’d wager that between an occasional prompt to reboot your machine, and a piece of software that crashes out of the blue while you’re midway through your work, I know which people would say is the most annoying.
Software development is a constant process of improvement – new innovations are constantly coming to market, and so many companies are in competition to get the best product out there for their clients. Part of this process obviously means ensuring that the product actually works.
Aside from improvements, there’s also the issue of complexity – software design is not an easy job, and it’s a constant battle to keep products working on the latest devices. Software companies have to take this into account, and spend countless millions every year testing their products to ensure they’re free of bugs and glitches. It’s a process that, unfortunately, will never be 100% perfect – most software is coded by a team, not an individual, and no two people think in the same way. I’m sure at some point you’re read through an email sent by a colleague and wondered why they said something in a certain way – software design is no different, and it’s why quality control is such a massive part of the design process.
Luckily, the competitive state of the software market means that those same companies have to become adept at fixing issues when they’re told about them. A lot of modern software is even capable of alerting the software vendor when something goes wrong, so it can be investigated and hopefully fixed as part of a future update.
Is it really that important?
Absolutely. It might be annoying from time to time, and on occasion updates can cause more problems than they solve, but overall they are absolutely essential to ensure that the device on your desk continues working properly.
The common adage of “if it isn’t broken, don’t fix it” doesn’t apply in this case – you are unlikely to be aware that a security vulnerability or common bug exists until it has caused you to lose a day’s worth of work due to a crash, or much, much worse.
We will always strive to ensure that our customers and their data are kept safe and working, and assist in the event of an incident, but the simple act of clicking “install” instead of “ignore” is very likely to save you a lot of time in the future. Between a small annoyance and a major headache, I know which I would prefer!