28

Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Utilisation des méthodes formelles pour

l'évaluation et la certi�cation de produits de

sécurité

Workshop Sertif

Bruno Ezvan

10 octobre 2016

Page 2: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

1 Introduction

2 Présentation de Trusted Labs

3 Véri�cation formelle de circuits numériques pour la certi�cation

4 Utilisation de méthodes formelles pour l'évaluation sécuritaire de logiciels

5 Nouveau cas d'utilisation : la sécurité des mobiles

6 Conclusion : objectifs des travaux suivants

Page 3: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Outline

1 Introduction

2 Présentation de Trusted Labs

3 Véri�cation formelle de circuits numériques pour la certi�cation

4 Utilisation de méthodes formelles pour l'évaluation sécuritaire de logiciels

5 Nouveau cas d'utilisation : la sécurité des mobiles

6 Conclusion : objectifs des travaux suivants

2 / 22 ©2016 Trusted Labs S.A.S.

Page 4: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Introduction

Thèse CIFRE à TLabs et au LIP6 (équipe ALSOC) depuis avril 2015

Sujet : �Véri�cation par composition pour un haut niveau d'assurance des objetsconnectés�

Stage en 2014 chez TLabs sur la véri�cation formelle de circuits numériquesdécrits en Verilog.

3 / 22 ©2016 Trusted Labs S.A.S.

Page 5: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Outline

1 Introduction

2 Présentation de Trusted Labs

3 Véri�cation formelle de circuits numériques pour la certi�cation

4 Utilisation de méthodes formelles pour l'évaluation sécuritaire de logiciels

5 Nouveau cas d'utilisation : la sécurité des mobiles

6 Conclusion : objectifs des travaux suivants

3 / 22 ©2016 Trusted Labs S.A.S.

Page 6: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

A Global Security Expert

© 2016 Trusted Labs S.A.S.4

SECURITY

CONSULTING

Define and strengthen

security tailored to your

needs

CERTIFICATION

SCHEME DEFINITION

SECURITY

EVALUATION

Get your solution certified

by an ITSEF laboratory

Define tailor-made

methodologies &

certification processes for

your industry or ecosystem

Security analysis

Security certification support

Security by design

Certification-ready development

Tools & training

ITSEF laboratory

Security evaluation facilities

Accreditations

AFSCM

CSPN (French light CC)

Mobile payment scheme

(BCMC)

Security requirements

Evaluation methodologies

Protection Profiles

Page 7: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Our Success Timeline

5

2015

TEE PP

certification

(CC)

World 1st Java

CardTM

evaluation

methodology

CAST evaluation

methodology /

scheme definition

World 1st

Java CardTM

EAL7

methodology

Transport

reference

application

Java CardTM

evaluation

methodology

definition &

laboratory

Security evaluations

for automotive

industry

World 1st EAL7

certificate for IC

ANSSI accreditation

for CSPN evaluations

of connected devices

World 1st CPSN

certificate for TEE

Multos open

platform security

guidelines

World 1st EAL7

certificate for smart

card software

platform

Nationwide security

evaluation facilities

for

m-payment

in Belgium

AFSCM Laboratory for

NFC applications in

France

© 2016 Trusted Labs S.A.S.

GlobalPlatform

Pre-accredited

Laboratory

For TEE

Page 8: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Outline

1 Introduction

2 Présentation de Trusted Labs

3 Véri�cation formelle de circuits numériques pour la certi�cation

4 Utilisation de méthodes formelles pour l'évaluation sécuritaire de logiciels

5 Nouveau cas d'utilisation : la sécurité des mobiles

6 Conclusion : objectifs des travaux suivants

5 / 22 ©2016 Trusted Labs S.A.S.

Page 9: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Véri�cation formelle de circuits numériques pour la

certi�cation

6 / 22 ©2016 Trusted Labs S.A.S.

Page 10: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Analyse de robustesse

7 / 22 ©2016 Trusted Labs S.A.S.

Page 11: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Modèle du système

8 / 22 ©2016 Trusted Labs S.A.S.

Page 12: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Modèle de fautes

Modèle de fautes

Fautes transitoires sur une multitudes de bits des éléments mémorisants

Plusieurs localisations de fautes possibles à un instant donné

Injections sur plusieurs cycles

Hypothèse : impossible d'injecter des fautes sur les latches de la contre-mesure

9 / 22 ©2016 Trusted Labs S.A.S.

Page 13: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Formalisation des fautes

10 / 22 ©2016 Trusted Labs S.A.S.

Page 14: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Circuit et contre-mesure

Conclusion

Di�culté à calquer un modèle de fautes au niveau gates à un niveaud'abstraction di�érent (RTL)

Di�cile de formaliser un modèle de faute réaliste

11 / 22 ©2016 Trusted Labs S.A.S.

Page 15: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Véri�cation fontionnelle d'un circuit

Chi�res

Véri�cation fontionnelle d'un circuit (modulaire) AES (chi�rement symétrique)38 modules3500 ligne de VerilogSpéci�cation d'AES : 660 lignes de formalisation en Coq25 personne-jours pour la preuve

Conclusion

Modularité : permet d'appliquer l'analyse sur des circuits plus importants

Méthodes déductives requièrent expertises et travail manuel

12 / 22 ©2016 Trusted Labs S.A.S.

Page 16: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Outline

1 Introduction

2 Présentation de Trusted Labs

3 Véri�cation formelle de circuits numériques pour la certi�cation

4 Utilisation de méthodes formelles pour l'évaluation sécuritaire de logiciels

5 Nouveau cas d'utilisation : la sécurité des mobiles

6 Conclusion : objectifs des travaux suivants

12 / 22 ©2016 Trusted Labs S.A.S.

Page 17: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Utilisation méthodes formelles pour l'évaluation

sécuritaire de logiciels

Projet FP7 STANCE

Objectif : Mise en place d'une boîte à outil capable de véri�er des propriétés desécurité d'applications écrites en C, C++ ou en Java.

Trusted Labs

Evaluer l'utilisation de méthodes formelles d'analyse statique de logiciels dans lecadre de l'évaluation sécuritaire à un niveau d'assurance modéré (non formel)

Outils : Plateforme Frama-C : plug-in d'interprétation abstraite (Value) etplug-ins basés sur Value

Cas : ClamAV : un antivirus open source.De nombreux parseurs de données malveillantes : packers, exécutables, images,documents, scripts . . .La fonction de sécurité peut être contournée par déni de serviceL'antivirus peut être un point d'entrée : Remote Code Execution (RCE)

13 / 22 ©2016 Trusted Labs S.A.S.

Page 18: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Value : Interprétation abstraite

Méthode d'approximation des états atteignables d'un programme en utilisant unesémantique abstraite du langage de programmation.

Permet de déterminer un sur-ensemble des valeurs possibles d'une variable enchaque point du programme

14 / 22 ©2016 Trusted Labs S.A.S.

Page 19: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Retours - 1

Di�culté de mise en place de l'analyse :Non support de directives du compilateur par le parseur de Frama-CModi�cation des commandes du build de ClamAV pour inclure la libc Frama-C

I Quelques inconsistances

Value ne supporte pas la récursionPour chaque appel récursif, on peut soit l'ignorer ou utiliser une spéci�cation à laplace

I En ignorant l'appel, l'analyse n'est plus sound (la sur-approximation n'est plus correcte)I La spéci�cation doit être correcte et va généralement ajouter de l'approximation

Le domaine d'interprétation n'est pas relationnelTrop de problèmes possibles (alarmes) relevés par l'outil

Impossible d'analyser l'ensemble du logiciel dans le temps impartis : résultats tropimprécis

15 / 22 ©2016 Trusted Labs S.A.S.

Page 20: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Retours - 2

Analyse hors contexte de fonctions

Fonction Nombre de lignes Ratio lignes/alarmesscanpe 4830 4ununpack 815 2,3

Nombre d'alarmes trop élevé : trop d'approximations

Limitation des cas d'applications

Pas de support de logiciels mixtes assembleurs et C

Uniquement safety, pas d'outils clef en main (à notre connaissance) pour analyserles aspects suivant requis par les critères communs :

Politique de contrôle d'accèsContrôle du �ot d'informations

Conclusion

L'utilisation de Value et des plugins associés ne se justi�e pas dans le cadred'évaluation sécuritaire à un niveau modéré d'assurance (non formel, EAL1-5) oùseuls quelques jours sont attribués à l'analyse du code.

16 / 22 ©2016 Trusted Labs S.A.S.

Page 21: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Outline

1 Introduction

2 Présentation de Trusted Labs

3 Véri�cation formelle de circuits numériques pour la certi�cation

4 Utilisation de méthodes formelles pour l'évaluation sécuritaire de logiciels

5 Nouveau cas d'utilisation : la sécurité des mobiles

6 Conclusion : objectifs des travaux suivants

16 / 22 ©2016 Trusted Labs S.A.S.

Page 22: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

TrustZone

Extensions de sécurité sur les architectures ARMv7 ou 8

Le temps d'exécution d'un core se partage entre deux processeurs virtuels

Isoler les fonctions de sécurité en dehors du "Rich OS" (exemple : Android) dansle Trusted OS

Normal World → Android

Secure World → Trusted OS

17 / 22 ©2016 Trusted Labs S.A.S.

Page 23: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

KnoxOut : Description vulnérabilitéRKP (Real-time Kernel Protection). But : défendre le kernel (Android, NormalOS) d'un potentiel exploit (mitigation)Le kernel a une vulnérabilité de type write-what-whereL'exploit normal consiste à exploiter la vulnérabilité pour écrire la valeur rootdans process_credentialsAvec Knox, process_credentials est read-only pour le Normal World : l'exploitne fonctionne pas !

18 / 22 ©2016 Trusted Labs S.A.S.

Page 24: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

KnoxOut : Description vulnérabilité

Le Kernel peut demander à RKP le changement des crédentials viarkp_override_creds (contrôle d'accès)

RKP véri�e lui même si l'action est autorisée.

Vulnérabilité : L'action est autorisée si PID=0 hors le pid est contrôlable via lekernel et par la vulnérabilité write-what-where du kernel.

19 / 22 ©2016 Trusted Labs S.A.S.

Page 25: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

KnoxOut : Conclusion

La prise en compte des contrôles d'accès lors des évaluations sécuritaires est aussiimportante que la memory-safety.

Le contrôle du �ot d'informations l'est aussi dans le cadre de produits de sécuritéfournissant des mécanismes d'isolation

20 / 22 ©2016 Trusted Labs S.A.S.

Page 26: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Outline

1 Introduction

2 Présentation de Trusted Labs

3 Véri�cation formelle de circuits numériques pour la certi�cation

4 Utilisation de méthodes formelles pour l'évaluation sécuritaire de logiciels

5 Nouveau cas d'utilisation : la sécurité des mobiles

6 Conclusion : objectifs des travaux suivants

20 / 22 ©2016 Trusted Labs S.A.S.

Page 27: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Conclusion : objectifs des travaux suivants

Objectifs

Mettre en place un outillage facilitant l'évaluation sécuritaire de système del'internet des objets

Automatisation

Focus sur propriété sécuritaire ou fonctions de sécurité moins ciblées par d'autrestechniques

Contrôle du �ot d'informationContrôle d'accès

Moyens

Analyse au niveau assembleurÉviter le problème l'écart entre les di�érents niveau d'abstraction (exemple desfautes)Éviter de limiter l'analyse à un sous-ensemble particulier dans langage haut niveau(exemple : non support d'extensions du compilateur)Inclure les spéci�cités de l'architecture matérielle (exemple : TrustZone)

Analyse compositionelle

21 / 22 ©2016 Trusted Labs S.A.S.

Page 28: Utilisation des méthodes formelles pour l'évaluation et la ...potet/Sertif/LesSlides/Ezvan-SERTIF.pdf · Utilisation des méthodes formelles pour l'évaluation et la certi cation

Questions ?

Questions ?

22 / 22 ©2016 Trusted Labs S.A.S.