Security

It should be fairly obvious that the most important operational requirement is security. Every day, users become more dependent on the Internet for information and for getting work done, and important, private information about business and finance is transmitted and maintained on corporate intranets. Making sure your applications are secure now goes far beyond the old days of trying to keep people from putting their passwords on sticky notes on their monitors.

The potential for disaster is immense. The possibility of having proprietary information compromised or even destroyed is easily the biggest nightmare for executives in every size and every type of organization. Losing historical data used for forecasting and targeted marketing can be damaging, and intentional destruction of current information and software could affect profits or even put an organization out of business.

The .NET Framework provides the best platform for building, deploying, maintaining, and running applications while addressing the critical concerns of security and privacy. Without understanding what security issues need to be addressed and how to resolve them, however, you can't take advantage of the functionality available in .NET.

In the requirements-gathering phase, the focus is on recognizing current and future threats and developing security measures that counteract these real or implied threats. If you just implement security measures without regard for the actual types of threats your application faces, you might achieve only a false sense of security. Most security measures are based on the following concepts:

  • Authentication This is the process of identity confirmation. The requester establishes an identity by providing some form of credentials, which are known only to the requester and the authenticating host. Only after the identity is confirmed will the requester be granted access.

  • Authorization After the authentication process is completed, you verify that a requester has permission to access a particular resource. For example, a user might have the authority to access certain portions of an application but not others. Authorization can also differentiate between levels of access. Some users might have read-only access, and others might have update capabilities.

  • Data protection This is the process of providing data confidentiality and integrity. Data needs to be protected not only while in transit, but also while it is stored. Assume that whenever data is unsecured, it is vulnerable. One way to help ensure data confidentiality is to encrypt the data.

  • Auditing This is the process of logging and monitoring events that occur in a system and that are of interest to security. Unfortunately, auditing usually uncovers a problem with security only after the application has been compromised.

There are several tangible requirements that should be part of any organization's security policies. The following list provides examples of some of these requirements:

  • Password length For example, the requirement might be to encourage the use of strong passwords. A strong password contains seven or more characters, is case sensitive, includes numbers and punctuation marks, and is not found in a dictionary. Provide support for long passwords and discourage common passwords, such as "PASSWORD."

  • Logon policies and auditing A requirement in this area could be that users' passwords periodically expire to limit exposure.

  • Intruder prevention processes This requirement could include sending requests for passwords only through e-mail and requesting another piece of information known only to the user before e-mailing the password.

  • Ownership/responsibility for user accounts Denying access to users for suspected or verified abuse might be a requirement in this area.

  • Policies for encryption Requirements for this category might include deciding whether to accept unencrypted data and determining what type and level of encryption is considered acceptable.

Threats to an organization's business applications usually fall into these two categories:

  • Data tampering is the deliberate destruction or manipulation of data. The tampering may or may not be detected until some time in the future. Data tampering can occur while the data is in transit (physically or electronically) or while it is stored.

  • Denial of service is a form of sabotage that makes applications unavailable to authorized users. In a denial-of-service attack, a system is flooded with traffic to the point that it is unable to process legitimate service requests.

Another consideration when determining your security requirements is analyzing the organization's accepted level of risk for the application, the accepted level of risk for its data, and the expense of providing acceptable security. The effort and expense should correlate with the value of what you are seeking to protect. For example, a hospital with an application storing sensitive patient information should be able to justify having an extensive security policy; a small shoe store that maintains the shoe sizes of its customers might not. Also, consider the effect on an organization if key or sensitive data is leaked to the wrong people. The cost to an organization in terms of loss of client or shareholder confidence could be just as devastating as lost or corrupted data.

Another key consideration in the security requirements process is how to monitor and improve an organization's security measures, especially after the application has been installed. As applications evolve over time, new security threats present themselves. At a minimum, conduct a periodic review to ensure that the organization's applications are not exposed to unnecessary risks. The only way to ensure maximum protection against security threats is for the organization to adopt the policy of being constantly vigilant in protecting itself.



Analyzing Requirements and Defining. Net Solution Architectures (Exam 70-300)
MCSD Self-Paced Training Kit: Analyzing Requirements and Defining Microsoft .NET Solution Architectures, Exam 70-300: Analyzing Requirements and ... Exam 70-300 (Pro-Certification)
ISBN: 0735618941
EAN: 2147483647
Year: 2006
Pages: 175

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net