Za unapređenje Znanje i obrazovanje, i Nauke i tehnologije Općenito, implementacija bolje i efikasnije akcije, mjere ili preporuke (Dobre prakse) postići krajnji cilj, uspešno sprovesti bilo koju aktivnost ili proces.
I to Programiranje ili Razvoj softvera Kao i svaka druga profesionalna i informatička djelatnost, ima svoje "Dobre prakse" povezan sa mnogim sferama, posebno onima koje se odnose na Cybersecurity proizvedenih softverskih proizvoda. A u ovom postu ćemo predstaviti neke «Dobre prakse sigurnog kodiranja », sa zanimljive i korisne web stranice pod nazivom "Wiki sa sigurnim kodom", toliko o Razvojne platforme slobodno i otvoreno, kao privatno i zatvoreno.
Prije nego što se udubimo u temu, kao i obično, u nastavku ćemo ostaviti neke linkove na prethodne publikacije vezane za temu «Dobre prakse u programiranju ili razvoju softvera».
"… Dobre prakse osmišljene i distribuirane od strane "Kodeks za razvojnu inicijativu" Međuameričke razvojne banke, na polju Softver za licence, što se mora uzeti u obzir pri razvoju softverskih proizvoda (digitalnih alata), posebno besplatnih i otvorenih." Licence za razvoj slobodnog i otvorenog softvera: Dobre prakse
Secure Code Wiki: Dobre prakse bezbednog kodiranja
Šta je Secure Code Wiki?
Kao što kaže njegov tekst sajt:
"Secure Code Wiki je kulminacija sigurnih praksi kodiranja za širok spektar jezika."
A ti si dobre prakse i web stranicu "Wiki sa sigurnim kodom" su kreirane i održavane od strane indijske organizacije tzv Payatu.
Primjeri dobre prakse po vrstama programskih jezika
S obzirom da je web stranica na engleskom, prikazat ćemo neke primjeri sigurnog kodiranja o raznim programski jezici, neke besplatne i otvorene, a druge privatne i zatvorene, koje nudi spomenuta web stranica istražite potencijal i kvalitet sadržaja napunjeno.
Nadalje, važno je naglasiti da Dobra praksa prikazano 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 desktop jezike:
- A1 – Injekcija (injekcija)
- A2 – Pokvarena autentifikacija (Pokvarena autentifikacija)
- A3 – Izlaganje osjetljivih podataka (izloženost osjetljivim podacima)
- A4 – XML eksterni entiteti (XML eksterni entiteti / XXE)
- A5 – Neispravna kontrola pristupa (Kontrola pristupa pokvarena)
- A6 – Sigurnosna pogrešna konfiguracija (Sigurnosna pogrešna konfiguracija)
- A7 – Cross Site Script (Cross-Site Scripting / XSS)
- A8 – Nesigurna deserijalizacija (nesigurna deserializacija)
- A9 – Upotreba komponenti sa poznatim ranjivostima (Korišćenje komponenti sa poznatim ranjivostima)
- A10 – Nedovoljna registracija i nadzor (Nedovoljno evidentiranje i praćenje)
I također podijeljen u sljedeće kategorije za mobilne jezike:
- M1 – Nepravilna upotreba platforme (Nepravilna upotreba platforme)
- M2 – Nebezbedno skladištenje podataka (nesigurna pohrana podataka)
- M3 – Nesigurna komunikacija (nesigurna komunikacija)
- M4 – Nesigurna autentifikacija (Nesigurna autentifikacija)
- M5 – Nedovoljna kriptografija (Nedovoljna kriptografija)
- M6 – Nesigurna autorizacija (Nesigurna autorizacija)
- M7 – Kvalitet klijentskog koda (Kvalitet klijentskog koda)
- M8 – Manipulacija kodom (Promjena koda)
- M9 – Obrnuti inženjering (obrnuti inženjering)
- M10 – Čudna funkcionalnost (čudna funkcionalnost)
Primjer 1: .Net (A1- Injection)
Korištenje objektnog relacijskog mapera (ORM) ili pohranjenih procedura je najefikasniji način za suzbijanje ranjivosti SQL injekcije.
Primjer 2: Java (A2 – pokvarena autentifikacija)
U mjeri u kojoj je to moguće, implementirajte višefaktorsku autentifikaciju kako biste spriječili automatizirane napade, punjenja vjerodajnica, grubu silu i ponovnu upotrebu ukradenih vjerodajnica.
Primjer 3: Java za Android (M3 – nesigurna komunikacija)
Neophodno je primijeniti SSL/TLS na transportne kanale koje koristi mobilna aplikacija za prijenos osjetljivih informacija, tokena sesije ili drugih osjetljivih podataka na backend API ili web servis.
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, umjesto da dozvoljavaju korisniku da kreira, čita, ažurira ili briše bilo koji zapis.
Primjer 6: Cilj C (M6 – Nesigurna autorizacija)
Aplikacije bi trebale izbjegavati korištenje brojeva koji se mogu pogoditi kao identifikacijske reference.
Primjer 7: PHP (A7 – Cross Site Script)
Kodirajte sve specijalne znakove koristeći htmlspecialchars() ili htmlentities() [ako je unutar html oznaka].
Primjer 8: Python (A8 – Nesigurna deserializacija)
Pickle i jsonpickle modul nije siguran, nikada ga ne koristite za deserijalizaciju nepouzdanih podataka.
Primjer 9: Python (A9 – Korištenje komponenti sa poznatim ranjivostima)
Pokrenite aplikaciju kao korisnik s najmanjim privilegijama
Primjer 10: Swift (M10 – Čudna funkcionalnost)
Uklonite skrivenu backdoor funkcionalnost ili druge unutrašnje razvojne sigurnosne kontrole koje nisu namijenjene za puštanje u proizvodno okruženje.
Primjer 11: WordPress (XML-RPC onemogućen)
XML-RPC je WordPress funkcija koja omogućava prijenos podataka između WordPress-a i drugih sistema. Sada je u velikoj mjeri zamijenjen REST API-jem, ali je još uvijek uključen u instalacije radi kompatibilnosti unatrag. Ako je omogućeno u WordPress-u, napadač može izvoditi brute force napade, pingback (SSRF), između ostalog.
zaključak
Nadamo se ovome "koristan mali post" o web lokaciji koja se zove «Secure Code Wiki»
, koji nudi vrijedan sadržaj u vezi sa «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 ekosistema aplikacija «GNU/Linux»
.
Za sada, ako vam se ovo svidjelo publicación
, Nemoj stati podelite s drugima na vašim omiljenim web lokacijama, kanalima, grupama ili zajednicama društvenih mreža ili sistema za razmjenu poruka, po mogućnosti besplatno, otvoreno i / ili sigurnije kao telegram, signal, Mastodon ili neko drugi od Fediverse, po mogućnosti.
I ne zaboravite posjetiti našu početnu stranicu na «DesdeLinux» da istražite još vijesti, kao i da se pridružite našem službenom kanalu Telegram od DesdeLinux. Za više informacija možete posjetiti bilo koji Internet biblioteka como OpenLibra y jedit, za pristup i čitanje digitalnih knjiga (PDF-ova) o ovoj temi ili drugima.
Zanimljiv članak, trebao bi biti obavezan za svakog programera.