20 research outputs found

    Secure mobile code and control flow analysis

    Get PDF
    The interaction between software systems by means of mobile code is a powerful and truly effective method, particularly useful for installing and executing code dynamically. However, for this mechanism to be applicable safely, especially in industrial or critical applications, techniques that guarantee foreign code execution safety for the consumer or host will be necessary. Of course, tool support for automating, at least partially, the application of these techniques is essential. The importance of guarantee code execution safety originates numerous active research lines, among which Proof-Carrying Code (PCC) is one of the most successful. One of the problems to overcome for the PCC industrial use is to obtain lineal methods of safeness certification and verification. A framework for the generation and execution of safe mobile code based on PCC together with techniques for static analysis of control and data-flow, called PCC-SA, was developed later by the authors. The results of the group that allowed proving the hypothesis that the PCC-SA complexity in practice is lineal respect to the input programs length, as for certification as for verification processes are also presented. To achieve this, a C-program family, whose elements are referred to as lineally annotative, is defined. Parameters statically measured over their source code determine whether a program belongs to this family or not. Different properties of this family are demonstrated in this work, which allows formally showing that for all the programs of this family, the PCC-SA presents a lineal behavior. The parameters required for a large sample of programs keeping of standard packages, are calculated. This calculation finally determines that all the programs of the sample are lineally annotative, which validates the hypothesis previously stated.Red de Universidades con Carreras en Informática (RedUNCI

    STALlion: a simple typed assembly language for static analysis

    Get PDF
    Typed assembly languages have the goal of providing security guarantees, for example, for the limited use of resources in a host machine or the detection of autoupdate code. This work presents a simple typed assembly language which allows us to perform various kinds of static analysis tasks with the purpose of detecting flaws in the code security. The security policy we use guarantees type and memory safety. Moreover, wa can ensure that non-initialized variables are not read, and that there is no out-of-bound array accesses. The language we present, called STALlion, was designed in order to interpret a particular kind of imperative programs, more specifically abstract syntax tree.Eje: I - Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Secure mobile code and control flow analysis

    Get PDF
    The interaction between software systems by means of mobile code is a powerful and truly effective method, particularly useful for installing and executing code dynamically. However, for this mechanism to be applicable safely, especially in industrial or critical applications, techniques that guarantee foreign code execution safety for the consumer or host will be necessary. Of course, tool support for automating, at least partially, the application of these techniques is essential. The importance of guarantee code execution safety originates numerous active research lines, among which Proof-Carrying Code (PCC) is one of the most successful. One of the problems to overcome for the PCC industrial use is to obtain lineal methods of safeness certification and verification. A framework for the generation and execution of safe mobile code based on PCC together with techniques for static analysis of control and data-flow, called PCC-SA, was developed later by the authors. The results of the group that allowed proving the hypothesis that the PCC-SA complexity in practice is lineal respect to the input programs length, as for certification as for verification processes are also presented. To achieve this, a C-program family, whose elements are referred to as lineally annotative, is defined. Parameters statically measured over their source code determine whether a program belongs to this family or not. Different properties of this family are demonstrated in this work, which allows formally showing that for all the programs of this family, the PCC-SA presents a lineal behavior. The parameters required for a large sample of programs keeping of standard packages, are calculated. This calculation finally determines that all the programs of the sample are lineally annotative, which validates the hypothesis previously stated.Red de Universidades con Carreras en Informática (RedUNCI

    Optimización del prototipo del entorno de ejecución de PCC-SA

    Get PDF
    Proof-Carrying Code based on Static Analysis (PCC-SA) es un entorno de ejecución de código móvil seguro. PCC-SA combina Proof-Carrying Code (PCC) y análisis estático con el fin de proporcionar una solución en aquellos casos en los cuales la política de seguridad no puede ser verificada eficientemente por un sistema de tipos formal, como es el caso de verificar inicialización de variables y accesos válidos a arreglos. PCC-SA utiliza un código intermedio de alto nivel, un árbol sintáctico abstracto (ASA) anotado con información de tipos. Este tipo de representación intermedia permite realizar diversos análisis estáticos para generar y verificar la información necesaria, y gran cantidad de optimizaciones al código generado. La principal ventaja de esta técnica reside en que el tamaño de la prueba generada es lineal con respecto al tamaño de los programas. Además, la complejidad de la generación de las anotaciones y la verificación de la seguridad del código también es lineal con respecto al tamaño de los programas. En este trabajo se presenta el diseño de las optimizaciones del prototipo de PCCSA (desarrollado originalmente con el solo fin de probar la factibilidad de PCC-SA). La meta de estas actividades es realizar un primer paso hacia la obtención de un ambiente de ejecución de código móvil seguro que pueda ser usado industrialmente.Eje: I - Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Avances en Proof-Carrying Code

    Get PDF
    Uno de los principales desafíos en el diseño e implementación de sistemas que involucran código móvil es garantizar la seguridad del receptor frente a la ejecución del código foráneo. La técnica de Proof-Carrying Code (PCC) establece una infraestructura que permite garantizar que los programas se ejecutarán de manera segura. En esta alternativa, el productor de código adjunta al código móvil una demostración, mediante la cual el consumidor del código puede verificar su seguridad antes de la ejecución del programa. Esto elimina la necesidad de validaciones en tiempo de ejecución y de identificación del emisor. Los esfuerzos de distintos grupos de investigación han logrado grandes avances en el tema y existen varias líneas de investigación tendientes a desarrollar una infraestructura flexible, escalable y confiable, quedando a´un muchos problemas por resolver. Partiendo del análisis de los resultados obtenidos y de los enfoques actuales se pretende diseñar e implementar una arquitectura PCC que permita su uso en el “mundo real”.Eje: Teoría (TEOR)Red de Universidades con Carreras en Informática (RedUNCI

    Optimización del prototipo del entorno de ejecución de PCC-SA

    Get PDF
    Proof-Carrying Code based on Static Analysis (PCC-SA) es un entorno de ejecución de código móvil seguro. PCC-SA combina Proof-Carrying Code (PCC) y análisis estático con el fin de proporcionar una solución en aquellos casos en los cuales la política de seguridad no puede ser verificada eficientemente por un sistema de tipos formal, como es el caso de verificar inicialización de variables y accesos válidos a arreglos. PCC-SA utiliza un código intermedio de alto nivel, un árbol sintáctico abstracto (ASA) anotado con información de tipos. Este tipo de representación intermedia permite realizar diversos análisis estáticos para generar y verificar la información necesaria, y gran cantidad de optimizaciones al código generado. La principal ventaja de esta técnica reside en que el tamaño de la prueba generada es lineal con respecto al tamaño de los programas. Además, la complejidad de la generación de las anotaciones y la verificación de la seguridad del código también es lineal con respecto al tamaño de los programas. En este trabajo se presenta el diseño de las optimizaciones del prototipo de PCCSA (desarrollado originalmente con el solo fin de probar la factibilidad de PCC-SA). La meta de estas actividades es realizar un primer paso hacia la obtención de un ambiente de ejecución de código móvil seguro que pueda ser usado industrialmente.Eje: I - Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    STALlion: a simple typed assembly language for static analysis

    Get PDF
    Typed assembly languages have the goal of providing security guarantees, for example, for the limited use of resources in a host machine or the detection of autoupdate code. This work presents a simple typed assembly language which allows us to perform various kinds of static analysis tasks with the purpose of detecting flaws in the code security. The security policy we use guarantees type and memory safety. Moreover, wa can ensure that non-initialized variables are not read, and that there is no out-of-bound array accesses. The language we present, called STALlion, was designed in order to interpret a particular kind of imperative programs, more specifically abstract syntax tree.Eje: I - Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Avances en Proof-Carrying Code

    Get PDF
    Uno de los principales desafíos en el diseño e implementación de sistemas que involucran código móvil es garantizar la seguridad del receptor frente a la ejecución del código foráneo. La técnica de Proof-Carrying Code (PCC) establece una infraestructura que permite garantizar que los programas se ejecutarán de manera segura. En esta alternativa, el productor de código adjunta al código móvil una demostración, mediante la cual el consumidor del código puede verificar su seguridad antes de la ejecución del programa. Esto elimina la necesidad de validaciones en tiempo de ejecución y de identificación del emisor. Los esfuerzos de distintos grupos de investigación han logrado grandes avances en el tema y existen varias líneas de investigación tendientes a desarrollar una infraestructura flexible, escalable y confiable, quedando a´un muchos problemas por resolver. Partiendo del análisis de los resultados obtenidos y de los enfoques actuales se pretende diseñar e implementar una arquitectura PCC que permita su uso en el “mundo real”.Eje: Teoría (TEOR)Red de Universidades con Carreras en Informática (RedUNCI

    Optimización del prototipo del entorno de ejecución de PCC-SA

    Get PDF
    Proof-Carrying Code based on Static Analysis (PCC-SA) es un entorno de ejecución de código móvil seguro. PCC-SA combina Proof-Carrying Code (PCC) y análisis estático con el fin de proporcionar una solución en aquellos casos en los cuales la política de seguridad no puede ser verificada eficientemente por un sistema de tipos formal, como es el caso de verificar inicialización de variables y accesos válidos a arreglos. PCC-SA utiliza un código intermedio de alto nivel, un árbol sintáctico abstracto (ASA) anotado con información de tipos. Este tipo de representación intermedia permite realizar diversos análisis estáticos para generar y verificar la información necesaria, y gran cantidad de optimizaciones al código generado. La principal ventaja de esta técnica reside en que el tamaño de la prueba generada es lineal con respecto al tamaño de los programas. Además, la complejidad de la generación de las anotaciones y la verificación de la seguridad del código también es lineal con respecto al tamaño de los programas. En este trabajo se presenta el diseño de las optimizaciones del prototipo de PCCSA (desarrollado originalmente con el solo fin de probar la factibilidad de PCC-SA). La meta de estas actividades es realizar un primer paso hacia la obtención de un ambiente de ejecución de código móvil seguro que pueda ser usado industrialmente.Eje: I - Workshop de Ingeniería de Software y Base de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Grupo de procesadores de lenguajes. : Línea: código móvil seguro

    Get PDF
    En el último tiempo Proof-Carrying Code (PCC) ha despertado un gran interés surgiendo numerosas líneas de trabajo. PCC establece una infraestructura que permite garantizar que los programas se ejecutarán de manera segura. En esta alternativa, el productor de código adjunta al código móvil una demostración, mediante la cual el consumidor del código puede verificar su seguridad antes de la ejecución del programa. Análisis estático es un técnica con un gran potencial para producir la evidencia necesaria para garantizar código móvil seguro. Basándonos en estas dos técnicas se presenta una arquitectura para garantizar la ejecución de código móvil de manera segura. Además se presenta el prototipo implementado que demuestra la factibilidad del uso de la técnica.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI
    corecore