Tarkvara turvalisus vajab teadlikku ja järjepidevat tähelepanu kogu arendusprotsessi jooksul. ITLi „Hea tava turvalise tarkvara arendamisel“ kirjeldab põhimõtteid, mille järgi peaks tarkvara turvalisuse tagamine olema juhitud, arendusprotsessi integreeritud, kaasaegsetel teadmistel põhinev ja vastutustundlik. Hea tava järgi peab turvalisusele olema igas tarkvaraprojektis määratud selge vastutus. Lisaks peab organisatsioonis olema turvalisuse kompetentsi eest vastutaja, kes aitab hoida turvateadmised vajalikul tasemel.
Turvalisus arendusprotsessi osana
Turvalisuse tagamine peab olema integreeritud tavapärastesse arendusprotsessidesse. Ühekordsest auditist või läbistustestist ei piisa, sest süsteemid muutuvad ning turvalisust tuleb seetõttu regulaarselt uuesti kontrollida. Võimalusel automatiseeritakse turvakontrolle tarkvara ehitusprotsessis, kasutades näiteks automaatteste ja koodianalüsaatoreid. Hea tava rõhutab ka ebavajaliku keerukuse vältimist. Funktsionaalsus, mida tegelikult vaja ei ole, võib tekitada täiendavaid turvariske. Arendajad peavad järgima kasutatavate programmeerimiskeelte, raamistike ja keskkondade turvalise arendamise juhendeid ning hoidma oma teadmisi ajakohasena. Selleks tuleb töötajatele korraldada nende rollile vastavaid turvakoolitusi ning jälgida küberturvalisuse valdkonna uusi riske ja arenguid.
Oluline osa heast tavast on ka kliendi teavitamine. Arendaja ei tohiks eeldada, et klient oskab kõiki turvalisusega seotud küsimusi ise küsida. Riskantsest funktsionaalsusest tuleb klienti teavitada, vajadusel soovitada sellest loobuda ning aidata leida alternatiivne lahendus. Oluliste intsidentide korral tuleb kiiresti reageerida ning teavitada klienti ja CERT-EE-d.
Miks on see hea tava?
ITLi hea tava aitab muuta turvalisuse tarkvaraarenduse püsivaks osaks. Turvalisusele pööratakse tähelepanu nii projekti juhtimisel, arendusprotsessis, töötajate teadmiste arendamisel kui ka suhtluses kliendiga. Hea tava oluline põhimõte on ka see, et turvalisuse eest võetakse selge vastutus ning võimalikke riske käsitletakse kliendiga regulaarselt. See aitab hoida turvalisuse fookuses kogu tarkvara arendamise jooksul, mitte ainult üksiku auditi või testi ajal.