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.


Norādījumi par Clonezilla lietošanu Windows cietā diska klonēšanai

Norādījumi par Clonezilla lietošanu Windows cietā diska klonēšanai

Izmantojiet Clonezilla, lai ātri un ļoti vienkārši klonētu visu veco cieto disku uz jaunu cieto disku. Šajā rakstā tiks parādīts, kā klonēt Windows 10 disku, izmantojot Clonezilla un USB zibatmiņas disku.

Vairāk nekā 40 augstas izšķirtspējas Thanos tapešu kolekcija datoriem

Vairāk nekā 40 augstas izšķirtspējas Thanos tapešu kolekcija datoriem

Šajā rakstā iekļautais Thanos tapešu komplekts būs pieejams visās izšķirtspējās visiem datoriem un klēpjdatoriem

Atšķirība starp pretvīrusu un ļaunprātīgas programmatūras apkarošanas programmām

Atšķirība starp pretvīrusu un ļaunprātīgas programmatūras apkarošanas programmām

Ļaunprātīgas programmatūras noņemšanas rīki un pretvīrusu programmatūra papildina viens otru un var darboties kopā, lai nodrošinātu maksimālu drošību lietotāju ierīcēs.

FortiClient apskats: vairāku platformu bezmaksas pretvīrusu programma

FortiClient apskats: vairāku platformu bezmaksas pretvīrusu programma

FortiClient ir bezmaksas pretvīrusu produkts no Fortinet. Fortinet ir pazīstams ar kiberdrošības aparatūras produktu ražošanu. FortiClient ir vairāku platformu programma, kas pieejama operētājsistēmām Windows, macOS, Linux, Windows Phone, iOS un Android.

Labojums Nevar atvērt šo vienumu kļūdu sistēmā Windows

Labojums Nevar atvērt šo vienumu kļūdu sistēmā Windows

Ja izmantojat sistēmu Windows, tiek parādīts kļūdas ziņojums Nevar atvērt šo vienumu. Iespējams, tas ir pārvietots, pārdēvēts vai izdzēsts. Kas man jādara? Lai iegūtu sīkāku informāciju, lūdzu, izpildiet tālāk sniegto rakstu.

Kas ir KRACK? Kā KRACK lauza WPA2 WiFi drošības protokolu

Kas ir KRACK? Kā KRACK lauza WPA2 WiFi drošības protokolu

Pētnieks Mathy Vanhoef no Lēvenas universitātes ir atklājis nopietnu drošības trūkumu Wi-Fi Protected Access II (WPA2) tīkla drošības protokolā.

Bieži uzdotie jautājumi par noklusējuma parolēm

Bieži uzdotie jautājumi par noklusējuma parolēm

Šodienas rakstā Quantrimang apkopos dažus bieži uzdotos jautājumus par noklusējuma parolēm, lai palīdzētu lasītājiem atbildēt uz jautājumiem, kas saistīti ar šo problēmu.

Kāpēc izmantot CyberGhost VPN?

Kāpēc izmantot CyberGhost VPN?

Jums ir nepieciešams VPN — tas padara dažādas iespējas vienkāršas, un CyberGhost VPN ir viens no labākajiem VPN, ja runa ir par vienkāršību.

3 populārākie multimākoņu drošības izaicinājumi un stratēģijas izveide

3 populārākie multimākoņu drošības izaicinājumi un stratēģijas izveide

Vairāki drošības paraugprakses piemēri ir parādījušies, palielinoties daudzmākoņu vidēm, un ir daži svarīgi soļi, kas būtu jāveic visām organizācijām, izstrādājot savas drošības stratēģijas.

Instalējiet dinamiskus ekrānus un animētas tapetes operētājsistēmā Windows

Instalējiet dinamiskus ekrānus un animētas tapetes operētājsistēmā Windows

Microsoft operētājsistēmā Windows Vista DreamScene ļāva iestatīt dinamisku fonu datoriem, taču astoņus gadus vēlāk tas joprojām nav pieejams operētājsistēmā Windows 10. Kāpēc šī paraža gadu gaitā ir bijusi atgriešanās pagātnē, un ko mēs varam darīt, lai to mainītu?