Näin tarkistat, ettei tiedostojasi lähetetä palvelimelle
Jokainen näistä sivustoista väittää olevansa yksityinen. Miten sen voi oikeasti tarkistaa?
Aloita oikeasta oletuksesta
Markkinointisivulla oleva yksityisyysväite ei ole todiste. Ei myöskään lukkokuvake, merkki tai lause tietosuojaselosteessa – ne kuvaavat aikomusta, ja sinä haluat tietää käyttäytymisestä. Onneksi käyttäytyminen on havaittavissa: jokaisessa selaimessa on työkalut, jotka näyttävät täsmälleen mitä sivu lähettää, eikä niiden lukemiseen tarvitse olla kehittäjä.
Tee nämä tarkistukset tälle sivustolle. Tee ne sille sivustolle, jota käytit aiemmin. Tarkoitus ei ole luottaa toiseen väitteeseen, vaan päästä eroon siitä, että pitää luottaa mihinkään.
Tarkistus yksi: seuraa Network-paneelia
- Avaa kehittäjätyökalut. Useimmissa työpöytäselaimissa se on F12, Ctrl+Shift+I tai Cmd+Option+I.
- Valitse Network-välilehti ja varmista, että tallennus on päällä.
- Lataa sivu uudelleen ja tyhjennä sitten lista, jotta aloitat tyhjästä lokista.
- Valitse tiedostosi ja aja toiminto.
- Järjestä koon mukaan tai etsi Method-sarakkeesta POST- ja PUT-pyyntöjä.
Etsit pyyntöä, jonka hyötykuorma on suuruusluokaltaan tiedostosi kokoinen, ja ylipäätään mitä tahansa pyyntöä palvelimelle, joka ei ole se sivusto jolla olet. Paikallinen työkalu näyttää pyynnöt omalle koodilleen – skriptit, tyylitiedostot, WebAssembly-moduulit, ehkä mallitiedoston – ja sen jälkeen ei mitään sillä aikaa kun työ etenee. Palvelimelle lähettävä työkalu näyttää useita megatavuja kantavan pyynnön sillä hetkellä kun painat nappia.
Tarkistus kaksi: ota verkko pois
Tämä on vahvin tarkistus, eikä se vaadi lainkaan asiantuntemusta. Lataa sivu normaalisti, käytä työkalua kerran jotta sen tarvitsema moottori on välimuistissa, ja katkaise sitten yhteys: laita lentokonetila päälle, sammuta Wi-Fi tai käytä kehittäjätyökalujen offline-kytkintä. Käsittele nyt tiedosto.
Jos se menee läpi, käsittely ei ole voinut tapahtua muualla kuin sinun koneellasi. Tulkinnanvaraa ei jää. Jos se epäonnistuu tai jumittuu, jokin ketjussa tarvitsi palvelinta – mikä voi olla perusteltua, kuten mallitiedosto jota ei ollut vielä välimuistissa, mutta nyt osaat kysyä mikä.
Tarkistus kolme: lue Content Security Policy
Content Security Policy on otsake, jonka sivusto lähettää ja jota selain valvoo. Sen connect-src-direktiivi luettelee ne kohteet, joihin sivu saa avata yhteyden. Jos connect-src on rajattu sivuston omaan originiin, selain itse estää yrityksen lähettää mitään muualle, riippumatta siitä mitä sivun koodi yrittää tehdä.
Luet sen avaamalla Network-välilehden, napsauttamalla dokumenttipyyntöä – yleensä ensimmäinen rivi – ja etsimällä vastauksen otsakkeista Content-Security-Policy. Käytäntö, jossa on connect-src 'self' eikä yhtään ulkoista palvelinta, on merkityksellinen, selaimen valvoma rajoite, ei lupaus.
Mitä kukin tarkistus todistaa
| Tarkistus | Mitä se todistaa | Mitä se ei kata |
|---|---|---|
| Network-paneeli | Mitä tämä sivu lähetti tämän istunnon aikana | Toista koodipolkua, sivuston myöhempää versiota tai pyyntöä, joka tehdään sen jälkeen kun lopetit seuraamisen |
| Verkoton testi | Että itse käsittely tapahtuu paikallisesti | Sitä, jääkö jokin jonoon ja lähetetäänkö se, kun yhteys palaa |
| Content Security Policy | Minne selain ylipäätään sallii yhteydet | Kaiken minkä käytäntö sallii, myös sivuston oman originin |
| Lähdekoodin lukeminen | Mitä toimitettu koodi sisältää | Vaivan; ja se on toistettava aina kun sivusto muuttuu |
Yhdessä ne ovat vahvoja. Yksinään kussakin on aukko, ja se joka väittää yhden tarkistuksen ratkaisevan kysymyksen, yksinkertaistaa liikaa.
Merkkejä siitä, ettei työkalu ole paikallinen
- Edistymispalkki, joka etenee laitteestasi riippumattomalla nopeudella – tasaisesti ja samalla tavalla nopealla läppärillä ja vanhalla puhelimella.
- Tulos, joka toimitetaan linkkinä heidän verkkotunnuksellaan olevaan latausosoitteeseen eikä tiedostona, joka selaimellasi on jo hallussaan.
- Viesti siitä, että tiedostot poistetaan heidän palvelimiltaan tietyn tuntimäärän kuluttua. Se lause on myöntö siitä, että tiedostot olivat siellä.
- Jono tai käyttörajoitus. Omalla suorittimellasi ei ole muiden ihmisten kanssa jaettua jonoa.
- Työkalu toimii verkko katkaistuna vain ensimmäisen pienen tiedoston osalta ja pysähtyy sitten.
Todentamisen rajat
Todentaminen kertoo siitä sivuston versiosta, jonka testasit, sinä päivänä jona testasit sen. Sivusto voi muuttua huomenna. Siksi tärkeimmät tarkistukset ovat rakenteellisia: tiukka Content Security Policy ja toimiva verkoton testi ovat ominaisuuksia siinä, miten sovellus on rakennettu, eivät lupauksia tietystä julkaisusta.
Kaksi asiaa jää kaikkien tämän listan tarkistusten ulkopuolelle. Selainlaajennus voi lukea minkä tahansa sivun sisällön, myös sinne lataamasi tiedoston, eikä yksikään sivusto voi estää sitä. Käyttöjärjestelmäsi näkee jokaisen avaamasi tiedoston. Jos asiakirja on niin arkaluontoinen että näillä on merkitystä, käsittele se verkosta irrallaan toimivassa ohjelmassa koneella jota hallitset, ja pidä mitä tahansa verkkosivustoa – tämä mukaan lukien – vääränä työkaluna siihen tehtävään.
Työkalut tähän
Lähteet
- W3C — Content Security Policy Level 3
- MDN — Content-Security-Policy connect-src
- Chrome DevTools — inspect network activity
- MDN — Firefox Network Monitor