Colombia, 19 de Enero de 2018
Señores Departamento Administrativo Nacional de Estadística - DANE
E. S. D.
Asunto: Carta abierta al DANE de grupo de desarrolladores de software Colombianos, a propósito del pronunciamiento de la entidad con respecto a los hallazgos en materia de seguridad en la aplicación del eCenso, realizados por la ingeniera Juliana Peña. De manera cordial los abajo firmantes, Desarrolladores de Software Colombianos, estamos de acuerdo en expresarles lo siguiente:
- Apoyamos que el DANE haya construido una opción para realizar el censo de forma virtual.
- Rechazamos cadenas malintencionadas y anónimas que sugieren que hay intento de fraude electoral y que parecen promovidas por sectores políticos especialistas en propaganda negra. En esto también apoyamos al DANE.
- Aplaudimos la valentía, generosidad y deber cívico con los cuales la desarrolladora de software Juliana Peña publicó sus hallazgos de seguridad. http://julip.co/2018/01/actualizacion-contrasenas-censo/
- Como profesionales de la industria de Software, rechazamos la posición del DANE en cuanto a los reportes de Juliana. Consideramos que las preguntas de Juliana son válidas y el comunicado de prensa no las responde de manera adecuada, por lo que aún cuestionamos la seguridad del eCenso web y offline.
https://censo2018.dane.gov.co/el-dane-responde-afirmaciones-falsas-sobre-la-seguridad-del-ecenso
En referencia al comunicado emitido por el DANE, que cita:
“Afirmaciones que son falsas, irresponsables y apresuradas, y han atentado contra la confianza que los colombianos han depositado en la operación estadística más grande e innovadora que ha realizado el país.”
Se juzga como falsa la siguiente afirmación hecha por Juliana:
“las contraseñas no están precisamente guardadas en texto plano, pero es como si lo estuvieran”
Argumentando:
“...mecanismos de encriptación con algoritmos que hacen parte de los estándares internacionales avalados por la Agencia Nacional de Seguridad de los Estados Unidos”.
Sin mencionar que se permitía descargar una versión del código del sitio, en la opción para diligenciar el censo de forma offline. En el código (Juliana lo explicó y nosotros pudimos comprobarlo) se hace un “cifrado simétrico” conocido por ser inadecuado e inseguro para el cifrado de contraseñas, adicionalmente en el mismo código se incluye la llave que puede ser usada para descifrar las contraseñas.
Ella también aporta como evidencia el hecho de que es exactamente igual al publicado en el sitio https://stackoverflow.com/ (red social para compartir y discutir código), que explícitamente indica que aunque funciona, no es seguro.
El sólo hecho de que declaren usar "mecanismos de encriptación" avalados, no garantiza su buen uso. Lo que se cuestiona no es la herramienta sino su aplicación y la consideración por las buenas prácticas de ingeniería.
Queremos señalar que tampoco es válido el siguiente argumento, donde también se afirma que Juliana “falta a la verdad”:
“Entre los mecanismos de seguridad implementados por el DANE para mitigar intentos de accesos no permitidos y minimizar el riesgo de presencia de incidentes que puedan afectar la seguridad de la información almacenada en las bases de datos institucionales, se cuenta con soluciones de protección tales como cortafuegos y sistemas de detección y prevención de intrusos (definidos de manera perimetral), así como con la protección a nivel de aplicación a través de un cortafuego web”
De nada sirve que se tengan puertas con el blindaje de mayor nivel del mundo, si dejas la llave de la puerta debajo de la alfombra de bienvenida. En este caso, permitir la descarga de una versión del código del servidor como opción de diligenciado offline, es un serio problema de seguridad que pone en peligro la información y las contraseñas de quienes hayan diligenciado el censo de forma virtual.
- Nos sumamos al cuestionamiento iniciado por Juliana, y como ciudadanos esperamos que el software producido con recursos públicos con fines de recaudar información personal de ciudadanos colombianos sea de la más alta calidad.
- Basados en los puntos anteriores, recomendamos que el DANE realice una evaluación profesional e independiente de la siguiente manera:
- Se evalúe la implementación de cifrado tanto en la aplicación de escritorio y la web según las recomendaciones de la OWASP.
- Se realicen pruebas de penetración en todos los sistemas de recolección o almacenamiento de información personal de acuerdo a las recomendaciones de la OWASP. https://www.owasp.org/index.php/Testing_Guide_Introduction#Penetration_Testing
- Se implementen todas las recomendaciones consideradas críticas.
- Se publique un reporte con los hallazgos de la evaluación y correcciones, respaldado por la firma evaluadora y de manera pública.
Nos reunimos y organizamos para proveer una posición independiente y libre de afiliaciones políticas, con el fin de hacer un llamado a prevenir desastres informáticos que causen pérdida en la confianza de soluciones innovadoras en nuestro país.
Atentamente:
- Johann Paul Echavarría - @abrupto
- Alvaro José Agámez Licha - @codemaxter
- Victor Miguel Rivera Morales
- Edgar López Rios
- Andres Vargas - @RogantCO
- Juan C. Rodriguez - @jcrodriguezu
- Maria Paz Muñoz Parra - @pazupersonica
- Pedro Fernández Moreno - @pedrito
- Leidy Daihana Mora Trujillo
- Carlos Manuel Vibanco Ospino
- Mauricio Marin Jimenez
- Daniel Augusto Amariles García - @danipilze
- Ismael Ricardo Valencia Q. @ricardovalquin
- Luis Miguel Jiménez Restrepo - @luismij
- Juan Felipe Morales Castellanos
- Sergio Andres Fandiño Basto
- Gabriel De Jesus Goethe Mosquera
- Charly Rafael Palencia Yejas - @_chalien
- Katy García Bedoya - @kgb369y
- Edgar Duvan Ortega Ramirez
- Richard David Roncancio Acendra - @Sr_Batusai
- Diana Cadena Moreno
- Jorge Alejandro Rios Franco
- Sorey Bibiana García Zapata - @soreygarcia
- Daniel García
- Juan Fernando Gaviria Sánchez
- Roberto Mario Rueda Quintero
- Andrés Ossa Arango
- Cleyber Dubian Rengifo Fonnegra
- Juliana Gomez
- Johny Alexander Varela Osorio
- Daniel Felicita
- Hernan Guzman - @hernandgr
- Cristian Camilo Moreno Zuluaga - @khriztianmoreno
- Andres Felipe Cardona Castro
- Daniel Felipe Marulanda - @Dfmarulanda
- Lina Maria Montaño Ramirez - @calypso_bronte
- Lewis Florez Renza - @gasper_lf
- Jeison Higuita Sanchez
- Sebastian Castro Paz
- Germán David Potes Franco - @manchoPotes
- Natalia Díaz Padilla
- Juan David Gómez Escobar
- Luis Carlos Rosas Orellano - @LuisRosasO
- Juan Pablo Giraldo - @qjuanp
- David Leonardo Nuñez - @dlnunezr
- Diego Castro - @diarcastro
- Miguel Hincapié - @miguel_hincapie
- Ricardo Franco Reyes
- Daniel Sanchez - @EruJazz
- Yeiner Fernández Bustos - @yeinerf
- Elba Patricia Sánchez Márquez - @ElbaSanchezM
- Jose Miguel García García - @pingoz
- Juan Sebastian Velez @jvelezpo
- Juan Felipe Bedoya Cardona - @jfelipebc
- Manuel Fernando Sabogal Ocampo - @ItsEdoren
- Francisco Arley López Espinosa
- Sergio Andres Valencia Yepes
- Andrés Felipe Londoño Mesa - @andreslon
- Jose Fabio Jaramillo Castro
- Laura Ciro - @ltciro
- Diego Avila
- David Przybilla - @dav009
- Guillermo Daniel Iguaran Suarez - @guilleiguaran
- Luis Alberto Vélez Tascon - @luchovelez
- Juan Marín - @jpmarindiaz
- Isabel Cristina Ruiz Buriticá
- Camilo Alexander Rodríguez
- Alejandro Villegas Carvajal - @neopilatos
- Jesse Javier Cogollo - @jessecogollo
- Ernesto Nobmann Chávez - @nobmann88
- Sebastian Sogamoso - @sebasoga
- Juan Pablo Buriticá - @buritica
- Cristian Andrés Martínez - @b3nkos
- Hamilton Alvarez Mejia - @mejialvarez
- Ernesto Nobmann Chávez - @nobmann88
- Camilo Aguilar Ramírez - @c4milo
- Juan Gabriel Gutierrez - @llanoxco
- Emmanuel Deossa Hincapié - @emmanuelsw
- Federico López Gómez - @FicoYPlaca
- Marcos Javier Alvarez - @garusis
- Andrés Bedoya Garces - @angel_fire
- Sebastián Arcila Valenzuela - @sarcilav
- Miguel Fernando Cabrera - @mfcabrera
- Angie Melissa Delgado - @Meyito_
- Federico Builes - @febuiles
- Nicolás Hock Isaza - @nhocki
- Hildebrando Rueda Quintero - @theharq
- Alejandro Cadavid López - @acadavid
- Yeison Daza - @yeion7
- Carlos Suarez - @icarlossz
- Steven Augusto Villegas Castellanos - @stifflerbassman
- David Andres Roncancio Joya - @kuryaki
- Oscar Rendon - @orendon
- Erick Torres - @papabarbas
- Pablo Vallejo - @PabloVallejo_
- Juan Pablo Valencia Gómez - @jpvg10
- Adrian Estrada - @edsadr
- Alejo Yarce - @AlejooYarce
- Fredy E Mena Andrade - @xfry
- Juan David Gómez - @judavi
- Adrian Estrada - @edsadr
- Carlos Daniel Muñoz Idarraga - @cdmunozi
- Santiago M Zubieta Ortiz - @zubie7a
- Julian Betancourt - @juliian41
- Andrey Ruíz Hincapié - @davkorss
- Gustavo Andrés Angulo - @woakas
- Juan David henao - @jhenaoz93
- Juan Mateo Velilla Ospina - @r3v3r5ing
- Juan David Sánchez - @d4vsanchez
- César Suárez T. @cesarlarsson
- Edward Alejandro Rayo Cortés - @earayo0521
- Alejandro Next - @alejonext
- Alejandro Ramírez - @soyalejoramirez
- Julian Camilo Vega - @f14c0
- Mario Daniel Ruiz Saavedra - @desiderantes
- Juan Pablo Romero Bernal - @juanblo
- Rubén Darío Avila Home - @rubenavilah
- Claudia Lagos Ruiz - @ClaudiaLagosR
- John Fredy Baquero Celis - @noverflow
- Ramiro Andrés Bedoya - @imramiro
- Juan David Maldonado - @jdmaldonado06
- Johana S. Rodriguez - @Joha0
- Marian Villa - @marianvilla
- Alonso Montenegro @alonsoenrique
- Jahir Fabian Fiquitiva Ricaurte - @jahirfiquitiva
- Byron Herrera - @silenceway
- Neider Tapia Avila - @nrtapia
- Andres Zapata Cano - @andfelzapata
- Steven Rafael Gonzalez Machado - @srgm86
- Daniel Sánchez Tello - @Daniel_Santello
- Julian Duque - @julian_duque
- Hector Sanchez - @hsanchezg
- Andres Aristizabal Guerrero - aaristiz1
- Julian David Vargas Alvarez - @app_config
- Omar Duque - @omar_duque
- Daniel Estrada Aristizábal
- Juan Carlos Ruiz - @JuanKRuiz
- Pedro Iván Piza Rodríguez - @Pedro92Ivan
- Andres Serrano - @andressrg
- Carlos I Mercado - @civanmercado
- Diego Soto - @DiegoSoto
- Gabriel Garnica - @antiadherente
- Hernan Camilo Gomez R - @hcamilogruiz
- Jaime David Niño Valderrama - @Orferus
- Ricardo Rojas - @rodrionrails
- Gabriel Garnica - @antiadherente
- Juan David Pareja Soto - @parejajd
- Carlos Villamizar - @calvimor_
- Juan Esteban Arango - @juanesarango
- Pedro Sierra - @peter_sierra
- Ignacio Salcedo - https://isalcedo.com
- Manuela Castrillon - @manucastrillonm
- Liz Parody - @lizparody23
- Oscar Andrés Úsuga - @o-andres-u
- Hernán Silva - @hachesilva
- Sergio Navarrete Suárez - @sergionsz
- Guillermo Rodas - @glrodasz
- Alejandra Prieto - @kalejapb
- Yeisson Rodriguez - @deltayeisson
- Andrés Zorro - @devtooler
- Hugo Zapata - @hugozap
- Laura Alejandra Ortiz Martínez - @lauspadafora
- Rober Adrián Díaz Montoya
- Cristiam Arley Díaz Silva - @cdiaz
- Jose Aponte - @kakashy
- Julián Alejandro Lamprea - @jalamprea
- MiguelAlegria - @MikelAlegria
- Oscar Alejandro Amado Sarmiento - @oaamados
- Giovanny Ramirez Blandon - @giovramirez
- Andrés Felipe Calderón de Restrepo - @unjuguetero
- Antonio Vanegas P - @hpsaturn
- Leonardo Wilches Marcelo - @lwilches
- Gerardo Andrés Gutiérrez Rodríguez - @geangu
- Jorge Andrés González Cetina - @jag2kn
- John Alexander Torres - @alexmtbiker
- Fabian Diaz - @otraarroba
- Sebastian Romero - @bipsa
- Luis Emiro Linares García - @lulingar
- Sebastián Pérez Saaibi - @spsaaibi
- Luis Hurtado - @kommitter
- Jorge Grajales - @jag_ing
- Lennin Suescun Devia - @Lenninlasd
- Jose Gabriel guzman lopez - @joseGabriel06
- Juan David Echeverry Rivera - @juandav
- Jose Rafael Arrieta Dominguez - @JoseArrieta_82
- Luis Alfredo Porras Páez - @lporras
- Edward Monsalve Castrillon - @EdwardMCas
- Camilo Andrés Sampedro - @camilosampedro
- Felipe Acosta - @facosta0787
- James Garzón Otalvaro - @jamesgarzon
- Maria Camila Gómez Restrepo - @camigomez35
- Ivan Dario Villa Ramirez - @IVilla85
- Juan Felipe Duque García - @jfduque
- Manuel Fernando Sabogal Ocampo - @ItsEdoren
- Juan David Nicholls Cardona - @jdnichollsc
- Jorge Leonardo Vernaza Becerra - @leo0307vb
- Julian Cardenas Mazo - @juliankmazo
- Fabián Ríos - @FabianRiosArias
- Julian R Figueroa - @unmultimedio
- Pablo Ferrer Betancur - @pferrer23
- Cristian Cepeda - @FollowCristian
- Erlinis Quintana - @erlinis
- Giovanny Gongora - @Gioyik
- Omar Leonardo Montoya Cardenas - @omar_montoya_90
- Alejandro Moreno - @amoreno
- Kevin Andrés Gómez - @KevinGomezDev
- Jorge Andrés Ramirez - @jramirezgranada
- Wilson Daniel Ospina - @wdospinal
- Stivenson Rincón Mora - @Stivenson
- David Cardozo - @davidnet
- Fernando López - @Beor18
- Alejandro Sosa R. - @AlejandroJSR7
- Miller Danilo Torres Besga - @miller-danilo
- Juan Camilo Vásquez Correa - @jcvasquezc
- Daniel Vélez Marín - @Zelev
- Mike Olivera - @MikeSoft
- Jose Alvarez - @soybackend
- Marcelo César Augusto Torres Ortiz - @marceloctorres