Commit c68c552f authored by Jaime Arias's avatar Jaime Arias
Browse files

add gain-admin and forestall adtrees

parent 0a722c93
\documentclass[preview]{standalone}
\input{../base.tex}
\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}
\documentclass[preview]{standalone}
\input{../base.tex}
\begin{document}
\begin{figure}
\begin{minipage}[c]{0.5\textwidth}%
% ADT
\centering
\scalebox{.6}{
\begin{tikzpicture}[
every node/.style={ultra thick,draw=red,minimum size=6mm},
node distance=1.5cm]
% Or Gate (Obtain admin priviledges)
\node[or gate US,point up,logic gate inputs=nn] (OAP)
{\rotatebox{-90}{\gate{OAP}}};
% Or Gate (Access CLI)
\node[or gate US,point up,logic gate inputs=nn,
below = 13mm of OAP.input 1,yshift=14mm] (ACLI)
{\rotatebox{-90}{\gate{ACLI}}};
\draw (ACLI.east) -- ([yshift=0.15cm]ACLI.east) -| (OAP.input 1);
% Corrupt operator
\node[state, below = 9mm of ACLI.input 1, xshift=-8mm]
(co) {\leaf{co}};
\draw (co.north) -- ([yshift=0.15cm]co.north) -| (ACLI.input 1);
% NAnd node (Enter computer centre succesful)
\node[and gate US,point up,logic gate inputs=ni,
below = 21.5mm of ACLI, yshift = 8.6mm] (ECCS)
{\rotatebox{-90}{\gate{ECCS}}};
\draw (ECCS.east) -- (ACLI.input 2);
% Or Gate (Enter computer centre)
\node[or gate US,point up,logic gate inputs=nn,
below = 12mm of ECCS.input 1,yshift=14mm] (ECC)
{\rotatebox{-90}{\gate{ECC}}};
\draw (ECC.east) -- ([yshift=0.15cm]ECC.east) -| (ECCS.input 1);
% Break into computer centre
\node[state, below = 5mm of ECC.input 1, xshift=-4.5mm]
(bcc) {\leaf{bcc}};
\draw (bcc.north) -- ([yshift=0.15cm]bcc.north) -| (ECC.input 1);
% Computer centre guest left unwatched
\node[state, below = 5mm of ECC.input 2, xshift=4.5mm]
(ccg) {\leaf{ccg}};
\draw (ccg.north) -- ([yshift=0.15cm]ccg.north) -| (ECC.input 2);
% defence node (Secure coding rooms)
\node[rectangle,draw=Green,minimum size=8mm,
below = 5.5mm of ECCS.west, xshift=1.65mm]
(scr) {\leaf{scr}};
\draw (scr.north) -- (ECCS.input 2);
% Or Gate (Get Sys Admin password)
\node[or gate US,point up,logic gate inputs=nnnn,
below = 14.5mm of OAP.input 2,yshift=-3mm] (GSAP)
{\rotatebox{-90}{\gate{GSAP}}};
\draw (GSAP.east) -- ([yshift=0.15cm]GSAP.east) -| (OAP.input 2);
% Sequential NAnd node (Get admin password successful)
\node[and gate US,point up,logic gate inputs=ni, seq=12pt,
below = 14mm of GSAP.west, yshift = 8.9mm] (GAPS)
{\rotatebox{-90}{\gate{GAPS}}};
\draw (GAPS.east) -- (GSAP.input 1);
% Sequential And node (Get admin password)
\node[and gate US,point up,logic gate inputs=nn, seq=6pt,
below = 11mm of GAPS.input 1, yshift = 4.2mm] (GAP)
{\rotatebox{-90}{\gate{GAP}}};
\draw (GAP.east) -- (GAPS.input 1);
% Obtain psw file
\node[state, below = 5mm of GAP.input 1, xshift=-4.5mm]
(opf) {\leaf{opf}};
\draw (opf.north) -- ([yshift=0.15cm]opf.north) -| (GAP.input 1);
% Find guessable password
\node[state, below = 5mm of GAP.input 2, xshift=4.5mm]
(fgp) {\leaf{fgp}};
\draw (fgp.north) -- ([yshift=0.15cm]fgp.north) -| (GAP.input 2);
% defence node (Two-level authentication)
\node[rectangle,draw=Green,minimum size=8mm,
below = 4mm of GAPS.input 2, xshift = 8mm] (tla)
{\leaf{tla}};
\draw (tla.north) -- ([yshift=0.15cm]tla.north) -| (GAPS.input 2);
% NAnd node (Look over SA shoulder successful)
\node[and gate US,point up,logic gate inputs=ni,
below = 14mm of GSAP.west, yshift = -20mm] (LSAS)
{\rotatebox{-90}{\gate{LSAS}}};
\draw (LSAS.east) -- ([yshift=0.12cm]LSAS.east) -| (GSAP.input 2);
% Sequential And node (Look over SA shoulder)
\node[and gate US,point up,logic gate inputs=nnn, seq=6pt,
below = 12mm of LSAS.input 1, yshift = 5.3mm] (LSA)
{\rotatebox{-90}{\gate{LSA}}};
\draw (LSA.east) -- (LSAS.input 1);
% Befriend system administrator
\node[state, below = 3mm of LSA.input 1, xshift=-7.5mm]
(bsa) {\leaf{bsa}};
\draw (bsa.north) -- ([yshift=0.15cm]bsa.north) -| (LSA.input 1);
% Visit SA at work
\node[state, below = 3mm of LSA.input 2]
(vsa) {\leaf{vsa}};
\draw (vsa.north) -- (LSA.input 2);
% Spy SA terminal
\node[state, below = 3mm of LSA.input 3, xshift=7.5mm]
(sat) {\leaf{sat}};
\draw (sat.north) -- ([yshift=0.15cm]sat.north) -| (LSA.input 3);
% defence node (No visits policy)
\node[rectangle,draw=Green,minimum size=8mm,
below = 4mm of LSAS.input 2, xshift = 7.5mm] (nv)
{\leaf{nv}};
\draw (nv.north) -- ([yshift=0.15cm]nv.north) -| (LSAS.input 2);
% NAnd node (Trojan horse for SA)
\node[and gate US,point up,logic gate inputs=ni,
below = 13.6mm of GSAP.west, yshift = -48.5mm] (TSA)
{\rotatebox{-90}{\gate{TSA}}};
\draw (TSA.east) -- ([yshift=0.3cm]TSA.east) -| (GSAP.input 3);
% Trojan horse for SA
\node[state, below = 5.4mm of TSA.input 2, xshift = -10mm]
(th) {\leaf{th}};
\draw (th.north) -- ([yshift=0.15cm]th.north) -| (TSA.input 1);
% Or Gate Defence (Defence against trojan horses)
\node[or gate US,point up,logic gate inputs=nn,draw=Green,
below = 12.4mm of TSA.input 2,yshift=4.25mm] (DTH)
{\rotatebox{-90}{\gate{DTH}}};
\draw (DTH.east) --(TSA.input 2);
% defence node (Watchdog system daemon)
\node[rectangle,draw=Green,minimum size=8mm,
below = 5mm of DTH.input 1, xshift = -6mm] (wd)
{\leaf{wd}};
\draw (wd.north) -- ([yshift=0.15cm]wd.north) -| (DTH.input 1);
% defence node (No visits policy)
\node[rectangle,draw=Green,minimum size=8mm,
below = 5mm of DTH.input 2, xshift = 6mm] (efw)
{\leaf{efw}};
\draw (efw.north) -- ([yshift=0.15cm]efw.north) -| (DTH.input 2);
% Corrupt SA
\node[state, below = 7mm of GSAP.input 4, xshift=60mm]
(csa) {\leaf{csa}};
\draw (csa.north) -- ([yshift=0.375cm]csa.north) -| (GSAP.input 4);
\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{OAP} & obtain admin privileges & \EUR{0} & 0~m \\
\gate{GSAP} & get SA password & \EUR{0} & 0~m \\
\gate{ACLI} & access c.c.\ CLI & \EUR{0} & 2~m \\
\gate{TSA} & trojan horse for SA & \EUR{0} & 0~m \\
\gate{DTH} & defence against trojans & \EUR{0} & 0~m \\
\gate{LSAS} & LSA successful & \EUR{0} & 0~m \\
\gate{LSA} & look over SA shoulder & \EUR{0} & 0~m \\
\gate{GAPS} & GAP successful & \EUR{0} & 2~m \\
\gate{GAP} & get admin password & \EUR{0} & 10~m \\
\gate{ECCS} & enter c.c.\ successful & \EUR{0} & 1~h \\
\gate{ECC} & enter computer centre & \EUR{0} & 0~d \\
\leaf{csa} & corrupt Sys.\ Admin. & \EUR{5k} & 5~d \\
\leaf{efw} & E-Mail firewall & \EUR{3k} & 0~m \\
\leaf{wd} & watchdog sys.\ daemon & \EUR{2k} & 5~m \\
\leaf{th} & trojan horse SA & \EUR{100} & 3~d \\
\leaf{nv} & no-visits policy & \EUR{0} & 0~d \\
\leaf{sat} & spy SA terminal & \EUR{0} & 30~m \\
\leaf{vsa} & visit SA at work & \EUR{20} & 2~d \\
\leaf{bsa} & befriend Sys.\ Admin. & \EUR{500} & 14~d \\
\leaf{tla} & two-level authentic. & \EUR{5} & 1~m \\
\leaf{fgp} & find guessable pass. & \EUR{0} & 1~d \\
\leaf{opf} & obtain password file & \EUR{100} & 3~d \\
\leaf{scr} & secure coding rooms & \EUR{5k} & 0~d \\
\leaf{ccg} & c.c.\ guest unwatched & \EUR{100} & 5~d \\
\leaf{bcc} & break-in comp.\ centre & \EUR{6k} & 2~d \\
\leaf{co} & corrupt operator & \EUR{4k} & 4~d \\
\end{tabular}
}}
\end{minipage}
\end{figure}
\end{document}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment