08 noviembre 2013

Entrevista a Fernando Tricas (@Fernand0)

Hoy tenemos el inmenso placer de poder entrevistar a Fernando Tricas, mítico editor de Barrapunto (Fernand0), autor de uno de los blogs con más solera del panorama nacional y profesor de informática de la Universidad de Zaragoza.

Podéis encontrarlo en twitter como @Fernand0

1- Mucha gente seguro que te conoce, pero para aquellos que no tengan una referencia de ti, ¿ puedes auto-presentarte ?

Soy profesor de Informática en la Universidad de Zaragoza. Siempre hemos usado bastante software libre y eso me llevó a explorar ese mundillo a través de BarraPunto y otros sitios similares. 

Allí abrí mi primera bitácora sobre software libre y también empecé a interesarme por los temas de seguridad. También por la 'vida social' alrededor de la informática (en este caso blogs y comunidades) que tantas veces las personas de perfil más técnico olvidamos. 

Tengo un blog en http//fernand0.blogalia.com/ (Reflexiones e Irreflexiones). También otro más técnico pero al que dedico menos atención en http://mbpfernand0.wordpress.com/ sobre software libre, programación, seguridad...

2- Como profesor de universidad, supongo que eres consciente de que mucha gente opina que muchas de las materias que se exigen para obtener una titulación están obsoletas ( lenguajes de programación, metodologías, y en general que la universidad carece de vocación profesional)  ¿Cual es tu postura al respecto?

Lo que veo es bastante interesante, en ese aspecto. Si tuvieramos que hacer todo lo que dice todo el mundo que opina sobre el tema, nuestros estudiantes deberían terminar sabiendo desde una parte bastante profunda de ciencia básica (física, matemáticas con buen nivel...) hasta la última tecnología que salió el mes pasado en cualquier sitio, pasando por buenos conocimientos de electrónica. 

Incluyendo, por supuesto, cualquier tecnología más o menos popular que resulta que necesita la empresa del que hace el comentario. Todo eso en los años que dura la carrera. Además, teniendo en cuenta de dónde viene la financiación de la mayoría de las universidades, sin que cueste mucho más de lo que ya está costando.

Estudiar una carrera es un compromiso a medio plazo (unos años) en el que se aprenden a diferentes niveles muchas cosas: materias básicas, mezcladas con otras más o menos tecnológicas. 

De esa mezcla sale una persona diferente de la que ha entrado que tiene no sólo los conocimientos que ha adquirido, sino también una combinación de recursos adicionales relacionados con: organizarse, entregar cosas, complementar lo que ha aprendido por otros medios, diversidad de enfoques, capacidad de esfuerzo, .... ¡incluso en materias que no te interesan para nada!

Sobre la obsolescencia, tengo mis dudas: es cierto que somos poco flexibles muchas veces, pero también por eso mismo tratamos de impartir materias que son suficientemente básicas y consolidadas para que tengan sentido durante mucho tiempo. 

Nuestra disciplina todavía es muy joven y cambia demasiado todos los años para saber qué es lo que será realmente necesario para una persona cuando acabe su carrera (de vez en cuando hago el ejercicio de mirar hacia atrás para ver lo que había hace cinco años: no existía el iPhone ni android, por ejemplo; si vamos un poco más atrás parecía que todo el mundo tenía que saber todo sobre Windows y olvidarse de las otras alternativas....)

Y luego se puede hacer un proyecto de fin de carrera con las tecnologías más actuales en una empresa o en la propia Universidad. En medio, por supuesto, muchos profesores incluyen temas de actualidad relacionados con esas materias consolidadas de las que estábamos hablando. A veces aciertan y otras se equivocan, claro.

3- Cada vez más están proliferando cursos / formaciones / masters en materia de seguridad, lo que indica una demanda de ese tipo de formación por parte del mercado, ¿Opinas que la Universidad se queda 'corta' a la hora de formar a los alumnos en esa materia?

No estoy seguro de cómo les está yendo a esos cursos así que tengo mis dudas sobre la demanda. Incluso hemos tenido alguna iniciativa en ese sentido que no ha tenido mucho éxito. Mi impresión es que hay buen nivel de empleo para la gente que ya sabe informática así que la formación adicional es complicada salvo, tal vez, en sitios muy grandes o en contextos muy específicos. También hay un componente importante en los titulados de auto-formación.

Dicho eso, todavía veo otra cuestión más: salvo que aceptemos el enfoque de 'darle al botón y recibir un informe' o el de 'comprobar la checklist' la seguridad informática necesita (o creo que necesitaría), antes de empezar, un componente técnico importante previo: buenos conocimientos de programación, sistemas, arquitectura....

Finalmente, la aproximación que a mi me interesa más sería el desarrollo pensando en la seguridad (y usabilidad, y ...) y lo que el mercado parece demandar más bien son certificaciones y, en algunos casos, 'demostraciones' basadas en 'pentesting' y similares; en resumen, poder decir 'nos han revisado la aplicación y hemos tapado los agujeros más grandes'. 

Para estas cosas ya hay canales para formarse en el primer caso, y en el segundo la formación es muy difícil y parece que funciona mejor encontrar a gente espabilada en esos temas que  aprende en su trabajo diario dentro de equipos que están todo el día dedicados a esos temas. Me parece que es algo difícil de enseñar de manera más o menos reglada.

¿Alguien pagaría más por un programa desarrollado de manera más robusta y más segura? Hay casos (y empresas que se dedican a ello) pero la mayoría de las empresas viven de otro tipo de productos.

Puede que esté completamente equivocado, claro.

Nosotros llevamos diez años impartiendo una asignatura de desarrollo seguro que comenzó como curso de doctorado, pasó por un estudio propio que tuvimos durante una temporada y que acabó en el Máster de investigación de nuestro Departamento. En el nuevo Grado en Ingeniería Informática introdujimos una asignatura de Seguridad Informática que trata de ser una introducción a la seguridad en sistemas y al desarrollo seguro que se está empezando a impartir durante este curso.

4- Dinos los tres lenguajes de programación que toda persona con aspiraciones informáticas debería conocer / dominar

No me parece muy importante saber uno u otro lenguaje para alguien con aspiraciones informáticas: porque todos los que estamos en estos temas seguimos aprendiendo lenguajes nuevos y, al final, cada lenguaje tiene sus cosas buenas para algunas cosas que no lo son tanto para otras.

Dicho eso, ¿por qué sólo 3? en mi día a día estoy pensando los que uso (sin ser un desarrollador ni nada parecido, sólo un usuario que programa cosillas para sus problemas del día a día) me salen Python, c, ksh (o bash o cualquiera del shell) y últimamente algo de Perl para unas cosillas que me ha hecho falta.

Si me tengo que mojar un poco más (y pensando en esos fundamentos a los que hacíamos referencia antes) diría que debería saber:

- Algún lenguaje de bajo nivel (c es lo mínimo pero ¿también algún ensamblador?)
- Algún lenguaje de Script (¿Python, Perl, Shell?)
- Algún lenguaje orientado a objetos (¿Java, Python? aceptamos Python como OO).

Y me estoy dejando sin nombrar: algún lenguaje fuertemente tipado y estructurado (¿Pascal, Ada, Modula?). Probablemente no lo uses en proyectos pero te sirve para hacer músculo y comprender mejor lo que pasa con los de arriba y te orienta hacia los de abajo. Java es fuertemente tipado pero oculta muchas cosas que es bueno saber. Algo para la web (vale, se puede hacer web con los que he dicho pero nos faltarían cosas). Algún paradigma alternativo, ¿programación funcional?

Naturalmente, habrá gente que piense que lo que debería saber es ensamblador, c y perl porque trabajen a bajo nivel y otros que crean que debería saber Java, PHP y Ruby. Depende mucho de en qué parte de los sistemas termines trabajando.

La informática es tan amplia que alguien puede terminar trabajando en nichos muy concretos en los que el lenguaje que use no tiene nada que ver con lo que se escucha habitualmente.

Si hablamos de un informático que piensa en la seguridad, elegiría Python, c, shell (y me dejo el ensamblador, del que debería haber tenido algún contacto, aunque sea a nivel de arquitectura). Tres me parece poco :-)

5- Cual es tu visión actual de la seguridad informática, ¿ opinas que hemos avanzado o retrocedido ?

Hemos avanzado poco. Hay gente que sabe muchísmo (seguramente entre los lectores de este sitio hay unos cuantos) pero no hemos conseguido que el mensaje pase a la sociedad y sigue siendo habitual que los responsables de un proyecto se preocupen de estos temas cuando aparecen los problemas.

Parece que vivimos en un mundo de certificaciones. Con sus cosas buenas, porque nos obligan a darnos cuenta que hay que hacer algunas cosas de una determinada manera. Y sus cosas malas, 'hago lo que dice la norma, luego estoy seguro'.

Si hablamos de gente normal, los usuarios son bastante 'osados'. Cuando quieren conseguir algo no piensan demasiado en las consecuencias de las acciones que llevan a cabo para conseguirlo así que incurren en prácticas de riesgo constantemente.

Por otro lado, me pregunto si estamos haciendo bien en asustar a la gente con las cosas malas que pueden pasar en lugar de hacer que para un usuario normal lo normal sea estar seguro porque los programas y desarrollos le llevan en esa dirección (lo decía hace poco Chema Alonso en "Mea culpa, Penny" pero también Alma Whitten y J.D. Tygar en 'Why Johny can't encrypt. A Usability Evaluation of PGP 5.0")

5- ¿Alguna vez te ha tocado lidiar con un problema de seguridad ? ¿te han 'hackeado' el ordenador donde tenías las notas :)?

Entiendo que te refieres a un problema personal y que me afecte directamente a mi: con estas cosas hay que ser prudente. Es conocido aquel famoso principio que dice que seguramente no es que no hayas tenido incidentes de seguridad, sino que no te has enterado.

Hasta donde yo se, nadie ha entrado en ninguno de mis ordenadores y hace muchos años que no veo un virus o algo así en mis sistemas.

Tampoco caigo en las típicas trampas de Twitter y otras redes sociales donde alguien utiliza una aplicación que hace algo gracioso para acceder a tus credenciales y utilizarlas para las típicas cosas como mandar spam.

Sí que he tenido que ver con algunos incidentes de otros a los que he tratado de ayudar un poco en algunas cuestiones, aunque es algo que tampoco hago habitualmente y no es una faceta en la que pueda presumir de tener grandes habilidades.

6- Últimamente han saltado a la luz revelaciones sobre la NSA y el nivel de espionaje al que estamos sometidos ¿Te han sorprendido o eres de los que intuían todo este entramado?

Si dijera que intuía algo con respecto a la NSA mentiría. Pero tenemos que tener clarísimo que es muy difícil estar seguro de que lo que ponemos en la red es tan privado como creemos a veces. En ese sentido no era una intuición: si alguien está interesado en la información que tienes en la red, date por perdido. Sea la NSA u otro organismo o empresa.

Tampoco creo que nos vengan mal estos descubrimientos para hacernos conscientes de estas cosas: es asombrosa la candidez con que utilizan la tecnología nuestros responsables políticos (y en las empresas también, claro). Me parece paradigmático (aunque no se como de cierto es eso y por lo tanto lo podemos dejar en duda) aquella noticia de que Angela Merkel tenía dos móviles, uno securizado y otro no. Sobre todo porque cuando Obama entró en el Gobierno ya se lanzó un aviso a navegantes con aquél lío de su BlackBerry (que también se diluyó un poco lo que realmente pasaba entre el ruido de las noticias).

Luego podríamos entrar en la polémica de seguridad contra libertad y de cuánto realmente debemos permitir a los gobiernos entrar en nuestra vida privada.

Y, finalmente, pensar que somos suficientemente poco interesantes como para que nuestros datos se pierden en el ruido de todos los demás que son tan poco interesantes como nosotros. Pero aún así debemos ser prudentes. Lo que no queramos que nadie vea, es mejor que no esté en la red.

7- La inevitable pregunta polémica: ¿Qué te aporta más confianza, el software libre o el software privado?

Siempre digo que el sistema más seguro es uno bien gestionado y administrado, libre o privativo. Ninguno de los dos tiene características mágicas y si incurrimos en prácticas de riesgo o no gestionamos adecuadamente los dispositivos no hay nada que hacer.

Dicho eso, yo me siento más seguro con el software libre. Seguramente nunca haré un parche para un problema de seguridad que encuentre, pero vivo con la tranquilidad de que siento que tengo más control sobre todo.

Enlazándolo con el tema de arriba nos podemos ir a los temas de soberanía tecnológica e independencia: si los sistemas son tuyos y puedes auditarlos, tienes algo más de control sobre lo que puede pasar con tus datos. La duda es si lo haríamos o, incluso, si nos lo podríamos permitir.

8- Para terminar, nos gustaría que compartieses con nosotros los 'tips' de seguridad que enseñas a tus alumnos.

Lo último que les digo cuando acaba el curso es: 'Y ahora empieza todo...'

El mensaje tiene que ver con que han aprendido una cuantas cosas pero que mañana puede haber novedades y que no vale de nada quedarse estancado y pensar que ya sabemos lo que tenemos que saber.

Desde un punto de vista más técnico trato de transmitirles el mensaje de que que hay que pensar en la seguridad en las fases de desarrollo (en todas). Trabajar siempre pensando en el tipo de proyecto al que nos enfrentamos: no es lo mismo hacer una aplicación médica, que para un banco, o un foro para hablar de un artista más o menos famoso. Y que lo fundamental es la funcionalidad del proyecto (todos hemos sufrido alguna vez la típica aplicación desarrollada en modo paranóico y que tiene unas medidas de seguridad que nos molestan y que no se corresponden con el uso que podemos darle).

Finalmente, cuestiones acerca de la gestión del ciclo completo de vida: que tu programa sea tan seguro como pueda/deba ser, pero que incluya recursos de recuperación en caso de que haya problemas, copias de seguridad, mecanismos de trazabilidad, ...

Muchas gracias Fernando, ha sido genial que compartieses con nosotros tu sabiduría 

3 comments :

Lucio dijo...

Joder, que os habeis olvidado la mas importante: Barrapunto ya no es lo que era?

Atrio dijo...

Muy buena entrevista y sobre todo muy buenas respuestas, hay mucha gente que le encanta dar cera a la universidad y poder leer a la otra parte me resulta muy esclarecedor

Ricardo dijo...

Me parece una de las peores entrevistas de SbD. Desde luego que este tipo está años luz de lo que la universidad Española es hoy día. Y si no es que se está llevando una comisión por alumno matriculado....
Eso si, este tipo se lleva el mes 2500€ limpios a su bolsillo pero habla de recortes... En fin...