New Research in Software Security

Slides:



Advertisements
Similar presentations
Overview of local security issues in Campus Grid environments Bruce Beckles University of Cambridge Computing Service.
Advertisements

1 Composing Security Policies with Polymer Jay Ligatti (Princeton); joint work with: Lujo Bauer (CMU), David Walker (Princeton)
High level QA strategy for SQL Server enforcer
Operating System Security
08/03/071/41 Polymer: A Language and System for Specifying Complex, Modular Run-time Policies Jay Ligatti, University of South Florida Joint work with:
Jay Ligatti and Srikar Reddy University of South Florida.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Trusted Hardware: Can it be Trustworthy? Design Automation Conference 5 June 2007 Karl Levitt National Science Foundation Cynthia E. Irvine Naval Postgraduate.
8.2 Discretionary Access Control Models Weiling Li.
The Future of Correct Software George Necula. 2 Software Correctness is Important ► Where there is software, there are bugs ► It is estimated that software.
Software Security Monitors: Theory & Practice David Walker Princeton University (joint work with Lujo Bauer and Jay Ligatti)
Software Testing and Quality Assurance
More Enforceable Security Policies Lujo Bauer, Jay Ligatti and David Walker Princeton University (graciously presented by Iliano Cervesato)
A Type System for Expressive Security Policies David Walker Cornell University.
Security administrators The experts need better tools too!
Poly stop a hacker David Walker Princeton University (joint work with Lujo Bauer and Jay Ligatti)
Performance Testing Design By Omri Lapidot Symantec Corporation Mobile: At SIGiST Israel Meeting November 2007.
12/03/071/51 Monitoring Software to Enforce Run-time Policies Jay Ligatti, University of South Florida.
Complex Security Policies Dave Andersen Advanced Operating Systems Georgia State University.
Java Security Updated May Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security.
Metro (down the Tube) Security Testing Windows Store Apps Marion McCune – ScotSTS Ltd.
Enforcing Concurrent Logon Policies with UserLock.
CINEMA’s UbiComp Subsystem Stefan Berger and Henning Schulzrinne Department of Computer Science Columbia University
VeriFlow: Verifying Network-Wide Invariants in Real Time
Static and Dynamic Analysis at JPL Klaus Havelund.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
Richard Gay – ICISS, December 20, 2014 CliSeAu:Securing Distributed Java Programs by Cooperative Dynamic Enforcement Richard Gay, Jinwei Hu, Heiko Mantel.
Software Quality Assurance
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
©2010 Check Point Software Technologies Ltd. | [Unrestricted] For everyone SmartEvent (Intro) Антон Разумов Консультант по безопасности.
Containment and Integrity for Mobile Code End-to-end security, untrusted hosts Andrew Myers Fred Schneider Department of Computer Science Cornell University.
ABone Architecture and Operation ABCd — ABone Control Daemon Server for remote EE management On-demand EE initiation and termination Automatic EE restart.
1 Enforcing Security Policies with Run-time Program Monitors Jay Ligatti Princeton University.
1 Chapter Overview Defining Operators Creating Jobs Configuring Alerts Creating a Database Maintenance Plan Creating Multiserver Jobs.
Lecture 18 Page 1 CS 111 Online OS Use of Access Control Operating systems often use both ACLs and capabilities – Sometimes for the same resource E.g.,
1 Welcome Hans Andersson Der Yao Leong Yee Jiun Song Wendy Tobagus Yang Bei Sherif Yousef.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
08/06/071/58 Runtime Software Monitoring Jay Ligatti, University of South Florida Joint work with: Lujo Bauer, CMU CyLab David Walker, Princeton University.
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
27/09/071/65 Coping with Runtime-Policy Complexity Jay Ligatti, University of South Florida Joint work with: Lujo Bauer, Carnegie Mellon University CyLab.
1 Jay Ligatti (Princeton University); joint work with: Lujo Bauer (Carnegie Mellon University), David Walker (Princeton University) Enforcing Non-safety.
Chapter 2 Introduction to Static Analysis. Chapter Outline Capabilities and Limitations of Static Analysis  Type checking  Style checking  Program.
ClickOnce Deployment (One-click Deployment)
Models of Models: Digital Forensics and Domain-Specific Languages
Tool Support for Testing
(Thunking about Thunks)
Jay Ligatti summer 2004 intern work with:
Policy Enforcement via Program Monitoring
Managing, Storing, and Executing DTS Packages
More Security and Programming Language Work on SmartPhones
Cloning Flow for
Enforcing Security Policies with Run-time Program Monitors
The Development Process of Web Applications
Introduction to Visual Basic 2008 Programming
Arab Open University 2nd Semester, M301 Unit 5
PVS-Studio static analyzer: advanced features
Coding Defensively Coding Defensively
Deploying and Configuring SSIS Packages
Mcafee updates Mcafee antivirus uses a database of known virus definitions to identify malware and other threats on your computer system. So it is important.
CIS16 Application Development – Programming with Visual Basic
Simplified Development Toolkit
Enforcing Non-safety Security Policies with Program Monitors
RV-ECU: Maximum Assurance In-Vehicle Safety Monitoring
How to Mitigate the Consequences What are the Countermeasures?
Language-based Security
Developing and testing enterprise Java applications
Configuration management
ClickOnce Deployment (One-click Deployment)
SDMX IT Tools SDMX Registry
Presentation transcript:

New Research in Software Security Jay Ligatti University of South Florida 12/29/2018

Outline Motivating problems Long-term goals Recent and near-future work Modeling and analysis Monitor applications Policy tools 12/29/2018

General Problem: Software Insecurity Vulnerability sources: bugs, malware [ http://www.cert.org/stats/ ] 12/29/2018

More Specific Problem: Policy Complexity Research has developed large body of policies for preventing vulnerabilities Authenticate before logging in, allow file write iff ACL has write permission, etc. Unfortunately, policies are complex and grow more and more complex As software grows more sophisticated As new policies get combined with old As policies get refined in response to attacks and user feedback 12/29/2018

Even More Specific Problem: Managing Complex Policies Policies are complex and grow more and more complex, so… Difficult to decide on policies to enforce Difficult to specify policies Difficult to know whether policies actually get enforced 12/29/2018

Outline Motivating problems Long-term goals Recent and near-future work Modeling and analysis Monitor applications Policy tools 12/29/2018

Long-term Goals (1) Problem Research Goal Difficult to decide on policies to enforce Research Which policies are useful to enforce in practice; what are enforcement costs? Goal Pre-packaged, customizable policy library 12/29/2018

Long-term Goals (2) Problem Research Goal Difficult to specify policies Research How can we make specification easier and less error prone? Goal Policy-specification languages, GUIs, etc. 12/29/2018

Long-term Goals (3) Problem Research Goal Difficult to know whether policies actually get enforced Research How to provide rigorous enforcement assurances? Goal Verification tools that formally test whether existing mechanisms enforce required policies 12/29/2018

Outline Motivating problems Long-term goals Recent and near-future work Modeling and analysis (Goal 3: assurances) Monitor applications (Goal 1: useful policies) Policy tools (Goal 2: specification) 12/29/2018

Recent Modeling Work [with Bauer and Walker] Developed models of run-time program monitors Monitors are enforcement mechanisms Untrusted Program Program Monitor Executing System Open(f,“w”) Open(f,“w”) is OK Open(f,“w”) (based on monitor policy) 12/29/2018

Enforcement Model Provided precise definitions of systems, policies, monitors, and enforcement Monitors modeled by infinite-state automata called edit automata logBegin(n) dispense(n) (suppress) (suppress) init begun(n) dispensed(n) logEnd(n) 12/29/2018 insert: logBegin(n);dispense(n);logEnd(n)

Model Analysis Also defined a new set of policies called infinite renewal properties We showed: "sÎAω : P(s) Û {u≤s | P(u)} is an infinite set Edit automaton E Renewal Policy P Proof that E enforces P 12/29/2018

Surprising Result Renewal properties include some policies thought unenforceable by monitors Monitors can enforce some nonsafety policies Our understanding of policy enforcement capabilities is very primitive! 12/29/2018

Near-future Modeling Research Distributed monitors How to cooperate to enforce policies concurrently How to handle monitor failure/compromise Distributed policies How do local policies compose into global policies? How can we synthesize global from locals? How can we analyze global to automatically generate locals? Compare enforcement mechanisms’ capabilities Analyze mechanisms’ time/space complexities 12/29/2018

Notes “Future” ideas are new Opportunities for grad students Exciting!  Caveat: Some may be good, others bad Opportunities for grad students I envision several of these “future” ideas leading to theses/dissertations. 12/29/2018

Outline Motivating problems Long-term goals Recent and near-future work Modeling and analysis (Goal 3: assurances) Monitor applications (Goal 1: useful policies) Policy tools (Goal 2: specification) 12/29/2018

Applications of Monitors I Monitors already heavily used for good Additional uses to prevent recent attacks: 1) Sophisticated “sandbox” for email clients 12/29/2018 [with Bauer and Walker]

Applications of Monitors II Additional uses to prevent recent attacks: 2) Control-flow policy enforcement [with Abadi, Budiu, and Erlingsson] Prevents control-flow tampering, which accounts for about 60% of attacks [Xu, Kalbarczyk, Iyer ’03; Arora, Ravi, Raghunathan, Jha ’05] FA FB nop IMM1 if(*fp != nop IMM1) halt call fp if(**esp != nop IMM2) halt nop IMM2 return 12/29/2018

Near-future Monitor-applications Research Distributed monitors and policies Which policies would be really useful to enforce on distributed systems? Distributed-sensor policies? Geography-based and RT policies Medical database policies Privacy policies (HIPAA) Medical-alert policies to improve care 12/29/2018

Outline Motivating problems Long-term goals Recent and near-future work Modeling and analysis (Goal 3: assurances) Monitor applications (Goal 1: useful policies) Policy tools (Goal 2: specification) 12/29/2018

Polymer [with Bauer and Walker] A language for specifying complex run-time policies An implemented tool for automatically generating code that’s secure w.r.t. to specified policies public class DisSysCalls extends Policy { public Sug query(Action a) { aswitch(a) { case <* java.lang.Runtime.exec(..)>: return new HaltSug(this, a); } return new IrrSug(this); } public void accept(Sug s) { if(s.isHalt()) { System.err.println(“Illegal exec method called”); System.err.println(“About to halt target.”); } } } Instrumented targets Instrumented libraries … … 12/29/2018 Compiled policies

Near-future Policy-tool Research Specification languages for distributed policies GUI-based tools for specifying, visualizing, and dynamically updating policies Sysadmins select and customize policies from expert-programmed library 12/29/2018

Summary I’m interested in all research related to security policies – theory and practice Design, analysis, synthesis, modeling, specification, implementation, management, enforcement, etc. Recent work took first steps toward goals Useful policies, management tools, and assurances Many (infinite) research steps remain! Help wanted  12/29/2018

End I’m always happy to advise on security and programming languages research If you have additional research ideas in these areas, please feel free to contact Contact info: Jay Ligatti, ENB 333, ligatti@cse.usf.edu 12/29/2018

Questions? 12/29/2018