Trabaja de noche, en una oscura habitación iluminada únicamente por el reflejo de la pantalla de su ordenador. Es solitario y asocial, y no suele cuidar demasiado su higiene personal. Sólo se divierte cuando puede entrar en la red de una entidad bancaria o un organismo gubernamental y logra robar datos o dinero electrónico. Y únicamente sale de su aislamiento para, muy de vez en cuando, pedir una piza, que mastica distraídamente mientras sigue navegando y robando.
El retrato que el cine y la literatura han hecho del hacker dice muy poco del cine y la literatura. Un hacker es, en realidad, un experto informático, un apasionado de la programación 'que busca soluciones inteligentes a problemas complejos, y que tiene la habilidad de conseguir resultados inesperados usando herramientas comunes', explica Roberto Santos, miembro de la comunidad de software libre Hispalinux. Por eso, el cine o la literatura nunca se interesarán por la historia de cómo hackeó el DNI electrónico un tal Juan Antonio Martínez, de 45 años, padre de una hija de 17, y técnico informático en la Universidad Politécnica de Madrid.
'Sólo quería utilizar mi DN Ie desde mi ordenador, que no tiene Windows'
Martínez ha explicado esta semana cómo realizó ese hackeo ante ejecutivos de grandes empresas y directores generales de la Administración, durante la celebración del Congreso Nacional de Interoperabilidad en Madrid. También recibió el premio del evento, pero tanta atención le hizo sentirse incómodo. 'Lo mío no es la política, sino escribir código', confesaba, nervioso.
La razón por la que este programador informático decidió remover las tripas del DNI electrónico es muy simple: 'Yo sólo quería utilizar el DNIe desde mi ordenador, que no tiene Windows', explica. La Dirección General de Policía ha expedido más de 20 millones de DNIe, una herramienta electrónica que permite comprar por internet, firmar transacciones seguras con el banco o realizar trámites con la Administración. Una interesante herramienta que, hasta ahora, sólo podían usar los usuarios de Windows.
El poderío del sistema operativo de Microsoft, presente en nueve de cada diez ordenadores, hizo que nadie pensara en las máquinas que funcionan con el sistema operativo Mac, de Apple, o con Fedora o Ubuntu, sistemas operativos basados en Linux. Sus usuarios tenían que buscar complicados atajos técnicos para utilizar el DNIe que, además, raramente funcionaban. Para programar esos parches, los miembros de la comunidad de software libre española, entre ellos Martínez, tuvieron que usar ingeniería inversa, es decir, averiguaron cómo podía funcionar el programa analizando sus características, ya que la Policía no quería liberar su código.
Martínez calcula que su trabajo habría costado 26.000 euros
Hasta que lo hizo, en junio de 2010. Y ese fue el momento en que Martínez se puso a trastear. El hacker calcula que empleó unas seis horas diarias de su tiempo libre en encontrar el driver, el programa que controla un dispositivo. Martínez no es un novato. Había desarrollado ya una aplicación para la tarjeta criptográfica Ceres, de la Fábrica Nacional de Moneda y Timbre, y colaboraba con OpenSC, un proyecto europeo de software libre para este tipo de tarjetas seguras.
'No podíamos depender de la buena voluntad de la comunidad', explica al reflexionar sobre las razones que le llevaron a liberar el DNIe. 'Yo tenía el conocimiento para hacerlo, y también el amor propio. Lo necesitaba'. A su edad, reconoce Martínez, su carrera como programador está entrando en declive. 'Éste es un trabajo muy desagradecido', explica, 'en el que se valora más la agilidad que la experiencia. Las consultoras sólo cuentan con ejércitos de becarios mal pagados. A cierta edad, si programas, no vales', lamenta. El experto, que empleaba el escaso tiempo libre que le dejaba su trabajo y la atención a su hija para programar, cita también una razón clásica de los hackers para pasarse horas picando código: el ego. 'Quería poder decir: Esto lo he hecho yo'.
El 'driver' se ha descargado mil veces y el servidor se ha colapsado
Martínez empleó cuatro meses en crear el driver, aunque lo que más le costó fue lidiar con la burocracia: protocolos de funcionamiento, niveles de seguridad, licencias de uso... El programador contó con la ayuda de los abogados de la Free Software Foundation, una fundación que apoya el código abierto, y de Cenatic, el organismo público que apoya las inversiones en software libre. Y también de la Policía, que acogió con mucho interés su aplicación. Al fin y al cabo se han ahorrado los 26.000 euros que, según cálculos de Martínez, habría costado que una empresa desarrollara ese software.
Desde que se publicó el driver del DNIe, hace apenas unos días, el programa en https://is.gd/mNPb7J ha tenido más de mil descargas, y el 'servidor se ha caído varias veces' por la saturación de visitas, asegura orgulloso Martínez que, en todo caso, le resta importancia al hackeo. 'Sólo somos gente a los que nos gusta cacharrear, indagar en las tripas de las cosas y saber cómo funcionan'. Y, aunque no responde al tópico del hacker, reconoce que, al menos, cumple uno de los tópicos: 'Odio el fútbol. No me gusta nada verlo. Lo que me gusta es programar'.
¿Te ha resultado interesante esta noticia?
Comentarios
<% if(canWriteComments) { %> <% } %>Comentarios:
<% if(_.allKeys(comments).length > 0) { %> <% _.each(comments, function(comment) { %>-
<% if(comment.user.image) { %>
<% } else { %>
<%= comment.user.firstLetter %>
<% } %>
<%= comment.user.username %>
<%= comment.published %>
<%= comment.dateTime %>
<%= comment.text %>
Responder
<% if(_.allKeys(comment.children.models).length > 0) { %>
<% }); %>
<% } else { %>
- No hay comentarios para esta noticia.
<% } %>
Mostrar más comentarios<% _.each(comment.children.models, function(children) { %> <% children = children.toJSON() %>-
<% if(children.user.image) { %>
<% } else { %>
<%= children.user.firstLetter %>
<% } %>
<% if(children.parent.id != comment.id) { %>
en respuesta a <%= children.parent.username %>
<% } %>
<%= children.user.username %>
<%= children.published %>
<%= children.dateTime %>
<%= children.text %>
Responder
<% }); %>
<% } %> <% if(canWriteComments) { %> <% } %>