Sovellusten ja ohjelmistojen turvallisuus: Mikä ero on?

Monica Chakraborti

Termejä 'sovellusturva' ja 'ohjelmistoturva' käytetään usein keskenään. Näiden kahden välillä on kuitenkin tosiasiallinen ero. Tietoturvan edelläkävijä Gary McGraw väittää, että ohjelmistoturva on reaktiivinen lähestymistapa, joka tapahtuu ohjelmiston asentamisen jälkeen. Ohjelmistoturvaan puolestaan ​​sisältyy aktiivinen lähestymistapa käyttöönottoa edeltävässä vaiheessa. Suojaus on luotava kaikille ohjelmistokehityksen (SDLC) elinkaaren vaiheille ohjelmiston turvallisuuden varmistamiseksi. Joten ohjelmistoturva ei ole sovellusten tietoturva - se on valtava.

Sovellusten suojaus osa ohjelmistoturvaa

Kuten tiedät, sovellukset ovat linkkejä datan ja käyttäjän (tai muun sovelluksen) välillä. Jos käyttäjä haluaa esimerkiksi kattavan analyysin potilaan lääketieteellisistä tiedoista, se voidaan tehdä helposti sovelluksella, jotta vältetään monimutkaiset ja aikaa vievät manuaaliset laskelmat. Samoin verkkopankkitoiminta tapahtuu verkkosovellusten tai mobiilisovellusten kautta, ja muut kuin taloudelliset tiedot prosessoidaan, siirretään ja tallennetaan prosessissa. Ohjelmisto ei tunnusta minkään Internetissä siirretyn tai siirretyn tiedon luottamuksellisuutta. Siksi ohjelmisto tulisi suunnitella ja kehittää prosessoitavan tiedon herkkyyden perusteella. Jos tiedot luokitellaan "julkisiksi", niihin voidaan päästä ilman käyttäjän todennusta. Yksi esimerkki on verkkosivuston yhteystietosivulta tai käytäntösivulta löytyvät tiedot. Kuitenkin, jos sovellus suorittaa käyttäjän hallinnan, silloin on oltava monitekijäinen todennusmenetelmä tietojen käyttämiseksi. Sovelluksessa käsiteltyjen tietojen luokituksen mukaan turvallisen koodauksen lisäksi tietojen on oltava todennettavia, valtuutettuja ja suojattuja varastoinnin tai kuljetuksen aikana. Se tulisi mitata SDLC: n jokaisessa vaiheessa ohjelmiston ja siihen liittyvien arkaluontoisten tietojen suojaamiseksi. Tämä toimenpide jakaa ongelmat kehitystä edeltävään ja jälkeiseen vaiheeseen. Ohjelmistoturva kuitenkin käsittelee käyttöönottoa edeltäviä ongelmia ja ohjelmistoturvaongelmia käyttöönoton jälkeen.

Ohjelmistoturva (jakelua edeltävä) toiminta sisältää:

- Suojattu ohjelmistojen suunnittelu - Suojattujen koodausohjeiden kehittäminen kehittäjille - Suojattujen konfigurointimenettelyjen ja jakeluvaiheen standardien kehittäminen - Suojattu koodaus vahvistettujen ohjeiden mukaisesti - Käyttäjän syötteiden ja asiaankuuluvuuden tarkistaminen koodausstrategioiden toteuttaminen - käyttäjän todennus - Käyttäjäistunnon hallinta - Toimintotason käyttöoikeuksien hallinta - Vahvan salaustekniikan käyttö tietojen suojaamiseksi levossa ja kuljetuksen aikana - Kolmannen osapuolen komponenttien tarkistaminen - Ohjelmistovirheiden poistaminen

Sovellusten suojaus (toimeksiannon jälkeinen) toiminta sisältää:

- Post hosting -testit - Puutteiden havaitseminen ohjelmistoympäristön kokoonpanossa - Haittaohjelmien havaitseminen (tuottama tausta, aikapommi) - Paikkaus / modernisointi - IP-suodatus - Poista käytettyjä tiedostoja - Ota ohjelmistokäytäntö käyttöön Suoritusaikaohjelmien seuranta suorituskyvyn parantamiseksi

Lisätietoja on kohdassa Building Security Maturity Model (BSIMM).

Skenaario 1: Verkkosovellusten tietoturva Web-sovellukset ovat usein asiakas-palvelinpohjaisia ​​sovelluksia, joissa selain toimii asiakkaana, lähettää käyttäjälle pyyntöjä tietojen toimittamiseksi ja vastaanottaa vastauksia palvelimelta. Siksi verkkosovellusten turvallisuus liittyy asiakaskysymyksiin, palvelinsuojaukseen ja tietosuojaan lepo- ja kauttakulkun aikana. Ellei varotoimenpiteitä suunnitellaan käyttöliittymän suunnittelussa, asiakaspuolen ongelmien ratkaiseminen on vaikeampaa. Yksi esimerkki on DOM-pohjaiset sivustopohjaiset skriptit, joissa DOM-objektia voidaan muokata toisesta DOM-objektista Javascriptin avulla. Nykyaikaiset selaimet tarjoavat paremman suojan sovelluksille, mutta monet ohjelmat tukevat edistynyttä yhteensopivuutta, joka sisältää laajan joukon käyttäjiä, selainten vanhemmat versiot ja suojaamattomat tietokoneet. Siksi, kun käsitellään näitä kysymyksiä, asiakkaan tulisi suorittaa turvallisuus suunnitteluvaiheessa. Sovelluksen kehitys- ja koodausvaiheissa palvelinpuolen komponentit voidaan suojata vastapuolien avulla. Tämä vaatii suojatun järjestelmän / palvelinohjelmiston asentamisen. Vanhentuneita palvelinohjelmistoja, kuten Apache Tomcat (3.1 ja vanhemmat), ei enää tueta, ja näihin versioihin saattaa liittyä odottamattomia haavoittuvuuksia. Ne tulisi päivittää heti uusimpaan versioon.

Muut yleiset infrastruktuurin turvallisuusheikkoudet:

- Verbose-palvelinpalkit - Välimuistisivut, jotka tallentavat tietoja paikallisesti ja siirrettäessä - Palvelimen tukemat salatut niput - Evästeiden vaikutukset verkkotunnuksen verkkoosoitteisiin - Evästeiden suojaus

Skenaario 2: Mobiilisovellusten turvallisuus

Erilaiset käyttöjärjestelmät ja mobiilijärjestelmät, kuten älypuhelimet ja tablet-laitteet, jotka käyttävät tietoturvasuunnittelua, ovat nykyään yleisempiä kuin verkkosovellukset. Nämä laitteet ja näillä laitteilla toimivat sovellukset voivat aiheuttaa vakavan uhan heidän tallentamalle arkaluontoiselle tiedolle. Yritysten sähköpostit ja henkilökohtaiset kontaktit voivat altistua epäluotettaville verkoille. Nämä ohjelmat ovat vuorovaikutuksessa monien tukipalveluiden kanssa. Laitteet voidaan varastaa. Haittaohjelmat on mahdollista asentaa. Mobiilisovelluksia voidaan luoda käänteisesti, jotta pääset luottamuksellisiin tietoihin. Nämä ovat vain muutamia mahdollisuuksista. Lisäksi jotkut mobiililaitteiden markkinointisovellukset voivat kerätä henkilökohtaisia ​​tai ammatillisia tietoja, kuten tekstiviestejä, puheluhistoriaa ja yhteystietoja.

Mobiilipohjaisten ohjelmistojen riskitekijöitä ovat:

- Sovelluksen koodaus - Sovelluksen käyttöönotto - Sovelluksen kokoonpano - Laitteen kokoonpano

Mobiilisovellusten on kyettävä sisäiseen juurien / jailbreak -ilmaisimien kykyyn, täydelliseen vastustuskykyyn käänteistekniikan suhteen, useiden kasvojen todennukseen, sormenjälkien, kuvan ja paikkatietojen havaitsemiseen. Puhumattakaan tarpeesta noudattaa turvallisia koodausohjeita. Eri mobiililaitteiden myyjien sovelluskaupat käyttävät erilaisia ​​suojaustarkastuksia. Varmista, että sovelluksia ei ole rikki jakeluprosessin aikana. Täysi vastus on erityisen tärkeä tässä vaiheessa. Näitä ohjelmia käyttävät laitteet käyttävät ohjelmistojaan, ja ne voidaan konfiguroida turvallisesti. Sovelluskoodisuojaukseen, juurien / haittaohjelmien tunnistukseen, todennukseen ja kanavien varmentamiseen liittyvien laitteiden määrittäminen on suoritettava mobiililaitteiden määritysstandardien mukaisesti. Asia ei ole pelkästään korostettava ohjelma; mobiili ohjelmistot on myös suunniteltava ja mukautettava turvallisesti kaikkia näitä ominaisuuksia varten. Suojauksen toteuttaminen mobiilisovelluksissa on vaikeampaa kuin web-sovellukset. Toimenpiteitä, kuten salauksen purku ja salauksen purkaminen (koodin rikkoutumisen estämiseksi), tarvitaan mobiilisovelluksissa enemmän kuin verkkosovelluksia.

Sovellusten testaustyypit

Testaus on suunniteltu havaitsemaan suoritusvirheitä, suunnittelu- ja arkkitehtuurivirheitä ja epävarmoja kokoonpanoja. Jotkut tehokkaat sovellukset turvatarkastuksiin ovat:

  1. Staattinen ohjelmistoturvatestaus (SAST) keskittyy lähdekoodiin.
  2. Dynamic Application Security Testing (DAST) on suunniteltu tunnistamaan ohjelmistojen ja infrastruktuurin haavoittuvuudet.
  3. Interaktiivisessa käytännöllisessä tietoturvatestissä (IAST) käytetään sekä DAST: n että SAST: n yhdistelmää ja suoritetaan käyttäytymisanalyysi tietovirtojen, syötteen / ulostulon ja niin edelleen määrittämiseksi.
  4. Runtim-itsepuolustuksen (RASP) avulla sovellukset voivat suojautua itsensä käyttämällä suorituksenaikaisia ​​moottorin suojausominaisuuksia, kuten istunnon lopettamista, ohjelman sammuttamista, virheraportteja ja niin edelleen. .

On tärkeää huomata, että sovellusten tietoturva on yksi monista ohjelmistoturvallisuuden alueista.

Ohjelmistoriskejä ovat:

- Ei verkkoa / verkkosovellusta / infrastruktuuria - Turvallinen suunnittelu - Väärä asetus - Teknologiarajoitus - lähetyssalaus - Taustatietokannan suojaus

Kuten näet kahdesta yllä olevasta skenaariosta, sovellusten testaaminen verkko- ja mobiilisovellusten käyttöönoton jälkeisessä vaiheessa vaihtelee monin tavoin. Mobiilisovellukset ovat yleensä häiritseviä kuin web-sovellukset. Lisäksi mobiililaitteiden turvallisuus on tärkeä tekijä mobiilisovellusten turvallisuudessa.

Missä verkon suojaus sopii kaikkeen tähän?

Ohjelmistoturvallisuudesta, kuten palomuureista, jotka rajoittavat ohjelmien tai palomuurien kaltaisten ohjelmien suorituskykyä, on yleistä väärinkäsitys. Yritykset käyttävät paljon rahaa verkon suojaustoimenpiteisiin (kuten reitittimiin, jotka estävät IP-osoitteen katselemisen suoraan Internetissä).

Muita yleisiä vastatoimenpiteitä ovat:

- Tyypilliset palomuurit - Salaus / salauksen purkuohjelmat - Virustentorjuntaohjelmat - Vakoiluohjelmien havaitsemis- / deaktivointiohjelmat - Biometriset todennusjärjestelmät - tietojen analysointi ja tietojen häviämisen estämisen työkalut

Vuoden 2015 Verizon Data Breach -raportti osoittaa vain 9,4% verkkosovellusten hyökkäyksistä eri tapausten joukossa. Organisaation ohjelmistoturva-aloite (SSI) on nähtävä sovellusturvan ulkopuolella ja se olisi integroitava kaikenlaisiin ohjelmistoihin.

[tweetthis remove_hidden_hashtags = "true"] # Appsec ja #Swsec käytetään usein keskenään. Mutta siinä on iso ero. Tästä syystä: [/ tweetthis]

Sovellusten tietoturva ja ohjelmistoturva: sen suorittaminen

Sovelluksen turvallinen suunnittelu ja koodaus ei ole ainoa tapa suojata tämä sovellus. Sovelluksessa käytettävät infrastruktuurit, palvelimet ja verkkokomponentit on määritettävä turvallisesti. Jotta sovellus olisi mahdollisimman turvallinen, on tärkeää harkita kaikkia näitä, mukaan lukien sovellusten ja palvelimien määritykset, lähetyssalaus, todennustietojen tallennus ja pääsy tietokantaan, johon tietokanta ja salausavaimet on tallennettu. Ohjelmistot ja ohjelmistojen käyttämä infrastruktuuri on suojattava maksimaalisen turvallisuuden varmistamiseksi. Tähän sisältyy ohjelmistoturva (suunnittelu-, koodaus- ja testausvaiheissa) ja käytännöllinen tietoturva (sijoittamisen jälkeiset testit, seuranta, virheenkorjaus, päivitys jne.). Ohjelmistoturva sisältää kokonaisvaltaisen lähestymistavan organisaation tietoturvan, omaisuuden suojaamisen ja ei-julkisen tiedon luottamuksellisuuden parantamiseksi; taas sovellusturvallisuus on vain yksi toimialue koko prosessin ajan.

Sovellusten suojaus on ensimmäinen askel ohjelmistoturvallisuussuunnassa. Lue lisää.