Showing posts with label Patching. Show all posts
Showing posts with label Patching. Show all posts

Monday, January 11, 2016

To Patch or Not

In a post that I wrote last week I described the need for detailed knowledge about a vulnerability so that an owner could make a reasonable decision as to whether or not to apply a patch to a vulnerable control system component. I have received a couple of comments and questions about what should be included in that patch decision making process. In the end it comes down to a business decision, but here are some of things that I think should enter into that process.

Security or Non-Security

The first thing that must be determined is that if the firmware or software patch or upgrade (and I am lumping all of that together for this discussion) is being offered to fix a security problem, a non-security program bug, or just providing new features. In this discussion I will be ignoring the last case; the addition of new features requires an entirely different set of evaluations.

For non-security related bugs, the question that has to be asked is if the bug has had, or reasonably could be expected to have, an adverse effect on the manufacturing process at the facility. If the answer is no, management should probably decide to implement that patch during the next scheduled turnaround as part of normal facility maintenance activity.

Security patches are, of course, a different matter and that forms the discussion to follow.

Compatibility

All patches need to be tested to ensure that the revised device remains compatible with the remainder of the automation system. This is less of a problem if the system was bought as a whole piece from a single vendor and no changes have been made since installation. Unfortunately, there are very few of that type of installation and perhaps none that are more than a year or two old. Changes, tweaks and additions are just too common in industrial control systems.

A facility (or its contract integrator) should have a test bed available that duplicates the control system environment so that changed components can be tested for compatibility with the remainder of the system. If this is not available, it is probably advisable to only do patching during turnarounds, otherwise you risk shutting down a functioning control system due to incompatibility issues.

Applicability

Many security vulnerabilities only affect certain operations of a device/program or may only be accessed via a single route/port. If those particular operations are not used at the facility, putting off the patch until turnaround may be a reasonable option. If the affected port is not used and can be turned off so that it cannot be accessed, again postponing the update is probably an acceptable option.

In either case there must be some sort of documentation in the automation files that the particular patch has not been employed. Further, security demands that special attention should be paid to the functionality or port during system monitoring to ensure that someone has not modified the system to make that vulnerability function.

The patch should still be added to the turnaround maintenance list as a priority item. Just because a certain vulnerability is not applicable to the current system implementation, there is no way of telling when the vulnerable functionality or port may be needed in changes to the facility automation system. Having forgotten the necessity of a patch will not be an acceptable excuse when an attacker successfully uses a known vulnerability in an attack on the system.

Mitigation

Many times a vulnerability notice will provide specific mitigation measures that can be applied to protect the device against exploit of the vulnerability. Where these mitigation measures can be employed without making changes to the automation system (that would have to be vetted against the test bed the same way that a patch would have to be), they may be used to justify avoiding immediate application of the patch.

Risk Analysis

Conventional wisdom would seem to indicate that a full risk analysis should be conducted when deciding when (or even if) a patch should be applied. I think that that will lead to over thinking the situation. Most facility owners will not have any knowledge of specific threats against their facility. For those that are aware of a specific threat, a full risk analysis may be indicated.

For the remainder of facilities, the risk analysis is really sort of simple. In the current environment if a vulnerability has been publicized, then the facility must assume that there is a risk that someone could employ the vulnerability in an attack on the system. The only thing that matters then is the potential consequences of a successful exploit. This calls for a detailed systems analysis of how the device interacts with the remainder of the system. If the results of a successful attack on the device and its affected systems are acceptable to organization management in the short run, then putting off the implementation of the patch until the next turnaround could be acceptable.

There are some vulnerability effects, however, that cannot be tolerated in any control system. Postponing the implementation of a patch for these types of vulnerabilities should almost never be done. These include (short list) vulnerabilities that:

• Allow admin level access to the device or system;
• Allow access to other system components;
• Affect safety systems; or
• Affect systems involved in regulatory reporting;

Societal Risk

Most facilities in this country only have risks that affect the owner and employees of the facility. A short term outage, or even a shutdown of the facility is only going to have at most local economic effects. Managers of these types of facilities may have a much higher degree of risk tolerance in making the risk decisions that I mentioned above.

Other facility managers, because of their product or processes, may also take societal risk into account when they make those risk decisions. A hospital administrator must take into account the possible effects on patient health and even lives. An electrical power producer must take into account the effect on the grid of a facility shutdown or even variations in production. A chemical manufacturing facility must take into account the effects of a possible chemical discharge on the surrounding community. An airplane or automobile owner must take into account the potential effects of an accident on both passengers and impacted personnel.

In the cases where societal risk is involved it is hard to argue that postponing patch implementation is ever acceptable. Only weighing the risks associated with the application of the patch (usually loss of service) against with that of not applying the patch can justifiably be used to delay patch application.


It should be argued that were society risk is involved that there is a duty to inform the effected portions of the society so that they are fully aware of the decision that was made on their behalf. At the very least regulatory agencies should require that they be notified of any such decisions. They should also be given authority (with appropriate legal safeguards) to over-ride such decisions that present an unreasonable risk to the public.

Thursday, October 18, 2012

A New Cybersecurity Technique


There was an interesting blog post by Eric Byres over at TofinoSecurity.com describing a new way to use their Tofino Industrial Security Solution to address the problem of updating multiple control system devices as new security vulnerabilities are discovered and corrected. Now I am not qualified to evaluate how well this actually works, but the basic concept sounds so good that I just have to talk about it. WARNING: Technical errors in this post are mine alone, don’t blame Eric.

The Problem


In an earlier blog post Eric wrote about a real scary problem with Microsoft updates/patches that pose a particular problem for control systems. But that isn’t the limit of the problems with patches. The most basic problem is that most organizations don’t want to interrupt their process to take their control system down to execute the appropriate patches, complete with the appropriate testing and validation required to ensure that there are now unintended interferences with their operations.

Next there is the problem with the apparently ever increasing number of patches that would have to be applied to the system. The increase in attention that is being directed at the vulnerabilities to be found in control systems has resulted in an ever larger number vulnerabilities being published. If you look at the large number and variety of smart devices connected to modern control systems it is easy to see that there could be any number of patches having to be made to the control system on a fairly routine basis.

The more patches that are required to be made to keep the system protected against attacks, the more likely it will be that the owner/operator will make the very reasonable decision not to do any patches. Rather than trying to guess which vulnerability might really pose a threat to their system, the practical decision is that there is no reasonable method of making that determination so why waste the time making the wrong patches.

The Solution


There is one very common thing associated with a large percentage of the vulnerabilities reported by ICS-CERT; their remote exploit involves a very specific type of communication being made to the vulnerable device. These can be default passwords, specially crafted messages, or commands to specific ports on the devices.

What Tofino has is the ability to program these vulnerability signatures into their device which monitors control system communications. When it detects one of the signature events it blocks that communications, logs the event, and sends out an alarm so that humans can intercede. As new vulnerabilities are identified the signature library can be upgraded without any direct effect on the control system.

Okay, things are a bit more complicated than that, but this isn’t a Tofino sales presentation, contact Eric or one of his sales people if you want a more complete explanation of how their system works.

Shortcomings


Now Eric doesn’t claim that this is a one-hundred percent answer to ICS security problems. Zero day vulnerabilities are obviously not covered; by definition there is no signature available for a 0-day. Spear phishing attacks that attempt to gain user credentials or insider attacks would not be directly affected by this system.

Tofino Security develops their signature list based on information provided by the vendors. Not all vendors are willing to work with them so not every device is covered. If you have one of these Tofino systems and one of your device vendors does not support it through Eric’s people you might want to ask pointed questions. Eric has mentioned that they have the capability to develop some signatures on their own based upon knowledge of known vulnerabilities, but I suspect that sort of service starts to get pricey.

This system monitors communications to and from the control system. If there is some sort of direct access to peripheral devices through physical connections, wireless access or whatever, this system cannot intercept/block that communications.

No one else has mentioned it, but one of my pet peeves doesn’t seem to be addressed by this system. If there are embedded systems, programs or subroutines from vendors that you are not aware of and those systems have vulnerabilities, it seems unlikely that signatures for those will be addressed by the system. You see, when this is installed you tell Tofino Security what systems you have and they program your device with the signatures for those systems. If you don’t tell them because you don’t know about the device, program, or subroutine, then they can’t help you.

Suggestions


The first suggestion is directed towards the vendors that aren’t currently working with Tofino; start. As this system is adopted by more owners the failure to be a supporting vendor is going to start to impact sales.

Second, it seems to me that for vendors that have been made aware of vulnerabilities, but have not yet had the chance to complete work on a distributable patch, this is a good way to provide some level of protection to your customers while you’re hard at work on the real fix. This would be especially true for those uncoordinated disclosures that put your customers at the most risk. Providing Eric’s team with vulnerability signatures as early in the process as possible would be an excellent selling point.

Finally, it seems to me that Tofino Security would benefit from having a team actively watching the uncoordinated disclosures being made and working with those researchers to develop signatures for those vulnerabilities. For vendors that they are working with, this would provide a valuable service. For their customers that have equipment from non-cooperative vendors it would provide them some level of protection while they wait out the replacement life-cycle of the equipment.
 
/* Use this with templates/template-twocol.html */