status report on maude-npa...

27
1 STATUS REPORT ON MAUDE-NPA TOOL Catherine Meadows Santiago Escobar Jose Meseguer September 28, 2006

Upload: others

Post on 20-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

1

STATUS REPORT ON MAUDE-NPATOOL

Catherine Meadows Santiago Escobar Jose Meseguer

September 28, 2006

Page 2: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

2

GOAL

• Extend standard free algebra model of cryptoprotocol analysis to deal with algebraicproperties– Encryption-decryption– Exclusive-or– Diffie Hellman– Etc.

• Provide tool that can be used to reason aboutthese in unbounded session model

Page 3: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

3

Approach• Use rewriting logic as general theoretical framework

– Specify crypto protocols formally as rewrite rules andalgebraic identities as equational properties

• Use narrowing modulo equational theories assymbolic reachability analysis method

• Combine with state reduction techniques of NRLProtocol Analyzer

• Implement in Maude programming environment– Rewriting logic gives theoretical framework and

understanding– Maude implementation gives us tool support

Page 4: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

4

PLANS• Formalize techniques in rewriting logic DONE

– Initial version of Maude-NPA tool• Grammar generation• Backwards narrowing reachability analysis• Soundness and completeness theorems

– Paper to appear in TCS special issue on ARSPA• Include state reduction techniques (NPA and new)

– Grammar generation DONE– Other techniques to improve efficiency (partially done)

• Extend model to different types of equational theories– Ongoing– Have implemented an initial AC version of tool in Maude– Need to extend grammars and other state reduction

techniques to these equational theories• Termination results for grammar generation (future)

Page 5: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

5

Covered Today

• Overview of how NPA works• Description of optimizations• Where we are in AC Unification• Summing up

Page 6: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

6

REWRITING LOGIC IN ANUTSHELL

Page 7: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

7

NARROWING ANDBACKWARDS NARROWING

Page 8: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

8

BASIC STRUCTURE OFMAUDE-NPA

• Uses strand space model• Searches backwards through strands from final state• Set of rewrite rules governs how search is conducted• Sensitive to past and future

– Used to prevent infinite loops– Learn-once rule says intruder can learn term only once– When an intruder learns term in a backwards search, tool

keeps track of this and doesn’t allow intruder to learn aboutit again

Page 9: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

9

Specify Protocols as Strands

Page 10: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

10

NOTION OF STATE IN NPASTRANDS

Page 11: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

11

Protocol Rules and Their Execution

Page 12: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

12

Introducing New Strands

Page 13: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

13

Covered Today

• Overview of how NPA works• Description of optimizations• AC Unification• Summing up

Page 14: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

14

Execute Rule 1 First (50%)

Page 15: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

15

Partial Order Reduction (70%)

Page 16: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

16

Using the Power of Strands (20% for each)

Page 17: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

17

Lazy Intruder (30%)

Page 18: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

18

A Refinement

• Kill the ghost if its variable subterms onlyappear in the future– In that case, there is no way they can be

instantiated• Another example of the power of strands: you

can see the past at a glance!

Page 19: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

19

Conflict Between Ghosts and P.O.Reduction

• A state that dominates another could stopdoing once a ghost is revived

• Our solution: include the ghost whencomputing the partial order

• Potentially more powerful solution, in whichdominated states are part of the ghost, may beimplemented later

Page 20: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

20

Major Slowdowns Remaining• In order to make experimentation with different

techniques easier, we use a “generate and test”strategy– Results in many more states generated than used– Once we have better understanding of optimizations, can

implement them in a more integral way• Lack of unification in Maude

– Unification implemented in tool– Once unification implemented in Maude, this should speed

things up

Page 21: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

21

Covered Today

• Overview of how NPA works• Description of optimizations• AC Unification• Summing up

Page 22: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

22

Status of AC Unification

• Have implemented AC unification viainterface to the CIME tool

• Two sources of inefficiency– Calls to CIME tool– CIME unification untyped, our unification typed

• However, is adequate for experimentation withAC

Page 23: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

23

Recall How Languages Generated

• Search backwards from seed term• Look at terms intruder needs to know to learn

seed term• Use heuristics to create language rules saying

one of these terms is in the language• Iterate until you can prove that if the intruder

knows a term in the language, must havepreviously known term in language

Page 24: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

24

An Observation onLanguage Generation Heuristics

Page 25: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

25

But, keep on searching ….

Page 26: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

26

Covered Today

• Overview of how NPA works• Description of optimizations• AC unification• Summing up

Page 27: STATUS REPORT ON MAUDE-NPA TOOLfaculty.nps.edu/gwdinolt/ProtocolExchange/Fall2006/MeadowsTalk.pdf · MAUDE-NPA •Uses strand space model •Searches backwards through strands from

27

Summing Up

• We have the theoretical infrastructure in place• We have the basic implementation• We are starting to turn it into a working tool• We are starting to experiment with AC unification• To do

– More optimizations– Termination results– Verification on benchmarks: Clarke-Jacob, SPORE, Avispa– Tool integration