Failing badly

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Failing badly and failing well are concepts in systems security and network security (and engineering in general) describing how a system reacts to failure. The terms have been popularized by Bruce Schneier, a cryptographer and security consultant.[1][2]

A system that fails badly is one that fails catastrophically once failure occurs. A single point of failure can thus bring down the whole system. Examples include:

  • Databases (such as credit card databases) protected only by a password. Once this security is breached, all data can be accessed
  • Fracture critical structures, such as buildings or bridges, that depend on a single column or truss, whose removal would cause a chain reaction collapse under normal loads
  • Security checks which concentrate on establishing identity, not intent (thus allowing, for example, suicide attackers to pass)
  • Internet access provided by a single service provider. If the provider's network fails, all Internet connectivity is lost
  • Ring networks in which the failure of a single node or connection between nodes brings down the entire network
  • Systems, including social ones, that rely on a single person, who, if absent or becomes permanently unavailable, halts the entire system
  • Brittle materials, such as "over-reinforced concrete", when overloaded, fail suddenly and catastrophically with no warning.
  • Keeping the only copy of data in one central place. That data is lost forever when that place is damaged, such as the American 1836 U.S. Patent Office fire and the American 1973 National Personnel Records Center fire.

A system that fails well is one that compartmentalizes or contains failure. Examples include:

  • Compartmentalized hulls in watercraft, ensuring that a hull breach in one compartment will not flood the entire vessel
  • Databases that do not allow downloads of all data in one attempt, limiting the amount of compromised data
  • Structurally redundant buildings conceived to resist loads beyond those expected under normal circumstances, or resist loads when the structure is damaged
  • Computer systems that restart or proceed to a stopped state when an invalid operation occurs.[3]
  • Access control systems that are locked when power is cut to the unit.[3]
  • Concrete structures, which show fractures long before breaking under load, thus giving early warning
  • Armoured cockpit doors on airplanes, which confine a potential hijacker within the cabin even if they are able to bypass airport security checks[1]
  • Internet connectivity provided by more than one vendor or discrete path, known as multihoming
  • Star or mesh networks, which can continue to operate when a node or connection has failed (though for a star network, failure of the central hub will still cause the network to fail)
  • Ductile materials, such as "under-reinforced concrete", when overloaded, fail gradually -- they yield and stretch, giving some warning before ultimate failure.
  • Making a backup copy of all important data and storing it in a separate place. That data can be recovered from the other location when either place is damaged.

Designing a system to 'fail well' has also been alleged to be a better use of limited security funds than the typical quest to eliminate all potential sources of errors and failure.[4]

See also

References

  1. 1.0 1.1 Homeland Insecurity, Atlantic Monthly, September 2002
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. Failing Well with Information Security - Young, William; Apogee Ltd Consulting, 2003