Document

Formula Negator,
Outil de négation de
formule
Aymerick Savary, Mathieu Lassale
Marc Frappier, Jean-Louis Lanet
AFADL 2014,
juin 2014,
Paris, France
1 Université de Limoges
2 Université de Sherbrooke
Formula Negator, outil de négation de formule
AFADL 2014
1 /16
Carte à puce Java Card
Applet1 ... Appletn
JCVM
SE
Matériel
Formula Negator, outil de négation de formule
AFADL 2014
2/16
Le vérifieur de byte code
C’est quoi une carte `
a puce? Contexte Objectifs Mod´
elisation du langage Java Card Obtention des tests Ex´
ecution sur des cartes `
ap
Comportement r´eel d’un v´erifieur de Byte Code
Code valide Ex´ecu
accept´ee
Code Invalide
Ex´ecution refus´ee
Code valide Ex´ecu
refus´ee
Code Invalide
Ex´ecution accept´e
Formula Negator, outilAymerick
de négation
formule
AFADL
2014des cartes
3/16
Savary,de
Jean-Louis
Lanet, Marc FrappierPr´
(UNILIM
esentation
UdeS)
d’´
et´
e du GRIL, Piratons
formellement
`
a puce!
22-08
Le vérifieur de byte code
C’est quoi une carte `
a puce? Contexte Objectifs Mod´
elisation du langage Java Card Obtention des tests Ex´
ecution sur des cartes `
ap
Comportement r´eel d’un v´erifieur de Byte Code
Code valide Ex´ecu
accept´ee
Code Invalide
Ex´ecution refus´ee
Code valide Ex´ecu
refus´ee
Code Invalide
Ex´ecution accept´e
Formula Negator, outilAymerick
de négation
formule
AFADL
2014des cartes
3/16
Savary,de
Jean-Louis
Lanet, Marc FrappierPr´
(UNILIM
esentation
UdeS)
d’´
et´
e du GRIL, Piratons
formellement
`
a puce!
22-08
Cartes à puce et sécurité
Formula Negator, outil de négation de formule
AFADL 2014
4/16
Cartes à puce et sécurité
Formula Negator, outil de négation de formule
AFADL 2014
4/16
Cartes à puce et sécurité
Formula Negator, outil de négation de formule
AFADL 2014
4/16
Cartes à puce et sécurité
Formula Negator, outil de négation de formule
AFADL 2014
4/16
Certains systèmes
difficiles à tester
.CAP
Vérification
de
structure
Vérification
de
type
Vérifieur de code intermédiaire
Formula Negator, outil de négation de formule
AFADL 2014
5/16
Test d’intrusion pour BCV
1
Sous-mécanisme
Ensemble des
mécanismes
2
Modèle
...
...
3
4
Formula Negator, outil de négation de formule
AFADL 2014
6/16
Vulnerability Tests Generation
Modèle
Event-B
Formula
Negator
Machine
Derivator
Model Derivator
Modèles
mutants
Event-B
Model Extractor
Tests
abstraits
ProB
VTG
Formula Negator, outil de négation de formule
AFADL 2014
7/16
Vulnerability Tests Generation
Modèle
Event-B
Formula
Negator
Machine
Derivator
Model Derivator
Modèles
mutants
Event-B
Model Extractor
Tests
abstraits
ProB
VTG
Formula Negator, outil de négation de formule
AFADL 2014
7/16
Formules de négation
Formula Negator, outil de négation de formule
AFADL 2014
8/16
Exemple de mutation
Formula Negator, outil de négation de formule
AFADL 2014
9/16
Exemple de mutation
Formula Negator, outil de négation de formule
AFADL 2014
9/16
Exemple de mutation
Formula Negator, outil de négation de formule
AFADL 2014
9/16
Exemple de mutation
Formula Negator, outil de négation de formule
AFADL 2014
9/16
Exemple de mutation
Formula Negator, outil de négation de formule
AFADL 2014
10/16
Grammaire Rodin
Formula Negator, outil de négation de formule
AFADL 2014
11/16
Grammaire Rodin
Formula Negator, outil de négation de formule
AFADL 2014
11/16
Negation du Equal
Analyseur
Formula Negator, outil de négation de formule
AFADL 2014
12/16
Negation du Equal
Analyseur
Réécriveur
Formula Negator, outil de négation de formule
AFADL 2014
12/16
Extractor
model
Negator
Context
Derivator
ModelMutator
models
Extrac
Mutation de modèle
VTG
Methodology
Original model
Negation rules
Mutated models
●
Formula Negator, outil de négation de formule
Based on :
I
Rodin : The Rodin Platform is an Ec
AFADL 2014
13/16
Event-B
that provides
effective support
Extraction des tests
S´
ecurit´
e vs Piratage?
C’est quoi une carte `
a puce?
O`
u sont les failles?
Ex´
ecutons (sur) des cartes `
a puce
Conclusion et travaux futurs
Concr´etisation des tests
Formula
outil
de négation
formule
AymerickNegator,
Savary, Marc
Frappier,
Jean-Louisde
Lanet
(UNILIM UdeS)
Piratons formellement des carte `
a puce!
AFADL 2014 23 avr.
14/16
2013
25 / 28
Testing the Java Card Byte Code Verifier
Results
Our Method
Conclusion and Future Works
Résultats expérimentaux
Test Generation Results
Depth
Time
Nb
tests
3
4
5
5 Full
*
1min30
12min30
1h30
2h30
1h05
of
30
432
10133
10133
7318
Speed
(sec/test)
3,0
1,7
0,5
0,9
0,5
Model
coverage
13%
33%
100%
65%
100%
Manual plan
coverage
12%
31%
93%
93%
93%
Table : Abstract test generation evaluation
Formula Negator, outil de négation de formule
AFADL 2014
15/16
Conclusions
• 1 outil de mutation de
spécification Rodin (Event-B)
• Implémentation robuste (basé sur des API)
er
• Efficace pour la découverte de failles dans le BCV
!
Travaux futurs:
• Ajout de règles de négation
• Mutation d’autres objets Rodin
Formula Negator, outil de négation de formule
AFADL 2014
16/16