SCOTT KURODA ADVISOR: DR. FRANZ KURFESS Encouraging Secure Programming Practice in Academia.

Slides:



Advertisements
Similar presentations
Mobile Code Security Yurii Kuzmin. What is Mobile Code? Term used to describe general-purpose executables that run in remote locations. Web browsers come.
Advertisements

Principles of Engineering System Design Dr T Asokan
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Software Fault Injection for Survivability Jeffrey M. Voas & Anup K. Ghosh Presented by Alison Teoh.
CSCE 522 Building Secure Software. CSCE Farkas2 Reading This lecture – McGraw: Ch. 3 – G. McGraw, Software Security,
® Rational Power-Up Program © 2008 IBM Corporation IBM Rational’s Solutions to Ensure Quality Susann Ulrich –
Object-Oriented Analysis and Design
1 Steve Chenoweth Friday, 10/21/11 Week 7, Day 4 Right – Good or bad policy? – Asking the user what to do next! From malware.net/how-to-remove-protection-system-
© 2005 by Prentice Hall Chapter 4 System Testing & Implementation Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
Why Security Testing Is Hard Herbert H. Thompson Presenter: Alicia Young.
CounterMeasures: An Interactive Game for Security Training Advised by: Mark Claypool Kathi Fisler Craig Jordan (IMGD) Matt Knapp (CS) Dan Mitchell (CS)
Welcome to EECS 354 Network Penetration and Security.
Ragib Hasan Johns Hopkins University en Spring 2011 Lecture 10 04/18/2011 Security and Privacy in Cloud Computing.
Yan Chen Dept. of Computer Science Northwestern University Information Security Curriculum Development in Northwestern.
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 9 Performing Vulnerability Assessments.
Secure Software Development Security Operations Chapter 9 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
Ragib Hasan University of Alabama at Birmingham CS 491/691/791 Fall 2013 Lecture 3 09/03/2013 Security and Privacy in Cloud Computing.
This is a work of the U.S. Government and is not subject to copyright protection in the United States. The OWASP Foundation OWASP AppSec DC October 2005.
Software Security Course Course Outline Course Overview Introduction to Software Security Common Attacks and Vulnerabilities Overview of Security.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
INFO 355Week #61 Systems Analysis II Essentials of design INFO 355 Glenn Booker.
WIR FORSCHEN FÜR SIE The Palladio Component Model (PCM) for Performance and Reliability Prediction of Component-based Software Architectures Franz Brosch.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
CSCE 548 Secure Software Development Risk-Based Security Testing.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
A Framework for Automated Web Application Security Evaluation
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
 Prototype for Course on Web Security ETEC 550.  Huge topic covering both system/network architecture and programming techniques.  Identified lack.
What’s Going On? This is a “Capture The Flag” hacking contest Teams from a number of Universities/Institutions compete against each other Each team has.
Information Systems Analysis and Design
CSCE 548 Secure Software Development Test 1 Review.
CSCE 548 Code Review. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 4 – Recommended: Best Practices for Peer Code Review,
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
CSE 4481 Computer Security Lab Mark Shtern. INTRODUCTION.
Computer Security and Penetration Testing
Lecture 3: Visual Modeling & UML 1. 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling.
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Chapter 10 Information Systems Analysis and Design
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
An Ad Hoc Writable Rule Language for White-Box Security Scanners Author:Sebastian Schinzel Referent:Prof. Dr. Alexander del Pino Korreferent:Prof. Dr.
CSE 4481 Computer Security Lab Mark Shtern. INTRODUCTION.
CSCE 522 Secure Software Development Best Practices.
APPLICATION PENETRATION TESTING Author: Herbert H. Thompson Presentation by: Nancy Cohen.
Security+ Guide to Network Security Fundamentals, Third Edition Chapter 9 Performing Vulnerability Assessments.
.  Define risk and risk management  Describe the components of risk management  List and describe vulnerability scanning tools  Define penetration.
CSCE 548 Building Secure Software. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 1 – Recommended: CyberInsecurity: The Cost of Monopoly,
Computer Concepts 2014 Chapter 10 Information Systems Analysis and Design.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Introduction: Information security services. We adhere to the strictest and most respected standards in the industry, including: -The National Institute.
Mobile Agent Security Presented By Sayuri Yonekawa October 17, 2000.
Lab 5 CPIT 250 System Analysis and Design.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 9 1COMP9321, 15s2, Week.
CSCE 201 Secure Software Development Best Practices.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Secure Software Development Security Operations Chapter 9 Rasool Jalili & M.S. Dousti Dept. of Computer Engineering Fall 2010.
Mark Shtern.  Our life depends on computer systems  Traffic control  Banking  Medical equipment  Internet  Social networks  Growing number of.
© ITT Educational Services, Inc. All rights reserved. IS3220 Information Technology Infrastructure Security Unit 10 Network Security Management.
A Framework For Trusted Instruction Execution Via Basic Block Signature Verification Milena Milenković, Aleksandar Milenković, and Emil Jovanov Electrical.
Buffer Overflows Incomplete Access Control
Chapter 6: Securing the Cloud
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
CSCE 548 Secure Software Development Risk-Based Security Testing
Design for Security Pepper.
Security Testing Methods
Secure Software Development: Theory and Practice
CSCE 548 Secure Software Development Test 1 Review
Unified Modeling Language
Brute force attacks, DDOS, Botnet, Exploit, SQL injection
CS240: Advanced Programming Concepts
Presentation transcript:

SCOTT KURODA ADVISOR: DR. FRANZ KURFESS Encouraging Secure Programming Practice in Academia

Goals Develop a system that exposes students to:  Secure programming practice  Attack scenarios  Vulnerable code Develop system in a service oriented manner.  Accessible via Internet

Current Tools Static Code Analysis Sandbox Environments Courses

Static Code Analysis Lint PC-Lint JS-Lint Pylint Pychecker

Sandbox Environment Provide a controlled space for experiments.  Penetration test Allow “safe” environment for safe competitions  Defcon  International Capture the Flag Hacking Competition (UCSB)  Traditional CTF  “Treasure Hunt”  “Botnet” Scenario  Simulated attack against a rogue nation

Academics Courses  Theory and concepts of security  Encryption  Program Security  Network Security  Implementation of attacks  Buffer Overflow  Breaking encryption  Graceful failure  SQL Injection Clubs  White Hat

Current Research Teaching computer security  Course design Automated tools in academics  Checking for plagiarism In industry  Penetration testing  Automated software testing

Research in Academics Course design  Not practical to create an additional required course for many universities. Code analysis  Utilized by many institutions to reduce plagiarism.  Textual analysis  Structural analysis  Variable analysis

Research in Industry Threat Model Driven Approach for Security Testing Automated Software Testing as a Service

Threat Model Driven Approach for Security Testing Threats modeled as an UML Scenarios developed as sequence diagrams at design phase Determine security policy, then define model behavior that would violate said policy.

Automated Software Testing as a Service Leverage cloud services to test code. Reduce the load on a given system. Provide continuous testing of code to developers. Developers can define both high level specifications and lower level test predicates. Predicates broken into two categories, universal and application specific.

So what? Goals reiterated:  To expose students to computer security issues. Close the knowledge gap for student developers  Students will be exposed to security issues, at a minimum, through submitting and receiving feedback on their code.  Students may choose to extend their knowledge by becoming “experts” in the system.

Proposed Architecture From proposal by Dr. Seng, Dr. Kurfess, Dr. Nico, and Dr. Assal

Code Checking Perform static code analysis Generate annotated report for both user and experts Intermediate agent to potentially combine reports  Shorten final report  Reduce redundancy of a given error  Several challenges  Reports from each tool may appear differently.  Text parsing and language processing to accurately create final report

Human Expert Second level of analysis. Use levels to define how much of an “expert” in the field of computer/network security.  E.g. Students providing feedback vs. Industry Expert

Code Deployment Actual running of submitted code. Collect various metrics about deployed code. Potentially utilize non-static code analysis methods Requires building a safe closed environment to run code.  Must be isolated from external influences.  Must be restricted if malicious code is submitted.

Behavior Analysis Analysis of code behavior Various analysis methods performed on data generated from code deployment.

Questions?

Proposed Architecture From proposal by Dr. Seng, Dr. Kurfess, Dr. Nico, and Dr. Assal