jueves, 28 de junio de 2012

En busca de un nuevo paradigma para la educación


Les comparto el video de una charla de Federico Pacheco (@fedequark) en TEDxUTN sobre el paradigma de la educación actual y la necesidad de un cambio. 



Me pareció genial la charla y que cada vez más personas planteen la necesidad de un cambio al sistema educativo. Y voy a aprovechar este post para compartir mis 2 centavos al respecto. 

El sistema educativo generalizado (no quiero hablar del actual, porque conozco muchos docentes que de a poco y con esfuerzo lo estamos cambiando, incluyéndolo a Fede) está pensado para desarrollar habilidades de repetición, recordemos que se comenzó a implementar en la época de la revolución industrial. Esto no es intrínsecamente malo, es una herramienta pedagógica que en algunos contextos es muy útil ¿De qué otra forma podríamos aprender las preposiciones a los 9 años? Entiendo que uno de los problemas es asociar la repetición al hecho de actuar como autómata sin detenernos a analizar qué se está haciendo, no la repetición en si misma. Pero llevar las herramientas a los extremos o demonizarlas, diciendo que porque es antigua no sirve, me parece que es una visión que nos limita, que nos quita opciones.

Por otro lado, no olvidemos que la Universidad tiene un rol social mucho más amplio, un rol universal (de ahí el nombre). No se trata solamente de formar profesionales en una disciplina específica. Potencia características como el pensamiento crítico, la investigación y la capacidad de aprender por nosotros mismos, entre otras. Es decir, la Universidad da herramientas (o por lo menos debería hacerlo) para que los alumnos desarrollen su capacidad de ser autodidactas. Es por ello que el ser autodidactas no es comprable con la educación universitaria, es algo que se puede aprender en la universidad o por fuera, pero suponer que está al mismo nivel puede resultar engañoso y a veces utilizarse como excusa. La universidad continúa formando personas, que gracias a esa formación van a contribuir a la mejora de la sociedad como un todo. Y esto no es un cuento chino, las sociedades más desarrolladas tienen excelentes universidades y un alto porcentaje de sus miembros poseen estudios superiores. 

Pero lo cierto que esto no siempre sucede, quizás pocas veces de hecho. En eso debemos trabajar. Por eso a mi entender, el rol del docente pasa por ser un facilitador, un guía que acerque el conocimiento necesario, de la mejor manera para cada persona en particular. No todos van al mismo ritmo, ni aprenden de la misma manera, ni son receptivos a los mismos estímulos. Si descuidamos esto, sobre todo en los niveles de educación inicial, se pueden desaprovechar, o peor aún bloquear, muchos talentos innatos en los chicos. Relacionándolo con el párrafo anterior, si el docente únicamente conoce de su disciplina, está limitado en la transmisión de lo que sabe. Esto es lo que sucede hoy con muchos, muchos docentes y otros profesionales. Pueden ser realmente buenos en su actividad, pero están acotados únicamente a ese ámbito y no disponen de otras herramientas. 

Pero como decía Fede en su charla, a no desanimarse que hay cambios en vista. Es todo un desafío muy motivante ¡En especial porque todavía hay mucho por hacer!

Y para cerrar, un tema controversial que no fue tocado, las evaluaciones. Todavía hoy existe un concepto errado sobre las mismas y que a la vez suele ser potenciado por algunos docentes. La evaluación sirve para medir que tan bien fueron asimilados los conceptos, y cuando hay desvíos entre lo que se espera y lo que se obtuvo, tomar alguna acción que acerque ambos estados. Pero no hay que olvidar que la evaluación es parte del proceso de aprendizaje, siempre hay que tener en cuenta esto.

Y en relación a lo anterior, de todos las personas no podemos esperar lo mismo. Pero cuidado, esto no implica que se regalen calificaciones, sino que se exija lo mejor de cada uno. Por esta razón, mi opinión es que las evaluaciones siempre deben ser personalizadas y no basadas en términos generales que se le aplican a todos de igual forma. Una imagen vale más que mil palabras, creo que la Figura 1 ilustra la idea.

Figura 1 - ¿Qué considerás que es una evaluación justa?

En fin, la educación es un tema apasionante que da para conversar y debatir cada vez que exista la oportunidad. 

viernes, 15 de junio de 2012

Sobre como fomentar vocaciones en computación


Les comparto un post de un colega de la Universidad Nacional de Quilmes que me pareció sumamente interesante. El enlace original pueden encontrarlo aquí.
Desde la Fundación Sadosky, un grupo de profesionales de diversas disciplinas encabezados por gente del área de Ciencias de la Computación, buscan incentivar a los jóvenes a estudiar computación. Para esto se diseñó un proyecto que se denominó con el marketinero nombre de “Dale Aceptar” (que suena raro, pero en buen “criollo” — o sea, en el lenguaje “de la calle” — vendría a significar “Apretá Enter”, aunque claro, así suena más parecido a “Dale, aceptá!”  Sutil pero interesante.)

Dr. Manuel Sadosky

Este proyecto, del que se puede leer en la página http://www.daleaceptar.gob.ar, propone un Desafío: dar premios a las mejores animaciones y/o juegos diseñados e implementados totalmente por chicos de secundaria. Los premios son atractivos (Playstation 3, televisores, etc.), y la herramienta que se propone utilizar para la tarea es vistosa, razonablemente simple de entender en sus aspectos básicos, y cumple bien su cometido.
Pero lo más destacable del proyecto son las clases con las que esta herramienta se enseña a los participantes: unas clases en videos de no más de 6 minutos, donde progresivamente se van transmitiendo algunas ideas básicas de utilización de la herramienta, que permitirían a los jóvenes realizar sus animaciones y juegos.
Más allá de algunas críticas que tengo con respecto a la validez y generalidad de lo aprendido, es interesantísimo ver cómo esta gente ha logrado un objetivo claro que es llegar a los jóvenes de manera efectiva.
Ojalá podamos trabajar juntos para incorporar al proyecto una continuación que se concentre en aspectos más sutiles, como la formación en nociones abstractas, cuestiones de sintaxis más dura (y menos asistida por herramientas bonitas), y cuestiones de estilo, todos aspectos que como docente de programación me preocupan sobremanera (y de los que se puede leer en un artículo que escribimos recientemente junto con 2 colegas, llamado “El nombre verdadero de la programación“).

Para conocer más sobre la figura del Dr. Manuel Sadosky, les recomiendo visitar estos enlaces:
Manuel Sadosky | Wikipedia
Manuel Sadosky: El Maestro
Biografía Dr. Manuel Sadosky

martes, 12 de junio de 2012

ESET Security Day Perú 2012

Más vale tarde que nunca dice el refrán, así que me gustaría compartir con ustedes la experiencia vivida en Perú el pasado 13 de abril.
Invitado por ESET y en el marco del ESET Security Day dicté una conferencia sobre la importancia de las Evaluaciones de Seguridad como parte de un Sistema de Gestión de la Seguridad de la Información (SGSI). Si bien solo son una parte de la Gestión de Seguridad, las evaluaciones de seguridad nos permiten medir la eficacia de los controles que han sido implementados. 

Junto con la audiencia, brevemente recorrimos algunas de ellas, entre las que destacan la Evaluación de Vulnerabilidades (Vulnerability Assessment), los Test de Intrusión (Penetration Test) y los Análisis de brecha de Cumplimiento (GAP Analysis). En el primero de los casos el objetivo de la evaluación es identificar aquellas vulnerabilidades de carácter técnico que pueda poseer la plataforma tecnológica de la organización. El segundo tipo no se queda solo en la identificación, sino que intenta aprovecharse de las vulnerabilidades detectadas (no únicamente técnicas) e identificar el impacto que esto pueda tener para el negocio. La tercera releva el estado actual de cumplimiento de la organización frente a una norma, estándar o regulación específica. Ejemplos de esto pueden ser los ISO 27001 GAP, PCI-DSS GAP, Privacy GAP, BCRA A4609 GAP, etc. Otras evaluaciones pueden incluir la auditoría de código de aplicaciones, auditoría de plataformas específicas, etc. La ponencia finalizó con una demostración práctica cuyo objetivo era mostrar a los asistentes la relativa facilidad y el impacto que puede tener para el negocio la explotación de una vulnerabilidad en un servidor corporativo.

Como conclusiones se hizo hincapié en el hecho de no centrarse únicamente en la vulnerabilidad técnica identificada, sino en la necesidad de contar con un Proceso de Gestión de Vulnerabilidades que las identifique y les de tratamiento. Adicionalmente, también se remarcó la importancia de las evaluaciones de seguridad como entradas que alimentan al SGSI, pero no como un fin en si mismas.

A continuación les comparto el enlace del Blog de ESET con una visión general del ESET Security Day Perú 2012:


Finalmente les comento que el ESET Security Day es un evento organizado por ESET y sus distribuidores y partners regionales con el objetivo de acercar las últimas tendencias en Seguridad de la Información. En 2012, además de Perú, algunos de los países que visitará ESET son Bolivia, Chile, México, Panamá y Venezuela.

Referencias
PCI Scanning Procedures:
https://www.pcisecuritystandards.org/pdfs/pci_scanning_procedures_v1-1.pdf
NIST SP800-115: Technical Guide to Information Security Testing and Assessment:
http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf


lunes, 4 de junio de 2012

Introducción a la Gestión de Vulnerabilidades

Desde hace un tiempo, a partir del desarrollo y difusión de diversas regulaciones internacionales, estándares y buenas prácticas, las organizaciones han ido tomando cada vez mayor conciencia de la importancia de realizar evaluaciones de vulnerabilidades (a partir de ahora VA, siglas de Vulnerability Assessment) y/o test de intrusiones.

Estos estándares o regulaciones recomiendan o exigen la ejecución en forma regular de cierta cantidad de VAs o test de intrusiones en forma anual. La periodicidad de los mismos estará determinada tanto interna como externamente. En el primero de los casos en función de las necesidades de la propia organización, ya que estas evaluaciones de seguridad permiten medir la eficiencia de los controles implementados. Y en el segundo, dependiendo del rubro o actividad principal de la misma. Por ejemplo, en el caso de las entidades bancarias o financieras de la República Argentina, éstas deben cumplir con la comunicación A-4609 del BCRA y en la República de Panamá con el Acuerdo N° 6-2011, en las cuales se establecen los lineamientos sobre la banca electrónica y la gestión de los riesgos relacionados. Si una empresa quiere cotizar en la bolsa de los Estados Unidos debe cumplir con SoX y cualquier organización que opere con tarjetas de pago tiene la obligación de alinearse al estándar PCI-DSS.

Pero independientemente de los requerimientos y la remediación puntual de un determinado hallazgo, el verdadero valor agregado de estas evaluaciones se produce cuando las mismas están integradas a un proceso de Gestión de Vulnerabilidades.

La Gestión de Vulnerabilidades o VM por sus siglas en inglés (Vulnerability Management) es un proceso sistemático y medible que permite identificar, priorizar y dar tratamiento en forma proactiva a las vulnerabilidades de carácter tecnológico de cada organización. 


Esto permite, más allá de la utilidad puntual de cada evaluación respecto a la remediación de ciertos hallazgos particulares, detectar deficiencias en aspectos asociados a los procesos. Por ejemplo, si en un conjunto de equipos se detecta la ausencia de parches críticos, la vulnerabilidad subyacente, más allá del parche puntual, es la falta de un proceso de gestión de parches.

Si bien dependiendo de cada organización este proceso puede volverse tan complejo como sea requerido,  a continuación veremos una reseña general de las distintas etapas que lo componen. En las referencias finales podrán encontrar más información al respecto.

Identificación o descubrimiento de vulnerabilidades


La identificación se realiza a partir de la implementación regular y sistemática de escaneos de vulnerabilidades. Estos suelen ser realizados por herramientas automatizadas como Nessus o QualysGuard. De esta forma, cada vez que surge una nueva vulnerabilidad y la base de Plugins de la herramienta es actualizada, dicha vulnerabilidad puede ser identificada. 


En general, los resultados de las evaluaciones de seguridad, como Test de Intrusión, VA y análisis GAP entre otros, son entradas que alimentan a la Gestión de Vulnerabilidades y permiten identificar un amplio rango de vulnerabilidades.

Priorización


La priorización es un proceso más complejo y profundo que debe darse en el seno de la organización y que también está relacionado con las áreas de negocio de la misma. Además de la criticidad asociada a cada vulnerabilidad identificada, también dependerá del activo que se ve afectado. Dicho de otra forma, aunque la misma vulnerabilidad pueda afectar a diversos equipos, la priorización dependerá de la importancia que estos tengan para el negocio y será un factor determinante al momento de implementar los planes de remediación. Un servidor que da soporte a la actividad productiva de la organización, tendrá mayor relevancia al momento de priorizar la remediación que una estación de trabajo. 


La Figura 1 muestra un esquema que representa la velocidad con la cual se sebe llevar adelante la remediación en función de la criticidad de los activos.

Figura 1 - A medida que la criticidad del Activo de Información aumenta, también lo hace la velocidad con la que se debe remediar.

A partir de lo visto anteriormente, juntos podemos deducir que para poder maximizar los beneficios de este proceso, es recomendable haber realizado previamente una Clasificación de los Activos de Información y un Análisis de Riesgo sobre dichos Activos. De esta manera, podremos priorizar la remediación en función no sólo de la criticidad propia de la vulnerabilidad, sino también de la criticidad del Activo que se ve afectado y por ende del Riesgo que trae aparejado para el negocio. 

Tratamiento de vulnerabilidades


Finalmente, el tratamiento de las vulnerabilidades es la etapa que realimenta el proceso de forma tal que el mismo se mantenga en el tiempo. El tratamiento de las vulnerabilidades identificadas en la mayoría de los casos implica su remediación.  Pero en función de los objetivos de negocio, de la criticidad de las mismas y del activo afectado, puede darse el caso que se acepte el riesgo asociado a una vulnerabilidad específica y ésta no se remedie. Un ejemplo de este caso son los sistemas obsoletos que todavía se encuentran en algunas organizaciones, los cuales pueden ser parte central de la operación del negocio de las mismas. La remediación en estos casos implica cambios profundos en los sistemas o bien el desarrollo de uno nuevo, con el riesgo asociado que esto trae aparejado a la operación. Usualmente se implementan controles compensatorios que ayudan a reducir la exposición, minimizando el riesgo asociado a las vulnerabilidades identificadas. Vale la pena recalcar que en este caso no se resuelve la vulnerabilidad de base, simplemente se mitigan los efectos que la misma pueda tener en caso de ser explotada con éxito.

Sin embargo, en la mayoría de los casos el proceso de remediación implica la implementación de parches de software, actualización o modificación de configuraciones. De esta forma, introducimos la variable esfuerzo  (tiempo, recursos humanos, equipamiento, capacidades específicas, etc) que se requiere para dar solución a las vulnerabilidades.

Desde el punto de vista de las organizaciones, el proceso de Gestión de Vulnerabilidades además de reducir notoriamente los riesgos asociados a la explotación de las vulnerabilidades, también permite dar cumplimiento a un conjunto de requerimientos establecidos por un conjunto de estándares y regulaciones del mercado.

Recomendaciones para su implementación


Al momento de desarrollar un plan de gestión de vulnerabilidades, en especial si nunca fue establecido un proceso de similares características, surgen gran cantidad de interrogantes. A continuación presentaremos cuáles son los pasos a tener en cuenta al momento de establecerlo.
  1. Desarrollar y mantener la Política de Seguridad y el Marco Normativo de la organización.
  2. Clasificar la Información
  3. Relevar y categorizar los Activos de Información en función del nivel de criticidad para el negocio.
  4. Realizar escaneos periódicos y sistemáticos a todos los activos identificados.
  5. Identificar los riesgos asociados a cada uno de los activos en función de las vulnerabilidades detectadas.
  6. Planificar la remediación de las vulnerabilidades en función del riesgo y de la criticidad para el negocio de cada activo. Se debe tener presente que antes de realizar un cambio en producción (implementar un parche, configurar una aplicación, etc) se recomienda que los mismos sean testeados en un ambiente de prueba.
  7. Verificar la efectividad de la remediación. Esto puede hacerse en forma manual o bien esperar a que vuelva a repetirse el paso 4 en el próximo ciclo.

Una vez concluido, el ciclo vuelve a comenzar en forma regular desde el paso 4,  teniendo en cuenta los tiempos definidos por la organización para cada grupo de activos. Si bien los primeros tres pasos no están contemplados cada vez que se ejecutan los escaneos, se recomienda que sean revisados al menos anualmente o bien cuando se incorpore un nuevo activo o proceso a la organización que amerite ser parte del alcance de la Gestión de Vulnerabilidades.

En términos generales, la Gestión de Vulnerabilidades es un proceso vivo, que debe revisarse y mantenerse actualizado en forma regular o cada vez que exista un cambio significativo en el mismo. Las evaluaciones de seguridad sirven como entrada al proceso y permiten identificar vulnerabilidades de diversa índole.

Finalmente, respecto a la priorización y remediación de vulnerabilidades, una buena aproximación es la aplicación del Principio de Pareto. De forma tal que las vulnerabilidades que representan el mayor nivel de riesgo para la organización o que son recurrentes en varios equipos o sistemas, tengan mayor prioridad.

Referencias


El NIST posee un documento denominado "SP800-40v2: Creating a Patch and Vulnerability Management Program” en el cual se explica cual es la necesidad de este proceso y adicionalmente se describen sus requerimientos y distintas etapas.
Al momento de priorizar la remediación, pueden basarse en los controles propuestos por el Top 20 Critical Security Controls del SANS Institute, por el Top 35 Mitigations del Departamento de Defensa de Australia o por el Top 10 de OWASP.

En caso que no aún no estén convencidos sobre la necesidad de implementar Gestión de Vulnerabilidades, pueden leer este Whitepaper que seguramente aclarará algunas dudas.
Como perlita, de la serie “For Dummies” y patrocinado por Qualys, pueden descargarse el eBook Vulnerability Management for Dummies, el cual de manera muy amena y divertida explica las bondades que este proceso puede brindarle a la organización.