Za napredak Znanje i obrazovanje, I Znanost i tehnologija Općenito je uvijek bila od najveće važnosti provedba bolje i učinkovitije akcije, mjere ili preporuke (Dobre prakse) postići konačni cilj, ostvariti bilo koja aktivnost ili proces.
A programiranje ili Razvoj softvera Kao i svaka druga profesionalna i informatička djelatnost, i ona ima svoju "Dobre prakse" povezan s mnogim sferama, posebno onima povezanima s Kibernetička sigurnost proizvedenih softverskih proizvoda. I u ovom ćemo postu predstaviti neke «Dobre prakse sigurnog kodiranja », sa zanimljive i korisne web stranice pod nazivom "Wiki sa sigurnim kodom", toliko o Razvojne platforme slobodni i otvoreni, kao privatni i zatvoreni.
Prije ulaska u temu, kao i obično, kasnije ćemo ostaviti neke poveznice na prethodne publikacije povezane s temom «Dobre prakse u programiranju ili razvoju softvera ».
"... Dobre prakse koje je osmislio i širio "Kodeks za razvojnu inicijativu" Međuameričke razvojne banke, o opsegu Softver za licence, što se mora poduzeti pri razvoju softverskih proizvoda (digitalnih alata), posebno besplatnih i otvorenih." Licence za razvoj slobodnog i otvorenog softvera: Dobre prakse
Wiki sa sigurnim kodom: dobre prakse sigurnog kodiranja
Što je Wiki Wiki sa sigurnim kodom?
Kao što kaže njegov tekst mjesto:
"Wiki sa sigurnim kodom vrhunac je prakse sigurnog kodiranja za širok raspon jezika."
A ti si dobra praksa i web stranice tvrtke "Wiki sa sigurnim kodom" stvorila je i održava indijska organizacija tzv Payatus.
Primjeri dobre prakse prema vrstama programskih jezika
Budući da je web stranica na engleskom, prikazat ćemo neke primjeri sigurnog kodiranja o raznim programskih jezika, neke besplatne i otvorene, a druge privatne i zatvorene, koje spomenuta web stranica nudi istražiti potencijal i kvalitetu sadržaja natovaren.
Uz to je važno to naglasiti Dobre prakse prikazan na Razvojne platforme sljedeće:
- NET.
- Java
- Java za Android
- Kotlin
- NodeJS
- Cilj C
- PHP
- Piton
- Rubin
- Brz
- WordPress
Podijeljeni su u sljedeće kategorije za radne jezike:
- A1 - Injekcija (Injekcija)
- A2 - Autentifikacija je prekinuta (Prekinuta autentifikacija)
- A3 - Izloženost osjetljivih podataka (Izloženost osjetljivim podacima)
- A4 - XML vanjski entiteti (XML vanjski entiteti / XXE)
- A5 - Neispravna kontrola pristupa (Neispravna kontrola pristupa)
- A6 - Sigurnosna dekonfiguracija (Sigurnosna pogrešna konfiguracija)
- A7 - skriptiranje na više lokacija (Skriptiranje na više stranica / XSS)
- A8 - Nesigurna deserializacija (Nesigurna deserijalizacija)
- A9 - Korištenje komponenata s poznatim ranjivostima (Korištenje komponenata s poznatim ranjivostima)
- A10 - Nedovoljna registracija i nadzor (Nedovoljno bilježenje i nadzor)
A također podijeljeni u sljedeće kategorije za mobilne jezike:
- M1 - Nepravilna upotreba platforme (Nepravilna upotreba platforme)
- M2 - Nesigurna pohrana podataka (Nesigurna pohrana podataka)
- M3 - Nesigurna komunikacija (Nesigurna komunikacija)
- M4 - Nesigurna autentifikacija (Nesigurna autentifikacija)
- M5 - Nedovoljna kriptografija (Nedovoljna kriptografija)
- M6 - Nesigurno odobrenje (Nesigurno odobrenje)
- M7 - Kvaliteta korisničkog koda (Kvaliteta klijentskog koda)
- M8 - Manipulacija kodom (Neovlašteno šifriranje koda)
- M9 - Obrnuto inženjerstvo (Obrnuti inženjering)
- M10 - čudna funkcionalnost (Vanjska funkcionalnost)
Primjer 1: .Net (A1- Injection)
Korištenje objektnog relacijskog mapiranja (ORM) ili pohranjenih procedura najučinkovitiji je način suzbijanja ranjivosti SQL ubrizgavanja.
Primjer 2: Java (A2 - autentifikacija je prekinuta)
Kad god je to moguće, implementirajte višefaktorsku provjeru autentičnosti kako biste spriječili automatsko punjenje vjerodajnica, grubu silu i ponovnu upotrebu napada na ukradene vjerodajnice.
Primjer 3: Java za Android (M3 - nesigurna komunikacija)
Neophodno je primijeniti SSL / TLS na transportne kanale koje koristi mobilna aplikacija za prijenos osjetljivih podataka, tokena sesije ili drugih osjetljivih podataka na pozadinski API ili web uslugu.
Primjer 4: Kotlin (M4 - nesigurna autentifikacija)
Izbjegavajte slabe obrasce
Primjer 5: NodeJS (A5 - Loša kontrola pristupa)
Kontrole pristupa modela trebale bi nametnuti vlasništvo nad zapisima, a ne dopustiti korisniku da kreira, čita, ažurira ili briše bilo koji zapis.
Primjer 6: Cilj C (M6 - Odobrenje nesigurno)
Aplikacije bi trebale izbjegavati upotrebu pretpostavljivih brojeva kao identifikacijske reference.
Primjer 7: PHP (A7 - Cross Site Scripting)
Kodirajte sve posebne znakove pomoću htmlspecialchars () ili htmlentities () [ako je unutar html oznaka].
Primjer 8: Python (A8 - Nesigurna deserijalizacija)
Modul kiseline i jsonpickle nije siguran, nikada ga nemojte koristiti za deserializaciju nepouzdanih podataka.
Primjer 9: Python (A9 - Korištenje komponenata s poznatim ranjivostima)
Pokrenite aplikaciju s najmanje privilegiranim korisnikom
Primjer 10: Brzi (M10 - čudna funkcionalnost)
Uklonite skrivenu pozadinsku funkcionalnost ili druge interne sigurnosne kontrole razvoja koje nisu namijenjene objavljivanju u proizvodnom okruženju.
Primjer 11: WordPress (onemogući XML-RPC)
XML-RPC je WordPress značajka koja omogućuje prijenos podataka između WordPressa i drugih sustava. Danas ga je uglavnom zamijenio REST API, ali je i dalje uključen u instalacije radi povratne kompatibilnosti. Ako je omogućen u WordPressu, napadač, između ostalog, može izvoditi grubu silu, pingback (SSRF) napade.
Zaključak
Nadamo se ovome "koristan mali post" o web mjestu tzv «Secure Code Wiki»
, koji nudi vrijedan sadržaj vezan uz «Dobre prakse sigurnog kodiranja »; je od velikog interesa i korisnosti, u cjelini «Comunidad de Software Libre y Código Abierto»
i od velikog doprinosa širenju divnog, gigantskog i rastućeg ekosustava aplikacija «GNU/Linux»
.
Za sada, ako vam se ovo svidjelo publicación
, Nemoj stati podijeli s drugima na vašim omiljenim web mjestima, kanalima, skupinama ili zajednicama društvenih mreža ili sustava za razmjenu poruka, po mogućnosti besplatno, otvoreno i / ili sigurnije kao Telegram, Signal, Mastodont ili neki drugi od Fediverse, po mogućnosti.
I ne zaboravite posjetiti našu početnu stranicu na «DesdeLinux» istražiti još vijesti, kao i pridružiti se našem službenom kanalu Telegram od DesdeLinux. Iako, za više informacija, možete posjetiti bilo koji Internetska knjižnica kao OpenLibra y jedit, za pristup i čitanje digitalnih knjiga (PDF-ova) o ovoj temi ili drugima.
Zanimljiv članak, trebao bi biti obvezan za svakog programera ..