SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
PROOF CARRYING CODE
Seguridad en el código móvil
Por: Antonio Calvo Morata
“Toma, ejecuta este código”
Efectos no deseados
● Modificaciones en los sistemas
● Invasión de la privacidad
● Rechazo de servicio
“Entonces…
¿Cómo sé que el código a ejecutar es
seguro?”
Aproximación: Firma digital
● Confianza basada en la autoridad certificadora
● No en las propiedades del programa a ejecutar
Aproximación: Seguridad basada en el lenguaje fuente
(Compilador de Java)
Produce código independiente de la plataforma (bytecode)
● El consumidor puede verificar el código bytecode antes de su ejecución.
● El verificador de bytecode garantiza propiedades de seguridad básicas de
memoria, flujo de control y tipos.
● JVM sólo interpreta o compila a código objeto si el código pasa el verificador
de bytecode.
DESVENTAJA: Aumento del tiempo de ejecución.
PCC
Comprobar que el programa se comporta de manera segura
● El receptor establece un conjunto de reglas de seguridad
● El productor crea una prueba formal para el código que demuestra que el
código cumple las reglas de seguridad
● El receptor mediante un validador verifica que la prueba es válida y por tanto
el código también.
PCC
Es a prueba de manipulación
Qué pasa si se hace una modificación accidental o maliciosa
○ La prueba ya no será válida → el programa será rechazada,
○ La prueba será válida, pero no como una prueba de seguridad para el
programa → el programa será rechazada
○ La prueba seguirá siendo válida y seguirá siendo una prueba de
seguridad para el programa → el programa sigue cumpliendo la garantía
de seguridad.
Componentes de un sistema PCC
Compilador certificante
● Toma como entrada el código fuente y obtiene como resultado el código, las anotaciones y las
especificaciones tipadas.
El generador de condición de verificación (VCGen)
● Es un analizador simbólico para lenguajes intermedios. Examina el código en busca de operaciones
potencialmente inseguras y emite un predicado de seguridad que debe ser verificado por cada una
de dichas operaciones. (condición de verificación o VC).
El demostrador de teoremas
● Genera la prueba o demostración que demuestra formalmente los predicados de seguridad.
Componentes de un sistema PCC
Una lógica formal para especificación y verificación de políticas.
● El lenguaje de especificación es utilizado para expresar requerimientos sobre el componente
entrante y la lógica es utilizada para verificar que el componente cumple con los requisitos
impuestos.
El verificador de pruebas
● Verifica que cada paso del esquema de la prueba es válido y además, que la prueba demuestra la
condición de verificación requerida y no otro predicado.
Una representación formal de pruebas (Certificados).
● Los certificados proveen una representación formal de pruebas y son utilizados para transmitir al
consumidor de código evidencia sencilla de verificar que el código que recibe es seguro.
Ventajas
● El consumidor del código sólo tiene que realizar un proceso seguro de comprobación rápido,
simple y fácil.
● Al consumidor de código no le importa cómo se construyen las pruebas.
● La infraestructura del consumidor es automática y de bajo riesgo
● No se necesita criptografía o entidades de confianza porque PCC está comprobando las
propiedades intrínsecas del código y no su origen.
● El PCC es completamente compatible con otros enfoques de la seguridad de código móvil.
● Debido a que el código no confiable se verifica de forma estática, antes de ser ejecutado, no sólo
ahorramos tiempo de ejecución, también se detectan operaciones potencialmente peligrosas antes
de la ejecución
● PCC es flexible: puede utilizarse con un amplio rango de lenguajes y de políticas de seguridad
● Los programas PCC permiten detectar cualquier modificación (accidental o maliciosa) del programa
y/o su prueba, mientras siguen garantizando la seguridad
Desventajas
● La arquitectura PCC es muy sensible a los cambios de las políticas de seguridad
● Dado que PCC es un proceso cooperativo, el productor de código debe estar involucrado en la
definición de la seguridad del consumidor de código
● La codificaciones triviales de pruebas de propiedades de programas son muy largas
● La generación de predicados acerca de propiedades del código es una tarea difícil
● Probar la condición de verificación es una tarea complicada y costosa
● Verificar la prueba no es una tarea fácil si lo que se quiere es una prueba concisa y que el
chequeador sea pequeño, rápido e independiente de la política de seguridad
● Establecer la política de seguridad es una tarea costosa
● Garantizar la correctitud de la arquitectura es un procedimiento muy costoso
PCC → Línea de investigación activa
FPCC: Foundational Proof Carrying Code
OPCC: Oracle Proof Carrying Code
MCC: Model Carrying Code
CPCC: Configurable Proof Carrying Code
SFPCC: Syntactic Foundational Proof Carrying Code
ACC: Abstract Carrying Code
iPCC: Interactive Proof Carrying Code
PCC-SA: Proof Carrying Code on Static Analysis
FPCC
CPCC
iPCC
MPCC
PCC-SA
Bibliografía
http://www.cs.berkeley.edu/~necula/pcc.html
Un Survey sobre Proof-Carrying Code (Bavera, Francisco; Baum, Gabriel; Medel,
Ricardo; Arroyo, Marcelo; Aguirre, Jorge)
Grupo de Procesadores de Lenguajes - Línea: Código Móvil Seguro (Bavera, Francisco;
Baum, Gabriel; Medel, Ricardo; Arroyo, Marcelo; Aguirre, Jorge; Nordio, Martín)
Certificación Automática de Propiedades de Seguridad de Código fuente Java en
Lógica de Reescritura (Mauricio F. Alba Castro)
Preservación de Obligaciones de Prueba en Entornos H´ıbridos de Verificación (Julián
Samboski-Forlese)

Más contenido relacionado

Destacado

Estandares para tecnologias de la educación
Estandares para tecnologias de la educaciónEstandares para tecnologias de la educación
Estandares para tecnologias de la educaciónAntonio Calvo Morata
 
Zaragoza 23 11-2016 ciclo tecnologias para la educación
Zaragoza 23 11-2016 ciclo tecnologias para la educaciónZaragoza 23 11-2016 ciclo tecnologias para la educación
Zaragoza 23 11-2016 ciclo tecnologias para la educaciónAntonio Calvo Morata
 
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemTutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemDheryta Jaisinghani
 
Microsoft Really Loves Linux – a Virtual Love Story
Microsoft Really Loves Linux – a Virtual Love StoryMicrosoft Really Loves Linux – a Virtual Love Story
Microsoft Really Loves Linux – a Virtual Love StoryChristian Heitkamp
 
OpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpen-NFP
 
Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Dev_Events
 
Java garbage collection & GC friendly coding
Java garbage collection  & GC friendly codingJava garbage collection  & GC friendly coding
Java garbage collection & GC friendly codingMd Ayub Ali Sarker
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Walid Shaari
 
Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ...
 Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ... Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ...
Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ...eMadrid network
 
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC TechnologiesAccelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC Technologiesinside-BigData.com
 
Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Luigi De Russis
 
Eclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewEclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewDev_Events
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityThomas Graf
 
EL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta Pérez
EL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta PérezEL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta Pérez
EL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta PérezLa Finestra del Rey
 
3Com 3C7102
3Com 3C71023Com 3C7102
3Com 3C7102savomir
 

Destacado (20)

Estandares para tecnologias de la educación
Estandares para tecnologias de la educaciónEstandares para tecnologias de la educación
Estandares para tecnologias de la educación
 
TMI juegos serios
TMI juegos seriosTMI juegos serios
TMI juegos serios
 
Educon2016 12 04-2016
Educon2016  12 04-2016Educon2016  12 04-2016
Educon2016 12 04-2016
 
Zaragoza 23 11-2016 ciclo tecnologias para la educación
Zaragoza 23 11-2016 ciclo tecnologias para la educaciónZaragoza 23 11-2016 ciclo tecnologias para la educación
Zaragoza 23 11-2016 ciclo tecnologias para la educación
 
Presentación e-madrid
Presentación e-madridPresentación e-madrid
Presentación e-madrid
 
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemTutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
 
Storm
StormStorm
Storm
 
Microsoft Really Loves Linux – a Virtual Love Story
Microsoft Really Loves Linux – a Virtual Love StoryMicrosoft Really Loves Linux – a Virtual Love Story
Microsoft Really Loves Linux – a Virtual Love Story
 
OpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouterOpenContrail, Real Speed: Offloading vRouter
OpenContrail, Real Speed: Offloading vRouter
 
Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8
 
Markus Tessmann, InnoGames
Markus Tessmann, InnoGames	Markus Tessmann, InnoGames
Markus Tessmann, InnoGames
 
Java garbage collection & GC friendly coding
Java garbage collection  & GC friendly codingJava garbage collection  & GC friendly coding
Java garbage collection & GC friendly coding
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...
 
Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ...
 Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ... Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ...
Seminario eMadrid sobre "Serious games". Un juego para concienciar y evitar ...
 
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC TechnologiesAccelerating Hadoop, Spark, and Memcached with HPC Technologies
Accelerating Hadoop, Spark, and Memcached with HPC Technologies
 
Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)Introduction to OpenCV 3.x (with Java)
Introduction to OpenCV 3.x (with Java)
 
Eclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewEclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s View
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network Security
 
EL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta Pérez
EL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta PérezEL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta Pérez
EL CINE Y LA GUERRA CIVIL EN BENIFAIRÓ DE LES VALLS - Mª Vicenta Pérez
 
3Com 3C7102
3Com 3C71023Com 3C7102
3Com 3C7102
 

Similar a Pcc

Cómo mejorar la seguridad del software - Secure Software Development Lifecycle
Cómo mejorar la seguridad del software - Secure Software Development LifecycleCómo mejorar la seguridad del software - Secure Software Development Lifecycle
Cómo mejorar la seguridad del software - Secure Software Development LifecycleRamiro Carballo
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.Juan Ravi
 
Pruebas software (1)
Pruebas  software (1)Pruebas  software (1)
Pruebas software (1)René Pari
 
DevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-HoplaDevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-HoplaatSistemas
 
Common Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguroCommon Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguroJavier Tallón
 
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]RootedCON
 
Evolucionando la evaluación criptográfica - Episodio II
Evolucionando la evaluación criptográfica - Episodio IIEvolucionando la evaluación criptográfica - Episodio II
Evolucionando la evaluación criptográfica - Episodio IIJavier Tallón
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsMARCO POLO SILVA SEGOVIA
 
Curso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdfCurso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdfBarcodeBarcode
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
Test de penetración
Test de penetraciónTest de penetración
Test de penetraciónJSACTMMusic
 

Similar a Pcc (20)

Cómo mejorar la seguridad del software - Secure Software Development Lifecycle
Cómo mejorar la seguridad del software - Secure Software Development LifecycleCómo mejorar la seguridad del software - Secure Software Development Lifecycle
Cómo mejorar la seguridad del software - Secure Software Development Lifecycle
 
Iso 12207
Iso 12207Iso 12207
Iso 12207
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
Pruebas software (1)
Pruebas  software (1)Pruebas  software (1)
Pruebas software (1)
 
Calidad de software y TDD
Calidad de software y TDDCalidad de software y TDD
Calidad de software y TDD
 
DevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-HoplaDevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-Hopla
 
Novedades en CI/CD
Novedades en CI/CDNovedades en CI/CD
Novedades en CI/CD
 
Common Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguroCommon Criteria: Herramienta para el desarrollo seguro
Common Criteria: Herramienta para el desarrollo seguro
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]
 
Evolucionando la evaluación criptográfica - Episodio II
Evolucionando la evaluación criptográfica - Episodio IIEvolucionando la evaluación criptográfica - Episodio II
Evolucionando la evaluación criptográfica - Episodio II
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acs
 
Curso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdfCurso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdf
 
Orange book common criteria
Orange book  common criteriaOrange book  common criteria
Orange book common criteria
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
SQM Verification and Validation
SQM Verification and ValidationSQM Verification and Validation
SQM Verification and Validation
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Test de penetración
Test de penetraciónTest de penetración
Test de penetración
 

Pcc

  • 1. PROOF CARRYING CODE Seguridad en el código móvil Por: Antonio Calvo Morata
  • 3. Efectos no deseados ● Modificaciones en los sistemas ● Invasión de la privacidad ● Rechazo de servicio
  • 4. “Entonces… ¿Cómo sé que el código a ejecutar es seguro?”
  • 5. Aproximación: Firma digital ● Confianza basada en la autoridad certificadora ● No en las propiedades del programa a ejecutar
  • 6.
  • 7. Aproximación: Seguridad basada en el lenguaje fuente (Compilador de Java) Produce código independiente de la plataforma (bytecode) ● El consumidor puede verificar el código bytecode antes de su ejecución. ● El verificador de bytecode garantiza propiedades de seguridad básicas de memoria, flujo de control y tipos. ● JVM sólo interpreta o compila a código objeto si el código pasa el verificador de bytecode. DESVENTAJA: Aumento del tiempo de ejecución.
  • 8.
  • 9. PCC Comprobar que el programa se comporta de manera segura ● El receptor establece un conjunto de reglas de seguridad ● El productor crea una prueba formal para el código que demuestra que el código cumple las reglas de seguridad ● El receptor mediante un validador verifica que la prueba es válida y por tanto el código también.
  • 10. PCC Es a prueba de manipulación Qué pasa si se hace una modificación accidental o maliciosa ○ La prueba ya no será válida → el programa será rechazada, ○ La prueba será válida, pero no como una prueba de seguridad para el programa → el programa será rechazada ○ La prueba seguirá siendo válida y seguirá siendo una prueba de seguridad para el programa → el programa sigue cumpliendo la garantía de seguridad.
  • 11.
  • 12. Componentes de un sistema PCC Compilador certificante ● Toma como entrada el código fuente y obtiene como resultado el código, las anotaciones y las especificaciones tipadas. El generador de condición de verificación (VCGen) ● Es un analizador simbólico para lenguajes intermedios. Examina el código en busca de operaciones potencialmente inseguras y emite un predicado de seguridad que debe ser verificado por cada una de dichas operaciones. (condición de verificación o VC). El demostrador de teoremas ● Genera la prueba o demostración que demuestra formalmente los predicados de seguridad.
  • 13. Componentes de un sistema PCC Una lógica formal para especificación y verificación de políticas. ● El lenguaje de especificación es utilizado para expresar requerimientos sobre el componente entrante y la lógica es utilizada para verificar que el componente cumple con los requisitos impuestos. El verificador de pruebas ● Verifica que cada paso del esquema de la prueba es válido y además, que la prueba demuestra la condición de verificación requerida y no otro predicado. Una representación formal de pruebas (Certificados). ● Los certificados proveen una representación formal de pruebas y son utilizados para transmitir al consumidor de código evidencia sencilla de verificar que el código que recibe es seguro.
  • 14.
  • 15.
  • 16.
  • 17. Ventajas ● El consumidor del código sólo tiene que realizar un proceso seguro de comprobación rápido, simple y fácil. ● Al consumidor de código no le importa cómo se construyen las pruebas. ● La infraestructura del consumidor es automática y de bajo riesgo ● No se necesita criptografía o entidades de confianza porque PCC está comprobando las propiedades intrínsecas del código y no su origen. ● El PCC es completamente compatible con otros enfoques de la seguridad de código móvil. ● Debido a que el código no confiable se verifica de forma estática, antes de ser ejecutado, no sólo ahorramos tiempo de ejecución, también se detectan operaciones potencialmente peligrosas antes de la ejecución ● PCC es flexible: puede utilizarse con un amplio rango de lenguajes y de políticas de seguridad ● Los programas PCC permiten detectar cualquier modificación (accidental o maliciosa) del programa y/o su prueba, mientras siguen garantizando la seguridad
  • 18. Desventajas ● La arquitectura PCC es muy sensible a los cambios de las políticas de seguridad ● Dado que PCC es un proceso cooperativo, el productor de código debe estar involucrado en la definición de la seguridad del consumidor de código ● La codificaciones triviales de pruebas de propiedades de programas son muy largas ● La generación de predicados acerca de propiedades del código es una tarea difícil ● Probar la condición de verificación es una tarea complicada y costosa ● Verificar la prueba no es una tarea fácil si lo que se quiere es una prueba concisa y que el chequeador sea pequeño, rápido e independiente de la política de seguridad ● Establecer la política de seguridad es una tarea costosa ● Garantizar la correctitud de la arquitectura es un procedimiento muy costoso
  • 19.
  • 20.
  • 21. PCC → Línea de investigación activa FPCC: Foundational Proof Carrying Code OPCC: Oracle Proof Carrying Code MCC: Model Carrying Code CPCC: Configurable Proof Carrying Code SFPCC: Syntactic Foundational Proof Carrying Code ACC: Abstract Carrying Code iPCC: Interactive Proof Carrying Code PCC-SA: Proof Carrying Code on Static Analysis
  • 22. FPCC
  • 23. CPCC
  • 24. iPCC
  • 25. MPCC
  • 27.
  • 28. Bibliografía http://www.cs.berkeley.edu/~necula/pcc.html Un Survey sobre Proof-Carrying Code (Bavera, Francisco; Baum, Gabriel; Medel, Ricardo; Arroyo, Marcelo; Aguirre, Jorge) Grupo de Procesadores de Lenguajes - Línea: Código Móvil Seguro (Bavera, Francisco; Baum, Gabriel; Medel, Ricardo; Arroyo, Marcelo; Aguirre, Jorge; Nordio, Martín) Certificación Automática de Propiedades de Seguridad de Código fuente Java en Lógica de Reescritura (Mauricio F. Alba Castro) Preservación de Obligaciones de Prueba en Entornos H´ıbridos de Verificación (Julián Samboski-Forlese)