CS 5150 So(ware Engineering 14. Security William Y. Arms Security - - PowerPoint PPT Presentation

cs 5150 so ware engineering 14 security
SMART_READER_LITE
LIVE PREVIEW

CS 5150 So(ware Engineering 14. Security William Y. Arms Security - - PowerPoint PPT Presentation

Cornell University Compu1ng and Informa1on Science CS 5150 So(ware Engineering 14. Security William Y. Arms Security in the So(ware Development Process The security goal The security goal is to make sure that the agents (people or external


slide-1
SLIDE 1

Cornell University Compu1ng and Informa1on Science

CS 5150 So(ware Engineering

  • 14. Security

William Y. Arms

slide-2
SLIDE 2

Security in the So(ware Development Process

The security goal The security goal is to make sure that the agents (people or external systems) who interact with a computer system, its data, and its resources, are those that the owner of the system would wish to have such interacJons. Security consideraJons need to be part of the enJre so(ware development process. They may have a major impact on the system architecture chosen.

slide-3
SLIDE 3

Security Needs and Dangers

Needs

  • Secrecy: control of who gets to read informaJon
  • Integrity: control of how informaJon changes or resources are used
  • Availability: providing prompt access to informaJon and resources
  • Accountability: knowing who has had access to resources

Dangers

  • Damage to informaJon — integrity
  • DisrupJon of service (denial of service) — availability
  • The( of money — integrity
  • The( of informaJon — secrecy
  • Loss of privacy — secrecy

Butler W. Lampson, Computer Security in the Real World IEEE Computer, June 2004

slide-4
SLIDE 4

The Economics of Security

How secure should your system be? Building secure systems adds cost and Jme to so(ware development "PracJcal security balances the cost of protecJon and the risk of loss, which is the cost of recovering from a loss Jmes its probability... When the risk is less than the cost of recovering, it’s beVer to accept it as a cost of doing business ... than to pay for beVer security." "Many companies have learned that although people may complain about inadequate security, they won’t spend much money, sacrifice many features, or put up with much inconvenience to improve it." Butler W. Lampson, 2004

slide-5
SLIDE 5

The Economics of Security

5

Credit cards: op1on A Banks in the USA have tradiJonally used this system.

  • The card has all data (e.g., name, number, expiraJon date) readable by anybody

who has access to the card. The signature is wriVen on the card.

  • This is a cheap system to implement, but does liVle to discourage fraud.

Credit cards: op1on B (chip and PIN) For many years, banks in Europe have used this system.

  • The card has an embossed security chip. To use the card, the security chip is

read by a special reader and the user types in a confidenJal 4-digit number.

  • This provides greater protecJon against fraud, but is more expensive and

slightly less convenient for both merchant and user. The new system in the USA is less secure than opJon B, but cheaper to install.

slide-6
SLIDE 6

Security within an OrganizaJon: People

Many security problems come from people inside the organiza1on.

  • In a large organizaJon, there will be some dishonest and disgruntled

employees.

  • > Dishonest (e.g., stealing from financial systems)
  • > Malicious
  • Security relies on trusted individuals. What if they are dishonest?

People are intrinsically insecure.

  • Careless (e.g., leave computers logged on, share passwords)

Example: Master password to Dartmouth’s financial systems.

slide-7
SLIDE 7

Design for Security: People

  • Make it easy for responsible people to use the system (e.g., make

security procedures simple). Example: Complex security procedures in a bank.

  • Make it hard for dishonest or careless people (e.g., password

management).

  • Train people in responsible behavior.
  • Test the security of the system thoroughly and repeatedly,

parJcularly a(er changes.

  • Do not hide viola1ons.
slide-8
SLIDE 8

External Intruders

All network systems are vulnerable to security breaches by external intruders:

  • financial
  • malicious
  • secrets
  • and worse

Modern so(ware is so complex that it is impossible to eliminate all vulnerabiliJes.

  • Many skilled individuals and organizaJons are conJnually seeking

to discover and exploit new vulnerabiliJes.

  • Many governments regularly break into computer systems.
slide-9
SLIDE 9

External Intruders

Examples of external security vulnerabili1es:

  • unauthorized access — modify so(ware, install listening devices
  • backdoors — bypass authenJcaJon
  • denial of service — overload and other forms of blocking
  • eavesdropping
  • spoofing
  • phishing
  • etc., etc.

This list is derived from Wikipedia.

slide-10
SLIDE 10

External Intruders: Online Data

Online systems capture and save large amounts of private data:

  • Shopping sites: names, addresses, credit cards (e.g., Target)
  • Financial systems: financial data, social security numbers, credit data
  • Social media: friends, search terms, locaJon data (e.g., Facebook)

If this data is hacked: Damage to the users:

  • Financial losses (e.g., credit raJngs)
  • EmoJonal losses (e.g., medical history)

Damage to the companies running the systems:

  • Fines (or even criminal charges)
  • Legal seVlements for damages
  • Loss of customers
  • Technical costs of fixing problems
slide-11
SLIDE 11

External Intruders: Minimizing Risk

There is no way to guarantee security from external intruders, but careful so(ware development can make a major difference. How to minimize the risks:

  • System design — secure protocols, authenJcaJon, barriers to

access

  • Programming — defensive programming and rigorous tesJng
  • OperaJng procedures — backup, audiJng, vulnerability tesJng
  • Training and monitoring personnel
slide-12
SLIDE 12

Minimizing Risks: System Architecture

The system architecture can minimize risks in various ways:

  • Secure protocols, e.g., HTTPS encrypJon.
  • AuthenJcaJon:
  • > encrypJon of passwords in transmission and when stored
  • > two factor authenJcaJon (effecJve but can be inconvenient)
  • Barriers, e.g., firewalls, private networks, and virtual private

networks.

  • Data security, e.g., encrypJon of stored data, backup.
slide-13
SLIDE 13

Minimizing Risks: Online Data

Data collec1on

  • Collect only essenJal data.
  • Delete unused data.
  • Encrypt sensiJve data.
  • Perform security audits regularly.

Be prepared for trouble

  • Back up all data.
  • Know the privacy laws.
  • Have a disaster plan:

leadership message to users public relaJons technical recovery procedures

slide-14
SLIDE 14

Security Techniques: Barriers

Place barriers that separate parts of a complex system:

  • Isolate components, e.g., do not connect a computer to a network
  • Firewalls
  • Require authenJcaJon to access certain systems or parts of systems

Every barrier imposes restricJons on permiVed uses of the system. Barriers are most effecJve when the system can be divided into subsystems.

  • Example. IntegraJon of Internet Explorer into Windows
slide-15
SLIDE 15

Barriers: Firewall

Public network Private network Firewall A firewall is a computer at the juncJon of two network segments that:

  • Inspects every packet that aVempts to cross the boundary
  • Rejects any packet that does not saJsfy certain criteria, e.g.,
  • > an incoming request to open a TCP connecJon
  • > an unknown packet type

Firewalls provide increased security at a loss of flexibility, inconvenience for users, and extra system administraJon.

slide-16
SLIDE 16

Security Techniques: AuthenJcaJon and AuthorizaJon

Authen1ca1on establishes the idenJty of an agent:

  • What does the agent know (e.g., password)?
  • What does the agent possess (e.g., smart card)?
  • What does the agent have physical access to (e.g., crt-alt-del)?
  • What are the physical properJes of the agent (e.g., fingerprint)?

Authoriza1on establishes what an authenJcated agent may do:

  • Access control lists
  • Group membership
slide-17
SLIDE 17

Example: An Access Architecture for Digital Content

Digital material AVributes AuthenJcaJon Role AcJons OperaJons AuthorizaJon Policies

slide-18
SLIDE 18

The soOware development challenge:

  • develop secure and reliable components
  • protect whole system so that security problems in parts of it do not

spread to the enJre system A large system will have many agents and components:

  • each is potenJally unreliable and insecure
  • components acquired from third parJes may have unknown security

problems The commercial off-the-shelf problem:

  • Developers of off-the-shelf so(ware have considerable incenJves to

supply so(ware that has many opJons and features

  • In developing such so(ware rapidly they have fewer incenJves to be

thorough about security.

Minimizing Risks: Programming

slide-19
SLIDE 19

Security Techniques: EncrypJon

Allows data to be stored and transmiVed securely, even when the bits are viewed by unauthorized agents and the algorithms are known.

  • Private key and public key
  • Digital signatures

EncrypJon DecrypJon

X Y Y X

slide-20
SLIDE 20

Programming Secure So(ware

Programs that interface with the outside world (e.g., web sites, mail servers) need to be wriVen in a manner that resists intrusion. For the top 25 programming errors, see: Common Weakness EvaluaDon: A Community-Developed DicDonary of SoIware Weakness Types. hVp:// cwe.mitre.org/top25/

  • Insecure interacJon between components
  • Risky resource management
  • Porous defenses

Project management and test procedures must emphasize that programs avoid these errors.

slide-21
SLIDE 21

Minimizing Risks: Procedures

The opera1ng procedures must an1cipate security problems. A senior member of staff must have responsibility for security. Equipment

  • Keep system so(ware up to date with latest security patches.
  • Run up to date virus checking so(ware.
  • Rules about passwords, personal equipment, and non-standard

so(ware should be explicit. RouJne checks

  • Run network security tests regularly.
  • Run password checkers.

Example: Carnegie Mellon Training

  • Keep staff informed about security. Ask for their advice.
slide-22
SLIDE 22

OperaJons: Recovery

Sooner or later every system fails because of hardware, soOware,

  • pera1onal, or security problems.

The operaJng procedures must anJcipate loss of data and damage to systems, which can happen at any moment. Backup techniques

  • At regular intervals check point the system.
  • At regular intervals backup all data.
  • Keep full audit trails of all important transacJons

Recovery so(ware

  • Recovery so(ware is complex. It needs to be tested regularly in

realisJc situaJons.

  • A good pracJce is to rebuild the enJre system, but this may not be

possible with large collecJons of data.

slide-23
SLIDE 23

Security in the So(ware Development Process

Conclusion You can never guarantee that a system is completely secure, but you can do a great deal to minimize the risks and to be able to recover from problems.

slide-24
SLIDE 24

Cornell University Compu1ng and Informa1on Science

CS 5150 So(ware Engineering

  • 14. Security

End of Lecture