The Heartbleed bug has been widely reported over the last month, but what is it and how does it effect e-safety?
Firstly, let us just clear up a common confusion between the terms 'bug' and 'virus'. A bug is a mistake or error in a computer system which can cause a system to malfunction or to behave unexpectedly.
The term bug is derived from the days when computers used valves as opposed to transistors or solid state electronics and actual insects getting into the workings of a system would cause errors.
A virus, is a piece of often malicious software code which is designed to spread from computer to computer and usually has a mission to interfere with the running of that system or access data that shouldn't be available.
A bug may lead to a computer system having a security hole. A virus may be written to take advantage of that bug and thus circumvent system security.
However, it is not just a virus which may 'exploit' a bug. A known error in a system could for instance be utilised by remotely communicating with a computer system using software or direct input from a computer terminal.
So what is the Heartbleed bug?
In order to secure a 'session' between a user and a computer system on the Web, a protocol called SSL (Secure Sockets Layer) is used. The aim is to encrypt data sent over the internet so that is can only be understood by the sender and the intended recipient.
A protocol is a defined standard which software systems implement in order to communicate with other systems with their own implementation of the protocol.
In a Web application there are many protocols and patterns which need to be implemented and rather than building these from scratch for every single computer system, most software languages will utilise tried and tested libraries of common computation requirements, such as for instance the implementation of a protocol. This is good practice as it ensures consistency and in general reduces the amount of potential errors.
The protocol SSL is widely implemented in Web systems by using the library component OpenSSL and it was this piece of software which contained the error. This essentially meant that, once discovered the error could potentially be exploited to allow a third party to access a supposedly secure communication session and retrieve data it should not have access to.
Fixing the bug
Once discovered, the bug was fixed or patched within OpenSSL relatively quickly. The next step was for computer systems to apply the new fix to their servers.
Our own servers, which run this very Web application were patched on 8th April and are now secure against any Heartbleed exploits.
What's all this about needing to change my passwords?
There have been some very confusing mixed messages about whether a user needs to reset their passwords.
Firstly, the Heartbleed bug only effects systems which have used OpenSSL, however this is huge amount of systems, as a rule though, most banks do not fall into this category.
There is a list here on Mashable.com of the most commonly used Web sites together with advice as to whether or not they were vulnerable to Heartbleed and whether a password reset is recommended.
The Heartbleed bug potentially allowed a third party to obtain user details including email address and passwords for a system. 'If' this has happened then that system is no longer secure and the password should be reset. However, it is not know how many, if any systems were actually attacked and thus there is no way of knowing for sure for any given system whether a reset is required.
The risk is low, but ...
Many people tend to use the same password for multiple systems and so it is possible that an email address and password obtained for one single system might be useable to access any number of other systems. SO for instance if the password you use for a compromised system is the same password you use to access your email account, your email is no longer secure.
It is for this reason that resetting your passwords is recommended.
As a rule it is good practice to ensure you have secure (mixed case, letters, numbers and symbols) passwords which are unique to each system you access. It's also a good idea to change these passwords periodically.
For the more tech savvy reader, the ever excellent XKCD had a great cartoon explaining the specifics of the bug.