Facebook clickjackings, jeb kā savākt tūkstošiem lapas sekotāju

Profesionālas intereses vadīts nolēmu papētīt Facebook lapu topu Latvijas auditorijai. Šim nolūkam devos uz Socialbakers mājaslapu un atlasīju lapas pēc konkrētā reģiona (http://www.socialbakers.com/statistics/facebook/pages/local/latvia/)

TOP 10 lapas:

Uzmanību piesaistīja fakts, ka pusi topa aizņem joku lapas. Jā, kaķu GIFi un ēdiena bildes patīk cilvēkiem, tas ir fakts. Bet vai tiešām viss ir tik vienkārši? Vai tiešām šis veiksmes stāsts ir skaidrojams tikai ar viegli uztverami izklaidējoša satura piedāvāšanu patērētājiem?

Nolēmu papētīt sīkāk…


Izklaides lapām ļoti izplatīts modelis ir strādāt vienlaicīgi uz vairākiem sociālajiem kontiem. Viens un tas pats saturs tiek likts gan draugiem.lv, gan facebook.com. Un, kas ir svarīgi, šīm lapām ir ne tikai sociālie konti, bet arī sava mājaslapa, kur sākotnēji tiek likts oriģinālais saturs. Facebook lapā vienkārši tiek likti linki uz šo mājaslapu.

Kad es kā lietotājs ieeju sociālajā tīklā, redzu, ka kāds no maniem draugiem ir nošērojis kādu joku, piemēram, video. Kad es to mēģinu atvērt, es aizeju prom no Facebook, un man atveras mājaslapa, kur redzu video. Lai to noskatītos, man jānospiež uz Play pogas.

Un šeit sākas interesantā daļa.


Domāju, ka esat pamanījuši Facebook piedāvāto iespēju, kas ļauj savās mājaslapās ievietot Like pogas, kuras nospiežot, lietotājs pauž savu patiku kādai no lapām.

Piemēram, ja man ir ziņu portāls, kuram ir arī sociālais konts Facebookā, tad es savā ziņu portālā varu ielikt Like pogu ar pavadošo tekstu — “Hei, mums ir arī sociālais konts Facebookā, spied Like un sāc sekot!”. Absolūti normāla iespēja.

Jā, Facebookā Like pogas nospiešana automātiski nozīmē arī to, ka tu pievienojies šīs lapas sekotājiem un turpmāk savā ziņu plūsmā redzēsi šīs lapas ierakstus. Tieši tik vienkārši — viens klikšķis un tu seko lapai.

Vai mēs varam cilvēkus piespiest, lai viņi klikšķina uz šīs pogas? Diez vai. Tā ir brīvprātīga izvēle. Ja man patīk, tad spiedīšu, ne nepatīk — nespiedīšu.

Bet, ja nu mēs šo pogu paslēptu? Ja nu lietotājs klikšķina uz kāda mājaslapas elementa — bildes, video vai linka, bet patiesībā viņš nospiež uz Like pogas? Vai tā var?

Var.


Patiesībā šeit daudz zināšanu nevajag. Nepieciešamas elementāras priekšzināšanas ar HTML, CSS un JavaScript.

Ja mēs atgriežamies pie augstāk apskatītā piemēra, kur redzama bilde ar itkā tajā attēlotu video ar play pogu (kas konkrētajā gadījumā pat ir vienkārši bilde, kas izskatās pēc video), tad šeit shēma ir sekojoša:

  1. Mājaslapā tiek ielikta bilde, kas vizuāli izskatās pēc video ar play pogu.
  2. Blakus tiek ielikta Facebook Like poga, kuru nospiežot, lietotājs sāk sekot kādai Facebook lapai.
  3. Ar CSS Like poga tiek padarīta neredzama.
  4. Ar JavaScript tiek panākts tas, ka, kustinot peles kursoru, Like poga tam vienmēr seko. Pie tam — tā vienmēr atrodas tieši zem kursora. Tātad, lai kur es klikšķinātu, es vienmēr trāpīšu šai pogai.

Gatavs! Cilvēks gribēja skatīties video, bet tika apmānīts, un rezultātā Facebook lapai ir jauns sekotājs.

To sauc par clickjacking, dzirdēts arī termins likejacking (kad runājam specifiski par FB Like pogu clickjackošanu).


Kādēļ tas ir tik vienkārši un kādēļ Facebook ar to ir tik grūti cīnīties?

Tehniski tas ir iespējams tāpēc, ka Like pogas tiek ievietotas lapā kā iframe. Tas nozīme to, ka Facebookam nav nekādas kontroles pār mājaslapu, kurā šī poga ir ievietota. Nav iespējams noteikt, vai poga ir redzama vai nav.

Protams, vēl ir otrs veids — atļaut ievietot Like pogu ar skripta palīdzību. Lai dati tiek nosūtīti pa taisno, neizmantojot iframe. Bet tas dod brīvu vaļu CSRF. Mājaslapas programmētājs var uztaisīt skriptu, kas Laiko lapas automātiski, lietotājam neko pat neklikšķinot.

Ko vēl? Pēc Like pogas nospiešanas, varētu lietotājam pajautāt “Do you really like this page?”. Tad nevarētu nepamanīt, ka notiek kaut kas aizdomīgs. Bet Facebook to negrib darīt vienkāršu iemeslu dēļ:

  1. Tie ir papildus klikšķi.
  2. Lietotājs jau bija pieņēmis lēmumu sekot lapai. Bet tagad kaut kas parādījās un ir jālasa
  3. Globālā iesaiste strauji samazinātos.

Ko man darīt, lai es uz šādām lapām neuzķertos?

  1. Pievērst uzmanību tam, vai bilde/video veras vaļā Facebookā, vai atver citu mājaslapu.
  2. Ja atver citu mājaslapu, tad jātur acis vaļā. Parasti daudz reklāmas baneru, popupi, daudzas sociālo kontu share pogas, kas atkārtojas, kā arī video, kas itkā izskatās pēc video, bet tai pat laikā atgādina screenshotu — tās ir pazīmes, ka lapā var notikt kaut kas nelāgs.
  3. Uzstādīt savai pārlūkprogrammai spraudni, kas paziņos par katru reizi, kad es spiežu Like pogu https://chrome.google.com/webstore/detail/id-like-to-confirm/ebkkkinjbhcjdpgimeekpehonkllnhho
  4. Visbeidzot, laiku pa laikam var pārbaudīt savu neseno darbību sarakstu (Activity log) https://www.facebook.com/help/437430672945092 un pārliecināties, vai neesi sācis sekot lapai, par kuru pirmo reizi dzirdi.

Vai šāds clickjacking ir iespējams arī draugiem.lv lapām? Nē, pēc klikšķa uz Draugiem Ieteikt pogas, atveras lodziņš, kā rezultātā lietotājs nevar nepamanīt, ka ir klikšķinājis uz pogas.


Atgriežoties pie sākotnējā lapu TOP 10. Es pavisam noteikti neapgalvoju, ka šādi dara visas lapas. Nē, absolūtais vairākums lapu ir godīgas. Uzņēmumiem ir sava sociālo kontu stratēģija, tiek algoti cilvēki, kas šos kontus apkalpo, tiek organizēti konkursi, kur lapu sekotāji piedalās balvu izlozē (tādejādi motivējot piesekoties) utt. Bet ir arī lapas, kuras sekotājus vāc tā, ka cilvēki pat nenojauš, ka sākuši šai lapai sekot.

Pētījums tika veikts klikšķinoties pa minētajām Facebook lapu saistītajām mājaslapām un vērojot, kā iekš Activity log parādās lapas, kurām es neesmu gribējis sekot. Būtiski uzsvērt, ka clickjackings nav viegli atkārtojams, jo tas ne vienmēr parādās — tiek ņemti vērā cookiji u.c. tehniskie nosacījumi. Raksta mērķis nav celt neslavu kādai lapai, bet vērst uzmanību uz to, ka tehniski pastāv (un patiesībā darbojas jau gadiem) šāda drošības problēma. Un tā atstāj iespaidu uz šāda veida topiem.

Esiet modri!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.