Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
PARTIES
publications
Minimal Scheduling
Commits
c68c552f
Commit
c68c552f
authored
Jul 21, 2020
by
Jaime Arias
Browse files
add gain-admin and forestall adtrees
parent
0a722c93
Changes
6
Hide whitespace changes
Inline
Side-by-side
results/forestall/model/forestall.pdf
0 → 100644
View file @
c68c552f
File added
results/forestall/model/forestall.png
0 → 100644
View file @
c68c552f
78.7 KB
results/forestall/model/forestall.tex
0 → 100644
View file @
c68c552f
\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}
results/gain-admin/model/gain-admin.pdf
0 → 100644
View file @
c68c552f
File added
results/gain-admin/model/gain-admin.png
0 → 100644
View file @
c68c552f
112 KB
results/gain-admin/model/gain-admin.tex
0 → 100644
View file @
c68c552f
\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}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment