Sagtewarekode is die kern van hoe u aansoek werk. Dit is ook een van die sleutels waarmee kuberaanvalle kan plaasvind. As u kode kwesbaarhede het, kan u hele program in die gedrang kom. Die probleem met die kwesbaarheid van sagteware is dat dit swakhede in kode open – swakhede wat kubermisdadigers kan benut. Die voorkoming van voorvalle op die gebied van kuberveiligheid begin heel eerste met die sagtewarekode self. Hierdie artikel kyk na die praktyk van veilige kodering en waarom dit 'n belangrike dissipline is om te verstaan.
1 Wat word bedoel deur Secure Coding?
2 Hoe kan u veilig kodeer??
3 Hulpbronne vir suksesvolle veilige kodering
4 Veilige kode vir 'n mededingende rand
Wat word bedoel deur Secure Coding?
As 'n sagteware-ontwikkelaar sagteware-kode skryf, moet hulle baie dinge oorweeg. Dit sluit in hoe om die argitektuur- en ontwerpvereistes van die toepassing uit te druk, hoe om die kode geoptimaliseerd en doeltreffend te hou, en ook hoe om seker te maak dat die kode veilig is. Veilige kode sal help om te voorkom dat baie kuberaanvalle plaasvind, omdat dit die kwesbaarhede waarop baie uitbuiters staatmaak, verwyder.
As u sagteware 'n beveiligingslek het, kan dit ontgin word. Die WannaCry-ransomware-aanval van 2017 het 'n kwesbaarheid van Windows-protokol uitgebuit. Sagteware kwesbaarhede is wydverspreid. Uit 'n soektog met die Nasionale Instituut vir Standaarde en Tegnologie (NIST) se kwesbaarheidslys, word aangetoon dat daar in die afgelope 3 jaar 40.569 toepassings kwesbaarhede was.
As 'n onderneming 'n kultuur van veilige kodering toepas, werk hulle daaraan om die kwesbaarhede in hul kode te verminder.
Hoe kan u veilig kodeer??
Kodering met behulp van veilige praktyke is goed gedokumenteer. Die Open Web Application Security Project (OWASP) het 'n stel riglyne geskep oor hoe om dit te doen. Binne hierdie gids bied hulle 'n kontrolelys van items wat u gebruik om seker te maak dat u kode so veilig moontlik is. 'N Voorbeeld van die soorte dinge wat in die riglyne gedek word, is:
Validering van data-invoer: Dit dek verskillende aspekte van databron en validering van data. Byvoorbeeld, die lengte en die datumbereik van 'n stuk data. Data-valideringstjek help om webtoepassings teen kuberaanvalle te beveilig.
Verifikasie en wagwoordbestuur: Kodering behels ook sagteware-argitektuur. Hierdie afdeling bevat baie advies wat by die deursnit van kodering en argitektuur geleë is.
Kryptografiese praktyke: Die handleiding stel voor dat alle kriptografiese modules wat gebruik word FIPS 140-2 of 'n gelykwaardige standaard is.
Fout met hantering en logboek: Dit is 'n belangrike aspek en dit kan, indien nie veilig gekodeer nie, data lek.
Data beskerming: Die riglyne vir die beskerming van data sluit in advies oor die bewaring van wagwoorde en hoe om lekkasies te voorkom deur HTTP GET.
Kommunikasie sekuriteit: Adviseurs oor hoe om data tydens vervoer te beskerm, byvoorbeeld deur gebruik te maak van TLS-verbindings.
Wanneer 'n sagteware-argitek die argitektoniese ontwerp van 'n toepassing uiteensit en die programmeerder kode skep op grond van die voorskrifte, moet hulle die OWASP-riglyne gebruik as hul veilige koderingskripblad.
Veilige kodering stop nie in die programmeringsfase nie. Ander gebiede wat deel moet wees van 'n holistiese benadering tot die skep van veilige kode, sluit in:
'N Stelsel gebaseer op' die minste voorreg ': As u toegang tot enige kode op 'n behoefte-grondslag het, sal dit help om onwettige kode uit te voer. Dit kan veral moeilik wees as u uitgekontrakteerde ontwikkelaars of ontwikkelingsondernemings gebruik.
Verdediging in diepte: Hou aan met die verdediging van strategieë soos die kode na produksie bevorder word. Sorg dat u omset-omgewings so veilig is soos u kode.
Beoefen goeie gehalteversekering: Gebruik verskillende versekeringsprogramme soos kode-oorsigte en PEN-toetsing om gehalte te verseker.
Hulpbronne vir suksesvolle veilige kodering
Om u ontwikkelingspan opgelei te hou en in kontak te bly met die nuutste veilige koderingstegnieke is van uiterste belang vir veilige kodering. U kan nie van programmeerders verwag om te weet hoe om veilig te kodeer nie, hulle moet opgelei en bewus wees. Hieronder is 'n paar nuttige bronne om u en u span te help om 'n veilige kode te skep.
OWASP – Ons het reeds die veilige koderingspraktyke van OWASP genoem. Die OWASP-ontwikkelaarsgids is ook 'n nuttige grondslag vir veilige kodering. Kyk ook na hul hulpmiddel om na afhanklikhede en kwesbaarhede wat openbaar is, te kyk wat u projek kan beïnvloed.
Microsoft se Bybel oor veilige kodering: https://msdn.microsoft.com/en-us/aa570401
Boeke is altyd nuttig om in te dip as u oor veilige koderingstegnieke leer. Enkele voorbeelde sluit in: "24 dodelike sondes van sagteware-sekuriteit" en "Veilige kodering: beginsels en praktyke"
Kyk na die 'veilige koderingsraamwerk', weer 'n OWASP-inisiatief. Daar is organisasies wat sal help om u personeel op te lei in veilige koderingstegnieke op grond van hierdie raamwerk.
Veilige koderingstandaarde, bv. SEI CERT, onder toesig van die Carnegie Mellon Universiteit, bied ondersteuning en leiding in die beveiliging van kodering vir 'n verskeidenheid programmeertale:
Firmakontrolefirmas kan gebruik word om u kode na te gaan. Firmas soos CheckMarx en CAST Software gebruik spesialis-analise-instrumente om na kwesbaarhede te kyk en toegang tot sagtewarekwaliteit te verkry.
Verstaan ​​hoe om die sagteware-ontwikkelingslewensiklus (SDLC) toe te pas om kodering te beveilig. Deur 'n SDLC-benadering te gebruik, sal u help om te verseker dat sekuriteit deur alle dele van die ontwikkelingslewensiklus filter.
Veilige koderingstutoriale van RedHat
Veilige kode vir 'n mededingende rand
Veiligheid begin met u kode en die skep van 'n veilige kode is 'n belangrike deel van die skep van 'n wonderlike sagtewareproduk. Onveilige koderingspraktyke hou u kliënte nie net in gevaar nie, maar dit sal ook die reputasie van u onderneming beïnvloed. Die toepassing van die beginsels van die OWASP-veilige koderingriglyne is 'n goeie plek om te begin. Deur bewysbare veilige sagteware te vervaardig, kan u nie net kuberaanvalle voorkom nie, maar kan u organisasie 'n mededingende voordeel gee.