Jari-Pekka Voutilainen Tietoturva Ajaxia hyödyntävissä verkkosovelluksissa

Koko: px
Aloita esitys sivulta:

Download "Jari-Pekka Voutilainen Tietoturva Ajaxia hyödyntävissä verkkosovelluksissa"

Transkriptio

1 Jari-Pekka Voutilainen Tietoturva Ajaxia hyödyntävissä verkkosovelluksissa Kandidaatintyö Tarkastaja: Henri Hansen

2 II TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Tietotekniikan koulutusohjelma Jari-Pekka Voutilainen: Tietoturva Ajaxia hyödyntävissä verkkosovelluksissa Kandidaatintyö, 18 sivua, 0 liitesivua Huhtikuu 2010 Pääaine: Ohjelmistotekniikka Tarkastajat: Henri Hansen Avainsanat: JavaScript, Ajax, XSS, CSRF Toimivia verkkosovelluksia on helppo ja nopea tehdä. Käyttäjä availee linkkejä ja lähettelee lomakkeita ja saa vastauksena uusia verkkosivuja. Turvallisen verkkosovelluksen tekeminen on huomattavasti vaikeampaa ja Web 2.0:n mukana tullut Ajax tekee tästä vielä hankalampaa. Ajax on teknologia-kokoelma, jolla ratkaistaan perinteisten verkkosovellusten ongelmia, kuten samojen melkein samanlaisten sivujen uudelleenlataus ja sovelluksen käytön pysäytys pyynnön käsittelyn ajaksi. Mutta nämä samaiset teknologiat paljastavat palvelimen toimintalogiikkaa ja verkkopalveluita hyökkääjälle ja siten helpottavat hyökkäämistä. Jotta verkkosovelluksesta saadaan turvallinen, pitää lähteä lähtökohdasta, että käyttäjään ei voi luottaa. Kaikki käyttäjän tuottama sisältö pitää validoida ja joko hyväksyä, hyväksyä riisuttuna tai hylätä kokonaan. Ajaxin paljastama toimintalogiikka pitäisi minimoida ja kriittisiä osia ei saisi paljastaa ollenkaan. Lisäksi tietoturvaa pitäisi testata määrittelemättömän toiminnallisuuden varalta.

3 III SISÄLLYS 1. Johdanto Ajax ja sen luomat tietoturvallisuusongelmat Ajax Asynkroninen JavaScript XML Tietoturvaongelmien yleisyys Verkkosovellusta vastaan hyökkääminen Perinteinen verkkosovellus Resurssien luettelointi Parametrien manipulointi Muut hyökkäykset Ajax verkkosovellus Syötekentät Verkkopalvelut Tekniikoita tietoturva-aukkojen vähentämiseen verkkosovelluksissa JavaScriptin turvamekanismit Chromium-selaimen tietoturva-arkkitehtuuri Turvallinen verkkosovellus Ajax-sovellusten tietoturvan testaus Yhteenveto Lähteet

4 IV TERMIT JA SYMBOLIT JSON eli JavaScript Object Notation. Serialisointitekniikka, jota käytetään datan siirtämiseen palvelimen ja asiakkaan välillä. XML eli Extensible Markup Language. Rakenteellisen tiedon esitystekniikka. DOM eli Document Object Model. Alusta- ja kieliriippumaton käytäntö HTML:n, XHTML:n ja XML:n vuorovaikutukseen. HTML eli HyperText Markup Language. Kieli verkkosivujen rakenteen toteutukseen. CSS eli Cascading Style Sheet. Kieli verkkosivujen tyylin ja ulkoasun toteutukseen. SQL eli Structured Query Language. Kieli tietokantakyselyiden tuottamiseen.

5 1 1. JOHDANTO Verkkosovellukset ovat internetissä olevia sovelluksia, jotka reagoivat käyttäjän toimiin, kuten linkkien klikkailemiseen ja lomakkeiden lähettämiseen. Verkkosovellukset toteutaan asiakas-palvelin-arkkitehtuurilla, jossa asiakkaana yleensä toimii käyttäjän selain. Perinteisesti näissä sovelluksissa selain lähettää palvelimelle pyynnön, kun käyttäjä klikkaa linkkiä, palvelin käsittelee sen ja vastaa asiakkalle uudella verkkosivulla. Käsittelyn ajan käyttäjä joutuu odottamaan, sillä perinteiset verkkosovellukset ovat synkronisia eli käyttäjän klikatessa uutta linkkiä ennen kuin edellinen on käsitelty, selain unohtaa edellisen toiminnallisuuden. Synkronisuus aiheuttaa viiveitä palvelimen käsitellessä suurempia datamääriä ja verkon yli siirretävän datan määrä kasvaa kun siirretään uusia verkkosivuja, jotka toisinaan ovat jopa melkein samanlaisia edelliseen verkkosivuun verrattuna. Web 2.0:n mukana tullut Ajax yrittää ratkaista perinteisten verkkosovellusten ongelmia. Ajaxissa kokonaisia verkkosivuja ei haeta vaan verkkosovelluksiin haetaan sisältöä osittaisilla sivupyynnöillä asynkronisesti. Asynkroniset sivupyynnöt myös mahdollistaa käyttäjän toimimisen sovelluksessa, vaikka palvelin ei olisikaan vielä vastannut. Tämä tekee sovelluksesta näennäisesti nopeamman ja mahdollistaa rikkaat internet sovellukset, jotka näyttävät työpöytäsovelluksilta. Tunnetuimpia Ajaxia hyödyntäviä verkkosovelluksia ovat mm. Googlen GMail ja Docs sekä Facebook. Vaikka Ajax ratkaisee monia verkkosovellusten ongelmia, se myös aiheuttaa niitä. Palvelimen hyökkäyspinta-ala kasvaa kun toimintalogiikkaa siirretään asiakkalle, Ajaxissa käytettävät skriptikielet mahdollistavat haittaohjelmien ajamisen, joilla yritetään vuotaa henkilökohtaisia tietoja, kuten tunnuksia ja salasanoja, kolmansille osapuolille. Oikeilla suunnitteluperiaatteilla näitä tietoturva-aukkoja voidaan vähentää jo toteutusvaiheessa, jonka lisäksi sovelluksen tietoturvaa voidaan testata hyökkäämällä sitä vastaan. Tässä kandidaatintyössä tutkitaan verkkosovellusten tietoturvaa ja kuinka Ajaxin käyttö siihen vaikuttaa. Tämä saavutetaan tutkimalla perinteisten verkkopalvelujen haavoittuvuutta, Ajaxin kasvattamaa hyökkäyspinta-alaa, suunnitteluperiaatteita haavoittuvuuksien välttämiseen ja verkkosovellusten testaamista. Luvussa 2 tutkitaan tarkemmin Ajaxia, sen tietoturvaa ja tietoturvaongelmien yleisyyttä. Luvussa 3 perehdytään kuinka perinteisiä verkkosovelluksia ja Ajax-sovelluksia vas-

6 1. Johdanto 2 taan hyökätään. Luvussa 4 tarkasteellaan tekniikoita tietoturvaongelmien ehkäisyyn suunnitteluperiaatteilla, Ajax-teknologioden omilla turvamekanismeilla ja kuinka Chroniumselain suojaa käyttäjää haittaohjelmilta. Luvussa 5 esitellään kuinka Ajax-sovelluksien tietoturvaa testataan ohjelmallisesti. Lopuksi luvussa 6 on yhteenveto Ajaxin tietoturvasta ratkaisuineen.

7 3 2. AJAX JA SEN LUOMAT TIETOTURVALLISUUSONGELMAT 2.1 Ajax Perinteisessä verkkopalvelussa, kun selain tekee pyynnön palvelimelle, se pyytää kokonaista verkkosivua. Verkkopalvelu vastaa generoimalla kokonaisen HTML-kielisen verkkosivun ja palauttaa sen selaimelle. Selain reagoi tähän hylkäämällä entisen sivun ja korvaamalla sen uudella. Tämä hukkaa resursseja, sillä verkkopalvelu usein generoi sivuja, jotka ovat melkein identtisiä vanhan sivun kanssa. Lisäksi verkkoliikennettä hukataan siirtämällä suuria melkein samanlaisia verkkosivuja uudestaan ja uudestaan, jonka ajan käyttäjä joutuu odottamaan sivun latautumista. Ajax on kokoelma teknologioita, joilla yritetään ratkaista perinteisen verkkopalvelun ongelmia. Ajax mahdollistaa verkkosivun osittaisen päivittämisen reaaliaikaisesti ilman että käyttäjän tarvitsee koskaan lähettää lomaketta tai edes lähteä verkkosivulta. Asiakaspuolen skriptikoodi (yleensä JavaScript) tekee asynkronisia kyselyitä noutaakseen verkkosivun paloja, jotka joko voidaan muuntaa HTML:ksi asiakaspäässä tai ne ovat valmista palvelimella generoitua HTML:ää. Kummassakin tapauksessa asiakaspään skripti muokkaa vastauksen perusteella dokumenttioliomallia (DOM) sisältämään uuden datan. Asynkronisuuden johdosta käyttäjä voi jatkaa verkkosivun käyttämistä vaikka vastaus palvelulta ei ole vielä saapunut. Ajax tulee sanoista Asynchronous JavaScript And XML. Termin luojan Jesse James Garretin mielestä Ajax ei ole akronyymi, vaikka muun maailman mielestä se on [1] Asynkroninen Tyypillisessä verkkopalvelussa on työpöytäsovellukseen verrattuna paljon enemmän viiveitä: selaimen täytyy käsitellä käyttäjän toiminta, kuten napin painaminen, käsittelyn jälkeen pyyntö tehdään palvelimelle. Palvelin käsittelee pyynnön ja lähettää vastauksen, johon selaimen on reagoitava. Kaikkeen tähän menee aikaa ja verkkotekniikasta johtuen, myös ylimääräisiä viiveitä saattaa muodostua. Asynkronisuudella pyritään pienentämään käyttäjälle näkyviä viiveitä. Tekemällä pienempiä kyselyitä, voidaan pienentää siirrettävän ja käsiteltävän datan määrää. Kun ei pysäytetä verkkopalvelun käyttöä pyynnön käsittelyn ajaksi, palvelu vaikuttaa käyttäjästä nopeammalta ja paremmin reagoivammalta.

8 2. Ajax ja sen luomat tietoturvallisuusongelmat JavaScript Ajaxissa asiakaspuolen skriptikoodia käytetään yhdistämään teknologiat toisiinsa. Vaikka Ajax mahdollistaa myös muiden skriptikielien käyttämisen, kuten VBScriptin, JavaScript on ylivoimaisesti suosituin kieli Ajaxin yhteydessä. Yksinkertainen verkkosivu, joka ottaa käyttäjän syötteen, lähettää sen palvelimelle, joka vastaa samanlaisella sivulla, johon on liitetty käyttäjän syöte, olisi seuraavanlainen. <html > <head> < t i t l e > Y k s i n k e r t a i n e n e s i m e r k k i < / t i t l e > < / head> <body> <form a c t i o n =" i n p u t. php " method="get"> S y ö t e t t y t e k s t i o l i : foo < input type =" t e x t " / > < input type =" s u b m i t " value =" P ä i v i t ä " / > < / form> < / body> < / html> Ohjelma 2.1: Perinteinen verkkosivu Ajaxilla toteutettuna verkkosivu näyttää selaimessa täsmälleen samanlaiselta, mutta kooditasolla se eroaa hyvinkin paljon. Päivitä -nappi ei enää päivitä koko sivua, sen sijaan se lähettää syötetyn arvon palvelimelle ja päivittää sivusta vain syötetyn sanan esittävän osan palvelimen vastauksen perusteella. Vaikka näin pienessä ohjelmassa tämä vaikuttaa turhalta työltä, niin Ajaxin hyödyt tulevat esille suuremmissa sovelluksissa paljon paremmin. Kooditasolla verkkosivu näyttää seuraavalta. <html > <head> < t i t l e > Y k s i n k e r t a i n e n e s i m e r k k i < / t i t l e > < s c r i p t type =" t e x t / j a v a s c r i p t " > v a r h t t p R e q u e s t = new XMLHttpRequest ( ) ; f u n c t i o n g e t I n p u t V a l u e ( ) { / / l ä h e t e ä ä n s y ö t e k ä y t t ä e n a j a x i a v a r params = document. getelementbyid ( i n p u t V a l u e ). v a l u e ; h t t p R e q u e s t. open ( "GET", " i n p u t. php " + "? " + params, t r u e ) ; } f u n c t i o n h a n d l e I n p u t C h a n g e d ( ) { / / l i s ä t ä ä n p a l v e l i m e n v a s t a u s s i v u l l e v a r i n p u t S p a n = document. getelementbyid ( i n p u t ) ; i n p u t S p a n. c h i l d N o d e s [ 0 ]. d a t a = h t t p R e q u e s t. r e s p o n s e T e x t ; }

9 2. Ajax ja sen luomat tietoturvallisuusongelmat 5 < / s c r i p t > < / head> <body> S y ö t e t t y t e k s t i o l i : <span id =" i n p u t ">foo < / span> < input type =" t e x t " id =" i n p u t V a l u e " / > < input type =" s u b m i t " value =" P ä i v i t ä " o n c l i c k =" g e t I n p u t V a l u e ( ) ; " / > < / body> < / html> Ohjelma 2.2: Ajaxilla varustettu verkkosivu Koko lomakkeen lähettämisen sijaan Päivitä -nappia painaessa kutsutaan getinputvalue -funktiota, joka lähettää kentän arvon palvelimelle ja vastauksen tullessa handleinputchanged -funktio päivittää saadun arvon sivulle XML XML täydentää Ajaxin teknologiat ja se on vähiten merkitsevin: JavaScript mahdollistaa osittaiset päivitykset, asynkronisuus tekee osittaisista päivityksistä kannattavia, mutta XML on käytännössä vapaaehtoinen tapa rakentaa pyyntöjä ja vastauksia. XML:n sijasta voidaan käyttää myös muita vaihtoehtoja tämän saavuttamiseen. Usein käytetään JSON:ia (JavaScript Object Notation) ja edellisessä esimerkissä käytettiin selkokielistä vastausta, joka päivitettiin sivulle sellaisenaan. 2.2 Tietoturvaongelmien yleisyys JavaScript on skriptikieli, jolla on nopea toteuttaa verkkosovelluksien Ajax-ominaisuuksia, mutta JavaScriptissä on myös useita ominaisuuksia, jotka mahdollistavat tietoturvaaukkoja: mm. toimintalogiikan ylenpalttinen siirtäminen asiakkaalle, validointien puutteellinen toteuttaminen, eval-funktion käyttö, joka mahdollistaa merkkijonon tulkitsemisen JavaScriptiksi ja ulkopuolisten JavaScript-tiedostojen sisällyttäminen liian suurilla oikeuksilla. Nämä mahdollistavat hyökkääjän ilkeämielisen koodin injektoimisen ja siten ajamisen. Yuen ja Wangin tutkimuksen mukaan[2] 66.4% tutkituista verkkosivuista sisällytti JavaScriptiä ulkopuolisista lähteistä täysillä oikeuksilla, 44.4% verkkosivuista käyttivät eval-funktiota JavaScriptin generoimiseen ja document.write-funktion sekä innerhtml-ominaisuuden käyttö oli huomattavasti yleisempää dynaamiseen JavaScriptin generoimiseen kuin turvallisempien DOM-funktioiden käyttö. Näitä tietoturvaaukkoja luovia toteutusratkaisuja voidaan välttää perusteellisella suunnittelulla.

10 6 3. VERKKOSOVELLUSTA VASTAAN HYÖKKÄÄMINEN Ajaxin arkkitehtuuri mahdollistaa uusia hyökkäystapoja, mutta perinteiset tietoturvaongelmat ovat edelleen pääasiallinen hyökkäystapa myös Ajax-sovelluksissa. Hyökkääjät voivat käyttää olemassa olevia hyökkäystekniikoita ja Ajax-arkkitehtuuri tekee niistä tehokkaampia. Ajax-sovelluksen turvaaminen vaatii myös perinteisten tietoturvaongelmien ymmärtämisen. 3.1 Perinteinen verkkosovellus Hyökkäystekniikat perinteisissä verkkosovelluksissa jaetaan kahteen pääkategoriaan: resurssien luettelointi ja parametrien manipulointi. Lisäksi Cross Site Request Forgery (CSRF), verkkourkinta (eng. phishing) ja kolmannen kategorian muodostavat palvelunestohyökkäykset.[1] Resurssien luettelointi Resurssien luettelointi on yksinkertaisimmillaan arvailua, jotta löydettäisiin sisältöä, joka on palvelimella, mutta sitä ei ole julkisesti mainostettu. Tälläistä sisältöä voidaan noutaa, kun käyttäjä pyytää oikeaa URLia, vaikka siihen ei ole yhtään linkkiä koko verkkosovelluksessa. Esimerkiksi tiedosto readme.txt hakemistossa bar. Verkkosivustolla foo.com ei ole yhtään linkkiä tiedostoon readme.txt, mutta se voidaan noutaa, jos käyttäjä pyytää URLia Yksinkertaisin resurssien luettelointi -hyökkäys on arvailla yleisesti käytössä olevia hakemistojen ja tiedostojen nimiä. Tätä kutsutaan sokeaksi resurssien luetteloinniksi, koska hyökkääjällä ei ole mitään lähtökohtaa verkkosivulla, jonka perusteella yrittää jotain tiettyä nimeä. Hyökkääjä yrittää tiedostojen niminä esimerkiksi install.txt, whatsnew.txt ja faq.txt. Näitä tiedostonimiä koitetaan useaan hakemistoon kuten admin ja test. Täydellinen lista, joita hyökkääjä käyttää, sisältää satoja tiedosto- ja hakemistonimiä. Sokea luettolointi on tehokasta, koska kehittäjät seuraavat käytäntöjä: kehittäjä nimeää tiedostot samanlailla kuin kaikki muutkin kehittäjät. Kehittyneempää luettelointitekniikkaa kutsutaan tietoon perustuvaksi resurssien luetteloinniksi. Tekniikan kokeilemat resurssien nimet perustuvat verkkosovelluksessa olevien

11 3. Verkkosovellusta vastaan hyökkääminen 7 tiedostojen nimiin. Esimerkiksi jos verkkosovelluksessa on tiedosto checkout.php, hyökkääjä kokeilee checkout.bak, checkout.old ja checkout.tmp nimisiä tiedostoja. Jos kehittäjältä on jäänyt tälläsiä tiedostoja palvelimelle, hyökkääjä voi saada koko verkkosivun lähdekoodin. Tietoon perustuvaa resurssien luettelointia voidaan käyttää myös parametrien arvoihin. Hyökkääjä tietää, että verkkosovelluksessa on sivu nimeltä product.aspx ja että sivu ottaa parametrina id:n. Hyökkääjä tallentaa koko verkkosivuston käyttämällä Web Crawleria ja huomaa, että id:t ovat positiivisia nelinumeroisia lukuja välillä Hän huomaa myös että vaikka mahdollisia sivuja kyseisellä välillä on 1500 kpl, crawler tallensi vain 1200 sivua. Puuttuvat id:t hyökkääjä voi helposti päätellä ja yrittää hakea niitä vastaavat sivut, jotka jostain syystä on jätetty linkkien ulkopuolelle Parametrien manipulointi Hyökkääjät tyypillisesti muokkaavat selaimen ja verkkosovelluksen välillä liikkuvaa dataa saadakseen sovelluksen tekemään jotain mihin sitä ei ole suunniteltu. Tätä kutsutaan parametrien manipuloinniksi. Näitä hyökkäyksiä yritetään sovelluksen reunakohtiin joita kehittäjä ei ole huomioinut ja näin saavat sovelluksen toimimaan väärin. Esimerkiksi sovelluksessa pyydetään postinumeroa ja hyökkääjä syöttää arvon -1. Jos kehittäjä ei huomioi virheellistä arvoa, hyökkääjä voi saada tietoa sovelluksesta poikkeuksen muodossa. Tyypillisin parametrien manipulointihyökkäys on SQL-injektio. Siinä parametrin arvoksi annetaan SQL käskyjä, hyökkääjän toivoessa että käskyt ajetaan tietokantaan puutteellisen validoinnin vuoksi. Aikaisemmassa esimerkissä oli /product.aspx?id=1000, josta palvelin muodostaa seuraavan SQL-lauseen. SELECT d e s c r i p t i o n FROM P r o d u c t s WHERE i d = 1000 Hyökkääjä testaa onko sovelluksessa tietoturva-aukko tekemällä pyynnön osoitteeseen /product.aspx?id=, jolloin palvelin muodostaa kyselyn: SELECT d e s c r i p t i o n FROM P r o d u c t s WHERE i d = Jos palvelin vastaa hyökkääjälle tietokannan virheviestillä, hyökkääjä tietää että sovelluksessa on tietoturva-aukko ja voi ajaa omia käskyjään tietokantaan. Esimerkiksi noutaa tietokannan sisältöä tekemällä kyselyn: / p r o d u c t. aspx? i d = 1 UNION SELECT name FROM s y s o b j e c t s WHERE x t y p e = U AND name > t b l _ g l o b a l s Toinen hyvin yleinen parametrien manipulointihyökkäys on Cross-Site Scripting (XSS). Toisin kuin SQL-injektiossa, XSS-hyökkäyksessä tarkoituksena on saada ajettua hyökkääjän koodi palvelimen sijaan kohteen selaimessa. XSS-aukkoja muodostuu kun käyttäjän syöte näytetään sellaiseen palautettavalla verkkosivulla, esimerkiksi hakutuloksissa ja

12 3. Verkkosovellusta vastaan hyökkääminen 8 keskustelufoorumeilla. XSS-hyökkäykset jaetaan kolmeen kategoriaan[3]: peilatut, pysyvät ja DOM-pohjaiset hyökkäykset. Peilatuissa hyökkäyksissä hyökkääjän injektoima koodi annetaan pyynnön parametrina ja huijataan käyttäjä pyytämään kyseistä URLia esimerkiksi sähköpostissa sosiaalisen manipuloinnin keinoin. Pysyvässä hyökkäyksessä hyökkääjän koodi talletetaan palvelimelle, esimerkiksi wikiin tai blogiin, johon voi tallentaa kommentteja. Tämän tyyppinen hyökkäys on käyttäjälle peilattua hyökkäystä vaarallisempi, sillä se ei vaadi sosiaalista manipulointia, riittää että käyttäjä avaa sivun, johon hyökkääjän koodi on talletettu. DOM-pohjaisessa hyökkäyksessä aukko perustuu käyttäjän antaman syötteen kirjoittamiseen DOMiin, esimerkiksi käyttäjän nimi näytetään sivulla ystävällisessä Tervetuloailmoituksessa. Jos syötteeksi annetaan hyökkäyskoodia, se kirjoitetaan DOMiin ja ajetaan Muut hyökkäykset Resurssien luetteloinnin ja parametrien manipuloinnin lisäksi on muita hyökkäyksiä, jotka eivät sovi kumpaankaan kategoriaan. Näitä ovat mm. Cross-Site Request Forgery (CSRF), verkkourkinta ja palvelunestohyökkäykset. CSRF-hyökkäyksessä tarkoituksena on tehdä petoksellisia pyyntöjä palvelimelle käyttäen uhrin tunnistautumistietoja. CSRF-hyökkäys on samankaltainen kuin XSS-hyökkäys, molemmissa tarkoituksena on ajaa ilkeämielisiä toimintoja. Erona näissä on luottamuksen väärinkäyttö. XSS-hyökkäyksessä käyttäjä luottaa, että kaikki sisältö verkkosivulla on tarkoituksen mukaista ja sivun kehittäjän sivulle pistämää. CSRF-hyökkäyksessä verkkosovellus luottaa siihen että kaikki käyttäjän toiminnat ovat tarkoituksella tehtyjä käyttäjän toimesta. Esimerkiksi pankkisovellus, jossa voi tehdä 1000 euron tilisiirron tilille 1234 pyynnöllä /manageaccount.php?transferto=1234&amount=1000 kunhan käyttäjä on autentikoitu. Tätä luottamusta on helppo hyväksi käyttää esimerkiksi käyttäjän vieraillessa ilkeämielisellä verkkosivulla, jossa on kuvalinkki <img src=http://www.bank.com/ manageaccount.php?transferto=5678&amount=1000/>, pankkisovellus tekee tilisiirron käyttäjän tietämättä jos käyttäjä on autentikoitunut. Verkkourkinnassa (eng. phishing) käyttäjiä huijataan verkkosivustoilla, jotka näyttävät samalta kuin käyttäjien normaalisti käytettävät verkkosivut. Näillä sivustoilla yritetään urkkia käyttäjätunnuksia, salasanoja tai muita henkilökohtaisia tietoja. Useimmat selaimet sisältävät tänä päivänä mustan listan, johon on talletettu tunnettuja urkintasivustoja, mutta tämä alkaa olemaan vanhentunut menetelmä, koska hyökkääjät käyttävät kehittyneempiä hyökkäyksiä kuten XSS:ää, jolloin musta lista ei huomaa urkintaa.

13 3. Verkkosovellusta vastaan hyökkääminen 9 Palvelunestohyökkäyksissä hyökkääjä lähettää niin paljon kyselyitä että palvelin ei ehdi käsittelemään kaikkea, jolloin palvelin sammuttaa verkkosovelluksen. Hyökkääjän kannalta tämä ei vaadi paljoakaan, koska kyselyiden tekeminen on helppoa, mutta palvelin voi kuluttaa viisinkertaisen ajan kyselyn käsittelyyn. 3.2 Ajax verkkosovellus Ajaxia hyödyntävissä verkkosovelluksissa on laajempi hyökkäyspinta-ala. Kun perinteisessä verkkosovelluksessa voidaan hyökätä vain syötekenttään, Ajaxin käyttöönotto kasvattaa hyökkäyspinta-alan sisältämään myös syötekentän käsittelevän verkkopalvelun Syötekentät Perinteisessä verkkopalvelussa hyökkäykset tapahtuvat syötekenttiä vastaan. Näitä ovat mm. ilmiselvät lomakkeiden syötteet, evästeet, otsakkeet, palvelimelle lähetettävien kyselyiden parametrit ja palvelimen hyväksymät käyttäjän omat tiedostot. Lomakkeiden näkyvät kentät ovat helpoin hyökkäyskohde, koska ne todennäköisesti käsitellään palvelimella. Näkyviä kenttiä vastaan on myös helppo hyökätä, koska kaikki lomakkeen näkyvät kentät renderöidään selaimeen ja hyökkääjä voi kirjoittaa hyökkäyksensä suoraan lomakkeeseen. Evästeisiin yleensä tallennetaan istunnon identifikaatio tai autentikoinnin tunnus. Nämä lähetetään käyttäjän koneelle ja selain lähettää ne palvelimelle jokaisella sivupyynnöllä. Vaikka evästeet ovat palvelimen generoimia riippumatta käyttötarkoituksesta, mikään ei estä hyökkääjää muokkaamasta evästettä, joka lähetetään takaisin palvelimelle. Siispä myös evästeiden sisältö pitää aina käsitellä palvelimella kuin se olisi käyttäjän syöttämä. Otsakkeet (eng. headers) ovat selaimen generoimia, joihin käyttäjä ei voi suoraan vaikuttaa. Hyökkääjät kuitenkin voivat muilla ohjelmilla kuin selaimella tehdä omia otsakkeita tai muokata selaimen lähettämiä ja siten, jos verkkosovellus käsittelee otsakkeita, nekin pitää käsitellä siten kuin ne olisi käyttäjän tekemiä syötteitä. Lomakkeiden piilokentät ovat kuten evästeet ja otsakkeet, niillä ei ole graafista esitysmuotoa mutta käyttäjä voi määritellä ne itse selaimen ulkopuolella. Verkkosovellus ei siis saa luottaa että piilokentät olisivat samat kuin sivua luotaessa. Palvelimelle lähetettävissä kyselyissä olevat parametrit ovat myös käyttäjän syötteitä ja nämä voivat olla avoimia SQL-injektioille. Normaalin datan välittämisen lisäksi, parametrejä käytetään toisinaan istunnon seuraamiseen ilman evästettä. Tämä istunnon tunnisteen lisääminen parametrilistaan avaa aukon hyökkääjälle esiintyä toisena käyttäjänä, jos hyökkääjä saa tunnisteen tietoonsa. Lisäksi usein kehittäjät unohtavat takaovia ominaisuuksiin joihin normaaleilla käyttäjillä ei pitäisi olla pääsyä. Esimerkiksi parametrillä

14 3. Verkkosovellusta vastaan hyökkääminen 10 debug=on, sovellus antaisi ylimääräistä statistiikkaa, mutta tämän parametrin selvittäminen ei ole hyökkääjällä suurikaan haaste. Käytännössä näitä takaovia ei saisi olla vaikka ne olisivat piilotettu käyttäjältä koodin ohjelmallisella sekoituksella. Jotkut verkkosovellukset sallivat käyttäjän lähettävän omia tiedostoja, esimerkiksi kuvia tai tyylitiedostoja, jotka muokkaavat sovelluksen ulkonäköä. Myös nämä pitäisi käsitellä virheellisen syötteen varalta, ettei verkkosivustolle saada näiden tiedostojen kautta sisällytettyä hyökkääjän koodia Verkkopalvelut Ajaxin hyödyntäminen verkkosovelluksessa avaa Ajaxin käyttämän verkkopalvelun hyökkäykselle. Melkein kaikki hyökkäykset mitä voidaan tehdä syötekentille, voidaan tehdä myös verkkopalvelulle. Niitä vastaan on myös hyvin helppo hyökätä, koska sovelluksen käyttämät palvelut ovat helposti löydettävissä ja ne todennäköisesti käsitellään palvelimella. Verkkopalvelu myös kasvattaa mahdollisia syötteiden lukumäärää, koska palvelun metodilla voi olla useita parametreja ja jokaista vastaan voidaan hyökätä. Ajaxin hyödyntäminen sovelluksessa myös paljastaa palvelimen toimintalogiikkaa käyttäjälle. Kun perinteisessä verkkosovelluksessa verkkopalvelusta paljastui esimerkiksi vain dokumentin tallennusmetodi, niin Ajaxia hyödyntävä versio sovelluksesta paljastaa myös oikeinkirjoituksen ja kieliopin tarkistavat metodit.

15 11 4. TEKNIIKOITA TIETOTURVA-AUKKOJEN VÄHENTÄMISEEN VERKKOSOVELLUKSISSA Verkkosovelluksien tietoturva-aukkoja voidaan vähentää useilla tavoilla, jotka voidaan jakaa JavaScript-kielen, selaimen ja verkkosovelluksen kehittäjän vastuulle. 4.1 JavaScriptin turvamekanismit JavaScriptissä on omat turvamekanisminsa, joilla yritetään vähentää ilkeämielisen koodin ajamista. Näitä mekanismeja kutsutaan Same-Origin Policyksi ja hiekkalaatikoksi.[4] Same-Origin Policy rajoittaa JavaScript-koodin pääsyn vain saman verkko-osoitteen muuttujiin ja se myös rajoittaa koodia sen suhteen mihin verkko-osoitteisiin koodi voi ottaa yhteyttä. Samaksi verkko-osoitteeksi määritellään osoite, jolla on sama verkkotunnus, protokolla ja portti. Ei ole vaikutusta mistä osoitteesta JavaScript-koodin lataa, vaan ainoastaan dokumentin lähteellä, johon JavaScript on sisällytetty. Esimerkiksi osoitteen google.com JavaScript ei pääse käsiksi osoitteen ebay.com evästeisiin. Taulukossa 4.1 on listattu mille sivuille osoitteen JavaScriptillä on pääsy. Taulukko 4.1: Saman verkko-osoitteen määrittäminen osoitteelle URL Pääsy Sallittu Syy Kyllä Sama verkkotunnus, protokolla ja portti https://www.site.com/page.html Ei Eri protokolla Ei Eri verkkotunnus Ei Eri verkkotunnus Ei Eri portti JavaScriptin hiekkalaatikko rajoittaa mitä skripti voi tehdä kun se ajetaan. Ulkopuolisesta verkko-osoitteesta ladattu JavaScript ei tue luku- ja kirjoitusoperaatiota paikallisiin tiedostoihin. Lisäksi hiekkalaatikko rajoittaa JavaScriptin tukemien ominaisuuksien toimintaa. Esimerkiksi asiakkaan ajama JavaScript voi käyttää HTTP-protokollaa vaihtaakseen dataa palvelimen kanssa tai vaikka ladata dataa FTP-palvelimelta. Mutta se ei voi avata socket-yhteyttä ulkopuoliseen palvelimeen eikä palvelin voi ottaa yhteyttä asiakkaan ajamaan skriptiin. Seuraavaksi on listattu ominaisuuksia joita hiekkalaatikko voi rajoittaa. Nämä rajoitukset tosin eroavat selainten välillä.

16 4. Tekniikoita tietoturva-aukkojen vähentämiseen verkkosovelluksissa 12 JavaScript-koodi voi avata uusia selainikkunoita, mutta useimmat selaimet rajoittavat tätä popup-mainostajien varalta siten, että ikkuna avataan vain käyttäjän toimesta. Esimerkiksi kun käyttäjä klikkaa jotain komponenttia. JavaScript-koodi voi sulkea ikkunoita, jotka se on itse avannut, mutta se ei voi sulkea muita ikkunoita ilman käyttäjän varmistusta. JavaScript-koodi ei voi piilottaa linkkien kohteita asettamalla linkille status-tekstiä. Skripti ei voi avata ikkunaa, joka on liian pieni kooltaan tai pienentää avattua ikkunaa liian pieneksi. Skripti ei myöskään voi siirtää ikkunaa piiloon näytön ulkopuolelle tai luoda ikkunaa, joka on suurempi kuin näyttö. Tällä estetään skriptien ajaminen ilman että käyttäjä huomaisi sitä. 4.2 Chromium-selaimen tietoturva-arkkitehtuuri Chromium-selaimen arkkitehtuuri on rakennettu tietoturva huomioon ottaen.[5] Selaimessa jokainen välilehti on omassa prosessissa, joita hallinnoi selaimen kerneli. Jokaisella prosessilla on oma JavaScript-tulkki ja siten oman hiekkalaatikko, jolloin JavaScriptsovellukset on eriytetty toisistaan. Jokaisella välilehtiprosessilla on renderöintimoottori, joka tulkkaa ja ajaa verkkosisältöä tarjoamalla oletustoiminnan. Renderöintimoottori sisältää suurimman osan selaimen monimutkaisuudesta ja se kommunikoi suoraan verkon epäluotettavan sisällön kanssa. Esimerkiksi renderöintimoottori jäsentää suurimman osan sisällöstä kuten HTML:n, kuvat ja JavaScriptin. Selaimen kerneli hallinnoi renderöintimoottorit, ikkunoinnin, verkkosovelluksen pysyvän tilan, evästeet ja tallennetut salasanat. Se myös vuorovaikuttaa verkkoliikenteen ja käyttöjärjestelmän natiivin ikkunointijärjestelmän välillä. Kerneli lisäksi hallinnoi tilatietoa oikeuksista, joita on kullekin renderöintimoottorille annettu. Tällä tilatiedolla kerneli toteuttaa turvallisen kommunikoinnin vaarannetun renderöintimoottorin ja käyttäjän käyttöjärjestelmän välillä. Taulukossa 4.2 on taulukoitu kuinka Chromiumin tietoturvaarkkitehtuuri jakaa tehtävät renderöintimoottorien ja selaimen kernelin välillä.

17 4. Tekniikoita tietoturva-aukkojen vähentämiseen verkkosovelluksissa 13 Taulukko 4.2: Tehtävien jakaminen renderöintimoottorien ja selaimen kernelin välillä Renderöintimoottori Selaimen kerneli HTML:n jäsentäminen Evästetietokanta CSS:n jäsentäminen Historiatietokanta Kuvien purkaminen Salasanatietokanta JavaScriptin tulkkaaminen Ikkunoiden hallinta Säännölliset lausekkeet Sijaintipalkki Ulkoasu Turvallisen selaamisen mustalista DOM:n hallinta Verkkopino Renderöinti SSL /TLS SVG:n hallinta Välimuistin hallinta XML:n jäsentäminen Tiedostonlatausjärjestelmä XSLT muunnokset Leikepöytä Molemmat URL:n jäsentäminen Unicoden jäsentäminen Tämä verkkosisällön eriyttäminen omiin renderöintimoottoreihin takaa, että jokainen verkkosovellus voi toimia vain rajatulla määrällä toimintoja, eivätkä voi sekaantua muihin verkkosovelluksiin tai käyttöjärjestelmään. Arkkitehtuuri ei myöskään riko tukea jo olemassa oleville verkkosovelluksille. 4.3 Turvallinen verkkosovellus Täysin turvallinen verkkosovellus ei koskaan voi olla, mutta on olemassa tekniikoita joilla hyökkääjälle ilmiselviä turva-aukkoja voi vähentää. Mm. datan validointi, johon hyökkääjä voi vaikuttaa, koodin ohjelmallinen sekoittaminen ja toimintalogiikan mahdollisimman vähäinen siirto asiakkaalle.[1] Perinteisessä verkkosovelluksessa datan validoinnilla tarkoitetaan käyttäjän syötteiden, evästeiden, tiedostojen ja istuntojen oikeellisuuden varmistamista. Ajax-sovelluksissa lisäksi pitää validoida Ajaxin paljastaman verkkopalvelun metodit ja niiden parametrit, varsinkin kun Ajaxin paljastamasta verkkopalvelusta on helppo selvittää parametrien tyypit ja paluuarvot. Tämä helpottaa hyökkäämistä sillä poikkeavan datan generointi on helpompaa, kun tiedetään minkälaista dataa palvelu odottaa. Tekniikoita datan validointiin ovat mm. musta lista, valkoinen lista ja säännölliset lausekkeet. Mustalla listalla tarkoitetaan listaa johon on tallennettu kaikki kielletyt syötteet. Esimerkiksi voidaan kieltää <script>-tagi XSS-hyökkäyksen varalta. Mutta mustan listan ongelma on se, että siihen pitää tallentaa kaikki mahdolliset vaihtoehdot. Esimer-

18 4. Tekniikoita tietoturva-aukkojen vähentämiseen verkkosovelluksissa 14 kiksi <script>-tagi voidaan antaa myös muidoissa <SCRIPT> ja javascript::. Selain tulkitsee nämä kaikki samalla tavalla ja ajaa ne. Valkoinen lista toimii päinvastaisesti kuin musta lista. Siinä listataan vain arvot, jotka ovat sallittuja. Esimerkiksi sallitaan sähköpostiosoitteeksi merkkijonot joissa merkki tekstin keskellä. Tämä tosin sallisi osoitteita joissa on tai viallisia verkko-osoitteita. Valkoisen listan ongelmana onkin suodattimen tarkan määrittelyn vaikeus. Suodattimen pitäisi päästää läpi kaikki validit osoitteet, mutta ei yhtään epävalidia. Säännöllisillä lausekkeilla voidaan tarkastaa monimutkaisia validiussääntöjä ohjelmallisesti. Esimerkiksi lausekkeella voidaan tarkastaa että syöte alkaa aakkosilla tai numeroilla, syötteen alkuosa saattaa sisältää viivoja tai pisteitä, alkuosan jälkeen jälkeen täytyy tulla vähintään yksi mutta enintään kolmen kirjain ja numero osan joukko pisteillä erotettuna ja viimeisen osan täytyy päättyä pisteeseen. Lopuksi syötteen pitää päättyä johonkin validiin korkean tason domainiin kuten.com tai.org. Näiden tekniikoiden yhdistämien tuo kaikkein tehokkaiman lopputuloksen: säännöllisillä lausekkeilla toteutettu valkoinen lista, jota täydennetään mustalla listalla sulkemaan poikkeukset pois, joita valkoinen lista ei suodata. Koodin ohjelmallinen sekoittaminen on tekniikka, jossa koodista poistetaan kommentit, muuttujat ja funktion nimet lyhennetään pariin merkkiin sekä koodilohkot uudelleenjärjestellään eval-funktion avulla. Esimerkiksi a l e r t ( " H e l l o World! " ) ; sekoitettaisiin muotoon: a = " o Wor" ; b = " a l e " ; c = " l d! \ " ) " ; d = " r t ( \ " H e l l " ; e v a l ( b + d + a + c ) ; Nämä koodin pätkät ovat toiminnaltaan samanlaisia mutta jälkimmäinen on paljon hankalampi lukea. Sekoitustekniikoita on loputtomasti ja on olemassa kaupallisia ratkaisuja sekoittamisen automatisoimiseen, joka tekee luettavuudesta käytännössä mahdotonta. Mutta sekoittamiseen ei saa luottaa turvallisena ratkaisuna, koska jos koodi voidaan ohjelmallisesti sekoittaa, se voidaan myös ohjelmallisesti selventää. Tosin sekoitettu koodi saattaa suojata hyökkääjiltä, joilla ei ole taitoja tai kärsivällisyyttä selventää koodia.[1]

19 4. Tekniikoita tietoturva-aukkojen vähentämiseen verkkosovelluksissa 15 Ajax-sovelluksissa toimintalogiikkaa siirretään asiakkalle, jotta saavutetaan pienempi datan siirto palvelimen ja asiakkaan välille sekä vähemmän dataa palvelimen käsiteltäväksi pyyntöjen yhteydessä. Tietoturvan kannalta siirrettävä logiikka pitäisi minimoida, sillä toimintalogiikan paljastaminen helpottaa hyökkäystä. Esimerkiksi kauppasovellus siirtää hintojen yhteenlaskun asiakkaalle ja verkkopalvelu vastaanottaa lasketun yhteishinnan. Hyökkääjä voi muuttaa laskun lopputuloksen ja tilata tuotteet haluamallaan hinnalla. Vaikka toimintalogiikkaa on pakko siirtää asiakkaalle, se pitäisi rajoittaa ei-kriittisiin toimintoihin kuten kartan liikutteluun tai muuhun tietosisällön esittämiseen.

20 16 5. AJAX-SOVELLUSTEN TIETOTURVAN TESTAUS Tietoturvan testaus on määrittelemättömän toiminnallisuuden etsimistä. Se että sovellus toimii määrittelyn mukaan, ei takaa, että se voisi tehdä myös jotain muutakin. Ajaxsovellusten tietoturvan testaus tapahtuu hyvin samaan tapaan kuin hyökkäys. Koska pelkkä selain ei riitä tuottamaan kaikkia kyselyitä mitä hyökkääjät käyttävät, on testaukseen käytettävä siihen suunniteltua ohjelmistoa. Näillä ohjelmistoilla voi generoida tuhansia kyselyitä, joista saadaan tilastotietoa löydetyistä aukoista. Testaukseen on sekä avoimia että kaupallisia ohjelmistoja.[1] Testaus aloitetaan selvittämällä mitä verkkosovelluksesta pitää testata eli mitkä verkkosivut ja -palvelut ovat saavutettavissa. Tähän on kolme tekniikkaa: sivujen automaattinen haku linkkejä seuraamalla, välityspalvelimen kuunteleminen ja lähdekoodin analysointi. Verkkosivujen automaattista tallennusta varten ohjelmalle annetaan aloitussivu, josta ohjelma alkaa tallentaa sivuja rekursiivisesti linkkejä seuraamalla. Tallentimen ollessa täysin automaattinen, se ei vaadi interaktiota testaajalta, mutta se ei myöskään osaa reagoida esimerkiksi lomakkeisiin siten, että kentät saisivat järkeviä arvoja. Välityspalvelinta kuuntelemalla tallennetaan sivuja sitä mukaa kuin testaaja niitä käyttää. Tämä vaatii testaajalta enemmän työtä, varsinkin jos sovellus on iso, kuin automaattinen tallennus. Mutta testaaja osaa täyttää lomakkeet järkevästi ja siten avata sivuja joihin tallennin ei pääse. Mutta kumpikaan näistä tekniikoista ei löydä kaikkia sivuja: automaattisella tallentimella ei ole pääsyä sivuille, joille ei ole yhtään linkkiä ja ihmistestaajalta saattaa jäädä sivuja testaamatta. Lähdekoodin analysoinnilla löydetään kaikki sivut ja palvelut sekä mahdolliset takaovet, joita koodiin on kirjoitettu. Analysointityökalulle annetaan koko sovelluksen lähdekoodi ja tämä on tekniikan ainoa huono puoli. Jos verkkosovellus käyttää jotain toista julkista verkkosovellusta, testaajalla ei todennäköisesti ole pääsyä tämän toisen sovelluksen lähdekoodiin. Verkkosovelluksen tallennettuaan testaaja testaa sovellusta joko mustalaatikkotestauksella tai analysoimalla koodia lisää. Mustalaatikkotestauksessa tehdään samanlaisia kyselyitä sovellukselle kuin mitä käyttäjä voisi tehdä. Testaustyökalut lähettävät näitä kyselyitä ja analysoivat palvelimelta saatuja vastauksia tunnettuun odotettuun vastaukseen.

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Salasanojen turvallinen tallentaminen KeePass ohjelmalla Salasanojen turvallinen tallentaminen KeePass ohjelmalla KeePass on vapaasti saatavilla oleva, avoimen lähdekoodin ohjelma, jonka tarkoituksena on auttaa salasanojen hallinnassa. Tämä KeePass ohje on päivitetty

Lisätiedot

GroupWise Calendar Publishing Host User

GroupWise Calendar Publishing Host User GroupWise 8 Calendar Publishing Host User 8 17. lokakuu 2008 Novell GroupWise Calendar Publishing Host User PIKAKÄYNNISTYS www.novell.com YLEISTÄ Novell GroupWise Calendar Publishing Host User on Web-pohjainen

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML Järjestelmäarkkitehtuuri (TK081702) Ajax 2000-luvun alkuvuosina selainsotien rauhoituttua ohjelmistotalot alkoivat kehittää selainten luoman uuden ohjelmointiympäristön käyttötapoja. Syntyi AJAX (Asynchronous

Lisätiedot

Worldpress ohje. Artikkelin kirjoittaminen, päivittäminen, kuvan, linkin, lomakkeen ja Google-kalenterimerkkinnän lisääminen

Worldpress ohje. Artikkelin kirjoittaminen, päivittäminen, kuvan, linkin, lomakkeen ja Google-kalenterimerkkinnän lisääminen Worldpress ohje Artikkelin kirjoittaminen, päivittäminen, kuvan, linkin, lomakkeen ja Google-kalenterimerkkinnän lisääminen Kun päivität sivuja, kirjaudu omalla salasanalla ja lisäksi jäsenten yhteisellä

Lisätiedot

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012 Tiedostot Uudet ominaisuudet: - Ei Tiedostot-kohtaa alueen sisällä, vaan tiedostonvalitsin, jolla tiedostot tuodaan alueelle siihen kohtaan missä ne näytetään - Firefox-selaimella voi työpöydältä raahata

Lisätiedot

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi

Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE. KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi 2015 Kangasniemen yrityshakemisto KÄYTTÖOHJE YRITTÄJÄLLE KANGASNIEMEN KUNTA yrityshakemisto.kangasniemi.fi 1 Sisällysluettelo 1. Sivustolle rekisteröityminen... 2 2. Yrityksen lisääminen... 3 2.1. Yritystiedot...

Lisätiedot

Tuplaturvan tilaus ja asennusohje

Tuplaturvan tilaus ja asennusohje Tuplaturvan tilaus ja asennusohje 1. Kirjaudu lähiverkkokauppaan omilla tunnuksillasi tai luo itsellesi käyttäjätunnus rekisteröitymällä Lähiverkkokaupan käyttäjäksi. a. Käyttäjätunnus on aina sähköpostiosoitteesi.

Lisätiedot

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta. Sanasto Sanasto -työkalulla voi laatia sanakirjan tapaisen sanaston, jonka hakusanoja (käsitteitä ja niiden määritelmiä) voidaan selata ja opettajan niin halutessa myös kommentoida. Sekä opettaja että

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje ARFM- hankkeessa jatkokehitetylle SoftGIS-työkalulle Dokumentti sisältää ohjeistuksen osallistavan suunnittelun työkalun käyttöön. Työkalu on käytettävissä

Lisätiedot

RATKI 1.0 Käyttäjän ohje

RATKI 1.0 Käyttäjän ohje RATKI RATKI 1.0 Käyttäjän ohje Ohje 0.5 Luottamuksellinen Vastuuhenkilö Petri Ahola Sisällysluettelo 1. Yleistä... 3 1.1. Kuvaus... 3 1.2. Esitiedot... 3 1.3. RATKIn käyttöoikeuksien hankinta... 3 1.4.

Lisätiedot

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Ohje 1 (10) Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje Sisällys 1 Johdanto... 1 2 Suojatun viestin vastaanottaminen... 1 3 Suojatun viestin lukeminen... 2 4 Vastaanotetun

Lisätiedot

Informaatiotekniikan kehitysyksikkö

Informaatiotekniikan kehitysyksikkö SAVONIA Savonia RPM Käyttöopas Informaatiotekniikan kehitysyksikkö 18.8.2011 Sisällysluettelo 1. Perusnäkymä... 3 2. Kirjautuminen... 4 3. Rekisteröinti... 5 4. Idean jättäminen... 6 4. Arviointi... 8

Lisätiedot

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa: XHTML - harjoitus Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa Tiedoston tallennus notepad (muistio) ohjelmassa: Jokaisen XHTML-dokumentin tulisi alkaa XML-määrittelyllä(engl.XML-prologue),

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje InnoGIS- hankkeen aikana kehitetylle pilottiversiolle Dokumentti sisältää pilottiversiona toimivan kyselyn laatimiseen ja vastaamiseen liittyvän ohjeistuksen.

Lisätiedot

Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin

Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin Tekniikka 11.10.2015 10:45 Olavi Koistinen, Helsingin Sanomat Yhteystietojen siirto Androidista iphoneen kuin Gmail-käyttäjätunnus.

Lisätiedot

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). 1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.

Lisätiedot

Uuden Peda.netin käyttöönotto

Uuden Peda.netin käyttöönotto Sisällysluettelo Uuden Peda.netin käyttöönotto...2 Sisään- ja uloskirjautuminen...2 OmaTila...3 Peda.netin yleisrakenne...4 Työvälineet - Sivut...5 Sivun lisääminen omaan profiiliin:...5 Sivun poistaminen

Lisätiedot

Juricon Nettisivu Joomlan käyttöohjeet

Juricon Nettisivu Joomlan käyttöohjeet Juricon Nettisivu Joomlan käyttöohjeet Sisällysluettelo Julkaisujärjestelmä hallinta... 3 Joomla-järjestelmän ylävalikolla on seuraavia:... 3 Valikot... 4 Kategoriat ja artikkelit... 5 Lisäosat ja moduulien

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Sisällys Word Wep App... 3 Excel Web App... 7 Powerpoint Web App OneNote Web App Excel Kysely Valmiin tiedoston tuonti Skydrive Pro

Sisällys Word Wep App... 3 Excel Web App... 7 Powerpoint Web App OneNote Web App Excel Kysely Valmiin tiedoston tuonti Skydrive Pro 1 Sisällys Word Wep App... 3 Excel Web App... 7 Powerpoint Web App... 11 OneNote Web App... 17 Excel Kysely... 20 Valmiin tiedoston tuonti Skydrive Pro ohjelmaan... 25 Blogi... 27 Kansiot... 28 Skydrive

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

6 XML-työkalut 1. 6 XML-työkalut

6 XML-työkalut 1. 6 XML-työkalut 6 XML-työkalut 1 6 XML-työkalut XML:n periaatteiden tutustumisen jälkeen on helpompi tutustua XML-dokumenttien käsittelyyn ja katseluun suunniteltuja työkaiuja. XML:n yleistymisen pahin pullonkaula on

Lisätiedot

Rekisteriseloste. MyLyconet-verkkosivusto

Rekisteriseloste. MyLyconet-verkkosivusto Rekisteriseloste MyLyconet-verkkosivusto Tietosuojan turvaaminen on Lyonessille ja tämän MyLyconet-verkkosivuston ( Verkkosivusto ) omistajalle ( Omistaja ) [omistajan nimi] ehdottoman tärkeää. Alla olevissa

Lisätiedot

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript) Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript) Kurssin toisessa harjoitustyössä tutustutaan verkkosivujen toiminnallisuuden toteuttamiseen JavaScript:n avulla. Lisäksi käydään läpi verkkosivuston

Lisätiedot

TIEDONHAKU INTERNETISTÄ

TIEDONHAKU INTERNETISTÄ TIEDONHAKU INTERNETISTÄ Internetistä löytyy hyvin paljon tietoa. Tietoa ei ole mitenkään järjestetty, joten tiedonhaku voi olla hankalaa. Tieto myös muuttuu jatkuvasti. Tänään tehty tiedonhaku ei anna

Lisätiedot

Lisätehtävät. Frantic 2015 sivu 1 www.frantic.com

Lisätehtävät. Frantic 2015 sivu 1 www.frantic.com Lisätehtävät Frantic 2015 sivu 1 www.frantic.com Fontit - Google fonts Fonttien käyttäminen verkossa ilman uusien fonttien lataamista on melko rajattua, sillä koskaan ei voi tietää mitä fontteja vastaanottajan

Lisätiedot

24MAGS PIKAOHJE HALLINTAPANEELIN KÄYTTÖÖN

24MAGS PIKAOHJE HALLINTAPANEELIN KÄYTTÖÖN 24MAGS PIKAOHJE HALLINTAPANEELIN KÄYTTÖÖN 24Mags Asiakaspalvelu support@24mags.com 020 734 0570 1 SISÄLLYSLUETTELO 1. Uuden julkaisun luominen 3 1.1 Julkaisun nimi 3 1.2 Ladattava PDF-tiedosto 3 1.3 pakkauslaatu

Lisätiedot

KÄYTTÖOHJE / Ver 1.0 / Huhtikuu WordPress KÄYTTÖOHJE Sotkamo 2016

KÄYTTÖOHJE / Ver 1.0 / Huhtikuu WordPress KÄYTTÖOHJE Sotkamo 2016 / / WordPress KÄYTTÖOHJE Sotkamo 2016 Sisältö Sisältö 1. Yleistä 2. Kirjautuminen ylläpitoon 2.1. Kirjaudu osoitteessa: http://sotkamo.valudata.fi/admin Myöhemmin: http://www.sotkamo.fi/admin 2.2 Salasana

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa

OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa OHJE 1 (14) Peruskoulun ensimmäiselle luokalle ilmoittautuminen Wilmassa Wilman hakemukset ja muut lomakkeet EIVÄT NÄY mobiililaitteisiin asennettavissa Wilma-sovelluksissa. Huoltajan tulee siis käyttää

Lisätiedot

opiskelijan ohje - kirjautuminen

opiskelijan ohje - kirjautuminen opiskelijan ohje - kirjautuminen estudio on Edupolin kehittämä e-oppimisympäristö koulutusryhmän verkkoalustana perinteisen luokkaopetuksen tukena tai etäopiskelussa ja -opetuksessa kotoa tai työpaikalta.

Lisätiedot

10 yleistä hakukoneoptimointivirhettä

10 yleistä hakukoneoptimointivirhettä 10 yleistä hakukoneoptimointivirhettä Markus Ossi SEO Technician Klikkicom 2011-05-26 2 Henkilökuva Markus Ossi 32 vuotias ekonomi Tehnyt hakukoneoptimointia vuodesta 1998 Hakukoneoptimointiteknikk o Klikkicomissa

Lisätiedot

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli Laatijat: Veli Mikko Puupponen ja Ilkka Rautiainen Päivämäärä: 26.5.2014 Versio: 1.0.0 1. Testausympäristö ja yhteenveto Testatun

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Kysymystyyppien kanssa kannatta huomioida, että ne ovat yhteydessä tentin asetuksiin ja erityisesti Kysymysten toimintatapa-kohtaan, jossa määritellään arvioidaanko kysymykset

Lisätiedot

EU Login. EU Login kirjautuminen. EU Login tilin luominen

EU Login. EU Login kirjautuminen. EU Login tilin luominen EU Login EU Login kirjautuminen EU Login järjestelmä mahdollistaa keskitetyn pääsyn useisiin eri Euroopan Komission verkkosovelluksiin yhdellä käyttäjätunnuksella ja salasanalla. EU login varmistaa identiteettisi

Lisätiedot

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009

Verkkosivut perinteisesti. Tanja Välisalo 11.2.2009 Verkkosivut perinteisesti Tanja Välisalo 11.2.2009 WWW-sivujen vieminen omaan kotisivutilaan yliopiston mikroverkossa https://salasana.jyu.fi Klikkaa painiketta Activate WWW Klikkaa painiketta Activate

Lisätiedot

Turvallinen veneily -näyttö. VesselView-ohjelmiston päivittäminen. Automaattinen WiFi-haku. Micro SD -kortin käyttäminen. Osa 1 - Alkuvalmistelut

Turvallinen veneily -näyttö. VesselView-ohjelmiston päivittäminen. Automaattinen WiFi-haku. Micro SD -kortin käyttäminen. Osa 1 - Alkuvalmistelut Turvallinen veneily -näyttö Kun VesselView käynnistetään sen oltua sammutettuna vähintään 30 sekuntia, näyttöön tulee turvalliseen veneilyyn liittyviä ohjeita sisältävä ikkuna. Jatka painamalla Accept

Lisätiedot

Hyvä tietää ennen kuin aloitat

Hyvä tietää ennen kuin aloitat Tämä on hakijan ohje Suomen Akatemian verkkoasioinnin käyttöön. Järjestelmän käyttö edellyttää rekisteröitymistä. Hyvä tietää ennen kuin aloitat Järjestelmän tukemat selainohjelmat ja niiden versiot: Tuetut

Lisätiedot

Kuva: Ilpo Okkonen

Kuva: Ilpo Okkonen OodiHOPS OHJAAJAN OHJE 14.2.2017 Kuva: Ilpo Okkonen OodiHOPS Oulun yliopistossa Oulun yliopiston koulutusneuvosto on päättänyt, että OodiHOPS-toiminto otetaan käyttöön vähintään aloittavilla opiskelijoilla

Lisätiedot

10 Nykyaikainen WWW-arkkitehtuuri

10 Nykyaikainen WWW-arkkitehtuuri 10 Nykyaikainen WWW-arkkitehtuuri è è è 10 Nykyaikainen WWW-arkkitehtuuri WWW on ylivoimaisesti suosituin hypertekstijärjestelmä. Käydään seuraavaksi läpi nykyaikaisen WWW-arkkitehtuurin perusteet. Vuonna

Lisätiedot

INTINU13A6 Java sovellukset

INTINU13A6 Java sovellukset Johdanto Kurssin tavoitteena oli luoda tietokantaa käyttävä websovellus Java EE ohjelmointikielellä, sekä hyödyntää muun muassa servlettejä sekä JSP sivuja ja muita tekniikoita monipuolisesti. Webserverinä

Lisätiedot

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

Lisätiedot

Miten siirrän omat työni Office 365:stä Peda.nettiin sekä jaan sen siellä muille Eija Arvola

Miten siirrän omat työni Office 365:stä Peda.nettiin sekä jaan sen siellä muille Eija Arvola Miten siirrän omat työni Office 365:stä Peda.nettiin sekä jaan sen siellä muille Eija Arvola 16.12.2017 UUDEN SIVUN LUOMINEN OMAAN TILAAN Jos haluat tallentaa omia töitäsi Peda.nettiin, sinun pitää luoda

Lisätiedot

Webinaariin liittyminen Skype for

Webinaariin liittyminen Skype for Webinaariin liittyminen Skype for Business Web Appin kautta Ohjeet Sähköpostin Liity webinaariin tästä -linkki Kun klikkaat Osallistumisohjeet webinaariin -sähköpostiviestissä olevaa Liity webinaariin

Lisätiedot

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys WWW-OHJELMOINTI 1 WWW-ohjelmoinnin kokonaisuus SGML, XML, HTML WWW-selaimen sovellusohjelmointi WWW-palvelimen sovellusohjelmointi Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 26.10.2000

Lisätiedot

Kuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen:

Kuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen: Kuukauden kuvat kerhon galleriaan 1.4.2016 lähtien kuukaudenkuvaajan kuvagalleria on siirretty uudelle palvelimelle osoitteeseen: http://www.kamera73.fi/kuukaudenkuvaaja Kukin seuran jäsen voi laittaa

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

Opintokohteiden muokkaus

Opintokohteiden muokkaus 1 Opintokohteiden muokkaus Näiden ohjeiden avulla hahmottuu kuinka opintokohteita voidaan muokata Opinto-oppaassa. Ohje on suunnattu käyttäjille, joilla on WebOodiin OpasMuokkaaja-oikeudet. WebOodin käyttölupia

Lisätiedot

QR-koodit INNOSTAVAA HAUSKAA PALJON KÄYTTÖTAPJA HELPPOA ILMAISTA MOTIVOIVAA

QR-koodit INNOSTAVAA HAUSKAA PALJON KÄYTTÖTAPJA HELPPOA ILMAISTA MOTIVOIVAA QR-koodit QR-koodit INNOSTAVAA HAUSKAA PALJON KÄYTTÖTAPJA HELPPOA MOTIVOIVAA ILMAISTA QR-koodi paljon tietoa Koodin avulla pääsee nopeasti halutulle verkkosivulle tai esim. YouTube-videoon ilman osoitteen

Lisätiedot

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen Nellistä voi siirtää kirjallisuuslistoja Moodle-oppimisympäristöön. Näin voidaan tarjota opiskelijalle esimerkiksi verkkokurssin oheislukemistona

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Mainosankkuri.fi-palvelun käyttöohjeita

Mainosankkuri.fi-palvelun käyttöohjeita Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...

Lisätiedot

edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015

edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015 edocker PUBLISH! -paketinhallinnan käyttöohje 9/2015 Uusien EDTPLIB- ja PDF -pakettien vienti ohjatulla toiminnolla...3 Tiedoston tarkistus...3 Kohdejulkaisun valinta... 4 Numeron tiedot... 5 Yhteenveto...6

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Salasanojen hallinta Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION Restaurant Enterprise Solution Asiakirjan tarkoitus Tämä asiakirja kertoo tarvittavat säännöt kuinka hallinnoida RES salasanoja

Lisätiedot

KÄYTTÖOHJE. Servia. S solutions

KÄYTTÖOHJE. Servia. S solutions KÄYTTÖOHJE Servia S solutions Versio 1.0 Servia S solutions Servia Finland Oy PL 1188 (Microkatu 1) 70211 KUOPIO puh. (017) 441 2780 info@servia.fi www.servia.fi 2001 2004 Servia Finland Oy. Kaikki oikeudet

Lisätiedot

AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE

AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE OHJEITA MOODLEN KÄYTTÖÖN Moodle on avoimeen lähdekoodiin perustuva verkko-oppimisympäristö. Omalta Moodlealueeltasi löydät kurssin materiaalit, tehtävät, uutiset/tiedotteet,

Lisätiedot

Finnan ja kirjaston palveluiden ohjeita

Finnan ja kirjaston palveluiden ohjeita Finnan ja kirjaston palveluiden ohjeita Sisältö 1. Kirjautuminen Haka-kirjautumisella... 2 2. Kirjastokortin liittäminen... 6 3. Lainojen uusiminen... 7 4. Teoksen varaaminen... 8 5. Hyllyvarauksen tekeminen...

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN

OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN OPAS KULTA2 -JÄRJESTELMÄN KÄYTTÖÖN 1. Kulta2 -järjestelmän käyttäminen ensimmäistä kertaa s. 1-3 2. Järjestelmään kirjautuminen olemassa olevalla käyttäjätunnuksella ja salasanalla s. 4-5 3. Hakemuksen

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Tiedostojen jakaminen turvallisesti

Tiedostojen jakaminen turvallisesti Tiedostojen jakaminen turvallisesti Taustaa Tiedostojen jakaminen sähköisesti (File Sharing) on ollut joissakin organisaatioissa ongelmallista hallita. Jaettaviksi halutut viestit ovat liitetiedostoineen

Lisätiedot

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy

Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy Opiskelijoiden OneDriveohje Kaakkois-Suomen Ammattikorkeakoulu Oy Mikkelin Ammattikorkeakoulu Oy Kymenlaakson Ammattikorkeakoulu Oy Ohjeen nimi Opiskelijoiden OneDrive-ohje Vastuuhenkilö Mari Jokiniemi

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

OpasOodi Opintokohteiden muokkaus

OpasOodi Opintokohteiden muokkaus 1 OpasOodi Opintokohteiden muokkaus Näiden ohjeiden avulla hahmottuu kuinka opintokohteita voidaan muokata n OpasOodissa. Ohje on suunnattu käyttäjille, joilla on in OpasMuokkaaja-oikeudet. n käyttölupia

Lisätiedot

Kuvan ottaminen ja siirtäminen

Kuvan ottaminen ja siirtäminen Kuvan ottaminen ja siirtäminen Kuvien ottaminen Kuvien ottaminen tapahtuu oppilaiden omien kännykkäkameroiden tai koulun tablettien kameran avulla o Työ tehdään pareittain, joten ainakin toisella työparin

Lisätiedot

Epooqin perusominaisuudet

Epooqin perusominaisuudet Epooqin perusominaisuudet Huom! Epooqia käytettäessä on suositeltavaa käyttää Firefox -selainta. Chrome toimii myös, mutta eräissä asioissa, kuten äänittämisessä, voi esiintyä ongelmia. Internet Exploreria

Lisätiedot

OpasOodi Opintokohteiden muokkaus

OpasOodi Opintokohteiden muokkaus 1 OpasOodi Opintokohteiden muokkaus Näiden ohjeiden avulla hahmottuu kuinka opintokohteita voidaan muokata n OpasOodissa. Ohje on suunnattu käyttäjille, joilla on in OpasMuokkaaja-oikeudet. n käyttölupia

Lisätiedot

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari

JWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti

Lisätiedot

Uutta Remote Support Platform 3.0 -versiossa

Uutta Remote Support Platform 3.0 -versiossa Uutta Remote Support Platform for SAP Business One Asiakirjaversio: 1.0 2012-10-08 Kaikki maat Typografiset merkintätavat Kirjasintyyli Esimerkki Näytöstä lainatut sanat tai merkit. Näitä ovat kenttien

Lisätiedot

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut Ohjelmointikurssin järjestäminen Helsingin yliopiston Ohjelmoinnin MOOC-kurssimateriaalin avulla 15.4.2016 1 Linkki Tietojenkäsittelytieteen

Lisätiedot

Automaattinen yksikkötestaus

Automaattinen yksikkötestaus Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Automaattinen yksikkötestaus Ryhmä Rajoitteiset Versio Päivämäärä Tekijä

Lisätiedot

Metsähallituksen Tarjouspalvelu.fi toimittajaportaalin esittely. Taimikonhoidon ja istutuksen hankinnat

Metsähallituksen Tarjouspalvelu.fi toimittajaportaalin esittely. Taimikonhoidon ja istutuksen hankinnat Metsähallituksen Tarjouspalvelu.fi toimittajaportaalin esittely Taimikonhoidon ja istutuksen hankinnat Tarjouspalvelu.fi -toimittajaportaali https://tarjouspalvelu.fi/metsähallitus Tämän palvelun kautta

Lisätiedot

ESRC:n uusiutumassa olevat kotisivut on toteutettu WordPress-ohjelmalla (WP). Samaa ohjelmaa käyttävät menestyksellä ainakin SSql, HSRC ja JSK.

ESRC:n uusiutumassa olevat kotisivut on toteutettu WordPress-ohjelmalla (WP). Samaa ohjelmaa käyttävät menestyksellä ainakin SSql, HSRC ja JSK. PIKAOHJEET VIESTIEN KÄYTTÖÖN ESRC:N KOTISIVUILLA Versio 3, 27.12.2006 ESRC:n uusiutumassa olevat kotisivut on toteutettu WordPress-ohjelmalla (WP). Samaa ohjelmaa käyttävät menestyksellä ainakin SSql,

Lisätiedot

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

OP-eTraderin käyttöopas

OP-eTraderin käyttöopas OP-eTraderin käyttöopas Tämä käyttöopas on lyhennetty versio virallisesta englanninkielisestä käyttöoppaasta, joka löytyy etrader - sovelluksen Help-valikosta tai painamalla sovelluksessa F1 -näppäintä.

Lisätiedot

Tietotekniikkakeskuksen palvelut ja opiskelijan tietoturva

Tietotekniikkakeskuksen palvelut ja opiskelijan tietoturva Olavi Manninen, tietotekniikkakeskus / Kuopion kampus 2.9.2011 Johdatus akateemisiin opintoihin Tietotekniikkakeskuksen palvelut ja opiskelijan tietoturva Tietotekniikkakeskuksen palveluista Tietotekniikkakeskus

Lisätiedot

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla

Selaimen kautta käytettävällä PaikkaOpin kartta-alustalla PaikkaOppi Mobiililla 19.1.2017 Sisällys Slide 3. Mikä on PaikkaOppi Mobiili? Slide 4. Kaavio PaikkaOppi Mobiilin käytön aloituksesta. Slidet 5-7. Tunnusten ja kurssin luominen ennen sovelluksen käyttöä. Slide 8. Hae sovellus

Lisätiedot

PILVIPALVELUT HYÖTYKÄYTÖSSÄ. Jarkko Muhonen TeamProg

PILVIPALVELUT HYÖTYKÄYTÖSSÄ. Jarkko Muhonen TeamProg PILVIPALVELUT HYÖTYKÄYTÖSSÄ Jarkko Muhonen TeamProg Mikä ihmeen pilvipalvelu? Pilvipalvelu tarkoittaa, että ohjelmat ja asiakirjat eivät sijaitse omalla koneella vaan jossakin internetissä sijaitsevalla

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 1.0 19.10.2007 Suanto 0.3 18.10.2007 Matti Eerola 0.2 17.10.2007

Lisätiedot

Kokeile uutta Celianetiä testiympäristössä

Kokeile uutta Celianetiä testiympäristössä 3.3.2017 Kokeile uutta Celianetiä testiympäristössä 1 Aiheet 1. Yleistä 2. Avaa sivu ja kirjaudu sisään 3. Luo itsellesi omat tunnukset 4. Kirjaudu omilla tunnuksillasi 5. Rekisteröi uusi asiakas 6. Katso

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

Lisätiedot

KÄYTTÖOHJEET PERUSTEET SANASTOA KIRJAUTUMINEN OPETUKSEN TYÖTILAT. Kopan osoite koppa.tampere.fi

KÄYTTÖOHJEET PERUSTEET SANASTOA KIRJAUTUMINEN OPETUKSEN TYÖTILAT. Kopan osoite koppa.tampere.fi KÄYTTÖOHJEET Kopan osoite koppa.tampere.fi PERUSTEET Käytä mieluiten Firefox-, Opera-, Chrome- tai Internet Explorer 8 selainta. SANASTOA Dashlet: Työpöydälle tai työtilaan sijoitettava ikkuna tai pienohjelma.

Lisätiedot

Kurssin hallinta -työväline

Kurssin hallinta -työväline Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,

Lisätiedot

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Laajuus 5 op Luennot: 12 x 2t 11.3.2014 29.4.2014 Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus Lähiopetuksen jäkeen harjoitustyö ja tentti Aulikki Hyrskykari

Lisätiedot

Yrityspalvelujärjestelmä

Yrityspalvelujärjestelmä Yrityspalvelujärjestelmä Voit tehdä tyylikkäät nettisivut yrityksellesi YPJ:n sivueditorilla. Sivueditorin avulla on helppoa päivittää ittää ja ylläpitää sivuja silloin, i kun sinulle parhaiten sopii.

Lisätiedot

Ensimmäisen myyntiprojektin tarjouksen luonti

Ensimmäisen myyntiprojektin tarjouksen luonti 1 Ensimmäisen myyntiprojektin tarjouksen luonti Johdanto Tarjous on dokumentti, jossa määritellään myytävä tuote tai palvelu, sekä sen hinta. Asiakas voi hyväksyä tarjouksen (jolloin seuraava vaihe on

Lisätiedot

HTML5 -elementit jatkuu

HTML5 -elementit jatkuu HTML5 -elementit jatkuu Harjoitus: xhtml.htm -> html5.htm Muuta tämä xhtml dokumentti HTML5:ksi: http://users.metropolia.fi/~norrm/s12/kalasu/xhtml.htm Validoi myös koodisi: http://validator.w3.org/ "Mallivastaus"

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeet Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeen tyylit kannattaa määritellä omaan, eriliseen,

Lisätiedot

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti

Lisätiedot

Asko Ikävalko, k0201291 22.2.2004 TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Asko Ikävalko, k0201291 22.2.2004 TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen Asko Ikävalko, k0201291 22.2.2004 TP02S-D Ohjelmointi (C-kieli) Projektityö Työn valvoja: Olli Hämäläinen Asko Ikävalko LOPPURAPORTTI 1(11) Ratkaisun kuvaus Käytetyt tiedostot Tietuerakenteet Onnistuin

Lisätiedot