From 6b1c1f8e5b3fcfb5d00348b63cd3192b99659f19 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Thu, 6 Jun 2024 23:20:04 +0100 Subject: [PATCH 01/32] chore: Implemented code to make UC3 comply with ASVS 5.3.3. --- ...e Case 3 - Implementa\303\247\303\243o.md" | 34 +++++++++++++++++- .../Use Case 3/img/endpointcall.png | Bin 0 -> 16882 bytes .../Use Case 3/img/exDeInterpolacao.png | Bin 0 -> 14406 bytes .../Use Case 3/img/searchbar.png | Bin 0 -> 151478 bytes .../Use Case 3/img/validacao.png | Bin 0 -> 48415 bytes resource_server/pom.xml | 6 ++++ .../backend/api/ProductController.java | 6 +++- 7 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/endpointcall.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/exDeInterpolacao.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/searchbar.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/validacao.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" index 55dcd784..413b4ef6 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" @@ -28,4 +28,36 @@ So that I can easily search for the product I want to buy Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necessários. -## Implementação dos ASVS \ No newline at end of file +## Implementação dos ASVS + +### ASVS 5.3.3 + +O ASVS 5.3.3 exige que a saída seja corretamente codificada para prevenir ataques de XSS refletidos, armazenados e baseados em DOM. +Assim, existe dois pontos importantes a considerar para garantir o ASVS 5.3.3: + +#### 1. Validação de Entrada: + +Quando o utilizador filtra a lista de produtos utilizando a barra de pesquisa, a informação escrita na barra de pesquisa é enviada para +o endpoint "product/search" do "resource_server". + +![searchbar.png](img%2Fsearchbar.png) + +![endpointcall.png](img%2Fendpointcall.png) + +O "resource_server" é responsável por encontrar os produtos que contenham o o texto pesquisado e enviar de volta para o frontend (client). + +Para garantir a validação de entrada, a informação enviada do frontend para o backend deve ser sanitizada no momento de recebimento para garantir que não contenha caracteres maliciosos: + +![validacao.png](img%2Fvalidacao.png) + +Ao adicionar esta validação realizada pelo Encoder, da biblioteca OWASP Java Encoder, garantimos a sanitização da entrada fornecida pelo utilizador. +
+
+#### 2. Codificação de Saída: + +A saída da pesquisa (ProductResponse) deve ser corretamente codificada antes de ser renderizada no front-end. + +O código Angular já está estruturado para prevenir XSS, pois o Angular automaticamente limpa os caracteres perigosos ao usar interpolação ( {{}} ). + +Ex: +![exDeInterpolacao.png](img%2FexDeInterpolacao.png) diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/endpointcall.png b/Deliverables/Phase2/Implementation/Use Case 3/img/endpointcall.png new file mode 100644 index 0000000000000000000000000000000000000000..3ead190ab9baadd39b11492ebdaabc445bae3096 GIT binary patch literal 16882 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 literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/exDeInterpolacao.png b/Deliverables/Phase2/Implementation/Use Case 3/img/exDeInterpolacao.png new file mode 100644 index 0000000000000000000000000000000000000000..c5663768206729ff6b3774a80c4a245617162c7e GIT binary patch literal 14406 zcmajGcUaQz+dghn&D6@$%p6TCS7mDM9BG!@(wwx^oH$YxMaanW5$A_=YoewEK}n!Hsp(h^l~Jzml(>kc!@~tob=!T*~q50m`eLCmBEIRUg>Z zK6@Y|tn@rCP6~5*{ME@kR2Rs}*y8)_oP1+8&rZXgUID!0G_aJXKD!$8CqsW&V`Nfe zIF#*hXL9vJ_oD~=SqTWVvsoF@JGbAK3mWsM$bb3yqKvr(@_DXs2yPa2p7@c{Y+eNRG454EkKs*+k?k*THX;X_#HluEmu22htDU1{R% zKR5S+LeLt38v-YYcXG7)3tDW(FAu;cG!}~II4kql+5 z)K}L~tAA-Ioo3JQj}A2uduM(GV-xRI*{*1F7taXMJFW9N!`fTe`S#(PDyOgwPnm_0 zuFi~VArlm5|8g)q;Oebp)~L?zc~AdY785q#LA~`}l&R10H8gxE$az(x>je(L_@Be@ z*ZTQr0{e_#T(!uP1op0jq{){r#Q|0FX%eJ@*W)q?zk6*AVjXrOTDtbPdI`z|&DT9bPZG^O`CAa%v zt{XK5U4gb8pTWyJ(XmLMgT-y%ChQ24w59?DeVD|ZYw6PmrnY{L7V>B94CMoTeLGdj;9_X5{(y->!t!qlExwlSn;qKZ5uXeV7U zQNaWiUmmL4$fF!HkzkXCqO>xAO}4*iI=d(8SiVh_{!V6XFuaw7`1Wf!QSyJ) zmya5jl@KIXG(vW}*FtJ1avvL>AAzNRC&msYjWs)FH`Pk3=!T%!_#hP9LqBGqkj8T? zysAC`=07WiITMIF?Oht|3c>?cSQLqbmuE*TBpyPSy@rd-KC|5A(~IvUq=!H4F4pl3$-rH z@1xHUcGS>eFLWe+9xGiLS00wM(jG#bz;`CGJ6pnsRd7~yxA~m^;#z!}2%g8TBcqBT7XF~yfs%0@{qd_SlWG6& z_$84WSUre6?xC(VOfMh@6Yz@MuwrrHm*Tk1bG$=3OXfgV?-d_o$ZEq(o_2UEq>{@S z(x=v{?_^w_;ipW{;As<-h*YVai4>_r0Q&WKi>J9~7VbSIpOQ8^Sd=M3&%fF(Ravv- zf4~TkQT*7L*j0$<0pk!_hph#c%bDS!-*K`hd~e^3Ej5CZtVL)ohbcsdxLuG zTAq72)^Nyz|D_a#0IY!$YnPS zFNJ=M(WIjlf2Ez<*DWeNC}NfvaP3vx!s-3PrT1h5%uk-igwTSmeJ4#y$(H_Ahg%)V zhl4R2w(xx`iR9(%qUVJ|U}M1RSH>YGd)Hug)A^!xv7m)-9smwb28IH?a6XC z-Mt?~eVD2NGT32ybsB3Gg)^?V5k*D`(Os^t z?ee{F*BqaYR8v-LP*I{Mt;U%G+jv2^rF?A7@sk%kwcAW@1tBq2903wyORIA$w1$X=B!-U&^JYz*c;u zO}g>7Rq~{}09BO!w~lMH{;J+$aI_-t)n~G-z?p!Y@yaG+)VQSnK0q<`MHWkDuxmnL zz|I7Pl8A|RxD%Kq$Oqrs23Xu79K#oZMxDsm&-R?SvL2Kbo!UZF0yVG1)c1?i?@ZF@ zJw?=F-K7B%nXK>zaNPEKqkmQc`&na?tCCnlwQ7_^BfD~CEDQ{q!u32m7(t;jONUkw zGnxh8zq%5ZV!}_gY8#_mOa8IASakw-Kx$7lEJzB6aDU-`h@?oOj|DeohmA=K+Q1m) z!|vg)e`y|UuWKQem<^nPHn)rh1{Z{d4fF_VeJz8p#(WBVj0BNy>j-E3W}HTH-dSvj zBC|K@qmPp)=TQ6Ed0QojLWLn#YkWuodgbS)MT>M~h9=hEw?*>XESZ>z`}P7%@+94W ztZ`QV3PG)SIjHfxizg|^Xjj*IVvFu~JT}jx%DMSb-TmM~J(ZO@Q=jHG+Wou9Q-T42 zw0E|K&#Drua{Dyw;mE2J4aKHkQ%b7Ny{0F$Xe#fsTg={}d#ZW=b!iIhRRYMUPWVd* zATESrfZQ75jM}ZEwUC}_i+7XR;W@Z(IL!R9QX4GpH9mbz?p3pz#b079TIRR*q|JC_ zmJjoc>~8*2QjR3C-)P#W1tWJH`Ez(Ha89=cM{Nc;)MXZTrO5~;k%r~x*geYx_7PL0 zxjY2x;%gr3FdaC65G(UJk3etkjTA%3@$dK|L|00&P4no{SiVF##_A^+%R1hPa!!n4 zwZ9bQb>BK-W{Tt|#9d`$?!J@Q;uO%U2%QNfEuR`8x>_z(PB^cC#A04J*JSfeNN6j_ zFEl_%!Ovi{Ju5j|zS18>d){=r$+5|q{%IKfELqUk^a`wZjEf( zQ5Te?l)?(+?+_&TL)=RjqPOR-cVD=Q4v1$~-PH=X2({&MEas}(HawSW29!37!D=y8 zG;%gM8&F9oW}`moTJx;vo5XTng|0&k9t{l>yhSm*9aG}r$f~$GIcAUh;z#7jjI=o^ z8M?3pkFcb7@N2%WCP+cY31Y=JJpA~{&!-sgXv9wgKT$nZcVZAUi3A8A3w9;iikCM+ zJrb`-&&L*mzXM`Y`4jvTauT~ssZuU78zH*5noo1)gIzl&dFxj8JV;!mgt*z(lljRX z@(KcRXa$Ma;U-sFX*bnp07ShNc_*IF9Q+R2u~b*IUdixIlS?*tj6}R+Ph13MbA9K+ zM*^X4tQX&yKGNF(72Ji8yDI^_J^e*&A?y#VRIZJ6QwB?xDdDQjh25=WdmCt#F=q-P zZ6xvpx&Ij(#l~eTjm%=IYKzV<1T;0rf1n1jE^*vY<-EB#rEKUO){@hBGf9_%(;DQc z-FZ9^rZA!XeJzT=+V}?(w$KfjcG!YL=*-LNg*Q#q7penonkgH<9x?P2Kg!4}xy$;^r@j9*DT2rOob(-j-a+V3P* z`nh_Us1EN0g})~xG0$ObdZ#f1pV~KjkLynnsExK7-D*9;?(x=7t&)~m7k(Sk zqgF1ls}843Lwp4yu_pM1jo<@+)RCME2zelf*b zg0#?lkg!!#3UcD|6t<=jd+jo|!J)XsYhl@}wmkfI^W|m(Z={p1P{>?VVa(}WkTf?W z?pJ!0;b*Ce;c(3aBS5nc)ess8E75B#Z9RJ`SU*bl!V0m=S~^kuBeUTIF_Aq*uXngs z`7ovLR={T)2x0461TJY{TVk{2v;#^e&4*_eMClSAG8J5%taXpYkRcHLPY8sE@Ip-~ zbL<|`3N;|eIrxlB)u7aFMChPJXuL_fdl1Nh#cglPwFQLAS`6PR7`nVQ>@{UEdX3*= zt_%t9x6*Qcy$>6uE%7$tP-7H5f$eqJpi#`=VDDTVlV4u!s-(-C_#mCCk{cZUP-@wM z&mr6m?NH9l5t-i|b{mm>#`?Hle3TTpmVOoM%CZ~YlfZu4U+;e#njUOU!e3L%Ir8Lq zug*^FJ^4|I(Y7~B%%=89DN_6ptJw_#fyh$H&65uU*gOHtw(WGB&Oo5kTkT+Sg9Yc; zLX*M3C+MZ)DZoOfpQ#DnC0|9lZL21K1==4b`OUg}w+Ze+7(lHc%;->A$dMVMnAu|4 zTon%CQGf=-$;|QbNua%zhCt`6Tj)l1vNc~D;yZ3|zo)Jlsw-9+Vsgo|AHQN+M#a$_ zR7gn_@Hs^4J2`~rP0bQ}N~#Ol`!pQ4VV9l2UJP8X3nHNax$QaKW>qNE zqiweWTZQu-NJ#s54vU)@7!P|VLmY$GiR^3@VTW!Mx<@@T|K+@OL&v?V?Vd$*X{gU^7)ARf8SE7fQ8b_02%;RkJCHjt!o1J=m-8C z@vcL{_HGs!J-l^@@pD?E?i+#^ryWjq2xYJXTbI}MLrK-`b&m@+9{u5BooQ;XQf=7ZHT8H+=L{^4wbZy%hR> zK7hHKphQOl{+z~&PaC()jtBh=e^bjb-$t;DFo-a{Aorse*hd{~V2T7>I7q_3ZGJ!1 zRF5E7e;{u03OSK+wm@CW-+rlqc|}WDfB0>W?T`uI5~Is_kzI}~N=(mn(ZM%SQ_1YH z+9>jmoK5=r(Cw-EdNXr z+p0#t!UU5#rgI^8%#Nk-e!-kn@TW3?-JO?gHDwrV7RBTDX?m4PK%77Hc=C!95t=SK z3r23XPptEC?Gw{Yrsw+ShOpf`P%+dYK_dvouj4b6ZTBwop7P8%$MFaa)fuSMEdNi< zFw0z+?$kRwsngpaE0zYTx>6(dO_apb3g%`FYxK`R=(f#l$i)eTVv?n?)0W@eoqP zcAoqFMG*F6^>!7@HEzLO=sHdP(w;U^c8Mw=rHA2T*70KzJUVC#NF!iu4GX| zj4i{GMuu?3uaKtx0BIa1Mf;1^$F;z!spD`q$mb}b78S378 zF0=WgK}<|FQ^D;hX#~FH0Nij=sOu~J3`qGG5syB2_Aespy2pg~MXj#qX=^ZVK>Ctc zWbvpTdhqa6haD}F8Y4fsMBt3+7-DgN}QkmAIOkPWl-u{L0$(4?K1%+V1 ztv$c(6A^?8?|Mq#EW45w%5PrkZO#T7`1*KAH777rDF0eJgf@4*~xLjlXpN|1t7^ z!l=t*q}z6xWS|zKVIgtD)b^ zy`ECmDUYtqQu#Y?KA!_Ek7gu}#Wc7|=6 zG0@DP4`Z#lnN;qfBrvF&C|6s(9OG(@1U$=}eLq)gbV`V>+D@4knMh)z_D)`Z{B5;U zKF=xJGgKM^V6wR%bKY^Wib(1ihdqF^MUDGuj z*+6b-D^qse)4~*wMuNtJ;9`vXNYKJz3^%GJIK0!cDj-kP(>d1GFc1=zF2+A&suU+V zKjhv}O;c>!HZq5da)$ScMrAA;i1 z0^2C(FU!);djYZ_LyN@B$Ja|h4UM@U$6(fd{bQn@d9V5B-b0EB#7A5N5tC<%Y*6Hk zcj0-i)^FW;-HQh>KJiIH^e8dQV!_E)C*r1Y-pG_8bfAu(NDn9??so# za77cE!%O^=>63D%C@bp8AYU^BL`s1kGtRHujYx<=@!lsok zk!qnc7x2oy$tPBZ-+U;krWe=Gr# zO%!AY%ViHx2Hxy5f%Gqnqp#N2ikYzTtYXknR22k7zLzAHdOy-F+^Z84J9~P=<7I== zi1P)T=lPvG8vyIYV>U(*>lo*Tue3ix!HqP&`V~bSC|W=A#7q$iNa_W3Sqie(Qg} z3qkt~|K=CH{V_MuT?l5tg|R7xl5d5 zxDwf6#0C?yXeL5;`ZNFlx%r*q)AV1x-8sF@?BBt5kQ{C&jdKn1istN;*7R=ndzjcd z(P(MbR&JQq@=>JE9pX|@H<#7_qA3;7AWnm5FX&sZWJbda*BFQEod?JAfN3EF(drOI zwtjQ_KSf6y6o2uaRm;&rXDv2o7X6f$gH3Q6xNVtldtF&a_Gq5C zg34ID)J@sJ^W(y}(?`2Wa-GFm)6eP;HFComB}|<`r^IS$rwLUUfH`}&y5@U-YpDKT z-tK|2Dl6345y>8lpdn7J016J&Pic7CAhJvg?g-Cdg>j0xzJC~NvJL@)fJW;u-NIfp zsfx_u-B8Xgmi#s-@jUN~G33eq7qfaN_EkKyRc68OYakWL_Vs1IuiCYhG~@b55tZt^ zR9n0y+R?xodq=rW9EJs%tWC~X1lssQs{8DrphFzMOXc2|{Da)mEvNS>QFDu}FYcXENQjb~_zT<46QI-)Qa^>(yiEY;{H$)fH) z)+;2BmcLjdZ9t^7jHbVig22FqU69-~6?*8xN>runF^XtNrx5)WteqMM?M{hd( z{hn>T)e)vK8NHwSr}BhH!HHn4B4dbzOTg@p?S9>*!<*bQXww>cNO4j+`1PXMg}RGV zz29!0O?as!)-4(ta-=Bh{AJIL%xm0)i(<9x?vE25tgAKvrtKbbEu|!Th*>7tVDzW8 zesZ|rNr_=Q0ncAzb!_0ycO-Ga#{gUJ2ts$7Ie{i}$8 zPbyfPaqj`O_Ekq9vPNH87aiwCx*MdIptu|@mnc>>3&C5x8h#TlBG z_17N&#>2mW4HWx`JRr1+W#T#JcF2M3en3@bx_?5!rW^9g&9PU-!3$JU{i!O#E6%&Z z7!}o#bBt6hSHS3dMp)j-lJK`0umF+RlaFN+apRHzvfx~WD z2+dwAgHPoY*_JGl8BI&Yh_}3qFt48X=It|@U53O8?@_rkE5j#G$5%Q?l4gBYddj7) zYlXz+9pC&mOv?Jq$)Y%AgBNRRL`dCezG_`KaReFE;|y$vK>iNCV%R z#lIw5n^xul+q$ViSYw0YVrk|&Un`=Qo;cm$4#PGlKd-Ml(J(hv>wNUuFhX7E5$s1I z*cI>yYJzeB1?O4HoQVsfMK-{kqm&J?B?b~I0R@v$`J0ygSK4CK?Hl2VV708Mfg_1* zukX-bFIW8e@hs@tKR(}szSZcBh-ueg_#Gj+vSfr`%9E}aS&cRF4%xk4%+_8Cf9j!3 z7Clsx8fzI5L{DMk4KL8{4alx(-`Y=SJhCzT`@%+*F5%XMq6NdyRK&i~^Z0?{6(^Oz z_>I*b@J&L=^&5NLODJCFk`e6{o|mYz}1GQ2pkkPAdIv-ec7USigbVANa0t zV*}H9-d!8__ag-NxJc+`Q{1d6u`^H>BKv|yr+s0J-*!b-sSIxFuwapgIN4=d^k}SC z0(;CN;=*Y&zD{NHA7Kr!up_YMvCETakI|$CSn01b0cYPce~g~V`MH#485>qi;dnU3U7$`;M>2!}_dX{&nv%G5iF)?M`DM1FLuh zTOcNkoMJv7g4GdJa`q-Y(xykpIQzB~FT5a>>{;Y0=O(b%f*nsEBo(Lb%5Kqxwupx4 z*3lnxbckP?JGpYc<$k2O1wiWZS%Vj=FXqH{~lLf z&Kj<2N%L@h8zAl}|L$^d!3S7XDaU@e9sr5C#3xlER?a-iDvZcYRFU?T81UQCQCVg9 z_NP&w{7`DcmbMj)&lHlW&BId4#x+apQ|h(sR80WH)7o=-`_hLrf0O!llVTy8SzwuG z0WUD;C@`==i*ns0jr9}}^K$ldQ{R`VP(S=df}-~xU{-F6k;f^RDsghjApJ;G=p+6H z*?+i%_E?oD$*(Vn|3qE>ElZ{pgencEpnypttKwzNv^g4IAX~4bk3R!5-s?6GqqKey z44bNYy5AlE31O?Ur%#~^7>!v9sy6+8XB59ma8Flj?^v@D^W^r;D$Re{UmH@Sx~^ES zqGzP{j=(jb9)9D{tux24Sz`!$sNwIKX$$92-rQZVe-sy3b{Z>{Gy`_;`8(L}`%L%O z%){GS1xJQ)J6_{)rk%zf^Bm8El7~pysj5F={?y8dx3)p}%u4#bBD)C7 zb2`>pkbhD;7PW!(?Sr;(B>68jd%fEv1lPddkI?vI(w76cMX~$C-z@{PpgsOKwve*BMTd zSCsgG62adV{!3wyIl7KW+^UD!Of$#Xy|f+JUGTo41_l3M{!1j}k<5JA@yJ_wdj`7( zOx3=OBG4ZRsEg|XU+dG0VF&3A6uG5^O4%5SS-v{YYD1 z?>laek(iG9Ykf_Bs5@}TBB)HC#UKq^^IBu6)>jK8t_NpGjo!)ivpH6rX$6Wi%ry9- zHjX}YhPNn zF~r2^)s+n0>!TW$-3DvW22)}|H+yfn4X1bc>*G^&)!5VVH*DVgiM+3}&o)&aylfF! zqxMW-N>H$_kofifkFOyxibIaoWA!kOm#6&+4EY{%1TV3twOVtv z_rNd<$4JF;$bZPs87))#hgLw>{Gr&uA)crR{d(uKawQxggySA{8aGQ2p{Q#aBUfad zZG22Z)|-1pX*;KZgIdLmknxSd z#eW_ii+1k6J9-gYh147@(Z#L9Oyud`Wt?lJKaE`l+{m>~@aT*_Qe5Md2=}0dacZII6xpjPInmqtX&Ka6E^Ox84cui5V8Q8}Hs) zkwANf@+E9T@yalP{99eC%VA5?GN@VpGv|G03hI?Ai-SQQr>4*X%uOD&Y=7XFAV!!T zzAtJ>gO(@rTjSK9kSF>Q6Sr~_wT5a=t>Zwmw7N`uz-P6wZI)X=(tnFpo&I)^x+Y2+ z_hAkdEsMmpH2c4Ma%e3J*eLe=_qJ9dAfVhCX959$hs>nl^&n~%@L#SL7-JudkY(R z%A|`yeC=jCMi*Q{kU)(S&MzZMfUl+Y#l)k9rzwZos*U8fhs5X5Pl1}d6prvHA9mR( zZc8Tu9Djf@L>UyXxBXpjouApl+l;oA4uQe)Z9$%Yq2qrf(|@ZW*Zk* zrB1T3g($R)nl9gL*6g6tvO0J?9mD8eGAC+)49F7^imEmLco=#cL^4%YyGL-JI=9%r zhWu@=PqrKHgb%y=!p$jv66e)6R~_6M{P$)JG)+y8FIRgR_%oP%rcYT_WNS4h2S}X^ zJ~uczo(z_1%ss4^R&+T{+!6_rJ-g70=L^RC*U<<1Cfp0II9p(Rn2eq<-K24l+NfFh zMfNO(_wS-#dIOBP^B+p{JjP$b#QEga%>=e4QuTa9WdO3lVF_fDr}fSgrhvtZNwD&Z zUA?@wMB;4RR?c7hmSMu(QbhN#O(V2JP%wM7bwrFNh0x4Ta7Xgs$GMe!iE8u?56I?= zseG2}iXv%AgdQI0gyXB#3~7P$Nw4#qwdF)5>En_@4lW1C8eOY` z^A%}Z0B8K-GCU@0@$}IbjSTdi#OReT1*z2JwdE%~J7eyV)rbbM)qv!V*-53o^7x>i zPes{A2jHRaW2*3lpM%3ogc)4*?a<$I<||JsFc17?nGk0y(TUI`_V<+N=IAt#$9IIT zq73PXORSnp359Q=GkijrfY2uNps+u`E4AfOXG=~C;B8f^lt9ItaX;p<*ZfT%1d5cI z!1Dzx3IBC*UCEmai)j)V(*82RUa(F&qs_SH;;ZLge6!t^nLtSfFIpP2<~MQR0|_Ub5C2I@LP9pV#%W`Zi~Wn z+W5v=-JgJ8D=i;AMx}7-C&S*iv|8%!0SLG1BRpF68oUwy9BWH#=)bo&762GPA1+7) zSAN-o_1E=Nwm|wz9nubnIKrc~{(J$lWZ=!#37w3|N(YzbrSkdPf6ZfE!z;IT`T>w> z#$oqS+9E=9ls%^j2PwV8-Iibwa|vuSwprxgC#>$}Bv9!^m^htE58Fbh#h;Oh;|ehN zUilkIV43D(vA8%}fDA>4gX(gVQtNqNS(*liFY60QC4uSQY^==YksAS_7nY@Fw(S-I zNp~M0tIovy({G&%cV8vw#dulw>DvQp?(^6kun@?<_AXcp(Hzvw+_raxna4##qDwgI z)@+g$(`>%-jCe;=IFobn*Vz&R&VEPJZ9Y9i&I^cIZAAO=jw52;Q5-Bv%#RuRY=z_= z@=P+@QNrW*jrTHnz}l?>AzJs{N>4&ONpW!@I34`;yv?=P6 z2jRj-pv%E+;rBld?2G#m=r^Jo5XD~d0bb6RSD3qJmp&ril z#2jf-k>amdrNVhbemaQa=!y>94AINhyi*Wm?lj9@J z$#hLF;->FQ_k0ROm4_gS@&Wgp4CP^$+Txp?cg}__`WH@K8eZBu{rL!Wudz;?-X}a$ zIDA#mYDa+a9q4117YZ37X%C(MYc%&{*{635UBeH%yVs*fXYRUuVyM3+{R$peh#^kg z&Ji8zHxp`G4K(P23NoPbTlDP+llsBR)A=bMi<9kQ_;YP{NoJqTa#D=Y_10=#0Bzg4 zCA`nh^DBpWfBNPqU%4N>Z*$;<*(-i&I4P75;+BPE5Q?%u4ltRUsK8@EpDG<2(GgfH zagn7U1v0s(i;}+9o^MtVM#dUDc7*TUjeh_qlb!*bM!g>7+1s#mTGHo(cK`CLLW&th z8rHN*YZ~cdz^${o(T3lc_Gl;8Kqy;Z-tnxml3}PlTm9;_f!+hJco5~niOQbkHx_* zjq`|#LA*=yHRpnEdP(Zjj4<$ya7QRO$B26O!aV3u*TB=ZG(w-st@?^JR1bQgXQ4cx z=C%UPFf@ZLef(UTtUZ-;HLFl|BmvApK_EB-U>n9eO_y?*r~h)De+ssm^2_j+1F&Q6 z4T^D>+u@OSi!RomGWzSc&-!M~(~p@VCsj=ojTF#3;2x^wx?wY_yI{@wb_zos#;vIl zu9@$`dd-0^B6Qb6)LaXEPSkvkIdd(i*4fs4`qD*-3WufJd5;4|Zw7WAa4G3Cb@s0B zI8CVEh`PgoEpkerl^bBXC(H|w6`(o|iW6d^84&qS&ykh8Ql#s#KyTOcHRZm2Na(vv z{;r-9aOVHs;UmV|W@g+LN}?tHiH!Q^t_>y)Fx+EB#@e)hm=KQCQRr&+?0V@l-M{af z*@LKe*WTs6sMi9!|9o97J*0V8u&(bNS2@B;i9kSB8km?sYOPs~N9yv<5NDg-kDF6p zT;`lox&tIuOQTfSI=i2n4N};%&9~00OJBK8>?~RqrP&h)#`=GCf4+s}Pszic&pf#= z_QOr7`dE%)3dQ2dm@t^w9qtpcB<`9gu{o7saPauMK?HviPJ0oBk7ZY%)qmCb9B_80 zYpp>U1kGJ$OG=YCIOktpInikg8NLopY7djZ&J91&9`z$H8QQNrWE%1YAfRqWe~*9e z1g?7JVM&qbhcLe5lQ{4LVc?*}KQnIyRv1IdR*tPl8bdbMIMuO;WXX~%t!v2@yx4JA ztYW?5zSH2Q$5F*N&;92M4hF=B1>t+)!EaYGMR51^|1ua2d9Q`bJjq#UTpXjVGt{E4 zbRzeX2_$grB|#GMeEj`mZsc|KoyQ==PDj$-NNW;DTZ)ty!-tu{yB)RwOk$8ewxp_0 zS?_%I3564&e=3r5*MFl=`!9ucFVF|21`JXf?lZ>u=5uXlxOJIBu8bX)sb0xZs2lSK zfa?C_H1{f0w!H7#+5PbClOkGh*)pX2^HV*K&C}9B#j{U(Z2@aAGQ36)#eF{$j*-U7 zHLc7#()jZ@iPZvq%VnD91r={q$He?3c210F>md?FxOhK1zOvJDZ@%qeNxkvzdd-uL zlJ!|r_u|b|8#U74dPkm`CS8`YcEF#F|IxQ@P4#Ub`Nh4FaCzMFeuJ~CQ$>J$l}anE ziMyPwy|-tyG})e_PaT!Y&2>wD(H!8iKDx7v;g;%HRkEnBHqkak-!qp<(N5tgCk5nl zioje>ggpaKb3p>lmS*3=-S~lO-%-aWB}QNV+I{L8fp6da{p@}PXss((_zIe5yRtLo zLzarTtA|2;?dzdL*n;L@eU%6%DNN%lV$A!@@y7Ha=?^dMy@?E;`-z&FsQ)Ohb$6YS-AtJN7$Oy|a2vV6YH<{EdMs~kBn!mvUqf;kp^O~*0lxE{{n z1!A4kxUe@ebu%+uy{DFwA;vey#_sastHGAirSctx2p-VMqiiGS$i5iL!X}EBil3QrfKCCrK1xcN2H1{{R z&7TLHs{$N?JMp6Cn9E-{Idl;iSz7B;eJS_d9Z=BK06aH^wJM|4+b{sX2)vUv;H0TU z(|z1)+Xm9t>I$t*-*S;1K7q~kHN$?hg?`XM@Ul(9O+T}t6j$KJOIBGGS7NmhOob{b z@&qo{r(M|m!tO8imfje(+5AaLU~l=dx14CPO$SLY#(ajv1M}OQ^m*`+?i#%>dt>kX zaVmk@vcz2P|K}z_pLp&IV2rxXGyYXtd=GXbd%IP8gTHl@B(j;SZU7<92m>|(ddq1q$xqa#HoW~rm{8mZCS71@PB9} z1}N1#r}u2rFq@rpFYIwCFo6jauLI#L_yxYCiZ4jQuP&7iMe7=)p+b6)6AM skuCoT?Wa1{4ozR-TWn%?&28@5U1+SL>s-L#e_Fuey0vMg@x8eJ17=c&0RR91 literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/searchbar.png b/Deliverables/Phase2/Implementation/Use Case 3/img/searchbar.png new file mode 100644 index 0000000000000000000000000000000000000000..eb09af1571095f2f82cd9bc64e4725491e8d2640 GIT binary patch literal 151478 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 i+(gT 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

!OtQSj1?rl#99k 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 P4g3Phs>swxnT7rj4<8&u literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/validacao.png b/Deliverables/Phase2/Implementation/Use Case 3/img/validacao.png new file mode 100644 index 0000000000000000000000000000000000000000..f3153121d5be420ad94055cc1fb048ff2b808899 GIT binary patch literal 48415 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 ~G(D9n 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%0D4rcJM_}q>*4RNiHRlVNA&Xqa92n9W~&(O1`50 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.0.2 test + + + org.owasp.encoder + encoder + 1.2.3 + diff --git a/resource_server/src/main/java/com/commerce/backend/api/ProductController.java b/resource_server/src/main/java/com/commerce/backend/api/ProductController.java index 0f006262..c0968200 100644 --- a/resource_server/src/main/java/com/commerce/backend/api/ProductController.java +++ b/resource_server/src/main/java/com/commerce/backend/api/ProductController.java @@ -5,6 +5,7 @@ import com.commerce.backend.model.response.product.ProductResponse; import com.commerce.backend.model.response.product.ProductVariantResponse; import com.commerce.backend.service.ProductService; +import org.owasp.encoder.Encode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; + import java.util.List; import java.util.Objects; @@ -95,7 +97,9 @@ public ResponseEntity> getByInterested() { public ResponseEntity> searchProduct(@RequestParam("page") Integer page, @RequestParam("size") Integer size, @RequestParam("keyword") String keyword) { - List products = productService.searchProductDisplay(keyword, page, size); + + String sanitizedKeyword = Encode.forHtmlContent(keyword); + List products = productService.searchProductDisplay(sanitizedKeyword, page, size); return new ResponseEntity<>(products, HttpStatus.OK); } } From 7a886eab0644a791c43f8f983a6b6d6f7a1d4319 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 18:07:37 +0100 Subject: [PATCH 02/32] feat: Add roles to authorization system --- .../java/com/commerce/oauth/model/Role.java | 31 ++++++++++ .../com/commerce/oauth/model/RoleEnum.java | 7 +++ .../java/com/commerce/oauth/model/User.java | 42 ++++++++++++- .../oauth/model/UserDetailsServiceImpl.java | 10 +--- docker-compose.yml | 1 + resource_server/entrypoint.sh | 0 .../backend/bootstrap/AdminSeeder.java | 59 +++++++++++++++++++ .../commerce/backend/dao/RoleRepository.java | 13 ++++ .../commerce/backend/model/entity/Role.java | 31 ++++++++++ .../backend/model/entity/RoleEnum.java | 7 +++ .../commerce/backend/model/entity/User.java | 8 +++ .../security/SecurityConfiguration.java | 2 +- .../backend/service/UserServiceImpl.java | 14 +++++ sql/script.sql | 20 +++++++ 14 files changed, 234 insertions(+), 11 deletions(-) create mode 100644 authorization_server/src/main/java/com/commerce/oauth/model/Role.java create mode 100644 authorization_server/src/main/java/com/commerce/oauth/model/RoleEnum.java create mode 100644 resource_server/entrypoint.sh create mode 100644 resource_server/src/main/java/com/commerce/backend/bootstrap/AdminSeeder.java create mode 100644 resource_server/src/main/java/com/commerce/backend/dao/RoleRepository.java create mode 100644 resource_server/src/main/java/com/commerce/backend/model/entity/Role.java create mode 100644 resource_server/src/main/java/com/commerce/backend/model/entity/RoleEnum.java diff --git a/authorization_server/src/main/java/com/commerce/oauth/model/Role.java b/authorization_server/src/main/java/com/commerce/oauth/model/Role.java new file mode 100644 index 00000000..ef821276 --- /dev/null +++ b/authorization_server/src/main/java/com/commerce/oauth/model/Role.java @@ -0,0 +1,31 @@ +package com.commerce.oauth.model; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.*; +import java.util.Date; + +@Table(name = "user_role") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class Role { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + private Long id; + + @Column(unique = true, nullable = false) + @Enumerated(EnumType.STRING) + private RoleEnum name; + + @Column(updatable = false, name = "date_created") + private Date createdAt; + + @Column(name = "last_updated") + private Date updatedAt; +} diff --git a/authorization_server/src/main/java/com/commerce/oauth/model/RoleEnum.java b/authorization_server/src/main/java/com/commerce/oauth/model/RoleEnum.java new file mode 100644 index 00000000..4b8ee88e --- /dev/null +++ b/authorization_server/src/main/java/com/commerce/oauth/model/RoleEnum.java @@ -0,0 +1,7 @@ +package com.commerce.oauth.model; + +public enum RoleEnum { + USER, + MANAGER, + ADMIN +} diff --git a/authorization_server/src/main/java/com/commerce/oauth/model/User.java b/authorization_server/src/main/java/com/commerce/oauth/model/User.java index aba4e507..a64d807e 100644 --- a/authorization_server/src/main/java/com/commerce/oauth/model/User.java +++ b/authorization_server/src/main/java/com/commerce/oauth/model/User.java @@ -4,8 +4,13 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; import javax.persistence.*; +import java.util.Collection; +import java.util.List; @Entity @@ -14,7 +19,7 @@ @Setter @NoArgsConstructor @ToString -public class User { +public class User implements UserDetails { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -27,4 +32,39 @@ public class User { @Column(name = "password") private String password; + @ManyToOne(cascade = CascadeType.REMOVE) + @JoinColumn(name = "role_id", referencedColumnName = "id", nullable = false) + private Role role; + + @Override + public Collection getAuthorities() { + SimpleGrantedAuthority authority = new SimpleGrantedAuthority("ROLE_" + role.getName().toString()); + + return List.of(authority); + } + + @Override + public String getUsername() { + return email; + } + + @Override + public boolean isAccountNonExpired() { + return true; + } + + @Override + public boolean isAccountNonLocked() { + return true; + } + + @Override + public boolean isCredentialsNonExpired() { + return true; + } + + @Override + public boolean isEnabled() { + return true; + } } \ No newline at end of file diff --git a/authorization_server/src/main/java/com/commerce/oauth/model/UserDetailsServiceImpl.java b/authorization_server/src/main/java/com/commerce/oauth/model/UserDetailsServiceImpl.java index 561620ed..5516b089 100644 --- a/authorization_server/src/main/java/com/commerce/oauth/model/UserDetailsServiceImpl.java +++ b/authorization_server/src/main/java/com/commerce/oauth/model/UserDetailsServiceImpl.java @@ -2,15 +2,11 @@ import com.commerce.oauth.dao.UserRepository; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; -import java.util.Collections; -import java.util.List; - @Service(value = "userService") public class UserDetailsServiceImpl implements UserDetailsService { @@ -21,12 +17,8 @@ public UserDetails loadUserByUsername(String email) { User user = userRepository.findByEmail(email).orElseThrow(() -> new UsernameNotFoundException("Invalid username or password.")); return new org.springframework.security.core.userdetails.User(user.getEmail(), user.getPassword(), - true, true, true, true, getAuthority()); - - } + true, true, true, true, user.getAuthorities()); - private List getAuthority() { - return Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER")); } } \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c18a240e..862a1b1c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,6 +31,7 @@ services: resource_server: image: 'keyist-resource-server:latest' + restart: always build: context: ./resource_server container_name: resource_server diff --git a/resource_server/entrypoint.sh b/resource_server/entrypoint.sh new file mode 100644 index 00000000..e69de29b diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/AdminSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/AdminSeeder.java new file mode 100644 index 00000000..4ec8898e --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/AdminSeeder.java @@ -0,0 +1,59 @@ +package com.commerce.backend.bootstrap; + +import com.commerce.backend.dao.RoleRepository; +import com.commerce.backend.dao.UserRepository; +import com.commerce.backend.model.entity.Role; +import com.commerce.backend.model.entity.RoleEnum; +import com.commerce.backend.model.entity.User; +import com.commerce.backend.model.request.user.RegisterUserRequest; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Component; + +import java.util.Optional; + +@Component +public class AdminSeeder implements ApplicationListener { + private final RoleRepository roleRepository; + private final UserRepository userRepository; + + private final PasswordEncoder passwordEncoder; + + + public AdminSeeder( + RoleRepository roleRepository, + UserRepository userRepository, + PasswordEncoder passwordEncoder + ) { + this.roleRepository = roleRepository; + this.userRepository = userRepository; + this.passwordEncoder = passwordEncoder; + } + + @Override + public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { + this.createSuperAdministrator(); + } + + private void createSuperAdministrator() { + RegisterUserRequest userDto = new RegisterUserRequest(); + userDto.setEmail("admin@email.com"); + userDto.setPassword("123456"); + + Optional optionalRole = roleRepository.findByName(RoleEnum.ADMIN); + Optional optionalUser = userRepository.findByEmail(userDto.getEmail()); + + if (optionalRole.isEmpty() || optionalUser.isPresent()) { + return; + } + + User user = new User(); + + user.setEmail(userDto.getEmail()); + user.setPassword(passwordEncoder.encode(userDto.getPassword())); + user.setRole(optionalRole.get()); + + userRepository.save(user); + } +} diff --git a/resource_server/src/main/java/com/commerce/backend/dao/RoleRepository.java b/resource_server/src/main/java/com/commerce/backend/dao/RoleRepository.java new file mode 100644 index 00000000..dde5ab49 --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/dao/RoleRepository.java @@ -0,0 +1,13 @@ +package com.commerce.backend.dao; + +import com.commerce.backend.model.entity.Role; +import com.commerce.backend.model.entity.RoleEnum; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +import java.util.Optional; + +@Repository +public interface RoleRepository extends CrudRepository { + Optional findByName(RoleEnum name); +} diff --git a/resource_server/src/main/java/com/commerce/backend/model/entity/Role.java b/resource_server/src/main/java/com/commerce/backend/model/entity/Role.java new file mode 100644 index 00000000..e8382b0f --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/model/entity/Role.java @@ -0,0 +1,31 @@ +package com.commerce.backend.model.entity; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import javax.persistence.*; +import java.util.Date; + +@Table(name = "user_role") +@Entity +@Getter +@Setter +@NoArgsConstructor +public class Role { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id", nullable = false) + private Long id; + + @Column(unique = true, nullable = false) + @Enumerated(EnumType.STRING) + private RoleEnum name; + + @Column(updatable = false, name = "date_created") + private Date createdAt; + + @Column(name = "last_updated") + private Date updatedAt; +} diff --git a/resource_server/src/main/java/com/commerce/backend/model/entity/RoleEnum.java b/resource_server/src/main/java/com/commerce/backend/model/entity/RoleEnum.java new file mode 100644 index 00000000..1f3cbd1d --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/model/entity/RoleEnum.java @@ -0,0 +1,7 @@ +package com.commerce.backend.model.entity; + +public enum RoleEnum { + USER, + MANAGER, + ADMIN +} diff --git a/resource_server/src/main/java/com/commerce/backend/model/entity/User.java b/resource_server/src/main/java/com/commerce/backend/model/entity/User.java index e4279d38..d444deb9 100644 --- a/resource_server/src/main/java/com/commerce/backend/model/entity/User.java +++ b/resource_server/src/main/java/com/commerce/backend/model/entity/User.java @@ -5,9 +5,13 @@ import lombok.Setter; import lombok.ToString; import org.hibernate.annotations.Type; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; import javax.persistence.*; +import java.util.Collection; import java.util.Date; +import java.util.List; @Entity @Table(name = "user") @@ -63,4 +67,8 @@ public class User { @Column(name = "address") private String address; + @ManyToOne(cascade = CascadeType.REMOVE) + @JoinColumn(name = "role_id", referencedColumnName = "id", nullable = false) + private Role role; + } \ No newline at end of file diff --git a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java index 9d4833a3..ec1d03a0 100644 --- a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java +++ b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java @@ -4,13 +4,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector; - @EnableWebSecurity public class SecurityConfiguration extends WebSecurityConfigurerAdapter { diff --git a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java index be65749d..1f491942 100644 --- a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java +++ b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java @@ -1,9 +1,12 @@ package com.commerce.backend.service; import com.commerce.backend.converter.user.UserResponseConverter; +import com.commerce.backend.dao.RoleRepository; import com.commerce.backend.dao.UserRepository; import com.commerce.backend.error.exception.InvalidArgumentException; import com.commerce.backend.error.exception.ResourceNotFoundException; +import com.commerce.backend.model.entity.Role; +import com.commerce.backend.model.entity.RoleEnum; import com.commerce.backend.model.entity.User; import com.commerce.backend.model.request.user.PasswordResetRequest; import com.commerce.backend.model.request.user.RegisterUserRequest; @@ -23,14 +26,17 @@ public class UserServiceImpl implements UserService { private final UserRepository userRepository; + private final RoleRepository roleRepository; private final PasswordEncoder passwordEncoder; private final UserResponseConverter userResponseConverter; @Autowired public UserServiceImpl(UserRepository userRepository, + RoleRepository roleRepository, PasswordEncoder passwordEncoder, UserResponseConverter userResponseConverter) { this.userRepository = userRepository; + this.roleRepository = roleRepository; this.passwordEncoder = passwordEncoder; this.userResponseConverter = userResponseConverter; } @@ -46,6 +52,14 @@ public User register(RegisterUserRequest registerUserRequest) { user.setPassword(passwordEncoder.encode(registerUserRequest.getPassword())); user.setEmailVerified(0); + Optional role = roleRepository.findByName(RoleEnum.USER); + + if (role.isEmpty()) { + throw new InvalidArgumentException("User role does not exist"); + } + + user.setRole(role.get()); + return userRepository.save(user); } diff --git a/sql/script.sql b/sql/script.sql index 8439f06c..4a118c5e 100644 --- a/sql/script.sql +++ b/sql/script.sql @@ -1,5 +1,18 @@ use keyist; +drop table if exists user_role; + +create table user_role +( + id int auto_increment + primary key, + name ENUM('USER', 'MANAGER', 'ADMIN') not null, + date_created timestamp default CURRENT_TIMESTAMP not null, + last_updated timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP, + constraint user_role_name_uindex + unique (name) +); + drop table if exists color; create table color @@ -175,6 +188,9 @@ create table user phone varchar(20) null, country varchar(20) null, address varchar(100) null, + role_id int not null, + constraint user_ibfk_1 + foreign key (role_id) references user_role (id), constraint email unique (email) ); @@ -301,6 +317,10 @@ create table verification_token foreign key (user_id) references user (id) ); +INSERT INTO keyist.user_role (id, name) VALUES (1, 'USER'); +INSERT INTO keyist.user_role (id, name) VALUES (2, 'MANAGER'); +INSERT INTO keyist.user_role (id, name) VALUES (3, 'ADMIN'); + INSERT INTO keyist.oauth_client_details (client_id, resource_ids, client_secret, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove) VALUES ('test', 'resource-server-rest-api', '$2a$04$v8DNBoc36pw4c7b7Xyq/aeSpGneF9WciZUI9FibVz0neksUcPBXVS', 'read,write', 'password,authorization_code,refresh_token,implicit', null, 'USER', 10800, 2592000, null, null); INSERT INTO keyist.product_category (id, name) VALUES (1, 'Keychain'); From bf63d6db98578226d884d6651d2436471dc8c174 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sat, 8 Jun 2024 18:34:25 +0100 Subject: [PATCH 03/32] chore: Implemented code to make UC3 comply with ASVS 8.1.4 --- ...e Case 3 - Implementa\303\247\303\243o.md" | 31 +++++++++++- .../Implementation/Use Case 3/img/cache.png | Bin 0 -> 23289 bytes .../Implementation/Use Case 3/img/configs.png | Bin 0 -> 5714 bytes .../Use Case 3/img/interceptor.png | Bin 0 -> 2043 bytes .../Use Case 3/img/webConfigEndpoints.png | Bin 0 -> 15677 bytes ...e Case 5 - Implementa\303\247\303\243o.md" | 2 +- ...e Case 7 - Implementa\303\247\303\243o.md" | 6 +-- ...e Case 8 - Implementa\303\247\303\243o.md" | 2 +- ...e Case 9 - Implementa\303\247\303\243o.md" | 6 +-- resource_server/pom.xml | 16 ++++++ .../backend/config/CacheConfiguration.java | 31 ++++++++++++ .../backend/config/WebConfiguration.java | 23 +++++++++ .../interceptor/RateLimiterInterceptor.java | 47 ++++++++++++++++++ 13 files changed, 154 insertions(+), 10 deletions(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/cache.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/configs.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/interceptor.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/webConfigEndpoints.png create mode 100644 resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java create mode 100644 resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java create mode 100644 resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java diff --git "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" index 413b4ef6..a852d739 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" @@ -18,11 +18,11 @@ So that I can easily search for the product I want to buy - **Injeção de Código Malicioso:** -1. ASVS 5.3.3: Verificar se a saída é corretamente codificada para prevenir ataques de XSS refletidos, armazenados e baseados em DOM. +ASVS 5.3.3: Verificar se a saída é corretamente codificada para prevenir ataques de XSS refletidos, armazenados e baseados em DOM. - **Ataques de Sobrecarga:** -1. ASVS 8.1.4: Verificar se a aplicação pode detetar e alertar sobre números anormais de solicitações, como por IP, utilizador, total por hora ou dia, ou o que faz sentido para o aplicativo. +ASVS 8.1.4: Verificar se a aplicação pode detetar e alertar sobre números anormais de solicitações, como por IP, utilizador, total por hora ou dia, ou o que faz sentido para o aplicativo. ## Implementação da UC @@ -61,3 +61,30 @@ O código Angular já está estruturado para prevenir XSS, pois o Angular automa Ex: ![exDeInterpolacao.png](img%2FexDeInterpolacao.png) +
+
+
+ +### ASVS 8.1.4 + +Para implementar o ASVS 8.1.4 na aplicação, foi criado o componente RateLimiterInterceptor, responsável por controlar a quantidade de solicitações recebidas por IP. + +![interceptor.png](img%2Finterceptor.png) + +Na prática, este componente utiliza um cache em memória para armazenar contadores de solicitações por endereço IP e aplicar limites de taxa, prevenindo ataques de sobrecarga (DoS). + +Junto com a implementação deste componente foram adicionadas duas classes de configuração que +complementam o trabalho do RateLimiterInterceptor. + +![configs.png](img%2Fconfigs.png) + +1. WebConfiguration: Esta configuração configura o RateLimiterInterceptor e garante que o interceptor seja aplicado às rotas específicas onde a limitação de taxa é necessária. +(neste caso foi adicionado ao endpoint "/products/search") + +![webConfigEndpoints.png](img%2FwebConfigEndpoints.png) + +2. CacheConfig: Esta configuração define as propriedades do cache utilizado pelo RateLimiterInterceptor. A biblioteca Caffeine é utilizada para criar um cache eficiente, com um tempo de expiração configurado para 1 hora e um tamanho máximo de 1000 entradas. + +![cache.png](img%2Fcache.png) + +Com estas implementações, a aplicação é capaz de detectar e alertar sobre números anormais de solicitações, atendendo ao requisito do ASVS 8.1.4 e protegendo a aplicação contra ataques de sobrecarga (DoS). \ No newline at end of file diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/cache.png b/Deliverables/Phase2/Implementation/Use Case 3/img/cache.png new file mode 100644 index 0000000000000000000000000000000000000000..ba639b608cf0de1ea6b500a334acd231b1703bb5 GIT binary patch literal 23289 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 literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/configs.png b/Deliverables/Phase2/Implementation/Use Case 3/img/configs.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ebe5241160fbd336d55309b3cd29c2e64cfa1a GIT binary patch literal 5714 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 NPup1QwWdwz{{R_ptd9Ty literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/interceptor.png b/Deliverables/Phase2/Implementation/Use Case 3/img/interceptor.png new file mode 100644 index 0000000000000000000000000000000000000000..5ccd14e869c65a249668b3857227764bf5206a28 GIT binary patch literal 2043 zcmai#Ydq771IB+YaTt=zA#-v`%Q5L}u2UhYOtZ0MOGB|KCb@;lEnS?sOvB0;tBiEQ za?V_aL$@(BH6v1}+{M8r2Z_IT|Ci^@_w#(77tfpL^LZYs7y6{Ss(~s10P0A0H!J|i zX>V)9PfFX=oq0n50Oc1*x1&A@0rRX6SF}&+WPDdX+Fk7mry|{p0HmR-p}dI$8hfdv z@DHzm-`yH*2tF!j%pvy+0(`E2$DT>nNd5TuV#!h|!n%26I2#P!+T(Ogw$&L9VaK9?*9WSqivkB{6q zkl6Y+d1Qd`64T{&dNX9$Kml+tY!Qx28I+;qf5DzVhg8{lhEf;-ZSTv) zOCaBKI`hOlMcrfV{XSvWcn!ERj}&2;0>F8hg^DP^%`BvDmOGCQl(>4Eis!W@_o`OR z9S`L5#@~^7xKy{l{H@plo!Uu$33O^Y=mu!tY?797e)zIS=_kpHVw4WnP>NrXiWDJetlW;vjAxo_G?|LsnQA#HB;L-P?6cB490t`%qsKOLL*bx{ zH;3Pnm{|}7$1TP75DYJrh9565eiO;kH0st(vx#+sWD3d|3RE`} z65RH*%}{@BL55j1DuLc`ptl{Cdihf%Qy(VqxFNABea*K;3tuoEkRm&Vy?skH1uOt6C^ z4#<1k59d21Gb^%W%C3StQP*}4l&S#3F1T*RK^MsVbJtOcYC^?W=p7Z{8R)-ok(jN- zt$BN%bVC~7Am7LCNA!n$QwDfxC<8SOcG+`jd_k%dG{OGyxk6mAUfCLb7y#f8u8Z5l z#xths51V==_v=G7fMj%Fw;7(!(Nxh>^)&|ymm5%hPjZg^jPwd79Tu(Sm{zwit??uJ z4eM(sL||LY+j{HcQ^Bo*>R+6K8h`HwFKhgO=F@A1NAe^MMq(;?w72$DR;=^{BO1)D zataIYtEjT15mH#0hmQMI((uV;!UJfrG%L%7^)Paxr37+{X4N}6PaZ)_pp^B8S4eP& zwjj`#nT6P(2nH=1^|n)ByB@t}^~=G#GcwR$Hml3HCvBM~V-^Gfj8KBS8cgEv@|VTs zSt6R;iyOFTG zRQ`le4`nS(Zw%Hhn9^lk^|Wq|C(Zj-^m!(+&^}^&58AI*ms{pd&LoQH1C@HyflSu? zoU>od=%w!%qqBz3YlF*8Z)(3{6vu-@YP%_GgEXPp@$G;-B&2n6B3SjaQdR$Crfy>QB#q82p;Y(1D0YT#{DW*0eI*SfFa04!04QS%6u%E y+s5{S{@oKUmd*QTUF42nXF>$CI{}Bon+hY(Sk9Z+>-O8H4j_-C-D+IVr~eOU)Y&fp literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/webConfigEndpoints.png b/Deliverables/Phase2/Implementation/Use Case 3/img/webConfigEndpoints.png new file mode 100644 index 0000000000000000000000000000000000000000..6097336c6b089894bc25c85817d2abd161a9fa43 GIT binary patch literal 15677 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 1.2.3 + + + com.github.vladimir-bukhtoyarov + bucket4j-core + 7.4.0 + + + org.springframework.boot + spring-boot-starter-cache + + + com.github.ben-manes.caffeine + caffeine + 2.9.2 + + diff --git a/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java b/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java new file mode 100644 index 00000000..efb3973e --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java @@ -0,0 +1,31 @@ +package com.commerce.backend.config; +import com.github.benmanes.caffeine.cache.Caffeine; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.cache.caffeine.CaffeineCache; +import org.springframework.cache.CacheManager; +import org.springframework.cache.annotation.CachingConfigurerSupport; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.concurrent.TimeUnit; + +@Configuration +@EnableCaching +public class CacheConfiguration extends CachingConfigurerSupport { + + @Bean + @Override + public CacheManager cacheManager() { + com.github.benmanes.caffeine.cache.Cache cache = Caffeine.newBuilder() + .expireAfterWrite(1, TimeUnit.HOURS) + .maximumSize(1000) + .build(); + + return new org.springframework.cache.caffeine.CaffeineCacheManager() { + protected com.github.benmanes.caffeine.cache.Cache createNativeCaffeineCache() { + return cache; + } + }; + } +} + diff --git a/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java b/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java new file mode 100644 index 00000000..a0598e9f --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java @@ -0,0 +1,23 @@ +package com.commerce.backend.config; + +import com.commerce.backend.interceptor.RateLimiterInterceptor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfiguration implements WebMvcConfigurer { + + private final RateLimiterInterceptor rateLimiterInterceptor; + + @Autowired + public WebConfiguration(RateLimiterInterceptor rateLimiterInterceptor) { + this.rateLimiterInterceptor = rateLimiterInterceptor; + } + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(rateLimiterInterceptor).addPathPatterns("/product/search"); + } +} diff --git a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java new file mode 100644 index 00000000..a68cd637 --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java @@ -0,0 +1,47 @@ +package com.commerce.backend.interceptor; + +import com.github.benmanes.caffeine.cache.Cache; +import com.github.benmanes.caffeine.cache.Caffeine; +import io.github.bucket4j.Bandwidth; +import io.github.bucket4j.Bucket; +import io.github.bucket4j.Bucket4j; +import io.github.bucket4j.Refill; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.time.Duration; +import java.util.concurrent.TimeUnit; + +@Component +public class RateLimiterInterceptor implements HandlerInterceptor { + + private final Cache cache; + + public RateLimiterInterceptor() { + this.cache = Caffeine.newBuilder() + .expireAfterWrite(1, TimeUnit.HOURS) + .maximumSize(1000) + .build(); + } + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + String ip = request.getRemoteAddr(); + Bucket bucket = cache.get(ip, k -> createNewBucket()); + + if (bucket.tryConsume(1)) { + return true; + } else { + response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); + return false; + } + } + + private Bucket createNewBucket() { + Bandwidth limit = Bandwidth.classic(100, Refill.greedy(100, Duration.ofMinutes(1))); + return Bucket4j.builder().addLimit(limit).build(); + } +} From f6435c25d7554557e11a30cc1105a5e29e840af2 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 19:55:36 +0100 Subject: [PATCH 04/32] impr: add Users seeder to create users when app is started --- .../{AdminSeeder.java => UsersSeeder.java} | 52 +++++++++++++++---- 1 file changed, 41 insertions(+), 11 deletions(-) rename resource_server/src/main/java/com/commerce/backend/bootstrap/{AdminSeeder.java => UsersSeeder.java} (58%) diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/AdminSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java similarity index 58% rename from resource_server/src/main/java/com/commerce/backend/bootstrap/AdminSeeder.java rename to resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java index 4ec8898e..39ab7def 100644 --- a/resource_server/src/main/java/com/commerce/backend/bootstrap/AdminSeeder.java +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java @@ -14,14 +14,12 @@ import java.util.Optional; @Component -public class AdminSeeder implements ApplicationListener { +public class UsersSeeder implements ApplicationListener { private final RoleRepository roleRepository; private final UserRepository userRepository; - private final PasswordEncoder passwordEncoder; - - public AdminSeeder( + public UsersSeeder( RoleRepository roleRepository, UserRepository userRepository, PasswordEncoder passwordEncoder @@ -33,18 +31,49 @@ public AdminSeeder( @Override public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { - this.createSuperAdministrator(); + this.createAdministrator(); + this.createManager(); + this.createUser(); + } + + private void createAdministrator() { + Optional optionalRole = roleRepository.findByName(RoleEnum.ADMIN); + + if (optionalRole.isEmpty()) { + return; + } + + createUserWithRole("admin@email.com", "123456", optionalRole.get()); + } + + private void createManager() { + Optional optionalRole = roleRepository.findByName(RoleEnum.MANAGER); + + if (optionalRole.isEmpty()) { + return; + } + + createUserWithRole("manager@email.com", "123456", optionalRole.get()); } - private void createSuperAdministrator() { + private void createUser() { + Optional optionalRole = roleRepository.findByName(RoleEnum.USER); + + if (optionalRole.isEmpty()) { + return; + } + + createUserWithRole("user1@email.com", "123456", optionalRole.get()); + } + + private void createUserWithRole(String email, String password, Role role) { RegisterUserRequest userDto = new RegisterUserRequest(); - userDto.setEmail("admin@email.com"); - userDto.setPassword("123456"); + userDto.setEmail(email); + userDto.setPassword(password); - Optional optionalRole = roleRepository.findByName(RoleEnum.ADMIN); Optional optionalUser = userRepository.findByEmail(userDto.getEmail()); - if (optionalRole.isEmpty() || optionalUser.isPresent()) { + if (optionalUser.isPresent()) { return; } @@ -52,7 +81,8 @@ private void createSuperAdministrator() { user.setEmail(userDto.getEmail()); user.setPassword(passwordEncoder.encode(userDto.getPassword())); - user.setRole(optionalRole.get()); + user.setEmailVerified(1); + user.setRole(role); userRepository.save(user); } From 2792d7219c2acf226b346626071f8ae646ead618 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 19:56:16 +0100 Subject: [PATCH 05/32] impr: add roles to extractAuthorities --- .../com/commerce/backend/api/UserController.java | 1 - .../CustomAuthoritiesOpaqueTokenIntrospector.java | 13 +++++++++++-- .../backend/security/SecurityConfiguration.java | 3 ++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/resource_server/src/main/java/com/commerce/backend/api/UserController.java b/resource_server/src/main/java/com/commerce/backend/api/UserController.java index 209de9fd..fce54060 100644 --- a/resource_server/src/main/java/com/commerce/backend/api/UserController.java +++ b/resource_server/src/main/java/com/commerce/backend/api/UserController.java @@ -12,7 +12,6 @@ import javax.validation.Valid; - @RestController public class UserController extends ApiController { diff --git a/resource_server/src/main/java/com/commerce/backend/security/CustomAuthoritiesOpaqueTokenIntrospector.java b/resource_server/src/main/java/com/commerce/backend/security/CustomAuthoritiesOpaqueTokenIntrospector.java index 85fb7818..8b57c245 100644 --- a/resource_server/src/main/java/com/commerce/backend/security/CustomAuthoritiesOpaqueTokenIntrospector.java +++ b/resource_server/src/main/java/com/commerce/backend/security/CustomAuthoritiesOpaqueTokenIntrospector.java @@ -42,12 +42,21 @@ public CustomAuthoritiesOpaqueTokenIntrospector(RestTemplateBuilder restTemplate public OAuth2AuthenticatedPrincipal introspect(String token) { OAuth2AuthenticatedPrincipal principal = this.delegate.introspect(token); return new DefaultOAuth2AuthenticatedPrincipal( - principal.getAttribute(authUsername), principal.getAttributes(), extractAuthorities(principal)); + principal.getAttribute(authUsername), principal.getAttributes(), extractAuthorities(principal) + ); } private Collection extractAuthorities(OAuth2AuthenticatedPrincipal principal) { List scopes = principal.getAttribute(OAuth2IntrospectionClaimNames.SCOPE); - return Objects.requireNonNull(scopes).stream() + + List authorities = principal.getAttribute("authorities"); + + Objects.requireNonNull(scopes); + Objects.requireNonNull(authorities); + + authorities.addAll(scopes); + + return authorities.stream() .map(SimpleGrantedAuthority::new) .collect(Collectors.toList()); } diff --git a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java index ec1d03a0..b38cb3e7 100644 --- a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java +++ b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java @@ -4,13 +4,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector; +@Configuration @EnableWebSecurity public class SecurityConfiguration extends WebSecurityConfigurerAdapter { From 4fb01c0953fba9695f4bc3cda250a57644fd6203 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 21:24:09 +0100 Subject: [PATCH 06/32] fix: remove users seed --- resource_server/entrypoint.sh | 0 .../backend/bootstrap/UsersSeeder.java | 178 +++++++++--------- 2 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 resource_server/entrypoint.sh diff --git a/resource_server/entrypoint.sh b/resource_server/entrypoint.sh deleted file mode 100644 index e69de29b..00000000 diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java index 39ab7def..1ace836f 100644 --- a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java @@ -1,89 +1,89 @@ -package com.commerce.backend.bootstrap; - -import com.commerce.backend.dao.RoleRepository; -import com.commerce.backend.dao.UserRepository; -import com.commerce.backend.model.entity.Role; -import com.commerce.backend.model.entity.RoleEnum; -import com.commerce.backend.model.entity.User; -import com.commerce.backend.model.request.user.RegisterUserRequest; -import org.springframework.context.ApplicationListener; -import org.springframework.context.event.ContextRefreshedEvent; -import org.springframework.security.crypto.password.PasswordEncoder; -import org.springframework.stereotype.Component; - -import java.util.Optional; - -@Component -public class UsersSeeder implements ApplicationListener { - private final RoleRepository roleRepository; - private final UserRepository userRepository; - private final PasswordEncoder passwordEncoder; - - public UsersSeeder( - RoleRepository roleRepository, - UserRepository userRepository, - PasswordEncoder passwordEncoder - ) { - this.roleRepository = roleRepository; - this.userRepository = userRepository; - this.passwordEncoder = passwordEncoder; - } - - @Override - public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { - this.createAdministrator(); - this.createManager(); - this.createUser(); - } - - private void createAdministrator() { - Optional optionalRole = roleRepository.findByName(RoleEnum.ADMIN); - - if (optionalRole.isEmpty()) { - return; - } - - createUserWithRole("admin@email.com", "123456", optionalRole.get()); - } - - private void createManager() { - Optional optionalRole = roleRepository.findByName(RoleEnum.MANAGER); - - if (optionalRole.isEmpty()) { - return; - } - - createUserWithRole("manager@email.com", "123456", optionalRole.get()); - } - - private void createUser() { - Optional optionalRole = roleRepository.findByName(RoleEnum.USER); - - if (optionalRole.isEmpty()) { - return; - } - - createUserWithRole("user1@email.com", "123456", optionalRole.get()); - } - - private void createUserWithRole(String email, String password, Role role) { - RegisterUserRequest userDto = new RegisterUserRequest(); - userDto.setEmail(email); - userDto.setPassword(password); - - Optional optionalUser = userRepository.findByEmail(userDto.getEmail()); - - if (optionalUser.isPresent()) { - return; - } - - User user = new User(); - - user.setEmail(userDto.getEmail()); - user.setPassword(passwordEncoder.encode(userDto.getPassword())); - user.setEmailVerified(1); - user.setRole(role); - - userRepository.save(user); - } -} +//package com.commerce.backend.bootstrap; +// +//import com.commerce.backend.dao.RoleRepository; +//import com.commerce.backend.dao.UserRepository; +//import com.commerce.backend.model.entity.Role; +//import com.commerce.backend.model.entity.RoleEnum; +//import com.commerce.backend.model.entity.User; +//import com.commerce.backend.model.request.user.RegisterUserRequest; +//import org.springframework.context.ApplicationListener; +//import org.springframework.context.event.ContextRefreshedEvent; +//import org.springframework.security.crypto.password.PasswordEncoder; +//import org.springframework.stereotype.Component; +// +//import java.util.Optional; +// +//@Component +//public class UsersSeeder implements ApplicationListener { +// private final RoleRepository roleRepository; +// private final UserRepository userRepository; +// private final PasswordEncoder passwordEncoder; +// +// public UsersSeeder( +// RoleRepository roleRepository, +// UserRepository userRepository, +// PasswordEncoder passwordEncoder +// ) { +// this.roleRepository = roleRepository; +// this.userRepository = userRepository; +// this.passwordEncoder = passwordEncoder; +// } +// +// @Override +// public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { +// this.createAdministrator(); +// this.createManager(); +// this.createUser(); +// } +// +// private void createAdministrator() { +// Optional optionalRole = roleRepository.findByName(RoleEnum.ADMIN); +// +// if (optionalRole.isEmpty()) { +// return; +// } +// +// createUserWithRole("admin@email.com", "123456", optionalRole.get()); +// } +// +// private void createManager() { +// Optional optionalRole = roleRepository.findByName(RoleEnum.MANAGER); +// +// if (optionalRole.isEmpty()) { +// return; +// } +// +// createUserWithRole("manager@email.com", "123456", optionalRole.get()); +// } +// +// private void createUser() { +// Optional optionalRole = roleRepository.findByName(RoleEnum.USER); +// +// if (optionalRole.isEmpty()) { +// return; +// } +// +// createUserWithRole("user1@email.com", "123456", optionalRole.get()); +// } +// +// private void createUserWithRole(String email, String password, Role role) { +// RegisterUserRequest userDto = new RegisterUserRequest(); +// userDto.setEmail(email); +// userDto.setPassword(password); +// +// Optional optionalUser = userRepository.findByEmail(userDto.getEmail()); +// +// if (optionalUser.isPresent()) { +// return; +// } +// +// User user = new User(); +// +// user.setEmail(userDto.getEmail()); +// user.setPassword(passwordEncoder.encode(userDto.getPassword())); +// user.setEmailVerified(1); +// user.setRole(role); +// +// userRepository.save(user); +// } +//} From 2a999d5fae7b400c60280edf8405a5f54082496a Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 21:30:42 +0100 Subject: [PATCH 07/32] fix: add creation of role when it doesn't exist --- .../commerce/backend/service/UserServiceImpl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java index 1f491942..505c26c2 100644 --- a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java +++ b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java @@ -52,13 +52,20 @@ public User register(RegisterUserRequest registerUserRequest) { user.setPassword(passwordEncoder.encode(registerUserRequest.getPassword())); user.setEmailVerified(0); - Optional role = roleRepository.findByName(RoleEnum.USER); + Optional roleOpt = roleRepository.findByName(RoleEnum.USER); - if (role.isEmpty()) { - throw new InvalidArgumentException("User role does not exist"); + Role role; + + if (roleOpt.isEmpty()) { + role = new Role(); + role.setName(RoleEnum.USER); + + roleRepository.save(role); + } else { + role = roleOpt.get(); } - user.setRole(role.get()); + user.setRole(role); return userRepository.save(user); } From e3ab2a9a51fafcee7f1b1b658cac01f2e9ffc8e5 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 21:41:40 +0100 Subject: [PATCH 08/32] impr: update UserServiceImplTest to fit the new roles --- .../commerce/backend/service/UserServiceImpl.java | 15 ++++----------- .../backend/service/UserServiceImplTest.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java index 505c26c2..1f491942 100644 --- a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java +++ b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java @@ -52,20 +52,13 @@ public User register(RegisterUserRequest registerUserRequest) { user.setPassword(passwordEncoder.encode(registerUserRequest.getPassword())); user.setEmailVerified(0); - Optional roleOpt = roleRepository.findByName(RoleEnum.USER); + Optional role = roleRepository.findByName(RoleEnum.USER); - Role role; - - if (roleOpt.isEmpty()) { - role = new Role(); - role.setName(RoleEnum.USER); - - roleRepository.save(role); - } else { - role = roleOpt.get(); + if (role.isEmpty()) { + throw new InvalidArgumentException("User role does not exist"); } - user.setRole(role); + user.setRole(role.get()); return userRepository.save(user); } diff --git a/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java b/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java index bfcf7c75..15df8139 100644 --- a/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java +++ b/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java @@ -1,9 +1,12 @@ package com.commerce.backend.service; import com.commerce.backend.converter.user.UserResponseConverter; +import com.commerce.backend.dao.RoleRepository; import com.commerce.backend.dao.UserRepository; import com.commerce.backend.error.exception.InvalidArgumentException; import com.commerce.backend.error.exception.ResourceNotFoundException; +import com.commerce.backend.model.entity.Role; +import com.commerce.backend.model.entity.RoleEnum; import com.commerce.backend.model.entity.User; import com.commerce.backend.model.request.user.PasswordResetRequest; import com.commerce.backend.model.request.user.RegisterUserRequest; @@ -46,6 +49,9 @@ class UserServiceImplTest { @Mock private UserRepository userRepository; + @Mock + private RoleRepository roleRepository; + @Mock private PasswordEncoder passwordEncoder; @@ -114,9 +120,13 @@ void it_should_register_a_user() { registerUserRequest.setPassword(password); ArgumentCaptor userArgumentCaptor = ArgumentCaptor.forClass(User.class); + Role role = new Role(); + role.setId(1L); + role.setName(RoleEnum.USER); User userExpected = new User(); given(userRepository.existsByEmail(email)).willReturn(false); + given(roleRepository.findByName(RoleEnum.USER)).willReturn(Optional.of(role)); given(passwordEncoder.encode(password)).willReturn(password); given(userRepository.save(any(User.class))).willReturn(userExpected); From d8a5dcde9da655a704f9213b49279d55e6248729 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 21:47:19 +0100 Subject: [PATCH 09/32] chore: uncomment code from UsersSeeder --- .../backend/bootstrap/UsersSeeder.java | 178 +++++++++--------- 1 file changed, 89 insertions(+), 89 deletions(-) diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java index 1ace836f..1afc1442 100644 --- a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java @@ -1,89 +1,89 @@ -//package com.commerce.backend.bootstrap; -// -//import com.commerce.backend.dao.RoleRepository; -//import com.commerce.backend.dao.UserRepository; -//import com.commerce.backend.model.entity.Role; -//import com.commerce.backend.model.entity.RoleEnum; -//import com.commerce.backend.model.entity.User; -//import com.commerce.backend.model.request.user.RegisterUserRequest; -//import org.springframework.context.ApplicationListener; -//import org.springframework.context.event.ContextRefreshedEvent; -//import org.springframework.security.crypto.password.PasswordEncoder; -//import org.springframework.stereotype.Component; -// -//import java.util.Optional; -// -//@Component -//public class UsersSeeder implements ApplicationListener { -// private final RoleRepository roleRepository; -// private final UserRepository userRepository; -// private final PasswordEncoder passwordEncoder; -// -// public UsersSeeder( -// RoleRepository roleRepository, -// UserRepository userRepository, -// PasswordEncoder passwordEncoder -// ) { -// this.roleRepository = roleRepository; -// this.userRepository = userRepository; -// this.passwordEncoder = passwordEncoder; -// } -// -// @Override -// public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { -// this.createAdministrator(); -// this.createManager(); -// this.createUser(); -// } -// -// private void createAdministrator() { -// Optional optionalRole = roleRepository.findByName(RoleEnum.ADMIN); -// -// if (optionalRole.isEmpty()) { -// return; -// } -// -// createUserWithRole("admin@email.com", "123456", optionalRole.get()); -// } -// -// private void createManager() { -// Optional optionalRole = roleRepository.findByName(RoleEnum.MANAGER); -// -// if (optionalRole.isEmpty()) { -// return; -// } -// -// createUserWithRole("manager@email.com", "123456", optionalRole.get()); -// } -// -// private void createUser() { -// Optional optionalRole = roleRepository.findByName(RoleEnum.USER); -// -// if (optionalRole.isEmpty()) { -// return; -// } -// -// createUserWithRole("user1@email.com", "123456", optionalRole.get()); -// } -// -// private void createUserWithRole(String email, String password, Role role) { -// RegisterUserRequest userDto = new RegisterUserRequest(); -// userDto.setEmail(email); -// userDto.setPassword(password); -// -// Optional optionalUser = userRepository.findByEmail(userDto.getEmail()); -// -// if (optionalUser.isPresent()) { -// return; -// } -// -// User user = new User(); -// -// user.setEmail(userDto.getEmail()); -// user.setPassword(passwordEncoder.encode(userDto.getPassword())); -// user.setEmailVerified(1); -// user.setRole(role); -// -// userRepository.save(user); -// } -//} +package com.commerce.backend.bootstrap; + +import com.commerce.backend.dao.RoleRepository; +import com.commerce.backend.dao.UserRepository; +import com.commerce.backend.model.entity.Role; +import com.commerce.backend.model.entity.RoleEnum; +import com.commerce.backend.model.entity.User; +import com.commerce.backend.model.request.user.RegisterUserRequest; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Component; + +import java.util.Optional; + +@Component +public class UsersSeeder implements ApplicationListener { + private final RoleRepository roleRepository; + private final UserRepository userRepository; + private final PasswordEncoder passwordEncoder; + + public UsersSeeder( + RoleRepository roleRepository, + UserRepository userRepository, + PasswordEncoder passwordEncoder + ) { + this.roleRepository = roleRepository; + this.userRepository = userRepository; + this.passwordEncoder = passwordEncoder; + } + + @Override + public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { + this.createAdministrator(); + this.createManager(); + this.createUser(); + } + + private void createAdministrator() { + Optional optionalRole = roleRepository.findByName(RoleEnum.ADMIN); + + if (optionalRole.isEmpty()) { + return; + } + + createUserWithRole("admin@email.com", "123456", optionalRole.get()); + } + + private void createManager() { + Optional optionalRole = roleRepository.findByName(RoleEnum.MANAGER); + + if (optionalRole.isEmpty()) { + return; + } + + createUserWithRole("manager@email.com", "123456", optionalRole.get()); + } + + private void createUser() { + Optional optionalRole = roleRepository.findByName(RoleEnum.USER); + + if (optionalRole.isEmpty()) { + return; + } + + createUserWithRole("user1@email.com", "123456", optionalRole.get()); + } + + private void createUserWithRole(String email, String password, Role role) { + RegisterUserRequest userDto = new RegisterUserRequest(); + userDto.setEmail(email); + userDto.setPassword(password); + + Optional optionalUser = userRepository.findByEmail(userDto.getEmail()); + + if (optionalUser.isPresent()) { + return; + } + + User user = new User(); + + user.setEmail(userDto.getEmail()); + user.setPassword(passwordEncoder.encode(userDto.getPassword())); + user.setEmailVerified(1); + user.setRole(role); + + userRepository.save(user); + } +} From b5eef96298323569ba087f6bd7c637f15196c735 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 21:53:14 +0100 Subject: [PATCH 10/32] chore: change UsersSeeder class --- .../java/com/commerce/backend/bootstrap/UsersSeeder.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java index 1afc1442..1bf1eadf 100644 --- a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java @@ -6,15 +6,14 @@ import com.commerce.backend.model.entity.RoleEnum; import com.commerce.backend.model.entity.User; import com.commerce.backend.model.request.user.RegisterUserRequest; -import org.springframework.context.ApplicationListener; -import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.boot.CommandLineRunner; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Component; import java.util.Optional; @Component -public class UsersSeeder implements ApplicationListener { +public class UsersSeeder implements CommandLineRunner { private final RoleRepository roleRepository; private final UserRepository userRepository; private final PasswordEncoder passwordEncoder; @@ -30,7 +29,7 @@ public UsersSeeder( } @Override - public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) { + public void run(String... args) { this.createAdministrator(); this.createManager(); this.createUser(); From 6e3d8246084abf9499ed5cfbf2131503721e8802 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 21:58:59 +0100 Subject: [PATCH 11/32] chore: add autowired annotation --- .../main/java/com/commerce/backend/bootstrap/UsersSeeder.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java index 1bf1eadf..89b27766 100644 --- a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java @@ -6,6 +6,7 @@ import com.commerce.backend.model.entity.RoleEnum; import com.commerce.backend.model.entity.User; import com.commerce.backend.model.request.user.RegisterUserRequest; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Component; @@ -14,10 +15,12 @@ @Component public class UsersSeeder implements CommandLineRunner { + private final RoleRepository roleRepository; private final UserRepository userRepository; private final PasswordEncoder passwordEncoder; + @Autowired public UsersSeeder( RoleRepository roleRepository, UserRepository userRepository, From 68ae62268010203ce67300c14f7ecded7ea0d02a Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 22:02:42 +0100 Subject: [PATCH 12/32] chore: add profile to UsersSeeder --- .../main/java/com/commerce/backend/bootstrap/UsersSeeder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java index 89b27766..dcf0bd15 100644 --- a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java @@ -8,12 +8,14 @@ import com.commerce.backend.model.request.user.RegisterUserRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; +import org.springframework.context.annotation.Profile; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Component; import java.util.Optional; @Component +@Profile("Seed") public class UsersSeeder implements CommandLineRunner { private final RoleRepository roleRepository; From f82e244ee79284babc33ac73e499f48fe11eadff Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sat, 8 Jun 2024 22:27:47 +0100 Subject: [PATCH 13/32] chore: Implemented code to make UC7 comply with ASVS 5.3.3 --- ...Use Case 7 - Implementa\303\247\303\243o.md" | 13 ++++++++++++- .../Implementation/Use Case 7/img/ecoder.png | Bin 0 -> 46314 bytes .../backend/service/UserServiceImpl.java | 8 ++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/ecoder.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" index 157085d6..16b2ac8c 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" @@ -38,4 +38,15 @@ ASVS 5.3.8: Verify that the application protects against OS command injection an Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necessários. -## Implementação dos ASVS \ No newline at end of file +## Implementação dos ASVS + +### ASVS 5.3.3 + +Tal como na implementação feita na UC3, para implementar a ASVS 5.3.3 e proteger contra injeção de código malicioso durante o registro de utilizadores, +é preciso sanitizar os dados que o utilizador envia no processo de resgisto. + +Para isso utilizou-se novamente o OWASP Java Encoder: + +![ecoder.png](img%2Fecoder.png) +
+
\ No newline at end of file diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/ecoder.png b/Deliverables/Phase2/Implementation/Use Case 7/img/ecoder.png new file mode 100644 index 0000000000000000000000000000000000000000..969e161f5464b7aa22d8a497d035f5cf3aabd675 GIT binary patch literal 46314 zcmdSBWmsIx)-_5J2ofv=Nu$9XLgOB2+}$MvcXvy02<}cAcXti$?(XjHa63EM=j`{~ zbD#Tu_uuV5{dBEfwW?;#npJa*Q7ceJN*DPp(ukNnkT+9f+h>eCpq+>G4s7+Wp`6r?32hA#w$?d+~41nmbo z>nNfG`Xivcp?K4JtbTAg4>=D#4OV16tM<&oi6h*D>83AULD~cPG7bz51i$SCA6-j3)@2j?u9FSJqgTd9rjW?Vj?T!Ce5Z=p zs2_bH*&iCtw-m@!tfJ?J+xQ6FnXLFcUMiCMw5YcXC>aqjK3`w)R?aPeGn6w*SqY)7 zBh`dz6N)k7pWLa>$o%1et24!Gmh-#2>b%6FyA*TgObz^1}V(t3S3@Fr=m za}uu&Lwsb&UDPbyQq=JU79|L0+v{*XSJAfuR*&MZ+J3^UtNRi0Sskm5i0fLBa6gJJ z^5r^E?OfVfvGHdD#dlG057JE>UNhz4;mttX8#j|KZq|MB`!%poP#PaSdPbsGnAJxP zC6v4o!ezb^nRp?m!crOm)R@rRO6mG^a(F@1&W5oDeNH_U&pLy{gH;p z&u1K^aFgAJhP_S|7I0Wo-sV#)m#VTl;|zeHvOTAzzuE;E;SLl)KB9;Io8nla$cep` z!IU30u`5TMt(Fd6L6FvcLF7?+*T?>-Ot(-4bDf_;Rk7wV(#ojA7dg({$p5(tW|>x3 zP$$)?6+1J$Z)0iuI>u2N4-q+ zLe_eH9}V8XP^JFRbZwfPADzhI?vW|B*%U2ABWeE>Y)Q2F0oZfP&uG*vxc5N$j=Kyd zA@R{>vv`4LgASDEQ8M3dWg~Zk%=9l@y!zpn_f(4>_$=$Yhn*-V87LQgRQqMmT)^nNPEvH3%nw7+Qls3 zEGu5vl=X|n_C_Ay2RK$poy3xZ7?kR^kbif~ib{$Iv@4lDcp8l;NZM-o5Dgxv=X(5P z1mBbtr5+)TFfPenV`($}jn*kMnI7aFs&o>j?WBCv)-zJ5iz6DQN6|$!z3}39Wm27@ zdPZMLXE7HN1$t%pD62qB%gzFnJ%<5uC$x6~XtoUdXEg}?=XZG+xBL!*Ji!T$Zd5eX zQRrvI7r}2L!L_q8^#9Q`U!yhskuU028VXj2P9r$-Ry4FAdCs?&tz=4^WL0$@rGct( z+D)|0`aIP{1YHMh3usiTI@pP%v{Z4KWl6wO{&&ZHn)v#;$4y|ZLYqOn-wj<+xFG~# z@HHHW-lA)sd{>_Ex}3*qJ)CVEo<1&3E3w3)lT9nZI_K3MF6?h%&ahWUt%(_T9yJ^b z1ju@8$r+BQnvYz6C3_S0R(w*DtkE`!*;_Zk41$wJT)xEncn>#zpwJE>VA4oZHlWw>!W)+-qMeYz+f|os zcUG`NQ^|VW?;rz}jOMAI%evq@ciF5lj`I7)WQ1@qdBgwqXHZ3-%%7IC!F&MyX(SXB z5dC*49Mu1NVJ!_@o188BF51;|APf{#E!U5e!sG>#ycJG688~dwKU+qm+L6bW2Rub@NCKL~F zJi=y1d?;I)O7A^0?zbooZmexahN7e0rURWLkS?or_@-9+a%rE{us#RXHCKJ_=i+|H zPn~mx-CKj)n_@JKlKgTOkF$(9xwR`mA$y!MX^ORC9JHqgKfJ8UM


_vt_t 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 Date: Sat, 8 Jun 2024 22:39:52 +0100 Subject: [PATCH 14/32] chore: Implemented code to make UC7 comply with ASVS 8.1.4 --- ...Use Case 7 - Implementa\303\247\303\243o.md" | 13 ++++++++++++- .../Use Case 7/img/interceptor.png | Bin 0 -> 24127 bytes .../backend/config/WebConfiguration.java | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/interceptor.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" index 16b2ac8c..0e85adbd 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" @@ -49,4 +49,15 @@ Para isso utilizou-se novamente o OWASP Java Encoder: ![ecoder.png](img%2Fecoder.png)
-
\ No newline at end of file +
+ +### ASVS 8.1.4 + +Tal como já foi descrito no [Use Case 3 - Implementação.md](..%2FUse%20Case%203%2FUse%20Case%203%20-%20Implementa%E7%E3o.md), +para implementar o ASVS 8.1.4 na aplicação, foi criado o componente RateLimiterInterceptor, responsável por controlar a quantidade de solicitações recebidas por IP. + +Para permitir que aplicacão seja capaz de detectar e alertar sobre números anormais de solicitações, basta +adicionar o endpoint que é chamado no momento do registo ("/account/registration"), ao ficheiro de configuração +que define quais os endpoints que deve ser monitorados pelo interceptor: + +![interceptor.png](img%2Finterceptor.png) \ No newline at end of file diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/interceptor.png b/Deliverables/Phase2/Implementation/Use Case 7/img/interceptor.png new file mode 100644 index 0000000000000000000000000000000000000000..644ed46097d8fab1c62c71c3955d25b3a9a26e2a GIT binary patch literal 24127 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
LQ-$$HU_6xB=kYgDTjL9WSu^OCx@w(PzXnfDD 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 z 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 Date: Sat, 8 Jun 2024 22:52:20 +0100 Subject: [PATCH 15/32] impr: add profile to dockerfile --- resource_server/Dockerfile | 3 +-- resource_server/pom.xml | 9 +++++++++ .../java/com/commerce/backend/bootstrap/UsersSeeder.java | 2 +- resource_server/src/main/resources/application.yml | 2 ++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/resource_server/Dockerfile b/resource_server/Dockerfile index 1c41b016..08d6d013 100644 --- a/resource_server/Dockerfile +++ b/resource_server/Dockerfile @@ -5,8 +5,7 @@ WORKDIR /build COPY pom.xml . COPY src src -RUN mvn package -DskipTests - +RUN mvn package -DskipTests -Pseed FROM adoptopenjdk:11-jre-hotspot WORKDIR /app diff --git a/resource_server/pom.xml b/resource_server/pom.xml index 5c2456b9..62606964 100644 --- a/resource_server/pom.xml +++ b/resource_server/pom.xml @@ -183,4 +183,13 @@ + + + seed + + seed + + + + diff --git a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java index dcf0bd15..dad62a56 100644 --- a/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java +++ b/resource_server/src/main/java/com/commerce/backend/bootstrap/UsersSeeder.java @@ -15,7 +15,7 @@ import java.util.Optional; @Component -@Profile("Seed") +@Profile("seed") public class UsersSeeder implements CommandLineRunner { private final RoleRepository roleRepository; diff --git a/resource_server/src/main/resources/application.yml b/resource_server/src/main/resources/application.yml index 7d451602..3a7cd5b2 100644 --- a/resource_server/src/main/resources/application.yml +++ b/resource_server/src/main/resources/application.yml @@ -45,6 +45,8 @@ spring: protocol: smtp mvc: throw-exception-if-no-handler-found: true + profiles: + active: @spring.profiles.active@ security: public-pattern: /api/public/** From dda2acd3972145840f78649907706f85e24e07fb Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 23:00:37 +0100 Subject: [PATCH 16/32] impr: begin implementation of use case --- .../backend/api/ProductController.java | 11 +++++++---- .../request/product/CreateProductRequest.java | 18 ++++++++++++++++++ .../security/SecurityConfiguration.java | 2 ++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 resource_server/src/main/java/com/commerce/backend/model/request/product/CreateProductRequest.java diff --git a/resource_server/src/main/java/com/commerce/backend/api/ProductController.java b/resource_server/src/main/java/com/commerce/backend/api/ProductController.java index 0f006262..92e40bb8 100644 --- a/resource_server/src/main/java/com/commerce/backend/api/ProductController.java +++ b/resource_server/src/main/java/com/commerce/backend/api/ProductController.java @@ -1,6 +1,7 @@ package com.commerce.backend.api; import com.commerce.backend.error.exception.InvalidArgumentException; +import com.commerce.backend.model.request.product.CreateProductRequest; import com.commerce.backend.model.response.product.ProductDetailsResponse; import com.commerce.backend.model.response.product.ProductResponse; import com.commerce.backend.model.response.product.ProductVariantResponse; @@ -8,10 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; @@ -98,4 +96,9 @@ public ResponseEntity> searchProduct(@RequestParam("page") List products = productService.searchProductDisplay(keyword, page, size); return new ResponseEntity<>(products, HttpStatus.OK); } + + @PostMapping(value = "/product") + public ResponseEntity createNewProduct(@RequestBody CreateProductRequest product) { + return new ResponseEntity<>(null, HttpStatus.OK); + } } diff --git a/resource_server/src/main/java/com/commerce/backend/model/request/product/CreateProductRequest.java b/resource_server/src/main/java/com/commerce/backend/model/request/product/CreateProductRequest.java new file mode 100644 index 00000000..0518ec8d --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/model/request/product/CreateProductRequest.java @@ -0,0 +1,18 @@ +package com.commerce.backend.model.request.product; + +import lombok.Data; + +@Data +public class CreateProductRequest { + + public Long productCategoryId; + + public String sku; + + public String name; + + private String url; + + private String longDesc; + +} diff --git a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java index b38cb3e7..6aa82c07 100644 --- a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java +++ b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java @@ -5,6 +5,7 @@ import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @@ -40,6 +41,7 @@ public void configure(final HttpSecurity http) throws Exception { .csrf().disable() .authorizeRequests() .antMatchers(securityConstants.getWhitelist()).permitAll() + .antMatchers(HttpMethod.POST, "/api/product").hasAnyRole("ADMIN", "MANAGER") .anyRequest().authenticated() .and() .sessionManagement() From 00288972492867e0bcff519e63789034a0188b10 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sat, 8 Jun 2024 23:23:28 +0100 Subject: [PATCH 17/32] impr: add verification of roles in endpoints --- .../com/commerce/backend/security/SecurityConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java index b38cb3e7..1346d7f8 100644 --- a/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java +++ b/resource_server/src/main/java/com/commerce/backend/security/SecurityConfiguration.java @@ -40,7 +40,7 @@ public void configure(final HttpSecurity http) throws Exception { .csrf().disable() .authorizeRequests() .antMatchers(securityConstants.getWhitelist()).permitAll() - .anyRequest().authenticated() + .antMatchers("/api/**").hasAnyRole("ADMIN", "MANAGER", "USER") .and() .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) From 3b05982c0fdd5ec75b4e7fd75389d3109bba2675 Mon Sep 17 00:00:00 2001 From: 1200966 Date: Sun, 9 Jun 2024 00:35:09 +0100 Subject: [PATCH 18/32] fix: fix profile for seeding users --- resource_server/Dockerfile | 4 ++-- resource_server/pom.xml | 9 --------- resource_server/src/main/resources/application.yml | 2 -- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/resource_server/Dockerfile b/resource_server/Dockerfile index 08d6d013..cc0a73c5 100644 --- a/resource_server/Dockerfile +++ b/resource_server/Dockerfile @@ -5,7 +5,7 @@ WORKDIR /build COPY pom.xml . COPY src src -RUN mvn package -DskipTests -Pseed +RUN mvn package -DskipTests FROM adoptopenjdk:11-jre-hotspot WORKDIR /app @@ -13,4 +13,4 @@ WORKDIR /app COPY --from=build /build/target/*.jar resource_server.jar EXPOSE 8080 -ENTRYPOINT ["java", "-jar", "resource_server.jar"] \ No newline at end of file +ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=seed", "resource_server.jar"] \ No newline at end of file diff --git a/resource_server/pom.xml b/resource_server/pom.xml index 62606964..5c2456b9 100644 --- a/resource_server/pom.xml +++ b/resource_server/pom.xml @@ -183,13 +183,4 @@ - - - seed - - seed - - - - diff --git a/resource_server/src/main/resources/application.yml b/resource_server/src/main/resources/application.yml index 3a7cd5b2..7d451602 100644 --- a/resource_server/src/main/resources/application.yml +++ b/resource_server/src/main/resources/application.yml @@ -45,8 +45,6 @@ spring: protocol: smtp mvc: throw-exception-if-no-handler-found: true - profiles: - active: @spring.profiles.active@ security: public-pattern: /api/public/** From f3c0ef3095daa72d684d0afe55b5fe8079a71fa9 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 04:47:19 +0100 Subject: [PATCH 19/32] chore: Implemented code to make UC9 comply with ASVS 5.3.3 and ASVS 8.1.4 --- ...e Case 9 - Implementa\303\247\303\243o.md" | 29 +++++++++++++++++- .../Implementation/Use Case 9/img/error.png | Bin 0 -> 20853 bytes .../Use Case 9/img/interceptor.png | Bin 0 -> 32423 bytes .../Use Case 9/img/passwordGrammar.png | Bin 0 -> 5634 bytes .../backend/config/WebConfiguration.java | 1 + 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 9/img/error.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 9/img/interceptor.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 9/img/passwordGrammar.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" index d27217e7..9769d223 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" @@ -39,4 +39,31 @@ ASVS 9.1.1: Verificar se todas as credenciais, tokens de autenticação e inform Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necessários. -## Implementação dos ASVS \ No newline at end of file +## Implementação dos ASVS + +### ASVS 8.1.4 + +Tal como já foi descrito no [Use Case 3 - Implementação.md](..%2FUse%20Case%203%2FUse%20Case%203%20-%20Implementa%E7%E3o.md) e [Use Case 7 - Implementação.md](..%2FUse%20Case%207%2FUse%20Case%207%20-%20Implementa%E7%E3o.md), +para implementar o ASVS 8.1.4 na aplicação, foi criado o componente RateLimiterInterceptor, responsável por controlar a quantidade de solicitações recebidas por IP. + +Para permitir que aplicacão seja capaz de detectar e alertar sobre números anormais de solicitações, basta +adicionar o endpoint que é chamado no momento em que é feito o pedido de recuperação de password ("/account/password/forgot"), ao ficheiro de configuração +que define quais os endpoints que deve ser monitorados pelo interceptor: + +![interceptor.png](img%2Finterceptor.png) +
+
+ +### ASVS 5.3.3 + +Tal como na implementação feita no [Use Case 7 - Implementação.md](..%2FUse%20Case%207%2FUse%20Case%207%20-%20Implementa%E7%E3o.md), no momento em que o utilizador introduz um e-mails +é feito primeiro uma validação do texto introduzido utilizando uma gramática que valida se o texto tem o formato de um e-mails: + +![passwordGrammar.png](img%2FpasswordGrammar.png) + +Caso o texto introduzido não tenha o formato de e-mails, não lhe é permitida a sumbissão, e uma mensagem de erro é mostrada. + +![error.png](img%2Ferror.png) + +Além disso, todos os e-mails e senhas são apenas armazenados na base de dados e nunca são exibidos na UI, o que ajuda a proteger a aplicação. +No entanto, a proteção contra XSS refletido, armazenado e baseado em DOM é garantida principalmente pelas medidas de sanitização e validação implementadas tanto no front-end quanto no back-end, estando assim de acordo com o ASVS 5.3.3. \ No newline at end of file diff --git a/Deliverables/Phase2/Implementation/Use Case 9/img/error.png b/Deliverables/Phase2/Implementation/Use Case 9/img/error.png new file mode 100644 index 0000000000000000000000000000000000000000..c23584dbdbb0c591838e9f19c7f60501b0952dd2 GIT binary patch literal 20853 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 OMV+>Cu&g-g758uS&X{HZ literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 9/img/interceptor.png b/Deliverables/Phase2/Implementation/Use Case 9/img/interceptor.png new file mode 100644 index 0000000000000000000000000000000000000000..1767ef309a52a0451f194843f98d3c242b7b50ba GIT binary patch literal 32423 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 literal 0 HcmV?d00001 diff --git a/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java b/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java index 0fd198ce..5fa45a8c 100644 --- a/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java +++ b/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java @@ -20,5 +20,6 @@ public WebConfiguration(RateLimiterInterceptor rateLimiterInterceptor) { public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(rateLimiterInterceptor).addPathPatterns("/product/search"); registry.addInterceptor(rateLimiterInterceptor).addPathPatterns("/account/registration"); + registry.addInterceptor(rateLimiterInterceptor).addPathPatterns("/account/password/forgot"); } } From e7d6c200421671271235b498db36978aa855e340 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 14:44:19 +0100 Subject: [PATCH 20/32] docs: Changed doc about ASVS 5.3.3 --- ...e Case 7 - Implementa\303\247\303\243o.md" | 18 +++++++++++++----- .../Implementation/Use Case 7/img/error.png | Bin 0 -> 24002 bytes .../Use Case 7/img/passwordGrammar.png | Bin 0 -> 5189 bytes 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/error.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/passwordGrammar.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" index 0e85adbd..961d9f77 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" @@ -42,14 +42,22 @@ Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necess ### ASVS 5.3.3 -Tal como na implementação feita na UC3, para implementar a ASVS 5.3.3 e proteger contra injeção de código malicioso durante o registro de utilizadores, -é preciso sanitizar os dados que o utilizador envia no processo de resgisto. +No momento em que o utilizador introduz um e-mails é feito primeiro uma validação desse texto introduzido +utilizando uma gramática que valida se o texto tem o formato de um e-mail: -Para isso utilizou-se novamente o OWASP Java Encoder: +![passwordGrammar.png](img%2FpasswordGrammar.png) + +Caso o texto introduzido não tenha o formato de e-mails, não lhe é permitida a sumbissão, e uma mensagem de erro é mostrada. + +![error.png](img%2Ferror.png) + +Quanto à Pasword, está não é validada no front-end, mas sim no back-end, através da utilização +do Encoder, da biblioteca OWASP Java Encoder, que faz a sanitização tanto do email como a password. ![ecoder.png](img%2Fecoder.png) -
-
+ +Além disso, todos os e-mails e senhas são apenas armazenados na base de dados e nunca são exibidos na UI, o que ajuda a proteger a aplicação. +No entanto, a proteção contra XSS refletido, armazenado e baseado em DOM é garantida principalmente pelas medidas de sanitização e validação implementadas tanto no front-end quanto no back-end, estando assim de acordo com o ASVS 5.3.3. ### ASVS 8.1.4 diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/error.png b/Deliverables/Phase2/Implementation/Use Case 7/img/error.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fb14aaad4a9bd85b2f18c59b830600379478ab GIT binary patch literal 24002 zcmdSBbx>Siw{2yP*`TX1)8LU4!R+JWFSP9xoP zGtKXv_s-mzTQ&cDQ#IeAs6Knwu5;E|d+mMJde*Z}ThjE zBKtT;#ryZZ$M0-eA{?G5mX|CndBIN#3WD*t?PKDfGP060yyqV%jkG;Yh&UsNG!J29 zeK8_~|3WrcpXVDs%b%cYNv&sEB`PFxQ9q(a?px-Kd9-YDmu+&(FQnj|Q(qz?BK*Tt z5KjmQ2yjfWy%-o6=zf_pGccUf|6gxxo|&H5R>{plUuX)mXem2!k35fcvaPO`c5(>! zCG`^3hnAMl_fC}sD)1I4n}n8Uj@xQjSN@*)GC!i8WL(x%4)~gHJX_}VDLf)#NYO`l zQS6f^3(aJhih|~;?oI4f!<$07`^ThRKw5Ny;;w6Cl)&^1es(<;3Eu2Q-EZyCkO~{d zSK`k?$FJTvI&!?TUR6?}{u>{Viha=XWx|@+QTMYQkAvE*eKnVfqN42Lm;j;%r6nMJ z4dzv(MnT<~X6%~nnr|N`8c^e$;nje6c#K8U6m1JtzEtwF`*f^YmNTtb)04MHXV@{3 zInhhgJ@1!%(Z>(ex-id(GD$5aeklv~aGFFLe2Xg}g^EW;M0AGhJoS6Orv&NvT^u+Q z#*>>7@RVd&(fscP+v4i^(TAVn5+EqT`>hz{DM2|FiHZcKH^BYg$bu-2bXOO zvy?W7)=r|VtH5lGEjZwOwMds=;!%EnK7z@Iox!?VW?y0^>0>QdL~mtm>eQ^y3$|Wn z#ONUrdK%Gq~6+h>*rTVW77U{#;aqhy+b^O32GjAVZXC6{WnA^C47jo zx$|rdqMT~I_s+~<3`&`2gy(F|e+Oa@NA5B&$<9eWmb>GrO<&#?E~3r~h%+E+2CbD6&UIR@Qi&EqHAs-v>zNXH>!a{kUyK z${f(N>c{z{h1-Tk8zA<)Ya1qXXnHS={l@{1Uec0MotOVuPbclziEjU%Sda!ldJjI} zUM%Ua?A>7V^m3{!t(2<}Ur?2m-7+&KfW+m9?+Tq0d>sVHv|-w=!r6?|c_@Z6Rjx5Q zNC_Y|VBKKXo-&p@$YW%CAR+R67HhEznk2$!p-5mH|6IXm)ypu*g=|nqxqsFcnz&2) zlEqC_8lmMxjbNvpMo`}-FUOD3Gcdq7fx?U1?rRu6+MU2YXP~x!^17+$*6}w2C*||D zV_$Mn(J6hM(5T0`XU<>WnOM;RsiyUf!s^}NHvJVV0|cmr0Hlh?K>ZNl{G;ClJhNIN z0)kuo2W9_%&^TK*?Y6mj;t8`((wW;(2MTgZ6||B+!3dvjia3tf># zO{c<6@)$?D3GZO%7oDdakeKsw1KakQ^1x`+j(0eG_g!QMXXBWphx6Kl{6JQgKWmse z5x8SVi{}M&mZlweiCW9YmN`IJR>xq7k+IKDchsOQEKAfutAPp=mRCPZ|`GGD~@sPH@Tn@>VmEOp9Fm>B?nhy5*T{oeZp zFj0mr;XJ-}P;|X*#t4t5;b=8fkF>@U?C~_RttLjyEmjBq&8%1r{keoOl^2Lu`K=xq zMGB2Jb{1|<_y7KI<>TjJ8szyiJzR$wFq#@K5eGuTcpvAAB^Pc2Bvq7I)QFd%WLoqL z^c-wdDpH4)uE08eVz=kqvt-n^=stZF`6;`F&DAl8lb3J7>=ykDZ1hanXeoHYIdj-B ztC^sr0q<`;Fudx*jWbY4kc@=#0`{8Ktq{NMq{H{41yjAu>mIJMM>!pKHnm|EnG)kL zF$YAZTe4Gj*i73HoBIvho$;9^h-XnkHg3oMxZH$>`j&A-9AV_N*S&2T=n$x znafQV-JaNZ#GB0@T%A2Ky;BXSB=Nh%}c){e5-n2V{ zfYd@HKw#0}#c2WODl4&8-`+yd0jKVE`|li(DcN#Azv!AQHE8W#|Nao!d{Mp5W{jnf zW3L~*Lt2s0H99kbQ|MV6eI57X7hq2BI;6^+>TTFW;J^Iti$v|BB>^Icsh+7=R_*>`-uF} zt#?zNG)2?4`EEi(>8D&j?Fo#94ba_nh`b>u`_B!KjHZz-ClRC9Vd1a&8G|OX$w+lL zkm{f>qK^24X)jN4NC(NG2);e(xl;BfqhwW74o~0S*yf$ajrGM1>FS`tv9fXXNeuyg z(&cEdg2ivWpSXneC#L&cbz{&UZE0Pcr@?jLxdQPHk-)rR&H8gctI_x zn??73=@J5`1@$qAgsW96>dY#oK7Sr;&XX;aniB<>^lpr4vM&f9xQMV-cAs=?-}-3; zT~~2caq1K|=+}6akW*I?5y2f;9lKku9ct2ds_s-YFSJ3EMZ)Ql=D685clj0z~?V?Z$C!g!Q#V)3HXKcq)9k?48m|3uGQ)kD&6h{t4an?_xnWY^io5 zhHScX8PssGxxrt}TggS2O@sLtonTWvf(lFX$&prk_we&bw4t%}=-yB?LkElXonsHd zDrlzxs~W@3nm46%69V~qbwo%A2W*;Z0vUbw-h?pJz6hoAU@RLod=4X4#F@Zj&z!+TGU3`XL zu}e9vyc~~x?~Sz{kKlW4GmMjeGsa}L6SQJ4)rH%A1>XOC3s@+b!@N3H@4Ons91ItN zdvW*vq3gyK!x9j5q3PF!sWvEIICY0z{!AEYEQTgWL(6z>=-SEZ24N>EtCG=H=I!8E zz0c5qL#T*2bt{DpT;;KdKJ)9V!xjDjeLJypW5T0YpCx`k-2`(iMJV{0-nfBC)A#74 zG_pKDe_s=WDpeZ2z~~@<|EC2))Luuw#va2))iM{dJHFt2QH3I`t#aR#XyXbNAl|(Z zRPiaUQRV0ssXD0L%RDWNuXd z#0#jrf}<27zHqBB^=yjhoi2Ng6TxVQFax%f4?p_S!G35MBNy8t7c99FCP#9`w$lpS^gnnzE!wvZR&oThi0B8T4Ju8D``>Kl5^=Z=p^pOT=wqZ`Cj0K=tsx| zl>>%fUr@}?pgHAQsd!ew*L7|(4ZT;A%&EBjcvC{z$^9&9c=&R{v>9;mJFSc6729Sq zi~M69-5`}UaIBA%^V8SS1YY-OA^RJ~-){gUNcuzHNm@ zen|{oQ}X*roJg*s&EZJxLT?9}h12DT+zmXw=0B%a7z$SG=sZp~9qr1++bZ3*h~-CO zX{_11LcRAz8Y5vwB5u>(kMl`F^6v!*XdQwWr5#LYmaA46% zKv>ZCFKIQf?@{2zHt4$>xzA2P9UhInq2Q7V#CGX;PzBs%^V+&2=Dg+3M9w9a0&&00 z6@PR04>KULTScys5!!(hUIWLt-iX?%QxD!J&iL;v=mC)-Vn8+g<&pg~l=D ze!sREK#u)hcFp6+G_`Pjkj%b&_p>9)zg5^R48M}knh2mslzF|88h@J}S5B>#%}_@^ z)+neX79$9zu-ZMn0be^<3X9R(Y&*_WKRv^>8h+zQmX|iCeB*v)S2postBqr9n>=Mcnwj!mr{O z#t@QkYdh+ZSyf~U3rC-Lo|STL^Dg&KO#D4?p?=ktSnkJwl`3$r?kzUqjM+f*iRCb` z_zKWnNX~W-rKs2yP2^9HMzWDzxG)o`tJ4>>bhbxiZq(B`^b zenHs2O^*=_*HkqZJpU z2UB-%jTRb>H!qC#*>?~7s@KqzxXQW{IWanbv&difB^tPAC3IyFFpyj}2&Z}c<5YRv zS3MS|7JX7^{Zg6K=b^{J0e_&(BK8-i^GEoEVvYb6O1!oBprhryfymJ%v(pvz^1!xu z-n`mC?GQ{8sX4g@gyxE@6`VR8ua8WjOXB;pSYSl6vDC!Qkq7)JgMPf_9p!qDvnS_L z(7{i#%~m(znl2>!m1VWe9fVx`JiMgepQsM`KHILh>S;`2Z$ImZ2&aOS+mUHJP`r0o zPW!yfA_UWm3|`!2&h;yoa>-i-tZuBw>-5=Fh@&^&y1KrsgcEVyXV2cygc7~8@OpME z9G0`>OOrj)ojW6`bMRHX66Oar)5S1MpO?sTabVDQ?XzIbo+E+rrDszN zpD?7qt!SscIB@<>Tx?tRc&=CbI1hXFt8jqtw7 zY}xccyde^{y?8l)w5FlUu|v0C3i-XBK0P1zox_dU>xV(1r`=DW-*C2KJi)6}b;Calq z2((15GQr^UPeq4#O4GX54imvf?0yGQ%(mS&g^Dql=BJ5Ew+OQ1$Z5DqAIu4I z#~e-cPot4=N6!-cb;@VI%Q`jfa6;wqGmLhw)`m0o&Fy|^4CO=V>eMfI*B?}m$sFJ8E_vz+`*D)pAC~NUk%^6!44V|v|M3S>JckJF$9Sl%yQ zCJgWzI3$EmQ`6ui98up;>=$EEp+TxQox0PQjB`ydd~E`<5zqKY*E|;q)`O~jxM!C6 zIIiDrtSUe}1i=ET4#J@6tY9tt80fu8 zJYGOE7T=A4!rbSrQTro)TL5|YbeAbod?xNf=4^RIDz$NF#uD#c0DWNrf^uG}yrFAi zNbhFZsat8qCVT-=x&m=rS7`xPyRv~-`TauzN^Ssb?t*b z5tx8tk*el>inpz+wmH>>1gUr7I}I%S1xV zwD#Ia_hP1KsAJU@R$+1OAMjV8GgXu{L5%gNI%;8A_e~P>s6)skK?7K(5+k z1*;U>Jb=mkw!=ov0u;VD8`ls~r{{IyJKg{0P;OuK7SZZYKGWwB9dA(V4pMMk*Av?2y`_KpPw#4O&1Ek8bvL{Iq_OiBwr@BbU7X}x zWCB*`{WLipipCmm$w+rD@!g9ox@p}YV(tbG&p~%9$E&MX=wCK_Iw19+ncquVHs`!M zvE%kJf0}%I6F-~QLUHY&YSzyvdgqm3U($n`xo2WZE4!{izqUNXlbP|a0;J^b*@1xt zH#GWAGFjs*`&TOhIb%ZT9VFXX9`-SdhdHy}-6d|NpP>G(x7(b<$^zMR8pT*Lf4;LX zim%Q6vwy5GOx6KE|!jt%4LYUM;)A=0pOHpe8<#1XSu(HT-CB0q-Fu zJAYVSja&qfVMr1KrVZ;A+iDt5XqWKY&gvy?SnSvvqQt>;0KMZsBD!F2gOq(idId6( z;XoIUZr|KvdB}$}OTJj&0IAFH66IYnKGl4Afx;do2bmb3V5D=EVxhAEI@2;dsw$$qSC^rtkMPpuQuZ?Mu1Z>TjT9_Q6uJu$N<6HWvj6Ccv~|C+Swq`{o|
^kIkv1kg|Q6;7sHB3;!&G18%?%Ib1yJuW9ts?av_02z%n3fmUpKnIkmn| z-JS0li;idumB2RtSVW5p6z{!%Zj(@yWch3-9T@Jh5$IVKk9e-OBK72=YmVvued29= ztEI!;I|>FLK`;v6N*$?~URkLKOpl1LUHtxU)N5PIbMMA?ky@7t1+{$}6G#W-Y)+fj z%n1Fh?uiXQLxE;Mihtv1fs?1toacqgOkShLHd|H?`(F^FKsXPmJO}7*#DKbTa#d^ zY43M=0MiC3lCy(C1&1fT`H7x$qffRG5lp+hy!g12GR6hK^c;3TxxzV_-^gf( zRKB-h55XVb;!~kgKIpvhmYl=>-$j@%MrL+r=Q=qTIku{voJ+n1CU*M=$NP)ZVLcqt z%+X_v>59C$;y}erK4U5f3i;#rLH(}f27Re6w)R-B>|GElKZ8P9Nl8foT$?SdK@I0E zY(c%Umuna8rY9i4TN_Uf(Q2c?g>9izPq`w*KuBn4zhCs-coew$4rdfxf2T||?LFuh z+*N{M1bgja*fqgzV|JFz5IA}+#1XV|E~Fw0mOR1qqBv-R7OS=U_WtoIllQKo?b13} z(9_i{Iw1XI5Uz5#;Jiv)v(^|eu9tAp>WL)}J?yQX%`4Gvq82&;oz)M6o9|-zRwF?H zC^e3}U+e#LQg)AR+i77!dHJ>pX4r`hrR0ZzL(j3Wy-Atn(9c8TU48EJ9h zT9G)eXui(62dlCtRileFGaK9Db??d=a+#ysGzBAYE}in!|8||olo5%=0KeRT+XY%V zf-4L6ABRw{dI+rc1G0Bfx-xpemtA8kc4zauqodtD zZel0!R#Gm*;X9%32?9q1Rx(N47F7C~nbQ?tJFu_VhVI*N?dZ4{X-Fv!biji>R)?+| z2iN?oR<%L+k<39kVPZR`_wDL2KWn1Z?AJ^7rWf)RjTDS5Yw48w9E})0hP&2g#%XH) zSw4u^^n zekVKcVvW+mMrhyPpNNj;@J(pd+a&_aNSEAH|M!k*&iU?nrm0lNFzcE3O(5E}0LFlo z-*52hSZ72;w*Z_%_EQGlE33sTBe%<(RlxR}wz#M|?Z$kyobUKhz`QLjgWx&@P;ypG z9h+HFqm?a_Qo?qLPCn^8@NrGp-{-2>%~tEs@E}i0Cmm$>Ga+jf;qZpn$5|k6a054D zzx~DGt;gJKG|&Ln*@JA1(XJhJ(@+ZPP~)3*f@xh13SnM-fzQGy32sm1d7PqeKtkoP z;RA{A3to~`n87imDT2mw^j_@6)p&Q0J6^Z*iVYg^ZRT#3i!7M-0pDNHYAaIyJ6NN| z-cy|!sB{NUS%aH^Vbp7MRk8(~*d<(1v8qLXO;7A#Pr6d2dgiipzLAQfo!I2Qo$;*e zA!0;rti!Pey)+(1#4}bk1Bdj1Lu>7HBsMi@ezZ6WIiZmXiL&kdMkWaVk@S!FjVi{VxVtPTrYluU)y}4S#FqUC3?R9{U z8?|qe(?OaWsQapTA+sda>{BT0`l`TZg@JtzK_Rko?&5mwoHZhf8^W~OJ-xf$zlL{h zc3+^Qw#~ANG1HyGAkziYAhtPH_&aVL>q0iF3C0XSN)pp_(|bLV{X7SjA6$Bp1+FJo zl(F70JtojJ!N0JpeZgO4x*&Q|-DprVcF{8|Bb>ymayeMRBE|vA9nbCAv#;%#Ezw?x zFl?{!SCE9;GJ7dVL<!jwot*wcreKd z;c^-`H zYVjZ6Cd`nJ(+aT*u99ZNZiFG6g@Rr$9M#lW2lB2PQim`VjN{!~ za#Vsy?k^=?yz*AOgSY18ud2j$)d2sd*YeXiQ*Cdp-l+5M&95tWJ=-vl!vRizw_ zn=t|M;>B4h8BM2{r+Qs)P(}o%+?@&MU)k2mg&ahBK)RP zg?7M+SJ@lx-Wc>P0@z-+Ggv*{n0c4IM4g1ug4YkM*~i@oXI1luC@ zrJCHJ;Zgo|aKSx7(4yX=+eI(3>2RHAn=%TDzFG$)aod~Fo9{GEyK)&*i+R2r6pd6$Y%Wk``?dn_fK{_xU zBh{qk$tk$n3v&-XHGiYVg#%4_)tS_(?yKvFoNG{8YMKp{mU^@+#(4=vpjcZK%(FZ6 z8T(Gww$^F)f>WW#`68oC>MH6)3?$DZ z8ij!q61cqk#%6>lk^(bo;EXA;vu4P!=*=eN32~I5S?Ep7r9|>ij@xWX*&v6nt@94N zi-3}QsvP+B0?garkYlq&RThjpiQWMllzdzF6fPxC#-h_r)gRGNGvwZp+f;bfq=3)I ziW3WMk>xH6>B8-T_WJ}S;ntiGP_?Wy30~|u?f)WMK@iX+N5`Q9r>B%>L{2{fRcq4j zIrRE$551n_ikI{bAl!1!`8dt)gJ#U22IfzFYV?-gaBF8w@6Kh0TmrD z!8pJEw(H2n4fXD6j~cyM&XWqIF=x!V$j3a@*N`&GDCxbdGjKU+KAIcJ#xcqB24Gv? zTZ@crmwo_MJ2nbM$6opP+maN6_uPr(YNZ+;kDDWGG1@&{i-P7nm7u;O;OHipEnR_j{)9IO9)UeoSt zE5bpdK&t&(_T^i$@Xbb z{=_Wux2j7uHmlBq&+0fm@^7`pdN{9IYsjmND>W??tx>Al!O}A#s0nW3Kp!IJ!#jiF|9iKN?Eu- zg!DvI1>oYNnmpEj8`S6}oRE*0s6AJe*f_eoCAvp*k|t*CL~X{@)!sP=`4zrP08 znyWC(k7M^lm3W%CcT7Fti|dBUcE4F5f_my39|pC0;oWBsM1 z4(*c`ljHlCg^l!FmA-)+On5tzvG(g_W^;C%hX@8Kbs#c0EFHTGB_!l<#vlL;Ubq0P&~&-XgLxNE ziuEwyFJT63eND!Rh>Pl*81V7TF`i9m_+}(XfEMR!A`=YRY+F){%PVOoHPRA-e>_oc z+i)VLayt|~kU8_^IfDCWTr*P(YcLCXocsUKwj+k>o2}BsxwiY+cO&k2MSb z0BHyXGv&)uCi&(g_AkAYCV8~ies)>ZyxFKbGpft4@;Y*#%jZ;VAy01tF?bp89FvGW zucCyG6;1FLG&r6z7Y|odb^~ki_IJyp#9v7)BDGST1H_IUfz)PS%)bUI%#P+perSKS z${qj5kMgAOUE_T`p3^&r#M`WT_2a^h9nAXv_9ekIQ!=P?H9ole)X_s=DVKNO8Accj zP#UySw?qZ617JN~am*5Q^G68M0#MTBfu)VZV-#pE8G%O%eoDprTiq zz>Z8KH30cG$(*+f&#eiMs5zcXi(Fgn_~p$MCC?K_d4N_IZ}uv;U@?Nm8pHaJdmTZ` zQ)io|$_s+#s871{LIp|TO3-gDtkAT{s?powia(0Ghup`>yk{rcsgetU6y-^=Eh@rEAgaS=^1?@{vEV z1rSKxc~9=qi9-9a*%pb`U(Gz+4=b?Aw$ZCQ&jMWfVe_wRt3i968tbG$m30Z8R@0Ld zGMgNgUiGyaC7s!ph_@OkMo$gbBhPS6{&(%1yHjpmyrM++-k=6} zGs3ii{EOZDX!amrtxoze9q26I&FbcBo@cA3<`-O^O(A18nZNl>y48u{68$y;%|Cr0 zB(L_6F-CNTBvgVtv1zyqDu1#|JR)HExTDE9`6#z~z*h}$R2=V8aoNtBeb!E0*Ihn# zQiXS@M8?{7-j<=$AB|({&YZzJ$e?@8=jhjgpKHX^v^)A;Ix8`tz>lN~T6{4wA$XI~ z!|A2eei--nDBMFA1}ibwbC?EhJY|jEeikWn*>>P|5f_a(^p~`?ADm0-R)F-?y`Sq} zG-Lu)0{TN*UiYY8i^uu<60MC))0`puTk4?wV0yc6;hWnIYu@d$K`}&#Gk42TWb5md z0Gcp9z2cLfji2h2;uIkDtsqVTQ1|@k@sIAg9?4SV{0rCEh4#afg6(k=)1^!5#yulE zZ^^u{y_M~0(^Pc$`=w0+a|?mZkathvOpxSVJaEf0_ee!Nz({U*b2<%ysq-^a~k-`WjjoIA|4 zd5+%YWCwen_wl!kQyGy-EvUUyWTy4cii_F3FHxV=ybm({u$ej1t6zD-%;l?esd1py zfde9hU=VT}rJB0u8|zd(rWrII7@^Z$zUMYx34C1IEyAB$p=Nkw;wh2Ipzw2dOXI>L ztwVjC!wk_?iheBl)<~ZCI}&uyXB}%2hgF1eT6}X&HBUC#bzguvr-f*7w(ENR;+WDE zVDiEk*k?~8NgW}Cr&S;nlw$<8Cs}~a_FOOU;xQvQLb{l=IeNnpX!(`Y7_A93eJn+7O!mY&@CCbse8xk2<4BWO zz$q+fc>M&feQ_I@wGZAk@jQI6cEC z9}Pu;DWr59A4^9IDK}eCKn^Dg$oUY~LESdmd(N5TZewP4cK#32Qx!8yaUctRe)8Ol z4~SGYHY|);->!1O29l<1Xl((s@4U7Fy2uouO7>pIwr7tsJs>>cx}6oTj$(`GKv!2+ zT(b|Lg|yxVq_#8?0K*m@_Xa+6zA3-^Z(&S#9&BQVH2s=0^6r)o$@?@ zU5J`QJ`UsZrB-SCQjDMt5v7>vluq8|>IdR17TM{d7kek3r6s{<@A&L%Qu0pwK4gjO z1lJ!RZ@n5LuC(S0^e#eTxM!oiW}6BM6%aY6R&4fc6`xiLU}LmP)vQT5WVzn*{_Eq~ z7^7wxK|$aMb&lopx9;Y#pi2CJ9|{#$W04U<7$|P$|3b75$<3u>U??%`kMev!IWD7S zl-W)gQ^hnClNlLlaaVWp{T-sYpsM~+`e-6Ptq2wb5Yrer^fL>euDB_Z%*gc8=DsrZqkn&}1 zkj=Cm%=P>|x99c14!9>{*8yN_X6QAom;->y}TwVe&2DmYM*< zEXXm?nC2<$-!`!-RUdo1*k(o{|5Q9gqyjJRTqiEPlj z>aFD`_Vb#Rc_%h-c-R^t&Ac<&NM$xUf&u6%CfR6)^HY%mZ)#ecXj9~qzZXb?6 zDrJk)-Og!?kq>AmZLtsDP|Wa1ye2NAXci-vM|`Nv5g;lPk!xLGOW7HC{Po%3OHl?A zWBruXCItH zP@S$!cPkuRnXfRSp@^}3ov#*cY{L@jjKlt7|8N$=(5R-EzO%y}xQXqp2+jRlF<_xf zNgJ2k#}xsfU)NuFrY!X9__WRtEts^=A~n8$MA)We`=% zL{Iu$Oz~4EAHj5kcK#=T-B$t_5ydH$)Z@1P>#1lAmbE5*b{kk8`DAp5(8>S8PRv$`X+t}TT-WrJ(+;3(|Z&1s&g~C)g7>4J}`4@aIcyV zZ_|W4S+%!GGbbWjv^Ed|7X-PTI7MN!Rs6V*Q1kZ9tu_U#Fg7Cy=Ctrq~8 zg7cpc8&6kEa7AZ-br(B>-0Vj@k9|8J1{C%!f2wtWwYHUXy|r=ErrWsgCcI8u&IRJ8 zSgDCfKr|g;Uf>thIjq;_SKzT2=^IL#}Sl#nLDNO$Vh- zM*sb_|IRDa*5SvF_NC|Dkh%(*@QET(-Iz^1J|%bEedogxBj$R3W!u4RKa*-Y_?vtT z8#qrb&7jmjB;v6t>o`=iPbJb~G%n-#9)JFbqd^4X%&)nzwa(72s`BgWx3Y*V%9yRK z)P$yP{3g6HBB)2+t+b@uZyiSS0rsb1Utb2!dsMD>5-HT^KFgi{{F{c2fK(I@qr4+I z;Uv9k6hAYI!;9N@+JQyxYEzhf#s7(K+r^a66U9P?WX9(sxWi~?f#-&=x&pC%;fSz6 z38&U}8-ZUX>~D=@OBWq*ujDA2dpK7DwpmCgW8@*Tp)8-|!PQU2Oj}#2_(GT&{_1j| zUNorPQ=xW{qi?e)`ddN*{YTN?^Hp!(-+0I>QG_>oM^9C5rO?t9bNy1- zjGT)5SqE2I&0-Mu5P_e^3rXi-U?1oyeO<%Z?`45vVsYBO16|o7lcK$NyEZYi115 z&2;~h(f1xc1JRTX>-$>@4Rv94+P>8l7r-uCvVl*ojjG-L24d>FVyCJCdM-Z?3$`p% za31w0MJ6VA9f(F5XMPrm?zctewAEuHjkp+vElJO-ZNWLr6q(WA1ObAim54`8=ij>B z;*3Zj=7TnY(&9Vp{?Fl@y5S92J?mvcxfUkB+)?=|$q}(&qraazae#Yb4(Vx}q<#}A zE0VQxq&y5@VksPVvQhVwF79=r!jnyXcsS^?abp<-O(PU1!=QSMcvg3jM~z!+<;W_# zoR!Y77!40u6KBPXi|&Oi`mh^<(5&VuoLG9}wy}7aooNefo|!jU@dI9S#bna)5UDlH z7fiu?AMq{ibT+y3Fip{kO=hC4xM_7BeDWV0f6}KK`PT5aSJGA2@v_!g5GHx(w#Y8E ziROD*+1`xQryYrE#Zzhl#Aoy~-wN7`Ds%VOuM&`x=Do~SwxYGf?acC~{VCpRE}$`D zq>iGC8{qZpIJ)o%Cb$}~<7q`OGlSazAw*m=;&(-H_SfI;3U$CUN7-i*Yjm~NVQg@G z0lw#oyU&)hXHvy*to#<}UDnNCDX0!QLqptsML%7ik%|-Ge@Po|NMMv|FbuS&_^7gN zh6wgidg1?+%{%Eb+!=i2d=R}WnkSVIO7Qq^(lKCg>tUpqL z;!mE0$mYc>X!a4a8#SzX(6x0wI{K{!@eg>$P(0a(WiiOeV#_cPkM~yEP@ESxX*u4$ zztkUIKpsOy64P06b(BnY{w)4#u(D6+Q~8|cA@ihiX4u)|FPItJ1Vm_P-;z3i_ayET z5(v7-BDBtE#&2G^)5}ZV;=8Hr%c*9-)Dc^4WG3XXt&6%diMw&h1xq{hVyM@KgE%#W zTLNq-8NH_VCxY9tszN$+?qa2hB6+t)Cj!`{ALrpso>!BkYM(gynM*EoJNZPiL6uR_4~HQg(D?OoNP<)(*+4^=j=oTpufOiteHC&` z#G^q4CwfqSZE;j;S^U9)wcY!_=*Rjv)q?r_zla9#jZ_@Clyy=TEtI3&>IctS-;#FN z@cZp6_Yo?fQEiad!siMhd)Efgb8j5HsWVSzUq8ROM3lE3u>0?UA0LWY0Gk3m>uYO; z9_r&&^8UA4;V>tZGf~6%ujF*P#rjXSU?VSi;2g(4iEcTRf}xgy!>ClZ%XO4#s-Gyf zCn_U8VHr0pe!(A)q6P@j<5@hEuz2%MiU&-r{q5o868|HD8g%}Qcha&N_+25yXr1*B zPB;gu)G;h-Oh9%0#V#s#y?#7mfc{YZ82azDeX7vyDE#q5Oz=OtR8Kd0ZBW5N>X2dL z?amuiHs{ty5+$(7KePu_O%V={>JHUI2w@umd?=bgrNU)UWelhy7?hai4{QTe$T5w7 z@lXbWx^!6DKlL!Ee0iUEI^dz&u7G}L*q>^>XMHa2>WXt^p}k`YnMaeo*39K?-?`(3 zz*RFrgzv9b)y%za)dRoFM4c_Y_C9oI8eW5i*d}&B1y;741F8hu3`{DNT^c|k4`&U^ z$MfDz|EalPpBMt;=We+e$3ao2#i9~mi!)P*-pN{I=l1AoXv4nQ6yhlUPp&ccsKy=@ z?rZ65lfWn4UwduI%VDwMJg~v|zY0>ga>n4?MDGTW^@AL14{|i4$)cINqLzD7(~}b6_1! ziH>scac)#U=ymq!sGsi?M8VmG%CN`q)l-a!GV;Yovd!`+_V1I{r>0cIwRgS zq9n>dNd(gV4`sFdyKD5J-|Ij6n}**7xWyXW?i6oOL8Sc<0!c{%%YhrT{F`pW0{pt& zi)+DA-_>VVn|yJO7Xa1lavz#{uH=ON{nWvkP@0FkJv={X)agGp|IyHY%-MpHZ4r83jMMarKG;QP!hdNO77t}>|3?#xM~4@k+dov6{bz28A5e=%6tola0u{D- z|J#7CP>UH=i&pxdhr%U#$x!C?REMg)`4;WQ48m_gf}+rJeK=pj@qD zJ>OPNoOn!+`!Q-cP!Dx}Z)3U`rII!}&oFKIw)=W36r(m zR2l9(zZCHlsKN5W0#iX}UnExNd{Qu8| z`Aq?DU~TBnGct$ahm0-y{oRsPxg~N=U_$S z6(3D1cJn#4py=dH^YjGM+kn^Ru$Iiq}(vq6v|I&>wfdE|*Dr>eBi7WPd%-p{_DFO_n{Db9FizPaXMqf=mK zkFx-|Xr^7CV`5|Tr@oZ^ia~GJFGxJ!lHcV*LJNfO{Gclf_Dy};Y++$Y{Hvr&-mF2? zE@mos;&oZw2X_jvfyX<8ixP7>jzhb;-Q-{G_-xFyJzfP5W|;UL=)BkU#)LhFg+6wsEg{QtAX@agXgKev zIA;WCB{w8Jv0tUPHDM9B-dM;G5-?K$j0m)&i>lFCjtzz@Ktc>A^_^-dj2vPXSE_d{ zCK}r!qT}T@H-*%G+o%8Z>N5^FBHH3i4^5Lx7j|vx&J{LiW-$4$kq`tUw+zL)e#Ylh zEk9TPg%`5u{S5c*PHWBQ0hpP@VNf{Wa-m_5r$FWyll3IfxnyUfGBYOs2){^W?uDuU+fmK2SA>R;IrnfAg!$xQ<^4_a(b9 z`ZPhAFi@kb(#_@vwx7=UJJ}(NA<-hCfM$`!UG~+O0#F_=(Fw_RrR-O71WWYLE4~UyKS}2>^ zwDGXg>FV%yl+BO2`CXzRnK_LFpA*e_ytRe%Pr3w8!y2QOswZ%5F4@f}Z-@c{6>a@g z3=RkzKsRx$IkXao8n!$IM2$cZ;)U%P zNdOLA!^FdVyNof12+#lDu@$h?$JyMW&)}QqLmZ%RWAV59)pO<|y>%Un{<_983Pz8$ zWd~or;Q$k7NpS3#f-UJ#8Qh*W>beGQT#CW%xX%|L%^{l57~-)A!%EQ?zbEx-3#(qx zRT@M9692oa^?pS}{|u7seF)&jphxeUlQF+aSbBII8mR zvbCOy<5Qhz)sd6jP^VM@(criwd8bjvo`HIhS6M5OHiN1PO14jV*N1zjHJD1(P4-@w zbTZ=&PWBf-Q+m&eKLwnH4lf4E#XxGD6w-oR?%#LF#K#M9NU#1Qs6yp(Z^^#i{Q*XrX(QbepL&~iZsWjT_tK4fH zS4znB$208_!!eV#l}2hj*;-~M^ZD<}i{7VbTXZ8QYzpzjd8NNik=VOV8Z|Z)5T2P` z)4*lUOd#t8q88t3K49A7?b5m@CU%U_N#1aFIlDM~le{jbe1?$_@ZO1$~Rpx}1wh-TG_PZbQ8Ro*jXj4VcCidgEiVR?9bOW;vFSX9ofCoj zB*;}h#$eBXYv(+pn(Dedt{@nS3ep6mNe>8w5_%U9!GQD{l-?17p@S3!=~ATy0Y#-6 z=@6RqE}#&knot!fp%cmkeCAyplGSB^TlXG^?$~`wbcc0%r`|mFP72^#d zN91nsL1zrf>#V-P2$2!)R=*CVTFQGGCZ_MkJaTwW+d#*I*wzvUeP;Us$mb-J5N%|p zgQKI!QSh-it|b2BjVyAckdXTJaZgiI>e5L?5(fF$t?6eyfUpMaUi# zNm~oB4AAi%K4$Y09TBl}7SHcDo-$u_tgU3$S7R@{>DXypnrp3UK?@D;qJ8Z3)#Px{ zSvxBuIywK!9)%tV{E!@OCBjA#{Lg@;weL|uM*T#BCgS5L1<^!AHPa@H;bAYWqF~?x zOG>7XXttG{F-hYBw1zNQFy@<3Ifo$GEHrg}F#DAu2qJphCbbqCq?%D!SWVs`y+zFe zo(Mb+r6a7x4y4v8c1umW{Q}r<2@H89gFusxZaE$x^%nLPHTaSC>2DojQVv0X*2Rwa zD(TB*nz5CN0}wUayQl-OpxghPRpsnUfWQnKZZoceCisiacE0>eXv0<^BG3N}RbjSo zHprkQn|4K^l)2BVqa{`$p>^dAoC;8j zT!wbmv*N<0{w=EX%0`dvso8WhV}z=74tsg@scH+K;E?pvM!w2`ZmMz4dLT(bmwZBO zm`oNPeVJ~RxYR*x0E`A%+K70K+$jktZ$FWJ0F4eCFXU8NU7k-h590aj&*Z<4$tv@j z&BBrc#6X@$Qg;L=5_%`OP3YvPUy7wYT*^~Pfl835tke~tQNG~(FvQw56R~hW_WKM? z6B*$zYuQaxPP#&v%$gfL!=p&^A9xQll1*en%P;C ziP&0uS-6k$CVd*R4l#9C7l@Gm%E&$lf7?R}EMPQIHGU)~+Zew70H?@rgHPo(@_-&) zlTBQ#`n&_J54NP;mm)ECAHtw@-7Qr+u0OVQQG&R~M=VIrDk*vxy{*Y~g}W9sC7tT} zbGr#6S<&lY_#xEpb~o+k9K=|%LOj(a_^1# zx;qgA7B(SGL{eXF8exjhU;0W|}&i$87(sV816%%lG@Pv+?BEpE#HvpQN+VLT<)qFl&b+95QLm0lg{xS2Uthb=#Hyeb?cAhCG~`MHa5fy%XK%U zIhf8|6|vEflMQ~X1((jNB0%~{IV&L zt3)UmYf@dz?3dKpbo@BJlI1zRq4Xb2*BP5y1`c_4`UnWSE$tsrylm!uN4nLAQ-BCz z;0?|#?Zr%9LgqoS!9{7Hv`O&-VPtXF9=YVYMNL9okS1&Oxj@x~KQ6z$_woTW=1p@N=h`Y=KhXBk*|F*R z(vJ(KxtQF~?=ka}79e8kq)yz_Cf_xKlbhmB4-$GGmXS9E3YN6k-VAgcq zoATaDDO}ocnx}lZc<=dj6#&OGA~_PPR`U%8IU@i+0ExBFc3VwJ>ZRAG!Oh4K`rqh+ zZu{<>^?C^dkOhU|SvX+B6d6YZEeGKT$Oe)~Dle*ey^20|m| zVkaL;GKz}O3Z4`59k9!eX3-)MDNdwW0B}U?U)-mJ!s=)TKcJCUskBH@lF!d9jpiiw z2Mh_8F-OwX5CBKJPK(P%R&- zcWEOwcujuBd;C|E6<8>Ks9%8@pXRz6vsXtH`GyVXlA_@*?k3BMw^2-?7;g_SANDOl znF{U1XOQ=@9J9`Tv+-e4Z;^KO+l+Sc>vP(ZHl40MK+ut39L{I!+I%#N$~JjPWxZwm zw@PO%-~045{L-`Eg?SC4ser(XQq?x_;mVCkdj@dBZy4L+w)K@Q99 z>KD`J3qr~K-k>xUa$|eHArq-3Z2ikVn7flWEUX_&w@1U|pHy_LCSdI`nk!@DI+5YH z(RzrqcZF$DnAixog6~6rJ*9AICPzftG72>*@7#o?Fk4A)pO_+f&*0g~dp9+lTJ zKTUkX_}2=Ronq?)nDN3cjGTMZ%qmA=#k#8z^P$2tvMsZR^hR76&~zWeK@E`^=p;uY zP|gRVV*&sQio}%R}H!;OT&}NJt+6Rmf!K-{mvyK=?9oOO_{tO8d8;H& z`xc=YBSXKX9}h^}rWo`zZ{7=yo4FV`F4MRchVXglNx1&wUIJG1GkKb5-Db!KSHZOy zQ_GrF9s_q5Y`@=Sn4WR;duNcJdzHk{cfuXNw6oKB$E0%Dbw0{H;3mb2z4vV9LvPrw zJX9EdRZG0^)3>3I33Pbo{YJ+|db6*WE7eZf+%n!(21@QsX#guMH<$072Dvn^aQLd5 zuj&BT_u@5gCC}W{6Pf;P29kO(%2Ut>GQIz9ry<^{SS}!N76fyF<#t`x9j^rnlbM{ZWQCADLMY?|9^*_)p%3=gcmzAL*aTe0M%MK~#I zXbT)9v3mG5J7^b$izVGF@4I|BaSDFpYTjNq-syYj5;rYMqjUEZGia^R$2_T3A7_Mr zYINa5R`j+<5Qs~7dDCdF;RQ>1l|QS2wgMx0rszT%gDOR6H)_Sb`Snu!&f0T(?!w9U zDd=coj^NJoJN%T+S}x%Hc$}(#|Hs<3vlm^ zz^q(wR~LCz6?@l^CEQh^(##j3Hxyc)fL5Qrc*2*khoHtt{&8{NXRq)RlR0hn*^J49 zkZ~V(q0>Y2(^@WrGCP__((|UQmqixiJy*L7YePopLG>7O!(OV#YX=V=`06NXxG*Mf z!D(c7)oNsC3Q~iM3I|f$e4Pd=F~Zj%y{*jmWusY^P-P3TE{qCay%fz~vJ}ihXI4j~ z`**uM3GSNUrMqgYI0vMaWB{S>ne&ezB? zNJ_vCaH<_t6Dw4n8KSj(vBgWmI|iF4nOy8yu}!Jf2fvP2{eHcf86h#f?yGyXEYz!U zTpq{?bk>e;t5q2LbP5q5kLh_6v2)}Br|jWA#&@YIA9Pmv>wjp8sC^Ax$IV4#kM@!c z4l6WpEu))d>Lmma*1Y&D#(8M69%3q4v-(8lwD*1;S3!jNTezW&D-Mvyjtm8;=lKkT}dGP&wkoS65e=S~^DF8ec>k)^zE4WIfeWl^l*2|L-2rC1rqw;_e8lqs!iV(*uZ>(WktFvsB@%|@7>#=rI1 z-Fj<#&mE!;&h?61Pxys7tQG2j>=K{*ATRr#zQpf6&1s^#0{l(vWL?#iXIgx8EqYE5|Aqp&iGCq0>^Fe2}v0N(i@ zH&R;NvHtIhDiU(k#*aLMa?NMh*1WE+`*61poj)_Fi8L{uCBCu0ew7|i@|5P3{rZ}= z|A~>I%M6BJ^;PMf!JPf*)Bt8}b~MytF|5dhh>lvBvCoql^%y7kj13t_K=|3igO)#1 zz-(SSDE(lV{wRu~6U_ma19aj!1tSt0yUrXr`i7uzMaAInikX1`cry*=rm-h*H+O0! zk!`yE)SeKwaCDHPNSo`T^^whEU$}++?B~xys}9P)8m(5D(vryGjD*I`Ykx&AGgOG= zbdMSj^DHewG(;<~!T6Ukr^C-RH-+V}vuMcvPuvvK=nMqDHEa7}BFhnxXidr*J~Sth z?kNPn)GTbNH*u@n>$x1EOAT>|X#Mot3r# literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/passwordGrammar.png b/Deliverables/Phase2/Implementation/Use Case 7/img/passwordGrammar.png new file mode 100644 index 0000000000000000000000000000000000000000..741cd1fa35a1da179e83e9a03accde7e9b1d8900 GIT binary patch literal 5189 zcma)gXH=6-v~>`rN>O?dq)9U%(jkaoXd*52P^E^Bp$4QVO;Bk{=%LrpCA6T@1SB-6 z(rZ9E1gTQKyuZJ@?z(?w&$DLEoM&dv*=zQR)z{Uap<<^3001;vnqUY3a3h`Ahfv%g zwuvET761U_Z7r~hQK0oswo)}`BUALHc7soeNjM2f6<=G_XyL2HQuq=iWl6p5YbD2I ze8GJkc4^ZyO0r05J}rUO6Nj^qCt8Es+pf-g|7_#1oXI|c(ID}kQ`o~P5~2%0@S5a* z4guj-BtUW^9@Erw65+S(Fq{as3r}&xY2hKH|Kngk?5xpC`E>>8>bw#}H>l}*^-nSV zHqnkT8j6a%SbE;Ix_jA^z&#%-`pJtGCQn?6gbx^YbbOF8v5Z2-_;#<%m_8nQvIOPw zidkGjF*Wh-au-&nHjB?{Pi}D&f8(7n@H-0jdla6GD!dFTzAtDCJ3E?c9P{w0|0elQ;Z;Qqb@ZxkaW z&lTItW$*cMTG|B3$o|s4SM-&BcatYZz|qbMW%v#QY%NaH=9L~`Q|^mZ`;@-YW0|OS z_`F6r{Z6K(1=EmffFl#qB#im|bN z1;sh4bT;<$V9I57V2JwrE}1>BPgHdr??egd`tlrv#tkc+VTfq(`=_$)0g8vHIukc} zAR1fCbq4^b5kS{x#e$?gr(o=;=PZiu~tvAU*^kW63$YUwAAb-<&F{nu9ThmaZ zbRx%yi_t=`J#cUKF#sT^jK)}YgYVK*YFfQi=<%T~2Xa?tXf4L~f((jSgACH{u=nE{ zAbFZieYKPcUST1nxC8xJI6G7Fn^ND%_Hy|=s%WYFg`DTOf#(k~1^4W;k(nO+GQRBN zCtSn~@y5HCqxM8~{+^NME@_uDtu6SMmF!}?St=>Ozg+~lUi+fRj7NHu&gasVRHWR= z2qYl%a$h9Y7g)H=coo`&^%5n-{42n0R8&P4`GVD^kq_t@pq>`kx zw;aP=FyXq=(Xxt90K8SI-|0sgdA!n1R?zzh#s=l9(olpcKN+mVrOZSH=9JW1SMwpsO2IAj1;<_AJEh%$vWj69I|aJrfN&49GJH(2wSs2)QUzq0 zT?LpyZ6e?ljY4umFD_Z1)mS<)8SAErmfyyLT`5xiGu~Jl^=r1|t5Qcp+QWr`%2Gc* z{<%kM5nECZ!p?oKSJT7M7R!7* zLiiZFl=|ykTkmA0ZOM`Tyg`MfKAYW#ui- z$FhLM=r#)SMfE=v{_Bi@MY8|-V{8y{u)EG38hrHP0qK6%DVPs*eY52p;d;)ocG`|J zzBn5{xwg79hx&f8v(9~$nXngz5F3gh`T3^WruVNf>JmQWHD$W68vN>-FeCt+pYobt z)yvZyG!*N*sW`45rwyc=m?$^7vzfCaSf&S^tE+!2HJblvV1gi9{mDnyZ3TH#5qEmN zG-pcq8$Qi#G&KU5U})RO+BTCe6%{sN%|7F=dV!NX&(161T`1{jF3R~Qr-oyRVbzbN zwcI{_LGici?1)dxSysr^BJS2|i%|{wbulk~tk(AKBFmoLL86CFR$P*&OFPJB>^!4z zI-4!ht@+K+1Oa@z=Nz8%8Bh9gXbEh(p-7&kyPc(t4SG6X)~(}m2GGV$x%J$5ANpu_ z1BS@xmC_N-1`!Xc&{ z(x8A@CsEr90{viFm}<1d;h1c~4tK8tH75t^S{f^+zV6%G<(A;PKH)Sad9I1UH0HMy zdayyEcg7F3c8WVZchSv z3{kh~7!WV5`uC}f(V5V0XXo7VytGp~@?S&-LAXBa8&ykXL`3|PSxg9luK^bEiQwl!i`0b94PWU-+_!g+XJD$4;JWpyKN@Z`g40JZLssz98bdh z1obE@_2vVFJUS=UH2A`=*>mMlAOe_eS8I<|^0DpDt(N9Bz*w>wgxNNB*FCrh{-Y^q-D26=Ut-H<-AT64^54c5p& z<_PTVhYan@v`PQ;4#p~iZ4w+03qf}N37S{W!MwV86SLBD@)pm%Hm06USG-PMuk*)J zl;>`AkM4^~k#%h6`U{J8GTAM;Au2vk{9b(|VrbNKOglR0*4unD8Ep83)DSw~oF8g% zt^hRMc(t319%m@^H`!&Yd8_nCoub`k?M9RJrbMnGCv!ELx0~^sa%0-ll;r}k#!`+g zYW1N~->X+UDuS_)gA-!HjVpT$s(Z2~$t8QxFo^3Z0niVGl& z<;wJ2nLj1|oBYVpx6 zTQ>!Gi-Gg=OjN%4Pg>(8Yp6c52)hgXyI!MpF2gHbEc%%Z>)nKNNe+~Lm-ieh?X~tI zchkJ1Jy+)27u!TT=1C{~qx{bsLJvETTdohB$v-yN_oz)|By08q=iJGQEWQQ~DQvDy zxTAN+4#%ZRh}i6%L9RgA2N+A`BBa7*uXD#JJT6Q257SN=bXQ4dArG1G>REpt6^A^O z++(XU(5$`VHZQM)_1oKN1{kMo#Mr?fb)OLlX4;8){us=g-KR%FLH8-flXuAZgu32V ze*ulMyUL;G-#N!tCzoaH zE}1e$oc0a^Szlnys3h=gv{y75Zy>KJ-l$QKaL;X@Wzu|HGdeedWIJTahF!FCq2Kaj zD!O(Or;YOQ5?^VHR=6=_!LL(_lc?1aG`T3`E<+--%rPE(VujKVoj7sTm``B{5TxWwlh_2L38@yRfI-sppKRk8Ro z@-6uL3W2e&%&Hm7)n&k34^iLf2&K{zO~vKR(38qT`ft_vi}zcO)z%YV%8(`K&tDw9 zvRq0I{mws}{GHRL1JMBW4A(|daQ;Y6Ankm()ac612~J5)WnRwJ-t-)9{lHJoT4--$ z5g0Suj-Pxb39bLilAv6B&JO?Bu1_wrHyhpAMmh&pud`(8|y zx6a6}05o(PfU$TobRChnAN_2b|Hsk~r%3}&FEaPyo~~HMEg4Wp^rqdVcFhA>J6rSb zaudWe{{{Ea*E8VKQ|udg`KSYLcvu)kd?~R#PS{)+hkEcQgfwfS@_aF^{UCVk#SmOo zaf%^8zR@WP9m$!_+sP3)i*o(4876VOY_fb2 z=oloPK^wVJv#AgV5fuGPkvh!Wa8ZykRk}LP{Aakq!a+YLIr7;IbMs=$Ece(bqd+p1 zv_oiQL}oXQ#A2&dt#W$2ZGf(hDi^aQQe|lS`B?6DiEXTwS8u>9=rxc$bJ4ANNGqb{ zd(^hiCIz`{M>0KW10OiNe-5MrHeo@8g zv5##d4({r5E-jjvG1|2mkKEZFEJF*D8JboFL7yCrt#v%)fYt4IS>u!}U}x#(d3e#E z*sVdI8J>UlmTV1wKYPq3j(T)X!YW_&FxsCOj;?f{ODdx~J%Hj1f=wt?zrsj8l6&=& zlYq#!h4AJ>vw>Ys?A9Gx0PMfmr2=@9+D4Lk^Kst7`t;5M!Z~j6{V&pfKp%JLRZw+W zb`r9D$#`)d_74jh3cXm!xq`-X3+~QNUPF;YMcyV&0%X~?#uX%9UtLhAKWVo?UEd@Y z2f{BU#t5RkS50%vHd!|Bitxe9SGXfLxBo={_FY)>B6Ix(J|HaVr{RAU1>00#;=@JF z=xQuDalBwL>Euna&gp*W(253u*?_0ba{zCg$4@#n#pQxP9HPr*vI@KmjUm7V3{-M> zvak|#g2_R|Vgt<|7@|GsRp1@v za}z>F3CxvQ`2e+d+;`|5&*a`>rmBpa9fgarmZ22B%7wZc(wwQwzeF{Q$ueLEK9~w0 z7na4^pUFJRexSiH>8yM=@1u>sA>7jq!ALMUK0UxyZ)r6YiNhbjO{ab~(hzlZLRLPW zU*fsxFPspZ-#>M{;X+YBKb?{NwI+**@foxVV!K6 z5tcL9l6BYdU&;5dDuxtfjQHr!taPFIYu-IfjcZ#A@zw_WDWSS45EuE6bKu{%4GN88 z9b4MQ;SCgnn$iNphIKs1C|$df^gbh8%=$|RPA972bCYKcuAf};yD^Y>5{K}Yz>nqE#dP4HIy5yPioTgAm+C>CXjdu&QR=xzRpV`y2$Uh3 zRHHWnGT<{Hd;=+ Date: Sun, 9 Jun 2024 14:54:35 +0100 Subject: [PATCH 21/32] docs: Changed doc about ASVS --- .../Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" | 3 +++ 1 file changed, 3 insertions(+) diff --git "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" index a852d739..f5652e05 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" @@ -24,6 +24,9 @@ ASVS 5.3.3: Verificar se a saída é corretamente codificada para prevenir ataqu ASVS 8.1.4: Verificar se a aplicação pode detetar e alertar sobre números anormais de solicitações, como por IP, utilizador, total por hora ou dia, ou o que faz sentido para o aplicativo. +**Nota:** Para cada caso de abuso foi analisado qual o ASVS que melhor se relaciona com o caso de abuso, tendo em conta que com a implementação deste, outros ASVS são também abordados. +Este estudo foi feito no Excel a entregar. + ## Implementação da UC Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necessários. From 4ce8cad29ea6303f66918b038d4c4f3dc02638ac Mon Sep 17 00:00:00 2001 From: tiagobento10 <1201087@isep.ipp.pt> Date: Sun, 9 Jun 2024 15:51:32 +0100 Subject: [PATCH 22/32] impr: changing product controller to create products --- .../java/com/commerce/backend/api/ProductController.java | 5 +++-- .../java/com/commerce/backend/service/ProductService.java | 3 +++ .../com/commerce/backend/service/ProductServiceImpl.java | 6 ++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/resource_server/src/main/java/com/commerce/backend/api/ProductController.java b/resource_server/src/main/java/com/commerce/backend/api/ProductController.java index 92e40bb8..27b1423f 100644 --- a/resource_server/src/main/java/com/commerce/backend/api/ProductController.java +++ b/resource_server/src/main/java/com/commerce/backend/api/ProductController.java @@ -98,7 +98,8 @@ public ResponseEntity> searchProduct(@RequestParam("page") } @PostMapping(value = "/product") - public ResponseEntity createNewProduct(@RequestBody CreateProductRequest product) { - return new ResponseEntity<>(null, HttpStatus.OK); + public ResponseEntity createNewProduct(@RequestBody CreateProductRequest productRequest) { + ProductResponse product = productService.createProduct(productRequest); + return new ResponseEntity<>(product, HttpStatus.OK); } } diff --git a/resource_server/src/main/java/com/commerce/backend/service/ProductService.java b/resource_server/src/main/java/com/commerce/backend/service/ProductService.java index 5d63edf9..13853fdd 100644 --- a/resource_server/src/main/java/com/commerce/backend/service/ProductService.java +++ b/resource_server/src/main/java/com/commerce/backend/service/ProductService.java @@ -1,6 +1,7 @@ package com.commerce.backend.service; import com.commerce.backend.model.entity.ProductVariant; +import com.commerce.backend.model.request.product.CreateProductRequest; import com.commerce.backend.model.response.product.ProductDetailsResponse; import com.commerce.backend.model.response.product.ProductResponse; import com.commerce.backend.model.response.product.ProductVariantResponse; @@ -25,4 +26,6 @@ public interface ProductService { List getInterested(); List searchProductDisplay(String keyword, Integer page, Integer size); + + ProductResponse createProduct(CreateProductRequest productRequest); } diff --git a/resource_server/src/main/java/com/commerce/backend/service/ProductServiceImpl.java b/resource_server/src/main/java/com/commerce/backend/service/ProductServiceImpl.java index 524818de..6ae3895d 100644 --- a/resource_server/src/main/java/com/commerce/backend/service/ProductServiceImpl.java +++ b/resource_server/src/main/java/com/commerce/backend/service/ProductServiceImpl.java @@ -9,6 +9,7 @@ import com.commerce.backend.error.exception.ResourceNotFoundException; import com.commerce.backend.model.entity.Product; import com.commerce.backend.model.entity.ProductVariant; +import com.commerce.backend.model.request.product.CreateProductRequest; import com.commerce.backend.model.response.product.ProductDetailsResponse; import com.commerce.backend.model.response.product.ProductResponse; import com.commerce.backend.model.response.product.ProductVariantResponse; @@ -171,6 +172,11 @@ public List searchProductDisplay(String keyword, Integer page, .collect(Collectors.toList()); } + @Override + public ProductResponse createProduct(CreateProductRequest productRequest) { + throw new UnsupportedOperationException("not implemented yet"); + } + private Sort getSort(String sort) { switch (sort) { From 1416e06538fa0a9541fdd725d81f505232b98238 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 18:52:02 +0100 Subject: [PATCH 23/32] chore: Corrections in code related with ASVS 8.1.4 --- ...e Case 7 - Implementa\303\247\303\243o.md" | 47 +++++++++++--- .../Implementation/Use Case 7/img/ecoder.png | Bin 46314 -> 39068 bytes .../Implementation/Use Case 7/img/error.png | Bin 24002 -> 22317 bytes .../Implementation/Use Case 7/img/error2.png | Bin 0 -> 22032 bytes .../Implementation/Use Case 7/img/https.png | Bin 0 -> 34120 bytes .../Use Case 7/img/httpsRegister.png | Bin 0 -> 21975 bytes .../Use Case 7/img/interceptor.png | Bin 24127 -> 21715 bytes .../Use Case 7/img/tooManyRequests.png | Bin 0 -> 45959 bytes .../backend/api/PublicUserController.java | 2 +- .../backend/config/CacheConfiguration.java | 31 --------- .../backend/config/WebConfiguration.java | 24 ------- .../commerce/backend/config/WebMvcConfig.java | 21 +++++++ .../interceptor/RateLimitInterceptor.java | 59 ++++++++++++++++++ .../interceptor/RateLimiterInterceptor.java | 47 -------------- .../commerce/backend/service/UserService.java | 2 +- .../backend/service/UserServiceImpl.java | 17 ++++- .../backend/service/UserServiceImplTest.java | 2 +- 17 files changed, 137 insertions(+), 115 deletions(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/error2.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/https.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/httpsRegister.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 7/img/tooManyRequests.png delete mode 100644 resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java delete mode 100644 resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java create mode 100644 resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java create mode 100644 resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java delete mode 100644 resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java diff --git "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" index 961d9f77..e19de314 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 7/Use Case 7 - Implementa\303\247\303\243o.md" @@ -1,4 +1,4 @@ -# Implementação - Caso de Uso "Criar uma conta com os meus credenciais" +# Implementação - Caso de Uso "Criar uma conta com as minhas credenciais" ## Descrição do Caso de Uso @@ -17,7 +17,7 @@ vulnerabilidades de XSS, para comprometer a segurança do sistema ou obter acess de criação de conta (POST) de forma maliciosa, causando uma negação de serviço/aumento do tempo de resposta temporária para os utilizadores legítimos. -- **Interceção de pedidos:** Um atacante pode intercetar pedidos de criação de conta e guardar os credenciais do utilizador, +- **Interceção de pedidos:** Um atacante pode intercetar pedidos de criação de conta e guardar as credenciais do utilizador, podendo aceder a informação sensível. ## ASVS Associados @@ -28,11 +28,14 @@ ASVS 5.3.3: Verificar que a aplicação, de preferência de forma automática ou - **Ataques de Sobrecarga:** -ASVS 8.1.4: Verify the application can detect and alert on abnormal numbers of requests, such as by IP, user, total per hour or day, or whatever makes sense for the application. +ASVS 8.1.4: Verificar se a aplicação pode detetar e alertar para números anormais de pedidos, como por IP, utilizador, total por hora ou dia, ou o que fizer sentido para a aplicação. - **Interceção de pedidos:** -ASVS 5.3.8: Verify that the application protects against OS command injection and that operating system calls use parameterized OS queries or use contextual command line output encoding. +ASVS 9.1.1: Verificar se todas as credenciais, tokens de autenticação e informações sensíveis são transportadas apenas através de um canal criptografado (TLS). + +**Nota:** Para cada caso de abuso foi analisado qual o ASVS que melhor se relaciona com o caso de abuso, tendo em conta que com a implementação deste, outros ASVS são também abordados. +Este estudo foi feito no Excel a entregar. ## Implementação da UC @@ -42,7 +45,7 @@ Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necess ### ASVS 5.3.3 -No momento em que o utilizador introduz um e-mails é feito primeiro uma validação desse texto introduzido +No momento em que o utilizador introduz um e-mail é feito primeiro uma validação desse texto introduzido utilizando uma gramática que valida se o texto tem o formato de um e-mail: ![passwordGrammar.png](img%2FpasswordGrammar.png) @@ -56,9 +59,14 @@ do Encoder, da biblioteca OWASP Java Encoder, que faz a sanitização tanto do e ![ecoder.png](img%2Fecoder.png) +Assim, mesmo que utilizador tente inserir código malicioso na Password, este é validado. + +![error2.png](img%2Ferror2.png) + Além disso, todos os e-mails e senhas são apenas armazenados na base de dados e nunca são exibidos na UI, o que ajuda a proteger a aplicação. No entanto, a proteção contra XSS refletido, armazenado e baseado em DOM é garantida principalmente pelas medidas de sanitização e validação implementadas tanto no front-end quanto no back-end, estando assim de acordo com o ASVS 5.3.3. - +
+
### ASVS 8.1.4 Tal como já foi descrito no [Use Case 3 - Implementação.md](..%2FUse%20Case%203%2FUse%20Case%203%20-%20Implementa%E7%E3o.md), @@ -68,4 +76,29 @@ Para permitir que aplicacão seja capaz de detectar e alertar sobre números ano adicionar o endpoint que é chamado no momento do registo ("/account/registration"), ao ficheiro de configuração que define quais os endpoints que deve ser monitorados pelo interceptor: -![interceptor.png](img%2Finterceptor.png) \ No newline at end of file +![interceptor.png](img%2Finterceptor.png) + +Assim, se um utilizador tentar enviar demasiados pedidos o seu IP irá ficar bloqueado durante o periodo de tempo configurado. + +![tooManyRequests.png](img%2FtooManyRequests.png) +
+
+### ASVS 9.1.1 + +Embora a implementação de um canal criptografado (TLS) para transportar informações sensíveis não previna a interceção +de pedidos, é capaz de proteger as mensagens de maneira que, mesmo que um atacante consiga interceptar essas mensagens, ele não consiga lê-las ou desencriptá-las. + +Assim, se todas as comunicações realizadas entre cliente e servidor forem comunicações via HTTPS com certificado TLS, podemos garantir que este caso de abuso, assim +como qualquer caso de abuso associado a interceção de mensgaens, está mitigado. + +Posto isto, a equipa implementou a comunicação baseada em HTTPS com certificado TLS para todas as +comunicações entre cliente e servidor. + +![https.png](img%2Fhttps.png) + +Deste modo, toda a informação sensível enviada para o endpoint de criação de conta ("api/public/account/registration") está protegida. + +![httpsRegister.png](img%2FhttpsRegister.png) + + + diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/ecoder.png b/Deliverables/Phase2/Implementation/Use Case 7/img/ecoder.png index 969e161f5464b7aa22d8a497d035f5cf3aabd675..73de3391ea579f2630aed36b8f8b1dd25af18b97 100644 GIT binary patch literal 39068 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
+hYk0{oGb641&j%-X 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
_vt_t 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 literal 24002 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 diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/error2.png b/Deliverables/Phase2/Implementation/Use Case 7/img/error2.png new file mode 100644 index 0000000000000000000000000000000000000000..7e5ba12bcd6e9ec34112e480bcc0d55a40f79763 GIT binary patch literal 22032 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 literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/https.png b/Deliverables/Phase2/Implementation/Use Case 7/img/https.png new file mode 100644 index 0000000000000000000000000000000000000000..eef7fe985c84656e796e45ed595523423924462d GIT binary patch literal 34120 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 U=(l0rIP?cqMUCsF^5%j61**3C9{>OV literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 7/img/httpsRegister.png b/Deliverables/Phase2/Implementation/Use Case 7/img/httpsRegister.png new file mode 100644 index 0000000000000000000000000000000000000000..be8ed8ca0545e0781866e2d43bf6071f9ce5b441 GIT binary patch literal 21975 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

SAiRJ`v;1VxtiDIqqmEXDnsTY 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 LFw-yBLxleyFrnPT literal 24127 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 z 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 literal 0 HcmV?d00001 diff --git a/resource_server/src/main/java/com/commerce/backend/api/PublicUserController.java b/resource_server/src/main/java/com/commerce/backend/api/PublicUserController.java index 6dfc9b81..446d0d91 100644 --- a/resource_server/src/main/java/com/commerce/backend/api/PublicUserController.java +++ b/resource_server/src/main/java/com/commerce/backend/api/PublicUserController.java @@ -27,7 +27,7 @@ public PublicUserController(UserService userService, TokenService tokenService) } @PostMapping(value = "/account/registration") - public ResponseEntity registerUser(@RequestBody @Valid RegisterUserRequest registerUserRequest) { + public ResponseEntity registerUser(@RequestBody @Valid RegisterUserRequest registerUserRequest) throws Exception { User user = userService.register(registerUserRequest); tokenService.createEmailConfirmToken(user); return new ResponseEntity<>(HttpStatus.OK); diff --git a/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java b/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java deleted file mode 100644 index efb3973e..00000000 --- a/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.commerce.backend.config; -import com.github.benmanes.caffeine.cache.Caffeine; -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.cache.caffeine.CaffeineCache; -import org.springframework.cache.CacheManager; -import org.springframework.cache.annotation.CachingConfigurerSupport; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.concurrent.TimeUnit; - -@Configuration -@EnableCaching -public class CacheConfiguration extends CachingConfigurerSupport { - - @Bean - @Override - public CacheManager cacheManager() { - com.github.benmanes.caffeine.cache.Cache cache = Caffeine.newBuilder() - .expireAfterWrite(1, TimeUnit.HOURS) - .maximumSize(1000) - .build(); - - return new org.springframework.cache.caffeine.CaffeineCacheManager() { - protected com.github.benmanes.caffeine.cache.Cache createNativeCaffeineCache() { - return cache; - } - }; - } -} - diff --git a/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java b/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java deleted file mode 100644 index 0fd198ce..00000000 --- a/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.commerce.backend.config; - -import com.commerce.backend.interceptor.RateLimiterInterceptor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -@Configuration -public class WebConfiguration implements WebMvcConfigurer { - - private final RateLimiterInterceptor rateLimiterInterceptor; - - @Autowired - public WebConfiguration(RateLimiterInterceptor rateLimiterInterceptor) { - this.rateLimiterInterceptor = rateLimiterInterceptor; - } - - @Override - public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(rateLimiterInterceptor).addPathPatterns("/product/search"); - registry.addInterceptor(rateLimiterInterceptor).addPathPatterns("/account/registration"); - } -} diff --git a/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java new file mode 100644 index 00000000..88e622d8 --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java @@ -0,0 +1,21 @@ +package com.commerce.backend.config; + +import com.commerce.backend.interceptor.RateLimitInterceptor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebMvcConfig implements WebMvcConfigurer { + + @Autowired + private RateLimitInterceptor rateLimitInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(rateLimitInterceptor) + .addPathPatterns("/api/public/product/search", + "/api/public/account/registration"); + } +} diff --git a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java new file mode 100644 index 00000000..056a0213 --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java @@ -0,0 +1,59 @@ +package com.commerce.backend.interceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; + +import java.util.LinkedList; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.ConcurrentHashMap; + +@Component +public class RateLimitInterceptor implements HandlerInterceptor { + + private static final int MAX_REQUESTS = 10; // Número máximo de solicitações permitidas + private static final long TIME_INTERVAL = 60000; // Intervalo de tempo em milissegundos (1 minuto) + private static final Map> requestMap = new ConcurrentHashMap<>(); + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) + throws Exception { + String ip = request.getRemoteAddr(); + Queue requests = requestMap.computeIfAbsent(ip, k -> new LinkedList<>()); + + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + System.out.println(ip); + + + // Remova as solicitações mais antigas do mapa + long currentTime = System.currentTimeMillis(); + while (!requests.isEmpty() && currentTime - requests.peek() > TIME_INTERVAL) { + requests.poll(); + } + + // Verifique se o limite de solicitações foi excedido + if (requests.size() >= MAX_REQUESTS) { + response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); + return false; // Bloqueia a execução do endpoint + } + + // Registre a nova solicitação + requests.offer(currentTime); + return true; // Permite a execução do endpoint + } +} diff --git a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java deleted file mode 100644 index a68cd637..00000000 --- a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.commerce.backend.interceptor; - -import com.github.benmanes.caffeine.cache.Cache; -import com.github.benmanes.caffeine.cache.Caffeine; -import io.github.bucket4j.Bandwidth; -import io.github.bucket4j.Bucket; -import io.github.bucket4j.Bucket4j; -import io.github.bucket4j.Refill; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.servlet.HandlerInterceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.time.Duration; -import java.util.concurrent.TimeUnit; - -@Component -public class RateLimiterInterceptor implements HandlerInterceptor { - - private final Cache cache; - - public RateLimiterInterceptor() { - this.cache = Caffeine.newBuilder() - .expireAfterWrite(1, TimeUnit.HOURS) - .maximumSize(1000) - .build(); - } - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { - String ip = request.getRemoteAddr(); - Bucket bucket = cache.get(ip, k -> createNewBucket()); - - if (bucket.tryConsume(1)) { - return true; - } else { - response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); - return false; - } - } - - private Bucket createNewBucket() { - Bandwidth limit = Bandwidth.classic(100, Refill.greedy(100, Duration.ofMinutes(1))); - return Bucket4j.builder().addLimit(limit).build(); - } -} diff --git a/resource_server/src/main/java/com/commerce/backend/service/UserService.java b/resource_server/src/main/java/com/commerce/backend/service/UserService.java index 18840df4..1a250578 100644 --- a/resource_server/src/main/java/com/commerce/backend/service/UserService.java +++ b/resource_server/src/main/java/com/commerce/backend/service/UserService.java @@ -9,7 +9,7 @@ import com.commerce.backend.model.response.user.UserResponse; public interface UserService { - User register(RegisterUserRequest registerUserRequest); + User register(RegisterUserRequest registerUserRequest) throws Exception; UserResponse fetchUser(); diff --git a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java index 095820cf..033ef28d 100644 --- a/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java +++ b/resource_server/src/main/java/com/commerce/backend/service/UserServiceImpl.java @@ -37,13 +37,24 @@ public UserServiceImpl(UserRepository userRepository, } @Override - public User register(RegisterUserRequest registerUserRequest) { + public User register(RegisterUserRequest registerUserRequest) throws Exception { if (userExists(registerUserRequest.getEmail())) { throw new InvalidArgumentException("An account already exists with this email"); } - String sanitizedEmail = Encode.forHtml(registerUserRequest.getEmail()); - String sanitizedPassword = Encode.forHtml(registerUserRequest.getPassword()); + String userEmail = registerUserRequest.getEmail(); + String userPassword = registerUserRequest.getPassword(); + + String sanitizedEmail = Encode.forHtml(userEmail); + String sanitizedPassword = Encode.forHtml(userPassword); + + if(!sanitizedPassword.equals(userPassword)){ + throw new Exception("Invalid Password: "+userPassword); + } + + if(!sanitizedEmail.equals(userEmail)){ + throw new Exception("Invalid Email: "+userEmail); + } User user = new User(); user.setEmail(sanitizedEmail); diff --git a/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java b/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java index bfcf7c75..9c5c9020 100644 --- a/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java +++ b/resource_server/src/test/java/com/commerce/backend/service/UserServiceImplTest.java @@ -104,7 +104,7 @@ public void setAuthenticated(boolean b) throws IllegalArgumentException { @Test - void it_should_register_a_user() { + void it_should_register_a_user() throws Exception { // given String email = faker.lorem().word(); From 8222221c380d8afc1580237429febdcea717b049 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 18:55:00 +0100 Subject: [PATCH 24/32] chore: Corrections in code related with ASVS 8.1.4 --- .../interceptor/RateLimitInterceptor.java | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java index 056a0213..447ce2d6 100644 --- a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java +++ b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java @@ -25,34 +25,19 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons String ip = request.getRemoteAddr(); Queue requests = requestMap.computeIfAbsent(ip, k -> new LinkedList<>()); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - System.out.println(ip); - - - // Remova as solicitações mais antigas do mapa + // Remove as solicitações mais antigas do mapa long currentTime = System.currentTimeMillis(); while (!requests.isEmpty() && currentTime - requests.peek() > TIME_INTERVAL) { requests.poll(); } - // Verifique se o limite de solicitações foi excedido + // Verifiqua se o limite de solicitações foi excedido if (requests.size() >= MAX_REQUESTS) { response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); return false; // Bloqueia a execução do endpoint } - // Registre a nova solicitação + // Regista a nova solicitação requests.offer(currentTime); return true; // Permite a execução do endpoint } From 72b374a9d8c18f6e2495e81eb7d38f0d3566b8a4 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 19:02:19 +0100 Subject: [PATCH 25/32] chore: Corrections in code related with ASVS 8.1.4 --- .../backend/config/CacheConfiguration.java | 31 ------------ ...ebConfiguration.java => WebMvcConfig.java} | 13 ++--- .../interceptor/RateLimitInterceptor.java | 44 +++++++++++++++++ .../interceptor/RateLimiterInterceptor.java | 47 ------------------- 4 files changed, 49 insertions(+), 86 deletions(-) delete mode 100644 resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java rename resource_server/src/main/java/com/commerce/backend/config/{WebConfiguration.java => WebMvcConfig.java} (50%) create mode 100644 resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java delete mode 100644 resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java diff --git a/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java b/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java deleted file mode 100644 index efb3973e..00000000 --- a/resource_server/src/main/java/com/commerce/backend/config/CacheConfiguration.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.commerce.backend.config; -import com.github.benmanes.caffeine.cache.Caffeine; -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.cache.caffeine.CaffeineCache; -import org.springframework.cache.CacheManager; -import org.springframework.cache.annotation.CachingConfigurerSupport; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.concurrent.TimeUnit; - -@Configuration -@EnableCaching -public class CacheConfiguration extends CachingConfigurerSupport { - - @Bean - @Override - public CacheManager cacheManager() { - com.github.benmanes.caffeine.cache.Cache cache = Caffeine.newBuilder() - .expireAfterWrite(1, TimeUnit.HOURS) - .maximumSize(1000) - .build(); - - return new org.springframework.cache.caffeine.CaffeineCacheManager() { - protected com.github.benmanes.caffeine.cache.Cache createNativeCaffeineCache() { - return cache; - } - }; - } -} - diff --git a/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java similarity index 50% rename from resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java rename to resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java index a0598e9f..dee85b9c 100644 --- a/resource_server/src/main/java/com/commerce/backend/config/WebConfiguration.java +++ b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java @@ -1,23 +1,20 @@ package com.commerce.backend.config; -import com.commerce.backend.interceptor.RateLimiterInterceptor; +import com.commerce.backend.interceptor.RateLimitInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration -public class WebConfiguration implements WebMvcConfigurer { - - private final RateLimiterInterceptor rateLimiterInterceptor; +public class WebMvcConfig implements WebMvcConfigurer { @Autowired - public WebConfiguration(RateLimiterInterceptor rateLimiterInterceptor) { - this.rateLimiterInterceptor = rateLimiterInterceptor; - } + private RateLimitInterceptor rateLimitInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(rateLimiterInterceptor).addPathPatterns("/product/search"); + registry.addInterceptor(rateLimitInterceptor) + .addPathPatterns("/api/public/product/search"); } } diff --git a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java new file mode 100644 index 00000000..447ce2d6 --- /dev/null +++ b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimitInterceptor.java @@ -0,0 +1,44 @@ +package com.commerce.backend.interceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; + +import java.util.LinkedList; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.ConcurrentHashMap; + +@Component +public class RateLimitInterceptor implements HandlerInterceptor { + + private static final int MAX_REQUESTS = 10; // Número máximo de solicitações permitidas + private static final long TIME_INTERVAL = 60000; // Intervalo de tempo em milissegundos (1 minuto) + private static final Map> requestMap = new ConcurrentHashMap<>(); + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) + throws Exception { + String ip = request.getRemoteAddr(); + Queue requests = requestMap.computeIfAbsent(ip, k -> new LinkedList<>()); + + // Remove as solicitações mais antigas do mapa + long currentTime = System.currentTimeMillis(); + while (!requests.isEmpty() && currentTime - requests.peek() > TIME_INTERVAL) { + requests.poll(); + } + + // Verifiqua se o limite de solicitações foi excedido + if (requests.size() >= MAX_REQUESTS) { + response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); + return false; // Bloqueia a execução do endpoint + } + + // Regista a nova solicitação + requests.offer(currentTime); + return true; // Permite a execução do endpoint + } +} diff --git a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java b/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java deleted file mode 100644 index a68cd637..00000000 --- a/resource_server/src/main/java/com/commerce/backend/interceptor/RateLimiterInterceptor.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.commerce.backend.interceptor; - -import com.github.benmanes.caffeine.cache.Cache; -import com.github.benmanes.caffeine.cache.Caffeine; -import io.github.bucket4j.Bandwidth; -import io.github.bucket4j.Bucket; -import io.github.bucket4j.Bucket4j; -import io.github.bucket4j.Refill; -import org.springframework.http.HttpStatus; -import org.springframework.stereotype.Component; -import org.springframework.web.servlet.HandlerInterceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.time.Duration; -import java.util.concurrent.TimeUnit; - -@Component -public class RateLimiterInterceptor implements HandlerInterceptor { - - private final Cache cache; - - public RateLimiterInterceptor() { - this.cache = Caffeine.newBuilder() - .expireAfterWrite(1, TimeUnit.HOURS) - .maximumSize(1000) - .build(); - } - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { - String ip = request.getRemoteAddr(); - Bucket bucket = cache.get(ip, k -> createNewBucket()); - - if (bucket.tryConsume(1)) { - return true; - } else { - response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); - return false; - } - } - - private Bucket createNewBucket() { - Bandwidth limit = Bandwidth.classic(100, Refill.greedy(100, Duration.ofMinutes(1))); - return Bucket4j.builder().addLimit(limit).build(); - } -} From 28009b27e9b7fdae96205a880cdefac1d158f57d Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 19:56:10 +0100 Subject: [PATCH 26/32] =?UTF-8?q?docs:=20Mudan=C3=A7as=20nos=20textos=20do?= =?UTF-8?q?s=20ASVS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e Case 3 - Implementa\303\247\303\243o.md" | 40 ++++++++++++------ .../Implementation/Use Case 3/img/cache.png | Bin 23289 -> 0 bytes .../Implementation/Use Case 3/img/config.png | Bin 0 -> 33810 bytes .../Implementation/Use Case 3/img/configs.png | Bin 5714 -> 0 bytes .../Use Case 3/img/interceptorConfigs.png | Bin 0 -> 17145 bytes .../Use Case 3/img/pagDeErro.png | Bin 0 -> 45272 bytes .../Use Case 3/img/tooManyReq.png | Bin 0 -> 78970 bytes 7 files changed, 26 insertions(+), 14 deletions(-) delete mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/cache.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/config.png delete mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/configs.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/interceptorConfigs.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/pagDeErro.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 3/img/tooManyReq.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" index f5652e05..f53b8b21 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 3/Use Case 3 - Implementa\303\247\303\243o.md" @@ -41,13 +41,13 @@ Assim, existe dois pontos importantes a considerar para garantir o ASVS 5.3.3: #### 1. Validação de Entrada: Quando o utilizador filtra a lista de produtos utilizando a barra de pesquisa, a informação escrita na barra de pesquisa é enviada para -o endpoint "product/search" do "resource_server". +o endpoint "api/public/product/search" do "resource_server". ![searchbar.png](img%2Fsearchbar.png) ![endpointcall.png](img%2Fendpointcall.png) -O "resource_server" é responsável por encontrar os produtos que contenham o o texto pesquisado e enviar de volta para o frontend (client). +O "resource_server" é responsável por encontrar os produtos que contenham o texto pesquisado e enviar de volta para o frontend (client). Para garantir a validação de entrada, a informação enviada do frontend para o backend deve ser sanitizada no momento de recebimento para garantir que não contenha caracteres maliciosos: @@ -58,9 +58,17 @@ Ao adicionar esta validação realizada pelo Encoder, da biblioteca OWASP Java E
#### 2. Codificação de Saída: -A saída da pesquisa (ProductResponse) deve ser corretamente codificada antes de ser renderizada no front-end. +Como é possível observar ao utilizar a aplicação, toda a pesquisa feita na barra de pesquisa é envaida no url para o backend, +o que pode constituir um perigo de ataques XSS. -O código Angular já está estruturado para prevenir XSS, pois o Angular automaticamente limpa os caracteres perigosos ao usar interpolação ( {{}} ). +No entanto, o front-end tem implementado no processo de envio de pedidos https uma verificação para este tipo de ataques, bloqueando a pesquisa, +e reencaminhando o pedido para uma página de erro default definida na aplicação: + +![pagDeErro.png](img%2FpagDeErro.png) + +Para além disso, todas as respostas do backend que devolvam um objeto de Produto a ser mostrado na UI (ProductResponse) são corretamente codificadas antes de serem renderizada no front-end. + +O código Angular já está estruturado para prevenir XSS, pois limpa automaticamente os caracteres perigosos ao usar interpolação ( {{}} ). Ex: ![exDeInterpolacao.png](img%2FexDeInterpolacao.png) @@ -74,20 +82,24 @@ Para implementar o ASVS 8.1.4 na aplicação, foi criado o componente RateLimite ![interceptor.png](img%2Finterceptor.png) -Na prática, este componente utiliza um cache em memória para armazenar contadores de solicitações por endereço IP e aplicar limites de taxa, prevenindo ataques de sobrecarga (DoS). +Este componente verifica cada pedido recebido do frontend e analisa quantas vezes este foi feito pelo +IP que o está a executar. Caso esse pedido exceda um número predefinido de vezes que foi executado por tempo, +o IP é bloqueado de executar esse pedido por um tempo também predefinido, prevenindo assim ataques de sobrecarga (DoS). -Junto com a implementação deste componente foram adicionadas duas classes de configuração que -complementam o trabalho do RateLimiterInterceptor. +Para efeitos demonstrativos, o intercetor foi configurado para bloquear um IP de fazer pedidos durante 1 minuto após +executar 10x o mesmo pedido. No entanto, este número deve ser ajustado conforme o endpoint e a quantidade de pedidos +espectáveis para a aplicação. -![configs.png](img%2Fconfigs.png) +![interceptorConfigs.png](img%2FinterceptorConfigs.png) -1. WebConfiguration: Esta configuração configura o RateLimiterInterceptor e garante que o interceptor seja aplicado às rotas específicas onde a limitação de taxa é necessária. -(neste caso foi adicionado ao endpoint "/products/search") +Junto com o componente RateLimiterInterceptor foi adicionado ao sistema um compoennte de configuração WebMvcConfig, que define +quais os endpoints que o intercetor deve monitorar. -![webConfigEndpoints.png](img%2FwebConfigEndpoints.png) +![config.png](img%2Fconfig.png) -2. CacheConfig: Esta configuração define as propriedades do cache utilizado pelo RateLimiterInterceptor. A biblioteca Caffeine é utilizada para criar um cache eficiente, com um tempo de expiração configurado para 1 hora e um tamanho máximo de 1000 entradas. +Assim, caso o utilizador execute mais de dez pesquisas por produtos na barra de pesquisa no perioido de 1 minuto, ele ficará bloquado durante 1 minuto de utilizar a aplicação: -![cache.png](img%2Fcache.png) +![tooManyReq.png](img%2FtooManyReq.png) -Com estas implementações, a aplicação é capaz de detectar e alertar sobre números anormais de solicitações, atendendo ao requisito do ASVS 8.1.4 e protegendo a aplicação contra ataques de sobrecarga (DoS). \ No newline at end of file +Com estas implementações (configurando adequandamente os tresholds de número máximo de pedidos por tempo), +a aplicação é capaz de detectar e alertar sobre números anormais de solicitações, atendendo ao requisito do ASVS 8.1.4 e protegendo a aplicação contra ataques de sobrecarga (DoS). \ No newline at end of file diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/cache.png b/Deliverables/Phase2/Implementation/Use Case 3/img/cache.png deleted file mode 100644 index ba639b608cf0de1ea6b500a334acd231b1703bb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23289 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 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/config.png b/Deliverables/Phase2/Implementation/Use Case 3/img/config.png new file mode 100644 index 0000000000000000000000000000000000000000..fa54c747281634fee7d7592ddd4da4000d2c03ac GIT binary patch literal 33810 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 literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/configs.png b/Deliverables/Phase2/Implementation/Use Case 3/img/configs.png deleted file mode 100644 index f4ebe5241160fbd336d55309b3cd29c2e64cfa1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5714 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 NPup1QwWdwz{{R_ptd9Ty diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/interceptorConfigs.png b/Deliverables/Phase2/Implementation/Use Case 3/img/interceptorConfigs.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb08dc3c78cee1c205188dfdeee21f34160d5db GIT binary patch literal 17145 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 W*vLJNMqSe4k+QtHT&1i@$o~TZA#fuA literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/pagDeErro.png b/Deliverables/Phase2/Implementation/Use Case 3/img/pagDeErro.png new file mode 100644 index 0000000000000000000000000000000000000000..6b22d7f8c233692f0b93361235c689b90de163ae GIT binary patch literal 45272 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
6r5Ih^KsjhjOAH2gnVB=x zHbGq18y@rZVrsPsx?64{cMP>Wku-q{Z9HNIc~VjOMf;@2>h_pU&u{zH{6x3jmy!*( zbPpL4c+UqVX!@qvYEWuogY_yAiH~fSZS%@TR9^5^3KVE`(=p%A_{?jTV_KgE7-+?p zTaUpdm>)Ne{SeZ#NLrF8LKQlWXyg!Wf}pvR*j^>iGA7a)hjWIZCq(n%C;Ey*%=XM6 zLf5WP4royJ7k|m^8(~HpF!`ueRH;)mO{OPg4|8Lx#Hs$_(egEVV2gPW$aYFsRWoZu0!%(xFcv?Mb0=r^bGrWDYm;Q-n8o?ZS+VXX?PUn=9K}sT0#l zA}e9W6e;jHW;s#woLifg{1 z;VSuGouFj}ci|0#LX_m&MNH{mxR=uOa2_oryFgY7;EVp;c8ShQFJLA9Q%_vvdjiIi zMd{&46jBQ#IEXO-3Y4&GQ%2Ly^AU)QD;gI?>dh{ZmTs>g%pK18%-=o%Zs|NZF>vE4 zoXNKeEooHr4NP!gzr||M0t8lU!Ok3+uXq-rxmPL96C@AZr;WVQ%HMb=&n^KXH9Dl-Jyk_-R8e++^?Kx-KUX#xmgfx}4 z9z>fbg=O1L#|c_N$0w^zb?6vEYnqR_i$`t`jP>KcB@X|{@a>6vd}*L(21dk zPE|2)oY;VoEDr_rb$h8y>Pafd*S740?kh?0+c%DfHAMsik_FbB@H0@>=}ck|NfuQeE+U|`U}fRN;jw|5P^ zlTMq(V0ixeA-ZC&_(5vP^ac?@)j_&|*U(lNN4RkRdz;i?%hM_kPKM~F$ROq>vtT66 zB@Fh%KYsA~+_Yv<6wDc>s|ON;DgcB-GKh8n^*i)S99JL7S=b_Ey&flegoImh%8OS& zNH{7(WPSarxkjX{%Zg-Ojv-#@mikz{YsVyb zDbi-a8(U$VRCCL`!AvvQOlIB`IWDKp6S8gMdPOQID$Hh(t(3P98g?VO#<2sa>R)-- z0&sSLv#W&b9cmjIkR(cFZdp7L`SA|7I0^e@gAE8tNmS_EjOu%d%k=A6ZI6zJ^f~PV%RdZe|4Ic{Sd(e1?eFni6aZ4F0MP~QOli= zZL74m9$Hw;-v4Z5QR@eDMAq$dw1)^5sK>fXOj8Jd4hgektCnDp7_y%*WSt2xG%ZOh zcIz?7G8zAjW9j8X_@s&jo7&6tVihqe@U4+{v*}+vih<=@8AFq@CKN2bQ+c^3QVIBV z*U%UW;LoQ4Gs~4PC6i!QczCU@5#)7 zW}V4V0|=B;o_H;il@a|TUglAT3{btg!@NBi_A1IQ`$wzjVUV*DyMdX>?WoOD4>XSp z1?(cjs-;Cy$(`&!bAq%MJtWKINao(e_mo!Yo(9@5$-z4+3da~eb&Bd&|9|QU%{?=% zv$r0r9GagJH5jxlA6aQEEB}gQ8a8PNjsvn+nV1BBLtgB?b}Tbrmhl&se?P=&-8y}Z z^_&@*wLghbl96Eh(rrH=ZJR z%)$3DipGeI!>Q*EU%GN;ir$W_TADP{3O&-KiTNi5U&zfAo<1~qFvP#Nci4jcInJb7 z?^Pc1h`35T?mvs@oxL$1LneFT7MP8H%6eaw^09$8a<6+`?yWO!wlps7i*k#s-^&a~ zANozyf#*p_{QEGYw16(UenpE+%I~r+kn1 z9WxLkQW$bfK2)Z{WrQC#_)Hn>C;|dn&1`<&zPM3tlLtkx;dqM}u^WC}F;XcL;PRNZ ze#gvP;yf&1TnY}ohu+=mGBVeA?E6x1lusa~)#6e%LcqAp)yAuFR}&>j7FSni1fFF- z9=xn~96*Q6s~_wS=}6^rUlkwpc#N`}GFR39Lureq8$2p$|#Y)|G>b`xO`5T z|KnYH{q}SX@8|_R@}ZAW%FOL_)2lgGc^!Ie4Xyz-8Wq}Tn`paY=8k3O{bZkLi;P=b zO+US@G)t|RRj`v{*M>P|nT82&7rrU>h_6?NgRC)Y?G73tK0llA+F6`Tz-vVldx#N> zN`y*QZ6ES#Z|>qnwk)UYn~00zCkV0&hI`ehI31bJ8YPd8R9CBwB$*h#@D9VV3+u`$ zm)evg5#ov?;*$K8TjKfy#MGfjqv?dPt=muO=|$@8W3^i}%}5AGQdg;Qk1T8DcQZp^ z8ub{qf3z`C)50iBB#QOLO#svUHtCd;!`CbmgEflVS5a3S?F`u5jHluOv9;`Jbbr7Y zMzz{M9HWvD&p+nbzq-WO&ZDOnZ8J1W$TI@?{$hN4zSi@$a*;DnMpq1x@A*uwzx1M zydl2rSw$<;&dCUD)*KRopSfF@zdFfVMH*TAWoTKAEsptqSUwI!9JGl}N3_^}3onnZ zLodl4&@Dg8gMbL^LX(ejDj1pl8k%d&T^5&Fc~U&dNj7moFE7`ji?X~TMpuGbR(e^# zFa|onj^1(DVSvT`2XnP`4f1UX7O7r$U+bb}2Ll@Yk5=NE&*Rj_TcMf2=u5g4n$*{x z7bt^y@WBu{CtoWamQ#Ex5cC|SWqoTX>G9=qeqLAsW0ko zklEXbaGkmR z%AjfX`i@^3!epqieJ#wY+1y{?a!|GJAC;+l(}z+HnkSCbhfYq#JXdpSUIxIUHfY*G zvnr!lKS<`*%uwGf7RKxuBEyRiw04gX%&pzn@nu+|_-u01%Ir5R3b6MpPO}Ufc|h`C z1w^exLd~Z3KR!%?HI)zB;IBg}MiyFs$M}z+A94XxoU_ktn1jN4-F@?M7aL<Vfx$B+x4*{r;L4Q%o#RlXDtAr&8KaWW<<` zrn?rZYU_&PxhUqYQM7Es8IQ^LUvPUT<{4SP4auRFBo2(zyfbJvREWI8Lc82LPJGb5 zjMd9m$UUDFn(fl!dQC4%Up_gPFW~Jx)!z11Cxre$rr*@8iDPUV`{A4d= znBy(fbb^8#BmR<2km2t5PEv$sJSXVw00OjlARf9_j2g#cxl|Q@eJ>4tHvP68<>-!T zWeWqR%@nqrYCBZCN&XILUt!?>g*%_F*=Mxs#4)dda4anzpHx34WDZts zi2Lz_+c83Gs+I}<_R!0paHd(EYKMijs4UaNLA=3p_vOELJXls4n3w2%1`}ralIVAL zb>tB8eRgg-ULnjull#6ETXhFFa&sv3lvblL<6}7_tG|46S?-$HMPJ z_%Pgf%RQ2nm|AKbI?3!QTX;>c@K*0ur)ijKs0wtSHI{reQ}jo5jbC&opP){1ZR{>1 zZEhP?n}?y??278^=rlv9q_5z41FhgyjY05;sP?(UEwI7FLSykdMhOGg{ToK=L^FSr z^ln>~Hc2;vvYxWf61SH_VArD$Kl$fS;u0e4)x%YW=|vEG`iSc-V@cD|%jDrwi*k;1 zBuS42s1e^IcS@t~1d@QCZfYo329YFsnzF&jEPA1@OuCe33>muD$J}u&%r`S`vFz*~ zsBvzENA6U3Qe;_!`7Pho+pCU$7h?)jd#>{yH_Lo8bMmG5n&KpWjcqH14xCSSbi*`N zD$kX`_Gn*~kXWB#z-xMOHZgrhZc{61UIFwuIYsKA2S&>EgiH-S;OtauFPbSn;;Zzy z$m(vBZ};$D@clm7N*u{jExk0IqzEI}{*MFeIUXB+AojYDg;k=DLKgk8RvBJosHlm3 zsaH}gj!0%@XEeO!%x@Dazsr{y{;&@6$@X#BS56B`J2}S~GZT$nv3_@Fo<$bm!hP3c zk)ZPv=EGY|&y`+M*@t%9HYtG2vd^v(bC>O(m4s+GIqFsw_#d`@CoD`SY(JWJlzp4> zx+Z~-^lb=pM%=lDH1 zpiD{V_jbsr<=a-AH;P)+;U!+Ss?|rI#K|glDjzx~0|44N$bgYkgCD&Q6ui>YPlkm4u%5kK6%T;)O2x;%}RO=*_8d z)aW|X+E*kR8O9epINBoD(oe9S>i{=S05iktLaQKz$9aEEy`{|W4cX1`Z!k+S`EuWS z67}NG*}F*8m$av=F3Dk0$Ul0r+HXX3*WVi_QRFFkw1B(Y5&61mN)7ArEDo9rvI15j z!qq{DD6Nx>2=N@wP5%7!T!`cpc)m}Ss~jon`c0iGC;i~#zMXZ#51Y9E$w?+aC+>NW zYEsh=9(ZDA&Co}<$)_MtRu9PBEShyl;TAkT_sp|0{lzDRx+f8rMbu$Z=1W-xNH7PY9|m<9D&WD* zBbvk{W%{$d3@5r?Hwi~mtJahC1265?zRexs!LB|y`FdUmxR(IXFBYPSDxOL+fw_2B z+h$=a#KuFr>8y1dIe0O*iCvhSg2HTs59wOR%2IfCL=v!0_xf5 zfgbTP$~q1581QvW!F$wfT^pa-j2PDcJ#*yR4o^z5;dIdCv-y}%MEO><(M!O8<}~;N zqy56fx{9L(syZEo77rnN^}Uonx*wnl-uEZsPJj5a2#e4&WNGDy<*!Rg?DQ^|3{FqmE+!U|S2lC*o1MRG&>~jwUHkwR z%vhxd+HURanxGXJ4~UFOg(M0M7&T%?vOalcmmh>Am_NnLyG`R51*W07YownBV$8PM zZfcnIADMY~1#$&{%GVh9_qr5GJOH2Rdl{`^+SaSQxbsAcCzh-U*wc!6+2$Gdl>$kS z+bD1)IJf;rlgT&y+=#N;l?-bR?>2>X9 zL~^Teo&Wq+j_|Yf^mzb(0OwVeH1MjEu5U!kQT+G{{P0{3gc`o9$5!r#%t9VuhPOg& zamLHiY$>^y!HQbCn$waZ+Yf4Oe`lR(t#}0TP)?GzHQ=}>z0k;&=>6TgZ*Nj#VV|{3 zX5S(S{K=v*U`Xy$*;-{%Br z60%cLpp1U@ZQ1Z=iKIl#W#WG6Za$glLUudB(GebC8_73|=YNFX?@+HaJIP}2B5W7kux9QUcd zp{~6I9;{WF3@812xb%z}yyQV5R4$Y!q`TQT`1dR$GzV9`Jb1Jc#rD_X^&!c0)PV3b zmojsE%T&3X!yxXs=|&Z*IJ{;YKJq4os}+jU$j9F`H#OEd3lScFHD_Q16)ZHnD0E{x z|CxlMpxVReB6XAKq+zpYhOYB!a}OrfYngC8v2QN)yqdqm=ExjL|Bn78;G)s~CsNyf zkZaDw4Xiy8Pvh@1P068zxdKB!ZLRH3Wy{+U-UhpMNwk8!Ij|koa8Yx)Rq&_3fxFK< zZzs2NM{!(>YN;OW(%7ij^L)cj*y2%=v_p?N;IcO-%G4Lg_^jG;70n2F@&hTam7bXR zi52$meTNqHOZsbRfIyOx3EFU)q`$ovdIP@}z^k(*at;-)C{poraBE`J&F? zKvcB&-ju5=0VCP?giEWJLAuxe0*vq{n=%K-SbPDslZ6wi(ymk-wiy#w;(AhDwSs^V z;T;E?krt0f393Nz#Wfqz3oCd6Ot1Zn0p#)pMY*==iG%5E`>J#|3a_7p)L+pzJrR`t{AyLnq!05S$EC6rrPT0Xkrw~#vd;* zXe&e+MP3fO&Bp%`m6Wf3@pAXnm|wz?V3WXL_1jAY$gkg(O3>-KYjU|TOFhfc!C7sD z)i%Z6Wzow`XviAl66i%HGZ6V&I`(Y_X0k-xj4EN*MtfWDfmD>keTgLpuRMF3@fyvs z4;nMG#mD%+_T$1(?L5E)@`Cj=e*<7Zmb8#c`c<$n@C7BQH26OeeE-}@0LrGk>hgFky5#q%ZUO2QYP@cp&^$qPH)0O~OT zz}V*Syte(}IuvQ2XW!wM+?TWCr)sI|dmCd3=ikl(I~^BLjM)~vliJ8fUqnz8uDz-$ z?02ZxDQwa|QG`VmEc+3M*}=fKRv~RuAQ>D*k`zPt_|m_juE`OrVyfM~D)_vT|JYPD z`SNd>@XeTGQ&xlV-wNU9f{y>z5MR|io)^mhciXA^EdPGMsW-g;-Sl4|{zJrnsqz1a cBmSPQ-rWRL(A36J+2)k4rlCfa+T)l12Qe;ZVE_OC literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 3/img/tooManyReq.png b/Deliverables/Phase2/Implementation/Use Case 3/img/tooManyReq.png new file mode 100644 index 0000000000000000000000000000000000000000..39baee461c8c73ec32764dfeed18774dd7a09df7 GIT binary patch literal 78970 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 literal 0 HcmV?d00001 From a4217f1ab18d318d2717f2d33d59d7b18e1bd2cf Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 20:44:11 +0100 Subject: [PATCH 27/32] chore: Implemented code to make UC8 comply with ASVS 2.2.1 --- ...e Case 8 - Implementa\303\247\303\243o.md" | 21 +++++- .../Use Case 8/img/bruteforce.png | Bin 0 -> 51519 bytes .../oauth/config/ServerSecurityConfig.java | 15 +++- .../oauth/interceptor/RateLimitFilter.java | 70 ++++++++++++++++++ 4 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 8/img/bruteforce.png create mode 100644 authorization_server/src/main/java/com/commerce/oauth/interceptor/RateLimitFilter.java diff --git "a/Deliverables/Phase2/Implementation/Use Case 8/Use Case 8 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 8/Use Case 8 - Implementa\303\247\303\243o.md" index 18f23b9c..533d8d2c 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 8/Use Case 8 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 8/Use Case 8 - Implementa\303\247\303\243o.md" @@ -18,9 +18,28 @@ So that I can use the application ASVS 2.2.1: Verificar se a aplicação bloqueia uma conta de utilizador após um número especificado de tentativas de autenticação malsucedidas dentro de um período de tempo especificado. +**Nota:** Para cada caso de abuso foi analisado qual o ASVS que melhor se relaciona com o caso de abuso, tendo em conta que com a implementação deste, outros ASVS são também abordados. +Este estudo foi feito no Excel a entregar. ## Implementação da UC Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necessários. -## Implementação dos ASVS \ No newline at end of file +## Implementação dos ASVS + +### ASVS 2.2.1 + +Para a implemtação desta ASVS na aplicação, podemos reutilizar o componente RateLimiterInterceptor, introduzido no [Use Case 3 - Implementação.md](..%2FUse%20Case%203%2FUse%20Case%203%20-%20Implementa%E7%E3o.md), +responsável por controlar a quantidade de solicitações recebidas por IP para o "resource_serever". + +Embora este componente tenha sido desenvolvido com a finalidade de assegurar o ASVS 8.1.4, ele é +também capaz de assegurar o ASVS 2.2.1 pois consegue bloquear o IP de um utilizador +após um número especificado de tentativas de autenticação malsucedidas num período de tempo especificado. + +Posto isto, o RateLimiterInterceptor foi implementado no componente de autenticação da aplicação +"authorization_server". + +Assim, basta configuarar o intercetor com o número de pedidos/tempo desejado para permitir mitigar +tentativas de login por bruteforce. + +![bruteforce.png](img%2Fbruteforce.png) diff --git a/Deliverables/Phase2/Implementation/Use Case 8/img/bruteforce.png b/Deliverables/Phase2/Implementation/Use Case 8/img/bruteforce.png new file mode 100644 index 0000000000000000000000000000000000000000..f5f6b8fcdbd6b544d9bfc865f0f7df57a107875b GIT binary patch literal 51519 zcmaI8bzIY58~<;BAl)5`C`xw@kPt*#P`V|gyGBTZl!^#QhlJFSuF;!P1Bs0qB@EbT z7%}2IKlkUpAKyQ|zu%wR`_%i|xz4%H>v^3e=;^4FldzE7xN(DA_Lrpb-+yfM@?p)9hE$Fvpgv$F~`MP7D=wiQdk&A}BxUANK ziRb87RMePA;aKV(!M`OpQ;GeR znEK+a8S#&zkJJg;?-qjYyT{M>e)xuvMhkrgK3?0vlfu!=BN+%uD77X z$BltaoAG(iAj3~u_GmeO7lrl%wgnoUwgAarm~Q5{@6U`XNsN{>EO;&hEZv0PebH-# z`4>~Qfy-33)0) zylpzGzBS`z+4T|dntdt);aBX48J3YZ=z9l~mv2UekQKWrzlVX4{!6k!f-n|EO_ha! z5^GjeSYGCrQPasYS4Fl{Qhx??dgTYDzAxOfK;_+fjD{ZQM{_wvY?;)SE*ld2Z95GR+miGRt*Wehp4&un;rA!h5$H zU=Mgk?#KA%uCD{ z^~PiBxhdt|03*PolZNW)*e+Cy0DA1c;w z1lBhtzkBLssTk%X`4ak_G!KHVto;q&My}L5)rQd-h*Ea?6v_9S^ml_#Lyxdn!;0)hB`2>H@-%5IxX(XD{h3UlQ5vWy7;fy zE?3Khk`#?Hx;S0UA)Q0BWKC;OIFR}*BafNc4dA8B^t|B0CVaq6X zDdJ7f74H|T;=RPs2lo+H{k2mBfKbsoX=%sj^Nkps%w$r!G%}RMaaOmuF<1ty2LEFO z+@j5=?Yb-b@fi%=Cq1nV%LRtM&q?GFl|iDVM4?5F1(#F|ZvaWnMIN?mQpP{cW9aGq z9t6PdaN(`#UjPgSGvh7!#8z_I2$A)ISq;%Q8hM%g$||ZY9QOgs`Gky8Zf+<;#7evO z>sK*DaKK=nWh04HrK>CA(@nqQ7n7^}k;?>;owzEB{5ntKAX7Mf;f0f;ODIud_?&|K zG7JhrF&l1u#wfkK7LILpcv9Lfc9$pmp3o4n))@3_>fBiu`E=K=PJprGuesbX*Vd)DSDLOy0A#k`-kLOxapV#ds>Hq&-m5Kqs>ni{P^wiopZkVUu%_f2rOtjp=GwK z`f5Ve%;V4IC!RWzV&Cvy;7BU%w!*8KQHL(MU4A3mxYixu@53V*j;_KAlY|NfqPCHF zq(!(|L)5YzZ51jyUvBq!Kel3~xxOajuvOoTK*`_VfR7VdJVL%V$xjC1iG(~41bpsg3(tX zu`f>H&c~elLX6?W*XJ{djZT~*b;viw(-w(zHT)s0)d_%25&haEy)0cm^SX%US`osd zH?E`^D`nHc$Iq&&8v7Nu=eigbld26)o5^{oTv2wfJ|d)J)(o7^pxUK?*j0-+`JXso z4-xt0-Q(u7JNeaa)fdTj*ZqU)oY&CDDS1k_^MNh&1Bt_zrwCdOW|{GwIqCc!Ru>+p z9^~u<8>t)U)X$4{H19$HT(HwKs#9P1Erf+HuUle^24He5J8j9qh>56q-I0E+tBR zAiMUu;^yvb0?rM-K1jdjtIM*#auR6PKGqOJqOV@`Hec+*&i1PED92mgU%`IrRAK3CnB5PQ=TT;>YGL^8s5wrD0~v$b|}wPre=J@t96D zP;Gtm29_2JCzZ5+w47BMWqdh)e zb{u3b^)D5QUpRC{4f{u`p41r|le)nr#tv=5OF4SKFqT0HfTBR#XqevRFUzRLw7>;M zHRA>xvA^z_w%OC;ANKHYW$n?v9`e^`wSC{)>YWy^>rb(ymdfR6a%^f&%N@U0jqNNd z|3rq~JU%cT)9?K1jwE;>UJ84JC{}97;4esWve4#}4V(iv*R4Cp)K)1b)I8@?ewcU^ zQR)h)IjNrYt@m2W$vEB}{W|qiFYTk%lvY<%xyiMCIbWXIE6!X3=#WQ8Les*tT*A9u z)X_bnY>~Nli^&5n;MJy8^-hku?Tb$*mm@pp!aH6q=S3yo?bNvGEG`uuAnN}y_pX0) zQTrcv8ptBleOrGq#!A=z!3jHNyLmc1KkWJju>Ec5$&hK)b$|wO?t=CPMyS_f>+;mj z{=q1=BY90~98Bno>`W%cHd#YyN%z!Fm|Zmk0U6egawpU=yL1Lu)W|R72VF}V*wYhm z)xh}xYtn@oa89rN%7EMO`kjHi<5(L`vV884D*ner@m;9pY|`vB^}*9e#0h5)(|5t4 zW#h90h2)xhvblC*^12>%AM!7_b(RDG@)0|*D+U2JX@@h!iysSzR>}d_Xc0=F59)0P zIF_{xST{%S?Xw8JkpPj+nF)RX?#iwKmeslEtq8|F)jF~O9Wa^p9Xo9~D^n-VhJQ_& zLaBh{dU^7?ziqv&DtCHnfb-|?_%JBqA=j9Gvtg`Jgy29PBI7SvsUck6U2WsN&PJFRQJn_g2>26@vDQUX=iL;Rlg+?{@N1M)gQZ4*{Rgf&=C2G z3%O?7G;I8DpS?}e?pt9Qev6HI?Tqbhte%p;g6@pyWZ;l@WV0*(qVI zd3<4!oz`Eb-4qwq;bn8dr8SWEX@){`ZZHmcxo7;-;YUAeSTXF^XxgrxrkeGZj1I9G zu>n|IwP2RtF4`B9`o=>_R!9S*;lq=W-rw0qqx)*#k5i*=w1ogzRgbYFJs({f2FD%w zbvR5}9ktXplO&D3v{;=X)-^mqV|u)>vpNp5aQkfW{Mv7R1?SX(LDdF zIe98SX^m$fu?PxLZ&}}HRVj+)p4t%laDWmDIdJRT^ba9_YA`+o=uA#;<_p<<%GXO2 ze&g5*Jr>Q-8Sdgi#L{eWH$C8v1wY2aB4sO2_5oRJDy_J(?I%vynvGQ(XRZyyYzT(- zC$6R!(-#V<^Jqp{C6^+(<`0<%6EU{9t6k;J-7@KZc5>%;EKv`*rE0G*=xJXNGi;1*3x{?0e_j9pB> zI7_(hBb?=Y{1@ZEq|KhL6J4h@cvm&|D3GiUq3YIuGmLLvm45WKVuD8{(Mq1wcKV;d z@sB4Ush54{$nXR!%9I{U6YbphuPY<+q9tA(w~<9))i5na_w6P`2rBHxf7;v&g@XKN zrS{_t=AU@QiS3!iFlxLpPb}lx@{L~S1v;11Mt zDL}XWq@X@y^y75n&eh$?DhcVS08>S@WABJ`>&Lut_3vIy2VUmNw>%pekRe^)H`@?- zQ7nA(aa%87Xk&TpWn|R0^yfc-RCQC(1Pa+U@MC|Tr#xy$_|tN)ItY#8KD76_C!3GT zHWrJTeYc>^{VCbenJ~be_v$G-j0iLr?Ekd|T>rsO-sQFe=Y`tO7I!u2S?-01KaPS~ z@;2ixpZ$20b00WK*|o?GX}BtBleWDNuaZkHJKq{fIVYJf0Vj97XnGiuzj-zepK8c` zqmJS%lH_q>6MERgQ4}XNi4zswybqK8eTVLMR1=7}Q#zuo_LZ^WY)Xnd4qPdsl89kA z0$JzpiGSa`N$#y6-~NGqD1!hP%_92!h%&vQI5+skOq1G!(Kl5U;&zLnstNaquW~A_ z11N><|L!=3Ct;`;{M-(!W=6td*eUqPw;OGZ{i zTcjE}hc0R^it8?_I~+^Q=i$r}B|A5ZpK!qBHa@Q|FLoOQJPtug6rkS*Ty6DL;p-LNR3;dNnZ~R>m1_X%9g)6D&y=GM5eH85ltQker4Ih zeqCH$(Y>VhIQ|frN-nzwxd`9Wl%TKVbGwyINCV{RI(U5bd*)peK5i-`dSu!`Bqj+? z0NZX!kC;ZRis*7lq-@LWEd^0wC_JjbkEZwMS29;Mhw5yxWnLf47G9oCDbP^yftQT2 ztGRx@7NbkY9hF}D2VF(-=SG05itru-ZsG;5S!zqq1q10B7{~QZ0^pvwpMPF=dXt^y zDRUT~$Omf_#kgjRx<%yLYh(2^>Xm{;SHuBM6|0l89Xt;7(7rga={e@T+M|!L;>m zXm>&Onjf0H#TaZJjS3?pN&&vO^^+{Tb@#^I2U~PqU!}-*fn6t86}W360YgsMYsDCs zVS6>l=}R^y=-mb>o0HnN*+zVzbGs{)O!{aV(dWG5*5;dvJ$WFCJjWgmpbqBtkXvNu z7FpYSF#3D_ot=o{s33*FMLU<8qR@adMITAv0UYeW<`bZ-PKWd9w%qS;T0+Vv$8((J z3GgRwGtcR@jc$hsZNnu55!-eVFX=E1RdVqueTSRfS%{dif6k zMzAMO!xqVhnCZKcoF2}4@8{>X0iu-MrmhntR#`SDkn8$!m`x6mr%Hc@o2jw6@}z;5 z?K<{g37kg|JBT(0239{O+2h9vsB4JAc0v;XIsMdNqR$ct5y#LwVPqoGn|VVrS-??N%yp8Vwrrv)_josWtZ`VIiu9T|${+uH}R+M7w7kOpG7cdg2-st=N+muJ_O zOuSED)uC9(iNbF6C<8fmBirJmTbNmF15c9NU>~GsG$L2~Shw_BuPRUDc&?OlE1f-x zR}bR7peWbW+y$Iqpbw-70 z3Pha-*Xr3(;t~}NjP+*UH;uONENq>&5dAcX@;Cb)rhDQ~=={}a=`jCX9*GgXQ!LYK zC_ZUzV4={8_0hY&AWqRYYeQScxJ-lHA>GhLfU)H$p9UR+$^F~2eWPpIf(YG{2Ah*q zI=rB>LqF|7=`@2gVz$u`@o>83!IN*~V^kD+S{;!Z*ZGa3=X|Zjy_a)ChEs;JeKqeu z%qg}Ov*V_^vBsIn5rFFaU6hKI@3XXJ535V8$?uhKm$~RYD~*Z4WPzpXw!D8NgmL&E z0=l$OXTdxcjQK#E(U0O}?78$)cD7fM7K*@BbhGU*0Op+e`9X-MZM(IWUgXl!;dA6RO4pP zL@Z-~Vr@q2A+xLl@sMkil%iT4!>_WDx9mQiBX+gLhuz`Iq44-)_qEJ}mHeldIEhkd zHp?{Y+eJd5V!7XMAPM1ATctdDGxSf>9>gxtU@*zGkSuq{q}CK0t2zQ6iVNXi`!8uR zigvr^{XDUq?*@Y>IQ3=%?u3WBiiVlZyvGXe(9x}Sy*0afoOZ%Oep`b;j&!8!V(0qf zhbPK<(BizFIteM|PRG3Eh2qd4=Z@@ktzKW}l7P21ZXUigP|#wr^m@a`X~oobjiWzs zua=v&b2UVJ+CqWpJIDU)*}yyDU$mQcnhqUp0>?9T4wM% zmj#3}IzxCn*b}F&=(nYwRK#^Q)=ur&j{a1CRx%z^`Se!(Ed_&s%KMhxHy`CGtlCo}KkS>r*QE{rlNU&aW2F@8UN0q4n|7Yy>u0yCQ;l z70xCcy8z-*Bg4r(LCA|>{LPkv?hr9xD&0%b-oNam9j4d%BRdb?w%Jg&*+TJgrdc$9 zn>25LQLl+@DIGW&?Bo;jB~vs1=_@VJZvU-drsNP4P**a2#sQRm*4J1Y7%q)`0{Zzm zRs3$R9ur=h`zm|OG``tiDtKCif9!1a#l^G9iJp&pNp+~KeoU+oi~l{z;z0|<9FS$? zO93j&FifmMt>)TCj~!D~69 za`EMC`$UAnZ8o9txHMzXHGQgit*2aE$KKp+9KT2~!&e?XR+;2rZ25Nch^ormys61IZJu4GwrBTqJ3#=XL%e|fwn;#0GP z=C4~hnw{Je^`TdA$ZqXZNP~3z4$TbbP{=89^s&CVM!hiqGguL62%lMzfkr446e$We ztUEK^=1guThVV1KfR*+j)xx5vVQH%G^A;D5{%n~D&%4HnTUe!Re&3>B4c*-5d1 zGj{d;7aI>7USDxoeREUvuDc8*v9jD}nbjPg@f4>mj}l41ij-a?EzWg8d5)lVf&&KW zlN#2kj*+1k4!W%lBYKLH>0ICwaRq~+vb>_hs&E$g%wWG*(!~{lpDbUVCqL>(Q@~fT zoemU(E3(&i&NMtfC{^d7yl$A!a<~V1s`vOUpR)xaJ;$vzZoe^u84`f<5*HmuWbm`k{`nc@5@o`%9jDnm3;{8ZDYnxp- zu%5Nd9CkIUL5LuV0NmAnh)Dyh?ZPb2Bz*m+ZhzZ7vSc4>%)cA&NGiAHvqGTwU3LoZOYDxF^eyk16^H(vv&KWpLl`0TndFsXs6+403 z`}cRV;vg~j9{pYN0%8YZ+!o>!{7BskXeF=a%loa+l3p!3u4W7=9yTKq0K_CiWhE;I zN>kKZO|g-k$8VZ)FrS|oxPTiC;KV5j@F_C6zBVW%A+{sW!O?%clmp8e(5 zX@*<(l2nXa6yiA1j?27NlM@rI&CH2`D)&3)hrA}&Cc3nfChm#A?-V`D(ru|<5ZiLC_=4p2I?M}tsC*M4`A_JBuf%Lq!EviB; z)r#)K0r{bXN`WYKVYJIRzvx<-gepc4)`n_$^v$)M zFcK{1s^9_OU%M%45CVl~OJhzoXwaqw?F8+X*qKz9<)K zVLbxODG2|fiIlUZohIgu8N~d2%0zPh9eJeHxw^Y zZDZbE_s8kW`-nzTdjN3Ogwh^X?K|0lHevcN=13!#p8dBKJW?#trsTDU$p9y+KV(n^ zQwMUhHY#=|_6Hj#`ePf+M7Gndy6AeG#?q|H6_aLrnGtn?_;^Hs*e@I12IE33u=UZP zEPIgAROuD+zatAqCr-DKu-S}oBHRjErBgI5S@?=czemSUYH|Wo;DV5YYi|?;BW-3# z|I$yUIBt3jfHq0q(jw8H1`TKtkEalrotfB)e;b~!>@vlgQo&&&-BtH|`Pp$ZLL2rp*z&XUfTSEQUu<&=0nS9$^x>eO5dvEW)$b#hz7)*goE4g7JN)Be)xik$ zUPUKLa;U54$NSrah`fxHr`uLVEuZNbHnZ^~V|Hw4xA~_RA@4QmcLW&5|N2Cd)ditk zf?J+T?m)9jk`EJEf-eI)7|TSni_P@!93k92!1JJ08y;#7eiK!$Fww!v&0P+LIjDZ{ zx89VMDLOIFo zhBYfRgUu)Wek7tA4Z12p5B+G`LPm|KAdi0$0Oh9oM#0l1Ehjd{Rl8Qhw?Y-L2J-H3 z9^EL#5+s(%H&#C-}Et6$sU$VP(*_nu>IPwBc zZY26$J*Q2G7@T_iaz>g#r0;F;^Us{WdJicvsziR=r_%Ex)~W3jxtq1!cPdOOf$kn^t9eVLAkK2{)yx?OyzI zG$#IF&9l6{2Xf>C1ekCLka9gQQZVdfd**YX54DlN-mJu=AF@~RMp`iCbJJq@A&Em+ zr-%y}qXm`9Wpb~4*ZGq+KooQa*O?gYcW3&wjQn~^PuWp>XY|0iio;K`ySty_3Iwfm z*te*v%}P?UOn$$oz=95$(u?Hw$L^n7#ZA-Q&xUh4D+P4@o5aA6=z~nAL@Wx4lzRQC z{ThZ{O$qc9_&t*Pg#2ik+fI1H9-*K|hI_cfgyr%rBJvnD2)sG~O#TM5U-I}3%TjXN zM^I(oEuEVa!7sZ>j-T%O$38oQ?OcjXUQ4LraMzohdpjpxq>ho3^8U#x`}7$8=|t2F zVDqppb!+MBj6_T-|7j*#HqrBY6nb3;GU3PmREB+b8Zdddw7Ow^LV5Q(U zX!*WGFm;jkA8+u|ec4mfiIIRdIKlJ$DS#q&vyH}5&j7U(ww;Q9MjqUOeq}5)ewhDo z-JWI{J7bv?G-oz8THiao?)Ip#Dv~f9AVfN9Kq>1te1b>JZfs|tdXct&XNm2-p3$O? z!f$uBcIlAUu-%Cw9Hp-ORAuKW^J9MLc@D<0*}gD_T#2B}LI&ILMK8K}2U3r^ zx{WcDrKw#N?Ld~Py1)|$U;WF`{LOiPY-#hqxg~-4w)LX$5;H|=Mdyh+WFE6?5Im^P z@p+K*#Y%1Vqk}3rui(C8Q8)mDJ^P(&rIrk9cOO2YS%l`6og{vTfVrk)_90Irb8Wn? z5VVvoA43Ktt|Kgc1DooIv3K+h_8yj>wNpPcn^zevbbeLoS#Me(kHK*m{(M4SG{M1Z z7u)5V4zQ-hIG6(xj)`8h`^G1&*<7!m|Hq~T_jBG`Hw(we!8rO16b`h6?^J_D(2@5# z4okQY%nX|uA;*cQ6E%+G$TZivN4`b3&WxUvSH3Rfm8>pawt?wU+ET`KOWPvc#Jcv# zL@0Vj(U!f+=@EX7Y!jm*7@-G=vXo*2eg8x;UndFM*>znj@%#TrLqfU4Bkj5A`xvo@ zl^Kts$L&W4cDT{PcfC0@X*Qp}T7H8%&(2q~4<}v#XbykVEf^$AxQmU|Gm#!>+UEKr zXmC2nl47HHpHqhhpUnf2SE0oR6eWZeB>tUlFJWyNA7oP79{d@2^j$`LM6UTf3xPLo zDqm~!n#^pUEFeY2LAB~{;?FAUKVcSg(m!5}&%xpPn+GKQ?=Ih||AAZMcczX|Y*WI2 z++JLbpq*R84)E{CqyPVp4$mVyh4gkUxivnO=zslpIs~Wvuy*_y<}j{O-hxS#KD+tt zx;E>;ty7DjgIl9ms?M4+Zmz-UZ;lc^5$U-GDBohAK!-QRApac1u*FcOaIKNkaeB+p z;>x}=8Q-v)m2Jpl$`{e1fGzi)nv77aooUOVB-iXi4VF-RfM8WZ zD<8W3PYzPaeSFjdAODeQthn#~tEgF%z^QbraU7YE^Nc@_ zzrxEMOMd)IC~-4j%xBuqBmdWi9H}q%yV!*k&(Ny--9R0D3^);XK+8E9&hsLQekp3f z@)NfPk{fSS{P2Efmqg|grT;*g0}*cbg)X`tPM?MU6Pa}A7Kt0*R6uM$)cEvA`@h!L z;6*I#Z|z9?v2z{n1jZ*(q@4lRp|07)7i z_x_Z|PSJ<;#A`m%@>9wF=l@L&Ly%dN#&+H2Yo;W50K~)dyVU`y*M7WHHd8ZTZC{v4 z?4vY%XuD86NqZyFI)nSy^Z(0Me#T_s!U+Vx?S=#hUCR0m1HRG)4(MoCnl^fa;WwDW zp8fWrs?B7@WEIh!qMN10#3xrM|GjIQrnK`>JoQVb;9VBDw(+ojA zKa?%;*VxNe`1^z~INz6>X{4q$6_I06PLeKQAWyrDFR@dtHa}K{cJuWPKzcL9@MS^lRaz-(J26UoBZMOb3WnH918IR{d6|q}q3N-c12t7rbqM^5rGkLSy zNddUR4_eYJ&_!YO<@M@U@gRAr0bt78F5nR2ep-c_6KAhoEzHpyRtslZn8lSj3>)+y!XVr!Fsj9z3V-m8-C_8|i zC&oSfTvEN{H>ENS+|*LZ3rPdQ5)P7Lsh_|i21Vuhc04)S^&6|v-wvHXtbs5z(2N7~ z>uw9|p+;8qYRixi@hV}qHRZdQdVO_U+xKWUm75M_sPO&_qr&f~p!>W1inhLe;z+Rne%-X+N!zaHziQHSp@$>xG~CVxWpbm3(#GaLN}PrK2PXbHu=m zj04t*7pg5}{MNT!L~>o{?hB$J9!l~d?@ZJE?JW9ahhHXozB_P0ja&tBPx`!gXXFz) zcLS^&p}pAKFhZ|(6$bxxzdRS^*4%?^7MPZa1;9u$+?LQ7UQRbu*qzHkx-QO(X7r2* zOkg_ik#qPk_8as>CI!F!HJ7PQNWS>Q{r2eF;X}mC60Z7$gKtBq#tw?^y}xj?VD;lo zpDyq*kUaY_%-#7E-R!^=nfrp}NpswxRuANc#F(r2X6C4$4C1_3O9k`*6CAo&IMkm9 zbisXtdGyaCypoT>_6||iorZ}3lmPMS9ZgWU*m0l0hmBIVolcB?xSax$VBh)xo)_enQ_|&9(X0ALuWF7$zpU@i|iCn%MNtB@-eoN}K}C zUfM>;OdmMz>QNylsGmEdnI)!~@68u~7id471T|~z0^ZCo! z8>`!p^CyeFZBNTSb~Uw|q@dr-D~_fPj&;Fo9H-n|#=Co`51V4133k0IICLuSk2UG& zJT%!9G}Nf6uM8>MG*9IhZmO@b!@ARqFLR$n4Os*IjrX!qU;Hw2pYBLPT*IsOKxXje z_%cE1x$XOR{qgSdO_znb$DJ}^8KPsq@&QXlw)cImSKZtU-H>57#9f|qIcv}l@tS48 ze)e3Ym$ZFcp`Qf&IUgjeV(aa6J@1WesIN1BQ#G;nXc_P%^`MT$Xs#_bM9aSTjMV@H z9jy?Xj{l>V7s_@^RV}Q~T=IvEG~Jq7>LL|4Z~d{U2|>GX%5sW}NeaWGiJvtf&p)2h z9N|SOXkk!XF8b}lw23TbleRhB*COY;=cU*bw?D5%WNr)x@ON2D2MSBYT(=tA64OY*TvsyI0&II1u3}s}(h-woXHAH$ign;6|>Q_2P*IR=J@g8?}#naA-VV4>j8;dCq z(|NSzGcngT$7F_^$gUDZ%;FC^pSY9v#myrZNP_BEW|_L4JUaAX*;a+jYV$^3HZ{L9 z5^XeE6JO&5hH57xXe35hdCCv@yV-yee+JIn)7GbHtS)sO7l1KV2b7JTOnt2{6R z<5s-G2$qvJzmtIbAiv=GJ`TAu;i7M(ws{;DrNqpy+z^}QKg&?F3dZnBdCt(72tKEIGHsNb|) zcC=v;I_xljh5a0IBZ~tyNB3h8`0gOCpmYu$tOs{n4e50tdgnHBlYjNx3YvR^lM*L7 zls$L`cS^;=EWb_g>e_0ShlDm|dMhxjN)rvKL6mKi4r=oY_Vi3@pF~&K`LO%B=Itjg zrZ$td0n|4`YR$f}Gg3Gv%X7#pv05k7{^UiM0(-m2vxohq*4LVL7OU|ms!NBPm3=S9 zV)`gqVMMwFAGAP+e%eP>Eww(cE5?znL#VgK8y#F4ZgO%iEoAkewW;IGQgHQRzp5*0 z3w}i>uIIQp)lLg1G()5i<6Q|7_`(8YWWC_4vLs8`Zo@VsM$KyYT^@sx5mr|59wP7i z{L>id$*M9ZEBRWM+d)$RG`hFaze+@&ickxChWb>8CAXbtzu+d2L<$WOdV%_+A`^(TrNgN=wbWW=!? zh}Z|`L9aGu6pcTm&!Su9R3VQpo>Q&<3|CpOLFb^oqxFAex2CizhwSHm6xRcW{+Gy+GRRIQbPRxx1IUcR$)> ze;DrLXeQ6H$JhkG{raYlrhSM>;_m)nY5-tfXKFh~UOLwH@r0KN*Z`}x6DU^sy2T}^ z(P)0%+SE7;Qta96@(MkslG-`~kdez&dONn(%ysNZx+W>6ht%IixJ*Q+yTu5+oow=D z)93IPn8jAUK4+1jUml}&O1qt1EbQmvS5-Vvx275UmnsLG0k#wHBM(zV6xs(Nq?p9Y z(hY#)`5l-04HXKowpSj8W~XF$!M7d2$g8CRsxS0|(EXq$E8fqlEO=CR(>`Ly&K%)% zc(3%~h4U<3^XsJcx1Rw9T<1Z3)h!Cxm5n=589{b;k`EA$L7u2hdJLp>#+G<{%@+2{ zAh1BdN6thWe%lS^O$~LR>tezl(^l`X zDa36ed}mD^%@b#4`*h%L6UVY_2}8YWe;lE~i9PVC%PMa0=tU`_EMz`UI#21E3ESe< zJOCnUqjED&)Nqh1+*RtuLPIiRVrDaNrbWy$1uJ@&IIuQb^xhB4%{cxf*n1QXBjrzuO(*C|KhHVJI3 zM_C;R49ap_PgN(a+nf%xs8_f}m;bQzQ$MiL$Dc+aPd8pGq>0*v!l%o`HmNzGGZ>iP z1`gzWXX-kc8<@8E$ClZTUmEuOHzg1AT1t5LC{K8{z@}elzYb+h>eqTZw=4(#fDxLB zK0EheJqQ9^mt_)yDe>?3MNH2){P7yjOj|;#ofaFqcy>x;PF%5_Hc0Wuo~Z<+_>BFr zp6MfjXT##c4qe(InwC!_<@jTn{1y3v)$Vtp&1cEQ&of|$WaoI)>yl~?(^1s*wa#PR zW-Xk*nB(->^TZoB{Xdt&?g-$Ouk=!)Zn)g&otaK8Rz4p~Gx!xaNVpE(aNE^!JvW5a zC~s%&5%%osLXgb5w*xh-P;eTpeZvmDs(ljIe>zeuD9v00AnX~kn_T8uGoS<3I!rZBP#rG8tDf2nmLEAY< zC_fmrgJU&A38pTnsnb|F=6T4QoB?13xLKJz8zbgnpL(oczOL&c-PSEJ@gC%Y>)6yE z3m)R$a+~LWwHlkxtI3*J_dd|xjFhfTp#(0j)nmIY9Lf!hPZGWb5*Fy?YNR5Xxw~R= zts^!&gyQz=(YYnh^j75q$LV^M+_?D<(&{OXtwlF^0pvEG&iz#zhw))jtIDtl-a=<1v4=90)H`mk;jB7ZW{C+Ywf`|i~A}+M5y$f{J($^&#f>LaNA2fv9q-RPFWOPPO4x3GCqk2 zxW9*cILo>_%JXIM9)YxnS=xyV0JuB)`GlIFC*i->0cl9Fc?|4Zy+|L1Kk0DGi27P~ zW&GHCDiRe-2F^9Ujdg^I@pk#eAY;RcI7XDrc1?7{@XA<6=ysdOO3c}_CvHN-k&OQv z3>~KDd1Z<&{Js!BqHCX%xJhaWQ#oMTP%rHv)0P^2Y%+O)VzZMga@ZMxJT){5E4&hR zCUvxit}GBAH{F|bt3fLy-lKGqsOxVv0!iJcd#eI0AympO+n?*qZxp(wzz)FUg5!h? z)v10H{;yMNjGOdvxFO(ZZH2P%z=!jh+2eQXD(y%7A{Wi{qO@~6@+8%-Jfv-B{x5>3 z94_azbT47UNlrPAadT0``~BF=;tCDMaXjM1XNwxpwq0s*>>#9T$gvHZC#7AwTrTw4;-p{H8Y1*PY1qdLo*)7ai30WgvwG_fu|;XAZ1NQY z=bD7+#K)kPvP-8+@F)KU_2(eQQ3wUEnb$9q%RBdcrPEY#;-8IP@)QoCLI`b={z|`p zRZ7nA9vx3(&9$kFfje2wlsJ@-nwc59sS9$lp>f)|ww->WrWsiK8yTbkNqN< zi2gl^TOOWU_SD~Ic%lkwphSgU=+z`fd$TSZ*uNX zel*U{@E6i0g!9zeorb=UqsQd8H7N+l_a8RGIIFMyL%+=Sw3^>mVyZ4N%zrrpL8a|> zB`u3@h+(c5NZo-(3P8vezSG(8+ljIFs+7f!uEeyoAL( z)`#?CV82O&;qGAPz`Dku1c!?4l?XH@tka1~&M98gtCBEVMK$#@>XX+UTc1W1|1gAl!Pvk0hg}GF~bc#Va0k-3HJqqzKu!KD4Q` z{8}-z^@c=JGMaju^G#Is(5KYRnhVh;!<$UzmRKQiHL6E)C-&u)Mo!r%>TQ%aIe|^X zrx&5`J=Oj3s$Nr8Y4c|MR655wBLeWNb!7d;(G<$&lZ#cNMz&6Z6XWlc{z!S(VSL^y zjM8(f=!BW$DD^7sfu%)U_uf1nh$)_08tUSj_6H2QI*zQzhCreCAV+gv1oNx_EQZV} z+q+l`D*qNLcdomY>BsS$W#zIe%et+T{WhLg1v-EtFUMZSvo*dM^wp-7Z06%kQ3(OoR~M~q%G$(-$$`V zwrHoOklm*9t|Ujqr*6z11~KGmKksOpRW7#GZ_8vp>#E1jHB~%C&gSkn$Fw0)(yl$$ zTb1{c7(S8sKYE`2E~Z6-vmMo^fyeb_T6M_H8AXc!2e~VEeq9tI=^=L4o}T}7HORy> zFLoas)8ON&c;Q7~TY$`lv zOq2YL#XT)@2jGR+vi|vk-n%S^D7NHKg^q>8;Mph2ZbKD-(3=^?ele}w7yPXc5so!V zovVNrbAAF*FVLcFQ#}Bj+?wyX-eFAqW?N)%nWCpI4vCmP{(bBOy6bQ8I?kGNiG{m8 zcG_!x4Zk(1{yuNWkiC*X2pcUsz*wuOW|&Pg3O|@kYlj;Zyt}eIf04SH%n6S`C?vQ> z+$&+eP2wNhx$f9h^=$21zSzpt^_hIIBvT%?E_j-*f$hnQ^Oy-~9gh~v^{;UY3RZ20 zL*@HH@Z>DZ6?|^WQJDS|!l=JZ7|GON4SRLE*CPw4O}bMDJ18nPiyPv<^0^@tqIBPk z)W3LtUK)yR3)&2GcJ14c>F7QU{n!csN+nDPC%ii0+u^41C3b%^03Dhp9$y7iFH6Oi! z#G`bsWO_*cS-;k8v^VHDCM(vu%w;Oz4aX$G12Pb>z{R@eq%&5Q%!&Hak{cOlfg?Dal+nl6S-+fd^82Q1ngc~6N2<0MmaQ^u< z(Ms9nI2*G2oG-!sjHcpVl3FYmVv6B+ckPGnob1#aQl677*gFRw3uA2PNgVOOEj5^4 z@`Lg9w3tL&-5>ZAn&$~WFPck#6AMbq#4MJ@lpep&Zocc9bxR^Hb)o`ZuQ&39hkDKf ze3j=yJg;(L28At_*p1nt%XrPNwbG?J9%?)osU6p3;M1Bnd=}J_+Da+oOd~njEGPfx zuH`an4BWbgVSb|o{%H)YT^f2WtvgtJSQIj3j>ey?(_^q6T0Ijj@+ryP9)b=aRY5Mn5K$i)L&Fe5?D2ly=YIeD!`{dKvcJtS#}(^Z>so7_=P%AHHsjSymZbr7&nr2-x64}U z(^#yFEy^m08&!l{UtGbush6XdHpXs+l%i=$?&V6gT@_K%&`*8qSr@(f?s^K9P>0Nw zgSTG)LPebHW-{m0H)atLtec1oGle4?Rn^2)eAY^B)0o?9F>N)_c|eHMLMeLB>HG1A zg&z>*oHm*YWIlySd1LlUntAJyg@mZG8%c!}uO} za?R8QzOyDoH7~-hoYRKx@cCB$7Pm|zBvHK;e(r~Mlkd05y=xGL=X?EIj_XDFx!#Wt zG<6s3{%C<8Yuk6Jhkm3srkQCRrBRp2|_~uvTlIdW*9TA95diMh_~|S{t^V zQHF8@QP~GWiyt|uStz&_yg8qobpX2eOA@D8e^)meBtHpAM5Y)&@BkF}^`N)2x|EDelv~krNa_VwVx(F-NfZ1& zb}lEonumZ2br2*X?fHp(O8lW?J@(L?HesU{spby8SB!GX7y_-7eV9F6&vPr0WXnU9 zUoqp~7Op>hXnP|NCO2}>JW^>=QaFUtW3(wkb}Q6HH9$W)@(SJ?Xa#xJh7pt>R$DxX zoMf^Mw_g{1_Z;Zjc?O|ny1OD8MYpNJz3z+`g}vYWId$!-wv+ODp40mPG)fqej5j~f z9M?tN2t>jAw(b2Fu{u$qZ)wqz8U;gE)A3|Ay~d7wyU-IHSH?BLEDjqwVMU3+bpKq{ zF3F!<{GJOXY1Bqv0Hx9G0PeUTr~9|g0k(8yCZ6qxNn-0D#UVRtW%w&Zu&BeS^cPP6 z)`thtgzcP3G}5_tMeq`e+N(Orz@y7e?LcWkeJG_#H~xQ<_KTPd$;LrkFT6V>;a6KM zZAS!?r{(wBYXG3a1xHnu`*EO~0ia5LmH6}%yX zB^F$*2tj7VR74Ye0;`+0G+U4XdyBL=F#*4aEA+;aP~>;*-K&KF&ff#e8;3@%+sg|^ z$tcOl1#_jIO3Zszn47=;eoOEe6L3IPOEgXSzXcnKzN=cKv(q3oLje(p|5H6p89FEXc3@n%k9$ z%b>9M_-&%6x-|_c<=9jIFJDfj18O9cDaK9dFaber3-5Etk2;fLkqE4^#lN)vo4$4L zCN8!G?M{>Z6AEZ6e$vh62II-SgvVLGuftDs?;V2+>48tiEo*VWluR&%I+D>M{I@k~ z=>LCdBPiz;SAHhpm&_{1m>(_a6Ar&nLkCNkuhEs)D%h;k5v2VD2!z%J*(Fu_{g&^n zSdRc^j{Lyk9Yp$Gneo9EJ)dEf-Ct3(m{(8v1P-MN=*V| zIH7>$OVWE1LwUbZ`Egrv^C`AHuiakB`?dOfeVcjp+Qs{+Uk}||p1^WTaIURHGOOA) z`(G&y;MGhLPkzXWxixu*b|`6i_XX9qi`4y8kH1*m?%^r|yWfwc*mBnfNipry90K^@ zCzP%B+L^22K&egoDUrZcO|j-z@Ml!D^w3)_R}b+kbz)OxzK0W`39Mf$kHUboe2_TJ33>C1}UN@lE&-#JZjg9)VW z6Jw$+#M3p-8ywM&_J*?Q?kLToUD-F?fk-N;nS;K@?RXpS(uu2}V1 zaueN$O}l49%3Ul-Y+=FjO`vlJ8HP1M$|+6$LH3=zsU-6<+c3Abza;Lk2J4T@4}lzb z)+D$85cM;gXc9u?b9`A`x;o>->A|tf)Nw}-JacXZvd}-|~QPDHZL0_c*wu-#eSg4Zycz)=o?jP%LR#h0ABCZT@|IcJe{vo6-$`Xpk+2$ zSn1JDxTGcC5554W47#^;V9^9QM{NOiUB2n~f%}QOruY&RTs#|!j`AZ+T&LK<+d&c) z5)39~G$l78i1g(Wz<|rM8){)nV9DxCGOOFubri$u#T`JraqO?HPTnuENQqPi*;#)H zuCq}G?l!#}ug zSjSyTZ@=?7OzYxjf|6&$4W@OMI|kY0{efSK>$_ZcPCgZ|LNl=bC|b3~{MDn((^o=h zo?da9%P_eKy%k(6T4%2wKF2IsF!J`cW^D@EnDY2Ke_~;iTCcn%Aqm|Qt~XH zFFnrP%9nkGD^A6g)WaICXrfIFnGt;6H?ATdhE(&9-XVw8-v+b(wQomDrr zoIEu#LQ_y39D7*4cte|UWbw85iQqf@*LyixUB3A}DcsuZ7^E&~tt>+ik)G z&8vV6S7iDxFmxJ_iQat~FlQ(u*8R|O34vGiza=gv5-9PesS7u58{r$jH!B;NSoJv) zr}g*AbqdZp_lC{fyZf@`D2AK$u+>>4P`xC1=Docm&ep?Ba2+|>CZ%51w^+9%Mmy?( zNB&djOLP#%KS~92VH9-lL$4po>>S-L`mkFzuzrVU#&6@RqNnH?q_y0%xgr*X>uQF6 zg}0j<0g?U!eu1G#w|MObyajDmrh7+ZM%c$)!M*IQIz}vnNAnc8$Loy^=OIq;drspR zKz|Sv1uV1_>36&^Q8S_AjqCEKweP~4_+xs*{JOBqD254c(vm#BVA1l#(TLwY@@!NH z4ZLG>3dyc;aB@JfO#Fh{IajhGsD>Y6Mtz*W$+NO;g56^kuo*r?ak3G?MD|4DfCZou zTyf>5!gIW|`>H-=lbiRFV0!g=*6ONq=$qq<=te{BW$8iZ=0iU;NN5LmwwN+jt)U_)Lf~CIQ4gPX8f028bT=J)?&IG-V-CRBLhL3w?-qXWXyo3c(d8`P6*yge?L-J!9tocaI!k0+PUuJiR&?`6@G8iSeE|1#9HyX&C6VG zudVI^#U#@~K_UY}(J*gf=Mb1~M!vA3JYFd%Uy?1s$-!=PEIXdCL{W1Zo#j&j=#wH8#y0TIPR&MI~#spHcs@DL1dKKy00z!`X7(|q~9 zG`*?nuTYcbG`GhWFqvy%voAd5F~GAu2?2tG7H_YD=$cy2rKoQe8(o?NZ^&WrO#5Z! zzky!&E6MOR`)c9U@zXqDeVEa(({J1gSn%d>`r>Yu?*KKQt-rOQ>I%9XO}Wjb5npJMAp~MPdNNnk`U06d$wy(v)cRiZ}O=tYbEWV zKz0tAee`zXGtyKpK2oKuTW#+<}8lUfghJGj((!qmC0P%ssiYRTSZ_l>iGC`jx#@?SVfOAqwGQN(2&E zy_hSLD+}qdFuqpbfYZKT!aoDJhh1(~I+yU8$O1dv)~z7lId&DEB3{MKe0=V>gahpD zJ`r$n%03k7x-f-P(}fnkqb|F&39ax?8oEo{WaXgad-zI_J=eosN`+rzc zU&88ldo_7hT5o6<&58`Z(=(-CJpZfS;YY9Vq!IoYm|FF|h|ki=9%A1Z`@@px`#SmV zZNUTIYjQBUgb4FHLlHB;>CaljfpH88kZpQ;P|LR5SdaZldYA`ft9IJ0ns(p4Q=PWdTfVnmc?$}JJu>s zcXYx2(IZ)oSx2bm;F!TX%ZO%RX1g<6kJC3fH7&T zPZM~1Z)f#>lfwjE=zS&zCQ-iyA+vH&b=u&SXr0$X) zsZQ9}^r9^DwjnqG2)Zuyp$|VU1y&TyTiv5Yq1$$y`ng*qieBd|F1Zj)x?sRTG&iJL zJ@n{!Ytl$S;8xM?QX_8we!_@#X**Rr!o|J1^rx+Jx*Kk5iS%iFXLWU3C=PZWAg8hp zTHS@UL@Z-a2_AwLJ03@a@(`*$9#Y5p)i`o~rLlrbPl-7Fbbywm~^MBv^`>#JfOPu1DeeL4GXgq=vh zE@p?a`GSIO<%d~}fq71)H6O`$;sHE{AZbWn_}cM+n%J$2TqodyvnO|p#HwGucQ=B` zQD6Fi2Agl~9oxM!GkM6s1iL*!ZsQ%5A^gOvLTUJh9juS!g7|BNM7o(FQ5WTT;zwEb z$Y7nb4EVUa;ZeW7v$U9?%e$b(Cq4~BxvCjRgm)X1$WFm*tfKV&&NNed;Qft+-b?B# z(x^49eZO*^sX3mG!AFCjVouE1PoqWF`7^M6RW+U^$gOto;r9d&ll3%s#uQ0X+)9ug z`Q1j^{@PLI5-*&M)ch1%zynG`wM?XH2w-0Kv^X1=lXM^gxvMqmzk@NX90VNM zi#i7fnT7}RAkEn`s4m+px51R0KpmGYK_s0HJ2S1|^X{vy_kYbb6|G6yv5Vo`BkeO8 z=+xcO1oxe4blMPpt(nT-Q^#FBv?b>`b((kG7B~L>Q(s!SNwrB^GTq7o`PIRTj9@yE zkF}Bzmdw4owZ-weYIv9zF)>RbI>htG77y*0+Gi!^*RJ<6kAHT$3oaumFPZhVgAPFN z7Gd;0U0i8&s#!h5pIX@q!xmPi-LPQL?*hw%O#{(v^}Mbo&=+9xNwJ3r&5W!#{;8wnWlMt*)JysZx;;z(mEJ? zqYX)V(X%{PpO!%!7>HB}cbd4Q4Ay@x^@0>+8i zFA?)!z8{%5AQcKvdnSY;Z_D#7o=aTbgbr1vgkpZOK%}onw|XD*{-1}ZW5X?*G;utj z0~r5tMc{6_T@@pVs>sFWM{)PY`GzO@1}AjW)l z=fWoK`CwXSK2Ok8S2n{9F*Xr{8vYgSKty|RQRJqtbA4 zhbr+?jt)y2-xn9MU8`Vs%jxb_+y9{8a;ifsNBImnq738ja@w1*i3WS*b32(XV~}C% z`I5p(2>id~>&3nnCa_{_6@`5k)WN zwvZ#0+7|_GOO9AJP`+ny+A%4+vnO7S%ZkX`VoMITzK=#s!mw7qs`O6gWYB*mf(zlVO|8_%?U)aSO zDKyzfDHDHxf1Jr(CROt6>o7+7`W4AW3WpeaAdY-mtIjQ6)UO#GQ^iKgx^Wi%ZbCPB zQ&Ee%uzATgtgZP8o|hLL_y_-Sj6m}BzZ< znXUu!RK*Ehd;5>`ZGMhM*K?#A^4I!imf$Uz3~b%0WV|o)))@P*rlhgW3TXvh!k#kA zQke+HOs^n#$E)%)KWNUwFe$kACDL~GKSpd^B@kE&*6F70MbJXMX+!4#k$A z7VAs_7qsSm_`q;85j=;}={m$~B9 zO^MXoln$%V5haNgG+!WI2U;LyS4+pwn3v8uUruW5951@lkk*PVZyS{ol|Kq=uA)zy z4GP9*X*QER+2Rpm+AX{ZUhKJ2uo%@|3ve8)q{jNlgkFwP4!J9V_?xXauhbJAXm6^@ z3h&#HQkDd-bL-cr!J=c7xB*lx1f&BYaT3v8v4|!=&w~E*?A_ul_~D*RrS*b8qeJW! z;t|&6??*S{&2Aj(-z~X2bn0o}K;yG0k$%y)| zda{)U#rP+3?rBz>1&Zn1X^i!RPYnFiI9@ZN5Tjv!%p_Cd#IhQR;)uh6AFcp{n`hLX-%?iU^GP&^Mn(YScyl6wY*>o?f zkxRc&PF}S}@c0k^q6LF50u0z3dgD%=fjG{U3?EcaYgCmxBc!pg`16DK?mJZIoFrsD$z%4tg+0!Vz)_VX>;Co1eqQ^hn$@iO zGTh4&wP;%aL+OR$f`5C#fxw=I&Kdt>*pnAT{X98YIi!F^hyD!MdSYa-SN?i4eue4& zctf*0>A4m^lSuU$(IwST=1EW(`!kBeqh73*{Q-JChOkXyW)^@QXW&Sc#`4mPmMd?v zwnT<^%;2mP8+5~7+C`Bz$z_h_$zl;yl@2z~ls{a>*HtD}HfsoAnh1jNc8zN_NN--;6de6HA`QdBD| zcXXtmLYeY4hN(Uf%LJn5_o#}(&7VP*d-hyu8UK?nS7dqt(MO8z?+djehW;}%-ki=o zW_@M5F-vxtzu33<(ruWlRef|(+(h4Bcd^C&Ch(wo8}oMg-5*00=8jg9dVE*agxq}R zpb$lq?aI#KXR>SWqP^w&H6x#%A1`H~iWoHU`(Gi#4^}Y9eBbo!!!tOwr(E+btG{4H zy9NezrP|~u_A%kBzYXgt=?$L2ClkdoT!}rM{YA`@^9O`==9jOYSjd*nIMO}{N}$nf za0{D>l-V~=IQD1K>fb7L8zzJYiS}cJo5)GY4r5Av4*l|LiViiLSA`kMLTD;)!v;fR zJ+yIPzsmU$*j+sJKD6)`3xk8+%V3VUZdYnMBLZf7yj`aSG1wpf{XX6=x4X5_4D-8J zJ_TF6-wvAO7tkB=DC8jn*rU&3Vx545;7Tbaqr|T*c&|N4t7W8VPh_-V@-xPMm@|sK z$JpuC6j17C+&gNvbdh*O9%NY-KNVa#6N;I)<|3fG`ILZpInFJsu1Oc7)y?0L)#uCM z-&v`k>+OOfB|$^_A)1i;Zc0r84|8-)1=E(EE&Wz0>#kH)G)xIFX3g-Je0`7U)FoZ` z?IpHrWh$O)IMqkYek3W(^hSCqaxJb(yRrjijxFHX{XO&c2)69K14-}12C6r^%gakF z376O3ySgaPnMzU`hELttZv-&tbn1U&a2z4yNG+RSv~cy<||8NV#mV-ZdbS9z-a^`_7Gkls2|J4+nQ%TdPy z9lh0DxZcDPOCyKNb~V(45ci)q7|DJ5aAnZ|Jr(3W%rG($B@#H8pmAc|YMbs{7)VYl zPo+>k!S#1Oei$tP<$-<}QedL#ksyc4B|FFCL8bu2Zb{kU!}Fwzf9_OQ+c`qXCN234 z;Ct>(TJ6GQ4ZTZ-%6?xd3x-HFXq@U29hWqWQXe5eZnX(;0B>H^<}I!?3|^)uy`1#J z5o0!HjUA>@!7c~!UJ;y27!@ge&!0vhaq}mh0Bjk(`33=!;55LQGld*=`Nmx5sEBu@ z2{)hDCp+C+)7=ODNJ|Ntk~;G)XdA?=73E0;;h=>(gpCoyPevk1C##(0qV)05RmCr{ zUUnJl&g}DeUc_nHplI=>`OMUCMMZZdbP}*9L9VdcFS^hh-Xm`O#tEwlvI(!zK2>yH zERBC5Dj(!pp2ye>!X0vTI;2Kl{6xdU<{b9rLPSn2Te@}WZZH0g=ZUzBc&Q$;xO-72 zew{w(ph6phtRxpN`h2*W;?fMbvH;PuYC@Kx`NmQ{h*>7ZlM0I2SfcFzK>}k!)(fS< zr@dxS!44ITV>_s9;&H-#JdMxGUJxyPsrUEI!DNCx?ZX|m!ITKgOx=H4!VOz~TEji5 z9P}nDYoj7NS~cipTeVAJ)lq5lSzMJmBQM*bShWU2(E5Eq@efYZD|d;tJB6#Yi#e^9 zGLubs3?lqYK!$IqkV_={g1sVpMPEj9Pz>f{{=N%6d><_ZgkaG6b;Tc{p6I(4=*x`M zVD!)|NYDlyhaczMhl!dzD0aD}2`DnQDH8Vc5Kg*lM1!;$E*h1jf;-S^!H-L-J3NG# zWgM}pzCX?JT>8q~cp;Hug84~*+LO_Pc3OI|fwFug#j@dOSc2k`^R0H#L_Q6Ebek;8 znYqWoHGH(%jD#9SlncjWY2FmwQId{PT8udk$Xm(v;}Qs_fJhQc9hsm{!(wDA2TM7 zSxaBjq+TztO$W_`bDCO%PtWuJSVaj29!1~Fh`+bULbjXre{Uf`?8Cfg^NxLbgVZzu ztiJhz(1Be&@O(siG;}0tjQC`1IGa&UUKA66oSjd@ECX0r0OgvcHez--;H@+HN3ad> zfn6O8oz-&q)o+7!ZL_VO%E&|;`9HnYm6irtc{pe(6bFxXuK1<_L_S}A8`ZNm4)G$B zEDa%nThk-zIjO?Z_?h(`+y^?3iR<})6s;Vb+ zA0@j(($E-*pu<5`>yhX>>w;*NUU1gH63J|sW5g?s{0)vo*?VPnv%WA+jpYrsLcQgP zYg)Ic86GCo@QEkco6C!Ighod%@3|^?A8|X_7{6;&^PYi4KA*L7o0)8qd$VMk&RnUi z&yE2E1Uv*hc)6{xB+zG{M<=_zTC>!+qReX=LC*tapiA1^uqA-4mCCQRAFrRgyby^C zu@ZS}amn`vjYUVCJ=rW-bMLuojwV1Lva437Z)VLUl{Fn-Ar&ITpk^mc%hXSorW}D8 z$eGFgPG?#%(v0Mq+v1KZlP#K$*Cfr<#tA(gdRit_bi@^gW^#jQ=N_|mqDx=H9#bbxu&^IzdN99TDsh89%R1L3wLFD8m^AZ)}{oK ztqEJkQbj0|yRt3pSUhe1v-zCqkmS?xR)ZmAM+zwU-$7*o_=;rYcJJ5HB<|CbG>Zwn zRBUgHRBe(QHdAju#@I$<-3?mvDrKTnw7>+TVTo&Gfu=T=4%$L4m>iBH<0UBM)fO3F zq8!4lI%4gI2-#pP`{b$@xPm|FViZ7f++pzrOsb9P3GRjUtJ)V`v1iN&hiTAKlj4=P zC6!EUO9|hxV%}+0GpCGZ)cnaKovd*_y&b78%v20Mx!eRuoq8;*y_WvQT}w7S zF#(-*U+;#drKMyKM|~1*n2Oks_&uPJa{ok#oG8|h$NZ-6R=4|AtrfzEF9DDw7f^l; zVA{vREKmJqSmw<)4O!j%5kJdpW>)yA<0KDGQ z`JzA0KBjN_t@YQ8u(ic_9R37SYF@L6m1Vm{%#JYdjhD}lDhwl<2wxVKw>7<%B|#63 z;uqUO(4dX|R;VI1wOAUiid5tvk*MAE72ndJ^%FX-6Zw+QJTNK%xs-oVhj!3OC#G-{ z^&9rojAyJP8X>!8j*S;cetSjt*?MsdRjYP5FdmSWT^Oz;VbVX9VEVM4V%yej&=BH* zy@NjfEz*46tB&FovW67v3YRqn+W4r4DdnYO!VA0Iez+n{=J)f7$Vf(Dv}>P+D#(A zg9*syOBk@h0`C)h28>p7%vF*ZhqX{UWs?v;+~{PpRq3UIe2?=d;=O6HoTvM> zZm1Xh8Z2MwO8YzOZf~raSgNlPvV!TO7@XY(E^NL}4+grHN_^%!pqHz?7sivj52*Hi zA$wqmlI6*XXimwPF2(ATM;AGo9_JI#o_$`nkFsW71V0!X#FG$jli3r&dhBF-8=qyH zavSjp)>$LY`$1?~j9~885thQVx7cR0(vhgUn+rP0lU;sORbE3N}G{z=d z>u@DWiokvoE2d;vDCfL^Njs*8j5koG+bYc>GWw(r1M*9?`-)lEPrg&NaKTXZ4!@;_SPART=RYR zcR{eFK%FhG;5xo{jXDE!1oLEChp=W7OSnenajt~v_qP@5>zIz4Olag@=m1B!#PXcS z6+SCskam=hT{7ps(xpj@o&C+aaL>CmWfRcdf!-2$cELzWR`_%oY$H=w&&CY>*&q^i zHDHY_kinvznGAhpy^pG+r@jDl56(#yG@4pGw8m*GP$Uy}prXxclmn8b{#=y_IP+UM zBCod2D{gd8)M)A9Aw~v7Hn!}{KeBv21bPH5f3B8bm8NN^9pJZjUp4rp700jUmx=TJ zq3Xy7`MsEI9M9QGLLV$*FJ!_WnwlAg!UkpGTj;_=e-q|b15jGTCv)y%OQ%+V7;WWt ze<~9yxLY|r{)8<|t5Cd)EpCo6|Cmv-RjPB>W9PYzB_LQhi?q%>7`fNQ#QT~Ev64co+@=gYl+%|DL5#gj#-=5E_?wd# z0<+>X+$ld9OVjps9~8Ic(LyzbJF89|T0A%W?}y?uF!9^(ab-I^$SR%>onS1?x)6M# z$YIs(ASEK`%2($kP+{nYe=1P&uPbcqNiVLkpxL{5j?qZ}44RU%IXE7S5%6M}-Yt9y zhYj{BjkDTYm2NCf+U;)lTeExQur&B}>Rm5ZX!v@UIW&00m*vA`#^q9`LcrY;56NAK zrjJI$$%?rkUC%VR^#=Ta<4Ayr-yNjXru zY3*^(AN?TeP`W|Ck65oDz?HjiSLqC@D%S}+^kBbSFf96%M9d0nh56u8RI5*ZSnaUC zQ5IO3V_|ubIq*9-mV{iJ4g4Xi&_jnn_qN|UdiBGt<%3r4TQn@N(_|c!H?Y%!OG6d1 zCOZgRwHVD_lah*lU=#VQ;mSwMs@m27coVq>0yzQpuAPLdF}$;jGex`E23p^uaT6|) z_`DH#R;;sA;$9xucbm8+s!LHAw7J<2R9A#2C^|GEVkl4Y2XF|94T&CtLdn zliq%y+3yN_Bent8BPB*oBeSTr((2jY&RTO!UZA0~7^57hNINbQESFm^=JQ9tlNJ=|Y# zYliO=1oS}H^eQ2Id}u87k!uhIK<6=5&|(MkNGIDa8=!mx_{sCBb%+Z~^1gKj?X3RI z+NV~uiL2kQB>^b`p>e4x-Y!3RB6+a!nfsjW1dQB+aEtasbZmE@BwOFm;G^WPV~gzC zSGfnt{In_iUOyRApM1Mn>V~oQNNXm0lxFkFW9{zMC=iVudpx}y7vV29D8b$c(^O7E zUzv|vp1{aQ1uZx$@XY7wi*ZTGM-%0e{&udnY0!jR+Kgx&Cx;pK)6ZJyg@f{#jv&fd ze=`|Aqkei~@q+oqCixrvsJm$2_kdPzmbdgK?q{T{pjqGVmN;Ml_c@^gWQ<*x7vZ|| z?r8%bdbQ*jiYkyN`Z=dd2}2tDjg$Dq@220mu=S^6zL_P=tV8OrUn^+4hbxAyfd7Ft zkY?u~;{ZHEl*+?;e-*=V?x;ea>flr4+V~E2Ea0J@pJ%oaWPq%7%{$zQivzYsnS7T} zEIHFpFN1Ho!$pq#4ysM_;ck6jtuNTE|0*+fo-n1}84K*N)$KF_S0vSxX+o=VEyz^Sg<`e%+B~`IKnVd-?<_Z$59$A|D-M#R)e? zrzvFc(7#EP9u5DfYz%Snrv`x#m$6NtXEwa;;0u*RbZ!y9Ms{a#GD(haE5 zt$06B^>-~8vqh+>Py5qx&uB=oI_NHm3KQ&6{RK|aLpEynbIp)!N5x3kpzrc?5Jac9P0t77KSz#{Y)^h>bqyv%b+CRa^A|>fulnN^5!Es0E!;a@S^exoD(oE` zhQGhshOVcNfLdy83o>U>g6P$Y&hT0pymEIcboSlem?m^xEM0?CQc%AY?%py=!=4f- zKGE*~gD9|kGyKp$f|IYAuL=RjGqP_E&}%E2F`S*`gp%%)r|+N9@Jz=@g=nmhMAsi# z8IIaarM~0b2gbnxDWRc=h^inSJ}rTIyoYPf!pJD~%lCTBecl8-QL7T9)#bk8;T$WM zxG=J_QJ%3POe2aa99qTk*$9xWiC`)L*eu1})BxV{Maw>!5=TiCMdFE!srNL~Z-tXT z1twN0dx__O^5c(f(lCG+R3?En`IGpvI!KXW2zql}WzPUtyINF2=G9ol@BMOc0p;Ii z7EfPrv`oi|tA$0fVC#{GJj7&Nyx@Ph8G)&{Ii+clc)Zr|^ObSIWiE9nc$tctM{i85 zdH3eGGV#M`nsJ?ol)w7dpx5#zU!T4?BfMl{CBF6|{^(1LX14gSs)+yRZOfDPu^e_9 z!aY`O@cnA*^%NpCJs})bcH+CwYK0z&*ZS`P$KaxP(vZzn$2YF}#;|9yQQI;M+x~nD zfQ^@JX@v+&jxOn+{ZcA22oEHlK=`bs14DYIY=n?VKbKO_zXZDef`8bTR{r??Tu$AB zzMY-Gw+#lV;ufd?)zTj#pT;2ZcmYNOa`~MEGSHhe3vnX&$qW9|<2o}DGZ|mvV`_?= zqNA@QnhR%Nd7DuE%Ap1qoD;U1E%zkuds5#q;$b-etwn9??nFywRDf9NptdKlaVdPQ*7wd ziQIXR3Yvi=Yppd9SjD!syCH8^uR8~VM_w2H8vJ@m_V(lk?F?Vi7i_xg=9VG{-|lts zZ3_-x!bb%2jeQH$PN50ByHxJX>*IIQ3c2^7t&K<-OWN1DDKjnB{PjD2%jLZYlp)Pv z?>;G9%WjKAgRsQYXu>#a0D0*ARRH93kvF*d(Mk1lAz6%xQ{`EZZDaB5zF>w;F1kic2c1UKN z#1LR6*#Q>BL)vA%TNHYCIPD!Kn@aaz!0Mhz8=|rvEvQljY4|aCCxzXizqXy`+YK+i zk{j9JiqT`Zb74C~HkAIytG6D@Iw1-fESsdQU-o(i)&t>oKxIZ`5!(M^b18=XTGIPw z8whffc`U^R1mnKZYFw{x$Sy+>!%S{dM(MpZLo~efyjX+^Zdb^Kf=uU2Ey65nYsX)9 z%Q9jr{M%utky8EzBA?QC@~ii2C)61d<$kH4Pv4|iC^ZyV&1hx$ES7g&^7cIGs$ACz z3EpSgs~(LCh7!nbK&bX;JdTp`qt??}rP_W=YCtx^rK|Nq&u}k36x_A~e`u=r1diMz zf~`NKCt1S(cNCFX8W7F;wo1@Jr9mrCJrM9wO~PmyRr>H)&%O3=r&l*cG2h~c-bv;y zHzdVhGD$QDP0i~Y!)@}PQ#S(WH%q?YVIg>2xpXZXpmvJfnd@znXFfqE zry>N42}dIRWc^l>_4ItpP~t)AwGG1C{;niE`1yCf)B|r!1PWz1zI}&r-#X$OfKdHd zTS(9-wCpR{t#aI|wRoq6-Uh+F8Y_%!0>H3P)k1$xCy|g59>jW>uxZGtMI6nt%t<(@ z^Y3fUk_#gEiN)UqTmRKDIDMM5Y$rAJ6*wvm9-%BBb(g%$t3EHjo?YG(L`VtAvqlH7dC;N*9g;=(?Qrs}jwtL&$j9}O~+CBAc{pG7yH zoCjVFJkesUpv|RB9Rix!&2YO1m4+*L?*<#thFOx!{@>mN{AG%%%VZbl`?LAZzRci- zjW4)`a8@_fOX2d6W0N!nU2I~w;BeVQ!`N9C+!XnzUN|GSZAsLN4-tH&`O4=^vb(F{dDw z9j0(=KQgE-yk||jk0j9V?0YSMY8~hNrE$nl?1)5|<7sRE9(WL2iRr?|0FauuYxhmn zy$ILRkVtiXU+BH8x{UlnQii2+KM5)mEPM%<83qn)9hjc>4}IHq_T-7`t(v0T+Xs`s z%NBCEP*Cpwp$|_s_}tW33S2d(E%af7;>VQ-YAnnKZ%Im~*7=joi63!#ln+YAu&zoT zDiy9Ie=5}jWa;JmPtVCmZcI&}?~LVXq3(8(0Ax_`3UzhNIFZinK8TACC< z1OTl6OPH|z`=jxFranq9fu9p% z^01JqrZNJQW6E#ge@|~veB7h5KNdru(w9O-R23-0aJD}07DVq_IEVMe)&(Gkv#<1j zHt9B-$l%{xCQPWHZAkB{feR%o#BHg3k)+uOiZnS~AiVoWzUBs!VjFb~f!%y5nmg_# z(UwFpX?0B+TJwG6g|xVsymIg@xN+a~1K^4Kh`LJ=UU5@W_9Pz1Ah{Z0WUu^XaI(We zSEU$$lRZaP;qhL_iZMlvILXBjnmG#ku$BqAWz-#@%9|#Jg$gm9xd19PiM0BK5kNr) z1OEGiJgRU)D&TucN*NrP&MRqqXXhr1FFJcrXaxAE6URK@5Pgr1UrTG-uAAz^9?rDWLdI9&kyP}*FasYU zR4w@L!-3JWr7@e+0h-eUOnrdR^`DJ=I=;Mj!DJ5%S78Fo)0bD_x#yxy7Cik&pHw36 zjSQ>E`&wEiG$3iI-1-Evm$>XOCIM<9yKfQ0cZZzE9~}VH6fH=O1kXwMkZVcb`s&Pi&@XfTIUDqqyK&-k z4wBVD&Ie2iMaT%r8vOa+RN^P05+tr#=Ipwsf6W4n^Kc5bNEr-YHBtE5#c7r_(*fjG3$*GJwb z8u)O8PJCw{_h!9TGs(Fd~dfkd<_%B!p&raB1l5a-vfo`>uN|e#Jy=bwn`r*RngHgMtn4dpOtJ zvk(hxFw!1gp(m)2hX;NsHF|aG`_z3ZWME_zRgEQ)b|G@EFE=q?82#sp^P$JOk2^>c zvl9(VPehT(r=R0uU{y)P$v11G>Eq%-%Df>vfbd2fYsFRXM0WcLt`f0+VuoY1%Y=r( z=VwLlaj|05i;g+MendaJLrk>FKK&tB%w&+)67L_@6cd~OW}T&rZ@OLyOdx8g^Y9Y4 z{I;lcRpX1L%e@gLbqX`AT_?nulPi8aw37iNh5C}Yx-Q&?8sU1)b^IHn!XZx-89v~61WVh-Ol8lUY+p;s3zY8X$#ozIn&S~VSCGfi|(%eF#sqcSC@8TNp<%6B4|D+nWs zrNU8IYPvex{zVKIa;MzLp5f&*+><281I?m|21s^(zM)c_L#`o{&NfPrsRtO5y)wY# zfP~?F$u}%en&m45UD^{sDE@-((uA-A=bz&R&6*H=Wl+uirDF0Q+4?-0^^JHN z=(%mVC9alZ$!gK@Wr{TF)Z3q|gGYtCIikCCm*@RoPoc#no=xx{%=R?oMzC z?hquw0tph_g1dXL;O@Z*0fH9p5DJIj?(VJy6mlouI&1B{+qvhqbNL6=m{qgpthdJK z{psV?foc<#N*lL3vDDTaP7qs^-oa-Q71j5OhmNBjMN)%UkAl;xI1^4nUgOsPa|PUf z6d1KQE{*(br<+Z4Oa!Ut$iyO&w7jkw&DGZZ3f#zH$jHLj=ZWuirfk6@vtoDH3@3QI zz^2y!)Af}iGh)PIelGHEM?QF-D0p;#T75=bc@#bkb(oX0j2%3_5!C4UW+jM&ZV)ST^5z z&ktTOc|mP|#{642s`j-WVMYz-ToZnZ8i}GfNi}F!LLqchUBn5a_lHJ6^M277Y>;YD zuxnMi__BR#Eb=G*%)nuJwaVWXW`TlH*T@O35wURh{g8MnLP_%lM-FOh7dh-LFLthR z*K$d)+nzq%Uu!FuCj~`9n#vy_!eL3Lm8~*|MzfVFbRnkb*(aTBLXZe07^k2Muwi9GsKqV_%s+p2qF9}y*_9BROfXqd3Po5T$c9Gja@+{-85F%92*~C z$qbfe04o=??kXY{Lzr%}R=p{8^qxme#4+wFtclpUBLpXdMd?)rc! z=3Gk3C*ZBn69(Tf@lJZ=MtfIEV?Slh5`AQE!rUq$bKj;ll8g?*E>Di^;=O^IQCj#lAffD9Kn6d4tqg(Rds zjeNxqKf7^)S$CA=Tm)7FCT}6kq&?+@`D{>7g&iQ)|F6aqM!g( zGQ!sV+AS-w3ijv_m=310cUA(ckia#sjHI!>1{nFd@ z#ML*HHpaQEV~a60QppaAr(K10joy^q)Ml;|mU0Vzbli)o2AM3&;_6VD_u%@lZecZX z##v+3|F%QNDfNaR^1~+7Wn2JM6z#6z8dFnF**bE!mW|$k9s<-_cQ>b4V#9yfWad28 z2s~mo^Td;|7Ib86WUpGFE|1V_u}PCM{SgjziVakUKCoA1-zyd>kLpd}%awrfB^KJt z69w;vm|onLN(nGcm`d_(|-<3a; z%immH&a4?y3dy`V0kD${uuO241l^;v|BdDCbdC4??0oyFv<|9g&DsSU#`xIK-DaIZ zko`<{V9uM>4o?_`+nEebJ4t+8yxCCEj+L{aHrY;}g{0JjpqOfL$yd^hV~ux0j3!iE z=y#tJF`>AO4zJDy>BPt6CH7&m!`k30jUBo*%}8l1)e&`vXATI{ zm@?bv$XYcRF6%Hs1P0y(L-dJaOF`z!nW$4iwYaio50&P~R!4mI7PKit^GG7{^|l#m zvJMl|FuTV1vTz0=L06xKpM$frDWGp7(8TWsRB~^M>jZ%h66QYo^a{dS^r)kMU2hby zl%8*X^qGSXoDYi%UcS+6c$}Jlx3k9{Q;A5NFVs6 z8Lxz8y4u>YQ24jMHA9GPjfy4}H0*+^(Pf1;w@{y>++W{eaK#9`rLBzNixt8}LX70! zmag~$j~EUzzjwgFcDs~T#=hey7J%JkrfFd`T6FrUd;~Ts=fuiPw0Xe&v?Fbao3$rJ zsZ66rpr=`FHQRVXjV84Dq+ztl(%&M-p7zP?}UE8pWyjW6K& zc$c9zM{!A(fA6)?&dJ~$hIla2sY-?E&lSLOAxOpZAg=|t2^=<8F|HZ(}PySuYu zkO{y<67GQ0+p`VDWaenaQ_M1>)Njjf9%G3yGudy5(-`@Ibzwdb=o$+$`rW^QNbNZB z{-Xb;F!J}m3C?0&qaNbdULt1^>hZttWN_IoX`FH@guLnVwT?1X zqEGN*Ro1gTr@l^`&p}+*{W-03&2uAGdagJVN?xCJJ>QsEjL2ldk8|n;6g<=9 zb-eOP(KFqU@P6%8^k;w%=q=r-{&(PIPDW?~tQ;&l2)0XbqgDO{8UmP0Bfijdz)-1% zlGtdMEx*24#{3(+fy@ndgRegQM_3%B23Y3?qEAsWbHaqf({chrq>6euZj-TDekuoA zegAJ>{a@-MxK(o6EdrW;ih7o~7p)PwhFNk&r=> z8`X^!aVWN>YMx74$OBJzx4}y;fD#Z0NB))If8k~~Mp9s94L6z%8%xFp!oH%cfoAEA z8rs7b7Z2w@Y85FijvGIgBO`?H!pvPIHm_qqi6N0R3Jw{k!sb7nvg}OoGMZx_-+Q2W zJ%9)L+ZQ5F(Owtp<(&p!A^(Tu`(It;|M7R#8+d>NtO2#SxBMH_<9cbVd5C1DLjKLY zy>!xPo&S0Az7Xu2^#<@P&tHeY*7efFwzD)`?A z76*7inZZ%lHjFHY&ue97fEqkw7r0(T`BM2vW*|KK*vxQ(Z3+LXGx@)c3V7sg`(pAU zy2au5j88CMDxPXXfxWP31+K?eLuWc}(faZl-Mj)M9Jc>~2(O}ZLi4z^kqMCsdAI?U zb;^@rV_1GBJy$0M}b z5~gjK3E4eaNItvnPq6pYGZ;fe@uvqLKg20FFb%s`fqp?e;-Q*#_`hIbSYM zx@7ZLB3HD>RsMUvAiqPXeW%2Q2wGIu_-vwiZffPB2Q1vh^nU9@tILe5bVK@f#vS&0 zHWOuw4^QPsqHod!Mh!zKSa(Lt8icQDJD+fn;4~4=gULf+ZQsxj32IO3rKXAz1$D=w zM1WiXS8f3W0W4Q>BHx+(6wyF7Fm+#9!5|Q@MN^c^%>vQ`L@=uwNq| zq4H<6;v>jzSEE1gFp@HK#*`8*O0)9|Kl>)E0IwgyD$gKc_}f~kbMDQj>fy2P_g3BQ zG22l^@|xGu);&J79nd_IfeS+`ER1sg4G!N|mx7VA8AciDm?;K4g$mx3g_fn93)N1f zpPnKENy)(#rx|9KTic=1*;JqUT22(l(N9pNQ~jX9P<-c{cjF8jkNvmbp74*p4$-pGz|Je; zNYKwU8Ohn;K<81pCvu_wjR0WsOx;BMnltO2N@eADP1Hx|=k3a$arpmMjJt!b-hD7* z$DP#qD2Eo4B`NCos@_k#b9YF&lZaQ^ksW9D&>y9|I8=77j`5wy4Ba0aUre^dMii#&b>awKO4uYaO+N%AF_ zs*9B-E$X}nc3Qt-tMrLJZQ#^4h{i?BVpI~lIQR1tt>-vaR3#bdgqb$EBK9aeuwDJb z0O)r_`N+ZvwnElfz;|X;A}Lye3(cXA7g~b*WKq_p&zc@JSQ$xs?xWV#%r13!4rbrN z`RPZR#Y*W-Li{5ZNy()D4;4IwG2UA-6k>e<%@Yp~ZZj4<>hhY-hdFp>H1Ez!sQ{%B zn28897szh|i0}~L!$?ITGq*U@j%M{*dn(J_bc-zN?MfeA8|oLsMKX9#rPrJ?1+H)k z$ML7M;p~BS0*5VqQKE?ORwlO+A^5Hx-xMp{m8wxBBv9s_RS*%tO zO&#ny1UjPBFBh%_$QHGK;?v&ekNcp=0~9I2Cxm38s9htED^+3^<+}a*edkY`@^h8H z#}Xsf&z*rJNFZ~d1vrMPfxyY$QO|hqR`$5&#Xm94S~iJNHx;0GQkuC_^-GETz<~lv zJ=IkGY^2rxQ5Az1*b958AvgCZls&4$UY)HqyK-&7JG^XC?nhj1gI&Oz&oGq?Jn z*M-h6dV+oP`FeMrEqJ4W;F-8MFo=`n%-R0?#v;DYC6UBEw%M|OVz{5d@{ez%5uw{E z64qWY2*UM$UhRH)8h1{kn2d&Wt&LABFL|mi<%Qo+p-B%5vE)R5=H$F#-74)-oroz| zK^Ad6H=WHpSSj$ zW;xdormiB<0aCTL;oqxJjV-yPz~D!;D|&;V-VQa@#kt)?3z|*ack;cne^`E+=hhet ziUe&RwY0%`fn4fY<3_#p#B|1x3x$Wpz9hJW`Hevy>3Ek5)*RYia!)T5Iu%7>h%f6t z)=|7ZkwC=O{ZQ<8B=6dgM>e`Kc_;g35{grjZ|7dnc81}u<5+NhvQ8ebMdE`}R%<-o zr8vB67cc-%Lmu@NZ)>P#f9n zc<{I^)%{&GJh-pr(RP2BV`e9ZCw46}(IB`n!c+d=Opa7HP{T7`iH1!OyHhC_e_6s> z&EQMWW%!@vTp9}Efc<4>Mx*GrD3f-XbhA&PloL#o2)f+oG@`tbnWqeB-f`TMe|OiI z6H=1%Nc7vE6k0#(Ug2E?8lxzG?T=V`I3l#26O2PQy(%n(WUJzX98w#Frld=emDNDLnzT@*W^8}uYiI*LK{hTc7N!jb3LXvK3YDJ z*R~kEct;_UkY%D$bGq-0B`q_u$SEC>`G6X5z}%M#C@i!dWPo{K@ILQ~Z?#P(=f_38 z82t_^%E@n6WZ?j1>Kf&6?Rt2eu|u+QB1eBfzT@^2^C3U~gH5+}obj5m25X-3gNc}H zg>V!?(_j=`eDSQfp{@Z^NQRTda%uS6rXe`xlz9g%EB;$brsWd`X%|H zW1-V>JV4`R2?ZpH@+0y}ZcB5(a%mF~J64<_$5DZ#l@&q3o*q;Nmv4$cr>lf}#<(4j z7Paj;FFMw%6oFZb1TJ%bhahzT7~xJtldH8g8U z;a;?~!Joa!8N*xN{+69BTjxU|G&@AdBa7`QsloN8NmJ~uebMn}MeJeC*7C(`^M*+T zjR)K8I_2Y-zq4YDVpHruHTEkm9fTVPn8I0rM|pbpT`c3#HzL-jKE zSnk`*O6^@x#_q2~)$>tJ$f({dW81Cekx0<~!@rVlK-C)PA!8?m51cyl|1l5t&mtrl zoF$$~=eGd#4H2~7U^}po$%`kX^ztBgkbFxVV2pE4|KB@B{}lZE|78yS0h~65+)i@o#}v`|0b-8;hp<$*~8&o@aN~#*j+n0N~IE z2>&Vb|1DB$peXxpbSX~hW!_Kq<=tV5!`ROHq-?%8TK}yn0MNnku$)f|`F6N&?KcCl zoQ_2TQVT%*!Rx{ALLq>hJQmofUZ93UL4Rf`Dkx*g%PLZU=KCfqUv7 zbt=HezuAfPjeCwkO{8B-jOGCT!Qnq0gsd!BIph6+(+GiE*LKL0`+(4+%8T!xHPQXw zVmd%KqjJ+_Q9{|Ph7BoXlAR3FH7DHMSE#?kF{XQ)=Ig8Wx*2`o?AmcJ6#MD8b~479 z8H;K58;`8)@!=_6>KlUq!#A7x(a>;Hh*=UjF(-3+8oWRUli)RmgwVF}%y||Nfo*u4 zwiS1Ei}!3erRlQcKK&eD)LZ+o_r~M>Bg0Xj$c=$3J};TO9hrZczc(k6R~#tkJ7Grz zq@$U1B&~y|;3xMoblO|l8}d(@WFnXxzfUWlh+w0ox!sZ~Xf5Z>pL;OYl)Y+hQULnf zxMn2qP1YNN_p6_u=vA#Tlru4tr;}o@b1=7;zpK$tEICjX3ufe@S{OTFp-h#lF1Uu{ z+vn;^6XP`Py$J;L)G2+ug!MJGZ5AwDt5#gF?|851^g7H|-oudaK^zcP+&dkj6Mp4z zu$ILCuXCLk4ZOb?4Ro?fFbvE-xO@_Gp*)C(maxAk=Rg4Z_jo&+RamfHW2Y)7e}Px< zUkIRw$kBvl}C9k{#vDP$r&8c?$715byE^ zVp32GFQOQmPoVwI>s-Fi(j?U?-glCwk62~qfqqB{x#g24@>bTTPc^qeS^NF@US>w#Z+%2rC=z<{>1zxaa0rabrFXo5ovMZ0{p$(GJY@prD zGVa_h2ateP*1a^wcqHbeOzIivWEO)tF!)bC*s3O)YbX{>U$qG?=|YK(hX$% zJ3qt+lg`Zr--Ufg?D+#}nP0uyQJ*1YA$icf5=zR6owRo4BKLS2=(I|o z^CFgVlyAeu>dZ?Pd}7D&)^}2mp9n~yTRB^O3UhKqj<*PkYDsZgMejwHAGvGZe=p4$ z*8Xn}UM?@u$_HlZyOpBgV9HIC@PZFe?8ec#NZg@xU7Pms>3=s3AawXJV6x4FKntY1 zRvX(1k`Ynbw_sXUwmfF>@p#q5y2je91F-#-YH^(9H*qp`r{Z&KPg~?Mr7z~b(295W zN=v}4*5ulkgnUg_wYx;AlzH+*wr;y6hPW91o9>y5ri{utz&7%clds|&LoEM zUYP-5JN^6%gvP3biMpNl$|i zMp9&N-m)RuwGY8lH)g|w!{FPf&F3U2?6Q5phNl4EP09u|=G>`a&4c_a4bj^jn!f2o zGx@Mt3ATh8t|5|>0a$l>wywrYjjJfG6dT>2{{H<<`VKIc#3<9$CXas|?IFZ%q1WOt zbxWT1zbTlY1i$ZM&~n{>k<9#VQcbZ4;yx;!R-)xpt`(&^u7G7@P8{r;k$2A5*fApr>a#`5S0+WP=`pUg;VuOsSxDYV zAl4?>Z70XBC$49#t|~u_&O2&3&$}DhCSgjILV!^!a}t@#36(0 z6Meap^oO3IZHIcv86V$9{UMdXQgFasm&VBiHkO<6!UK&JCZC;C=}?en+<;JDR~N{M0l`97g`z8P8&(1H)OE7))r*76fJvd6s@T)Gc)i>%@q;# zA1p|Z(qs1R#a-$)*!9Xny?p=7+d;|A>2{;%_6jKb2!lE-dXN3Ph3Dnp=UuvUSV;y_AD^ zp{c!mGzv9MRvl&w1LWrWB-XsUR52O#5zbdfAfGL)kXn$E`Sc&ofxwP7u>(cgt}H`hxeao&Sp&f*Iymiq zH`|aqD=}1en#NX}!zm6BnSzwpE3mSwu-Z2iw+8E`&O@fZlQI^bG#gr8d`&4>IJxAi zjz#r_q5btnj(%Mk-Ftj?hSqtDH`IF!X5Zd(hFtSrhUq3KjcS%wR#oL?mnftnXH(nB%$bsGD<>NMV zQ*T0faLyldT+(Vno#bNTr)U@lH#VmzBv$NMyoO>;POog)P5-qdFzU7IVLa6_n>05+ zVIQ}cx0mdVxALj@0190mkU!c>CQf-bZlaugL*39HNv^5L$%A!+7k`oFsOjc~cQD%< z#lrB0qEQHyJ1ESuI2iAi3+6;QSSZ=~#Y zKszsd+!GxC)?9tfBzoIaEhtMce%ZO|8iKMjS&~^pVi_AQAUdIhODm_G?RKEJnZW?# z%;KAKi^Y8~1=7ul10^PBg$d{^3>^2ITbfs&#NFETH)HhWb~+k_3)A<~t$$?a1%m5~ z)VF^6?0=Ptq~_@5$EbC{73CBkXv>Pjl-@FFh31xS$f}ZJBB~fr8_k1Ak`wd35z)!M+_Td$(VOH0$7B}g;hsj670GRBk0`f%`i z?8832V8I^wEKc*tU>#AiiP%&=_dc>#$6Hu;e0^3U2wsq#N#5YQ?R6%WB9*zpEECpe zf`qpgOtreDdRE`_P9$4mc~i!B)XU@wUdiO6qx%ycc;nn&%YV1~ZPD3oJ$drBuMg(O z3F2orjO`PW<<+7F@UUR*eE}KEMa0&9bp~(815YQ9V4p#|VQh@iN zfL?=WcB{E`L<#URe>VzgcZI+0S7no*rRDmqWG*xx-_i?r2^B58` zVcGr`WE7@^KzhVVdzzSkCk_tGj?YuU0GJ(Aj;|<$PwvlsBZy3>!A}^6ga@ykcK?L? z)0a1oADE(-rAwdEY3J{gcMDZ^Bfm2aV_e6@y%BKA3INsU7JkOA5&e({rX6$i{7Q9% z?F7j&=-CmqyN<1Sr5zJ2))AoL&y!rV_$Qc{@ywv)$Z%F>By{OZzUfCxx*=B@|nub)k)A9 zH>@~bpRxUxiTJn{WRIOSN3y0fH>9y6vAu63u0m)!Zhn}qpKT+tUU(6c-OE=_mw%9GspAM7{3qK{*^))L`*9~L>(SI` z!8ZcIp>o;PNp99kH~|7O9atbP7o>0Z74qXjb8VaQ4bwiw*HUllHznT<2%X41 znMJ@Qgm#saVu`tNzcQ1Cg6eM3GC$++W0vsW^|!Ep>>Y$HqTROqLIMB`vEvimb>>J1 zGjHZ@AHr&cOs> z{YI5=7D^er(|dKlJNB@1>0OP)c`J4>9LaCZT@P0k&h*B#pqcyy1R;w@kFxL3KYFmk z)b5>|@DA$lO6wo&s2Zex++sNvJggEMHSquDx%CAAtgLL@?ZYo~%fqE~D*YSBI|>)} zdRqEsl5@}d^kE_HjQFp@%#C7c zk4_G%9w{8Mj_P|4r^=99h&N(vlK|Uq3KhsAs39PSrU}1ST)hnUk(^}OL;p}{zfMKQ zPEC1}+d-~(%I=GXQH=?8WumJ)&HK z4YNhbaQ;2cdY67~^_5Z4ug`;%i!5s^wA=f*o*wIq@hF@Np;=|}cR%9j_OH@y&-x7R z=vZ}2hNwbRA!};=Z9xpe->3V(mm@77!bZ|uNA4$<=5UE4mVKCY^LfH--h9Q#(L!KZ znqsoQb@?P}pkIwAq``4w-IY2=EAk2Re(}?SOo8%C_G;|u_Y|VMm6qV8RrD=Lh1nyx z1W9?bSpKLLpYd=6C4+p{i}70P7Z;i64pDk9eyrv~u0o=XXx=Y~39PmbWz?Awq?i0x zB$3HO^s6sY-yy@^F;%Q;N)l|E_-@Yy; zWp(zph$>h-6VLTMni7TTt+&};BCS@FzznVL7w`g+J57T98F^6Rl6I#^2qEiS=UTq`AorsK-u5Y?=AOp#hk=_ zS;j)zL{Ud#o^dtV`AC^hr0G6=bLE5w@e4sBY;c%$$8Lo5Nzgs5`+7UdOr&!7?-;Rh zvk?Ni&08`8T}*mjVx(4~>G)`z~9Hpb4|DIl}$)+`a;9`NVPWvd1G%%z*c^R4#vu?(}z_ z^D>Jtj6Rg%P(i1`N~ZR$auEVAkdwmss@wk^gzLe~tCnl=4%_>tD)oDC#py}>zK@%M zyj*ufYS8iaygb}w@Wih&Gs{hi2DULfJ&x6bqoT_gEi^6gqt9P%#ZuQsG~DJ^z%w7E zSFKQwDf$%TJCK%(R@shihJZDxe=0cNq2%xwI4d>O^>IH6>ekT?;JQwT~#`%IAK_YzO%y%kSD(JWiZP_)?*zSvN>F3({)3&>vX!~e<5h@ zwY>QZ($^40dWgZ4tiI&B1zRmJQC^d=dLFm;RUIP_qBn>S*G$wTw|s5>)22!aY(U3) zHK8-hJ&B8mCujk@dn>0J>^5{R{iRNxQC<&*PUS z|K|};+!9BZ$peh{VWtK^{$B!&|HzJC--dy7C_kX|U?UX@;AMKi1N6e*o|UKfFCwO) zTbJ894pJfUKj;H-Wg9!7_XARGpd|+IaHrz;e0W;6%j=*@O zz#Z{hz3A1?V_D8DSI4wnR_-fU8SbHHbL{Q2tVR1l$DiNN=g2Q2 zF>L02Vr(a{Css`2lj~*={qeFWO!&^(|A>Jd$ESlj(hX_+E;`y{2LPba7JwKLPj{^u z{hvi0>J8sYJU2Oru`@{j;X0Xz;y>&i9M2a4sHo(Nc>a>|SfI@Yxz|;dqH2$Z$2B}p z8~pK@7PELfqU;)o^$!~WwmCK|E<;-A0QM%{g?kc9bf=V1F&F3n(1oZ~NL*n4BE*!? zfC?-4zupAE#(0<<*bYI48axsIIppY^dotj%WONd1J|%=HXQXmm#39EVZ!>LQ3A5UD zx5F9{<;KizcjuQFI)phMxxQilwlnJkM8IU`xRlI=!Stsi0Bn$$;?L;y09~#OJ*30> z>!QnKPfWdwlvOvPUNm{R)?W|!Ct!+Gq-_W8Rzr`~|c)Q_j1_k3#>D3ck28^uuj z8`A0>GxyxEkLs~|)wn!=J=Dt;q3-$%0&%^?A9;6egU-IxrCx`O&oIb;{K035!gonT z_bt|)!$;hkP5loQfu>#Sxg5ecyE~_EZhzf(7>VON7GcTVP=$-lqMluzc2;Iu2OIcO zB0n~1M1nTq){axxh*tciL}BdR>n~0TcbGZYio9FqYqrE)PxUPx1N=J<;=R62N-e`>tq>*UoAX;={w7s!+T7ULxV+2vJz+m=Qz z+kL9YZuAYPR7#kz3D^)s(cqV1SsXA{^JQyv%5@y8Lr+ONWuYkb5jYB3Ar6^fuFO!~jvl}9M~Fn4BlVhaAE=7Qsn1oGe?(`u>E28fU@4%|z>OfY-(bigQn0lW85Dn82yzH*U5 z<@;6v@3SC&rDFtE2C*I4yTFPlm_9Px#{MLN;OSfc4rTc342jL@yR{bzek8noYVS4m zJzVa9^C%@(xVu!Gfjr&PXAu@!cSA=-=c5bAk)gDahLleg-WLTGeWM+*1-=-qsd8 z+<$;&cV{bZ(FD@PcGC0|wXM+w-*dfZamvRiGIM>)ZX*o?zPzqeTyXUsN_oR%(d-c{ z+R{#-`*BQbZv~;riX3;COJ7t7E<_;4$*q2^hSc>zpN2`xqS8G~i zN|>GTb+_K-&=d7c0;V@Br#kZI&s$Zlz(}sn^ABbrY%`KFLwF-aj_42CmOLqvxQA~8 zMCOI8wdTUl7~M8oss`ddr1yF_Q4R57O6lbV{%Ub0V>h4m@j<*?m;b@qJ!Q9?Lpp_1 zEHUxnnq;?e2RaklA)M=jz0>v$so5@cB$hz}HBTh(P;^BPZK$L9l}5=spXl%hk2Bv7 z#?2>#hmymKR$Fh8LO)Q1+$5P*@vjf^)o|RUmzy zd3N@2{`KzXYSz_bQ5Y3p-0UxBm1Eu{(>T5U2Tul4kOq9b)ezIRN?c@qoSS?9kTF;vj{Hr+JvXYOE z1i3V#aHJnCLKTc01jlv7(Aj8(W{>HuV`X%PW-272qA6jfUnkF_%yJXjY!)lb@UTuc z6S&lzR7ja0X63mw`LS+2-a5LvUH1QwF*cyXeOFwd%GL4l)dw>8zqV;{AUW1^q0y)V zOB_7AN`=;}8<{tsVnH0Ci&Mtsf7+@fd?l{?LqaL^F|68F#acLANWW9ftH1g{o*-LF z*`81Sz3Lkd#tijXr5hy)B%JCB?tY>(Oh?~= zi$Dg>6B)W6NsGr3G)I00^V@RQ>U{eZXdB4ha;UYw>ndrW8cg8?_dU_qKUG8ro(_Yr z{K;N>T)(q;-pKJfUwFDwzkmI~%?}p5f->frRK6dYb8?};n|Pk{2ljf@p=3MQoY~*& zoR)K8wR|&f6uNTSHR+Lc(p144T(m2WW=@_@dF3mP&?jDzyR!?p?=@(N^hZo0>d}~> zTm-xzQ_Gx|pTk&xzIY~8a;BhY0!Ro|fY4Vq>fI`C3X^pe0xF0Q+bYiaB*8DTQz4Wk z*+FxnW_LEujmq=nW@Nd2j?RI1ig-OMzG+URR%X{^;DbT}VgJfcYu`iv z&i5P!Le9%n>HB4Vag-E)e;o1Z6jN{(6~jqbVO;EL1AA_*XY{<>gE%|u*=BhA$`u4n z{gBlh_l|2%ALJm1dZWOS^tVgww?(?zpoa!^An4L+_=HT=pwc9t0HS|Mv=VZv4vP)N zwl(4qIZ`P;uHHa0!fVvmiKmlIB_Euu24!rULsy{Ny+hT88KG?4;pce>t2rU6J5BxX zush{kRrD<$LpB7bBR&X49!(Ol%cFKwO8V!TEOQf>wW&q=S6TsW?Rm$ z;4RxNMkyN3+!3_JuJj2^;I_&k&I630+4g&u{m<>B!k9VSL8;t6DoDT6Y;6SELKY+L ztt-T}EJ`%Nac7<0t(qKxvm_8xV11`M~A4^ zovp5AS{u1blByj$0oCwV9tMTEfo7R@Z#t?06`ps2S8lWTfp8|m9HaUTKc!jZ@&1N> zpbSz@E!!20z^!!uY$yAc`;|SGq)V!TWmEEl((EkNzEzO%U+YaroIhKHUNBZMhM6Zc zT4CLXOg%-1a;0mANgz5&mBdJ41<7tE<0u|k0%KPesI;13Yj>+^XEZN%p4W+fuW3vY zk#<%>AIdi*4&<`}TO-C&-$|hu1Nrm$iy%)pSnE!8Y%BY&Y-5uehj8e@ zcJhbr;FOqUd_qxzK~+ye5pfJqq&zP3v5_b>lBj+4RJ6>OIhLoCgBpax_Zl74$0|eD zpsm_nD8OG$~~u6JPuXmMoQQA)Ll)CS*MMHG?AMt^)Q=n$s}U zE(7n+GAt)ciWo6wdZQ{oKRyR1Qu*Nt@T;YCl(=230i8zHXhy z9SL2tMaY^9_0{|nN*?b12EOP-Lp7q{(FV2m*fV=m6mohk#E}ZZB?hAVShv6!8uQXY zKCLp8x7uIny@>b({UWzcQ*CrZ-v6A_!TIGv_o(I1~-bqFyQ)v|QvX^$` z_2p8(DNYD0PLYnA^@U1sRI>4`Mq1^Lw^+#0oAoJme>?V5)kfy3VAu>EdU0_Y_0Q+Zl4J&F?0rpPd#@v`|sQiZS3X zK+ErRQN1F{rrlGdVn2wjGKH8G)6H)X$jyZ>38x5loW4!3FdUjfdczY@nrw^n%&zqX zAsKVrG*B1iOWssEU79O*c({%o=FXRffRrPhbXI3yXA94z{Vu5k={9bx>sD*g4_Vfq zuaSdi-FXpkWezNTa;rzqj=cI^JDX0G`D7=$yaKmb$7gr)^4ZF!HzV)mbd3uU(m<(y zP$JK8)|JO=2CwuHky@Y_7~YAd_VA-&lyXSYVN@eBD@)0I2(}eF16%KEL2^mftNh5` zVTu(@^-Euh#rUw>kb<)o!cVmzBk-*YvZZluqzXF|-Cruf2g&W{s!yHuJ))EupvaJA zjWfO#zo76&Z;F=3bvl~EEBsFkhvv$mlimU$TV8}yEWS=3mYBH|!J}E#BewQE;eS4y zQKB*(8+273#sxQ=?6fMT5{)GC{R>cAL6SRvdeZyX_Yl?55kOzC;4e^Rw1R&~g+A9u$G*DY3Lb5yuWDMT^`p+Jw|zKnDouNQ1SPt~@!MLaq1kIoG#BsAO{1Yk_uI2xPz9 z!5Krl%W=XCV&4gyljhJwgoy7R^P!O6_-V^(^LpGUO69%S5(2~%5zjv<|C+Uu7uM3O zW4X~>4p$7??na)rD_Y4lsl*~<1*eHdjoQK>vqKc-U8w|#Tid54BDDCqD^<_uy~S}g zB0JSrlB&mtEntt!99{m$8#`;a0Lfdi>8pPIhbRSxE^pOhaa$UzcKgB)QRjZd*T^m1 zji+qa&gd#Jd&|z6vw^k+)v{#n^&#^1y(sA3)-yOX!gKZRGh=z2Yp0F$OmJ3kHiO$Cxh7^k6DR{V-WYGDm~6rnzL^#X z`RI81qI%B{k`;@H9_{W2CcV<54T(kp!NL~|3il7HvN*i2^o<*6SpIxa2tT)6{LYoZ z-?2uicHf0{5S&f+ZOYPS@;yz7Sb94r7{FwA6%dcSbt9(b#zTxZ~I@mugyx>XMN!|Olg1ty#r)i)E;Xj|R7QqRVR$F>DxkL$ao z=i>(7q;zsK4CBon(^i8Tdc^IeqC!L!=Pb>r!C*TP;d&4u0^5;Y%Q8CXCz@!x@@YHr zl!!aB9_x`NUavF8sfwfNILfhG%6r7qbA-Pk@*5uha+KmGv0L$q`+3Q~eRk>cSH_5L zwl$`RkWy?1lVD&w41uwri@`j)c7=SQ{8RKT_ z`&oFn{42Io^2VqGBZNI(c{QQXcP1x#e^JIyKf$0fyV2bz^mOKLatE;Pxs)#ROV1r`)|TaO5Wu^qVb<>KGCF#n&f#YQ zZz*+=HiGgs_VfM!gw%!A;g{axx{MRV2YOR}YHcR8^R2Br_u&~(_{!Y`SsK_vos<169g7HPUwhYX*{O|)rjAUMFNLmk+m@AXaqcSg%AYIIyfm#yW+ z4^3T9zk-eAShp5ibsD1gcrcgSX`##ejynPGW(NN@3cF)RlADB<|IVU^ED}L3HX2ip?}AoJ}yX1C(cCjb*Py=RbTRY zuTy#`dXt;|Al`I`(be9-J7y&3)!~V{VfQ+~@R1|R(Eu^{cy^?v*n|Xf4Ysj#*~1W) z+_w9CvS#uV(_>{%j;oa>_3`?S7~`CT%#D18%T<6Uba^o)d~jLo?UD8&UxOnR#1}P#JBgMeQVbLsnWRe~DEvnVQSY^Aw}beNH_v=;>pR_G$6Ym?u%I zeNdMK^^dUYIV|$N4H{}2g}ZqbI0SZC0HrLr>!LMvbWSYZhU5$u0+pQ*f9&Lp`igKbnnqb4e8v2T#|?a zFOEDy+lhvps%*}yck;=g5}xO zcd&huY{fl6%$ZD67~OZ9C)f_Bi=NPlNON>peQ8Va<@fSG#X#(oBInA!xTU_|P86FA z(%dTzK2q5ixbplNuzs z;w~G7?R}v&tb$chHGcFLmcaFR%<5YCC`bNCIW=K~IF9YOqsnb`5#A!l=@ftEXn!f{ zXz|f4yXedxeb~Z`$}F3ek|9Kjq)w?e;}GBdkFnUjhQPvb9y@nA-Qu6hsS#O@z{=f8 z0aCRT8EFsR>$e^#gA0eA^f57ZIpy~0DL1fHi$qsBXM|?Vg1?-KZf_OzTtplH>JpG2 z!&-`FB<)q?`j?wn+eC=zUM}DJjFP9pE&b$WuwBV-F99al_cTh7r*O1X6%7PgFl>vI z^Bvj?-aQyg8b|RPtmL{Sxo$t7E*9HT?ZS>i>~6+BFZhlQ-F_Y7u1WnK4JALa5mai3 l9wex~T%88ndbBSWiL+tmT-FBjpTYn?3h$I> requestMap = new ConcurrentHashMap<>(); + + private static final Logger logger = LoggerFactory.getLogger(RateLimitFilter.class); + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + // Inicialização se necessário + } + + @Override + public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) + throws IOException, ServletException { + HttpServletRequest request = (HttpServletRequest) req; + HttpServletResponse response = (HttpServletResponse) res; + String ip = request.getRemoteAddr(); + logger.info("Request from IP: " + ip); // Log IP address + + Queue requests = requestMap.computeIfAbsent(ip, k -> new LinkedList<>()); + + // Remova as solicitações mais antigas do mapa + long currentTime = System.currentTimeMillis(); + while (!requests.isEmpty() && currentTime - requests.peek() > TIME_INTERVAL) { + requests.poll(); + } + + // Verifique se o limite de solicitações foi excedido + if (requests.size() >= MAX_REQUESTS) { + logger.info("IP " + ip + " exceeded the rate limit."); // Log rate limit exceedance + response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); + return; // Bloqueia a execução do endpoint + } + + // Registre a nova solicitação + requests.offer(currentTime); + logger.info("Request registered for IP: " + ip + ". Current count: " + requests.size()); // Log request count + + chain.doFilter(req, res); // Continua com a cadeia de filtros + } + + @Override + public void destroy() { + // Cleanup se necessário + } +} From 4d0983a19d2cd9ed408e150c824b89e8f28cfdc3 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 21:31:13 +0100 Subject: [PATCH 28/32] chore: Implemented code to make UC9 comply with ASVS 9.1.1 --- ...e Case 9 - Implementa\303\247\303\243o.md" | 32 +++++++++++++++--- .../Implementation/Use Case 9/img/https.png | Bin 0 -> 34120 bytes .../Use Case 9/img/httpsCall.png | Bin 0 -> 21941 bytes .../Use Case 9/img/interceptor.png | Bin 32423 -> 24042 bytes .../Implementation/Use Case 9/img/tooMany.png | Bin 0 -> 52460 bytes .../commerce/backend/config/WebMvcConfig.java | 4 ++- 6 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 Deliverables/Phase2/Implementation/Use Case 9/img/https.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 9/img/httpsCall.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 9/img/tooMany.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" index 9769d223..0eb61967 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" @@ -51,19 +51,43 @@ adicionar o endpoint que é chamado no momento em que é feito o pedido de recup que define quais os endpoints que deve ser monitorados pelo interceptor: ![interceptor.png](img%2Finterceptor.png) + +Desta forma, se um utilizador tentar enviar demasiados pedidos o seu IP irá ficar bloqueado durante o periodo de tempo configurado. + +![tooMany.png](img%2FtooMany.png)

### ASVS 5.3.3 -Tal como na implementação feita no [Use Case 7 - Implementação.md](..%2FUse%20Case%207%2FUse%20Case%207%20-%20Implementa%E7%E3o.md), no momento em que o utilizador introduz um e-mails -é feito primeiro uma validação do texto introduzido utilizando uma gramática que valida se o texto tem o formato de um e-mails: +Tal como na implementação feita no [Use Case 7 - Implementação.md](..%2FUse%20Case%207%2FUse%20Case%207%20-%20Implementa%E7%E3o.md), no momento em que o utilizador introduz um e-mail +é feito primeiro uma validação do texto introduzido utilizando uma gramática que valida se o texto tem o formato de um e-mail: ![passwordGrammar.png](img%2FpasswordGrammar.png) -Caso o texto introduzido não tenha o formato de e-mails, não lhe é permitida a sumbissão, e uma mensagem de erro é mostrada. +Caso o texto introduzido não tenha o formato de e-mail, não lhe é permitida a sumbissão, e uma mensagem de erro é mostrada. ![error.png](img%2Ferror.png) + Além disso, todos os e-mails e senhas são apenas armazenados na base de dados e nunca são exibidos na UI, o que ajuda a proteger a aplicação. -No entanto, a proteção contra XSS refletido, armazenado e baseado em DOM é garantida principalmente pelas medidas de sanitização e validação implementadas tanto no front-end quanto no back-end, estando assim de acordo com o ASVS 5.3.3. \ No newline at end of file +No entanto, a proteção contra XSS refletido, armazenado e baseado em DOM é garantida principalmente pelas medidas de sanitização e validação implementadas tanto no front-end quanto no back-end, estando assim de acordo com o ASVS 5.3.3. +
+
+ +### ASVS 9.1.1 + +Embora a implementação de um canal criptografado (TLS) para transportar informações sensíveis não previna a interceção +de pedidos, é capaz de proteger as mensagens de maneira que, mesmo que um atacante consiga interceptar essas mensagens, ele não consiga lê-las ou desencriptá-las. + +Assim, se todas as comunicações realizadas entre cliente e servidor forem comunicações via HTTPS com certificado TLS, podemos garantir que este caso de abuso, assim +como qualquer caso de abuso associado a interceção de mensgaens, está mitigado. + +Posto isto, a equipa implementou a comunicação baseada em HTTPS com certificado TLS para todas as +comunicações entre cliente e servidor. + +![https.png](img%2Fhttps.png) + +Deste modo, toda a informação sensível enviada para o endpoint de esquecimento de password (/api/public/password/forgot") está protegida. + +![httpsCall.png](img%2FhttpsCall.png) diff --git a/Deliverables/Phase2/Implementation/Use Case 9/img/https.png b/Deliverables/Phase2/Implementation/Use Case 9/img/https.png new file mode 100644 index 0000000000000000000000000000000000000000..eef7fe985c84656e796e45ed595523423924462d GIT binary patch literal 34120 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 U=(l0rIP?cqMUCsF^5%j61**3C9{>OV literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 9/img/httpsCall.png b/Deliverables/Phase2/Implementation/Use Case 9/img/httpsCall.png new file mode 100644 index 0000000000000000000000000000000000000000..f41acdf7df07b193eb89ec571305cb16f06ada6b GIT binary patch literal 21941 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 UDn&jBU$u&$AfqY`ku>@6KY_mAegFUf literal 0 HcmV?d00001 diff --git a/Deliverables/Phase2/Implementation/Use Case 9/img/interceptor.png b/Deliverables/Phase2/Implementation/Use Case 9/img/interceptor.png index 1767ef309a52a0451f194843f98d3c242b7b50ba..880e8ed117bd7d56c77d8334772901066d6a3e75 100644 GIT binary patch literal 24042 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 Pp_Uv-QL0ShrQd%5zRCL| literal 32423 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

`sol$yV`@DuqAO+*2^ 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 Tv#u@600000NkvXXu0mjf;74+N literal 0 HcmV?d00001 diff --git a/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java index dee85b9c..d7237476 100644 --- a/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java +++ b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java @@ -15,6 +15,8 @@ public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(rateLimitInterceptor) - .addPathPatterns("/api/public/product/search"); + .addPathPatterns("/api/public/product/search", + "/api/public/account/resgistration", + "/api/public/account/password/forgot"); } } From 90e4032517daa2e4d5217b929bce5c75eba384ea Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 21:49:16 +0100 Subject: [PATCH 29/32] docs: ASVS 4.3.1 documentation --- .../Use Case 5 - Implementa\303\247\303\243o.md" | 15 +++++++++++++++ .../Use Case 9 - Implementa\303\247\303\243o.md" | 3 +++ 2 files changed, 18 insertions(+) diff --git "a/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" index 0068431a..b923448f 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" @@ -16,9 +16,24 @@ So that I can easily change it if needed ASVS 4.3.1: Verificar se as interfaces administrativas utilizam a autenticação multifactor adequada para evitar a utilização não autorizada. +**Nota:** Para cada caso de abuso foi analisado qual o ASVS que melhor se relaciona com o caso de abuso, tendo em conta que com a implementação deste, outros ASVS são também abordados. +Este estudo foi feito no Excel a entregar. + ## Implementação da UC Esta UC já se encontra desenvolvida. Apenas a aplicação dos ASVS foram necessários. ## Implementação dos ASVS + + +### 4.3.1 +Para a implementação desta ASVS o grupo pensou em implementar uma funcionalidade extra no processo de update das informações, que fornecesse uma +autenticação de dois fatores através do envio de um email para o utilizador. + +O objetivo seria a aplicação emviar um código por email, no momento em que o utilziador clicasse no butão "Update", para ele introduzir na aplicação, +e validar a sua identidade. + +Esta validação, que constitui uma validação multifator, iria implementar com sucesso o ASVS 4.3.1. +No entanto, apesar dos esforços, a equipa não conseguiu terminar esta implementação. + diff --git "a/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" index 0eb61967..2c28d8d4 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 9/Use Case 9 - Implementa\303\247\303\243o.md" @@ -34,6 +34,9 @@ ASVS 5.3.3: Verificar que a aplicação, de preferência de forma automática ou ASVS 9.1.1: Verificar se todas as credenciais, tokens de autenticação e informações sensíveis são transportadas apenas através de um canal criptografado (TLS). +**Nota:** Para cada caso de abuso foi analisado qual o ASVS que melhor se relaciona com o caso de abuso, tendo em conta que com a implementação deste, outros ASVS são também abordados. +Este estudo foi feito no Excel a entregar. + ## Implementação da UC From 68dfaf4a1191585ef03b5f1266b42d2bf8eaed2b Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 22:05:18 +0100 Subject: [PATCH 30/32] docs: ASVS 4.3.1 documentation --- ...Use Case 5 - Implementa\303\247\303\243o.md" | 2 ++ .../Implementation/Use Case 5/img/popup.png | Bin 0 -> 28808 bytes 2 files changed, 2 insertions(+) create mode 100644 Deliverables/Phase2/Implementation/Use Case 5/img/popup.png diff --git "a/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" "b/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" index b923448f..2c523ac5 100644 --- "a/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" +++ "b/Deliverables/Phase2/Implementation/Use Case 5/Use Case 5 - Implementa\303\247\303\243o.md" @@ -34,6 +34,8 @@ autenticação de dois fatores através do envio de um email para o utilizador. O objetivo seria a aplicação emviar um código por email, no momento em que o utilziador clicasse no butão "Update", para ele introduzir na aplicação, e validar a sua identidade. +![popup.png](img%2Fpopup.png) + Esta validação, que constitui uma validação multifator, iria implementar com sucesso o ASVS 4.3.1. No entanto, apesar dos esforços, a equipa não conseguiu terminar esta implementação. diff --git a/Deliverables/Phase2/Implementation/Use Case 5/img/popup.png b/Deliverables/Phase2/Implementation/Use Case 5/img/popup.png new file mode 100644 index 0000000000000000000000000000000000000000..f06fcbeeeb4f21b5a356e1c49ba576a9dc2c6d78 GIT binary patch literal 28808 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 Date: Sun, 9 Jun 2024 22:44:37 +0100 Subject: [PATCH 31/32] chore: Correction in interceptor config --- .../src/main/java/com/commerce/backend/config/WebMvcConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java index d7237476..cca86002 100644 --- a/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java +++ b/resource_server/src/main/java/com/commerce/backend/config/WebMvcConfig.java @@ -16,7 +16,7 @@ public class WebMvcConfig implements WebMvcConfigurer { public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(rateLimitInterceptor) .addPathPatterns("/api/public/product/search", - "/api/public/account/resgistration", + "api/public/account/registration", "/api/public/account/password/forgot"); } } From bac9558b7e671151d889363df3f9f81756688381 Mon Sep 17 00:00:00 2001 From: DavidInacio <1201057@isep.ipp.pt> Date: Sun, 9 Jun 2024 22:59:47 +0100 Subject: [PATCH 32/32] chore: Correction in interceptor config --- .../Use Case 10/img/Interceptor.png | Bin 48487 -> 0 bytes .../Use Case 10/img/interceptor.png | Bin 0 -> 23900 bytes .../commerce/backend/config/WebMvcConfig.java | 3 ++- 3 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 Deliverables/Phase2/Implementation/Use Case 10/img/Interceptor.png create mode 100644 Deliverables/Phase2/Implementation/Use Case 10/img/interceptor.png diff --git a/Deliverables/Phase2/Implementation/Use Case 10/img/Interceptor.png b/Deliverables/Phase2/Implementation/Use Case 10/img/Interceptor.png deleted file mode 100644 index d06c6c0143fcebea00547fb29c252ef10e74fbf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48487 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 diff --git a/Deliverables/Phase2/Implementation/Use Case 10/img/interceptor.png b/Deliverables/Phase2/Implementation/Use Case 10/img/interceptor.png new file mode 100644 index 0000000000000000000000000000000000000000..6f781dece3244d5c9f51e3aeed2c520b6b69c11f GIT binary patch literal 23900 zcmb5VbzIZm`~Qy}2#5jFQX;J&A|OMNPHD+0-AKn6Gw5z4r*uy`$3z-rlkSaf7&QhA zw%>fc-mg!6-=FX8`}<>i9-bS|ow&|*uE+gcC+xL`BGq-q>l73eRLV+n+7uM$^T_3e ztLMq@qFg7^6cnbM%5pDteatrDYX(dc=_?ZuYLl%tK5E;sxSNySH$&tFWIxbG7&?00 z7$08)w`yR=KV*a{J6a4XOJ?@bj0|q4u4k=pr}{ot^&b0`npU2=zP47rUA(@Y@#fCA z-?t2Y3RDj4OSnFZcb?|ST0w^rqMGD(VlI+@pMoO8gQ&Gm^LO#t3+y>^X?F2~-(Pol z*nWfleDdu01Ns8_`lIK{0qdU|8i23(KiBtr=ipb!*AEFatK@c&pXRU8g60ft=SV!^ z|MT~qTM}#1?5QKs^ZRuXPsJlzFnmTpq3t?Oc9l@uh9aL`je$<f3)c``N_eSN!C> z&6K>2149KpN8HUMZ@R4joyD&QXbHXQCT){GG}W^RGbj3()oz&5Cm|;~c!rSm6;j+i z)1z8j3lRXzi)l&S;cxrHCO;0vb2 zYhWunL)*|kMDzd~RS@9?q$70fvUz^)XkvzUfiC^&03b7A0Hn7&w3R(%qZRQB735oRLgD(fHV~CZ12Kq1u&*8Dwlzrt@ zhged_w+MM`azqI)TsK1{fK}KeWA8bubS^0u;d7)l__pOk7B5h+_K`P5;dzNIrB=0! zg}W@!-gqr+6$-QePrW2o;h+6mqRpT%Ct>2Dn8fH=TU|#%5x37G^)SK949&Og90{|= zG{+vau=pvFLKHjrGuFHq{kTt03_3E;4Ug+L9~2(VRGIVdpBOi1FX-@7EzX}Fot*a1 zpIfg&X{kv)D7PA2xzde0u4AQl?b`pRM-{34G^rQpqtfT?d3Y6TI?W~O2+^;D8jgNu z&ZnfyyNre>7sNf@0ymNeayx>9$L106CMp7nd9d#cF+Q*@8b|rAQJD?w7PYe|^fEt} zph6fq<{xA|D=)7J4Il<=8C8^UZXJUHV1F!RHiGjCT(N^QCc?~As9Yu4{?AQ{mOGUj z(l5ixjwVX7`KK;~K?0dlQ?RwX*(aA$Ry@HY0(tJDiW4eP>1wDpD+axb8Wa#D< zW9yDWcpW&X|>@Ek`P^cRhF`4r7-alyua;nd)QQXgU1`=gs`3Y_GtySbGv>X4 zE5<#YV53p#`rhmJYjJgCB^$pNu5-?c>ovYW22UJeu?Rfc_H1#D9yesX zcXYRnEH)<{7}EXohR9II{mmW2 zbNJ0&Za3f?v!`7sizwjH*cgh8*u z!ds@!Da2&{}tC5aedBWaCtXB8dY?^8Ff|p)2l29@xcM~(2qoXwL&`ScGZV^05}(=ni!g7 z=4OfAL7Lbo8?)Pt`ar~cJ6wT{G1eI*=myaGW7Dk{?t*jRMM)SjjZ?J0wnw(s(-y)TcH#9GSdh$#{eI`;O}yT3sI8(uAtDaFAn} zX`UThWEO_VDNR4BpauDtf26t@cK&vH1&n9Yktyh$MXH)~L*BX^@amqC&Jw)HJ5I4# znPIN}uccPmHm@q7OW|r8qQNCjH3+;Z~<+og7lrS~ngoAA7^dsdrCtVU7V7mkYrb|)= z$?(7^vF+Uuo@owY_?VG_aH|Rj+`^q=@dEo!#YMCRoAOf_w>vCQmCr+jnOTI-YV%|f zE8BZwA07^AGEx=KS2Clu)1#@gHw%~|5bBWE_Cza+&i{%EeeHBq1qBiJ;+%?1r60c~ zVZA}5lUk$JWe#UI$wMdZ|Tou#7I%B+U>x8R~K}i#woUFbjH?(#b=Yw0^z(w$e z5w@(Rqki=I7^eq|72Z(n{V@)G#^m0*JbJPn1bb?(3G-N5buUI6971YtHw_j<8h4%u zh-jb#n((-&iRApz;O--13fYt@2qb%SSN*!7`Ie9D89=9Uj7zHd)=g*Q;v ztI3ZXn!kizReq`oj|%Ya>%Y@94so(t(c`K+c8j!X4HKdYJSfO&*QaCD2|!&kB%G}x zbC%SpdM7T5Zh%D3G&UL2kB*a0YgnmP8VmD5ryOhl?P zaApDt5Bb|~efwUjYof(hew{#i2b*IaTHDpQ1R?bdp#%h7qw9!BEf0S_Dh(_?P3WUl}$u8b9Ep$RmjfCX6g+h5zX?>Szz%U3FEpq z5B5^8Cf^z9A5Sb?Y%9~N$-n^$b60+9IPzu~bqhQroBd>`obE^+-Hf4~;EF=Klw`5Q znMkASOskwOV>AAAYri(P*3+ekfBRN(q{(DhCiYzr+$Kkzs&3@3n%}glmVacWBUi*T@DiJVRqqqFTm_*ncSvR?HI3)2mUZ$COL6 zj^$1~pI9u#UoaQed7`9z7)<}=@NpBmU@6lE`7}*)2!sG0?k3hp*F?rDaj6-ycU+Oq zMJ%v0iOqA>-&4M^eEVV;8uBJ%bw@7@axY2nF&vT{X(o2rk`2`1SYT3kdj$ZAQQ;FZ zb2;9SdEc2Wkv8Mquz^>PNT``!KMu*zv3u`_NPklv!)Qv981>VHc1H{#hr}BpKykxD zraNv`#w7L9{h)-$^0*}N=f4bceQKD9`*BBlGc|Wkz$~Y}6h-?xB6NTv3K;m&nV~2)Sw|>4kqe}9HHEA1J+T-%)7~hGK zIfeEqKR=;U#xp;)muqYdsWvIz=*-&3`Q5di-tDalx)AGy6@FTlvk}QECh*fX>V`Nc z4lOD*!CAqfg=6cdu(O{FnPgdw1Yp?IZ=|PMW0y8Xy}^KrGQ_Dh*H=pzuo+cr$bnvy zYyOx%%_^v>5R`BNlb$)=?cIE%s#?`iD!ih$Kk#Q1<&?+J>o~Ob-eXL1YT5WmsAL=i z<)0ypI@^$LkP)le>6|5CAP(;`Kw=R|-WBEtv&HSzI5j)8iQAC%xHot;S~=y^(XcrTTG zqoH^*Y)kEecfaYP$`L+=?uvtiuRJS2jL4~gg}krjDfh)=+CNFGpN(&2Rj2O#R@E2a z-8$_|N{h%}xmAQ`fX>{stjbug>LZfcC9{_D@wrPiMixAdP7E&O*3>zL(jdZ3FFYZB|PJ$j&`aCb}|;SK6TW$u95s za=>Ek5$~*E!HJ_3$<_w+RmcFE1B~H1KtBVE+d!3%eSPctmy6w_h2Y^c>F?jW9P9!L z+EvxHR*K(W)f>i{0U(f#xly*ORU0sL#zy%9z%e+Co-OVJbB>YW)PpOkxlwic&rEkp zX9c0NgZB@bR^DwM2PF?*WDSj|>s>9bYA8eR{2r5$Zk*OjT^{dw;0<5d%4up|H1UzO zdonM>n56NRfZrUa=r354omMkR#Qo2LCiz^5}@jm-CHw5Z@Ye5IO-|-xVPwOS+Z* zs`bXe!jyh7M5a%uOZl9Ogarv;-aD~UO+35l-W7~b%|s|F=}PTNHhLmHik=1HC*CjL z^=8iFIDLYrb)=iGA5?)`%%|6E@$@T;0-JZ|IXPZfnMSxA3PA@6!e`B1B{7-isOx`w z8iCIa6^f!+!-34PH8P>w&mHFlOa(5wje@qBn|bZ1TP8VSJcbygewntBp$?lL5QmmEpSvf{q>aSA6#I6*xj>v;ae$P_;Sb_0)_@7<tmm&g-Dl<9i8ihB3Q@a?2kBs}<&?+~>*(hu4Q0JeKweI2&C7Q2}e>(hPz z`V<#Tqc7k_s7k7?2=?m%x273moc7*3-NyM_;yN4Xbo;>SWj#GD;9AnotHCOdVr?Zv z_Qj;|tgf*Y$~D|E=_qkL$^EP& zm`3g}f{Vp#I*;sZGR#L*8qpOJumjG<4 zBO)eLVX^VZhldVav#Gve`u2x0peXO<^zV&e@zFYH9d``fN@#Mul0*a*Wgt25;n@Bi zK6YXWNhC|rm-017egy{wLyJS}nsAN_iXLmbr{6W2kqHJbMl*gpq%?1*45DfvHzG!K z#culjYI!fdyKIUy`q*nfkVL)5dp!QZBS(HZ-kO01u0pavjHjR4-U0sc#l^inr8Vb&1{sD)TAMhw1kw)3soY{ zsbo2#ys`i|j>0iqQ{~VhlI)r`WUx5m8R{G24bH?JZ%6 zuqw^xerN(dUKNwzWLkQXGAufJw$Nux(_>RQl=TfYTAMtAi<zTk9PgdwV-4$`~#iKv0UGp=~(ygo#PIwMxS9r{!)B>*Fy z=erHDzUYrM6u#_MYV)FUZ>;U_wFJ0+;{mtMhW)vv`qIRrAf!loONYKCtZaHc0dkrB zCRl%Jx@lEh)$_TFIe??3e(*(c_hvu;+~u>E+qqg{RrtfHk<2%Dh%#o^zv6$abgsbg zK|kn=@p8h+jAm$Ka07U2&@ke;=YxmB_mzhZtT(sorN!n#dB+FuJM*g8-?*$QcnW#` zhn!Mqke8D`*MGBf^xhAs6?gK8`_IP|K#u?Qd;c%^bS>r3&v&-(d{S!Z(;9&-QZL1e z>p|uCt6?44sCm*W3Z83RiN+j#ea4`HrdPmTQr9abu3G`~HSc4af1G=nwreZ}(qskF zq^al(QG9syazk2n{cwq9K%5EQc~;ZiZu$xEY=XWzRAwxn`I2+_R`aU1rI#>w(g`DI z_l&K=*kd7{d*wHPG^n(q1Xd{g`M9d4_KfUV^woXWAy}g2Rj62S3-#xB2vRu{yDHb7 zc~6n5`s|0->K25mrEkVgduI&vZ}-jp6&ly1+Jv{G{o9=T;zT>EXO4cnAv#KMK(AFT z<^TQ-pII%ThkI5ITT;Az_#SRhYk~o{G_Z^-B%a%ktCWGmO5I~g z6rjzYCF5-o7ZzpOycql3sJHfoqdcOAZHfpbAyRBYhpRMAhAGFNg_A!E5;E_1t7A(} zTY2gTFfoH|R6RvH{eo!x+Aqce`5|e*(Y%UINYGK~aAN*e=atSqo4&Y{$Xw3?*3;S+ zk(|#T!5>0CjS@7Ml}6@YkEfu!AacZAthqPpO@qwx&lMo!8gnKpaOrPy$?8`{=&_HB zK(o;rf)%>aGCSryPHO7i3i^FecEzo#@rr}DD`)li-@%C=Zg<+0;R~I&H!|6R)0slH zo6UT2b9225-!4;4*~luragL4@hTz|Bj3q_&Q|i2{5pccB&ZYGf3iLZ{>n*|e)h#od z2L3Gb9DU>~!8yKWF?Ln&iysVVI0LR_F(y-I!ty1=gMe%7U4sjY-&_WNBGDcnDt=)_ zZ;7ipwzEPVlmhQxS99!a$@)&|UQZ0`lpPBoo-WjBnw>T7ZI$rTD+unjNAk*Q>-7!h z*);LPyj)BfL@&X3aI+OfzW}K?w9m4qhec6Kz}(=vCMtBWJ^-ng;BGg&5sE0aRZ)lM z)R_gqkNbK%(@W@iGQ;Iw1=pz&HusT2(jb!KMu?O+-Lx9o#J~JIwT6I;^!Uk=ork;K zVPd%l+keo*w-9A6JsK0nfawx%&pJ%gboF^mRdk71bx}KrGaf&Sm)(jR~mc{@JC=C zdj-r+bSzs(*}wlrnixUSQtAxXH&6ISV>@&3MtJyA_ZL-nzxCnXvR1{F&!3aEX)_Z? z+>!@>jGlj~tk+jmJC$+*#Y9f0JFHv8s4jOH<%7L!Pk2E3&Q#A^Za#P7p9(=)iLoRu zt&9=2)sBpYWyDQ-ww*)M2*4V2j$kq8fI$rJuc1p5^E+#qSrKR9%K} zX7f!a9xG>gVE`C;?Pt9QIqf^CVqhtoxa%4HqD1_+#K}WCaJ8;xz=K-4S9dK^F*ft@ z{{SMB9&=JnQl>%Nv_6f}=~&iwv$5puBACnJw6>x{NgddK zd&0$mpRz`6U`}ud0BmR(Mo+KPpiED#U2q$;^3i~j%R&fr6U0JjeA);D-x*QZTuUlv z20!q==`FO`-m+fyj%*ZhWrqoQ$e`^;zb3#vXGpdGiM@s4bC{f{FZgI6u&F=Kb1KU8 z!kmrx)D*uR)Jn1n=`bdC5Cjwm=`vZgG2gdUxd-i=%)c^*xK2H~0T$ZdQCsX7dB7(1 zG)o@4u&|DNvG7^9{{fCTp=|-HI@~-S(iE<_QBM`O_K|)ib8^$S>X;crReDODI0+$$-Gd5Prp3e{$XAABLB&{qU4o#(0n|?Xq&y1_$*4P zioEy!SA=v+STYOwV<1U2>Qsnl#>TRcyJ4z*xgyyC+_zG7IrtwVg=vJ3;~UqSb6Qop zwwAhcQzshQ>)(Tp+%C8~&*HM=w@frf9JR4ynhs%Exy90_=Dj8_k7gafuKcrei=4_R z)z7=BmkaQ12IDvR$_!FMghxb21b-MIwHe2aVsBqzH1epZOA>n(`1_D|!G?v55BKvf zTkpKm2W4Gl|IvVGJt}oW8*W3Nh(<;Js(&AnK#vurlwIErsTj!{O~jo0u)IG;n4!Jm zKA3YN$|M5}Yfl$M1p&!$g7@Jrr}+Nn9Wsj?gf@lGTV z{|f}VQ9AH;_&iqB^W}D#8J7FxqSBy9)!imWEglhzmz9mR`@*a)SXYH_x6`)1K-f%E zwMB_ndwks0^IF%=I^}CaW3j#anJMrzIWsk~d%gO}AS3!vD#u ztgdLp+8vr90SO4p0YVpilj3rvA_vO4toX>FqMZHx!ur}nn`XR%XaP-#7NzmRx?5pW zTBFwex^-gSoTBum?dZpY0H+tPGD^kDOocnu+wJ(-4~SklDG4!L(!x}oHjEi)#ZIy; zdaXIl*fNvsk<#NJp=$Tm;oB(QvVrF(`cr~Urc%2`-5go2#Z(4;xWj1>g4j0Se%S-8 zJYvodaliUnkJOO?wk9X;?D!M?NNtaXhVy5ezPtt~kOG*k7|o}qV|e{gnFyPnLj1o6 zJ@r9al+CD%Ni+NoQ1c*cO3F-;p3G3W08~7xR4Hn`vy-d?uFZs0S4qE4DM1au6mR*t zWVEDLp)M+of>}%O(y4S>99+e?86a!pkc$_?UF!=K6Diwd)Eb?St8SR%0f&t+0gKU0 z<3_(DG0ZJP`mXo#T7i@oJ&8Ph@M~~QGN&1_>DU>WBbbtXNAvVV(r=KjC9e(C@G2bZ zdk+-wja%#-#lx1ja2~?D7<$v{qYm+qPYgt{4Bw8eB>h0>G9U{jTmAFDz#Atjn9(fw z!T$ko?sa~S^?WZ~>(-KLn#<|foCKm_g{rvU@r!|R`WtGU5e)q%LStu^C0slyX=6km@&;j%JXO@XCWmwmMU zCMu%-+N2sDa<~_DQP<5ksln!SSF<5zh5tgrtFw>oH8zGm-}lp+ilghD(_vlNbtfu= z<;KmZ^L#Ke2FDTjQ_RkuvPEikyVCMWb)^6W)StLx`hsI0SKcyi7+0VXy*YC>xohwr z@TfWOZ1bQn2+cIaN?pcN2S^a4w9Pp?Lk#{&tzVuf zT)nG$@~WLA$ZXni?=g;l&^LMLz-*m!IJ->jj5R330N|MhK7X@kSRtq)zG%C7T^fdZ za^*M3tj|#8GlK4Fap_oc2(pUbzUY`x@E0<2|AOc`VV?ViVWQi<0i^zpdifS?&2Es; z{5RpDpa>U!gDtu{i4X*4IXXM;R>x=nh~H})U-y|jy2{%uiYb4sX;$V^j*FaGS_d~& zWcioefCC^KFTb2@daSOEA}SZ=_UkafduzK#=gT`=zBS1x0MQ<+m&L-x0EC7y!9&=yGN z#OCj(PkfT|+xmDHj?WuuU50s$4VE-z^3^`+_FQmK6$Aq^yUdtaZ^$&cuUBU!ajRev z_Sdx&Gfcks@bQe3-Q;gpQix`p@ ziPM@Fv992jEG>`bCAE$Hrd2Y=IR(_|@RJBSU?>(J+Qzgog_?RM zdX?hG66Gjp{n{pRcd0C7@%DHT%4SGPi61AaQ)co&E~>6!;TWBV(YA&thnWJuN5Bsl{^j-R4R7);@jA~yT4zS zxj`S|U|jBs%UbfhCrB(_^^&G))d}89>Zj|gX`i@L<@KMj6eAa>U*Imwf4@KCt9+}Y9smVYv z8N^fRPMg5?k&k_SQ=q;DWMtWOimL#3xQrZMlR>r%w(6DBvHU;OLht_U_xm{FRJ(NV zF6U!v6QA7>T#E1t=k`IX@vNLI3R8uD*mb#hN3q0oH9egv!}6q zBA|Vh`j<4`$rM=$rFc1L7Gv?uzbM7_l+FIt_$TTvo!ikYj>Y*va7m;bjkSJX-&{#a7z5247={l9?-@)!Plwrnh0V4h@2+x?(1*m;Wg0_23+ zAFiJR-Bc}oeI11TyjO>a>CuIwcZ@uY^`P-7G=Z^?rbzE4!xvZsP5e9e8{|EP?-(^x z(ElbRT*C=(-6qWef)aHXQpXMuaGu(lGHeRgjAml-XNKoh_KLsYL@sH;>6BC^(YRo( z-p_ee@0oS&Xe|QqXt0=fh3JCg!)7DkQO}PXphGW}a@TOdT~Dk+=ow|TUm?W(kpZcZMO37#f`}CKjXgPp*})iq{SH1`ryS0OG~7M6+eIMcD!u<+1zsur1yB_y#lH z7i3Zfym7V1V`~K^6F^uTf$?Kn8r|LvbI`kK=M^XCsiM3L%(l>tBG%WYMD;-k`K(?> zMEPzs1H|F>OgJ~7;Kd!)nL?T2^x?|e{on?5ER(C}uVYyq_&< z3{rs_83x)lgA%ij>HA)4&(=SS-PLwxxuz-@94xwxl+QP1o<0YJK~fzdL^ZE zCrmk39y*oC=+@~&d#i7z=3~|N?@tJa(V1HVB?(4%v*%t*5?GwvTadgVu$o4-pZyV1 z8#`9qvoT6PhCemx10kcT8BF~>D+kG4yw6?g*l8S5{ z*)hrMJ*f6k^S6_{y?di0O!QJlpK#Ku2I3Yac#W|~S0u9+=5?+G{wLD7ZI+2>CdUC4 zQ7t|9s}lT33wtx5S2HZ={O;LI?}4ovYAX#|Wq$+cb~ED1zzXh?N&f}%&X*zNY0kn^ z*gP^QbKC$fwkaIOrRxmctGlS811R{Q+c=v&X39TLd?>;wMK?oykk_bRURi9yiADx+ zOMQP?n>B>|!3%E{Fp#LhB@oNm^>~?Flm4aFR39;rjb0HVg*12@p7pzEe3Ww=>0m>)Oc;uFae$?95#);bV-_t2>*^R!md(`N-L(RYvW*4S(m-FpIYULjmS`zge=L>how`xyo%` zq{emUy1aJW8@~8A8;x}RM)~{-wOJ8#(mEdI=?xB#+rB!>|41#*eB%H2I01yIpy(>g zgNAkoDrkw0D2|`Y6KOHVy|r>Hrns^H!M$s@}y#1VE+Bzb;Wl??hGvH}tk!3Uck~ zUu2$}FuLR}k~kvulbj7V8d@2>vfp8>??QuOESX4;-xEnHY7U$TiL{lZrFAt63Jv`t zb?wwJM3~=SPFIjCTw}S07U-Gr^4aVV1-YkR{D%tfEc_1@UNz=4yX=Q7Qb0=j4sNE8 zt(;_p0jLh^7pYHsRd`S2DII#fmyVHrX8mz&^w9N&9fyOB$Co^rUOF#NEMrV8wfQdoDholue!8lb4ACQH_t$WGy+-R(C&4A&zVC6l za%`1#D4tHw1|wNq@&`nDXmmU zG{ySP=MnH9pVlBbVA?&oJvsMv<<_-TkUi>oPIGdBGGqr76cbu}=>mveHc=t;A=UB& zrX$N2Sj3H+w~VdP3YcbQ8gWC%a!GS0pZ3hp-a@B$z>-Dgu-L`BzDK&+ZDwdE&VEUU zs5G~0-o*lau0>#0n|) zI_B5NEx)IUnr(kNO1*R8dZi)R9RP&MnHylwbRK_&HjUqwi$fgYC}q()Z{EV6xoDo? zOou0Ba?m6R@jEQ&omHOoKen_k4Qw7hg|~_?lKs1uri`R?dHXA{oSYs1g?U;l>A(8r zVGZ4&z9y^~3j-|lP?bY0 zn{eamROr$2>+cq|WR*yleU_xZ&T<=5>Lg>gEOd11Ux^-yl!uoFo@|`>&%N{PK(zof~Zyl9P+pO*uy_xBEGg((O z+{e8+&}W;fde{1|Rw6Ml;Zc!<#KNC%UEh>^DQf?`3Kw}qPI^^37!;tS@iJ44G=bv4 znieGnk}`8*jfH9qZ+1qSa*Gf-xAwmvL`~%Dn&sLAUA*$iGa98##%UVoNUr3qT~*WM zoo4y2+~kw3xnoH&(T`CmRh{{oAk@gV0k+7*x~1V=>p6~}4sUuL#ib!GZ`I~ju)9`C z(i~iaxBS?&EJr~^A60e65}1fxC}JBDpc_*grDL7;c_T~og&o)T9F6Uy|WiD7EW{5vR_iRI{k z1)Yk<^riYIxj|(k-@N>|{a>V4bHo_1#B7tJBYQB>r7tCH(DuLR`RcMO1BBk_5ELc= z@-DY)fwG>F5WG#i2lgFGYDOw4PJ^6ao`u>_={^;PqI1?xlf~TGMP-g2!Sp8RU`9Qs znwE*_NAqf17)^-;gP%O38LAF^t0_~l4l^siYKCos^gH>kVE%Mm&Y(S8!{u}}Jy2A? zJMpa|x76EL%bD!gdELzz*^j@cPGMfFg9=|OuWkB3wS3jjOnN6>GBZR)&(>()iA9?A zqelxyM&dU1HwsR-dN%fr>5Fj356CSl{}B93KdxEU;wL z4C_x#OZjx^fLQg)kpWS=yWckTYJD-O`rirQm{sKe5Wsf9tkCcQ)0ediop|1Vw(W&k zmqNMC{vHH500bk`(u|AsCldcoI$vQpxv(mIi;soV+oco%X<;!2)qwD59JT6tPh@Xe zeoL4%q}sMb%}?YyjclH!cX1P+`xOnfVOXBkBvYEZSg@X3#A7`y4~{RVe9kf0rdQ9j z$h~^;iJ)joq>K<+@VM$HOef6{w^7FHC%Sp?AaQzaKh=f=Ts_qB?|-+9!slvR#|JPcA-8OlzTTvOU-@twIbb(F zV2GsW5zhYEzLXU3T+oj1ds9Z~|HJW5Fp;;~hkR`6!@`vV0O^lbB`e_F3w}_@bwM+7 zdG_cW93>M(CrmECKmCASfyzeElgrNnUSRh%zjaWO%gi!g@y7+f=l>k)i)Q;xIMuP; z{c}pTi)Qt&$A2`rIg%zD;asx*h%|RaR_V)@Oek}QD~+rWVBvV0L()E42K{+#V0WMU z#Q*)@k2U^&Uw6s$psp@%r2i~~T9!i{CjLC1SE?B@92`6R8%qVPO1JlMV%>IqOmZma znB4>bHC^T;ayW(npQimg-N{M9w6a-zrD>85MK_tcce}{hMu`@3&==&L=}pn#Y1sDj z^MADw{pr#_YBlhGRjakGAs~}T^#7?=6BVzrkKvBnz+&cEmDv(RADM<|x5(Ao-S)=` z;LcdWNT%X{wr4G4zfLSA&tIdU-GUNjjLQody|>go$C@$(SD*8?NK5q1|0xNV8Wa-yZP1LroFyVq^^EPqv`OLxB~pmL?X~Xh%fe~ElFPNk ze1DB|MINp4uqOTXGcC&}UILA0>MEXPCRTb43eA~kDhxwLae@QYqVH8)9`)&IIGyDp z9F+8WYh$?c#D-@ZzV#)cJ1Z=o3!&Yp8JDjfxbE{!G(Tzfi@`A@jUCyXZGFD{S-!l| z?zu%v`D1Y2vwo%g&>ilux(x0b?TPnD`pu#BezzLcu}53j)uQBOGyS3HPQYO0q}A15 zM@^UYxQCIJT3?EF^X&=WWu7~}CLhXBH#1DuX|DFFy)kNNI?^i{RD)s3s$=+){#5sy zW7J)DnW*8%)4Gu zcKmJ;SFxh`m#fGpEh1qr)mY+u-J2TsDgU0T=WfW+F zS~70^U~=i;pXs%-^$0S2(pu2I{{`mh>CRcSq=t6X(5M3`(a z^MVUHeN4=A3>H+JB=f<&mR`P!s$UMAE$f!oP*u@d`yHxw1qd{67(`HSSoj2dcqDyp zZQtXkP4*MnK&D8^J-!8ipQlw zd4UPjx|4L#s1c{_9R_uYjk^-}vP#fHXM`8&MmBK?CwdL{$O0 zEB2)(8UXp1<9&NGRsEZMfyD7+c3J)6&*eK3AwznGdAvO0G6M!0qadWpk>+ngWY=AC zF1l&k(f*)6x&C#&^^%Ekk+fEV%FR~(#e8bT^5!4v6oym|hztXhKtt|=c!cH9_sHGr z^OI{8cG{2vc7KiZEsdj$Ti6!zQEG(vQE-Nn`y%^Kca0eSwQ~|`a`&KBqxWlQU{=YI z?d?<*z zy~Ab@+b_aPu}{a6V6me%Yx?xvQ^wm1^h~ zBb}Dz@S_%=9#*%MO3+T|TrW|x zEl|NEKR^8tc6GshlrcA8vF2C&0NJ*!%W_cvEVKTx8{d}uC#&zikjqgxtfu?7!LI(m zKf!MNKf!Kou>T*+h*T*7FZy|k=xvETMIC=;N#b}w=6wtHi#@8GTx?(62u#IxGDoq^E9WpfN+REHO^^Znd{I&3DiKakZ#iV#S|r)}k3^ z4*RFCbGQPY@RnZ4+EFX}R8_3;gYEC(YqMd%k|(r#5$E&3{eOkPJqE26=l+gX?sHyE zif2jLE{@E+#g$z2IXT(R#TGeoPrpa7Qx^^$E{SXmu42fFH}K3u4#e*l{W1|D*8B8b zyp{KJKvM?hh!-hzwcE2?B^$Ch^|c1qZ52N=%xe9Ib#-MLB_QS z?Cv=f+~2N>-~T+p~E%E8z;XAgK4Re@(dV(AQ-S#s|-+ zid=GgE;Vxh{Lj#HmQ&J~*|>QzvHg=_rvL2=i`2z**y!G@^qA)SBZ|L6yjbdiiq{_X zZ3+KhGv^uA)Y|27EP#TDfZz*AFDi&g2Z00-P5W@7h{fc_X?a-PUX=0W*}nr;^bePOKPkvP6>71m?rT_qT-0>i$y^1|MmCDTZ#R zVanM}i>#!(QS#QT|FZVk)UX2(=+EUB37PRNZ9O5^K}{CnC@L!Z6=p5lq09-rXcl8c zpH!x%Q5#L_M$nbLCfebp1V^on(>Z?5_9A6}#nqCr-?++XArKfPJA^&oJ^TWlM@G^K z6jy+W6P{vwCOWPx*K}6PcVA$E1}U~cm-(F^QwTafHT~YyL=R`;T)ad!i?e zN5u-48LDpSzZNT+t;`{`72hl+GW6AyV8-px{kKHXSF729a)p3<4WR^}j22s~Sd080 z^J|O8x=<)DSzwcsyY1&f@ruu@$*$G1o7SG0M0|Og2^f&1n;|N zv6gCUQ@K#NYRLI=3R9FzO+PV?OZq0u;*Rn(U^NJeUF)!Zq)Pr`rtn*eS$#C=aSq0# zcZsW7ZQJm4_6?Yp6qk`h?_#kEo!MpD2!?Pw|5!~UZe4vyF@?P)QnRH(=urx2`9f+R zeV0?5mLYh4l}Gu8>k4@W0^wRpN43Ue4De6!3eJ1-@! zyOZTBzD;Y-ybZ}yMsGdz_ZWW738qScm)*=gjx86u|5K(q9XGW_wsX^%P)<=B3-$a3 z2Im$!8PmrVMOx`wEYuIF&~$e#6B*u_%W*&MG)+T8iVC&#b|qgfp zl+0N()bG2ivk%r4%a!X;PKMa@U*Xw_0XoFGl`Dki8xyHdS=PDroiO7%HhZey8(^XY zkD@7OSL>V*c6LLzNTY-b;BEdrrpd4+H(o^aqd*It{C;!RjBgy|56h$>c^`B;Wx835 zH}w0L=AqLF!H$LHDSa~`XW56xd^_BlmC0{z+G}zBF6(0>%Y=3jB^}4G)IC2EUb|9 zHHiYowdRyknqj)81fq!m@`^lH8qYXIP8CM!4_U0*Q>ovE1w%!>-W!@TR8w^5PRv5h z@8oWgD83gsNg5ZGJ)A1W#5@2fjNsB#koXgb=c2VIS#aW%3KCZuL>{%2zZ>} zY(Tx#t`k?=cHeIaEsH-oA8O7q7q3g{1ZXRRFbtTDe3!dmS{s*O;}ykcEL~@=%JYba z%sLqJnck_Yd%Ml>saS4noQLU!*ym9LqOzO59HXF;erDDKI*wpJ*bpV`b87;`C+9&d z9ce^nBRykxCf+Ao8px}N*STiK@ArDc%>morys!TzZK=PLw!uRu`h-&QguYmsHLKje zlD6XGBxC3aX{RKeN1gi(+KuMC1%T3L0zaK@@ESmR=)0&hv>av07T!b8*oe_TtJkH^|Ds<1iMAC{y{fsW-Xq+G z2saE-dR+ow`wYT^aM+;DfG(Re0=zqG#jX_oLW(4j0m zS`5%~swFu#Hr^q>1z5Pc)<@>6)oc(=0;ps2h zw&>)R7#_)=EGUm;?{7Y(kyO3AKo50#szdrCW$F8SCOmWe1|cXjmKcQLEhQocUimM{ zoOUce6sl5vV>=BAcfV)e)2*LL^b^q?cT46RLavcPV4KL#nqDD4#ow&gW%#_z%4( zC^a;St1{i1bMVY&Qd3GUo0$3k!|DVMHm~_((K+$v-sN}H&;87N2sMg;GG|r(#quQi zbLYz|ckell2SkPUcz~)yU(#mLA}h=B)9c?}=LrgtUBCTXl>KLs`SIUG=A@#35}B7t zALTC_RM2x@#MU&~ss%x`EP1GN2%mvVE>R|=$lS%dy(ux?9Bii?dGhhhFPwJ5!;zBr zt2@Jb=3i6FHNwH4CA$V`S;C5YsFF)*3$zFWW*j2Jd%dIKsrzbEbx~9W_z~YjO?x@K zanL)uxQA(_fFd^zatlixGnnSJHn!98V#PFomg&(z7%=k-?bHy0!pfn7YuC~mf1oB zJlOCwS!kfpbKC&KS=eO?P3wSg#+2H=(bc8YjjBlf!b*O(a||pQ+C?rGMaO303{)?7 zOjUwj8Q%M-8J;oqqTU%bG4LkdFm@BD=bqjVjT-!fx-9nx<)dD#aH;W(oALR@RuQw# zH?sq0pGpp z8sboX#w+%;B@bVf-TANjZIW^zuuBw0c%A@P9o@<@)rZUOAy``?`Erea0Bds`3H4|^ zp~>SCdBbbE-Vum?lsd{QGA#5aiB?>Pwk^|ENC=rVFsG=UyE73kmaco>e?h^}@7&sLMf zEECb15}JE%v;2jxLd7DD4Pw{PF>NX~JrCp)(uHT!SRF8r}>A%at~ zoEQ+a`NO$|ByUE%74N!Op5@d{R}jQX`;sT2ER1Dm(NIv_Q*$?NvdkwqteBo$*ale+ z$MdT4>9VDd#*f%o?#c|%F22oF#HewyRq}ZEE!K{@ATvG+Zj`GpSCO1|vQIz9)Nr9# z84W%s6*1WfE6Aa4_yi|TlR9xj$)`}gqlumgY=-=CCS2cwJFVSouhFh}=Ib~8kC6&W z=6VrUZa7)|W9usO?F+Fc2}AlA;`p4z$BlOLmC9*4E`okw<&tJnz6Tib$BP#)!purO z7NiAyR(z?yczZQPXY&DWe>tu39#d-el_z%0t8uy2UeY8igLBQ$S;a)UY0f4gM@fIg z=K`a(B>HmM&E&Yc7-5A+xe8v$91FuO9%X)!%u3qtHo?@2^BS;m4ao#Jwm7(i!Gw&| z^+B``1~$E8y#Jt5y|;Y>)6%cX5>(m?(&e+qd;7V51(~R2segS>)z11dKWHPwt z`!?K?7w=0-yW@x0OmqRxEjjDx+`NT9j4Q|%C>d>EcD9sw!0;lH0o4qbnD{GiNbgE z8#XYTKk0np(IoAkQGRMQt>?CTdF{xDPgcxTmtcEx!3YF04w`!2UjjQ0nw#<;4^CM` z&@vVMaKHWKEl0?JpGtR?@`I;PI~}oV!Bl$v;V#}{4<2;(cpd$SXPB#}#md9-_8&G+ zz#mQ9P$jqgyP70L%N4pUB6k*MvF^svHW;d&PfN3#ea-h>Qd3}HXKv)UDEQz(9zWQ> z5cu&J9*D$%byc|e*Y6>cQt$6@ZEQ3!mM&yDR1+63`PLp-DJ&&~50ejDCNT8q6!A0g zej=D|z-{XAhO#y_8#S4%g&V)8C}4vpiq@xd+gMq$_tT*tX|~ zL|5d?PNwp_vPo^e1`ly}KS}WeH}*L(zp?{%YN2*-nWYTV*|!+rn}1j5(Gg{a#L#XB zpqD%);;iQ8>T+8uw_l#NoWvjQkqxoNm@lXcY`#%4O9~gee0}^6LUxA)GO>X*h2D=} zg0XXw&st9I$yZ`mjkr|IQ7*VNLxn+3WL3(klkkq z!5Z%c$jAKjoPY3hA}$M_@hp*OK$FTW1(`XR$JBbZO!oGqY|wIEO|;LS_Y=n)nK&P< zzP^Qp-7YU36}+1S|L#i{0Hb_Hbz?S^_K5V*?&`GW%`|0|&;QGaS%^`GuXu zJgrDo*nXR74SLLQa*%$E2z?=V$F06w-c`El?6Rtn8F?@t-L>6azSyg;joQ3t=8KF! zH}nr(yI@o?IObnpw~v|FtI5TF9Ws7X&rInX{ZgC*r{eKdHh-0M>BFaP(@VDQ9HZF? z&`tm$^Qq$)z)9P@E3mzYJHE;LHm5?PJG}`!95L+EkrNXiOY8+J+zj)PuzinH=a^Sd zz0$r-m-hj8V7c37I=no;t>lhJ*4G8zc$O1Sa}RTuGzt&&4^YK;?R}$uv+nhkxx%5w z0CAqUGmp>JdW#87SUWOoCs^f8)YzDw4t8}vSVZdvmFD)eq+i;xKhI3$NluVI&A~o0 ziR^My-`NSAxVSBkzn|rOO>^RM-u`p#R=Ip)t;yo*$>DukUt@E{@EyblKbBYQG2P@z>*YGY4(onR%otHCl~zzV>>vYv z;P4?F4h)D@Pm0H--{T)6Cr5C0@kBtauPSXnA>R~w+2k%etVbRQ>|;N zc6k*cD(ZvVyjNu_0NPP z!PL^d|9AF@;Cu