olivlawolivlaw

Aprofundează

Securitate IT

Cum se sparg sistemele și de ce partea slabă e aproape mereu omul, nu cifrul.

12 idei· 9 min de cititSwipe pe raft

Cursuri pe acest raft

Traseul de lectură

  1. 01

    Criptografia modernă folosește algoritmi matematici pentru a transforma mesajele în coduri de nedeslușit, dar doar dacă sunt implementați corect.

    Applied Cryptography: Protocols, Algorithms, and Source Code in C · Bruce Schneier · 1994

    Imaginează-ți că ai un robot care amestecă literele dintr-o scrisoare după o regulă secretă. Dacă regula e bună, nimeni nu poate citi scrisoarea fără cheie. Dar dacă robotul face o greșeală mică, un dușman deștept poate ghici regula și citi totul. Așa e și cu codurile din calculatoare.

    De ce conteazăAceastă carte este esențială pentru înțelegerea modului în care funcționează securitatea online de astăzi.

    Pe larg

    Un exemplu concret: când deschizi un site securizat, browserul tău și serverul cad de acord asupra unui cod secret fără ca nimeni să-l vadă. Dacă un pas din această negociere e greșit, un atacator poate citi tot ce trimiți, de la parole la mesaje. Algoritmul e doar o rețetă; implementarea lui face diferența dintre siguranță și vulnerabilitate. Următorul pas arată cum o eroare aparent minoră poate compromite întregul sistem.

  2. 02

    Criptografia a fost folosită de mii de ani pentru a proteja secrete, iar fiecare metodă nouă a fost spartă în cele din urmă de oameni creativi.

    The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography · Simon Singh · 1999

    Imaginează-ți că ai o cutie cu o încuietoare secretă. De-a lungul timpului, oamenii au inventat încuietori din ce în ce mai complicate. Dar de fiecare dată, un hoț isteț găsea o cheie sau o metodă să o deschidă. Așa a fost și cu codurile secrete: fiecare invenție a dus la o nouă spargere.

    De ce conteazăAceastă carte ne arată de ce securitatea informațiilor este o cursă continuă între apărători și atacatori.

    Pe larg

    Când trimiteai un mesaj în Roma antică, un sclav îți duceai tableta de ceară. Dacă dușmanii interceptau tableta, puteau citi totul. Așa că romanii au inventat cifrul lui Caesar: înlocuiau fiecare literă cu alta, la trei pași distanță. A funcționat o vreme. Apoi, adversarii au observat tipare. Literele cele mai dese din latină, precum E, rămâneau ușor de ghicit. Așa s-a născut arta spargerii de coduri, numită criptanaliză. Fiecare avans al apărării a provocat un contra-avans al atacului.

  3. 03

    Securitatea digitală nu este doar despre parole și criptare, ci despre înțelegerea întregului sistem, inclusiv a oamenilor și proceselor.

    Secrets and Lies: Digital Security in a Networked World · Bruce Schneier · 2000

    Gândește-te la un castel cu ziduri groase și un pod mobil. Dacă podul este lăsat jos din greșeală sau paznicul doarme, castelul nu mai e sigur. La fel, un sistem informatic are multe părți: programe, rețele, oameni. Dacă una e slabă, totul cade. Trebuie să te uiți la tot, nu doar la lacăt.

    De ce conteazăÎn era internetului, unde totul este conectat, această viziune holistică asupra securității este mai importantă ca niciodată.

    Pe larg

    Schneier spune că un sistem e la fel de puternic ca veriga lui cea mai slabă. De multe ori, veriga slabă nu e un cod sau un server, ci o persoană. Un angajat care face click pe un link rău intenționat poate anula orice criptare. De asta, securitatea reală începe cu educația și cultura organizației. Fără oameni vigilenți, tehnologia devine doar o iluzie de siguranță.

  4. 04

    Cel mai slab punct al oricărui sistem de securitate este omul, nu tehnologia, pentru că oamenii pot fi păcăliți să dea informații secrete.

    The Art of Deception: Controlling the Human Element of Security · Kevin D. Mitnick · 2002

    Gândește-te la un gard foarte înalt și o ușă groasă de oțel. Dacă paznicul deschide ușa oricui spune că e prieten, gardul nu mai contează. La fel, un atacator poate suna și spune că e de la IT, cerând parola. Omul este cel care cedează, nu calculatorul.

    De ce conteazăAstăzi, atacurile de inginerie socială sunt printre cele mai periculoase, deoarece vizează oameni reali, nu mașini.

    Pe larg

    Mitnick arată că încrederea este cea mai ușor de exploatat vulnerabilitate. Un angajat care vrea să fie politicos poate oferi acces unui străin. De exemplu, cineva care sună și pretinde că e un coleg care și-a uitat parola. Nu tehnologia, ci bunăvoința umană deschide ușa. Cum poți recunoaște un atac înainte să se întâmple?

    Atacatorii nu forțează ușa, ci îi conving pe oameni să o deschidă. Un angajat care primește un telefon de la un fals coleg de la IT nu este nepăsător, ci politicos. El vrea să ajute. Mitnick numește această vulnerabilitate „slăbiciunea bunăvoinței”. De exemplu, un angajat care confirmă o adresă de email unui presupus partener de afaceri oferă, de fapt, o cheie pentru un atac. Cum poți păstra politețea fără a deveni o ușă deschisă?

    Mitnick sugerează că soluția nu este să devii suspicios cu toată lumea, ci să construiești obiceiuri simple de verificare. De exemplu, dacă cineva sună și spune că e de la suport tehnic, nu da parola imediat. Închide și sună înapoi la numărul oficial al companiei. Acest reflex transformă politețea într-un scut, nu într-o ușă. Următorul pas este să înveți cum să spui „nu” fără să pari nepoliticos.

    Mitnick arată că atacatorii exploatează nu doar politețea, ci și urgența. Când cineva spune că e o criză, creierul nostru sare peste verificări. De exemplu, un fals șef care cere o parolă „acum, că se blochează serverul” declanșează panică, nu gândire. Soluția este să ai o regulă fixă: nicio acțiune importantă fără confirmare printr-un alt canal. Astfel, urgența devine un semnal de alarmă, nu o comandă.

  5. 05

    A scrie un program bun nu înseamnă doar să-l faci să meargă, ci să găsești rețeta cea mai eficientă, ca un bucătar care caută cea mai bună metodă, nu doar una care funcționează.

    The Art of Computer Programming · Donald Knuth · 1968

    Knuth a analizat cu grijă mii de moduri diferite de a sorta sau căuta date, măsurând exact câți pași și câtă memorie folosește fiecare metodă. Unele rețete par simple, dar devin foarte lente cu mult mai multe date. Alte rețete, mai complicate la început, rămân rapide chiar și cu milioane de intrări.

    De ce conteazăCărțile lui rămân, la zeci de ani distanță, o referință standard pentru inginerii de software.

    Pe larg

    Knuth ne învață că o metodă care funcționează nu este suficientă. Când îți faci bagajul pentru o vacanță, ai putea să arunci hainele la întâmplare în valiză. Funcționează, dar durează mult să găsești ceva. O metodă mai bună este să rulezi fiecare articol și să le așezi în straturi. Asta face diferența între un program lent și unul rapid, mai ales când ai mult de lucru.

  6. 06

    Oamenii și computerele nu caută mereu soluția perfectă la o problemă, ci una „suficient de bună", pentru că timpul și informația disponibilă sunt mereu limitate.

    The Sciences of the Artificial · Herbert A. Simon · 1969

    Simon numea asta „raționalitate limitată": nimeni nu poate analiza absolut toate opțiunile posibile înainte de a decide. Când alegi ce ai la cină, nu compari toate rețetele din lume, ci te oprești la prima variantă rezonabilă găsită repede. Algoritmii de calculator folosesc adesea aceeași strategie.

    De ce conteazăIdeea a influențat direct modul în care sunt proiectați algoritmii de căutare folosiți azi peste tot.

    Pe larg

    Simon a arătat că, atunci când informația e incompletă, o soluție acceptabilă e mai utilă decât una perfectă. De exemplu, când cauți un apartament, nu vezi toate ofertele din oraș, ci te oprești la primul care îți satisface criteriile de bază. Această observație a stat la baza algoritmilor de căutare euristică, care nu explorează toate posibilitățile, ci ghidează decizia spre opțiuni promițătoare. Așa funcționează și motoarele de căutare online, care nu-ți arată toate paginile web, ci doar pe cele mai relevante. Pasul următor explică de ce această abordare economisește resurse.

  7. 07

    Inteligența artificială poate fi construită prin agenți raționali care percep mediul și acționează pentru a atinge obiective.

    Artificial Intelligence: A Modern Approach · Stuart Russell și Peter Norvig · 1995

    Imaginează-ți un robot care joacă șah. El vede tabla (percepe), gândește ce mișcare să facă (procesează) și mută piesa (acționează). Aceasta este ideea de agent rațional: un program care ia decizii bune pentru a câștiga, exact ca un jucător uman.

    De ce conteazăAceastă carte este baza modernă a inteligenței artificiale, folosită în universități pentru a învăța cum funcționează roboții și asistenții virtuali.

    Pe larg

    Un agent rațional nu trebuie să fie perfect. El face cea mai bună alegere pe baza a ceea ce știe. De exemplu, un aspirator robot nu știe unde e murdăria în casă. El folosește senzori pentru a detecta praful și a decide în ce direcție să meargă. Uneori ratează un colț, dar asta e ok. Scopul lui e să curețe cât mai eficient, nu să fie perfect. Asta înseamnă raționalitate practică. Următorul pas e să înțelegem cum învață agentul din greșeli.

  8. 08

    Multe sisteme — animale, mașini, chiar orașe — se autoreglează folosind informații despre propriile rezultate, la fel cum un termostat oprește căldura când e destul de cald.

    Cybernetics: Or Control and Communication in the Animal and the Machine · Norbert Wiener · 1948

    Wiener a numit „cibernetică" studiul buclelor de reacție: un sistem măsoară efectul propriei acțiuni și își ajustează comportamentul în funcție de acel efect. Un termostat citește temperatura, o compară cu ținta dorită, apoi pornește sau oprește căldura. Corpul tău face la fel când tremură pentru a se încălzi.

    De ce conteazăIdeea de reacție continuă stă la baza roboților moderni și a pilotului automat din avioane.

    Pe larg

    Wiener a observat că aceeași buclă de reacție funcționează și în economie. Când prețurile cresc, oamenii cumpără mai puțin, iar prețurile scad. E ca un termostat, dar cu oameni în loc de senzori. Problema e că oamenii reacționează mai lent și mai haotic decât un termostat. De asta piețele fluctuează atât de mult. Următorul pas e să vezi cum aceste bucle pot fi proiectate conștient.

  9. 09

    Conștiința ar putea apărea din bucle care se referă la ele însele, la fel cum o desenare a unei mâini care se desenează pe sine pare imposibilă, dar are sens ca idee.

    Gödel, Escher, Bach: An Eternal Golden Braid · Douglas Hofstadter · 1979

    Hofstadter compara mintea cu un desen al lui Escher, unde o scară pare să urce mereu, dar se întoarce de unde a pornit. El a legat asta de descoperirea lui Gödel: un sistem suficient de complex poate vorbi despre el însuși. Poate exact acest tip de buclă auto-referitoare creează senzația de „eu" din creierul nostru.

    De ce conteazăIdeile din carte influențează azi cercetarea despre cum ar putea apărea conștiința în inteligența artificială.

    Pe larg

    Hofstadter nu spune că orice buclă e conștiință. Un termostat are o buclă simplă: pornește sau oprește căldura. Dar nu simte nimic. Diferența e în complexitate. Când buclele se împletesc suficient de multe, apare ceva nou. Gândește-te la un joc de șah. Regulile sunt simple, dar combinațiile lor creează strategii pe care nimeni nu le-a prevăzut. La fel, buclele din creier s-ar putea împleti până când apare senzația de sine. Următorul pas e să înțelegem câte bucle sunt necesare.

  10. 10

    Orice mesaj — cuvinte, imagini, muzică — poate fi descompus în cea mai mică unitate posibilă de informație, un simplu răspuns da sau nu, numit bit.

    A Mathematical Theory of Communication · Claude Shannon · 1948

    Shannon a arătat că poți măsura informația exact ca pe o greutate, în unități numite biți. Un bit e cât o singură întrebare cu răspuns da sau nu. Cu suficienți biți puși cap la cap, poți descrie o fotografie, o melodie sau o carte întreagă, indiferent ce limbaj a fost folosit inițial.

    De ce conteazăFiecare fișier trimis pe internet azi e, la bază, doar un șir lung de biți.

    Pe larg

    Când spui „da” sau „nu” la o întrebare simplă, ai tocat realitatea în bucăți pe care un calculator le poate înghiți. Gândește-te la un fișier audio: fiecare secundă de muzică e măsurată de mii de ori, iar fiecare măsurătoare e un „da” sau „nu” pentru un anumit nivel de sunet. Așa cum o fotografie devine un mozaic de puncte, sunetul devine un șir de biți. Dar cum știi dacă acel șir e corect?

  11. 11

    O mașină imaginară, extrem de simplă, care citește și scrie simboluri pe o bandă infinită, poate calcula, în principiu, orice altă mașină de calcul ar putea vreodată.

    On Computable Numbers, with an Application to the Entscheidungsproblem · Alan Turing · 1936

    Turing a imaginat o bandă lungă, împărțită în căsuțe, pe care o mașină simplă citește un simbol, decide ce să facă după niște reguli fixe, apoi se mișcă stânga sau dreapta. Oricât de simplă pare, această „mașină Turing" poate, teoretic, rula orice program pe care-l rulează azi cel mai puternic supercomputer.

    De ce conteazăIdeea lui a pus bazele teoretice ale fiecărui computer și telefon folosit azi.

    Pe larg

    Gândiți-vă la o mașină de spălat. Are un program fix: spală, clătește, stoarce. O mașină Turing poate, în schimb, să execute orice program. Ea nu face nimic singură. Ea doar urmează instrucțiuni simple, pas cu pas. Acesta este secretul. Orice calcul complex poate fi descompus în operații elementare. De la un joc video la prognoza meteo, totul se reduce la aceleași mișcări de bază pe o bandă imaginară. Pasul următor este să înțelegem cum o mașină atât de simplă poate fi la fel de puternică precum orice alt calculator.

  12. 12

    Alan Turing a demonstrat că unele probleme nu pot fi rezolvate de niciun calculator, indiferent cât de puternic este.

    The Annotated Turing · Charles Petzold · 2008

    Gândește-te la un puzzle imposibil: vrei să știi dacă un program se va bloca vreodată, dar nu poți afla sigur. Turing a arătat că există întrebări la care calculatoarele nu pot răspunde niciodată, chiar dacă sunt foarte rapide. Este ca și cum ai încerca să găsești o comoară care nu există.

    De ce conteazăAceastă limită a calculului ne ajută să înțelegem de ce unele probleme, cum ar fi securitatea perfectă, sunt imposibile.

    Pe larg

    Să zicem că scrii un program care verifică dacă alt program se blochează. Turing a demonstrat că un astfel de verificator universal nu poate exista. Asta înseamnă că, oricât de inteligent ai fi, nu poți construi o mașină care să prezică toate blocările. E ca și cum ai încerca să creezi o listă completă a tuturor minciunilor posibile. În viața de zi cu zi, asta explică de ce antivirusul tău ratează uneori amenințări noi.

Toate topicurile