Seguretat per la foscor

De Viquipèdia
Dreceres ràpides: navegació, cerca

El principi de la seguretat per la foscor reposa sobre la no-divulgació d'informació relativa a l'estructura, al funcionament i a la implementació de l'objecte o del procediment considerat, per assegurar-ne la seguretat. Això s'aplica als àmbits sensibles de la informàtica, de la criptografia, de l'armament, etc.

Cryptografia[modifica | modifica el codi]

En cryptografia, la seguretat per la foscor va en contra del Principi de kerckhoffs que vol que la seguretat de tot cryptosistema no descansi més que sobre el secret de la clau.

Un missatge avaluat per exemple amb ROT13 no pot continuar sent secret més que si el mètode que es fa servirt per xifrar continua sent desconegut de l'adversari. Si l'agressor «coneix el sistema» llavors serà capaç desxifrar el missatge. Els cryptoanalistes prediquen la transparència en matèria de procés i de disseny de sistemes criptogràfics. Tal pràctica permet avaluar millor la seguretat dels algorismes.

Protecció contra l'enginyeria inversa[modifica | modifica el codi]

Per evitar que qualsevol pugui trobar el codi font d'un programa a partir de la versió compilada (binari), certes societats utilitzen programes per fer-ne l'anàlisi més àrdua. Existeixen diferents mètodes. Es pot citar:

  • ofuscació del codi (veure més abaix);
  • Xifratge del programa;
  • Execució de codi a distència: una part del programa és teleencarregada a cada execució;
  • etc.

Ofuscació del codi màquina:

  • Afegitó d'instruccions vàlides inútils i/o d'arguments inútils a les funcions (per fer la lectura del codi més complexa);
  • Afegitó d'instruccions invàlides i un salt sobre aquestes instruccions per evitar els desassemblador que no suporten aquest gènere de "protecció";
  • Afegitó de protecció anti-debug;
  • etc.

Una societat pot distribuir el codi font dels seus programes obfuscant-los prèviament:

  • Identificadors escollits amb noms semànticament sense significant;
  • Supressió del sagnat, fins i tot de tots els espais no significatius;
  • Supressió dels comentaris;
  • Afegitó d'instruccions inútils;
  • Afegitó d'arguments inútils a les funcions;
  • etc.

Exemple sobre els mainframe d'IBM[modifica | modifica el codi]

La societat IBM desenvolupava els seus principals programaris de ordinador central en un llenguatge anomenat Pl/360,[1] que generava de l'assemblador. És aquest codi assemblador el que era subministrat als seus clients que reclamaven les versions font dels productes i no el codi Pl/360. Ni al compilador del Pl/360 ni a l'especificació del llenguatge no se subministrava al públic, encara que les instruccions Pl/360 apareguessin en comentaris del llistat del assemblador que sí que es subministrava.

Els límits[modifica | modifica el codi]

Pel passat, diversos algorismes o mòduls de programaris que contenien detalls interns guardats secrets han estat revelats al públic. A més a més, les vulnerabilitats s'han descobert i s'han explotat, fins i tot si els detalls interns han continuat sent secrets. Els exemples següents, mostren la dificultat, fins i tot la ineficàcia de guardar secrets els detalls dels sistemes i altres algorismes.

Un procediment basat sobre la seguretat per la foscor menteix sobre la fiabilitat real de la seva seguretat, en el pitjor dels casos, o almenys no n'anuncia més que els punts forts, en els millors. És llavors una senzilla relació de confiança establerta entre els proveïdors de l'objecte, de l'estructura o del procediment així protegit i els seus usuaris que fa referència en la visió de la-dita seguretat. Que una falla seriosa qüestioni el sistema és una font de dificultat per al proveïdor, ja que a més a més de les conseqüències directes degudes a la feblesa explotada, l'usuari es pot sentir enganyat pel fals sentiment d'invulnerabilitat en el qual s'ha mantingut.

Exemples diversos[modifica | modifica el codi]

Obertura i seguretat[modifica | modifica el codi]

La qualitat reconeguda de nombrosos programaris lliures en matèria de seguretat (Apache, Mozilla Firefox, Gnupg) és una bona il·lustració que l'obertura no perjudica la seguretat.

Citació del diputat francès Bernard Carayon en el seu informe Té armes iguals[3] Presentat al Primer Ministre l'octubre de 2006: Finalment, i perquè el codi font és públic i per tant auditable, la seguretat dels programaris lliures es pot assegurar millor.

Vegeu també[modifica | modifica el codi]

Articles connexos[modifica | modifica el codi]

Notes[modifica | modifica el codi]

  1. Pl/360: llenguatge de programació dissenyat per Niklaus Wirth per a Ibm 360 i 370, veure (anglès) Pl/360
  2. el 2004, 13 milions de línies de codi font de Windows 2000 en la naturalesa!
  3. Pdf L'informe del diputat Carayon al Primer Ministre