SlideShare a Scribd company logo
Introduction
Justin Cappos
Dan Guido
CS9163: Application Security
About us
Prof. Justin Cappos
● 2008 PhD University of Arizona
● I build deployed secure systems
○ Stork, Seattle, TUF, upPIR, etc.
○ open source / participation
■ Seattle has patches from ~100 devels!
Prof. Dan Guido
● Co-Founder & CEO, Trail of Bits
○ Helps companies develop effective security strategies
● Hacker-in-Residence, NYU Poly
○ Helps maintain and grow security program at Poly
About this class
● Philosophy: learn by doing
○ hands-on (practical exercises)
■ You will build applications
■ You will find bugs in applications
■ You will fix bugs in applications
● Online / in-class interaction
○ Content is identical for on-line and in-class version
■ Videotaped lectures will be available online
○ You may have project partners in other 'classes'
■ This mimics real world projects
○ This class will heavily use the forum on Blackboard
About this class (cont.)
● Lecture-inversion
○ There will be videos to watch before most classes
○ In class time (normally) used for projects
■ Remote students can join in project classes
■ Google+ hangout or Skype session (details to
come)
○ Attendance is strongly recommended (but not required)
■ I will treat you like an adult
● Course textbook
○ The Art of Software Security Assessment
■ We will heavily use this book
○ Outside materials
○ Finish reading assignment before class
Academic Integrity
● Tests, etc.
○ Read the university guidelines
● Assignments
○ Collaboration is encouraged
○ Specific policy in assignment
■ Intro Project: on your own
■ Main Project: very collaborative
● Strongly dislike cheaters!
○ I caught 6 last year.
Important Resources
● Course Web Page on Blackboard
○ Discussion forum
○ Assignment information
○ Reading schedule / materials
● Instructor: Justin Cappos
○ Office hours: 2 MetroTech 10.026, TBD
○ Email: jcappos@poly.edu, Google / Skype: justincappos
● Instructor: Dan Guido
○ Office hours: ???
○ Email: ???
● TA: Ojas Gosar
○ Office hours: RH 219, M 4-5, Th, 3-4
○ Email:ogosar01@students.poly.edu,Google / Skype: ojas.
gosar
● TA: Jeffrey Dileo
○ Office hours: RH 219, TBD
○ Email:jtd@isis.poly.edu, Google / Skype: jtdileo
What will I learn?
●How to build secure applications
●Windows exploits, secure code lifecycle,
mobile app hacking, memory corruption,
sandboxing, SQL injection attacks, code
auditing, security for enterprises, security
for startups, application use of crypto, web
app security: XSS, XREF, etc., bug
bounties, ...
Other Security Classes
● Intro / Overlapping
○ CS 392 / 6813: Intro security
■ background
○ CS 6823: Network security
○ CS 6903: Modern Cryptography
○ CS 9163: Application security
■ Building secure applications (always with source)
○ CS 6573: Penetration Testing and Vulnerability Analysis
■ Exploiting flaws in applications (usually binaries)
● Advanced Security seminars
○ EL 9423: Special Topics in Computer Engineering: Introduction
to Secure and Trusted Hardware (Spring 2010)
○ CS 9413: Readings in Comp Sci: Secure Systems
○ ...
Expectations
● About your background
○ Strong programming skills (C, Ruby, Python, Java)
You'll need basic competency for the class to make sense!
● Consistent workload
○ Practical / exploration focused
○ Background reading (see webpage)
Be sure to keep up!
Grading
● Midterm: 15%
● Final: 25%
● Projects: 50%
○ Projects are very, very important!
● In-Class Labs: 10%
Course Outline
Sept 4 Intro / Development Practices (*) A1.1 asgn
Sept 11 Windows Internals (*)
Sept 18 Memory Corruption A1.1 due
Sept 25 Sandboxing A1.2 due
Oct 2 Mobile App Sec A1.3 due
Oct 9 Midterm Review A2.1 asgn
Oct 23 Midterm
Oct 30 Security for enterprise / startup (*) A2.X due
Nov 6 Code Auditing 1 A2.X due
Nov 13 Code Auditing 2 A2.X due
Nov 20 Web apps
Nov 27 Practical crypto
Dec 4 Project presentations A2.X due
Dec 11 Final
Assignment outline
Assignment 1 (Intro): Build a simple application (a Turing-
complete sandbox)
● Look for flaws in other sandboxes
● Fix minor code issues
● Re-architect code
● Individual
Assignment 2 (Main): Build a secure application
● Substantial application (>1 thousand LOC)
● Must have different trust domains
● Mix of code types: SQL or Android or JavaScript...
○ (More to come)
● Group project with a changing group
○ accept outside patches, bug reports, etc.
Assignment 1, part 1
See blackboard
Discuss general questions on the forums
Reading Next Week
See blackboard

More Related Content

PDF
Rekayasa perangkat lunak 00
PDF
Development of a mobile French language learning platform
PDF
Advanced exploit development
PPTX
Pen Testing Development
PPTX
Pen Testing, Red Teaming, and More
PPT
Forms : a UX manifesto
DOCX
Clase d educacion fisica
PDF
Jack D Ryger: Hot Air Balloon Trip in Vermont
Rekayasa perangkat lunak 00
Development of a mobile French language learning platform
Advanced exploit development
Pen Testing Development
Pen Testing, Red Teaming, and More
Forms : a UX manifesto
Clase d educacion fisica
Jack D Ryger: Hot Air Balloon Trip in Vermont

Viewers also liked (16)

PDF
When it comes to Building your team, Who Makes the Cut? by Reo Kobayashi
DOCX
Estudo de violão
PPTX
Trending and viral story 4th part
DOC
Con canal nacional interactivo word
PDF
Leading in the Age of Rransparency
PDF
Paychex Small Business Snapshot: How Does the Election Impact Hiring and Wage...
PDF
EY Business Barometer - O viziune a creșterii - ediția de toamnă 2016
PPTX
Microcredit and the culture of reciprocity
PDF
Understanding the EU Referendum through IRT
PDF
9 Field-Tested, No-Fail Strategies To Help You Succeed In Your Next Negotia...
PDF
Information Security Benchmarking 2016
PPTX
How branding effects conversions & what that means for CROs
PDF
Hays Journal 11
PDF
Работает ли мой контент? Основы аналитики контентого маркетинга.
PDF
Web Marketing Master
PDF
บทที่ 2 การฟัง
When it comes to Building your team, Who Makes the Cut? by Reo Kobayashi
Estudo de violão
Trending and viral story 4th part
Con canal nacional interactivo word
Leading in the Age of Rransparency
Paychex Small Business Snapshot: How Does the Election Impact Hiring and Wage...
EY Business Barometer - O viziune a creșterii - ediția de toamnă 2016
Microcredit and the culture of reciprocity
Understanding the EU Referendum through IRT
9 Field-Tested, No-Fail Strategies To Help You Succeed In Your Next Negotia...
Information Security Benchmarking 2016
How branding effects conversions & what that means for CROs
Hays Journal 11
Работает ли мой контент? Основы аналитики контентого маркетинга.
Web Marketing Master
บทที่ 2 การฟัง
Ad

Similar to 1.1. course introduction (20)

PPT
intro_juhy_of _art_of _hacking_ekdoskw.ppt
PPTX
[CS161 FA23] Lecture 1_ Introduction and Security Principles.pptx
PPTX
Securing Underprotected APIs - Deja vu Security
PDF
TUD CS4105 | 2015 | Lecture 1
PDF
Software Security Certification
PPTX
Built-in Security Mindfulness for Software Developers
PPT
An operating system (OS) provides a virtual execution environment on top of h...
PPT
INT529 zero lecture.pptdsfsdffewwretetrtetretr
PPTX
20101017 program analysis_for_security_livshits_lecture03_security
PPTX
CISSP Certification- Security Engineering-part1
PPT
introduction to data science- University
PPT
An Application-Oriented Approach for Computer Security Education
PDF
CYBER SECURITY Enginnering course .pdf
PDF
An Introduction to Secure Application Development
PDF
Chapter 2 program-security
PDF
Résumé1
PPT
Software security
PPT
SoftwareSecurity.ppt
PPT
Intro (1).ppt
PPTX
01-intro.pptx
intro_juhy_of _art_of _hacking_ekdoskw.ppt
[CS161 FA23] Lecture 1_ Introduction and Security Principles.pptx
Securing Underprotected APIs - Deja vu Security
TUD CS4105 | 2015 | Lecture 1
Software Security Certification
Built-in Security Mindfulness for Software Developers
An operating system (OS) provides a virtual execution environment on top of h...
INT529 zero lecture.pptdsfsdffewwretetrtetretr
20101017 program analysis_for_security_livshits_lecture03_security
CISSP Certification- Security Engineering-part1
introduction to data science- University
An Application-Oriented Approach for Computer Security Education
CYBER SECURITY Enginnering course .pdf
An Introduction to Secure Application Development
Chapter 2 program-security
Résumé1
Software security
SoftwareSecurity.ppt
Intro (1).ppt
01-intro.pptx
Ad

1.1. course introduction

  • 2. About us Prof. Justin Cappos ● 2008 PhD University of Arizona ● I build deployed secure systems ○ Stork, Seattle, TUF, upPIR, etc. ○ open source / participation ■ Seattle has patches from ~100 devels! Prof. Dan Guido ● Co-Founder & CEO, Trail of Bits ○ Helps companies develop effective security strategies ● Hacker-in-Residence, NYU Poly ○ Helps maintain and grow security program at Poly
  • 3. About this class ● Philosophy: learn by doing ○ hands-on (practical exercises) ■ You will build applications ■ You will find bugs in applications ■ You will fix bugs in applications ● Online / in-class interaction ○ Content is identical for on-line and in-class version ■ Videotaped lectures will be available online ○ You may have project partners in other 'classes' ■ This mimics real world projects ○ This class will heavily use the forum on Blackboard
  • 4. About this class (cont.) ● Lecture-inversion ○ There will be videos to watch before most classes ○ In class time (normally) used for projects ■ Remote students can join in project classes ■ Google+ hangout or Skype session (details to come) ○ Attendance is strongly recommended (but not required) ■ I will treat you like an adult ● Course textbook ○ The Art of Software Security Assessment ■ We will heavily use this book ○ Outside materials ○ Finish reading assignment before class
  • 5. Academic Integrity ● Tests, etc. ○ Read the university guidelines ● Assignments ○ Collaboration is encouraged ○ Specific policy in assignment ■ Intro Project: on your own ■ Main Project: very collaborative ● Strongly dislike cheaters! ○ I caught 6 last year.
  • 6. Important Resources ● Course Web Page on Blackboard ○ Discussion forum ○ Assignment information ○ Reading schedule / materials ● Instructor: Justin Cappos ○ Office hours: 2 MetroTech 10.026, TBD ○ Email: jcappos@poly.edu, Google / Skype: justincappos ● Instructor: Dan Guido ○ Office hours: ??? ○ Email: ??? ● TA: Ojas Gosar ○ Office hours: RH 219, M 4-5, Th, 3-4 ○ Email:ogosar01@students.poly.edu,Google / Skype: ojas. gosar ● TA: Jeffrey Dileo ○ Office hours: RH 219, TBD ○ Email:jtd@isis.poly.edu, Google / Skype: jtdileo
  • 7. What will I learn? ●How to build secure applications ●Windows exploits, secure code lifecycle, mobile app hacking, memory corruption, sandboxing, SQL injection attacks, code auditing, security for enterprises, security for startups, application use of crypto, web app security: XSS, XREF, etc., bug bounties, ...
  • 8. Other Security Classes ● Intro / Overlapping ○ CS 392 / 6813: Intro security ■ background ○ CS 6823: Network security ○ CS 6903: Modern Cryptography ○ CS 9163: Application security ■ Building secure applications (always with source) ○ CS 6573: Penetration Testing and Vulnerability Analysis ■ Exploiting flaws in applications (usually binaries) ● Advanced Security seminars ○ EL 9423: Special Topics in Computer Engineering: Introduction to Secure and Trusted Hardware (Spring 2010) ○ CS 9413: Readings in Comp Sci: Secure Systems ○ ...
  • 9. Expectations ● About your background ○ Strong programming skills (C, Ruby, Python, Java) You'll need basic competency for the class to make sense! ● Consistent workload ○ Practical / exploration focused ○ Background reading (see webpage) Be sure to keep up!
  • 10. Grading ● Midterm: 15% ● Final: 25% ● Projects: 50% ○ Projects are very, very important! ● In-Class Labs: 10%
  • 11. Course Outline Sept 4 Intro / Development Practices (*) A1.1 asgn Sept 11 Windows Internals (*) Sept 18 Memory Corruption A1.1 due Sept 25 Sandboxing A1.2 due Oct 2 Mobile App Sec A1.3 due Oct 9 Midterm Review A2.1 asgn Oct 23 Midterm Oct 30 Security for enterprise / startup (*) A2.X due Nov 6 Code Auditing 1 A2.X due Nov 13 Code Auditing 2 A2.X due Nov 20 Web apps Nov 27 Practical crypto Dec 4 Project presentations A2.X due Dec 11 Final
  • 12. Assignment outline Assignment 1 (Intro): Build a simple application (a Turing- complete sandbox) ● Look for flaws in other sandboxes ● Fix minor code issues ● Re-architect code ● Individual Assignment 2 (Main): Build a secure application ● Substantial application (>1 thousand LOC) ● Must have different trust domains ● Mix of code types: SQL or Android or JavaScript... ○ (More to come) ● Group project with a changing group ○ accept outside patches, bug reports, etc.
  • 13. Assignment 1, part 1 See blackboard Discuss general questions on the forums
  • 14. Reading Next Week See blackboard