software development security in complex it environments csaba krasznay cisa, cism, cissp, ceh...

46
Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Upload: dora-johns

Post on 25-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Software Development Security in Complex IT Environments

Csaba Krasznay

CISA, CISM, CISSP, CEH

Hewlett-Packard Hungary

Page 2: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Introduction

• Creating secure software is a common ambition since decades

• In the era of web based distributed systems we can’t trust in just secure coding

• Security engineers must be the part of a development project beside software and test engineers

• This presentation shows the experience of some real life projects in Hungary

Page 3: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

NIST SP 800-64

Page 4: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

NIST SP 800-64

Page 5: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

NIST SP 800-64

Page 6: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Real-life CFT

• Government projects aim to achieve the modern electronic public administration

• Security appears to the most important requirement after business functionality

• Such software security requirements were never seen before in our governmental sector (Common Criteria EAL 4).

Page 7: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Difficulties in the proposal

• Don’t have previous experience in comprehensive secure software development

• Don’t have Common Criteria knowledge• Don’t have governmental recommendations,

laws, best practices• Don’t have experiences with such complex,

interconnected, web service based architectures

• Don’t have “government-ready” security COTS products

Page 8: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Common Criteria

• International standard for secure software development (ISO 15408)

• Two parts:– Functional requirements (what?)– Assurance requirements (how?)

• Difficult to understand but a very useful approach• More complex than Microsoft SDL or OWASP

CLASP• It has strengths and weaknesses, word-by-word

usage is not recommended in practice

Page 9: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Risk based design

• Risk analysis is a tough project because of:– National secrets– Institutional secrets– Lack of previous experiences

• Three sources of risk analysis:– Recommendation 28. from Public Administration

IT Board– International publications– Own industrial experience

Page 10: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Recommendation 28.

• Three impact levels on governmental operations and assets:– Basic:

• Efficiency of operations decrease• Assets have minor deficiencies• Small financial loss• Negative impact on legal certainty

– Medium:• Efficiency of operations decrease radically• Assets have major deficiencies• Large financial loss• Very negative impact on legal certainty

Page 11: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Recommendation 28.

– High:• The organization is unable to fulfill its primary function• Assets are destroyed• Financial loss has effect for the national budget• The organization can’t assure legal certainty

• Organizations can choose the overall risk level based on standard risk assessment procedures.

• Recommendation 28. has many mandatory security countermeasures based on Common Criteria and ISO 27002 for these levels.

Page 12: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Legal requirements

• Act No. LX. of 2009 about electronic public services• Government Decree No. 223/2009. (X. 14.) about

the security of electronic public services• Declares

– Basic security requirements– Roles and responsibilities– Institute of national security supervisor– National security audit framework– National Network Security Center– Need of ISMS in connection with electronic public

services and risk analysis

Page 13: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Legal requirements

– Documentation and personnel requirements– Logging requirements– Backup and archiving requirements– Incident handling requirements– Outsourcing rules– Antivirus system requirements– Need of secure information forwarding– Rules of access and physical security– Secure maintenance– Rules of security classifications– Evaluation and certification– Special requirements for ASP-s and Central System– Basic security policies

Page 14: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Security vs. usability

• Security countermeasures sometimes reduce productivity (e.g. a lost token at a rural office)

• During the risk assessment phase it is essential to translate the meaning of risks to business language

• In the governmental sector its easier on the management level (national security, legal background) but harder at employee level (lack of IT knowledge)

Page 15: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Framework based development

• In practice all solutions are based on some well known

COTS products.

• Developers don’t have any effect on the security of these

business products.

• These are not “developed” but “customized” products.

• Security requirements can be achieved by customization

and integration.

• Only a few security functionality will be developed from

scratch.

• Common Criteria compliance is needed to rethink.

Page 16: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Secure architecture elements

• Main security functions:– Log: world class COTS– Authorization: business product internal function +

own development– IAM: world class COTS + own development– PKI: local COTS + own development– Self protection: business product internal function +

infrastructure function– Resource utilization: business product internal

function + infrastructure function– Secure communication: world class network solutions

Page 17: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Software design phase

• We have:– Risk assessment (threats)– Security environment (assumptions)– Legal background (policies)

• We have to lay down– Security objectives (what shall our product do?)– Security functional requirements (how will our product work?)– Security assurance requirements (how can developers assure

the proper functionality?)

• We have to arrange an internal security course for our developers because they’re not aware all of these issues.

Page 18: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Internal security education

• Software developers are not (IT) security professionals

• Internal and external attackers used to have deep

(business) software knowledge

• Security pros have to explain administrative, logical and

physical security

• From the top (need of policies) to the bottom (secure

coding)

• 3 days training for lead developers, 1 day training for the

others

• They have to take an internal exam

Page 19: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Security Target

• This is the security baseline, source of all other documents

• In CC it has a very formalized content• We have to decide whether we follow these

requirements or not• Its main goal is to assure consistency from

the risk assessment till testing.

Page 20: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Security Target

Page 21: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Software security architecture

• According to CC, Software security architecture consists the method of– Self-protection– Domain separation– Non-bypassability

• In practice this document explains the Security Target in a less formal way

• Domain separation is the most important part

Page 22: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Functional specification

• In the CC world this is the interface specification• Describes how security functions connect to the

other parts of the product and environment• Interfaces are specified in terms of their

purpose, method of use, parameters, parameter descriptions and error messages

• Can be a part of the general functional specification

Page 23: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Integration issues

• Three types of interfaces:– Well-documented, standard based– Self-developed, internal used– Undocumented

• In practice sometimes neither standard based interfaces are clear and easily adoptable

• Legacy system integration is a nightmare

Page 24: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Logical design

• Detailed description of security functions• Can be the part of general logical design• Two level of decomposition:

– Subsystem: high-level description– Module: low-level description

• In this level security professional gives the design project (and responsibility) to developers

Page 25: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Log management

• Challenges:– Finding a good central log management and

analysis solution that can fulfill almost every requirements

– Measuring EPS and storage requirements– Ensuring the “100%” availability– Finding out an “authentic logging” solution for

forensic procedures

Page 26: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Identity management

• Challenges:– Designing an identity management structure that

consists 15.000 different organizations– Handling strange organizational relations (who

governs who and in what situation)– Developing a huge mixed (paper-based and

electronic) identity management procedure– Including non-conventional attributes– Trying to avoid one-man groups

Page 27: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Authorization

• Challenges:– COTS can only handle simple situations– Adapting the authorization schemes of 15.000

organizations– Need authorization for many objects,

procedures, persons, groups, organizations…– Mix of MAC, DAC, RBAC…– Implementation of four eyes principles– Use of password based and token based

authentication even in one transaction

Page 28: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Cryptography

• Necessary crypto functions:– Token-based authentication (PKCS#11)– Automatic and manual electronic signatures (XAdES)– Encryption (RSA)– Timestamp (RFC 3161)– Integration with the Citizen Gate (Recommendation

21.)• Solution:

– IAM integration– Special local solution

Page 29: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Physical design

• This is a form that captures the detailed internal workings of the product

• This may be language specific plans, software source code, etc.

• Describes how security functions are implemented in the framework

• Deep technical knowledge is required to understand this level

Page 30: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Secure development environment

• According to CC (and national security), the developer

shall prove the security of its location

• Something like ISO 27000 is required

• Developer shall:– Appoint a security officer who is responsible for the security of

the facility and assets

– Establish an IT security policy system for the facility and assets

– Use the required countermeasures

• Security level depends on the type of the product

(restricted area, clearance levels, etc.)

Page 31: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Policies

IT Security Policy

IT Security Strategy

IT Security Standards

Acceptable use policy

Procedures, Baselines, Guidelines

Page 32: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Roles

Basic Medium High

Project leader National security certificate

National security certificate

National security certificate

Members of the project administration, Security, Development and IT operations officers

Certificate of No Criminal Record with background check, CISM for the Security officer

National security certificate, CISM for the Security officer

National security certificate, CISM and classified information management certificate for the Security officer

Developers, operators

Certificate of No Criminal Record

Certificate of No Criminal Record with background check

National security certificate

Page 33: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Hardware and software

• Hardware and software assets shall reach the same confidentiality level as in the operational environments

• Lower level of integrity and availability is accepted

• Explanation: development environment directly or indirectly is used to store sensitive information

• In secure developments the project shall count on these costs

Page 34: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Configuration management system

• CM ensures the integrity of the product from early design stages through all subsequent maintenance efforts

• It shall provide authorization and integrity controls• CM procedures shall deal with security• Good example is the software release procedure

or the need of audit trail• Project documentation shall consist the

configuration list

Page 35: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Development phase

• This is the traditional part of secure software development

• Usually requires deeper knowledge than IT security professionals have

• During this phase we can deal with other aspects and prepare for the next phases

Page 36: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Secure coding

• Secure coding is not our business• Developers shall ensure that they use

language specific security recommendations• If they don’t they’d fail on penetration testing• Most frameworks support secure coding by

default (e.g. with integrated SQL injection filter)

• Most hackers have their own method to bypass these countermeasures…

Page 37: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

OWASP

• www.owasp.org is a good source for all web application security issues

• Guide to Building Secure Web Applications and Web Services is an essential material for all developers

• Code Review Guide is good for quality assurance

• Testing Guide is a structured set for penetration testers

Page 38: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Documentation

• Developers shall provide two types of documents that deal with security:– Installation guide: it consists secure configuration

of the product, a.k.a. the hardening guide– User guide: describes how administrators can

maintain and users can use the product securely

Page 39: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Testing phase

• Developer shall prove that the design and implementation steps are consistent

• The proofs are the test coverage, test depth and functional test documentations

• Security professionals shall supervise this phase carefully

Page 40: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Functional testing

• Security functional testing is the part of the normal testing procedure

• Provides assurance that the likelihood of undiscovered flaws is relatively small

• Includes test environment, test conditions, test data parameters and values

• Most automatic test tools can provide the expected test documentation

Page 41: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Vulnerability testing

• Decision points:– Target: application, services, system level

– Elapsed time: day, week, month

– Expertise: layman, proficient, expert, multiple experts

– Knowledge of the product: public, restricted, sensitive, critical

– Equipment: standard, specialized, bespoke, multiple bespoke

– Number of samples: unlimited access, easy, moderate, difficult,

none.

– Test cases: structural (OWASP Top 10, OWASP Testing Guide),

intuitive

Page 42: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Evaluation and certification

• In Hungary software security evaluation and certification

doesn’t have traditions

• We only know that somebody will evaluate our products

somehow sometime.

• We have to use CC EAL3 and EAL4 levels so the

evaluation will based on Common Evaluation

Methodology

• But which version of CC?

• Nobody has real experience in CC-like development

and evaluation in Hungary

Page 43: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

MIBÉTS

• Recommendation 25 consists the Hungarian

Information Security Evaluation and Certification

Scheme (MIBÉTS)

• This is the Hungarian version of Common Criteria

• Have experience in some minor digital signature

software projects

• Theoretically our products will get MIBÉTS

certification

• These projects will be the first real exam for MIBÉTS

Page 44: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Distribution

• Secure distribution is tough project to 15.000 different site

• Possible solutions:– Through internet– Via internal post on DVD– Centrally organized mass installation

• Distribution of central components is easier with the control of national security agency…

Page 45: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

Summary

• Complex software development requires an IT security

officer who takes part in:– Requirement specification

– Design

– Documentation

– Testing

• This role needs the knowledge of law, business processes,

software engineering, test engineering besides traditional

security

• Software security is on of the most emerging area in IT

security because coding securely is not enough nowadays

Page 46: Software Development Security in Complex IT Environments Csaba Krasznay CISA, CISM, CISSP, CEH Hewlett-Packard Hungary

THANK YOU!

E-mail: [email protected]

Web: www.hp.hu, www.krasznay.hu

Tel: +36 20 5349756