Kāpēc programmatūras drošība ir prasme, kurai vajadzētu būt visiem programmētājiem?

Kāpēc programmatūras drošība ir prasme, kurai vajadzētu būt visiem programmētājiem?

Kā programmētājam vai izstrādātājam nevar nepamanīt drošu lietojumprogrammu izveides nozīmi.

Programmatūras drošība attiecas uz ļaunprātīgu uzbrukumu pārvaldību, identificējot iespējamās programmatūras ievainojamības un veicot nepieciešamos piesardzības pasākumus, lai tās aizsargātu.

Programmatūra nekad nevar būt 100% droša, jo izstrādātāji var ignorēt kļūdu, ieviest jaunas kļūdas, vienlaikus labojot esošās, vai ieviest jaunas ievainojamības, izmantojot atjauninājumus.

Tomēr ir divas galvenās metodes, ko visi programmatūras izstrādātāji var izmantot, lai nodrošinātu drošas programmatūras izveidi. Runa ir par droša koda rakstīšanu no paša sākuma un koda efektīvu pārbaudi.

Kāpēc programmatūras drošība ir prasme, kurai vajadzētu būt visiem programmētājiem?

Programmatūras drošībai ir ārkārtīgi svarīga loma

Kā uzrakstīt drošu kodu

Droša koda rakstīšanai ir tikai viena lieta - kļūdu apstrāde. Ja varat paredzēt katru potenciālo vērtību, ko lietotājs var nodrošināt lietojumprogrammai, un programmā ģenerēt atbildi par šo vērtību, jūs rakstāt drošu kodu.

Tas ir daudz vienkāršāk, nekā jūs varētu domāt, jo visi labie izstrādātāji zina gandrīz visu par viņu izstrādātajām lietojumprogrammām. Tāpēc jums jāzina katra vērtība, kas jūsu lietojumprogrammai nepieciešama, lai veiktu uzdevumu (apstiprinātās vērtības), un jāsaprot, ka visas citas vērtības, kas var pastāvēt, ir neapstiprinātas vērtības.

Uzrakstiet drošu kodu

Pieņemsim, ka vēlaties izveidot programmu, kas no lietotāja pieņem tikai divas veselas vērtības un veic tām pievienošanas darbību. Kā labs izstrādātājs tagad zināt visu par savu lietojumprogrammu. Jūs zināt visas vērtības, ko šī programma pieņems (veselu skaitļu vērtības), un zināt uzdevumu, ko šī programma veiks (pievienošanas darbība).

Programmas izveides piemērs 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);
}
}

Iepriekš minētais kods izveido lietojumprogrammu, kas precīzi atbilst prasībām. Kad tas tiks izpildīts, konsolē tiks parādīta šāda rinda:

Please enter your two integer values:

Pēc tam lietojumprogramma paliks apturēta, līdz lietotājs konsolē ievadīs divas veselas vērtības (tas nozīmē, ievadiet pirmo vērtību, nospiediet taustiņu Enter un atkārtojiet).

Ja lietotājs konsolē ievada vērtības 5 un 4 , programma rada šādu izvadi:

The sum of the two integer values you entered: 9

Tas ir lieliski. Programma dara tieši to, kas tai ir jādara. Tomēr, ja ienāks nelietīgs lietotājs un jūsu lietojumprogrammā ievadīs vērtību, kas nav vesels skaitlis, piemēram, “g”, radīsies problēma. Tas ir tāpēc, ka lietojumprogrammā nav koda, kas aizsargātu pret neapstiprinātām vērtībām.

Šajā brīdī jūsu lietojumprogramma avarēs, radot potenciālu vārteju jūsu lietojumprogrammai, lai hakeri precīzi zinātu, kā rīkoties tālāk.

Programmas drošības piemērs

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);
}
}

Iepriekš minētais kods ir drošs, jo tas veic izņēmumu apstrādi. Tāpēc, ja ievadāt vērtību, kas nav vesels skaitlis, programma ģenerēs šādu koda rindiņu:

Please enter a valid integer value.

Kas ir izņēmumu apstrāde?

Kāpēc programmatūras drošība ir prasme, kurai vajadzētu būt visiem programmētājiem?

Izņēmuma apstrāde

Būtībā izņēmumu apstrāde ir kļūdu apstrādes modernā versija, kurā kļūdu apstrādes kods tiek atdalīts no parastā apstrādes koda. Iepriekš minētajā piemērā viss parastais apstrādes kods (vai, iespējams, izņēmumu izraisošais kods) atrodas try blokā , un viss kļūdu apstrādes kods atrodas uztveršanas blokā.

Ja paskatās tuvāk iepriekš minētajam piemēram, jūs redzēsit, ka ir divi nozvejas bloki. Pirmajā tiek izmantots arguments InputMismatchException — tas ir izņēmuma nosaukums, ja tiek ievadīta vērtība, kas nav vesels skaitlis. Otrajā izmanto argumentu Izņēmums , un tas ir svarīgi, jo tā mērķis ir atrast visus izņēmumus kodā, ko izstrādātājs testēšanas laikā neatrada.

Pārbaudiet kodu

Nekad nevajadzētu par zemu novērtēt koda testēšanas un atkārtotas testēšanas spēku. Daudzi izstrādātāji (un lietotņu lietotāji) atrod jaunas kļūdas pēc tam, kad programmatūra ir kļuvusi pieejama sabiedrībai.

Rūpīga koda pārbaude nodrošina, ka zināt, ko jūsu lietojumprogramma darīs ikvienā iespējamā situācijā, un tas ļauj aizsargāt to no datu pārkāpumiem.

Apsveriet iepriekš minēto piemēru. Ko darīt, ja pēc pabeigšanas lietojumprogrammu pārbaudīsit tikai ar veselām vērtībām? Varat atstāt lietojumprogrammu, domājot, ka esat veiksmīgi identificējis visas iespējamās kļūdas, lai gan patiesībā neesat to izdarījis.

Realitāte ir tāda, ka jūs, iespējams, nevarēsit identificēt visas iespējamās kļūdas. Tāpēc kļūdu apstrāde darbojas vienlaikus ar koda pārbaudi. Iepriekš minētās programmas pārbaude atklāj potenciālu kļūdu, kas radīsies konkrētā situācijā.

Tomēr, ja pastāv kāda cita kļūda, kas neparādījās testēšanas laikā, to apstrādās otrais nozvejas bloks iepriekš minētajā kodā.

Datu bāzes drošība

Ja jūsu lietojumprogramma izveido savienojumu ar datu bāzi, labākais veids, kā novērst piekļuvi šai datubāzei, ir nodrošināt, ka visi lietojumprogrammas aspekti ir droši. Tomēr ko darīt, ja jūsu lietojumprogramma ir izstrādāta ar vienīgo mērķi nodrošināt saskarni ar minēto datu bāzi?

Šeit lietas kļūst nedaudz interesantākas. Vienkāršākajā formā datu bāzes ļauj lietotājiem pievienot, izgūt, atjaunināt un dzēst datus. Datu bāzes pārvaldības sistēma ir lietojumprogramma, kas lietotājiem ļauj tieši mijiedarboties ar datu bāzi.

Lielākā daļa datu bāzu satur sensitīvus datus, tāpēc, lai saglabātu integritāti un ierobežotu piekļuvi šiem datiem, ir noteikta prasība - piekļuves kontrole.

Piekļuves kontrole

Piekļuves kontroles mērķis ir saglabāt datu bāzes integritāti, nosakot to cilvēku veidus, kuri var piekļūt datu bāzei, un ierobežojot viņu piekļuves veidu. Tāpēc labai datu bāzes pārvaldības sistēmai jāspēj reģistrēt, kas, kad un ko darīja datu bāzei.

Tas var arī neļaut reģistrētajiem lietotājiem piekļūt datiem, ar kuriem viņiem nav atļauts mijiedarboties, vai tos rediģēt.


Izlabojiet kļūdu, kas saistīta ar nespēju mainīt motīvu

Izlabojiet kļūdu, kas saistīta ar nespēju mainīt motīvu

Vai jūsu Windows 7 motīvs ir iestrēdzis klasiskajā opcijā? Ja jūs saskaraties ar šādu situāciju, varat mēģināt noskaidrot, vai problēma ir atrisināta.

Vai man atkal uzticēties CCleaner?

Vai man atkal uzticēties CCleaner?

Daudzi cilvēki iesaka pārtraukt CCleaner lietošanu. Bet tas bija pirms gadiem. Kā lietotne ir mainījusies un vai ir vērts to izmantot? Atbildi atradīsim nākamajā rakstā!

Kā lietot programmu Microsoft Authenticator

Kā lietot programmu Microsoft Authenticator

Microsoft Authenticator ir lietojumprogramma, kas iespējo divu faktoru autentifikāciju atbalstītajās lietotnēs un vietnēs.

Kā izmantot Reduce Memory, lai atbrīvotu RAM atmiņu

Kā izmantot Reduce Memory, lai atbrīvotu RAM atmiņu

Reduce Memory ir programmatūra, kas atbrīvo datora RAM, palīdzot datoram darboties ātrāk. Tālāk esošajā rakstā ir sniegti norādījumi, kā izmantot Reduce Memory.

Kā restartēt datoru, izmantojot PowerShell

Kā restartēt datoru, izmantojot PowerShell

Windows nodrošina lietotājiem daudzus veidus, kā restartēt datoru. Lietotāji var izmantot Power User Menu, Start Menu vai izslēgšanas rīku un pat klasisko Shutdown dialoglodziņu. Tomēr ir vēl viens veids, par kuru lietotāji nezina: PowerShell izmantošana.

Kā pārlūkā Chrome izmantot IP atbloķēšanu viltus IP

Kā pārlūkā Chrome izmantot IP atbloķēšanu viltus IP

IP atbloķēšana ir VPN utilīta pārlūkprogrammā Chrome, kas palīdz lietotājiem slēpt savas IP adreses un piekļūt bloķētām vietnēm.

Kāpēc pirms pieteikšanās ar sociālo tīklu kontu būtu rūpīgi jāpadomā?

Kāpēc pirms pieteikšanās ar sociālo tīklu kontu būtu rūpīgi jāpadomā?

Katru reizi, kad reģistrējaties jaunam pakalpojumam, varat izvēlēties lietotājvārdu un paroli vai vienkārši pieteikties, izmantojot Facebook vai Twitter. Bet vai jums tas jādara?

Vienkāršs DnsCrypt — rīks, lai aizsargātu jūsu tīmekļa pārlūkošanu

Vienkāršs DnsCrypt — rīks, lai aizsargātu jūsu tīmekļa pārlūkošanu

Vienkāršais DnsCrypt palīdzēs jums konfigurēt DNScrypt starpniekserveri Windows sistēmās, lai jūs varētu šifrēt un aizsargāt DNS trafiku.

PUBG tapešu kolekcija datoriem un tālruņiem

PUBG tapešu kolekcija datoriem un tālruņiem

Izmantojot QuanTriMang PUBG fona attēlu komplektu, varat iestatīt augstas izšķirtspējas PUBG fona attēlus gan datorā, gan tālrunī.

Kurš jauninājums visvairāk uzlabos jūsu datora veiktspēju?

Kurš jauninājums visvairāk uzlabos jūsu datora veiktspēju?

Vai jums šķiet, ka jūsu dators darbojas lēni? Ir pienācis laiks apsvērt kādas aparatūras jaunināšanu.