Key Findings:
- Bilang bahagi ng pananaliksik ng Citizen Lab sa mga security at privacy applications, kami ay nag-uulat sa mga isyu na aming nadiskubre sa tatlong covid-related applications sa Indonesya at Pilipinas.
- Ang PeduliLindungi, na isang COVID-19 contact tracing app na inilunsad ng gobyerno ng Indonesya, ay nangongolekta at nang-uugnay ng geolocation coordinates ng mga gumagamit nito sa kanilang pangalan, numero ng telepono, at device identifiers. Ito ay nangongolekta ng WiFi MAC address at local IP address ng gumagamit nito, na hindi kinakailangan upang gumana ang pangunahing features ng app.
- Ang StaySafe PH, na isang COVID-19 contact tracing app na inilunsad ng gobyerno ng Pilipinas, ay nangongolekta ng geolocation data at nag-iimbak nito sa paraang insecure. Sa pamamagitan ng bulnerabilidad sa backend database na ginagamit ng app na ito, kami ay nagkaroon ng access sa geolocation data ng daang libong gumagamit ng app. Kami ay nabahala, bagama’t hindi nakumpirma, na posibleng magamit ang mga pattern ng paggalaw ng mga gumagamit nito para sila ay ma-deanonymize at madiskubre ang kalagayan ng kanilang kalusugan
- Ibinunyag namin ang bulnerabilidad na ito sa Multisys, ang developer ng StaySafe PH, na naglabas ng mga updates para sa bersyong Android at iOS ng app at ginawang secured ang backend database ng platform bilang pagtugon.
- Ang COVID-KAYA, na isang COVID-19 case tracking platform na ginagamit ng mga healthcare workers, ay humihingi ng pahintulot o access sa mga sensitibong pribadong impormasyon na hindi lumilitaw na kinakailangan para sa mga prinsipal na functions ng app. Kami ay nag-ulat nitong nakaraan na ang parehong Android at web na bersyon ng platform na ito ay nagtataglay ng bulnerabilidad na maaaring payagan ang mga walang pahintulot na user na makuha ang mga pribadong datos tungkol sa mga gumagamit ng app, at maaaring datos ng mga pasyente.
Bakit pinili ang PeduliLindungi, StaySafe PH, at COVID-KAYA na pag-aralan?
Noong Hulyo 2020, ang Citizen Lab ay nagsulat ng maikling blog post tungkot sa epekto ng COVID-19 sa mga marginalised na komunidad sa Indonesya, Pilipinas, Singapura, at Timog Korea. Sumunod sa publikasyong ito, kami ay nagsagawa ng pagsusuri sa mga COVID-19 apps na inilunsad ng mga gobyernong Indonesya at Pilipinas dahil sa mga naulat na pagkabahala sa pangongolekta ng personal na datos ng mga apps (tingnan ang Detik.com para sa app sa Indonesya at INQUIRER.net sa appp sa Pilipinas), pati na rin ang mga nakaraang insidente ng COVID-19-related data breaches sa Indonesya at Pilipinas.
Anong mga pamamaraan ang isinagawa ng mga mananaliksik upang suriin ang mga app na ito?
Napagpasyahan naming pag-aralan ang mga bersyon ng Android ng mga app, dahil ang Android ang nangungunang operating system ng mobile na ginagamit sa rehiyon ng Timog-Silangang Asya. Natukoy namin kung aling mga mapanganib na pahintulot ang ginagamit ng bawat app, at, upang maunawaan kung bakit hiniling ng mga app na ito ang bawat mapanganib na pahintulot, gumamit kami ng iba’t ibang mga pamamaraan kabilang ang pagsisiyasat sa mga ulat sa media at mga nakaraang pagsusuri ng mga app, pati na rin sa pamamagitan ng pag-reverse engineer ng bawat code ng mga app at pagkuha ng trapiko ng kanilang network.
Ano ang gamit ng PeduliLindungi app? At anong mga isyu ang natuklasan nyo?
Nagsimula ang PeduliLindungi bilang isang digital contact tracing application ng gobyerno ng Indonesya. Ang iba pang mga features ay naidagdag sa app mula nang mailunsad ito sa pagtatapos ng Marso 2020. Halimbawa, ang function na “digital diary” na nagtatala ng listahan ng mga lokasyon na binisita ng gumagamit nito kapag na-scan nila ang mga QR code na ibinigay ng gobyerno, at ang facial recognition function upang malaman ang temperatura ng gumagamit nito at upang matukoy kung may maskara o takip sa mukha na nakasuot ang gumagamit nito bago papasukin sa isang pampublikong lugar o gusali.
Natuklasan namin ang mga sumusunod na mga isyu sa PeduliLindungi app:
- Ang app ay nagpapadala ng impormasyon sa lokasyon ng aparato kasama ang pangalan ng user, numero ng telepono, at isang identifier ng aparato sa mga server ng mga developer. Pinapayagan nitong subaybayan ng mga developer ang pisikal na lokasyon ng bawat indibidwal na aparato, na hindi kinakailangan para sa contact tracing.
- Ang app ay humihiling ng access upang mabasa at sumulat sa external storage ng aparato. Nalaman namin na ang pag-access na ito ay hindi kinakailangan sa pagpapaandar ng app.
- Ang app ay nagongolekta ng mga WIFI MAC address at mga lokal na IP address. Ang parehong mga address na ito ay maaaring makatulong na makilala ang isang aparato o user at hindi kinakailangan para sa contact tracing.
- Nang sinuri namin ang source code ng PeduliLindungan, nakita namin na naglalaman ito ng isang “root” detection library. Ang “root” detection ay isang pangkaraniwang pamamaraan na ginagamit ng mga developer upang gawing mas maging mahirap ang reverse engineering.
Ano ang gamit ng StaySafe PH app? Ano ang mga isyu na natuklasan ninyo?
Ang StaySafe PH ay ang opisyal na pinagtibay na app para sa contact tracing at pagsubaybay sa mga sintomas ng COVID-19.
Natuklasan namin ang mga sumusunod na mga isyu sa StaySafe PH app:
- Ang app ay nagongolekta ng geolocation data ng user, na sentralisadong nakaimbak sa isang online database. Ang sentralisadong pag-iimbak ng datos ng mga gumagamit nito ay hindi kinakailangan para sa digital contact-tracing, at ito ay nagpapakita ng panganib sa privacy dahil ang mga sensitibong datos sa lokasyon at kalusugan ay magiging available sa mga kasapi ng gobyerno at masasakop sa disclosure sa data breaches.
- Ang database na nag-iimbak ng mga geolocation coordinates ng gumagamit nito at mga user ID numbers (o universally unique identifiers, or UUIDs) ay hindi na-secure nang wasto. Ang buong nilalaman ng database na ito ay maaaring ma-access gamit ang mga specially crafted requests gamit ang mga kredensyal ng mga ordinaryong account. Naniniwala kami na ang pagkakakilanlan sa totoong mundo ay maaaring mahinuha gamit ang na-leak na impormasyon. Halimbawa, kung alam ng isang umaatake ang lokasyon ng bahay at trabaho ng biktima, mahahanap nila ang UUID ng biktima sa pamamagitan ng paghahanap ng pagpapalit ng geolocation ng biktima mula sa mga geolocation coordinates ng lahat ng mga gumagamit. Kapag natukoy ang UUID ng biktima, ang kanilang kalagayan sa kalusugan at ang kanilang kinaroroonan ay madaling masusubaybayan gamit ang isa pang pampublikong API.
- Ang app ay humihiling ng pahintulot na mag-write sa external storage ng aparato, ngunit nalaman namin na ang pahintulot na ito ay hindi nagamit.
- Ang opsyon sa mga user na magrehistro para magamit ang StaySafe PH gamit ang kanilang Facebook account ay nagbibigay sa parehong StaySafe PH at Facebook ng access sa identifiable na impormasyon na lampas sa kung ano ang kinakailangan para sa contact tracing. Kung pipiliin ng user na mag-log in sa Facebook, makakatanggap ang developer ng StaySafe PH ng impormasyon mula sa Facebook account ng user tulad ng natatanging ID ng Facebook account, unang pangalan at apelyido, larawan sa profile, at email address. Ang pag-log in sa app gamit ang Facebook account ay nagbibigay-daan sa developer ng StaySafe PH na maiugnay ang impormasyong nakolekta sa loob ng app (hal., Lokasyon at COVID-19 status) sa online na pagkakakilanlan ng gumagamit (hal., Facebook account at email address), na bumubuo ng isang mas kumpleto pag-unawa sa buhay ng isang indibidwal.
Paano tinugunan ng mga developer ng StaySafe ang bulnerabilidad sa seguridad?
Ang Multisys, ang developer ng StaySafe PH, ay tumugon sa aming pagsisiwalat ng bulnerabilidad sa pamamagitan ng, pag-publish ng update sa app. Natagpuan namin na hindi sapat ang pag-update nila ng app, dahil na-access pa rin namin ang hindi secure na database gamit ang diskarteng natuklasan mula sa paggamit ng mas lumang bersyon ng app. Matapos naming abisuhan sila sa problemang ito, pinaghigpitan nila ang pag-access sa database.
Ano ang gamit ng COVID-KAYA app? At anong mga isyu ang natuklasan ninyo?
Ang COVID-KAYA app ay idinisenyo para sa mga local government unit (o mga barangay), mga ospital, at mga laboratoryo upang magsumite at tingnan ang mga kaso, contact, at impormasyon ng pasyente ng COVID-19. Ang app ay dapat lang magamit ng mga manggagawa sa kalusugan at administrador at hindi ng pangkalahatang publiko.
Natuklasan naming ang mga sumusunod na mga isyu sa COVID-KAYA app:
- Sa kabila ng paghiling ng pahintulot sa camera ng aparato, nalaman namin na ang app ay hindi kailanman gumagamit ng camera.
- Ang app ay gumagamit ng mga pahintulot na magbasa at sumulat sa external storage ng aparato sa pamamagitan ng pag-iimbak ng isang PDF file sa external storage ng aparato. Natagpuan naming ito ay hindi kinakailangan upang gumana ang app.
- Nalaman namin na kinokolekta ng app ang pangalan ng carrier ng telepono ng gumagamit. Ang nasabing impormasyon ay karaniwang ginagamit para sa user analytics at profiling.
- Ang COVID-KAYA ay lilitaw na walang nakalaang patakaran sa privacy. Sa halip, ang pahina ng Google Play store nito ay may link sa patakaran sa privacy na magdadala sa iyo sa Patakaran sa Privacy ng World Health Organization. Gayunpaman, ang Patakaran sa Privacy ng WHO ay nauugnay lamang sa mga website ng WHO (“lahat ng mga site sa loob ng domain na ‘who.int'”), at sa gayon hindi ito mailalapat sa COVID-KAYA app.
Paano nauugnay ang mga natuklasan sa COVID-KAYA sa mga isyung dati nang naiulat?
Kami ay nakaraan nang nag-ulat tungkol sa dalawang bulnerabilidad sa seguridad sa loob ng COVID-KAYA app.
Ang unang bulnerabilidad na natukoy namin ay ang hindi protektadong API na ginamit sa loob ng app na nagbalik ng kumpletong listahan ng mga nakarehistrong gumagamit ng app, kasama ang kanilang buong pangalan at iba pang personal na impormasyon.
Ang pangalawang bulnerabilidad na natuklasan namin ay ang mga kredensyal ng administrator ng app na matatagpuan sa code ng programa. Ang isang mang-aatake na makakahanap ng mga kredensyal na ito ay maaaring mag-log in sa dashboard ng pang-administratibo at makuha ang listahan ng mga nakarehistrong gumagamit ng app, kasama ang kanilang buong pangalan.
Ang dalawang bulnerabilidad na mga ito ay natuklasan namin sa proseso ng aming pagsusuri ng app upang maunawaan kung paano nito ginamit ang mga pahintulot. Ipinapahiwatig ng dalawang bulnerabilidad na ito ang oversight ng developer sa pagprotekta sa nakolektang datos ng mga user. Kapag mas maraming mga pahintulot ang ginagamit, mas marami ring datos ang nakokolekta ng app. At kapag mas maraming datos ang nakokolekta ng app, mas maraming pwedeng mahayag kapag ang mga bulnerabilidad ay natagpuan dito, na maaaring magdulot ng higit na pinsala sa mga gumagamit.
Ano ang pagkakaiba sa pagitan ng pahintulot at mapanganib na pahintulot?
Pinapayagan ng mga pahintulot ang mga app na makipag-ugnay sa hardware ng isang aparato o magsagawa ng ilang mga functions, tulad ng pagtingin sa impormasyon tungkol sa mga malapit na WiFi network. Tinutukoy ng Google ang mga mapanganib na pahintulot bilang mga pahintulot na “maaaring makaapekto sa privacy ng gumagamit o sa normal na operasyon ng aparato,” tulad ng pag-access sa mga larawan ng isang aparato, camera, lokasyon, mga contact, kalendaryo, katayuan ng telepono, at iba pang pag-access sa sensitibong impormasyon ng gumagamit. Ang mga mapanganib na pahintulot ay maaaring hindi nakakasama, ngunit dahil sa pagkasensitibo ng impormasyon na maaring magamit upang mangolekta, ang paggamit sa kanila ay pwedeng magbunga o magpalaki ng epekto ng mga bulnerabilidad.
Ano ang pagkakaiba sa pagitan ng mapanganib na mga pahintulot at mga bulnerabilidad?
Ang bulnerabilidad ay kahinaan sa isang sistema na maaaring samantalahin ng isang pinagmumulan ng banta. Ang mga mapanganib na pahintulot, na maaaring hindi nakakasama, ay pwedeng magbunga ng mga bulnerabilidad, tulad ng natagpuan sa kaso ng StaySafe PH. Kinolekta ng StaySafe PH ang datos sa lokasyon ng user sa pamamagitan ng kanilang app, na hinihiling na kumuha ng isang mapanganib na pahintulot, katulad ng pahintulot na makuha ang tumpak na lokasyon ng aparato. Natuklasan namin ang bulnerabilidad sa lohika ng pagpapahintulot ng database na ginamit ng Stay Safe PH upang iimbak ang datos sa lokasyon ng user, na pinapayagan ang isang magsasalakay na mag-download ng datos sa lokasyon ng lahat ng mga gumagamit ng app. Ang bulnerabilidad o kahinaan na ito ay ginawang posible dahil sa paggamit nito ng mapanganib na pahintulot. Kung ang StaySafe PH, tulad ng maraming iba pang mga contact tracing app, ay hindi nangolekta ng datos sa lokasyon ng mga user, ang kanilang app ay mapipigilang magkaroon ng bulnerabilidad na ito sa umpisa pa lamang.
Ano ang mga hindi nagagamit na pahintulot?
Ang isang hindi nagagamit na pahintulot ay isang pahintulot na idineklara ng isang app na maaari nitong hilingin, ngunit hindi kailanmang hinihiling, o hinihiling nito ngunit hindi kailanman nagagamit. Halimbawa, ang isang app ay maaaring humiling ng pahintulot na mag-access sa camera, ngunit hindi naman talagang nagagamit ang camera upang kumuha ng litrato o isang video. Sa ganitong kaso, ang pahintulot sa camera ay hindi nagagamit. Bagaman ang mga hindi nagagamit na pahintulot mismo ay hindi nagdudulot ng malubhang panganib sa seguridad at privacy, maaari itong maging isang banta kung ang app ay nakompromiso ng isang mananalakay. Ang isang mananalakay na may kakayahang malayuang mag-execute ng code sa app ay maaari ring magkakaroon ng karagdagang mga pahintulot na hindi nagagamit.
Ano ang magagawa ng mga developer ng mga app upang mas maprotektahan ang mga user ng mga public health apps?
Ang isang bagay na magagawa ng mga developer ng app ay ang sundin ang prinsipyo ng “data minimization,” kung saan ang app o tool ay “dapat mangolekta ng pinaka-kaunting maaaring impormasyon” na kinakailangan para makamit ang layunin nito. Ang pagkolekta lamang ng lubos na nauugnay na impormasyon ang maaaring makatulong na mabawasan ang mga panganib sa seguridad na resulta mula sa pagkolekta ng malalaking bulto ng datos.
Maaari ring mag-refer ang mga developer ng app sa mga alituntunin sa etika para sa COVID-19 apps na na-draft ng mga sumusunod na organisasyon / institusyon:
- World Health Organization
- Electronic Frontier Foundation (EFF)
- Amnesty International
- Oxford Internet Institute