Cum să construiți software securizat atât pe mobil, cât și pe desktop
Publicat: 2019-03-06În lumea modernă, preocupările de securitate atrag mai multă atenție ca niciodată. Diferiți hackeri și escroci au început să înflorească odată cu creșterea criptomonedelor care valorează sute și mii de dolari pe monedă. Date sensibile ale celebrităților, acreditări bancare, informații despre transferurile de bani sau noile tehnologii – necinstiții online beneficiază de toate, deoarece oamenii tind să ignore măsurile cheie de protecție.
Totuși, un pește miroase de la cap în jos. Fără caracteristici de securitate adecvate concepute de dezvoltatorii de software, este imposibil să vă protejați datele din partea clientului. Având în vedere faptul că dispozitivele mobile câștigă mai multă popularitate din cauza funcționalităților în continuă creștere, în timp ce platformele desktop/web rămân cele mai apreciate, dorim să descoperim cum autorii își pot face produsele compatibile și sigure. Veți găsi sfaturi pentru utilizatori în ultima secțiune.
Securitate pe scurt
La început, să distingem între securitatea aplicațiilor și software-ul de securitate. Acești termeni pot părea sinonimi, dar sunt legați de diferite aspecte, în care prima definiție reprezintă siguranța generală a produsului lansat, iar cea de-a doua acoperă atât etapele post-implementare, cât și pre-implementare.
Practic, aplicațiile software sunt instrumente simple care ajută utilizatorii să interacționeze cu datele, fie prin intermediul gadgeturilor mobile, fie prin intermediul platformelor desktop. Să spunem, dacă doriți să verificați o fișă medicală sau să obțineți informații despre tranzacțiile dvs. recente, este mult mai convenabil să utilizați un smartphone sau un site web de spital/bancă în loc să suni sau să vizitezi aceste locuri.
Problema este că software-ul nu recunoaște tipurile de date clasificate în funcție de sensibilitatea sa. Fără categorii și accesări programate manual, aplicațiile nu vă pot distinge numele de numerele CVV/CVC ale cardului dvs. de credit. Prin urmare, este important să începeți construirea unui sistem de securitate adecvat încă din primele etape de dezvoltare. Iată câteva sfaturi despre acest proces:
- Efectuați codare sigură.
- Clasificați datele și stabiliți cerințele de autorizare.
- Găsiți bug-uri și scăpați de ele.
- Evaluați securitatea în fiecare etapă de dezvoltare.
- Verificați fiabilitatea lucrurilor terțe.
- Educați dezvoltatorii despre tehnicile de înșelătorie.
- Necesită 2FA de la angajați.
- Actualizați regulat software-ul după lansare.
Probleme de siguranță cunoscute
Este abia posibil să creați o aplicație solidă protejată fără a înțelege cum sunt vulnerabile platformele mobile și desktop pentru hackeri. Mai simplu, există câteva abordări tradiționale pentru a pătrunde în dispozitive cu arhitectură diferită, așa că vă propunem să le verificăm chiar acum. Aceste puncte ar trebui să vă ajute în timpul etapei de proiectare, când planificați cele mai bune măsuri de securitate atât pentru produsele mobile, cât și pentru desktop.
Smartphone-uri și tablete
Stilul de viață în mișcare include dispozitivele mobile obligatorii. Astfel, mulți oameni își transferă acum datele de bază de pe computere pe smartphone-uri sau cel puțin sincronizează informațiile între două platforme. Drept urmare, obținem un alt punct în care escrocii pot avea acces la date valoroase. Din punct de vedere tehnic, există trei aspecte vulnerabile:
- Hardware-ul dispozitivului.
- Software-ul în sine.
- Rețele publice.
De exemplu, hoții vă pot fura cu ușurință telefonul într-o mulțime, îl pot roota și pot avea acces la tot ce este din interiorul sistemului. De asemenea, hardware-ul poate fi manipulat dacă cumpărați gadgeturi de la distribuitori neoficiali. În afară de acest punct slab, se știe că hackerii pătrund în smartphone-uri și tablete prin intermediul rețelelor Wi-Fi publice neprotejate. În cele din urmă, nu merită nimic să instalezi malware printr-un joc obișnuit sau aplicație media dacă este descărcat din magazinul neoficial.
Web și desktop
Atât browserele, cât și software-ul descărcat funcționează de obicei în mod similar dacă necesită o conexiune la internet. Aici, aplicația acționează ca o parte a clientului care trimite cereri și obține rezultate, în timp ce baza de date principală (și interfețele dacă utilizați un browser pentru a naviga prin site-uri web) se află pe serverul conectat. Prin urmare, provocările de securitate se împart în trei părți:
- Partea clientului.
- Partea de server.
- Procesul de schimb de date.
Cea mai periculoasă problemă este legată de software-ul vechi, deoarece necinstiții online pot pătrunde cu ușurință în interfețele vechi care nu mai sunt protejate de sisteme actualizate. De asemenea, stocarea în cache a paginilor, serviciile de criptare proaste și adresele/informațiile sensibile expuse de cookie-uri sunt potențiale legături slabe care pot fi utilizate de hackeri.

Dezvoltarea software-ului securizat
Acum, întrebarea este: cum să creați un sistem de încredere pentru ambele platforme dacă prezintă puncte slabe atât de diferite? În general, există trei abordări. Puteți alege cel mai potrivit, dar asigurați-vă că luați în considerare avantajele și dezavantajele fiecărui exemplu.
Mobil ȘI Desktop
În acest caz, dezvoltatorii ar trebui să creeze două produse (pentru platforme mobile și pentru browsere/desktop-uri) separat unul de celălalt. Aplicațiile nu sunt interconectate sau sincronizate, așa că fiți gata să faceți cheltuieli mari atât în bani, cât și în timp, deoarece echipa dvs. va trebui să investească de două ori mai multe resurse. Ca rezultat, vor fi lansate două aplicații separate, fiecare cu propria protecție concepută special pentru platformele țintă.
Mobil CU Desktop
Această opțiune prevede lansarea unui site web foarte adaptabil, astfel încât va afișa toate elementele în mod corespunzător pentru utilizatorii web și mobil. Ca rezultat, obțineți o singură platformă cu un singur punct slab bazat pe vulnerabilitățile web descrise mai sus. Cu toate acestea, produsul final va fi mai puțin funcțional decât platformele mobile native, conținutul se va încărca mai lent, iar caracteristicile generale vor fi limitate.
Mobile PLUS Desktop
În loc să creați proiecte separate sau să proiectați un site web cu compatibilitate mobilă, există cea mai eficientă și sigură opțiune. Diverse echipe, inclusiv dezvoltatorii Diceus.com, folosesc această abordare. Este necesar să creați o singură platformă back-end, dar să instalați două sisteme front-end diferite peste ea.
De exemplu, software-ul de bază poate fi realizat folosind API-ul RESTful care acceptă arhitectura scalabilă atât pentru dispozitive mobile, cât și pentru desktop. În plus, React.js este o alegere bună pentru front-end web, în timp ce cadrele Xamarin sau Cordova se vor potrivi nevoilor dezvoltatorilor de platforme mobile multiplatforme.
Trecând la măsurile de securitate, există câteva metode dovedite în timp pentru abordarea desktop-ului mobil:
- Oferă criptare de top. Pentru versiunile web, este necesar să existe o tehnologie de criptare reală care previne hackurile.
- Include detectii. Veți putea detecta oricând malware dacă sistemele front-end au o conexiune puternică cu platforma back-end.
- Includeți autoprotecția. Aplicațiile pot utiliza funcții de rulare, cum ar fi abandonarea sesiunilor inactive sau notificările de eșec.
- Testați software-ul în mod regulat. Utilizați SAST pentru testarea codului, DAST pentru aplicații și infrastructuri și IAST pentru verificări de date.
- Actualizați și suportați produsele. Pe măsură ce necinstiții inventează noi atacuri, este mai bine să răspundeți rapid cu noi măsuri defensive.
Modelul de dezvoltare descris este cel mai echilibrat din punct de vedere al resurselor, caracteristicilor și siguranței. Trebuie să creați și să protejați trei puncte (un back-end și două front-end) în loc de patru elemente de produse separate, dar obțineți aproape aceeași funcționalitate.
Protecție condusă de utilizator
La sfârșitul zilei, nu uitați de securitatea la nivelul clientului. Dezvoltatorii pot crea cel mai bun sistem posibil, dar neglijența utilizatorilor distruge totul. Când utilizați un anumit software, indiferent de tipul acestuia, amintiți-vă despre igiena Internetului: nu aveți încredere în e-mailurile suspecte, nu verificați certificatele de criptare ale site-urilor web, utilizați antivirusuri etc. Activați întotdeauna 2FA pentru a obține coduri de verificare suplimentare prin SMS sau aplicații de autentificare. Utilizați instrumente de identificare biometrică, cum ar fi amprentele digitale sau detectarea feței pentru smartphone-uri și tablete.
În general, nu este dificil să protejezi datele atunci când atât dezvoltatorii, cât și utilizatorii știu cum să o facă. Hackerii și-ar pierde locul de muncă dacă toți am urma cu strictețe regulile de securitate.
Ai vreo părere despre asta? Anunțați-ne mai jos în comentarii sau transmiteți discuția pe Twitter sau Facebook.
Recomandările editorilor:
- Interviu cu Stu Grubbs, CEO al companiei de software de streaming Lightstream
- 10 dezvoltatori de software pe care ar trebui să-i urmărești în 2019
- 5 dintre cei mai populari furnizori de software pentru jocuri
- Iată cei mai mari și mai de succes furnizori de software iGaming
- Poate software-ul dvs. antivirus să vă încetinească viteza internetului?
