1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer...

42
1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email: [email protected] URL: http://www.eng.auburn.edu/~xq in

Transcript of 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer...

Page 1: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

1

An Application-Oriented Approach for Computer Security Education

Xiao QinDepartment of Computer Science and

Software Engineering

Auburn University

Email: [email protected]

URL: http://www.eng.auburn.edu/~xqin

Page 2: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

2

Goal and Objectives

Goal: New approaches for computer security education

Objective 1: To prepare students to design, implement, and test secure software

Objective 2: A holistic platform for constructing computer security course projects

Student-centered learning

Professor-centered platform

Page 3: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

3

From CSSE Students toSoftware Engineers

• To produce reliable, robust, secure software.

• To work in interdisciplinary teams.

• To use appropriate design notations, such as UML.

• To work in multiple programming languages.

Page 4: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

4

TeamworkSecure

Software

Design Programming

What projects can help students to learn about

teamwork?

Must we teach students how to design secure software?

How to provide engaging computer security projects?

How to teach multiple programming languages?

Challenges Student-Centered Learning

Page 5: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

5

FlexibilityPreparation

GradingTeaching

What projects can be tailored to students to learn

about teamwork?

What is a good way to grade computer security projects?

How to quickly prepare engaging computer security

projects?

How to teach computer security projects?

Challenges Professor-Centered Platform

Page 6: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

6

Teaching Philosophy

Computer security education should focus on:

• Fundamental security principles • Security-practice skills.

Page 7: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

7

Motivation

Security principles:• Fundamental• A wide spectrum.

PracticePrinciples Real-World

Systems and Apps

Laboratory exercises:• Observing• Evaluating• Testing

Course projects:• Analyzing• Designing• Programming

Real-world secure computing systems:• Programming standards• Large scale• Work on existing products

College Industry

small-scale, fragmented, and isolated course projects

Page 8: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

8

Our Solution: Application-Oriented Approach

Security Sensitive Applications

Security Module 1

User Interface

OS (Windows, Linux, etc.)

Non-Security ModulesSecurity Module n

Security Modules

Page 9: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

9

Considerations

• Security modules: related to fundamental security principles.

• Applications: represent real world scenario(s)• Each application: contains all possible security

modules.• Flexibility: difficulty levels are configurable.• Programming environment: easy setup• Hints for students: data structures and

algorithms

Page 10: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

10

A Unified Programming Environment

Security Sensitive Applications

Security Module 1

User Interface

OS (Windows, Linux, etc.)

Non-Security ModulesSecurity Module n

Virtual Machine(e.g. vmware, virtualBox)

Page 11: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

11

Flexibility• Levels of Difficulty

– Beginner– Intermediate– Advanced

Objective 1: To prepare students to design, implement, and test secure software

Objective 2: A holistic platform for constructing computer security course projects

Student-centered learning

Professor-centered platform

Page 12: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

12

FlexibilityHow Modules Are Packaged

BeginnerEasy

Intermediate Moderate

AdvancedHard

ExplorativeExplorative

Light EditingLight Editing

Basic Understand Of Concepts

Basic Understand Of Concepts

Normal Implementation

Normal Implementation

Depth Understanding Of

Concept

Depth Understanding Of

Concept

Advanced Implementation

Advanced Implementation

Page 13: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

13

Types of Course Projects

• Explorative based projects.

• Partial Implementation projects.

• Full Implementations projects.

• Vulnerability testing, attacking, and fixing.

• Hybrid labs (Exploration & Implementation, etc.)

Beginner

Intermediate

Advanced

Page 14: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

14

Choose the First Application

• Real World Scenarios– Banking System: Implemented– P2P File-Sharing: future work

• Three RAs worked on this project– Strategy 1: each RA design and implement a

security sensitive application– Strategy 2: three RAs collaborate on a single

application.

Page 15: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

15

Banking Application

• Toy Application– A Secure Teller Terminal System – ATM

• Documentations– Design– Test Cases– Makefile– Readme

Page 16: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

16

Implementation Projects

Students’ Tasks

Existing Components

Access Control List

Integrity Checking

Data EncryptionModule

Properties of these projects:• Focused on targeted principles • Focused on a single application• Each project takes 2-6 weeks• Difficulties can be adjusted

IPSec In Attack Lab

Banking Application

Bufferoverflow

Page 17: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

17

WorkflowA professor’s perspective

Teach ConceptTeach Concept

Generate Project DescriptionGenerate Project DescriptionDesign Survey QuestionsDesign Survey Questions

Choose Apps & Difficulty

Choose Apps & Difficulty

Work On ProjectWork On Project

Evaluation/FeedbackEvaluation/Feedback

Design Docs & Partial Code

Design Docs & Partial Code

System SetupSystem Setup

Page 18: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

18

Design DocumentExample: Data Flow – High Level

Page 19: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

19

Put It All Together An example

A Banking System

Access Control

User Interface

OS (Windows, Linux, etc.)

Non-Security ModulesEncryption IPSec

Virtual Machine(e.g. vmware, virtualBox)

Page 20: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

20

Class Diagram A secure teller terminal system

Intermediate

Page 21: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

21

Class Diagram A secure teller terminal system

Advanced

No security modules in the design document (e.g., class diagram)

Page 22: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

22

An Encrypted Staff FileBeginne

r

BeginnerEasy

ExplorativeExplorative

Light EditingLight Editing

Page 23: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

23

An Unencrypted Staff FileBeginne

r

BeginnerEasy

ExplorativeExplorative

Light EditingLight Editing

Page 24: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

24

Encryption Modules

• Transposition - good, low-level encryption algorithm.

• Substitution - good, low-level encryption algorithm.

• Put both of them together – A transposition of a substitution.

Page 25: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

25

Access ControlAccess Control

• Role-based system.

• Implemented in a separate module.

• Give students data flow diagram.

Page 26: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

26

Access ControlAccess Control

• Students implement Access Control module.

• Allows them to insert in existing system.

• Better real world experience.

Page 27: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

27

Choose a Course to Test Our Approach

• Introductory-level• Programming experiences• Small-scale projects work

Introduction to Computer Security

Advanced Computer Security

• Research projects• Examples

• Memory attacks• Parallel Antivirus• Testing

Security Courses Other Courses

• No design experience• New programming language• Weak programming skill• Teach/learn basic security concepts

e.g., Software Construction

Page 28: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

28

Comp 2710 Software Construction

• Two projects– A secure teller terminal system: access

control– A cryptographic system: two algorithms

• 57 students (CSSE and ECE)– Computer Science– Software Engineering– Electrical Engineering– Wireless Engineering

Page 29: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

29

Preliminary Studies

• Survey Questionnaires– The quality of project design– Students’ evaluation on projects:

• How interested they are• Programming background• Whether the labs spark their interests in security• How many hours they spent on the projects

• Participants: – 48 students for project 1– 53 students for project 2

Page 30: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

30

Evaluation Results (1)

(1) ≤ 5 hours (2) 6-10 hours (3) 11-20 hours (4) 21-30 hours (5) > 30 hours

Survey: Approximately, how many hours did you spend on the project?

Design81% <10h

Implementation46% >21h

Entire Project40% >30h

Page 31: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

31

Evaluation Results (2)

(1) Strongly disagree (2) Disagree (3) Neutral (4) Agree (5) Strongly agree

Survey: The project instructions were clear.

Teller terminal system69%: agree or strongly agree

Cryptographic system 58%: agree or strongly agree

Page 32: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

32

Evaluation Results (3)

(1) Very easy (2) Somewhat easy (3) Average (4) Somewhat difficult (5) Very difficult

Survey: What was the level of difficulty of this project?

Teller terminal system61%: somewhat difficult or very difficult

Cryptographic system 53%: somewhat difficult or very difficult

Page 33: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

33

Evaluation Results (4)Survey: What was the level of interest in this project?

Teller terminal system58%: Average, High, or very high

Cryptographic system 85%: Average, High, or very high

1.  (1) Very low (2) Low (3) Average (4) High (5) Very high

Page 34: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

34

Evaluation Results (5)Survey: What was the most time consuming part of in the design portion of the project?

Teller terminal system44%: Use cases

Cryptographic system 58%: Testing

(1) Use Cases (2) Class Diagram (3) System Sequence Diagram (4) Testing

Page 35: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

35

Evaluation Results (6)

(1) Strongly disagree (2) Disagree (3) Neutral (4) Agree (5) Strongly agree

Survey: As a result of the lab, I am more interested in computer security.

Teller terminal system17%: strongly disagree or disagree

Cryptographic system 20%: strongly disagree or disagree

Page 36: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

36

Evaluation Results (7)

• develop a non-trivial application using classes, constructors, vectors, and operator overloading;

• learn a security issue – authentication;

• perform object-oriented analysis, design, and testing; and

• develop a reasonably user-friendly application.

• learn two cryptographic algorithms;

• develop a simple cryptographic tool;

• perform separate compilation; and

• to develop a command-line application.

Survey: Overall, I have attained the learning objectives of the project.

Teller terminal system Cryptographic system

Page 37: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

37

Evaluation Results (7 cont.)

(1) Strongly disagree (2) Disagree (3) Neutral (4) Agree (5) Strongly agree

Survey: Overall, I have attained the learning objectives of the project.

Teller terminal system52%: strongly agree or agree

Cryptographic system 65%: strongly agree or agree

Page 38: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

38

About the QoSec Project

• Funded by the NSF CCLI Program – Phase I ($150K) was funded in 2009– 1 PI and 4 Research Assistants– Alfred Nelson– Andrew Pitchford– John Barton

• Web pages of the project will be available soon: – http://www.eng.auburn.edu/~xqin

Page 39: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

39

Plan and Collaborations• Prepare for an NSF TUES Phase II Project

– Four to six universities involved– 10 Pis– More tool applications– More preliminary results– Evidence for collaborations

• Contact me if you are interested in– this NSF CCLI Phase I project or – our future NSF TUES Phase II project

Xiao Qin: [email protected]

Page 40: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

40

Page 41: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

41

Demo & Examples

Page 42: 1 An Application-Oriented Approach for Computer Security Education Xiao Qin Department of Computer Science and Software Engineering Auburn University Email:

42

Questions?Questions?

• If you are interested in information regarding this project, add your name to our newsletter list after this discussion.

http://www.eng.auburn.edu/~xqin• Slides are available at

http://www.slideshare.net/xqin74