ICAPRG507A
Implement security for applications

This unit describes the performance outcomes, skills and knowledge required to implement security for software applications. It includes code access security, security access control, cryptographic and secure input and output handling.

Application

This unit applies to individuals responsible for coding secure software applications. These individuals may work as software developers, software engineers, system and security administrators and testers.


Prerequisites

Not applicable.


Elements and Performance Criteria

1. Implement policy-based code-access security in an application

1.1 Demonstrate understanding of the purpose of application security in software development

1.2 Configure platform security configuration files using security configuration tools

1.3 Define a custom code access permission to restrict access to protected resources or run protected operations

2. Implement security access control in an application

2.1 Plan authentication and authorisation strategy

2.2 Develop an appropriate authentication and authorisation strategy for an application

3. Write code to encrypt and decrypt data for secure communication

3.1 Demonstrate understanding of the standard cryptographic algorithms

3.2 Encrypt and decrypt data using standard cryptographic algorithms

4. Protect an application against injections

4.1 Plan secure input and output handling to prevent vulnerabilities related to code injections

4.2 Use secure input and output handling

Required Skills

Required skills

analytical skills to:

deal with common programming security problems

identify security weaknesses in existing code

literacy skills to evaluate complex and varied information and concepts in software security

planning and organisational skills to ensure privacy for users and protect sensitive user data

problem-solving skills to develop and refine security access control strategies

technical skills to:

use security configuration tools

write secure code for application.

Required knowledge

basic hardware and networking knowledge

basic programming algorithms

detailed knowledge of object-oriented programming

maths at basic level.

Evidence Required

The evidence guide provides advice on assessment and must be read in conjunction with the performance criteria, required skills and knowledge, range statement and the Assessment Guidelines for the Training Package.

Overview of assessment

Critical aspects for assessment and evidence required to demonstrate competency in this unit

Evidence of the ability to:

create secure applications

plan security strategies

ensure safe communications

prevent security attacks.

Context of and specific resources for assessment

Assessment must ensure access to:

security configuration tools

software development environment

testing and debugging tools

network resources

appropriate learning and assessment support when required

modified equipment for people with special needs.

Method of assessment

A range of assessment methods should be used to assess practical skills and knowledge. The following examples are appropriate for this unit:

verbal or written questioning to assess candidate’s knowledge of:

application security concepts

cryptographic algorithms

application protection against injections

evaluation of candidate’s ability to:

create secure code and perform security configurations

apply secure communications

protect data and code.

Guidance information for assessment

Holistic assessment with other units relevant to the industry sector, workplace and job role is recommended, where appropriate.

Assessment processes and techniques must be culturally appropriate, and suitable to the communication skill level, language, literacy and numeracy capacity of the candidate and the work being performed.

Indigenous people and other people from a non-English speaking background may need additional support.

In cases where practical assessment is used it should be combined with targeted questioning to assess required knowledge.


Range Statement

The range statement relates to the unit of competency as a whole. It allows for different work environments and situations that may affect performance. Bold italicised wording, if used in the performance criteria, is detailed below. Essential operating conditions that may be present with training and assessment (depending on the work situation, needs of the candidate, accessibility of the item, and local industry and regional contexts) may also be included.

Application security may include:

code protection

cryptography

injections

security access control (SAC):

authentication

authorisation.

Security configuration tools may include:

Java Policy Tool (policytool.exe) for setting code and principal-based security policies

.NET security configuration files:

enterprise

machine

user

.NET security configuration tools:

Caspol.exe

Mscorcfg.msc.

Code access permission may include:

file system rights and authorisation

java.security.Permission or java.security.BasicPermission

NET Code Access Permission class.

Authentication and authorisation strategy may include:

certificate management

login mechanism

membership provider

role-based security

user access control (UAC)

web service rights and authentication.

Cryptographic algorithms may include:

asymmetric

hashes

password-based encryption

signatures

symmetric.

Secure input and output handling may include:

escaping

input encoding

input validation

output encoding

parameterised structured query language (SQL) queries.


Sectors

Programming and software development


Employability Skills

This unit contains employability skills.


Licensing Information

No licensing, legislative, regulatory or certification requirements apply to this unit at the time of endorsement but users should confirm requirements with the relevant federal, state or territory authority.