Software security patches Audit, deployment and hot update Nicolas Loriant, Marc Ségura-Devillechaise, Jean-Marc Menaud, Obasco Group EMN/INRIA Workshop.

Slides:



Advertisements
Similar presentations
Usage of the memoQ web service API by LSP – a case study
Advertisements

COM vs. CORBA.
Improving Cybersecurity Through Research & Innovation Dr. Steve Purser Head of Technical Competence Department European Network and Information Security.
Alternate Software Development Methodologies
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
CMMI – Continuous as well as staged model CMMI capability levels – Incomplete, performed, managed, defined, quantitatively managed, optimized Example.
Supervision of Production Computers in ALICE Peter Chochula for the ALICE DCS team.
Copyright 2009 FUJITSU TECHNOLOGY SOLUTIONS PRIMERGY Servers and Windows Server® 2008 R2 Benefit from an efficient, high performance and flexible platform.
Managing Data Resources
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Tools and Services for the Long Term Preservation and Access of Digital Archives Joseph JaJa, Mike Smorul, and Sangchul Song Institute for Advanced Computer.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 11 Managing and Monitoring a Windows Server 2008 Network.
© 2005, Resolutions Enterprises Ltd. 1 The Key to a Successful Business Desktop Deployment Implementation Software Packaging Process Best Practices Speaker:
A Feature-Based Analysis & Comparison of IT Automation Tools: Comparing Kaseya to Developed By: & Advisor : Dr. S. Masoud Sadjadi School of Computing and.
LEARN. NETWORK. DISCOVER. | #QADexplore Implementing Business Process Management: Steps to Success WCUG – November 18, 2014.
5205 – IT Service Delivery and Support
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Directory and File Transfer Services Chapter 7. Learning Objectives Explain benefits offered by centralized enterprise directory services such as LDAP.
Real Security for Server Virtualization Rajiv Motwani 2 nd October 2010.
Software Deployment at Johnston Community College Lauren Bradley | Windows System Administrator at Johnston Community College Lauren Bradley | Windows.
A Human-centric framework for universal access Canadian Undergraduate Software Engineering Conference March 7-9, 2002 Jacob Slonim Dalhousie.
UML - Development Process 1 Software Development Process Using UML (2)
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Secure Web Applications via Automatic Partitioning Stephen Chong, Jed Liu, Andrew C. Meyers, Xin Qi, K. Vikram, Lantian Zheng, Xin Zheng. Cornell University.
Usable Security – CS 6204 – Fall, 2009 – Dennis Kafura – Virginia Tech Why Johnnys' Network got Owned by Evil Hackers Bent on World Domination and Johnny.
Hands-On Microsoft Windows Server 2003 Administration Chapter 2 Managing Windows Server 2003 Hardware and Software.
Version 02U-1 Computer Security: Art and Science1 Penetration Testing by Brad Arkin Scott Stender and Gary McGraw.
Nobody’s Unpredictable Ipsos Portals. © 2009 Ipsos Agenda 2 Knowledge Manager Archway Summary Portal Definition & Benefits.
A virus is software that spreads from program to program, or from disk to disk, and uses each infected program or disk to make copies of itself. Basically.
Copyright Security-Assessment.com 2004 Vulnerability Management Explained By Peter Benson.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
CSE 219 Computer Science III Program Design Principles.
1 © 2001, Cisco Systems, Inc. All rights reserved. Cisco Info Center for Security Monitoring.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Appendix C: Designing an Operations Framework to Manage Security.
©2010 Check Point Software Technologies Ltd. | [Unrestricted] For everyone SmartEvent (Intro) Антон Разумов Консультант по безопасности.
Attack Tool Repository and Player for ISEAGE May06-11 Abstract Today’s world is changing shape as it increases its dependency on computer technology. As.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Securing Your Enterprise with Enterprise Manager 10g Amir Najmi Principal Member of Technical Staff System Management Products Oracle Corporation Session.
Microsoft Management Seminar Series SMS 2003 Change Management.
The DIAMON Project Monitoring and Diagnostics for the CERN Controls Infrastructure Pierre Charrue, Mark Buttner, Joel Lauener, Katarina Sigerud, Maciej.
Rob Davidson, Partner Technology Specialist Microsoft Management Servers: Using management to stay secure.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley.
Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps.
IT System Administration Lesson 3 Dr Jeffrey A Robinson.
June 13-15, 2007Policy 2007 Infrastructure-aware Autonomic Manager for Change Management H. Abdel SalamK. Maly R. MukkamalaM. Zubair Department of Computer.
Rémi Douence, Thomas Fritz Nicolas Loriant, Jean-Marc Menaud Marc Ségura-Devillechaise, Mario Südholt OBASCO group EMN/INRIA An expressive aspect language.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Aspect Oriented Security Tim Hollebeek, Ph.D.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Enabling Grids for E-sciencE INFSO-RI Enabling Grids for E-sciencE Gavin McCance GDB – 6 June 2007 FTS 2.0 deployment and testing.
Page 1 Viruses. Page 2 What Is a Virus A virus is basically a computer program that has been written to perform a specific set of tasks. Unfortunately,
May 7-8, 2007ICVCI 2007 RTP Autonomic Approach to IT Infrastructure Management in a Virtual Computing Lab Environment H. Abdel SalamK. Maly R. MukkamalaM.
A service Oriented Architecture & Web Service Technology.
MANAGEMENT INFORMATION SYSTEM
The need for Programming Languages
Netscape Application Server
Cisco Data Virtualization
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Azure Stack Foundation
Xixu Fu,Kai jun Wu,XiZhang Gong
ILMT/BigFix Inventory Demo
Web Development Using ASP .NET
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Mark Quirk Head of Technology Developer & Platform Group
System Center Third Party Tools Ivanti Patch and RCT Recast April 2019.
Presentation transcript:

Software security patches Audit, deployment and hot update Nicolas Loriant, Marc Ségura-Devillechaise, Jean-Marc Menaud, Obasco Group EMN/INRIA Workshop on Aspects, Components, and Patterns for Infrastructure Software

Trends 80% of computer attacks are exploiting published security vulnerabilities The Sasser example: –the patch correcting the security hole was available two weeks before Sasser diffusion

The problem Reading CERT/CC bulletins: –5500 security alerts per year –asume 5 minutes per bulletin –Total: 13 weeks of work Solution: system administrator Work for one system administrator –Hypothesis 100 machines only 1% of the reported vulnerabilities are relevant 1 hour to update one computer –Total: 157 weeks per year

Our goals an integrated framework allowing system administrators to deploy critical security updates –update applications on the fly –integrates well with the standard updating process –without the intervention of the end-user. –eases auditing tasks Two tools : Minerve & Arachne

Minerve Input –the old application source code –a patch produced by the standard tool: diff patch = summary of textual differences between 2 versions of the source code Translating a patch into aspects

An example + if ( nresp > 100) + fatal (" input_userauth_info_response : nresp too big %u", nresp ); call ( void input_userauth_info_response (int, u_int32_t, void *)) && args ( type, seq, ctxt ) then input_userauth_info_response_new (type, seq, ctxt );

Minerve additional features Perform as much checks as possible to ensure that the patch once translated can be deployed on the fly –once woven, aspects will change the version of the application –can the state of the (old) application at weaving time be understood by the new version of the application?

State problems update program function alterations of code structure addreplacesuppress data’s type definition simple type type change scope change complex type defnition. add new field remove field change a type field Coherency at the source code level Coherency at the application level Is the application still making the same thing? ex : s = s + 1 -> s = s - 1

Arachne A dynamic weaver for legacy C applications –without source and binary preparation –without service interruption –with good performance

Framework architecture source version 1.0 Minerve diff 1.0 -> 1.1 aspect 1.0 -> 1.1 Process version 1.0 aspect 1.0 -> Arachne Process version 1.0 aspect 1.0 -> Arachne

Evaluation Patches samples: –security advisory published by the CERT for open source C programs since 2002 Conclusions –successfull translation of the different patches into aspects –successfull deployed (weaving) of the produced aspects –excluding network transfer time, our system updates an application in less than 250µs.

Future works: Minerve checks Current limitations: –no check to determine whether the functions to be replaced will not be running at weaving/deployment time –restricted checks regarding data structure alterations Ideas to solve these issues –analyze the data produced and consumed for each replaced functions –temporarily runs the execution of the old function and its new version implies that an application can not make side effect on another application –application = client + server

Conclusion A framework for dynamic patching –Minerve translates patches into aspects that can be deployed on the fly –Minerve tries to ensure that the application will remain coherent after weaving the aspects –Arachne weaves patches dynamically Main advantage: easy integration –support standard patches published by software developers Applied successfully on the CERT security advisories patches

Discussion Today we know how to design dynamic weaving systems Dynamic weaving systems offer real benefits –see security patches Today dynamic weavers offer little help for state issues In this context, could naive programmers and/or automated tools use them properly? –i.e. how can we help them to cope with state problems?