Search results
Results from the WOW.Com Content Network
Defensive design is the practice of planning for contingencies in the design stage of a project or undertaking. Essentially, it is the practice of anticipating all possible ways that an end-user could misuse a device, and designing the device so as to make such misuse impossible, or to minimize the negative consequences.
Defensive programming is a form of defensive design intended to develop programs that are capable of detecting potential security abnormalities and make predetermined responses. [1] It ensures the continuing function of a piece of software under unforeseen circumstances.
Defensive computing is a form of practice for computer users to help reduce the risk of computing problems, by avoiding dangerous computing practices. The primary goal of this method of computing is to be able to anticipate and prepare for potentially problematic situations prior to their occurrence, despite any adverse conditions of a computer system or any mistakes made by other users.
Unavoidable actions employ security measures that cannot be prevented or neutralized. This strategy is based on the assumption that the system has been penetrated, but an intruder cannot prevent the defensive mechanism from being employed. Examples of this strategy include rebooting, using physical unclonable functions, and using a security switch.
In modern English usage, the informal term idiot-proof or foolproof describes designs that cannot be misused either inherently, or by use of defensive design principles. The implication is that the design is usable even by someone of low intelligence who would not use it properly. The term "foolproof" originates in 1902. [1]
The idea behind the defense in depth approach is to defend a system against any particular attack using several independent methods. [1] It is a layering tactic, conceived [2] by the National Security Agency (NSA) as a comprehensive approach to information and electronic security.
Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software. It prescribes that software designers should define formal , precise and verifiable interface specifications for software components , which extend the ordinary definition of abstract ...
In computing, the robustness principle is a design guideline for software that states: "be conservative in what you do, be liberal in what you accept from others". It is often reworded as: "be conservative in what you send, be liberal in what you accept".