De ce este securitatea software o abilitate pe care ar trebui să o aibă toți programatorii?

În calitate de programator sau dezvoltator, importanța creării de aplicații sigure nu poate fi trecută cu vederea.

Securitatea software abordează gestionarea atacurilor rău intenționate prin identificarea potențialelor vulnerabilități în software și luând măsurile de precauție necesare pentru a le proteja.

Software-ul nu poate fi niciodată 100% sigur, deoarece dezvoltatorii pot ignora o eroare, pot introduce erori noi în timp ce le repară pe cele existente sau pot introduce noi vulnerabilități prin actualizări.

Cu toate acestea, există două metode principale pe care toți dezvoltatorii de software le pot folosi pentru a se asigura că creează software securizat. Este vorba despre scrierea codului securizat de la început și testarea eficientă a codului.

De ce este securitatea software o abilitate pe care ar trebui să o aibă toți programatorii?

Securitatea software-ului joacă un rol extrem de important

Cum se scrie codul securizat

Scrierea codului securizat are un singur lucru de făcut - gestionarea erorilor. Dacă puteți anticipa fiecare valoare potențială pe care utilizatorul o poate oferi aplicației și puteți genera un răspuns în program pentru acea valoare, atunci scrieți cod securizat.

Acest lucru este mult mai simplu decât ați putea crede, deoarece toți dezvoltatorii buni știu aproape totul despre aplicațiile pe care le dezvoltă. Prin urmare, ar trebui să cunoașteți fiecare valoare pe care o necesită aplicația dvs. pentru a efectua o sarcină (valori aprobate) și să înțelegeți că orice alte valori care pot exista sunt valori neaprobate.

Scrieți codul securizat

Să presupunem că doriți să creați un program care acceptă doar două valori întregi de la utilizator și care efectuează o operație de adăugare asupra acestora. În calitate de dezvoltator bun, acum știi totul despre aplicația ta. Știți toate valorile pe care acest program le va accepta (valori întregi) și știți care este sarcina pe care o va îndeplini acest program (o operație de adăugare).

Exemplu de creare a unui program în Java

import java.util.Scanner;
public class Main {
//The main function that executes the program and collects the two values
public static void main(String[] args) {
System.out.println("Please enter your two integer values: ");
int value1;
int value2;
Scanner input = new Scanner(System.in);
value1 = input.nextInt();
value2 = input.nextInt();
addition(value1, value2);
input.close();
}
//the function that collects the two values and displays their sum
private static void addition(int value1, int value2) {
int sum;
sum = value1 + value2;
System.out.println("The sum of the two integer values you entered: "+ sum);
}
}

Codul de mai sus creează o aplicație care corespunde exact cerințelor. Când este executat, va produce următoarea linie în consolă:

Please enter your two integer values:

Aplicația va rămâne apoi întreruptă până când utilizatorul introduce două valori întregi în consolă (adică introduceți prima valoare, apăsați tasta Enter și repetați).

Dacă utilizatorul introduce valorile 5 și 4 în consolă, programul produce următoarea ieșire:

The sum of the two integer values you entered: 9

Grozav. Programul face exact ceea ce ar trebui să facă. Cu toate acestea, dacă intră un utilizator nefast și introduce o valoare non-întreg, cum ar fi „g”, în aplicația dvs., va apărea o problemă. Acest lucru se datorează faptului că în aplicație nu există niciun cod care să protejeze împotriva valorilor neaprobate.

În acest moment, aplicația dvs. se va prăbuși, creând o potențială gateway în aplicația dvs., astfel încât hackerii să știe exact ce trebuie să facă în continuare.

Exemplu de securitate a programului

import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
//The main function that executes the program and collects the two values
public static void main(String[] args) {
try {
System.out.println("Please enter your two integer values: ");
int value1;
int value2;
//using the scanner class to read each input from the user,
//and assign it to is respective variable (throws an exception if the values are not integers)
Scanner input = new Scanner(System.in);
value1 = input.nextInt();
value2 = input.nextInt();
//calls the addition function and passes the two values to it
addition(value1, value2);
//closes the input stream after it has come to the end of its use
input.close();
//handle all the errors thrown in the try block
}catch(InputMismatchException e){
System.out.println("Please enter a valid integer value.");
}catch(Exception e) {
System.out.println(e.getMessage());
}
}
//the function that collects the two values and displays their sum
private static void addition(int value1, int value2) {
int sum;
sum = value1 + value2;
System.out.println("The sum of the two integer values you entered: "+ sum);
}
}

Codul de mai sus este sigur deoarece efectuează gestionarea excepțiilor. Prin urmare, dacă introduce��i o valoare care nu este întreagă, programul va genera următoarea linie de cod:

Please enter a valid integer value.

Ce este gestionarea excepțiilor?

De ce este securitatea software o abilitate pe care ar trebui să o aibă toți programatorii?

Tratarea excepțiilor

În esență, gestionarea excepțiilor este versiunea modernă a gestionării erorilor, în care separă codul de gestionare a erorilor de codul obișnuit de gestionare. În exemplul de mai sus, tot codul normal de gestionare (sau codul potențial care cauzează excepții) este în blocul try și tot codul de gestionare a erorilor este în blocul catch.

Dacă te uiți mai atent la exemplul de mai sus, vei vedea că există două blocuri de captură. Primul primește un argument InputMismatchException - acesta este numele excepției aruncate dacă este introdusă o valoare care nu este întreagă. Al doilea preia argumentul Excepție , iar acest lucru este important deoarece scopul său este de a găsi orice excepții în cod pe care dezvoltatorul nu le-a găsit în timpul testării.

Verificați codul

Nu ar trebui să subestimați niciodată puterea testării și retestării codului. Mulți dezvoltatori (și utilizatori de aplicații) găsesc erori noi după ce software-ul este pus la dispoziție publicului.

Testarea amănunțită a codului vă asigură că știți ce va face aplicația dvs. în fiecare situație imaginabilă și vă permite să o protejați de încălcarea datelor.

Luați în considerare exemplul de mai sus. Ce se întâmplă dacă, odată finalizată, testați aplicația doar cu valori întregi? Puteți părăsi aplicația crezând că ați identificat cu succes toate erorile potențiale, când de fapt nu ați făcut-o.

Realitatea este că este posibil să nu puteți identifica toate erorile potențiale. Acesta este motivul pentru care gestionarea erorilor funcționează în tandem cu testarea codului dvs. Testarea programului de mai sus dezvăluie o eroare potențială care va apărea într-o anumită situație.

Cu toate acestea, dacă există o altă eroare care nu a apărut în timpul testării, atunci al doilea bloc catch din codul de mai sus o va gestiona.

Securitatea bazei de date

Dacă aplicația dvs. se conectează la o bază de date, cea mai bună modalitate de a preveni accesul la acea bază de date este să vă asigurați că toate aspectele aplicației sunt securizate. Cu toate acestea, ce se întâmplă dacă aplicația dvs. este proiectată cu unicul scop de a oferi o interfață pentru baza de date menționată?

Aici lucrurile devin puțin mai interesante. În forma sa cea mai de bază, bazele de date permit utilizatorilor să adauge, să recupereze, să actualizeze și să șteargă date. Un sistem de gestionare a bazelor de date este o aplicație care permite utilizatorilor să interacționeze direct cu o bază de date.

Majoritatea bazelor de date conțin date sensibile, prin urmare, pentru a menține integritatea și a limita accesul la aceste date, există o cerință - controlul accesului.

Controlul accesului

Controlul accesului urmărește să mențină integritatea bazei de date prin determinarea tipurilor de persoane care pot accesa baza de date și restricționarea tipului de acces pe care îl au. Prin urmare, un sistem bun de gestionare a bazelor de date trebuie să poată înregistra cine a accesat baza de date, când și ce a făcut.

De asemenea, poate împiedica utilizatorii înregistrați să acceseze sau să editeze date cu care nu sunt autorizați să interacționeze.

Lasă un comentariu

Cum să eliminați notificarea de solicitare a drepturilor de autor din colțul din dreapta al ecranului pe Windows 10

Cum să eliminați notificarea de solicitare a drepturilor de autor din colțul din dreapta al ecranului pe Windows 10

Vedeți o notificare de activare a Windows 10 în colțul din dreapta al ecranului? Acest articol vă va ghida cum să ștergeți notificarea de solicitare a drepturilor de autor pe Windows 10.

Instrucțiuni de la AZ despre cum să instalați Windows 10 build 14393.222

Instrucțiuni de la AZ despre cum să instalați Windows 10 build 14393.222

Recent, Microsoft a lansat cea mai recentă actualizare cumulativă pentru utilizatorii de PC Windows 10 numită Build 14393.222. Această actualizare lansată pentru Windows 10 remediază în principal erorile pe baza feedback-ului utilizatorilor și îmbunătățește experiența de performanță a sistemului de operare.

Protejați-vă rețeaua de computere cu gazda Bastion în doar 3 pași

Protejați-vă rețeaua de computere cu gazda Bastion în doar 3 pași

Aveți computere în rețeaua locală care au nevoie de acces extern? Utilizarea unei gazde bastion ca gatekeeper pentru rețeaua dvs. poate fi o soluție bună.

3 moduri de a șterge rapid toate jurnalele de evenimente în Windows 10

3 moduri de a șterge rapid toate jurnalele de evenimente în Windows 10

Uneori, poate fi necesar să ștergeți jurnalele vechi de evenimente dintr-o dată. În acest ghid, Quantrimang.com vă va arăta 3 moduri de a șterge rapid toate jurnalele de evenimente din Windows 10 Event Viewer.

Cum să creați o tastă Windows dacă tastatura nu este disponibilă

Cum să creați o tastă Windows dacă tastatura nu este disponibilă

Dacă preferați să utilizați o tastatură clasică veche, cum ar fi IBM Model M, care nu include o tastă fizică Windows, există o metodă ușoară de a adăuga mai multe, împrumutând o tastă pe care nu o utilizați des.

Cum se creează un mod de fundal transparent pe Windows 10

Cum se creează un mod de fundal transparent pe Windows 10

WindowTop este un instrument care are capacitatea de a estompa toate ferestrele aplicațiilor și programele care rulează pe computere cu Windows 10. Sau puteți utiliza o interfață cu fundal întunecat pe Windows.

Metodele IP false vă ajută să accesați anonim

Metodele IP false vă ajută să accesați anonim

În multe articole anterioare, am menționat că păstrarea anonimatului online este extrem de importantă. Informații private sunt scurse în fiecare an, ceea ce face securitatea online din ce în ce mai necesară. Acesta este și motivul pentru care ar trebui să folosim adrese IP virtuale. Mai jos, vom afla despre metodele de a crea IP-uri false!

Cum să dezactivați bara de limbă pe bara de activități Windows 8

Cum să dezactivați bara de limbă pe bara de activități Windows 8

Bara de limbă din Windows 8 este o bară de instrumente de limbă în miniatură concepută pentru a fi afișată automat pe ecranul desktop. Cu toate acestea, mulți oameni doresc să ascundă această bară de limbă în bara de activități.

Sfaturi pentru a optimiza viteza conexiunii la Internet de la Linksys

Sfaturi pentru a optimiza viteza conexiunii la Internet de la Linksys

Maximizarea vitezei de internet este esențială pentru optimizarea conexiunii la rețea. Puteți avea o experiență optimă de divertisment și de lucru folosind computere, televizoare gata de internet, console de jocuri etc.

Cum se configurează WEP, WPA, WPA2 pentru routerul Linksys

Cum se configurează WEP, WPA, WPA2 pentru routerul Linksys

Conectivitatea wireless este o necesitate astăzi și, din această cauză, securitatea wireless este esențială pentru a asigura siguranța în rețeaua dumneavoastră internă.