Pieni pinta, julkaistu arvio
Missivuksella on hallussaan tunnistetieto, jolla voi lähettää sähköpostia yrityksesi nimissä. Juuri sellainen koodi pitää käydä läpi rivi riviltä ja dokumentoida julkisesti — niin myös tehtiin.
Tietoturvamalli yhdessä kappaleessa
Exchangen sovelluksen käyttöoikeuskäytäntö on se, mikä rajaa vaikutusalueen. Jokainen alla oleva havainto on sen rajaama — täysin vaarantunutkin tunnistetieto voi lähettää yhtenä jaettuna postilaatikkona eikä tehdä mitään muuta. Siksi asennusopas käsittelee käytäntöä pakollisena, varmistuskomennolla todennettuna vaiheena eikä valinnaisena kovennuksena.
Mitä arvio kattoi
Versio 0.1.1 auditoitiin ensimmäisen tuotantokäytön jälkeen — Graph-lähetys, asetusmalli, testiviestin API-metodi ja Vue-komponentti tarkistettiin salaisuuksien vuotamisen varalta lokeissa, API-vastauksissa, HTML-lähdekoodissa ja selainkonsolissa; todennus ja CSRF API-pinnalla; jokaisen asetuksen syötteen validointi; ja se, voiko Graphin virhevastaus päätyä kenellekään muulle kuin pääkäyttäjälle. Väitteet Matomon toiminnasta varmistettiin Matomon lähdekoodista, ei muistista.
Havainnot rehellisesti kerrottuna
Korjattu ennen julkaisua
- Perus-URL-ohitus olisi voinut ohjata asiakassalaisuuden hyökkääjän palvelimelle — URL-osoitteet validoidaan nyt paljaiksi https-alkuperiksi ennen kuin yhtään pyyntöä rakennetaan.
- Verkkovirhe kesken latauksen saattoi vuotaa esitodennetun latausosoitteen lokiin — se muunnetaan ja peitetään nyt kuten kaikki muutkin virheet.
- Asetukset hyväksyivät minkä tahansa merkkijonon — jokainen kenttä validoi nyt muotonsa, joten liitetty Secret ID kaatuu tallennushetkellä eikä myöhemmin läpinäkymättömänä Microsoft-virheenä.
- Testiviestin API-metodi hyväksyi minkä tahansa vastaanottajan ja vastasi GET-pyyntöön — nyt vain POST validoidulla osoitteella, pidettynä poissa palvelimen käyttölokeista.
Todettu puhtaaksi
- Salaisuudet eivät koskaan päädy HTML-lähdekoodiin, API-vastaukseen tai selainkonsoliin — salasanakentät peittää Matomon ydin, ja lisäosa lisää siihen päälle kaksi omaa suojaustaan.
- Testikutsu on CSRF-suojattu Matomon token-mallilla, ja sen lisäksi on lisätty vain POST-pyynnöt salliva sääntö syvyyssuojana.
- Kaikki mikä kirjataan tai heitetään kulkee peittimen läpi, joka tyhjentää tunnetut salaisuudet arvon ja tunnistetiedot muodon perusteella — tokenit, assertiot, bearer-otsakkeet, latausosoitteet — ja kaatuu turvallisesti.
Hyväksytyt kompromissit, dokumentoituna
- Lyhytikäinen käyttötunniste välimuistitetaan Matomon tiedostopohjaiseen välimuistiin — se joka voi lukea sen, voi jo lukea Matomon asetukset, joissa voi olla itse salaisuus. Lieventäjinä 55 minuutin elinikä ja käyttöoikeuskäytäntö.
- Pääkäyttäjä voi lähettää testiviestejä rajoituksetta — kiusallinen mutta ei oikeuksia kasvattava vektori; pääkäyttäjä voisi joka tapauksessa määrittää postituksen kokonaan uusiksi.
- Asetuskäyttöliittymään syötetty salaisuus tallentuu salaamattomana Matomon tietokantaan — asetustiedosto- ja ympäristömuuttujatasot ovat olemassa juuri siksi, ettei sen tarvitse olla siellä, ja ne menevät edelle.
Lue koko arvio kaikkine yhdentoista havaintoineen GitHubissa
Haavoittuvuudesta ilmoittaminen
Lähetä yksityiskohdat alla olevaan osoitteeseen. Anna meille mahdollisuus korjata ongelma ennen kuin se tulee julki — äläkä koskaan sisällytä ilmoitukseen asiakassalaisuutta, varmennetta tai PEM-tiedostoa.
Tietoturvayhteys: …