From 3f2b426c98bee774531739f833cfeaa0b9b599cb Mon Sep 17 00:00:00 2001 From: h3xduck Date: Sat, 21 May 2022 19:43:51 -0400 Subject: [PATCH] Completed the objectives section. Skipping the rest of the chapter --- docs/document.aux | 18 ++++++------ docs/document.log | 62 +++++++++++++++++++++------------------ docs/document.pdf | Bin 161550 -> 163459 bytes docs/document.synctex.gz | Bin 45769 -> 49534 bytes docs/document.tex | 34 +++++++++++++++++---- docs/document.toc | 16 +++++----- docs/pdfa.xmpi | 8 ++--- 7 files changed, 83 insertions(+), 55 deletions(-) diff --git a/docs/document.aux b/docs/document.aux index fff34b5..4ce0f2f 100644 --- a/docs/document.aux +++ b/docs/document.aux @@ -48,22 +48,22 @@ \abx@aux@cite{ebpf_friends} \abx@aux@segm{0}{0}{ebpf_friends} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1.2}Project objectives}{3}{section.1.2}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1.3}Regulatory framework}{3}{section.1.3}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Social and economic environment}{3}{subsection.1.3.1}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}Budget}{3}{subsection.1.3.2}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {2}State of the Art}{4}{chapter.2}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {1.3}Regulatory framework}{4}{section.1.3}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.1}Social and economic environment}{4}{subsection.1.3.1}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {1.3.2}Budget}{4}{subsection.1.3.2}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {2}State of the Art}{5}{chapter.2}\protected@file@percent } \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {3}Methods??}{5}{chapter.3}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {3}Methods??}{6}{chapter.3}\protected@file@percent } \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {4}Results}{6}{chapter.4}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {4}Results}{7}{chapter.4}\protected@file@percent } \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusion and future work}{7}{chapter.5}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusion and future work}{8}{chapter.5}\protected@file@percent } \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{Bibliography}{8}{chapter.5}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{Bibliography}{9}{chapter.5}\protected@file@percent } \abx@aux@read@bbl@mdfivesum{D747C591A940D097CD0716131C9FB28E} \abx@aux@refcontextdefaultsdone \abx@aux@defaultrefcontext{0}{ransomware_pwc}{none/global//global/global} @@ -77,4 +77,4 @@ \abx@aux@defaultrefcontext{0}{bad_ebpf}{none/global//global/global} \abx@aux@defaultrefcontext{0}{ebpf_friends}{none/global//global/global} \ttl@finishall -\gdef \@abspage@last{24} +\gdef \@abspage@last{25} diff --git a/docs/document.log b/docs/document.log index c2ae8eb..c26afa4 100644 --- a/docs/document.log +++ b/docs/document.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2022.4.27) 21 MAY 2022 16:55 +This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2022.4.27) 21 MAY 2022 19:43 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -1172,64 +1172,70 @@ File: ts1txr.fd 2000/12/15 v3.1 ) [1 -] [2] [3] -Chapter 2. -[4 +] [2] +Overfull \hbox (0.50073pt too wide) in paragraph at lines 353--354 +[]\T1/txr/m/n/12 Subsequent talks on 2021 by Pat Hogan at DE-F-CON 29[[][]9[][] +], and by Guil-laume Fournier + [] -] -Chapter 3. +[3] [4] +Chapter 2. [5 ] -Chapter 4. +Chapter 3. [6 ] -Chapter 5. +Chapter 4. [7 ] -LaTeX Font Info: Trying to load font information for T1+txtt on input line 3 -89. +Chapter 5. +[8 + +] +LaTeX Font Info: Trying to load font information for T1+txtt on input line 4 +11. (/usr/share/texlive/texmf-dist/tex/latex/txfonts/t1txtt.fd File: t1txtt.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Trying to load font information for OT1+txr on input line 3 -89. +LaTeX Font Info: Trying to load font information for OT1+txr on input line 4 +11. (/usr/share/texlive/texmf-dist/tex/latex/txfonts/ot1txr.fd File: ot1txr.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Trying to load font information for U+txsya on input line 3 -89. +LaTeX Font Info: Trying to load font information for U+txsya on input line 4 +11. (/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxsya.fd File: utxsya.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Trying to load font information for U+txsyb on input line 3 -89. +LaTeX Font Info: Trying to load font information for U+txsyb on input line 4 +11. (/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxsyb.fd File: utxsyb.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Trying to load font information for U+txmia on input line 3 -89. +LaTeX Font Info: Trying to load font information for U+txmia on input line 4 +11. (/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxmia.fd File: utxmia.fd 2000/12/15 v3.1 ) -LaTeX Font Info: Trying to load font information for U+txsyc on input line 3 -89. +LaTeX Font Info: Trying to load font information for U+txsyc on input line 4 +11. (/usr/share/texlive/texmf-dist/tex/latex/txfonts/utxsyc.fd File: utxsyc.fd 2000/12/15 v3.1 ) -Overfull \hbox (5.34976pt too wide) in paragraph at lines 390--390 +Overfull \hbox (5.34976pt too wide) in paragraph at lines 412--412 \T1/txtt/m/n/12 threat -[] intelligence / cyber -[] year -[] in -[] retrospect / yir -[] cyber -[] threats -[] [] -[8 +[9 ] [1 @@ -1247,7 +1253,7 @@ pdfTeX warning (ext4): destination with the same identifier (name{page.}) has b een already used, duplicate ignored \relax -l.406 \end{document} +l.428 \end{document} [2 ] (./document.aux) @@ -1258,8 +1264,8 @@ Package logreq Info: Writing requests to 'document.run.xml'. ) Here is how much of TeX's memory you used: - 27171 strings out of 481209 - 430760 string characters out of 5914747 + 27172 strings out of 481209 + 430766 string characters out of 5914747 1166131 words of memory out of 5000000 43656 multiletter control sequences out of 15000+600000 444100 words of font info for 89 fonts, out of 8000000 for 9000 @@ -1273,9 +1279,9 @@ tic/uhvb8a.pfb> -Output written on document.pdf (24 pages, 161550 bytes). +Output written on document.pdf (25 pages, 163459 bytes). PDF statistics: - 280 PDF objects out of 1000 (max. 8388607) - 49 named destinations out of 1000 (max. 500000) + 285 PDF objects out of 1000 (max. 8388607) + 50 named destinations out of 1000 (max. 500000) 111 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/docs/document.pdf b/docs/document.pdf index b0a77d7c710bc16eb9cd0e738ee7e4b1d936ab26..6c652041c13befea033fffc0bfcb2cbbeba6227f 100644 GIT binary patch delta 16095 zcmajG2Rzl^|2XdTQufTuykyV2hb=o~Br_{pMj46dN@XY9^2%rkrBt#rDne04QbtlK znTb#o@_Sv?`%~BV@&8}yyk5`qJkRqy&vl;9bFQ?{%qP~E@9Yz1B&lIBYA7_tLzwvA z^A%yWKhG5(gk1nB0+xi*--*I0qjj+aWj#GZk}`59-ar{?K*SpuAn{n79=gIyR68Fa zQJQwhQ@ZZ6khM;!j)2{Gd_sxBV;LtFK4Q*Qe*uS`JE|F^vb~fxQvOhZQ<2OB9w4ZL{Bf#)vzl!MNcY8@0FP65HoxD8dq&2^za#z<-bZ*Yh?e$X! z%FGvTnhuK$>7DpBB8)ZQ+aCKA9`_i#QE|%0zDoVbGBu2`9+(R8fM@RNa-Cd=jS)OZOFFI*LOf4SE-Hw%6~?kxp>3#AmvC&m9)8AkWaS5HI&Y>QnH3e-;!9 zhd?5zPZhhHRJZ_4hK?M$$iXyJxR(3=irpOXM)~q)ZqTDy2HIXPJJ_DhX$g}%4ddStnls47H1y3=JT5$StAE)YiLC;Pkvr{ z{NUCduZx4#B?|8&FP-bGzERg1lO0swkYaXxM(srB;}!IQO!9!+=W^`#II<1$@WZc- z_x6QY5D-JvC9K{nT_|XDa+)3n{}rPe-YgYji>gHBeP^V_Z+OawvhhQg|QF8 zNsjrZd&#r=TIDYBH|s3s-?GSrCAnt{yVdW0q-5KS9DpG zPH8P_IJWO)1k(+2Tx+<*(@}6<4GKP<_9&Zt!RSETcvYBE$7ShW0?;`WljwcotyRB? zrA3%XajGa;qTV7v3nVa3>Nk6fcJ#P5%b2*;W`1R)NW`kp^Oe zgvj1^Z+Mu7Nd)|5-x{OnA66Xo_8z*5qx~ivuBN@ zW4n*xM%u!z$pl;22^a}QXOp)t@;+-`xMFf&%v>Crro@$OKhkmoI41ivucRfn+4Grn z)LmzpvKii!;Y+DjR?mu929CV?=Kn>5%_z3MaqY-;dQNVm`D$QJvi@#!MTdBp#6>&( zi;+1#;?jAZDC)1&U`d9|chPgts*>IpbOorqni;oh5j}V2+Dz>l1Ci_}iZ~(Gr_}Et ze6j6PImfEWt9uu$4h@`ox^Qqunlm7uYE~KjN}U~{zV&=b$(B}gU9wtR^pW<%-!M#) z0XiW=!Y3`n3hucd#U^~v6jX5;WuIyfJT;M0DWIIOW?^Qx${tlGc z43~YpG7ni?yw4!{vIM_I<`}u0?;YI=nL- z;)^DCe1k>1nFnxoqf;M*4r=2v2@;%4JnKy@5%I&q3(^NuIeFUc!^2D>rCpDIXlKL= zNK*Ld9loT;{QS84aL3bc_1pHJ_`=}9-&rxQe#ikK(&WXQQ&D2VHB4qpJ=GG8L#u0+ zx9i{&=NKYBGFK!E%3W^0y2GYR{*G*Vh6nzg<&zq=ZLz3=j`WX8P*ixP3$iSNfwS^+ z%M}%Y(sADRe*D!2N91ngsS2uthYZeT7$)iWNw6}WZZvc-WS>|((V~_Y)y~s=P`m5I zmyx2~Hc-}{{MC_;J)3dx>80S}vA zahumESNtHWU6D;ptp%K;b_Mk zz_XsMUFH2nAMuI{xgD2X#dgQP857*o`P1QKN2v)mwcOKE7j;3;f{eX`hqj#8v#f5r z*@S&kxmzsKIm>=v`Q9<1|j13>wEDJT)nx?=*VTw-#~782(DT(%|_tR(+eN!1PC0Myg>TOM{& zkaDB%t|W;K?HghH!CFg}b-Dd5b#SZ4N@vuyh|BB`)6>d@)EO@hcJEf9JD<3n&;CB0 zI$!VXm87gtdR_rycGwoRKaO99qH%KlH@3WcEz4T6jPyK4wfdI}de)dY5!YkhS1abZ^MSzsMH zZX($Cirbl`^V6leK`#UA$@6h*c3g6=ghW%-Cvpv(TBB;R29oXxS4k$Rh`kDaq0pg$ zNjWF_e1PKnEjr#V7GsLRkkZd8T@zqdxF!)~WUcI{$CpM_GxO^I15GEtZtt6`qT|ZX) zu35oIbk2o6UB2KG5sAQW8Wl_`cTL{thbVxaNnehorB39_QVM-rOWv-n>iFo8p4=UF zHWRJuKbsK0%07VENjhVV(Y@q z7OG93uJ=Z+r+ubRj#JHDT)x4o7qoZ0HJLRuwPp8H6_F1+4!4|gpXxisdOPTjbEv!L zSnzq1>Rs^;m5@|&w0%o`tp$2gh<@HDMM0p1;fV%`J?ZAi&HQ3hCbHK=x`rv<*+}jN zsd;v^3*+Gdx>!)*eRTocCk_p{D3n4j0pa<^~a@Bh{M#!ODPhS+IOMoacH zGFMqL{oH}DKFgvrdBQs63+%1;M^$6770}-L^C5Ct7X0Z)t={aMJvH|@=eR>s@4gbb z84>O8Bl!#ujt;l(D8}PnH)*_|A?yvQmdZw`cajK~=sBfA8r2l)V#^zp3NJ0T*DWVn zT|GbiJ(AZW(Eqt&buzTzVQKk+@Y>ewBb$6cH{By?|HmJ(*kfKh&YhE#h%3 z=~;d3>k}{IZY5v5aL4UI(_Xn%j%61`E)DgQ8riQ(C;3>H=^j`gyY|Iz0brw8$~AaQ%%#Vr5>rILI6bAa>Tx#5Dt7(IGiXmRlSra({qD-YK}iV zwTMm8kWs1_$L2j4%J_B48$UCBu}D^eb>zl%R|HR_><5##?MHU1=!xa@n5YQ}`o(Nxzzpn{S8pDu5_U#()EOM^l&x9Bc zf8vj9j5D3v%LurJk1(nqzhX7prf}5GHh8)9fnIi%N`Fy%+&O03a}%9+G;y5t=VftR zh@<0l^e^AH9jM_Gd#}M+5wh;_rD^|KhfzQk_rjgKQ<5@HyeUYPZD(4}Tr`f1i*O%n z8hQb0Kb4l2L-?NiCQE*?oSRp- z>R=Xs%1nb^?U4sq;}5T8_ZmlkD&r%}$8DvfWNF^v=3r3QIuotcetX}`)VmY;jzid} zIlUMBjfpiu`5qZ_J9P~ed~@z{^d5J7k)m_DTG^uY;fpJ$nF?>R8In7j{oI;T5)`j9 zqYsKQE6Or{zewS1$ldOC5%AG`Z1cTW#_31=d%uO$1sg$CaT1ZjH~k~myw}o-Kg()f zFFBwtH-N**L@VderSx^T_qW7$1vzz|7CRE-81wp2b8^9!_iA?--YTBidslUS$X2|n z3Nhp6zB4CP#e7RwYrH}hIX=buMf9ZZxnkY~<+n1H`>aP213PrvoE5?>g|_Z$wqW~e z{y3Pmmax`OkKhmu-4h&Z>m@M-qR6XSGRtR`nJWI}L)a29WZw zZxVJLm&x~m$gXdvZvFf?*}P5%?2@8q|#_q*^~YdDse6|$0p!KK$|`5h~J?bhbCIt@Gt%Yj)*iN~6?>-2y-_IPJArO#gc zrK~2?8ht|E*QO^fo0+=m?#?O5)7Z~YUr=3YZscktV4JWT@r~b6{>l@vw5ubv$wGxB z=jrOB62p@P;cH)aY1m&ccy<2KVtm+6=}bwLZMF|*qot2LR7hGR4_SzxFD$96Iz4;| zOqrT2Dc7qg>Snh%+BfCvv{26xcCoOSRQ$;15r^oZk{dNa+2d9X4G?m*CTqgzW7Hn@ z(;-jI^dpQrbQfPgx@6wl=xNDagBTe&TrH&5`#H(q=_-e^eM@z6cO&ORtHX6ON%UuQ z;xT#;Ev|~*M|l+dxIhkP97x`xJ!rwPzCUXz?%2Vr+8J!fmaty=z#I-c{H%d zAT#suN<-nGzmcih%g@ar>i%b{r_JV+$shQa{3PBt>~qbTy7bhVe7WL@61(?Pscd$+ zDJDpFFV2C3Da?tLRN*v|Fn zdGi{?+6-1dH(J#H6vJJ+>?wZPBvDxoncT=T_cYd_LqOtrvS5VJZ2Y%r{?Q&|TXP>j zP(LO6ba2-7M26luvHnwMWS+%p3is+3z6&C{eM(PW>`a)^){7=j6?b1ded#g}kDt$+ zdsB^#_>u0W1CK~H2OHaQ#Nnnq?hQkHoNtjB^_aV*Ukvl6XSl!#_v+{~Azhq48y?2#^@lBZWvo*+M z5tv;SwYr#n{bkhj0=ZeA<*vPv6~j?3Xi`aj&)M^@)o$(Et9PaCd1k1}vr8y*rzL&O z)T=HE@oC#F;s#!?;A}H7dxX}C#~*sTJeuD7^U@V>$@gY5$EQW54w&wgHyc4~Yin># z7F0B6_@347ofux>@8myDt>dfzTwj-e3<>b z;}Tm^MiIw_!|c+yiNL+3NZzOD8=d!q-qnors&uK7d~$m4p4zVHT57D4&3KSroH6Fk z=a%!qMz^j!Vh>c`O^&sRxzvH{6idIW=kQDjU_i6Xy>4-~) z_xvcKpA8+0a;`4q>+Tl|RvU{P3Ebb+J$lZm-BX`Oll{zM=z01Ze)TRHLCDb^7tELk z+efzz0x<s3-E5PC+tD$$RNvdfDA`S~ikv;n7JTcoY&-vn9lkR$ zwc~V?H8}Q)`}S3gdY|JD^?x`TgJIK>bhNan98>TuivpP3CZavc7{6657AX|(l7D&* zXa@!#zpH3LOQCr`lQDGZb42>LmHRY?)4au=CvKB8v?En~iDJR0+xMJ0@$(t`yGOE9 zbZ@FTc7@*&syM1ar|gQxM&}1( z_O^cCXBPr<BdM+aLpv5CU)a@>NZMHhMV9m9R1+Lkv5m+dH9$`b5~!-n~L&89tlx%vJo;U+-BZr|SZ6P#$5RQMak%`N+_SC@qvx^@ zN}b$i_G0^49dp+qch>~JjyHNgv@)2Y41`=8V|UJq8|w`ViE$3LsUDDM(sew4^z8eZ z(;=05Cc*y3*M&MyA-LG3$P3Ao-P<`>Cv31jJ|>xpU$3{kVI&}|nm)S@&*`2`tZ&MX z=xwXCvDkL90`m;Kq0o{Rk>}e$`ErhVp)e{v*{XD*>X{GM5yB z4?ZAAF9b^uuBA~f|KO!Cewz}-AyqJNae>32RES6{0#342&_wthi&eqmC{``}l++m} zXviL9q4X_rQuLNAMe!;`0uF&C;8aLNA_7Cest~d8JCUe@$B-z8UW-sVmi+i|Dp))W z#gSAn1Uv$RC#hiJ3mB8-7)sQ4HOl#64CU2#UJy@&GIT)&a;uGL@M{Fu{c*eH#G>=y zfmI^jde8O8FKQ|o_g5UK6jVyBc=BM@tsyt)toe;m%UiY>v9a%+j8YPFq4fsoqn}s! zzNde@TKgm9X~{|JeW6{M-no_!k=IPx511t@_|=Vyt?fTs_#juj)H8N&RVnX%dDln) zbHllZ-Mh1$bILNw65Lx1ZizCu*D0+!9cZXfyU1CcTb265ch939UA4j1;)H7zQiebD zb}^R+iO+Ce8II_y!^%#mo!=EUv3DrpQU0Y={=1izzP)6jc;|9SohWQed(JGrYwL91 zpoG7qm^#T`wcz^8T|#GiZ_1JUqi_b$p6{)GQ!_W~7lfvZf7p{hUS5q1%^i3>TJ-GT z*|KDW*AL>@chg31-cWBwWp3eY&R>3 zvGfWPz0m2RcVN7woU_qX>FzvTSxWL&B|E4g7BC;ux>}} z{V+;glDT4YW1)+%?C7BC7SZ4znQr(Vy?_{d|2s)??>dF677xVlV1y9g>At_AJDzvE z(Z7S`q9>`9bnAl>Z?H2}I$ElbR`E{h?B zeAk1{51;xlzP#-!(|~z)=1EcI&OWvg<){K6F6Di#*3oM}J73Qft{d&7J9ZuwTi$kP z?{jIaS7qkzXP)f1H4tB)w&E8G;5HFnBsn>eLx&5y#i3bDrPRUBXvpu2rQ?hU2>=VMCv z8aIWqPN8i7sR0HUQ0#untB>V0YNaP%_T1XeT>H%}_(;^FXI}i;>h_~9{VQng(KaKiQx5EgFY&$#rE?2h8PVh8tdga-y#4r32PURt{g zZVMavtAA!?OHsP68vWADf0s`T)GOe_@96fZuXe9*YPU%KH{}A!z!c<9;*xa?orMuf z_5Zj{BVj41P6@t^C0MhlT6={ChlhB0g(6TS45jgzGGq$?JWw4sz{a4Da6-Z8ZcpT) zLIBtXzzb|s0I6u}mh@;OsRj=M#~Inau)gnKn*GW6rHCR2VJtuyXigg7;zN?Civ4>A zG?K6}gE|YqBSF|uI~tD0R8v5sup2Fk^vg8RC>&JE0^oyC8&nWzB>EQ~@;5#j`TPCX zI5hf~8KIF>)xh-7fAI0Y-~WvJgZ~T9nMF(Mzl%l^0kUET)S=z1z^K(?3#ACcFnw+y4075IXhGk&ff~q2 z2!_pV18zgg!hj|;!~={%^TIF;vS^3eJ1FxhJexFcBzC<1U)=G7p7VIToOLjX5S z8Ycp?^<4sBgZ8ll$eJ%A051TbH%K282NY{|i2>{YfTa%HS(76UZ~(uk?5vqaz&(%! zJHSr00yL7iVFeDH0LRvicgjcwF9lJ@4;_*Oc;FWv2$BR803!5I63~E~^ z7LerKFpz)D3XP|l6-8!^n+J`i+6(ovnChBTR?(EE83hO@2k^k;zqH9i=`sKZG$aG4 zffx*xdNGJWQz=XEVK!{!AJP~UrLjSY9zKqNnoywVhA=Q_DjgVxf}Y6$22ipRz*5s9 z2e<%as!>xXcfyhg&VTF*jiIu<0fs{+{D?#l(S(hENCcWd?fmnDgZnW=s)_#n^DhqJ zuMv0*)x4=cXadHW<-ZxR$QlO)00n|rR86W9UF+j#8Dzw<#QB!IORl3gwm8sz@%wnh z?Aoyhv&WW%jS|u=!4rz7k4G16JF9b8q6gTr7ZF>+$~-=Cm+!a^nKx@!^>I0U#x`Eb z>|KTF#!__pDE-GA5=u9f@}!~T@GiOSR5CNK9ZT9y@Gg>Z>wbimQWN+1Mb7lOLb}12 zScH8%c)AeO4o=ZGSC-B~VX;jh*DHl(7jpRhO)|SFH15Zlr8Uc2-xbp<`VqKL?6!qi(AIPxobw>%iOz9B16Wi_m_Ut zpLe_efaT?apP2V8 zE?QiYyYZs1aJIXrnmkPo7bJJXRal@B z%`%}UZ(6fbueyhQR87=daQBN-X+p=gcckr_)o{vJ^KtlaYBc#kb>zedC><@D5gCxj zXL5Xv@#v$u9nHxes#iY_pZOAVC_Dz$iLvQq*M#)sIKz#Hjg&>})ydIqVXIeECVtr4 z|E$|bS&L%G#+TZ8u8d3e7u@U)%P_o}(>V)%8u`S~hV>!h@x{WQpAvP4jvyNbiVB|RStt9or?!)5|(V~6!yf#IG<;4Q2)7pbYOQDC0K6sN4s6F4N+7R*J zb}8r*bH416V(nM$Q>c#1hmY%4cA5{J?4NwwYXe-sd8|9udKGYYO>6Y0?rk`3#bG!b z+52$2K(g+AkNrIJ62s$;&(9dCjh-wy7N;D}eqDMH$cIwbN%QgQYnBc#8unhujc{XR zhsKKEjJ6L(H*6C+XK!BTKrVkAGqa`Yiui7aYI3imuP5KD6a0p+T=v|Xerc=4USF}G z8En8y>bsGI_v0_>dJ>{MSFN>lJRnxPB4R1&*n%rMP?oVcO)meP?aXH>S*GMR@XPus zCB>!4L02W)oSY%;iouN4#)o{a9?0|OUd(lwgd&S5=o zuGsXgT_C=8>K7{3A|87EC@gc;*kge5mSZKV_x&-Udt$ujhhNO^iJtTQ-o?%k=fo4# zCF*dEf#-@@$x~PJ<=6K<<&ns%H~hZ4^~HRX@hKIR!n)l3nUKkJEdS@1h9?}XYxiq_ zpvCkWZ&fy~{?{#sk_X3*ON2b>(A#l3YGq2uddNTe`(jM9OQ3{$d`ZOZV2iND*=4R)KRYjpy7ThYnCk-U;vf#WL9Qmj4X^`ver4MK%Vg0wR1J)*E)3$(zjkwn z7@&t2w~-_NO%#Wr66LM2J_hU)198}2M2GSKEWnHVl@0w(75599a1l`8f}AiQ8x)`e zAfVH?fyZ#-xE~Mhs5w#!gp=Uxj+#T%Y@Y;h0Gzi~Yr;JtQ$T0s05QKGX@C|QVle%>A`~&Aa!x|Bv64DyOHa&s2T)$ z1bg}g`5@335_HlOB-Fsj7<%fuyfmqJ8@WFXUaJKtNsq>3YuYqHD|&b`A^3!bg#Dcg z{!Ma2BdRvRdxQMod0-{sf6@C(LUw^l4*k5A*hrP|THc~BU zWiPlLl2-$9HU0)56FpU2VaA|52}{lK;9~0ko1cwZ=WqSu2{nDjpeM-i%j_T>Q&13Q z%fS>B#b606s&;;!VZNcTynZLue=ly61>%V{*G<6-^dJfi_257h6lnp%MuUX1EkH%y zUvvK>9wIbg0jdKeh}RMfgqt`^Fa&PCT7qG4<8K8@$-wm`bzyLQx4{8iw{1-OcUcDK z-jp&KKIp9_$gGNDQMGgr@d^rqrT@FWH1+cgh4XyOh7tTT5KsDVAc)36FRVamCU~vC zBpu)Y3PC*9pdUy;LdUE@6KdOT4cby$i9NsC$X{(u&mM3dpmwzG1$RQqjvyZ-Vha{S zJ=CW`TaaA|^{f7r^YC>)80HnCphA>~r`pgO;(tIA6^Mnl*?|F2q!T=rVh28hH1~mg zHAn105P*vJ!A=$L04l-)Dt7>*Awg#tpymkb@uEn-N?Eys?mk{BR7xl$6zd4`Dmud% zw_l)N7%YZgoj7^KuLnQ*e*{7xK&pg5sU7aXL5Qo+#hK!UXQfs$GKKxQ~}SnUI` z01CS43`$^#RB8Pw-F|EJ_vsLt@VlHRZ1^Qy?ffzuDA5^|C2a_VW~oFfhqS~tZ0mQ) z1=}0}%6A0$>8Z=3G9X5zPC_$ggDDu7h=S5>K@q6b85EO)kBt9^sP7dDOCG&3_@9VP z#6n-4K}pHqc4`qG7T^~IAGDweznyuvdm#0dh=E8h;5z^V3Aw_G$3cd!ppgt5f>3B> zBvuxQl$BRC5BAh|5A%}KSA$PN;6n~H3iccr0jh8XyWpS|=LV9uU7NDOp}+DpJu zori(hW1vYQTA<@)> zvVXf#Xbiq)yEkYFY{6i#Bq-1a^nkV2;{(dTXDQEoKwgN=7vzPtBH;_lfbbp*w>;23 z_&*R<%ONU|@EdsZ7h)3?1}l%-4@O+2!idyo7!M1Ps4W`aHsL-#8vc=35*D`1BtK9V z=AaD5Aj3i8Z+4M56cIjUrG??)I}KVGj#d)zSON()^?&KX0cT5_Mu) z*}-Nzk&2 zN8+jHP&6b+n@xm-hquL^08oaEqv4v$;if4Gc-UrX=o0X#P1=TG)Y$*e`~>{QE>8>l zZKCAA){4PXuNeM8#AArGu@DL0;88b}fAO%J?FJ9K`6fIR@?XCq!({N-|BU26!4vSX zkZC3%z=*Wcg<+eV5|6`DQ?q{=gzaS$42waMX~l}ip-8mx0*@oXU$UenxY+|>d&AH& zh{q9W)ek!Wj=DoqKji;bjE865G%+4c*bGBb_i^gyudx_vp7Sq^fTX7Q|HAM@>XpD> zFj)S0{Kf(6UqC91wAmM6%cM0{JOQ)Gfbj$rnl?`230P|8^zR%b5*AIS0TPhJKSA-o z)xq>Ot(btqV`*1RfbT{AT^$lhK$A8ZApzc_|EQDvdxu97FtD%FGJ{3pX~j>#ZrX>D z1U!y{wcbf>JvDEvdfAQdSY||td%qA}(V2ISp;oq@XH2!~T`jue8 zCQYCgHUA>w;FKBaIRx)rw605ljhjZ2uoh^I8&*Fazu6@I58Ebe&YxguW2v<&_47Y3 zB@ob?B0PbB+8mb%SXw)VHHhC7S_p7zwn;z)B8@CyEfEML+VFsaFNZhT9RccLUUnRh~5|P$RVL@+ldm;+nd}uUCL~T|-5ksI}L;f=f5l%sAosR_P zwtrOopO=#0`y*OgAd%3U?2bgj;r|T&lf%OC5t zt^@^FDztG41s6uN>V%CIw*UX={V9Vm|3_TH65%2Qbr|+i8nvQu@ZTY9;t2b@#sHm{Lf2aL@b_Gt+>tG9E`UqV}@ay;xQFQ>p(D! zwp?R`D=GqP6j0z{P?QW`?pX&1!$&R~HuIkOOr)*1{?6j delta 14528 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 C6cQ@{ diff --git a/docs/document.synctex.gz b/docs/document.synctex.gz index dca4e74b0d8255874b24455700bc0258f590df42..b6a3e9fb94f34f1ec7e5db5c0ce2130dd9bd2612 100644 GIT binary patch delta 40935 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 delta 37119 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 diff --git a/docs/document.tex b/docs/document.tex index e6d6965..6ef81f7 100644 --- a/docs/document.tex +++ b/docs/document.tex @@ -319,13 +319,14 @@ hmargin=3cm As the efforts of the computer security community grow to protect increasingly critical devices and networks from malware infections, so do the techniques used by malicious actors become more sophisticated. Following the incorporation of ever more capable firewalls and Intrusion Detection Systems (IDS), cybercriminals have in turn sought novel attack vectors and exploits in common software, taking advantage of an inevitably larger attack surface that keeps growing due to the continued incorporation of new programs and functionalities into modern computer systems. -In contrast with ransomware incidents, which remained the most significant and common cyber threat faced by organizations on 2021\cite{ransomware_pwc}, another powerful class of malware called rootkits is found considerably more infrequently, yet it is usually associated to high-profile targeted attacks that lead to greatly impactful consequences. +In contrast with ransomware incidents, which remained the most significant and common cyber threat faced by organizations on 2021\cite{ransomware_pwc}, a powerful class of malware called rootkits is found considerably more infrequently, yet it is usually associated to high-profile targeted attacks that lead to greatly impactful consequences. A rootkit is a piece of computer software characterized for its advanced stealth capabilities. Once it is installed on a system it remains invisible to the host, usually hiding its related processes and files from the user, while at the same time performing the malicious operations for which it was designed. Common operations include storing keystrokes, sniffing network traffic, exfiltrating sensitive information from the user or the system, or actively modifying critical data at the infected device. The other characteristic functionality is that rootkits seek to achieve persistence on the infected hosts, meaning that they keep running on the system even after a system reboot, without further user interaction or the need of a new compromise. The techniques used for achieving both of these functionalities depend on the type of rootkit developed, a classification usually made depending on the level of privileges on which the rootkit operates in the system. \begin{itemize} \item \textbf{User-mode} rootkits run at the same level of privilege as common user applications. They usually work by hijacking legitimate processes on which they may inject code by preloading shared libraries, thus modifying the calls issued to user APIs, on which malicious code is placed by the rootkit. Although easier to build, these rootkits are exposed to detection by common anti-malware programs. +%I am mentioning the kernel panic part because that could be considered an advantage for eBPF, there is less worry about crashing the system \item \textbf{Kernel-mode} rootkits run at the same level of privilege as the operating system, thus enjoying unrestricted access to the whole computer. These rootkits usually come as kernel modules or device drivers and, once loaded, they reside in the kernel. This implies that special attention must be taken to avoid programming errors since they could potentially corrupt user or kernel memory, resulting in a fatal kernel panic and a subsequent system reboot, which goes against the original purpose of maintaining stealth. Common techniques used for the development of their malicious activities include hooking system calls made to the kernel by user applications (on which malicious code is then injected), or modifying data structures in the kernel to change the data of user programs at runtime. Therefore, trusted programs on an infected machine can no longer be trusted to operate securely. @@ -338,27 +339,48 @@ Historically, kernel-mode rootkits have been tightly associated with espionage a %Yes, I am not mentioning that eBPF comes from "Extended Berkeley Packet %Filters here since apparently it is no longer considered an acronym, we'll %tackle that on the history section eBPF is a technology incorporated in the 3.18 version of the Linux kernel\cite{ebpf_linux318}, which provides the possibility of running code in the kernel without the need of loading a kernel module. Programs are created in a restrictive version of the C language and compiled into eBPF bytecode, which is loaded into the kernel via a new bpf() system call. After a mandatory step of verification by the kernel in which the code is checked to be safe to run, the bytecode is compiled into native machine instructions. These programs can then get access to kernel-exclusive functionalities including network traffic filtering, system calls hooking or tracing. -Although eBPF has built an outstanding environment for the creation of networking and tracing tools, its ability to run kernel programs without the need to load a kernel module has attracted the attention of multiple APTs. On February 2022, the Chinese security team Pangu Lab reported about a NSA backdoor that remained unnoticed since 2013 that uses eBPF for its networking functionality and that infected military and telecommunications systems worldwide\cite{bvp47_report}. Also on 2022, PwC reports about a China-based threat actor that has targeted telecommunications systems with a eBPF-based backdoor\cite{bpfdoor_pwc}. +Although eBPF has built an outstanding environment for the creation of networking and tracing tools, its ability to run kernel programs without the need to load a kernel module has attracted the attention of multiple APTs. On February 2022, the Chinese security team Pangu Lab reported about a NSA backdoor that remained unnoticed since 2013 that used eBPF for its networking functionality and that infected military and telecommunications systems worldwide\cite{bvp47_report}. Also on 2022, PwC reports about a China-based threat actor that has targeted telecommunications systems with a eBPF-based backdoor\cite{bpfdoor_pwc}. Moreover, there currently exists official efforts to extend the eBPF technology into Windows\cite{ebpf_windows} and Android systems\cite{ebpf_android}, which spreads the mentioned risks to new platforms. Therefore, we can confidently claim that there is a growing interest on researching the capabilities of eBPF in the context of offensive security, in particular given its potential on becoming a common component found of modern rootkits. This knowledge would be valuable to the computer security community, both in the context of pen-testing and for analysts which need to know about the latest trends in malware to prepare their defences. \section{Project objectives} -The main objective of this project is to compile a comprehensive report of the capabilities in the eBPF technology that could be weaponized by a malicious actor. In particular, we will be focusing on functionalities present in the Linux platform, given the maturity of eBPF on these environments and which therefore offers a wider range of possibilities. We will be approaching this study from a threat actor perspective, meaning that we will develop an eBPF-based rootkit which shows these capabilities live in a current Linux system, including simple proof of concepts (PoC) showing an specific feature, but also by building a realistic rootkit system which weaponizes these PoCs and operates malicious activities. +The main objective of this project is to compile a comprehensive report of the capabilities in the eBPF technology that could be weaponized by a malicious actor. In particular, we will be focusing on functionalities present in the Linux platform, given the maturity of eBPF on these environments and which therefore offers a wider range of possibilities. We will be approaching this study from the perspective of a threat actor, meaning that we will develop an eBPF-based rootkit which shows these capabilities live in a current Linux system, including proof of concepts (PoC) showing an specific feature, and also by building a realistic rootkit system which weaponizes these PoCs and operates malicious activities. %According to the library guide, previous research should be around here. %Is it the best place tho? -Before narrowing down our objectives and selecting an specific list of rootkit capabilities to emulate using eBPF, we need to take into account previous research. The work on this matter by Jeff Dileo from NCC Group at DEFCON 27\cite{evil_ebpf} is particularly relevant, setting the first basis of eBPF ability to overwrite userland data, highlighting the possibility of overwriting the memory of a running process and executing arbitrary code on it. +Before narrowing down our objectives and selecting an specific list of rootkit capabilities to emulate using eBPF, we needed to consider previous research. The work on this matter by Jeff Dileo from NCC Group at DEFCON 27\cite{evil_ebpf} is particularly relevant, setting the first basis of eBPF ability to overwrite userland data, highlighting the possibility of overwriting the memory of a running process and executing arbitrary code on it. -Subsequent talks on 2021 by Pat Hogan at DEFCON 29\cite{bad_ebpf} and by Guillaume Fournier and Sylvain Afchainthe from Datadog at DEFCON 29\cite{ebpf_friends} research deeper on eBPF's ability to behave like a rootkit. In particular, Hogan shows how eBPF can be used to hide the rootkit's presence from the user and to modify data at system calls, whilst Fournier and Afchainthe built the first instance of a backdoor with command-and-control(C2) capabilities, enabling to communicate with the malicious eBPF program by sending network packets to the compromised machine. +Subsequent talks on 2021 by Pat Hogan at DEFCON 29\cite{bad_ebpf}, and by Guillaume Fournier and Sylvain Afchainthe from Datadog at DEFCON 29\cite{ebpf_friends}, research deeper on eBPF's ability to behave like a rootkit. In particular, Hogan shows how eBPF can be used to hide the rootkit's presence from the user and to modify data at system calls, whilst Fournier and Afchainthe built the first instance of an eBPF-based backdoor with command-and-control(C2) capabilities, enabling to communicate with the malicious eBPF program by sending network packets to the compromised machine. -Taking the previous research into account, and on the basis of common functionality usually we described to be usually incorporated at rootkits, the objectives of our research on eBPF is set to be on the following topics: +Taking the previous research into account, and on the basis of common functionality we described to be usually incorporated at rootkits, the objectives of our research on eBPF is set to be on the following topics: +\begin{itemize} +\item Learning eBPF's potential to read/write arbitrary memory. +\item Exploring networking capabilities with eBPF packet filters. +\item Analysing eBPF's possibilities when hooking system calls and kernel functions. +\end{itemize} + +The knowledge gathered by the previous three pillars will be then used as a basis for building our rootkit. We will present different attack vectors and techniques than the ones presented in previous research, although inevitably we will also tackle common points, which will be clearly indicated and on which we will try to perform further research. In essence, our eBPF-based rootkit aims at: +\begin{itemize} +\item Hijacking the execution of user programs while they are running, injecting libraries and executing malicious code, without impacting their normal execution. +\item Featuring a command-and-control module powered by a network backdoor, which can be operated from a remote client. This backdoor should be controlled with stealth in mind, featuring similar mechanisms to those present in rootkits found in the wild. +\item Tampering with user data at system calls, resulting in running malware-like programs and for other malicious purposes. +\item Achieving stealth, hiding rootkit-related files from the user. +\item Achieving rootkit persistence, the rootkit should run after a complete system reboot. +\ +\end{itemize} \section{Regulatory framework} %MARCOS-> Is this the appropiate place? Looking at other TFGs it is sometimes here and others in a final chapter +%TODO - Leaving this for the end + \subsection{Social and economic environment} %M-> Mentioned talking about community outreach and its role under pentesting + +%TODO - Leaving this for the end + \subsection{Budget} +%TODO - Leaving this for the end \chapter{State of the Art} diff --git a/docs/document.toc b/docs/document.toc index ca86eae..72c549b 100644 --- a/docs/document.toc +++ b/docs/document.toc @@ -7,19 +7,19 @@ \defcounter {refsection}{0}\relax \contentsline {section}{\numberline {1.2}Project objectives}{3}{section.1.2}% \defcounter {refsection}{0}\relax -\contentsline {section}{\numberline {1.3}Regulatory framework}{3}{section.1.3}% +\contentsline {section}{\numberline {1.3}Regulatory framework}{4}{section.1.3}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {1.3.1}Social and economic environment}{3}{subsection.1.3.1}% +\contentsline {subsection}{\numberline {1.3.1}Social and economic environment}{4}{subsection.1.3.1}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {1.3.2}Budget}{3}{subsection.1.3.2}% +\contentsline {subsection}{\numberline {1.3.2}Budget}{4}{subsection.1.3.2}% \defcounter {refsection}{0}\relax -\contentsline {chapter}{\numberline {2}State of the Art}{4}{chapter.2}% +\contentsline {chapter}{\numberline {2}State of the Art}{5}{chapter.2}% \defcounter {refsection}{0}\relax -\contentsline {chapter}{\numberline {3}Methods??}{5}{chapter.3}% +\contentsline {chapter}{\numberline {3}Methods??}{6}{chapter.3}% \defcounter {refsection}{0}\relax -\contentsline {chapter}{\numberline {4}Results}{6}{chapter.4}% +\contentsline {chapter}{\numberline {4}Results}{7}{chapter.4}% \defcounter {refsection}{0}\relax -\contentsline {chapter}{\numberline {5}Conclusion and future work}{7}{chapter.5}% +\contentsline {chapter}{\numberline {5}Conclusion and future work}{8}{chapter.5}% \defcounter {refsection}{0}\relax -\contentsline {chapter}{Bibliography}{8}{chapter.5}% +\contentsline {chapter}{Bibliography}{9}{chapter.5}% \contentsfinish diff --git a/docs/pdfa.xmpi b/docs/pdfa.xmpi index 5a6f558..3ec9458 100644 --- a/docs/pdfa.xmpi +++ b/docs/pdfa.xmpi @@ -73,15 +73,15 @@ LaTeX with hyperref - 2022-05-21T16:55:20-04:00 - 2022-05-21T16:55:20-04:00 - 2022-05-21T16:55:20-04:00 + 2022-05-21T19:43:12-04:00 + 2022-05-21T19:43:12-04:00 + 2022-05-21T19:43:12-04:00 uuid:467B87E0-A1EA-A037-7CB7-0477245DEBC3 - uuid:359875B8-13BC-D4EA-AE90-1C5D9D70EC50 + uuid:7491DB15-2A47-CCF9-0B6E-0E86EE0645C2