forestall.tex 6.15 KB
Newer Older
1
\documentclass[preview]{standalone}
Jaime Arias's avatar
Jaime Arias committed
2
\input{../../base.tex}
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142

\begin{document}

\begin{figure}
  \begin{minipage}[c]{0.5\textwidth}%
    % ADT
    \centering
    \scalebox{.75}{
      % ADTree
      \begin{tikzpicture}[every node/.style={ultra thick,draw=red,minimum size=6mm},
          node distance=1.5cm]

        % Sequential And node (Forestalling of software)
        \node[and gate US,point up,logic gate inputs=nnn, seq=8pt] (FS)
        {\rotatebox{-90}{\gate{FS}}};

        % Integrate code in product
        \node[state, below = 3mm of FS.west] (icp) {\leaf{icp}};
        \draw (icp.north) -- (FS.input 2);

        % Deploy to market
        \node[state, right of = icp] (dtm) {\leaf{dtm}};
        \draw (dtm.north) -- ([yshift=0.15cm]dtm.north) -| (FS.input 3);

        % Or Gate (Steal code)
        \node[or gate US,point up,logic gate inputs=nnn,above of = icp,
          xshift=-4mm] (SC)
        {\rotatebox{-90}{\gate{SC}}};
        \draw (SC.east) -- ([yshift=0.15cm]SC.east) -| (FS.input 1);

        % Sequential NAnd node (Network attack succesful)
        \node[and gate US,point up,logic gate inputs=ni, seq=10pt,
          left of = SC] (NAS) {\rotatebox{-90}{\gate{NAS}}};
        \draw (NAS.east) -- (SC.input 2);

        % NAnd node (Physical robbery succesful)
        \node[and gate US,point up,logic gate inputs=ni,
          below of = NAS, node distance=3cm]
        (PRS) {\rotatebox{-90}{\gate{PRS}}};
        \draw (PRS.east) -- ([yshift=0.15cm]PRS.east) -| (SC.input 3);

        % Sequential And node (Bribe)
        \node[and gate US,point up,logic gate inputs=nn, seq=5pt,
          above of = NAS, node distance=3cm]
        (BRB) {\rotatebox{-90}{\gate{BRB}}};
        \draw (BRB.east) -- ([yshift=0.15cm]BRB.east) -| (SC.input 1);

        % Bribe program
        \node[state, below = 4mm of BRB.west, xshift=-0.9cm]
        (bp) {\leaf{bp}};
        \draw (bp.north) -- ([yshift=0.15cm]bp.north) -| (BRB.input 1);

        % Program steals code
        \node[state, below = 4mm of BRB.west, xshift=0.9cm]
        (psc) {\leaf{psc}};
        \draw (psc.north) -- ([yshift=0.15cm]psc.north) -| (BRB.input 2);

        % Sequential And node (Network attack)
        \node[and gate US,point up,logic gate inputs=nnn, seq=8pt,
          left = 8mm of NAS.input 1,xshift=-4mm]
        (NA) {\rotatebox{-90}{\gate{NA}}};
        \draw (NA.east) -- ([yshift=0.15cm]NA.east) -| (NAS.input 1);

        % Hacker exploits bug
        \node[state, below = 3mm of NA.input 3] (heb) {\leaf{heb}};
        \draw (heb.north) -- (NA.input 3);

        % System has a bug
        \node[state, left of = heb] (sb) {\leaf{sb}};
        \draw (sb.north) -- ([yshift=0.1cm]sb.north) -| (NA.input 2);

        % Hire hacker
        \node[state, left of = sb] (hh) {\leaf{hh}};
        \draw (hh.north) -- ([yshift=0.18cm]hh.north) -| (NA.input 1);

        % defence node (intrusion detection)
        \node[rectangle,draw=Green,minimum size=8mm,
          below = 4mm of NAS.west, xshift=10mm]
        (id) {\leaf{id}};
        \draw (id.north) -- ([yshift=0.15cm]id.north) -| (NAS.input 2);

        % Sequential And node (Physical robbery)
        \node[and gate US,point up,logic gate inputs=nnn, seq=8pt,
          left = 8mm of PRS.input 1,xshift=-4mm]
        (PR) {\rotatebox{-90}{\gate{PR}}};
        \draw (PR.east) -- ([yshift=0.15cm]PR.east) -| (PRS.input 1);

        % Robber enters building
        \node[state, below = 3mm of PR.west] (reb) {\leaf{reb}};
        \draw (reb.north) -- (PR.input 2);

        % Robber finds code
        \node[state, right of = reb] (rfc) {\leaf{rfc}};
        \draw (rfc.north) -- ([yshift=0.15cm]rfc.north) -| (PR.input 3);

        % Hire robber
        \node[state, left of = reb] (hr) {\leaf{hr}};
        \draw (hr.north) -- ([yshift=0.15cm]hr.north) -| (PR.input 1);

        % defence node (secure coding rooms)
        \node[rectangle,draw=Green,minimum size=8mm,
          below = 4mm of PRS.west, xshift=10mm]
        (scr) {\leaf{scr}};
        \draw (scr.north) -- ([yshift=0.15cm]scr.north) -| (PRS.input 2);

      \end{tikzpicture}
    }
  \end{minipage}
  \begin{minipage}[c]{0.5\textwidth}%
    \centering
    % information
    \scalebox{.75}{\parbox{\linewidth}{%
        \begin{tabular}{l@{$\,:\;$}l@{~}l@{~}r}
          \multicolumn{2}{l}{\textbf{Name}} & \textbf{Cost}          & \textbf{Time}        \\
          \hline
          \gate{FS}                         & forestalling of softw. & \EUR{0}       & 10~d \\
          \gate{SC}                         & steal code             & \EUR{0}       & 0~d  \\
          \gate{PRS}                        & physical robbery succ. & \EUR{0}       & 0~d  \\
          \gate{PR}                         & physical robbery       & \EUR{0}       & 0~d  \\
          \gate{NAS}                        & network attack succ.   & \EUR{0}       & 0~d  \\
          \gate{NA}                         & network attack         & \EUR{0}       & 1~d  \\
          \gate{BRB}                        & bribe                  & \EUR{0}       & 3~d  \\
          \leaf{icp}                        & integr.\ code in prod. & \EUR{2k}      & 15~d \\
          \leaf{dtm}                        & deploy to market       & \EUR{1k}      & 5~d  \\
          \leaf{scr}                        & secure coding rooms    & \EUR{5k}      & 0~d  \\
          \leaf{rfc}                        & rob.\ finds code       & \EUR{0}       & 0~d  \\
          \leaf{reb}                        & rob.\ enters building  & \EUR{500}     & 3~d  \\
          \leaf{hr}                         & hire robber            & \EUR{4k}      & 10~d \\
          \leaf{id}                         & intrusion detection    & \EUR{200}     & 1~d  \\
          \leaf{heb}                        & hacker exploits bug    & \EUR{0}       & 3~d  \\
          \leaf{sb}                         & system has a bug       & \EUR{0}       & 0~d  \\
          \leaf{hh}                         & hire hacker            & \EUR{1k}      & 20~d \\
          \leaf{psc}                        & progr.\ steals code    & \EUR{0}       & 7~d  \\
          \leaf{bp}                         & bribe programmer       & \EUR{2k}      & 15~d \\
        \end{tabular}
      }}
  \end{minipage}
\end{figure}

\end{document}