Image
16.6.2016 0 Comments

WWW hacking a obrana / 11. časť

Tá­to v po­ra­dí už 11. a zá­ro­veň zá­ve­reč­ná časť se­riá­lu bu­de po­jed­ná­vať o za­ují­ma­vých, po­mer­ne má­lo zná­mych, ale o to ne­bez­peč­nej­ších úto­koch CSRF (Cross Si­te Request For­ge­ry). V dru­hej čas­ti člán­ku si pre­čí­ta­te aj krát­ky po­hľad na mi­nu­losť a prí­tom­nosť inter­ne­to­vé­ho hac­kin­gu.

Cross Si­te Request For­ge­ry – CSRF
Me­tó­da úto­ku CSRF (ozna­čo­va­ná aj XSRF) je sí­ce me­nej zná­ma pre šir­ší ok­ruh webo­vých vý­vo­já­rov, za­to však veľ­mi ne­bez­peč­ná. Útoč­ní­ci tú­to tec­hni­ku do­ko­na­le ov­lá­da­jú a do­ká­žu z nej vy­ťa­žiť ob­rov­ské vý­sled­ky. V po­dsta­te útok spo­čí­va v rov­na­kom prin­cí­pe ako väč­ši­na iných úto­kov. Ide o to, aby sa ús­peš­ne vy­ko­nal kód po­dvr­hnu­tý útoč­ní­kom. Pek­ný prík­lad, kto­rý sa čas­to ob­ja­vu­je, je ukáž­ka zma­ni­pu­lo­va­nia vý­sled­kov an­ke­ty.

Pred­stav­te si, že útoč­ník si dá za cieľ zma­ni­pu­lo­vať vý­sled­ky webo­vej an­ke­ty vo svoj pros­pech. Po­ved­zme, že an­ke­ta sa nac­hád­za na server­i http://www.ne­ja­ka-do­me­na.com a skript na hla­so­va­nie po­uží­va me­tó­du pre­no­su in­for­má­cií GET. Kon­krét­na ad­re­sa a pa­ra­me­ter pre­men­nej za­hla­su­jem_za sa rov­ná 3. Ce­lá ad­re­sa, kto­rú tre­ba v preh­lia­da­či za­dať, aby sa pri­dal po­ža­do­va­ný hlas do an­ke­ty, je http://www.ne­ja­ka-do­me­na.com/hla­suj­te.php?za­hla­su­jem_za=3.

Ten­to od­kaz sta­čí umies­tniť na ne­ja­ký čet, dis­kus­né fó­rum či roz­pos­lať e-mai­lom nie­koľ­kým stov­kám ale­bo ti­síc­kam ľu­dí. Niek­to­rí z nich nás­led­ne na od­kaz klik­nú a ne­ve­dom­ky za­hla­su­jú v an­ke­te. Čím lep­šie vy­uži­je útoč­ník svo­je schop­nos­ti z ob­las­ti so­ciál­ne­ho in­ži­nier­stva, tým viac po­uží­va­te­ľov sa mu po­da­rí na­lá­kať, aby na od­kaz klik­li. Ten­to spô­sob má však pre útoč­ní­ka tú chy­bu, že po­uží­va­teľ vi­dí URL ad­re­su, na kto­rú klik­ne. Útoč­ník si pre­to na ne­ja­kom free­hos­tin­gu vy­tvo­rí vlas­tnú do­mé­nu, na kto­rú umies­tni jed­no­duc­hú strán­ku, ako je na vý­pi­se č.1.

Vý­pis č.1:

<HTML>
<HEAD> <TIT­LE>Ukáž­ka úto­ku CSRF - Cross Si­te Request For­ge­ry</TIT­LE> </HEAD>
<BO­DY>
<IMG SRC = "http://www.ne­ja­ka-do­me­na.com/hla­suj­te.php?za­hla­su­jem_za=3">
</BO­DY>
</HTML>

Nás­led­ne na ne­ja­ké dis­kus­né fó­ra umies­tni od­kaz na svo­ju do­mé­nu. Zvy­čaj­ne klik­nu­tie na od­kaz sľu­bu­je ne­ja­ký lá­ka­vý ob­sah na stiah­nu­tie (mp3, fil­my či iný warez). Po klik­nu­tí na od­kaz sa však po­uží­va­teľ dos­ta­ne na do­mé­nu útoč­ní­ka a nás­led­ne dôj­de k po­ku­su o stiah­nu­tie ob­ráz­ka z ad­re­sy http://www.ne­ja­ka-do­me­na.com/hla­suj­te.php?za­hla­su­jem_za=3, kde sa však žiad­ny ob­rá­zok ne­nac­hád­za. Na­mies­to to­ho na­ko­niec dôj­de k ne­ve­do­mé­mu za­hla­so­va­niu v an­ke­te, kto­ré väč­ši­nou ús­peš­ne pre­beh­ne. V prí­pa­de, že sa útoč­ník roz­hod­ne svo­ju čin­nosť (zma­ni­pu­lo­va­nie vý­sled­kov an­ke­ty) uta­jiť, mô­že ne­ve­do­mé­ho účas­tní­ka an­ke­ty pres­me­ro­vať späť.
Úto­ky CSRF však ne­do­ká­žu len ma­ni­pu­lo­vať vý­sled­ky webo­vých an­kiet. Ove­ľa ne­bez­peč­nej­šie úto­ky sú nap­rík­lad na­mie­re­né pro­ti e-mai­lo­vým, e-sho­po­vým či iným úč­tom webo­vých ap­li­ká­cií. Tie­to úto­ky sú sí­ce o nie­čo zlo­ži­tej­šie, ale ich príp­ra­va za­be­rie väč­ši­nou len pár mi­nút. Útok je zlo­ži­tej­ší väč­ši­nou len o to, že je po­treb­né po­ra­diť si s me­tó­dou PO­ST na­mies­to GET, kto­rá ob­sa­hu­je hod­no­ty pa­ra­met­rov v URL ad­re­se.

Ob­ra­na pro­ti úto­kom CSRF

  • kon­tro­lo­vať IP ad­re­sy
  • hla­vič­ky Re­fe­rer
  • po­uží­vať me­tó­du PO­ST na­mies­to GET
  • CAP­TCHA

Oc­hra­na pro­ti úto­kom CSRF nie je jed­no­duc­há. Kon­tro­la IP ad­re­sy, Re­fe­re­ra a po­uží­va­nie me­tó­dy PO­ST na­mies­to GET nie je vždy dos­ta­toč­né. V po­dsta­te ide len o pri­ťa­že­nie pre útoč­ní­ka. Čas­to tre­ba skon­čiť pri oc­hra­ne ob­ráz­kom CAP­TCHA, a to aj nap­riek to­mu, že je to dosť ne­po­hodl­né.
Kon­tro­lo­vať hla­vič­ku Re­fe­rer sa op­la­tí prá­ve pri an­ke­tách. Ak to­tiž prí­de nie­koľ­ko sto­viek hla­sov z jed­nej do­mé­ny, kto­rá s an­ke­tou ne­má nič spo­loč­né, je jas­né, že ide o útok CSRF.

Mno­hí po­uží­va­te­lia a do­kon­ca aj niek­to­rí vý­vo­já­ri webo­vých ap­li­ká­cií ne­ve­dia, pre­čo pri zme­ne hes­la úč­tu tre­ba za­dať aj sta­ré hes­lo? Je to oc­hra­na prá­ve aj pro­ti úto­kom CSRF. Po­mo­cou CSRF úto­kov by bez tej­to oc­hra­ny bo­lo to­tiž jed­no­duc­hé zme­niť hes­lo úč­tu webo­vej ap­li­ká­cie ne­ja­ké­ho po­uží­va­te­ľa. Tá­to oc­hra­na však brá­ni aj ur­či­tým iným dru­hom úto­kov, ako sú nap­rík­lad úto­ky XSS.

Mi­nu­losť a sú­čas­nosť na po­li inter­ne­to­vé­ho hac­kin­gu
Ako ste v na­šom se­riá­li ve­no­va­nom bez­peč­nos­ti webo­vých ap­li­ká­cií moh­li vi­dieť, útoč­ní­ci ma­jú množ­stvo ty­pov úto­kov. Inter­net, ako aj je­ho webo­vá časť - WWW strán­ky/ap­li­ká­cie - sa od svoj­ho vzni­ku a sprís­tup­ne­nia ši­ro­kej ve­rej­nos­ti po­dstat­ne zme­ni­li. A me­nia sa na­ďa­lej. Dá sa po­ve­dať, že kaž­dým dňom sa webo­vé strán­ky stá­va­jú viac dy­na­mic­kej­ší­mi a inter­ak­tív­nej­ší­mi. Na scé­nu sa po­ma­ly, ale is­to dos­tá­va Web 2.0. Kom­fort, kto­rý pri­ná­ša, je ne­poc­hyb­ne veľ­mi za­ují­ma­vý a po­hodl­ný. Ale to si pý­ta svo­ju daň v po­do­be bez­peč­nos­ti týc­hto ap­li­ká­cií. Tu pla­tí pria­ma úmer­nosť – čím väč­šia a dy­na­mic­ký­mi pr­vka­mi prep­le­te­nej­šia webo­vá ap­li­ká­cia, tým ťaž­šie je za­bez­pe­čiť ju.

Dnes exis­tu­je množ­stvo ap­li­ká­cií, kto­ré auto­ma­tic­ky spus­tia tes­to­va­nie webo­vých ap­li­ká­cií. Tie vy­ko­ná­va­jú per­fek­tnú prá­cu, kto­rú by člo­vek ro­bil veľ­mi dl­ho. No ne­nah­ra­dia skú­se­nos­ti a mys­le­nie pro­fe­sio­nál­ne­ho tes­te­ra, kto­rý si do­ká­že vší­mať aj to naj­me­nej po­doz­ri­vé sprá­va­nie sa kó­du a vy­hod­no­co­vať ho. Prá­ca auto­ma­ti­zo­va­ných nás­tro­jov a pro­fe­sio­nál­ne­ho bez­peč­nos­tné­ho tes­te­ra sa vhod­ne dopĺňa.

Po­stu­pom ča­su sa ta­kis­to vy­vi­nu­lo veľ­ké množ­stvo no­vých spô­so­bov úto­kov (XSS, CSRF, SQL In­jec­tion, RFI atď.). Pred 10 rok­mi, keď web ani zďa­le­ka ne­bol ta­ký dy­na­mic­ký (fó­ra, če­ty...), útoč­ní­ci po­zme­ňo­va­li strán­ky tak, že na­bú­ra­li ce­lý server. Dnes to tak ani zďa­le­ka nie je. Te­raz sta­čí vy­užiť di­eru ty­pu SQL In­jec­tion, RFI, XSS či CSRF a strán­ky hac­ko­vať jed­no­duc­ho cez webo­vý preh­lia­dač.

Zme­ni­li sa ta­kis­to cie­le útoč­ní­kov. Kým v mi­nu­los­ti bo­li hlav­ným cie­ľom väč­ši­ny hac­ke­rov po­li­tic­ké pro­tes­ty či boj za ne­ja­ké prá­va, dnes k nim pri­bud­la znač­ná časť zis­kuch­ti­vých ky­berzlo­čin­cov.

Kom­plexnosť ope­rač­ných sys­té­mov a sof­tvé­ru nain­šta­lo­va­né­ho na nich spô­so­bi­la aj to, že nie vždy sa ur­či­tá bez­peč­nos­tná chy­ba dá pl­ne vy­užiť v pros­pech útoč­ní­ka, kto­rý sa po­kú­ša ov­lád­nuť server. Čas­to sa stá­va, že ur­či­té bez­peč­nos­tné di­ery BO (Buf­fer Overflow) mož­no ús­peš­ne exploi­to­vať len na kaž­dý pia­ty či de­sia­ty po­kus, v os­tat­ných prí­pa­doch spô­so­bia pád sof­tvé­ru, a te­da aj útok od­miet­nu­tia služ­by - DoS (De­nial Of Servic­e). Za tie ro­ky sa však nez­me­nil fakt, že po­čet zve­rej­ne­ných bez­peč­nos­tných di­er je ove­ľa men­ší než po­čet ob­ja­ve­ných. Je to z jed­no­duc­hé­ho dô­vo­du. Väč­ši­na útoč­ní­kov, kto­rí ob­ja­via bez­peč­nos­tnú di­eru v ne­ja­kej ap­li­ká­cii, ne­má dô­vod zve­rej­niť ju. Na­mies­to to­ho si na­pí­šu exploit, po­mo­cou kto­ré­ho na na­bú­ra­va­jú do sys­té­mov aj nie­koľ­ko ro­kov, kým na chy­bu nep­rí­de niek­to iný (a vý­rob­ca ne­vy­dá zá­pla­tu), prí­pad­ne ju neodstrá­ni kom­plet­ne zme­ne­ný kód v ne­ja­kej no­vej ver­zii da­né­ho sof­tvé­ru.

Pri tes­to­va­ní vlas­tných webo­vých ap­li­ká­cií a ďal­šom štu­do­va­ní prob­le­ma­ti­ky ne­za­bud­ni­te na vy­ni­ka­jú­cu prí­ruč­ku OWASP Tes­ting gui­de, kto­rá je už vo svo­jej tre­tej ver­zii. V nej náj­de­te množ­stvo za­ují­ma­vých a pro­fe­sio­nál­ne spra­co­va­ných in­for­má­cií o bez­peč­nos­ti webu.

Autor: Ján Chovanec

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Ako na to

CES 2017: Lenovo predstavilo nové notebooky ThinkPad X1, Miix 720 a prvý smartfón s podporou Tango - Lenovo Phab 2

03.01.2017 00:09

Lenovo odštartovala ďalší ročník veľtrhu s celou škálou nových produktov. Nová generácia produktov radu ThinkPad X1 Carbon 2017 je najľahším 14-palcovým biznis notebookom, ktorý váži len 1,14kg a obsa ...

Ako na to

Tipy a triky: Ako správne poskytovať IT pomoc a ako o ňu správne žiadať?

14.12.2016 09:40

Či už ste pokročilý používateľ počítača, ktorý často poskytuje IT pomoc známym a rodine, alebo ste to vy, kto o takúto pomoc zvyčajne žiada, ľahko sa stanete nechcenou príčinou frustrácie a obrovskej ...

Ako na to

Tipy a triky: Ako diagnostikovať a opravovať neúspešné upgrady Windows 10

14.12.2016 09:37

Microsoft prešiel s Windows 10 do celkom novej éry vývoja. Namiesto samostatných verzií Windows, vydávaných zvyčajne s odstupom dvoch až piatich rokov (XP, Vista, 7 a podobne), začal svoj systém vyvíj ...

Žiadne komentáre

Vyhľadávanie

Kyocer TASK

Najnovšie videá