Ohjelmistokehittäjä, ymmärrä hakkereiden ajattelutapa!
Ohjelmistokehittäjä ja hakkeri katsovat sovelluksia hyvin eri näkökulmista. Tietoturvan kannalta yksi tärkeimmistä ohjelmistokehittäjän taidoista olisikin ymmärtää hakkereiden ajattelutapaa, jotta hän osaa suojata ohjelmistoa hyökkäyksiltä. Esimerkiksi penetraatiotestauksen harjoittelu on loistava tapa lähestyä ohjelmistoa erilaisesta näkökulmasta. Toki ohjelmistokehittäjän on myös tunnettava käyttämiensä ohjelmointikielten ja -kirjastojen mukaiset tietoturvalliset ohjelmointikäytännöt.
Mitkä ovat yleisimmät tietoturvahaavoittuvuudet?
Yleisimmät tietoturvahaavoittuvuudet riippuvat sovellustyypistä – esimerkiksi verkkosovelluksista löytyy tyypillisesti pääsyoikeuksienhallintaan liittyviä haavoittuvuuksia. Toinen yleinen haavoittuvuustyyppi liittyy erilaisten syötteiden ja tulosteiden validoimiseen. OWASP julkaisee muutaman vuoden välein listan tyypillisistä verkkosovelluksien tietoturvariskeistä.
Uudet haavoittuvuudet syntyvät usein salakavalasti. Ohjelmistokehityksessä pääpaino on tietenkin toiminnallisuuksien kehittämisessä. Ajan ja rahan tehdessä tiukkaa, tietoturva jää usein vähäiselle huomiolle, ellei sitä ole jalkautettu mukaan ohjelmistokehitykseen. Tietoturva-aktiviteettien johtaminen puolestaan vaatii osaamista niin ohjelmistokehityksestä kuin tietoturvasta, eikä organisaatiosta välttämättä löydy tätä yhdistelmää.
Mitä keinoja haavoittuvuuksien ehkäisemiseksi ja korjaamiseksi?
Haavoittuvuuksien ehkäisemistä kannattaa tehdä ohjelmistokehityksen jokaisessa vaiheessa. Aluksi määritellään tietoturvavaatimuksia ja mallinnetaan uhkia, sitten testataan sovelluksen tietoturvaa sekä kehityksen aikana että sen jälkeen, ja käyttöönoton jälkeen vielä tarkkaillaan ohjelmiston toimintaa.
Jotta pysyy ajan tasalla uusimmista tietoturvauhista ja haavoittuvuuksista, on välttämätöntä seurata erilaisia viestintäkanavia. Esimerkiksi Traficom tiedottaa erilaisista haavoittuvuuksista, ja erilaiset palveluntarjoajat viestivät omien järjestelmiensä haavoittuvuuksista. Ohjelmistokehitystä tekevän organisaation on tunnistettava oman järjestelmänsä riippuvuudet ja seurattava erityisesti niihin liittyvistä haavoittuvuuksista tiedottavia kanavia.
Ohjelmistokehitystä riskilähtöisesti
Tietoturvan tulisi olla mukana ohjelmistokehityksen jokaisessa vaiheessa. Tiivistetysti sanoen ohjelmistokehityksessä tulisi käyttää riskilähtöistä toimintamallia. Tällöin toiminta pohjaa uhkamalliin ja riskianalyysiin, joita käyttäen määritellään normaalin vaatimusmäärittelyn osana tietoturvavaatimukset. Testaukseen liitetään tietoturvatestaus, jolla varmistetaan näiden vaatimusten toteutuminen.
Yksi tunnetuimmista turvallisen ohjelmistokehityksen viitekehyksistä on Microsoftin kehittämä Security Development Lifecycle. Virallista standardia turvalliselle ohjelmistokehitykselle ei ole, mutta erilaisia viitekehyksiä ovat kehittäneet myös mm. OWASP ja NIST. Kotimaisia viitekehyksiä löytyy sekä DVV:ltä että Traficomilta.
Syvenny tietoturvaan kursseillamme
Tieto- ja kyberturvallisuus ovat tärkeämpiä kuin koskaan nykymaailmassa. Organisaatiot ovat ottaneet asian onneksi tosissaan, mutta asiantuntemuksen puute voi silti hidastaa turvallisuusasioiden edistämistä – valitettavan usein törmätään tilanteisiin, että hyvätkin kehitysajatukset ovat tyssänneet riittämättömään tietotaitoon asiasta.
Tieturi yhteistyössä Huldin kanssa tarjoaa käytännönläheisiä tietoturvakoulutuksia, joita vetävät Huldin kokeneet tietoturva-asiantuntijat. Koulutuksemme tarjoavat helpon ja kustannustehokkaan tavan kehittää organisaatiosi tietoturvaosaamista – ilmoittaudu mukaan!
- Automaatiojärjestelmien kyberturvallisuus (IEC 62443)
- Tietoturvallinen ohjelmistokehitys
- Web-sovellusten tietoturvatestaus
- Tietoturvariskien hallinta