1 / 23

Symbian ohjelmointi

Symbian ohjelmointi. 7. Luento Juha Turunen (juha.turunen@lut.fi). Sisältö. Tietoturva matkapuhelimissa Symbian security Lokalisaatio. Tietoturva matkapuhelimissa. Tarve turvallisuudelle

Download Presentation

Symbian ohjelmointi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Symbian ohjelmointi • 7. Luento • Juha Turunen (juha.turunen@lut.fi)

  2. Sisältö • Tietoturva matkapuhelimissa • Symbian security • Lokalisaatio

  3. Tietoturva matkapuhelimissa • Tarve turvallisuudelle • Matkapuhelinten muuttuessa yhä enemmän tietokoneen kaltaisiksi ja niiden ollessa kytkeytyneenä erilaisiin verkkoihin, uhkaavat PC-maailman ongelmat matkapuhelimia • Operaattorit vaativat turvallisuusmekanismeja taloudellisten menetysten pelossa • Uhat • Arkaluontoisen tiedon leviäminen • Taloudelliset menetykset valmistajalle ja loppukäyttäjälle • Henkilökohtaisesti arvokkaan informaation menetys • Fyysiseen turvallisuuteen kohdistuvat uhat

  4. Tietoturva matkapuhelimissa • Suurin osa puhelinten käyttäjistä eivät miellä puhelinta tietokoneeksi ja olettavat puhelimen olevan turvassa uhilta • Mekanismit turvallisuuden takaamiseksi • Salaus, tiivisteet (hash), allekirjoitus • Autentikaatio & autorisointi • Sertifiointi • Pääsynvalvonta • Secure hardware • Varmistaa ohjelmistojen eheyden ja koskemattomuuden asennuksen jälkeen • Ei niin kriittinen loppukäyttäjän kannalta, koska vaatii fyysistä pääsyä laitteeseen • Secure software • Varmistaa turvallisen sovellustason toiminnan • Applikaatiotason turvallisuus on tärkeää, koska natiiveilla (C++) Symbian-sovelluksilla on laaja pääsy laitteen tarjoamiin rajapintoihin • Puhelut, viestit, massamuistit, jne…

  5. Symbian security • Symbian OS 9.1 (S60 3rd edition) -> • Tärkeimmät toiminnot • Suojaa puhelimen ja sen sisältämien ohjelmien eheyttä • Mahdollistaa luottamuksellisen tiedon suojaamisen sovelluksilta • Kontrolloi pääsyä järjestelmän resursseihin (esim. puhelut) • Koostuu pääpiirteittäin kolmesta osasta • TCB • Data caging • Capability model

  6. TCB • Trusted Computing Base • Kernel • File server • Installer • TCB toimeenpanee capability modelin ja data cagingin • TCB:n virheettömyys elintärkeää, koska kaikki muut turvallisuusmekanismit rakentuvat TCB:n palveluiden varaan

  7. Sovellusten yksilöinti ja eheys • Symbian security mallissa sovellukset asennetaan allekirjoitetuista SIS-paketeista • SIS-paketin sisältöä on mahdoton muuttaa rikkomatta allekirjoitusta • Sovellukset yksilöidään SID ja VID tunnisteiden avulla • Secure ID:n avulla tunnistetaan yksittäiset sovellukset • Vendor ID:n avulla tunnistetaan ohjelmistojen valmistajat • Puhelimen muistiin asennetut sovellukset ovat sijoitettu tiedostojärjestelmään siten etteivät ajettavat ohjelmat pysty muuttamaan niitä • Siirrettäville medioille asennetuista ohjelmista lasketaan hajaute, joka tallennetaan suojattuun paikkaan

  8. Capability model • Oikeudet (capabilities) määrittelevät mitä sovellus saa tehdä sekä kuinka paljon komponenttiin luotetaan • Oikeudet voidaan jakaa neljään ryhmään • Kaikille avoimet • ~60% API:sta ovat kaikille avoimia • Käyttäjän myöntämät • Asennettaessa sovellusta käyttäjä voi myöntää sovellukselle esim. oikeuden muodostaa verkkoyhteyksiä tai kirjoittaa kalenteritietoja • Symbian signed prosessin kautta myönnetyt • Sovelluksen tulee käydä läpi sertifiointiprosessi • Esim. paikkatieto • Valmistajan myöntämät • TCB, DRM • Käynnistettäessä uusi prosessi, perii prosessi oikeutensa ajettavalta ohjelmakoodilta (exe) • Prosessin oikeudet eivät koskaan voi muuttua sen elinkaaren aikana • Kernel pitää kirjaa eri prosessien oikeuksista

  9. Capability model • Prosessi voi ladata DLL:n jos ja vain jos ladattavalla DLL:lla on samat tai useampia oikeuksia kuin prosessilla • Tässä tapauksessa oikeuksilla ilmaistaan luottamuksen taso DLL:yyn eikä sitä, mitä DLL varsinaisesti tekee • Koska DLL:n sisältämä koodi ajetaan prosessissa, on DLL:n sisältämällä koodilla käytettävissään samat oikeudet kuin prosessilla riippumatta siitä mitä oikeuksia varsinaisella DLL:lla on • Server voi tarkistaa pyynnön tehneen prosessin oikeudet ennen pyynnön suorittamista

  10. Data caging • Data caging –mekanismilla rajoitetaan prosessien pääsyä eri puolille tiedostojärjestelmää • Resursseille ja ajettaville ohjelmille omat erityishakemistot, joita voi käyttää vain sovellukset, joilla on riittävästi oikeuksia • Esim. ainoastaan file server ja installer voivat lukea ja kirjoittaa ajettavia ohjelmia • Jokaisella ajettavalla sovelluksella (palvelin, UI-sovellus, jne) on oma yksityinen hakemisto (yksilöity SID:llä), jota voi lukea ja kirjoittaa ainoastaan sovellus itse tai riittävät oikeudet omaava sovellus • Sovellus voi jakaa avoimia kahvoja yksityisen hakemiston tiedostoihin IPC:n kautta

  11. Data caging • Erityishakemistot • \sys\ • Systeemikriittiset tiedostot ja ajettavat ohjelmat (\sys\bin) • Java MIDlettien tallennettu muualle ja niiden eheydestä huolehtiminen on VM:n vastuulla • \resource\ • Lukeminen mahdollinen mahdollista kaikille • Kirjoittaminen mahdollista ainoastaan installerille • \private\ • Sovellusten suojatut hakemistot (\private\<SID>\) • Julkinen alihakemisto • Muut hakemistot eivät ole suojattuja millään tavalla

  12. Resurssien suojaus • Symbianin turvallisuusmallissa resurssien käyttöä kontrolloidaan luomalla niiden ympärille prosessirajoja • Server-prosessi voi tarkistaa pyynnön tehneen clientin oikeudet, SID:n ja VID:n ennen clientin palvelemista • Esim. lähetetään tekstiviesti vain, jos clientilla on NetworkServices oikeus • Esim. kieltäydytään palvelemasta tiettyä sovellusta (SID), joka oletetaan riskiksi • Esim. tarjotaan palvelu vain tietyn valmistajan (VID) sovelluksille • Jos kontrolloitava resurssi on esimerkiksi salasana-tietokanta, tehdään salasanoja säilyttävä server, joka tallettaa tiedot omaan yksityiseen hakemistoonsa ja jakaa tietoja clienteille määriteltyjen sääntöjen puitteissa

  13. Trusted UI • Hyökkääjä voi yrittää kaapata laitteen käyttöliittymän ja esittää käyttäjälle mitä tahansa tuttua käyttöliittymää kaapatakseen käyttäjältä tietoja (esim. salasanoja) • Trusted input • Takaa, että ainoastaan riittävillä oikeuksilla varustetut moduulit voivat vastaanottaa (FEP) ja lähettää näppäimistön painalluksia • Keyloggerit • Trusted output • Informoi käyttäjää siitä, että käyttäjän näkemä UI (esim. salasana dialogi) on aito (esim. merkkivalo) • Sovellus voi olla varma siitä, että näkymän päällä ei ole esim. muita dialogeja (paitsi sovellusten joilla on TrustedUI oikeus)

  14. Secure software installer • Laitteeseen voidaan asentaa allekirjoittamattomia ja allekirjoitettuja ohjelmistoja • Allekirjoittamattomat ohjelmistot voivat saada ainoastaan käyttäjän myöntämiä oikeuksia • Asennettaessa allekirjoittamatonta sovellusta käyttäjä voi myöntää sovellukselle tiettyjä oikeuksia (esim. oikeus tehdä puheluita) • Näin käyttäjää informoidaan sovelluksen mahdollisesti sisältämistä riskeistä (ja vastuu vahingoista siirtyy näppärästi kuluttajalle) • Allekirjoitetut ohjelmat ovat Symbian signed prosessin läpikäyneitä eikä käyttäjän tarvitse eksplisiittisesti ilmoittaa luottavansa niihin, koska sovellukset on hyväksytty Symbianin toimesta

  15. Secure software installer

  16. Symbian signed • Symbian signed on Symbianin prosessi, joka tarjoaa riippumattomien ohjelmistovalmistajien ohjelmistoille digitaalisen allekirjoituksen • Jotta sovellus voisi saada käyttäjän annettivassa olevia oikeuksia vahvempia oikeuksia, tulee sovelluksen olla allekirjoitettu ja näin ollen läpäistä Symbian signed verifikaatio-prosessi • Allekirjoitettua sovellusta ei ole mahdollista muuttaa allekirjoittamisen jälkeen • Allekirjoitetun sovelluksen alkuperästä voidaan olla varmoja • Tulevaisuudessa allekirjoituksia voidaan mitätöidä, mikäli allekirjoitetussa ohjelmassa havaitaan turvallisuusriskejä • Mitätöinnit OTA:na

  17. Symbian signed prosessi

  18. Symbian signed prosessi • Ennen sovelluksen lähettämistä STH:lle verifioitavaksi, sovellusta kehitetään emulaattorissa ja kohderaudalla • Emulaattorissa kehittäjä voi vapaasti määritellä sovellukselleen joukon oikeuksia • Itsenäisten ohjelmistovalmistajien tapauksessa testilaitteet kuitenkin ovat useimmiten tavallisia kuluttajille myytäviä laitteita • Kehittäjä voi tilata Symbianilta puhelimeensa erityisen kehittäjäsertifikaatin, jonka avulla puhelimeen voidaan asentaa kehittäjän itse allekirjoittamia ohjelmia vapaasti valittavalla joukolla oikeuksia • Kehittäjäsertifikaatit ovat sidottu puhelimen IMEI koodeihin joiden määrä on sidottu kehittäjän asemaan Symbian ekosysteemissä

  19. Muut turvallisuus mekanismit • Uusimmat Symbian OS ja S60 versiot tarjoavat TCB:n lisäksi myös muita turvallisuusmekanismeja • VPN • IPSec • PKI • DRM

  20. Muita näkökohtia ja kritiikkiä • Deskriptorien ansiosta Symbian-ympäristö on kohtuullisen turvassa hyökkäyksiltä, jotka kohdistuvat protokollatoteusten ja verkkosovellusten buffer overflow heikkouksiin • Hyökkäjien ansaintalogiikan kannalta olennaiset verkkopalvelut on jätetty käyttäjän sallittavaksi! • Perinteinen trade-off tilanne. Mikäli kaikki verkkoa käyttävät sovellukset pitäisi allekirjoittaa, hidastaisi se liikaa sovellusmarkkinoiden kehitystä • S60 alusta tallentaa esim. käyttäjän kuvatiedostot edelleen suojaamattomiin hakemistoihin

  21. Lokalisointi • Internationalization (I18N) • Proaktiivinen lokalisaatiota tukeva ohjelmistosuunnittelu • Localization (L10N) • Tuotteen varsinainen räätälöinti eri kielille ja markkina-alueille • Lokalisoitavia asioita • Kaikki mitä käyttäjälle näytetään • Mahdollisesti ikonit • Fontit, värit • Päiväyksen ja kellonajan esitysmuoto • Desimaalipiste vs. –pilkku • Lajittelu • jne...

  22. Lokalisoinnin toteutus • Tapahtuu pääasiallisesti resurssitiedostojen avulla • Jokaisesta lokalisoitavasta resurssitiedostosta yksi kappale per variantti • MyApp.r01, MyApp.r05, jne... • Numero tiedostopäätteessä kertoo kielivariantin, jolle resurssitiedosto on tarkoitettu • Application framework valitsee automaattisesti sopivimman resurssitiedoston • Nearest language • Resursseissa käytetään loogisia nimiä, jotka viittaavat erilliseen tiedostoon, jossa varsinainen merkkijono määritellään

More Related