Securitate

Ce este securitatea software-ului?

Ce este securitatea software-ului?
Securitatea software-ului este construirea unui software securizat cu apărare inerentă, astfel încât acesta să funcționeze în continuare sub atacuri rău intenționate, spre satisfacția utilizatorilor și a proprietarilor software-ului. Acest articol explică amenințările și soluțiile, dintr-un punct de vedere general. Se explică și vocabularul standard în securitatea informațiilor. Pentru a înțelege acest articol, ar trebui să fiți informat în domeniul informaticii și al internetului; ar fi trebuit să studiați și un limbaj pentru computer, e.g., Perl, C, C ++, PHP etc.

Ceea ce este securizat este informațiile și pachetele software (aplicații și documente). Informația este orice mesaj util oricui. „Informație” este un cuvânt vag. Contextul în care este folosit își dă sensul. Poate însemna știri, curs, tutorial (sau lecție) sau soluție. Un pachet software este de obicei o soluție la o problemă sau la probleme conexe. În trecut, toate informațiile care nu erau rostite erau scrise pe hârtie. Astăzi, software-ul poate fi considerat ca un subset de informații.

Software-ul poate locui într-un computer sau poate fi în tranzit de la un computer la altul. Fișierele, datele, e-mailurile, vocea înregistrată, videoclipurile înregistrate, programele și aplicațiile se află pe un computer. În timp ce locuiți într-un computer, acesta poate fi corupt. În timp ce se află în tranzit, acesta poate fi totuși corupt.

Orice dispozitiv cu procesor și memorie este un computer. Deci, în acest articol, un calculator, un smartphone sau o tabletă (e.g., iPad) este un computer. Fiecare dintre aceste dispozitive și mediile lor de transmisie în rețea au software sau software în tranzit care ar trebui protejat.

Privilegii

Unui utilizator i se poate acorda privilegiul de a executa un fișier pe un computer. Unui utilizator i se poate acorda privilegiul de a citi codul unui fișier într-un computer. Unui utilizator i se poate acorda privilegiul de a modifica (scrie) codul unui fișier dintr-un computer. Unui utilizator i se pot acorda unul, doi sau toate aceste trei privilegii. Există alte privilegii pentru un sistem de operare sau o bază de date. Utilizatorii au diferite sume sau niveluri de privilegii într-un sistem.

Amenințări

Bazele amenințărilor software

Pentru a proteja software-ul, trebuie să îi cunoașteți amenințările. Software-ul trebuie protejat de persoanele neautorizate care accesează datele sale. Trebuie protejat împotriva utilizării ilegale (de exemplu, pentru a provoca daune). Software-ul trebuie protejat împotriva dezvăluirii către rivali. Software-ul nu trebuie corupt. Software-ul nu trebuie șters neintenționat. Software-ul nu trebuie întrerupt. Software-ul nu ar trebui să aibă nicio modificare care nu este solicitată. Datele (software-ul) nu trebuie inspectate fără un motiv întemeiat, în special de către persoane neautorizate. Software-ul nu trebuie copiat (piratat).

Una sau mai multe dintre aceste baze, rezultând într-un anumit tip de amenințare clasică.

Clase de amenințare software

Spoofing Attack

Aceasta este situația în care o persoană (sau un program) reprezintă cu succes o altă persoană (sau un program) într-o anumită activitate software. Acest lucru se face folosind date false pentru a obține un avantaj ilegal.

Repudiere

Aceasta este situația în care cineva face ceva greșit și refuză că nu este cel care a făcut-o. Persoana poate folosi semnătura altei persoane pentru a face un lucru greșit.

Încălcarea datelor

O încălcare a datelor se produce atunci când informațiile sigure sau private sunt eliberate intenționat sau neintenționat într-un mediu care nu este de încredere.

Atac de refuz de serviciu

O rețea de calculatoare software are software care rulează pe computerele din rețea. Fiecare utilizator își folosește de obicei computerul din față și solicită de obicei servicii de la alte computere din rețea. Un utilizator criminal poate decide să inunde un server cu cereri inutile. Un server are un număr limitat de solicitări pe care le poate gestiona într-o durată. În această schemă de inundații, utilizatorii legitimi nu pot folosi serverul atât de des cum ar trebui, deoarece serverul este ocupat să răspundă la solicitările infractorului. Acest lucru suprasolicită serverul, perturbând temporar sau nedefinit serviciile serverului. În acest timp, gazda (serverul) încetinește în funcționare pentru utilizatorii legitimi, în timp ce făptuitorul își desfășoară răutatea, care rămâne nedetectată, deoarece utilizatorii legitimi care stau în așteptarea serviciului, nu puteau ști la ce se întâmplă la server-ul. Utilizatorilor buni li se refuză serviciul, în timp ce atacul se desfășoară.

Privilegiul escaladării

Utilizatorii diferiți ai unui sistem de operare sau ai unei aplicații au privilegii diferite. Deci, unii utilizatori ajung să aibă mai multă valoare decât alții, din sistem. Exploatarea unei erori software sau a unei supravegheri a configurației pentru a obține un acces sporit la resurse sau informații neautorizate este escalada privilegiului.

Schemele de clasificare de mai sus pot fi utilizate pentru a provoca un virus de computer și viermi.

Una sau mai multe dintre schemele de clasificare de mai sus pot fi utilizate pentru atacuri software, care includ: furtul proprietății intelectuale, corupția bazei de date, furtul de identitate, sabotaj și extorcare de informații. Dacă o persoană folosește unul sau mai multe dintre scheme pentru a modifica distructiv, un site web astfel încât clienții site-ului să-și piardă încrederea, acesta este un sabotaj. Extorcarea informațiilor reprezintă furtul computerului unei companii sau obținerea falsă a informațiilor secrete despre companie. Computerul furat poate avea informații secrete. Acest lucru poate duce la ransomware, unde hoțul ar cere o plată, în schimbul proprietății sau informațiilor furate.

Confidențialitate

Când ceva este sensibil sau inerent special pentru tine, atunci acel lucru îți este privat. Acest lucru se aplică și unui grup de oameni. O persoană trebuie să se exprime selectiv. Pentru a atinge o astfel de selectivitate, individul trebuie să se programeze pe sine sau să programeze informații despre sine; asta este intimitatea. Un grup de oameni trebuie să se exprime selectiv. Pentru a atinge o astfel de selectivitate, grupul trebuie să se programeze singuri sau să programeze informații despre ei înșiși; aceasta este intimitatea. O persoană trebuie să se protejeze selectiv. Pentru a obține o astfel de protecție selectivă, individul trebuie să se protejeze sau să protejeze informațiile despre sine într-un mod selectiv; adică intimitatea. Un grup de oameni trebuie să se protejeze selectiv. Pentru a obține o astfel de protecție selectivă, grupul trebuie să se protejeze sau să protejeze informațiile despre sine în mod selectiv; adică intimitatea.

Identificare și autentificare

Când călătoriți într-o țară străină, veți ajunge la un port al țării respective. La port, un ofițer de poliție vă va cere să vă identificați. Vă veți prezenta pașaportul. Ofițerul de poliție vă va cunoaște vârsta (de la data nașterii), sexul și profesia dvs. din pașaport, iar el vă va privi (fața); adică identificare. Ofițerul de poliție vă va compara fața reală și fotografia din pașaport. De asemenea, vă va estima vârsta cu ceea ce este în pașaport pentru a ști dacă sunteți dumneavoastră.

A te privi și a-ți asocia vârsta, sexul și profesia cu tine este identificare. Verificarea dacă fața ta reală și fotografia ta sunt aceleași și estimarea dacă prezentarea ta se potrivește cu vârsta ta este o autentificare. Identificarea înseamnă asocierea unei persoane sau ceva cu anumite atribute. Indicarea unei identități este, de asemenea, identificare. Autentificarea este actul de a demonstra că identitatea (identificarea) este adevărată. Cu alte cuvinte, autentificarea este actul de a dovedi o afirmație.

În calcul, cel mai comun mod de autentificare este utilizarea unei parole. Un server, de exemplu, are mulți utilizatori. La conectare, vă indicați identitatea (identificați-vă) cu numele de utilizator. Vă dovediți identitatea cu parola. Parola dvs. ar trebui să fie cunoscută numai de dvs. Autentificarea poate merge mai departe; punându-ți o întrebare de genul „În ce oraș sau oraș te-ai născut?”

Obiective de securitate

Obiectivele de securitate din informații sunt confidențialitatea, integritatea și disponibilitatea. Aceste trei caracteristici sunt cunoscute sub numele de triada CIA: C pentru confidențialitate, I pentru integritate și A pentru disponibilitate.

Confidențialitate

Informațiile nu trebuie dezvăluite persoanelor neautorizate sau entităților neautorizate sau proceselor neautorizate; aceasta este confidențialitatea informațiilor în securitatea informațiilor (precum și securitatea software-ului). Furtul de parole sau trimiterea de e-mailuri sensibile către o persoană incorectă este confidențialitatea fiind compromisă. Confidențialitatea este o componentă a confidențialității care protejează informațiile împotriva persoanelor neautorizate, sau a entităților neautorizate sau a proceselor neautorizate.

Integritate

Informațiile sau datele au un ciclu de viață. Cu alte cuvinte, informațiile sau datele au un timp de început și un timp de încheiere.  În unele cazuri, după sfârșitul ciclului de viață, informațiile (sau datele) trebuie șterse (legal). Integritatea constă din două caracteristici, care sunt: ​​1) menținerea și asigurarea acurateței informațiilor (sau datelor) pe parcursul întregului ciclu de viață și 2) completitudinea informațiilor (sau datelor) pe parcursul întregului ciclu de viață. Deci, informațiile (sau datele) nu trebuie reduse sau modificate într-un mod neautorizat sau nedetectat.

Disponibilitate

Pentru ca orice sistem informatic să își îndeplinească scopul, informațiile (sau datele) trebuie să fie disponibile atunci când este necesar. Aceasta înseamnă că sistemul de calcul și mediul său de transmisie trebuie să funcționeze corect. Disponibilitatea poate fi compromisă de actualizările de sistem, defecțiuni hardware și întreruperi de curent. Disponibilitatea poate fi, de asemenea, compromisă prin atacuri de respingere a serviciului.

Non-Repudierea

Atunci când cineva folosește identitatea și semnătura dvs. pentru a semna un contract pe care nu l-a îndeplinit niciodată, nerecunoașterea este atunci când nu puteți nega cu succes în instanță că nu ați creat contractul.

La sfârșitul unui contract, partea care oferă serviciul trebuie să fi oferit serviciul; partea care plătește trebuie să fi efectuat plata.

Pentru a înțelege modul în care non-repudierea este aplicabilă comunicării digitale, trebuie să cunoașteți mai întâi semnificația cheii și semnificația semnăturii digitale. O cheie este o bucată de cod. O semnătură digitală este un algoritm care folosește o cheie pentru a produce un alt cod care este asemănat cu o semnătură scrisă a expeditorului.

În securitatea digitală, non-repudierea este asigurată (nu neapărat garantată) printr-o semnătură digitală. În securitatea software-ului (sau securitatea informațiilor), nerecunoașterea are legătură cu integritatea datelor. Criptarea datelor (pe care ați fi auzit-o) combinată cu semnătura digitală contribuie și la confidențialitate.

Obiectivele de securitate din informații sunt confidențialitatea, integritatea și disponibilitatea. Cu toate acestea, non-repudierea este o altă caracteristică pe care trebuie să o luați în considerare atunci când vă ocupați de securitatea informațiilor (sau securitatea software-ului).

Răspunsuri la amenințări

La care se poate răspunde amenințărilor, într-unul sau mai multe dintre următoarele trei moduri:

- Reducere / atenuare: Aceasta este implementarea unor măsuri de protecție și contramăsuri pentru a elimina vulnerabilitățile sau a bloca amenințările.

- Alocare / Transfer: Aceasta plasează povara amenințării asupra unei alte entități, cum ar fi o companie de asigurări sau o companie de externalizare.

- Acceptare: Aceasta evaluează dacă costul contramăsurii depășește costul posibil al pierderii din cauza amenințării.

Controlul accesului

În securitatea informațiilor din care face parte securitatea software-ului, controlul accesului este un mecanism care asigură faptul că numai utilizatorii eligibili pot accesa resursele protejate într-un sistem dat, cu diferitele lor privilegii meritate.

Soluția actuală pentru securitatea informațiilor

Modul actual și popular de a asigura securitatea informațiilor este de a impune controlul accesului. Aceasta include măsuri precum validarea intrării într-o aplicație, instalarea antivirusului, utilizarea unui firewall într-o rețea locală și utilizarea Transport Layer Security.

Când vă așteptați ca o dată să fie introdusă într-o aplicație, dar utilizatorul introduce un număr, o astfel de intrare trebuie respinsă. Aceasta este validarea intrărilor.

Un antivirus instalat în computer împiedică virușii să corupă fișierele de pe computer. Acest lucru ajută la disponibilitatea software-ului.

Se pot face reguli pentru a monitoriza și controla traficul de intrare și de ieșire al unei rețele locale, pentru a proteja rețeaua. Când astfel de reguli sunt implementate ca software, în rețeaua locală, acesta este un firewall.

Transport Layer Security (TLS) este un protocol de securitate conceput pentru a facilita confidențialitatea și securitatea datelor pentru transmisiile pe internet. Aceasta implică criptarea comunicării dintre gazda trimisă și gazda primitoare.

Realizarea securității informațiilor prin aplicarea controlului accesului se numește Software de securitate, care este diferit de securitatea software-ului, așa cum se explică mai jos. Ambele abordări au același scop, dar sunt diferite.

Securitate software adecvată

Aplicațiile, așa cum sunt scrise astăzi, au o mulțime de vulnerabilități software pe care programatorii le-au realizat din ce în ce mai mult în ultimii 20 de ani. Cele mai multe atacuri sunt făcute profitând de aceste vulnerabilități decât depășind sau rezolvând controlul accesului.

Un tampon este ca un tablou, dar fără o lungime impusă. Când un programator scrie într-un buffer, este posibil să suprascrieți inconștient dincolo de lungimea sa. Această vulnerabilitate este o depășire a bufferului.

Software-ul s-a defectat astăzi cu ramificații de securitate - inclusiv bug-uri de implementare, cum ar fi depășirile de tampon și defecte de proiectare, cum ar fi gestionarea inconsecventă a erorilor. Acestea sunt vulnerabilități.

Este posibil să fi auzit de trucuri în limbajul computerului, cum ar fi PHP, Perl și C ++. Acestea sunt vulnerabilități.

Securitatea software-ului, spre deosebire de software-ul de securitate, depășește aceste vulnerabilități scriind un cod defensiv acolo unde vulnerabilitățile ar fi prevenite. În timp ce aplicația este utilizată, pe măsură ce sunt descoperite mai multe vulnerabilități, dezvoltatorii (programatorii) ar trebui să caute modalități de recodificare a vulnerabilităților, în mod defensiv.

Amenințarea, atacul de respingere a serviciului, nu poate fi oprită prin controlul accesului, deoarece pentru ca făptașul să o facă, el trebuie să aibă deja acces la gazdă (server). Poate fi oprit prin includerea unor programe interne care monitorizează ceea ce fac utilizatorii în gazdă.

Securitatea software-ului este un design robust din interior, care îngreunează atacurile software. Software-ul ar trebui să se auto-protejeze și, la limită, să nu aibă vulnerabilitate. În acest fel, rularea unei rețele sigure devine mai ușoară și mai rentabilă.

Securitatea software-ului proiectează codul defensiv din aplicație, în timp ce software-ul de securitate impune (proiectează) controlul accesului. Uneori, aceste două probleme se suprapun, dar deseori nu.

Securitatea software-ului este deja destul de dezvoltată, deși este încă în curs de dezvoltare, nu este la fel de dezvoltată ca software-ul de securitate. Hackerii răi își ating obiectivele mai mult profitând de vulnerabilitățile software-ului decât depășind sau lucrând în jurul software-ului de securitate. Se speră că în viitor, securitatea informațiilor va fi mai mult de securitate software decât software de securitate. Deocamdată, atât software-ul de securitate cât și software-ul de securitate trebuie să se desfășoare.

Securitatea software-ului nu va fi cu adevărat eficientă dacă nu se efectuează teste riguroase la sfârșitul dezvoltării software-ului.

Programatorii trebuie să fie educați în realizarea programării codului defensiv. Utilizatorii trebuie, de asemenea, să fie educați cu privire la modul de utilizare a aplicațiilor în mod defensiv.

În securitatea software-ului, dezvoltatorul trebuie să se asigure că utilizatorul nu obține mai multe privilegii decât merită.

Concluzie

Securitatea software-ului este proiectarea aplicației cu codificare defensivă împotriva vulnerabilităților pentru a face atacurile software dificile. Software-ul de securitate, pe de altă parte, este producția de software care impune controlul accesului. Securitatea software-ului este încă în curs de dezvoltare, dar este mai promițătoare pentru securitatea informațiilor decât software-ul de securitate. Este deja utilizat și crește în popularitate. În viitor, ambele vor fi necesare, dar cu software-ul, securitatea va avea nevoie de mai mult.

Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...
Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...