63 | | (in English: There is one attacker node. There is either a fakeIP or fake authority that the attacker wants to inject into the cache. The first is of type IPaddress, the second of type DNSname. Both of these types are subtypes of Info, and this is recorded somewhere in the domain knowledge DB. A cache is simply a collection of DNSRecord items, one or more. These are also subtypes of Info and in the domain knowledge DB there's syntax defined for a DNSRecord. Cache does not reside at the attacker.) |
| 61 | Attacker extends Node |
| 62 | |
| 63 | Auth extends Node |
| 64 | |
| 65 | Name extends DNSName |
| 66 | |
| 67 | RealIP extends IPAddress |
| 68 | |
| 69 | FakeIP extends IPAddress or fakeAuth extends DNSName |
| 70 | |
| 71 | victimCache extends Object |
| 72 | |
| 73 | victimCache := {DNSRecord[] records} |
| 74 | |
| 75 | authCache extends Object |
| 76 | |
| 77 | authCache := {DNSRecord[] records = {Name=RealIP, auth(domain(Name)) = Auth} |
| 78 | |
| 79 | '''Cardinality:''' |
| 80 | |
| 81 | |Attacker|,,1,, |
| 82 | |
| 83 | |Auth|,,1,, |
| 84 | |
| 85 | |Name|,,1,, |
| 86 | |
| 87 | |FakeIP|,,1,, |
| 88 | |
| 89 | |fakeAuth|,,1,, |
| 90 | |
| 91 | |RealIP|,,1,, |
| 92 | |
| 93 | |victimCache|,,1,, |
| 94 | |
| 95 | |authCache|,,1,, |
| 96 | |
| 97 | '''Relationships:''' |
| 98 | |
| 99 | not collocated(victimCache, Attacker) |
| 100 | |
| 101 | not collocated(victimCache, Auth) |
| 102 | collocated(AuthCache, Auth) |
| 103 | |