Vous êtes sur la page 1sur 69

DISEO DE UN PROTOTIPO QUE PERMITA EVALUAR LA VIABILIDAD DE UN FIREWALL EN REDES SCADA

JONNY ALEXANDER LPEZ SANDOVAL

FUNDACIN UNIVERSITARIA KONRAD LORENZ FACULTAD DE MATEMATICA E INGENIERIA INGENIERIA DE SISTEMAS BOGOTA 2010

DISEO DE UN PROTOTIPO QUE PERMITA EVALUAR LA VIABILIDAD DE UN FIREWALL EN REDES SCADA

JONNY ALEXANDER LPEZ SANDOVAL

Trabajo de grado para optar por el Ttulo de Ingeniero de Sistemas

Director del Proyecto GUSTAVO ADOLFO HERAZO PEREZ Ingeniero de Sistemas

FUNDACION UNIVERSITARIA KONRAD LORENZ FACULTAD DE INGENIERIA DE SISTEMAS BOGOTA D.C. 2010

Nota De Aceptacin

___________________________ ___________________________ ___________________________ ___________________________

___________________________ Presidente Del Jurado

___________________________ Jurado

___________________________ Jurado

Bogot, 09 de diciembre de 2010

Dedico este trabajo a todas aquellas personas que de una u otra manera han estado a mi lado en cada una de las etapas de este proceso, sin embargo quiero hacer una dedicacin especial a mi madre que con su temple, constancia y disciplina, es un ejemplo permanente no slo para m como hijo suyo, sino para todos y cada uno de los integrantes de mi familia. Todos, siempre dispuestos a brindarme su apoyo incondicional.

Jonny Alexander Lpez Sandoval

ii

AGRADECIMIENTOS

El agradecimiento ms importante se lo debo a Dios por bendecirme de tantas formas diferentes, permitindome pagar mis estudios de educacin superior con el fruto de mi trabajo, bendicindome con una familia y una compaera excepcional y finalmente contando con aquellos amigos que siempre me alentaron a seguir adelante a pesar de los tropiezos que tiene estudiar y trabajar simultneamente. El proyecto de grado que presento a continuacin ha sido construido con el imprescindible apoyo y supervisin de mi director de proyecto, el Ingeniero Gustavo Adolfo Herazo; a quien por supuesto le debo gratitud por orientarme y contribuir en mi formacin profesional. Finalmente, en ltimo lugar pero no menos importante, extiendo un fuerte agradecimiento a todo el personal docente, acadmico, administrativo y operativo de la Fundacin Universitaria Konrad Lorenz, por su continua colaboracin, por su amor por la academia y por acogerme en la institucin en este tiempo.

iii

CONTENIDO

Pg. LISTA DE TABLAS ............................................................................................... VI LISTA DE FIGURAS ............................................................................................ VII GLOSARIO .......................................................................................................... VIII INTRODUCCION ..................................................................................................... 9 1 ASPECTOS DE LA INVESTIGACION ............................................................. 11
1.1 DESCRIPCIN DEL PROBLEMA ........................................................................... 11 1.2 JUSTIFICACION DEL PROYECTO DE INVESTIGACION ...................................... 11 1.3 DELIMITACION ...................................................................................................... 13 1.3.1 ESPACIAL. ................................................................................................................ 13 1.3.2 CRONOLGICA. ........................................................................................................ 14 1.3.3 CONCEPTUAL. .......................................................................................................... 17 1.4 OBJETIVOS............................................................................................................ 17 1.4.1 GENERAL ................................................................................................................. 17 1.4.2 ESPECFICOS............................................................................................................ 17

2 MARCO TEORICO .......................................................................................... 18


2.1 ANTECEDENTES ................................................................................................... 18 2.1.1 HISTRICOS ..........................................................................................................................18 2.1.1.1 ANTECEDENTES HISTRICOS SCADA ............................................................................18 2.1.1.2 ANTECEDENTES HISTRICOS FIREWALL ......................................................................18 2.1.2 INVESTIGATIVOS ...................................................................................................................21 2.2 BASES TERICAS ................................................................................................. 24 2.2.1 DEFINICIN DE FIREWALL ....................................................................................................24 2.2.2 DEFINICIN DE SISTEMA SCADA. ......................................................................................25 2.2.3 DEFINICIN RED SCADA. ...................................................................................................25 2.3 TEORIAS GENERICAS BASADAS EN INGENIERIA. ............................................. 26 2.3.1 ARQUITECTURA DEL FIREWALL............................................................................................26 2.3.2 ARQUITECTURA SISTEMA SCADA ......................................................................................29 2.3.3 ARQUITECTURA MODBUS/TCP............................................................................................29

3 DISEO METODOLGICO ............................................................................. 30


3.1 TIPO DE INVESTIGACION ........................................................................................ 30 3.2 ANALISIS DE LA SITUACIN ACTUAL .................................................................. 30 3.3 DIAGNSTICO DE LA SITUACIN ACTUAL. ........................................................ 33 3.3.1 RED SCADA ............................................................................................................ 33 3.3.2 FIREWALL................................................................................................................. 34 3.3.3 MODELO PROPUESTO ............................................................................................... 35 3.3.3.1 INTEGRACIN RED SCADA Y FIREWALL ............................................................... 35 3.3.3.2 ANLISIS DEL DISEO DEL FIREWALL .................................................................... 35 3.3.3.2.1 DOCUMENTO DE ANLISIS................................................................................. 36 3.3.3.2.1.1 REQUERIMIENTOS FUNCIONALES.................................................................... 36 3.3.3.2.1.2 REQUERIMIENTOS NO FUNCIONALES .............................................................. 37 3.3.3.2.1.3 PLANTILLA SRS (SOFTWARE REQUIREMENTS SPECIFICATION) ........................ 37

iv

3.3.3.2.1.4 CASOS DE USO ............................................................................................. 39 3.3.4 MODELO DE INTEGRACIN ......................................................................................... 43

4 LISTA DE CHEQUEO PARA VERIFICACIN Y PRUEBAS .......................... 56 5 CONCLUSIONES Y RECOMENDACIONES ................................................... 64 6 REFERENCIAS BIBLIOGRFICAS ................................................................ 66
6.1 REFERENCIADA .................................................................................................... 66 6.1.1 LIBROS ELECTRNICOS O DOCUMENTOS W EB ..................................................................66 6.2 CONSULTADA ....................................................................................................... 67 6.2.1 PUBLICACIONES ESCRITAS ..................................................................................................67 6.2.2 LIBROS ..................................................................................................................................67

LISTA DE TABLAS

Pg.

Tabla 1. Grupos de Investigacin en Colombia referentes a Firewall o SCADA .... 21 Tabla 2. Algunas investigaciones y Comunidades ................................................. 22 Tabla 3. Soluciones comerciales de Firewalll SCADA ........................................... 23 Tabla 4. Plataformas Firewall estndar disponibles con cdigo abierto ................. 23 Tabla 5. Comparacin de Plataformas de Firewall ................................................ 24 Tabla 6. Cdigos de Funcin de los dispositivos de control .................................. 33 Tabla 7. Plantilla SRS para anlisis de Netfilter ..................................................... 42 Tabla 8. Caso de Uso N. 001 ............................................................................... 40 Tabla 9. Caso de Uso N. 002 ............................................................................... 41 Tabla 10. Caso de Uso N. 003 ............................................................................. 42 Tabla 11. Lista de Chequeo ................................................................................... 56

vi

LISTA DE FIGURAS Pg.

Figura 1. Mercado de Sistemas SCADA en la Industria OIL & GAS .................... 112 Figura 2. Actividades y tiempos del proyecto de investigacin ............................ 115 Figura 3. Diagrama Cronolgico de Actividades .................................................. 116 Figura 4. Sistemas de Telemetra .......................... 1Error! Marcador no definido. Figura 5. Arquitectura del SEAL............................. 1Error! Marcador no definido. Figura 6. Arquitectura de Sistema SCADA ............................................................ 25 Figura 7. Topologa Lgica Prototipo Firewall SCADA ............ Error! Marcador no definido. Figura 8. Topologa Fsica Prototipo Firewall SCADA ............. Error! Marcador no definido. Figura 9. Encapsulamiento de Modbus en TCP....... Error! Marcador no definido. Figura 10. Trama TCP Tradicional ........................... Error! Marcador no definido. Figura 11. Trama Modbus/TCP................................ Error! Marcador no definido. Figura 12. Flujo de los Paquetes en Netfilter ........... Error! Marcador no definido. Figura 13. Flujo de los Paquetes en Netfilte ............ Error! Marcador no definido. Figura 14. Caso de uso Firewall SCADA ................. Error! Marcador no definido. Figura 15. Maquinas Virtuales ................................. Error! Marcador no definido. Figura 16. Iniciando Maquinas Virtuales .................. Error! Marcador no definido. Figura 17. Archivos Requeridos ............................... Error! Marcador no definido. Figura 18. Iniciando Maquinas Virtuales .................. Error! Marcador no definido. Figura 19. Configuracin de interface eth0 .............. Error! Marcador no definido. Figura 20. Ejecutando setup.sh ............................... Error! Marcador no definido. Figura 21. Estableciendo direcciones IP para interfaces del Firewall .............Error! Marcador no definido. Figura 22. Habilitando Escritorio remoto desde A hacia B ....... Error! Marcador no definido. Figura 23. Permitiendo func_code=2 en ambos sentidos ........ Error! Marcador no definido. Figura 24. Finalizando configuracin inicial ............. Error! Marcador no definido. Figura 25. Configurando interface eth2 en el Firewall .............. Error! Marcador no definido. Figura 26. Verificando conectividad con Red Hat y copiando inicia.sh ...........Error! Marcador no definido. Figura 27. Finalizando copia de Archivos ................ Error! Marcador no definido. Figura 28. Cargando configuracin inicial al Firewall. .............. Error! Marcador no definido. Figura 29. Cargando configuracin inicial al FirewallError! Marcador no definido.

vii

Figura 30. Identificando Conexiones de acuerdo con la topologa propuesta .Error! Marcador no definido. Figura 31. Identificando Conexiones de acuerdo con la configuracin de las interfaces ................................................................. Error! Marcador no definido. Figura 32. Ejecutando inicia.sh ................................ Error! Marcador no definido. Figura 33. Probando Protocolo RDP de B hacia A .. Error! Marcador no definido. Figura 34. Probando Protocolo ICMP en ambos sentidos ....... Error! Marcador no definido. Figura 35. Ejecutando el archivo finconsola.sh ...................................................... 60 Figura 36. Verificando la accesibilidad al firewall desde al consola ....................... 60 Figura 37. Envo de Func Coce = 2 transmitido y otros rechazados ...................... 61

GLOSARIO

FIREWALL (Cortafuegos): Software, hardware o una combinacin de ambas, usado en redes de computadores para controlar (permitiendo a negando) el acceso a la red GPL (General Public License): Licencia encaminada a proteger la distribucin, modificacin y uso del software libre KERNEL: Ncleo de un sistema operativo NETFILTER Framework embebido en el kernel de Linux que permite interceptar y filtrar el trfico que llega o sale del sistema operativo a travs de sus interfaces PLC (Controlador Lgico Programable): dispositivo diseado para programar y controlar procesos, por lo general de produccin industriales. RTU (Remote Terminal Unit): Microprocesador que controla un dispositivo capaces de alterar o modificar el estado del mismo SCADA (Supervisory Control And Data Acquisition): Software diseado para controlar y automatizar entornos de control de produccin industrial. TCP/IP (Transmission Control Protocol/Internet Protocol): Conjunto de protocolos que permiten intercomunicar diferentes puertos y servicios en una red de datos. TRINUX Mini distribucin de Linux que permite habilitar un firewall portable en memoria RAM

viii

INTRODUCCION

La globalizacin de las comunicaciones y la necesidad de controlar de manera automtica la mayor cantidad de procesos industriales de las organizaciones de una manera centralizada, han conducido a las empresas a converger en la red TCP/IP una gran variedad de servicios de voz, video y datos sobre la misma infraestructura; sin embargo un segmento especifico de compaas han adicionado a esa misma red, otros servicios especializados que permiten automatizar y controlar procesos industriales de produccin como lo son las redes SCADA. Anteriormente, estos sistemas de automatizacin y control pertenecan a redes de aplicaciones especficas, completamente aisladas de las redes de datos convencionales; de all que la seguridad en trminos de integridad, confiabilidad y disponibilidad de estos sistemas estaba comprometida en porcentajes muy bajos, casi imperceptibles para la compaa que las posea. Hoy por hoy, con redes de datos integrales, equipos de comunicaciones, protocolos, servicios y aplicaciones comunes para los diferentes objetivos del negoci, se hace necesario contemplar sistemas de seguridad que garanticen integridad, confiabilidad y la disponibilidad de todos y cada uno de los servicios que convergen en la infraestructura de red. Por lo anterior, se desarrolla este proyecto de grado que pretende disear un prototipo usando software libre que permita evaluar la viabilidad de un firewall en redes SCADA, siendo estos sistemas los ms frecuentes en el sector real para aplicaciones de automatizacin y control. Este documento se compone de cinco captulos. El primer captulo contiene los aspectos referentes al tema de Investigacin, sus objetivos, alcance, delimitacin, y justificacin. El Segundo cubre la fundamentacin terica acerca de los dos grandes tpicos tratados de una forma en el transcurso del desarrollo del proyecto, tambin describe los componentes metodolgicos y los recursos necesarios para realizar este proyecto. El Diseo Metodolgico, el anlisis de la situacin actual y la solucin propuesta junto con la implementacin del prototipo se contemplan el captulo tres.

El cuarto captulo cubre lo relacionado con la lista que chequeo y pruebas, y finalmente el capitulo cinco corresponde a las conclusiones finales y recomendaciones.

10

ASPECTOS DE LA INVESTIGACION

1.1 DESCRIPCIN DEL PROBLEMA En sus orgenes, los sistemas SCADA se concibieron como sistemas cerrados con sistemas operativos y protocolos propietarios en arquitecturas aisladas de la infraestructura de comunicaciones de la organizacin que los usa; hoy en da, estos sistemas se han modernizado; corren sobre sistemas operativos abiertos, usan protocolos estndar como TCP/IP e interactan con otras aplicaciones como bases de datos, correo electrnico y aplicaciones web[1]. Por lo anterior, y en gran parte debido a la evolucin de las tecnologas de informacin y comunicacin, se han detectado mltiples vulnerabilidades que amenazan a los sistemas SCADA. La razn principal por la que dichos sistemas se han visto afectados cada da ms, se debe principalmente a la adopcin de sistemas de propsito general a nivel de aplicaciones, sistemas operativos y protocolos que cargan con su propio legado de vulnerabilidades.

1.2 JUSTIFICACION DEL PROYECTO DE INVESTIGACION La globalizacin de la tecnologa, el rpido avance de la cobertura y conocimiento tecnolgico en la poblacin de nuestro pas, hace necesaria la investigacin e implementacin de sistemas de seguridad informtica en los diferentes escenarios productivos de la industria, de manera tal que cada vez es ms importante integrar a las redes SCADA, componentes de seguridad perimetral que permitan mantener a salvo la infraestructura de comunicaciones y datos, que en muchos casos son crticos para la operacin de las compaas que las implementan. Por lo anterior, se han identificado dos razones principales que fundamentan el desarrollo del proyecto en cuestin.

1.2.1 Justificacin tcnica El estudio de un prototipo de Firewall usando software libre para las redes SCADA es de gran importancia, ya que este un muy bien inicio en la mitigacin de las vulnerabilidades de las actuales redes industriales de automatizacin y control. Lo anterior dado que muy pocas compaas que actualmente usan infraestructura de
[1] http://thertux.wordpress.com/2008/12/25/sistemas-scada-y-seguridad/

11

este tipo desconocen la necesidad de asegurar su infraestructura o lo que es peor, ignoran la existencia de componentes de seguridad como los firewalls para asegurar estos sistemas. Este proyecto de investigacin permitir documentar la implementacin de un prototipo de Firewall para redes SCADA haciendo uso de herramientas de software libre, permitiendo de esta manera a aquellas compaas que poseen redes industriales implementadas con estos sistemas de control, conocer los detalles tcnicos e integrar diversos servicios a su propia infraestructura de comunicaciones de manera segura.

1.2.2 Justificacin econmica Las organizaciones implementan sistemas SCADA en la actualidad para optimizar el proceso industrial de produccin automatizndolo, generalmente dicho proceso es el objeto central del negocio de estas organizaciones, motivo por el cual la seguridad y la confiabilidad en este tipo de redes se convierte en un tema sensible. El diseo del prototipo propuesto le permitir a la fundacin universitaria Konrad Lorenz, implementar, auditar y trabajar de la mano con compaas que estn interesadas en mejorar la seguridad perimetral de las redes de los sistemas SCADA, resultando en un beneficio mutuo, tanto econmico como investigativo, teniendo en cuenta que el mercado para este tipo de soluciones apunta a compaas generalmente del sector industrial, ms especficamente en el sector de los hidrocarburos, vertical en la que este tipo de soluciones es el objeto del negocio y representan una importancia prioritaria a la hora de invertir.

Figura 1. Mercado de Sistemas SCADA en la Industria OIL & GAS

12

La figura anterior[2] muestra claramente el potencial de los sistemas SCADA en la industria Oil & Gas, claramente se puede evidenciar que el mercado ha venido creciendo en esta direccin y adems predice que este comportamiento se mantendr creciendo de manera mesurada pero constante en los dos prximos aos.

1.2.3 Justificacin Metodolgica Se encuentra una importante justificacin metodolgica debido a la evidente carencia de normatividad para la regulacin de la seguridad de las redes industriales, especialmente aquellas que gestionan infraestructuras e instalaciones crticas de nuestro pas. En este sentido, este documento har referencia a publicaciones y guas de mejores prcticas para redes SCADA como la publicada por el Centro Nacional de Coordinacin de seguridad de infraestructura, NISCC[3] (por sus siglas en ingls) perteneciente al Centro para la Proteccin de la Infraestructura Nacional (CPNI Centre for the Protection of National Infrastructure) del gobierno del Reino Unido; este se alinea perfectamente con las polticas, controles y anlisis de seguridad descritos en la norma ISO 27001. De la misma manera, se har referencia a otros documentos como el publicado por el departamento de Energa de los Estados Unidos, denominado: "21 Steps to Improve Cyber Security of SCADA Networks"[4], lo anterior con el fin de brindar un marco referencial para la investigacin realizada de manera tal que pueda ser til exponiendo lineamientos a tener el cuenta al momento de implementar estrategias de seguridad en redes industriales.

1.3 DELIMITACION 1.3.1 Espacial. El Proyecto de Investigacin as como el control y seguimiento correspondiente se llevar a cabo en la FUNDACION UNIVERSITARIA KONRAD LORENZ, ubicada en la Cra 9 Bis No. 62-43 de la ciudad de Bogot. La Fundacin Universitaria Konrad Lorenz, fundada el 4 de noviembre de 1.981, como entidad de educacin superior privada, de utilidad comn y sin nimo de lucro, con autonoma acadmico-administrativa y patrimonio independiente, est dedicada a la enseanza, difusin y generacin del conocimiento cientfico y cultural.
[2] http://www.technolead.com/news/index.php?ID=101&SubID=204 [3] http://www.cpni.gov.uk/docs/re-20050223-00157.pdf [4] http://www.oe.netl.doe.gov/docs/prepare/21stepsbooklet.pdf

13

Es preciso notar que en la fase final del proyecto se pretende disear un prototipo de firewall, esta actividad se llevar a cabo en las mismas instalaciones de la universidad a manera de prototipo de laboratorio y tendr fines netamente investigativos y acadmicos.

1.3.2 Cronolgica. Para la realizacin del presente proyecto se contar con un tiempo de estimado de 4 meses, debido a que el semestre finaliza en noviembre y es el tiempo estimado segn la universidad para el desarrollo de esta propuesta. Este tiempo se distribuir de la siguiente manera: Actividad 1. Definicin del problema a. Recopilar informacin. b. Estudiar la factibilidad. c. Consulta disponibilidad de recursos de hardware y software. d. Informe 2. Anlisis del sistema SCADA a. Estudiar sistemas existentes. b. Definir herramientas de software a usar. c. Informe 3. Diseo de topologa a. Herramientas de Simulacin PLCs y/o RTUs. b. Herramientas de Simulacin HMI c. Herramientas software para Prototipo Firewall. d. Diseo de Alto Nivel. e. Informe. 4. Simulacin del sistema SCADA a. Instalacin PLC y/o RTU. b. Instalacin HMI. c. Configuracin y puesta a punto. d. Informe. 5. Instalacin del Firewall a. Instalacin bsica de Firewall. Semana 0-1 semana

2-4 semana

5-7 semana

8-12 semana

13-15 semana

14

Actividad

Semana

b. Pruebas de Conectividad. c. Definicin e implementacin de polticas de seguridad. d. Pruebas de Funcionalidad. e. Informe. 6. Afinamiento 16-17 semana a. Ajuste de Polticas de Seguridad. b. Pruebas Finales.

Figura 2. Actividades y tiempos del proyecto de investigacin

15

Figura 3. Diagrama Cronolgico de Actividades.

16

1.3.3 Conceptual. Este proyecto de grado pretende desarrollar una investigacin especifica acerca de las posibilidades de implementar un firewall en una red SCADA, no se orienta al anlisis ni al desarrollo como tal del sistema SCADA, sus componentes ni a la construccin como tal del firewall, tampoco se tratarn aspectos relacionados con desarrollo; el propsito de la investigacin es implementar un prototipo de firewall libre que permita filtrar el trafico no deseado en una red SCADA con el fin de proteger estos sistemas industriales. Tampoco es objeto de este proyecto implementar redes de comunicaciones con mejores prcticas, direccionamiento y otros aspectos que aunque sern parte funcional del prototipo, no son objeto de estudio en esta ocasin.

1.4 OBJETIVOS 1.4.1 General Implementar un prototipo de firewall usando software libre que permita asegurar el permetro de una red SCADA simulada. 1.4.2 Especficos.

1. Realizar el levantamiento de informacin necesaria para la realizacin del proyecto. 2. Elaborar un estado del arte que involucre las herramientas existentes para simular el trfico tpico de una red SCADA. 3. Estructurar una Topologa de Red de acuerdo con la arquitectura del sistema SCADA y la infraestructura de red a implementar 4. Implementar el prototipo y realizar las pruebas bsicas de conectividad. 5. Definir e implementar las polticas de seguridad para el firewall. 6. Realizar las pruebas de funcionalidad del firewall realizando diversos ataques a la red. 7. Elaborar un artculo de investigacin.

17

MARCO TEORICO

2.1

ANTECEDENTES

2.1.1 Histricos 2.1.1.1 Antecedentes Histricos SCADA En sus inicios, alrededor de la dcada del sesenta, los sistemas SCADA se limitaron simplemente a ser sistemas de telemetra que solo permitan obtener informacin de manera remota por medio de paneles que mostraban el estado de los diferentes sensores del sistema de control y siempre requeran la intervencin del operador lo cual eliminaba las posibilidades de automatizar procesos y controlarlos de la misma manera. La siguiente figura ilustra los primeros sistemas de telemetra[5]

Figura 4. Sistemas de Telemetra

Con la evolucin de los sistemas de comunicacin y la aparicin de las computadoras, los sistemas SCADA actuales son mucho ms completos y tienen la capacidad de realizar remotamente tareas ms complejas de manera local o remota en tiempo real. Por lo anterior, son diversos los fabricantes de este tipo de sistemas y su uso es ampliamente conocido en las diferentes verticales de la industria mundial. 2.1.1.2 Antecedentes Histricos FIREWALL

[5] David Bailey, Edwin Wright. Practical SCADA for Industry. IDC Technologies. 2003. 288 p.

18

El trmino firewall es propio del sector de la construccin, y hace referencia a un muro sin ventanas que asla una zona de la construccin de otra con el fin de evitar en caso de incendio que el fuego se propague fcilmente de un lugar a otro[6]. Con el auge de las telecomunicaciones, la aparicin de internet y el crecimiento de la industria de los computadores, tambin nacieron los virus informticos (los gusanos fueron los primeros en aparecer) y los usuarios ms especializados cuyos conocimientos y curiosidad les invitaban a navegar y a acceder a redes privadas sin ninguna restriccin. Por esta razn surgen los surgen los primeros Firewalls; en sus primeras versiones, gracias a Cisco Systems, alrededor de 1985, se denominaron Firewalls de filtrado de paquetes y se integraron a las versiones de software (IOS) del sistema operativo de sus enrutadores; estos equipos pretendan separar la red en redes LAN ms pequeas para que los problemas de estas nos se propagaran afectando toda la red[7]. Tres aos ms tarde Jeff Mogul de Digital Equipment Corporation (DEC) escribe el primer paper acerca de la tecnologa de Firewall, sin embargo durante los aos comprendidos entre 1980 y 1990 Dave Presetto y Howard Trickey de AT&T desarrollaron la segunda generacin de Firewalls denominados circuit level firewalls. En el transcurso del siguiente ao se describe la segunda generacin de Firewalls llamada firewalls de capa de aplicacin o proxy firewalls, documento cortesa de Bill Cheswick, Marcus Ranum, and Gene Spafford y contituyeron la tercera generacin de Firewalls. En ese mismo ao (1991), DEC lanza al mercado su primera versin comercial de Firewall, fue denominado SEAL (Secure External Access Link) y se fundamento en el trabajo de Marcus Ranum. Este Firewall estaba compuesto por un sistema externo llamado Gatekeeper, un gateway de filtrado llamando Gate y un Mailhub interno como se muestra en la siguiente figura:

[6]http://www.cisco.com/web/about/ac123/ac147/ac174/ac200/about_cisco_ipj_archive_article0918 6a00800c85ae.html [7]http://www.cisco.com/web/about/ac123/ac147/ac174/ac200/about_cisco_ipj_archive_article0918 6a00800c85ae.html

19

Figura 5. Arquitectura del SEAL [8]

En los aos siguientes, otras entidades como Trusted Information Systems (TIS), y la Universidad del Sur de California desarrollaron sus propias versiones de firewall de cuarta generacin denominada packet filter firewall system, dentro de esta generacin encontramos el Firewall Toolkit (FWTK) y los Visas. Estos ltimos se constituyeron en la base comercial del Firewall-1 que ya integraba una interfaz de usuario mucho ms amigable con una consola grfica, capacidades de gestin, y fcil instalacin y administracin; este producto fue lanzado al mercado en en 1994 y pertenece a la empresa israel de software Checkpoint [9]. Ms tarde en 1996, Global Internet Software Group en cabeza de Scott Wiegel comienza a trabajar en los Firewalls de quinta generacin llamados Firewalls de arquitectura Kernel Proxy y es all cuando Cisco Systems lanza al mercado su Cisco Centri Firewall construido bajo esta arquitectura. Lo anterior abre paso finalmente a la denominada Next Generation Firewalls c uya arquitectura incluye muchas ms capacidades como la integracin de sistemas de prevencin de intrusos y la posibilidad de hacer control de contenido; estas funcionalidades y la agrupacin de las mismas en un solo equipo dependen bsicamente de las capacidades de hardware y software provistas por los diferentes fabricantes en la actualidad.

[8]http://www.cisco.com/web/about/ac123/ac147/ac174/ac200/about_cisco_ipj_archive_article0918 6a00800c85ae.html [9] http://www.internetfirewall.org/article/internet-firewall-basics/the-history-of-firewalls.html

20

2.1.2 Investigativos

En la actualidad existe una gran cantidad de grupos de investigacin referentes a los dos temas principales que trata este documento, en este sentido a continuacin listamos algunos de los grupos de cuyo objeto de investigacin son los Firewalls o los sistemas SCADA segn con el sistema de informacin GrupLAC de Colciencias en Colombia
Tabla 1. Grupos de Investigacin en Colombia referentes a Firewall o SCADA

Nombre
GIAR

Descripcin y Fuente
Grupo de Investigacin en Automatizacin y Robtica http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000004499 Grupo de Investigacin en Aplicaciones Mecatrnicas http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000002805 Automatizacin, Instrumentacin y Control http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000003200 Grupo de Investigacin http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000001185 Grupo de Investigacin http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000001038

Institucin / Procedencia
Universidad Central / Bogot - Colombia

GIAM

AIC

GRIDITS

Grupo de Investigacin en Electrnica, Telemtica, Arquitectura del Computador y Temas afines GRITAS

Universidad Santo Toms de Aquino / Bucaramanga Colombia Pontificia Universidad Bolivariana / Bucaramanga Colombia Universidad de Santander / Santander Colombia Universidad del Bosque / Bogot Colombia

Grupo de Investigacin en Tecnologas Aplicadas y Sistemas de Informacin http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000001045 Grupo de Investigacin http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000005897 Grupo de Investigacin http://201.234.78.173:8080/gruplac/jsp/visualiza/visuali zagr.jsp?nro=00000000002707

Universidad Tecnolgica de Bolvar / Cartagena Colombia Universidad Cooperativa de Colombia / Bogot Colombia Corporacin Universidad Piloto de Colombia / Bogot Colombia

GIPIS

Ingeniera de Sistemas UPC

21

Sin embargo como se pudo observar anteriormente, no existen en la actualidad grupos de investigacin dedicados a estudiar la seguridad basada en los firewall, especficamente para sistemas SCADA aunque a nivel internacional si es posible encontrar grupos, comunidades e instituciones de diferente ndole trabajando en este sentido como lo podemos ver en la siguiente tabla que muestra algunos casos representativos:
Tabla 2. Algunas investigaciones y Comunidades Nombre A Holistic SCADA Security Standard for the Australian Context Exploiting SCADA Systems Cyber security for SCADA and DCS networks NISCC Good Practice Guide on Firewall Deployment for SCADA and Process Control Networks Autor Christopher Beggs Procedencia / Fuente Autralia Universidad Edith Cowan http://ro.ecu.edu.au/cgi/viewcontent.cgi?arti cle=1024&context=isw Seoul http://www.powerofcommunity.net/speaker. html Kentucky - Estados Unidos de America http://louisville.edu/speed/research/centersand-labs/isrl/SCADA Reino Unido http://www.cpni.gov.uk/docs/re-2005022300157.pdf

Jeremy Brown

Universidad de Louisville

National Infrastructure Security Co-ordination Centre (NISCC) http://www.cpni.gov.uk/docs/ re-20050223-00157.pdf

De otra parte, en contraste con lo anterior, es posible encontrar mltiples fabricantes de firewall o soluciones de software libre que estn en capacidad de entregarle soluciones SCADA seguras[10] a aquellas industrias que desean implementarlas; como una muestra de ello encontramos los siguientes fabricantes y soluciones:
Tabla 3. Soluciones comerciales de Firewalll SCADA

Fabricante

Nombre
Compliance Manager

Fuente:
http://www.industrialdefender.com/?_kk=i ndustrial%20defender&_kt=a2a5f259ae1a-430c-9f3224255702e194&gclid=CK3v1YiXtaUCFUt J2godPhg5Zw

[10]http://www.industrialdefender.com/news/pr/pr2010.11.04_abb_and_industrial_defender_partne
rship.php

22

Fabricante

Nombre
Experion R310

Fuente:
http://hpsweb.honeywell.com/Cultures/en US/Products/Systems/ExperionPKS/r300 /default.htm http://www.tofinosecurity.com/buy/honey well http://www.cisco.com/en/US/docs/switch es/connectedgrid/cgs2520/software/relea se/12_2_53_ex/configuration/guide/swm odbus.html

Honeywell Modbus TCP Firewall / Honeywell OneWireless Firewal Adaptative Security Appliance

Tabla 4. Plataformas Firewall estndar disponibles con cdigo abierto

Proyecto

Fuente

http://www.smoothwall.org/ SmoothWall Express Express Open Source Firewall Project

http://www.astaro.com/

Astaro Security Gateway

http://www.censornet.com/ CensorNet

http://www.sentryfirewall.com/ Sentry Firewall http://m0n0.ch/wall/ m0n0wall

23

A continuacin se muestra en la Tabla 5 una comparacin de las diferentes plataformas de Firewall disponibles con algunas de las funcionalidades que cada una soporta.
Tabla 5. Comparacin de Plataformas de Firewall

Funcionalidad o Caracterstica Licencia Hardware - Software Plataforma de Gestin Bloqueo de trafico que no coincida con reglas configuradas Soporte de Filtrado de Trafico Modbus/TCP Interfaz Grfica Soporte de otros protocolos industriales Integracin con otras funcionalidades de seguridad (IPS, AntiX, VPN)

Firewall Estndar Comercial Comercial Hardware y/o Software SI SI NO SI NO

Firewall SCADA Comercial Comercial Hardware y/o Software SI SI SI SI SI

Modbusfw GPL Software NO SI SI NO NO

SI

NO

NO

Como se puede observar en la tabla anterior, de acuerdo con las funcionalidades soportadas, en el caso de implementar una red SCADA, la recomendacin est orientada a implementar una plataforma de firewall comercial convirtindose en la mejor opcin para proteger redes industriales de este tipo. 2.2 BASES TERICAS

2.2.1 Definicin de Firewall Un firewall es un sistema diseado para detener accesos no autorizados en la red, puede implementarse en hardware, en software o una combinacin de los dos anteriores. Estos sistemas son usados para proteger redes privadas de violaciones de seguridad efectuadas por usuarios, aplicaciones o trfico no deseado proveniente de redes externas. A travs del firewall pasa todo el trfico que entra o sale de la red y mediante criterios o polticas definidas por el

24

administrador examina cada uno de los paquetes y bloquea aquellos que no son conformes con dichas polticas. De acuerdo con lo anterior y dado que este tipo de herramientas se ubican en el borde de la red, los firewall estn catalogados como equipos de seguridad perimetral. 2.2.2 Definicin de Sistema SCADA. Las siglas SCADA corresponden al acrnimo de Supervisory Control And Data Acquisition que en trminos generales hacen referencia a un sistema compuesto por una serie de componentes de software y hardware que supervisan y controlan a distancia la operacin dinmica de maquinas de produccin, proporcionando toda esta informacin en una pantalla de computador e integrando datos de control de calidad y estadsticas de produccin entre otros. Los sistemas SCADA se caracterizan por ser sistemas de control centralizado; a diferencia de los sistemas DCS cuya arquitectura es distribuida, los sistemas SCADA estn en capacidad de realizar acciones de control en forma automtica. En este tipo de arquitectura, la labor del operador es principalmente de supervisin. 2.2.3 Definicin Red SCADA. Un sistema SCADA consta de varios componentes dentro de los cuales encontramos: a. Varias Unidades de Terminal Remota (RTU) Controladores Lgicos Programables (PLC) b. Estacin Maestra (Servidor con HMI y Bases de Datos) c. Infraestructura de Comunicaciones. En la siguiente grfica (Figura 1) se puede observar la arquitectura tpica de un sistema SCADA:

25

Figura 6. Arquitectura de Sistema SCADA

[11]

De acuerdo a lo anterior, definimos que la Red SCADA es la infraestructura que permite intercomunicar a los diferentes componentes del sistema SCADA haciendo uso de mltiples equipos de comunicacin, protocolos y tecnologas.

2.3

TEORIAS GENERICAS BASADAS EN INGENIERIA.

2.3.1 Arquitectura del Firewall Para el desarrollo de este proyecto, se ha elegido un firewall de cdigo abierto, especficamente desarrollado para redes SCADA, esta aplicacin se encuentra en los diferentes sitios web de las comunidades de desarrollo como SourceForge.net. Como la mayora de las aplicaciones de las aplicaciones de licencia pblica o GPL (por sus siglas en ingls), corre sobre el kernel de Linux versin 2.4.26 y est disponible en una mini distribucin booteable de Gentoo Linux versin 3.3.2-r5 que puede ser ejecutada desde memoria RAM en sistemas de muy bajos requerimientos con un excelente desempeo. Se trata del mdulo modbusfw que fue desarrollado por Kat Pothamsetty y Matthew Franz como una extensin del Netfilter, firewall tradicional que se encuentra embebido en la mayora de los Kernel de Linux actuales.

[11] http://www.isecauditors.com/es/iseclab9.html

26

El Modbusfw es un desarrollo bsico pero til al momento de controlar el trfico de paquetes de datos en protocolo Modbus/TCP ya que permite filtrar por cdigo de funcin en la misma sintaxis y estructura de las bien conocidas IpTables de Netfilter. Para este caso particular, se ha decidido trabajar sobre la imagen ISO disponible en SourceForge.net [12] dado que la implementacin sobre otra distribucin de Linux no fue posible por tratarse de un kernel de Linux del ao 2004 que no es compatible con ninguna de las versiones actuales de manera tal que para la implementacin del prototipo se plante topologa lgica que se muestra en la Figura 7.

Figura 7. Topologa Lgica Prototipo Firewall SCADA

Con el fin de optimizar recursos y hacer lo ms portable posible la implementacin del prototipo, se realiz un diseo de bajo nivel en el cual se usa una sla una maquina fsica con sistema operativo Windows XP que hospeda dos maquinas virtuales corriendo Windows XP para simular el trafico entre dos entes de un [12] http://sourceforge.net/projects/modbusfw/

27

sistema SCADA (HMI PLC/RTU) y dos mquinas virtuales adicionales con la mini distribucin de Linux llamada Trinux y otra con Red Hat Linux. Las maquinas virtuales Linux, cumplirn con el rol de firewall SCADA y consola de administracin respectivamente. Fue necesario contar con una consola de administracin del Firewall ya que Trinux no cuenta con las herramientas suficientes para la adecuada edicin de los scripts que se crearon para el aprovisionamiento de las polticas del firewall ya que al ser una imagen booteable que se ejecuta desde la memoria RAM del equipo, no es posible almacenar de manera permanente las polticas a configurar. A continuacin se presenta la topologa fsica que se implementara para el prototipo de firewall:

Figura 8. Topologa Fsica Prototipo Firewall SCADA

28

2.3.2 Arquitectura Sistema SCADA En lo que al sistema SCADA respecta, la implementacin del prototipo pretende simular el trafico generado y recibido por cada uno de los entes que conforman un sistema de automatizacin y control tradicional, es as como de acuerdo con la topologa lgica mostrada en la Figura 8, se ha configurado un generador de trfico modbus/tcp sobre una maquina virtual con sistema operativo Windows XP pretendiendo emular a travs de un software denominado Simply Modbus TCP 7.0 un PLC o una RTU corriendo dicho protocolo; adicionalmente, tambin se hace necesaria la inclusin de una aplicacin que cumpla el rol de una HMI de manera tal que se instal en otra mquina virtual con Windows XP la aplicacin mod_RSsim que escucha por el puerto 502 el trfico Modbus/tcp dndonos una indicacin grafica de ello y simulando la consola de control de un sistema SCADA. Es preciso aclarar que las aplicaciones utilizadas para generar y escuchar el trfico Modbus/TCP no son GPL, se han descargado de la web [13] con sus funcionalidades completas, con autorizacin de uso por 30 das en calidad de Demo License. Lo anterior dado que este trabajo no posee el alcance de implementar una red SCADA con hardware y software de licencia pblica y que tampoco fue posible encontrar un conjunto de aplicaciones de software libre que permitieran realizar la simulacin de los componentes de un sistema de automatizacin y control usando el protocolo modbus encapsulado en TCP.

2.3.3 Arquitectura Modbus/TCP El protocolo Modbus/tcp corresponde a una variacin del protocolo Modbus, este protocolo se emplea en la capa de transporte del protocolo estndar TCP/IP[14] y se origin con el fin de poder transmitir este trfico sobre internet de forma que fuera posible controlar uno o varios dispositivos (PLC o RTU) geogrficamente distribuidos a travs de la red mundial. Por esta razn, el protocolo Modbus/TCP es hoy por hoy un estndar abierto soportado de facto en la industria de los fabricantes de PLCs y RTUs por su fcil implementacin y bajo costo permitiendo intercambiar informacin entre estos dispositivos brindando una adecuada escalabilidad ampliando las posibilidades de integracin sin depender de protocolos propietarios ni fabricantes especficos.

[13] http://www.modbustools.com/ [14]http://www.infoplc.net/Documentacion/Docu_Comunicacion/EthernetIndustrial/infoPLC_net_Et


hernet_Industrial_ModbusTCP_IP.html

29

DISEO METODOLGICO

3.1 TIPO DE INVESTIGACION El presente Proyecto de Investigacin es de tipo descriptivo pues pretende exponer los diferentes elementos, procedimientos y caractersticas que se debern tener en cuenta para la implementacin de un prototipo de firewall orientado a las redes de sistemas SCADA. La investigacin no se detiene a comprobar hiptesis ni a hacer predicciones al respecto[15] . De esta manera, en este documento se detalla el procedimiento para implementar el firewall, se propone una arquitectura en un ambiente controlado y se realizan pruebas de funcionalidad con el fin de describir las diferentes funcionalidades que se pueden implementar.

3.2

ANALISIS DE LA SITUACIN ACTUAL

Con el fin de recrear el trfico Modbus/TCP generado por un sistema SCADA tradicional, es necesario definir los elementos que debern permitir emitir trfico como mnimo, entre un PLC y una HMI. Actualmente, la universidad Konrad Lorenz no cuenta con un laboratorio que permita recrear las condiciones reales de un sistema SCADA ni su correspondiente red de transporte de datos, de manera tal que se hace partir de cero para logar implementar el prototipo y realizar las pruebas de funcionalidad pertinentes. Los componentes de una red SCADA que usa Modbus/TCP establecen inicialmente una conexin a nivel de la capa de aplicacin y posteriormente ese enlace puede transportar mltiples transacciones independientes. El protocolo Modbus es asncrono, se define como un protocolo cliente-servidor (o maestroesclavo), de capa de aplicacin y no orientado a conexin; el protocolo Modbus/TCP sencillamente encapsula la trama Modbus en un segmento TCP, de manera tal que TCP brinda un servicio orientado a conexin fiable para que toda peticin, espere una repuesta. Modbus/TCP establece una conexin inicial, y esta a su vez puede llevar mltiples transacciones de manera independiente. En la Figura 9 se ilustra la trama Modbus encapsulada en TCP

[15] http://sites.google.com/site/ciefim/investigaci%C3%B3ndescriptiva

30

Figura 9. Encapsulamiento de Modbus en TCP

[16]

Con el objetivo de evidenciar claramente las diferencia entre las tramas de un paquete Modbus/TCP y uno convencional (http por ejemplo), a continuacin podemos observar con el uso de analizadores de trfico la caractersticas de cada uno de ellos.

Figura 10. Trama TCP Tradicional

[17]

[16]http://www.dte.upct.es/personal/manuel.jimenez/docencia/GD6_Comunic_Ind/pdfs/Tema%207.
pdf

[17] http://lakuiji.blogspot.com/

31

Figura 11. Trama Modbus/TCP

[18]

Por otro lado, en lo que respecta al Firewall, el modbusfw es slo una extensin para el Netfilter, ste ltimo es el firewall de facto de Linux y se encuentra en las versiones de kernel 2.4.x y 2.6.x; permite habilitar las funcionalidades de filtrado de paquetes y NAT en dicho sistema operativo mediante el uso de la definicin de una serie de reglas regidas por una estructura general de tablas [19]. Netfilter filtra bsicamente inspeccionando los encabezados de cada paquete que llega a las interfaces de red y con base a las tablas de reglas configuradas decide que debe hacer con l. Por otra parte, cuando se habilitan reglas de NAT, es posible, dependiendo stas, modificar o no el paquete cambiando el origen o el destino del mismo. Lo anterior es posible configurarlo para la mayora de protocolos y puertos que transitan en la red, sin embargo a este funcional firewall en software es necesario adicionarle el mdulo modbusfw si se requiere inspeccionar los paquetes de trfico Modbus/TCP. Este mdulo se usa apoyndose en las mismas palabras reservadas y funcionalidades de las iptables de Netfilter de manera tal que la implementacin para un usuario que haya tenido contacto estas tablas es natural.

[18] http://www.freemodbus.org/index.php?idx=92 [19] http://www.netfilter.org/

32

3.3 3.3.1

DIAGNSTICO DE LA SITUACIN ACTUAL. Red SCADA

Para la simulacin del trfico en la red SCADA se evaluaron dos alternativas viables; inicialmente se pens en buscar e implementar un conjunto de aplicaciones que se comunicaran entre s de manera tal que permitieran la simulacin de un PLC o una RTU que le enviara informacin a una HMI que graficara o mostrara el estado de un sistema de control, sin embargo no fue posible encontrar dichas aplicaciones disponibles en la web o las que se encontraban no establecan comunicacin alguna entre ellas y no era posible mostrar el flujo del trfico para evaluar la funcionalidad del firewall. Es as como la alternativa seleccionada fue ubicar dos aplicaciones que establecieran conectividad desde un extremo de red permitiendo generar por demanda las funciones de cdigo que emiten los dispositivos PLC o RTU y paralelamente, el otro extremo una vez establecida la conexin mostrara la recepcin exitosa de dichos cdigos de funcin (func_code). Los cdigos de funcin mencionados, representan los estados del dispositivo de control y en el protocolo Modbus/TCP son enviados y recibidos por el puerto TCP 502. La Tabla 5. muestra los estados que representan los cdigos de funcin del dispositivo de control en el protocolo Modbus.
Func_Code 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Estado Read Coil Status Read Input Status Read Holding Registers Read Input Registers Force Single Coil Preset Single Register Read Exception Status Diagnostics Program 484 Poll 484 Fetch Communication Event Counter Fetch Communication Event Log Program Controller Poll Controller Force Multiple Coils Preset Multiple Registers Report Slave ID Program 884/M84 Reset Comm. Link Read General Reference Write General Reference Mask Write 4X Register Read/Write 4X Registers Read FIFO Queue [20]

Tabla 6. Cdigos de Funcin de los dispositivos de control

[20] http://www.supvc.com/html/article/2010/0421/342.html

33

Las aplicaciones que se utilizaron para similar el trfico mencionado, aunque no son open source, permiten una instalacin en modo de demostracin y an as habilitan todas sus funcionalidades pero por un periodo de 30 das y con limitaciones como el tiempo que se pueden usar una vez ejecutadas, lo cual se constituye en una desventaja pero que para fines acadmicos no tiene implicaciones negativas. De la misma manera, los programas mencionados con anterioridad ofrecen una funcionalidad importante al generar el trafico en el protocolo Modbus/TCP y adems de ello permiten modificar el func_code a decisin del usuario en cada paquete enviado, funcionalidad cuya utilidad es importante en la implementacin y prueba posterior del prototipo.

3.3.2

Firewall

El prototipo de Firewall, corresponde a la implementacin de una serie de polticas creadas en la estructura general de tablas para filtrado de paquetes de Netfilter (iptables), para ello se investig acerca de una distribucin de Linux que permitiera habilitar el modulo de extensin modbusfw o que ya lo tuviera embebido, con el fin de poder filtrar paquetes en el protocolo Modbus/TCP. De esta manera, se defini que la distribucin de Linux a usar es una distribucin llamada Trinux, es lite, booteable y corre en casi cualquier configuracin de hardware esto lo hace increblemente portable lo cual representa una importante ventaja para el usuario ya que desde su arranque no tiene servicios habilitados (como Telnet, RDP, DHCP) por tanto mejora los niveles de seguridad sin la intervencin del usuario. Desafortunadamente con la portabilidad y escaso soporte de comandos y servicios tambin se detect una desventaja importante, en el sentido en que no es posible guardar las configuraciones realizadas una vez se reinicia o se apaga el equipo, lo anterior se debe que esta distribucin se ejecuta desde memoria RAM. Por lo anteriormente expuesto, el prototipo debi integrar una consola de administracin que permitiera generar y almacenar scripts de configuracin con el fin de que la implementacin, cambios y adiciones en el Firewall pudieran ser fcilmente realizados por cualquiera que leyera este documento. De la misma manera, todo el escenario de pruebas, se realizo en un solo equipo fsico, todos los sistemas operativos y software para generar trafico que fueron usados en el proyecto se encuentran en maquinas virtuales, esto permite que se replique rpidamente todo el ambiente de pruebas en cualquier equipo que tenga instalado el software VMware Player cuya distribucin es gratuita[21].

[21] http://downloads.vmware.com/d/info/desktop_downloads/vmware_player/3_0

34

3.3.3 3.3.3.1

Modelo Propuesto Integracin Red SCADA y Firewall

El modelo de prototipo propuesto para la integracin de la red SCADA y el Firewall pretende implementar en un ambiente de pruebas, mediante la instalacin de mltiples mquina virtuales en Windows y Linux, los componentes necesarios para la puesta en funcionamiento del Firewall as como tambin para la administracin del mismo y la instalacin del diferentes simuladores en software para generar trfico Modbus/TCP. Una vez realizado el montaje, se proceder a realizar la pruebas de conectividad pertinentes para verificar el estado de las conexiones y el trnsito del trfico a travs del Firewall. Por ltimo se habilitarn las polticas requeridas para filtrar el trfico deseado y se realizarn pruebas de operatividad. Para lo anterior se construirn algunos scripts sencillos que permitan guardar la configuracin del firewall y as poder darle una mejor aplicabilidad y portabilidad al prototipo. A continuacin se relacionan los requerimientos funcionales y no funcionales dados para la Integracin e implementacin del prototipo de firewall. 3.3.3.2 Anlisis del Diseo del Firewall

A continuacin se presenta la siguiente grfica que permite ver el flujo del trfico a travs de las capas de conexin y de red del modelo OSI.

Figura 12. Flujo de los Paquetes en Netfilter

[22]

[22] http://l7-filter.sourceforge.net/PacketFlow.png

35

3.3.3.2.1

Documento de Anlisis

En este apartado se presentaran los tpicos referentes al anlisis del Firewall propuesto para la implementacin del prototipo. Cubre en primer lugar los requerimientos funcionales y no funcionales seguidos de la documentacin de los mismos usando una plantilla SRS para su adecuado anlisis, y por ltimo los casos de uso con su correspondiente documentacin. 3.3.3.2.1.1 Requerimientos Funcionales

A continuacin se enumeran los requerimientos funcionales para el anlisis del prototipo de firewall: a. Aplicar regla a paquetes que ingresan al firewall b. Aplicar regla a paquetes que salen del firewall c. Aplicar regla a paquetes de trafico que atraviesan el firewall La siguiente grfica muestra el flujo de los paquetes y el comportamiento del mdulo de Netfilter para el filtrado del los paquetes.

Figura 13. Flujo de los Paquetes en Netfilter

[23]

[23] http://plog.longwin.com.tw/news-unix/2007/01/03/netfilter_traversal_2007

36

3.3.3.2.1.2

Requerimientos no Funcionales

A continuacin se enumeran los requerimientos no funcionales para la implementacin del prototipo de firewall para redes SCADA: Software VMware Player Maquina con arquitectura Intel con mnimo: Windows XP, Tarjeta de Red, 2GB de memoria RAM, disco duro de 80GB, unidad DVD/R y procesador de 2.0 Ghz Instaladores Windows XP imagen ISO de la distribucin lite Trinux basada en Gentoo Linux Previamente debe estar instalado y configurado Windows XP en el equipo Host. 2 Maquinas virtuales de Windows XP, instaladas y operativas en el equipo host. 1 Maquina virtual de cualquier distribucin Linux con cliente SSH (Se recomienda Red Hot Enterprise v5.) Se requiere que el usuario tenga conocimientos bsicos de Linux y del funcionamiento de iptables. Se debe mantener copia actualizada de todos los scripts y configuraciones de iptables realizadas.

3.3.3.2.1.3

Plantilla SRS (Software Requirements Specification)

Con el fin de documentar de una manera adecuada los casos de uso encontrados en el proceso de reingeniera de software, a continuacin se presenta la plantilla SRS que se us para el correspondiente anlisis de Netfilter, ya que este es el sistema implementado en el prototipo y que hospeda el modulo de firewall para SCADA modbusfw.
Tabla 7. Plantilla SRS para anlisis de Netfilter

37

38

3.3.3.2.1.4

Casos de Uso

Debido a que el presente proyecto de investigacin no tiene el alcance de desarrollar o complementar el desarrollo del los mdulos a implementar, a continuacin se representan grficamente los casos de uso que aplican al modulo de firewall de Linux y adems se realiza la documentacin correspondiente para cada uno de ellos.

39

Figura 14. Caso de uso Firewall SCADA

Tabla 8. Caso de Uso N. 001

CU-001 Objetivos asociados Requisitos asociados

Administracin de Polticas Operar las diferentes funciones permitidas para la administracin de las polticas o reglas de filtrado de paquetes Tener instalado el sistema operativo con el modulo de firewall y kernel compatible adecuado (En este caso Trinux 2.4.26)

40

Descripcin Precondicin Secuencia Normal

Postcondicin

Excepciones

Frecuencia esperada Estabilidad Comentarios

El sistema deber permitir la administracin adecuada de las polticas de filtrado Deben existir los requerimientos mnimos de Hardware. Y contar con la imagen .iso de trinux Paso Accin 1 El Administrador crea una regla. 2 El Administrador elimina regla regla. 3 El Administrador edita una regla. Al verificar en la el funcionamiento de las reglas con el flujo de trafico se debe realizar el filtrado conforme las reglas configuradas. Paso Accin 1 Si el firewall la imagen .iso de sistema operativo trinux no inicia este caso de uso termina. Cada vez que se inicia la maquina del firewall Media En caso de algn fallo de la instalacin, se recomienda revisar la pgina http://modbusfw.sourceforge.net/

Tabla 9. Caso de Uso N. 002

CU-002 Objetivos asociados Requisitos asociados Descripcin

Mdulo de Routing Realiza el enrutamiento del trafico que pasa por el firewall. Existencia del kernel de Linux v2.4.x. El sistema deber comportarse tal como se describe en el siguiente caso de uso cuando el administrador desee administrar las rutas del firewall. Debe estar operativa la distribucin Trinux. Paso Accin 1 El Administrador verifica las rutas existentes. 2 El Administrador adiciona rutas en caso de requerirse 3 El Administrador elimina rutas en caso de requerirse El firewall debe estar direccionando el trfico adecuadamente. Paso Accin

Precondicin Secuencia Normal

Postcondicin Excepciones

41

Frecuencia esperada Estabilidad Comentarios

Si el mdulo de enrutamiento no se encuentra presento o no est activo este caso de uso termina. Cada vez que se requiera modificar alguna ruta. Alta En caso de algn fallo de la instalacin, se recomienda revisar la pgina http://modbusfw.sourceforge.net/

Tabla 10. Caso de Uso N. 003

CU-003 Objetivos asociados Requisitos asociados Descripcin

Mdulo Modbusfw Filtrar trfico mosbus/tcp. Existencia del kernel de Linux v2.4.x. y del modulo modbusfw. El sistema deber comportarse tal como se describe en el siguiente caso de uso cuando el administrador desee realizar filtrado de paquetes modbus/TCP. Debe estar operativa la distribucin Trinux, as como instalado y operativo el modulo modbusfw. Paso Accin 1 El Administrador verifica que se encuentre mdulo instalado y operativo. 2 El Administrador configura una regla para filtrar trfico Modbus/TCP. 3 El Administrador verifica la operacin del la regla creada. Al entrar en Trinux se deben poder configurar las reglas para Modbus/TCP usando los comandos establecidos para ello. Paso Accin 1 Si el Mdolo modbusfw no se encuentra activo esta caso de uso termina 1 vez (Una vez instalado y configurado el mdulo no hay necesidad de volver a cargarlo). Alta

Precondicin Secuencia Normal

Postcondicin

Excepciones

Frecuencia esperada Estabilidad

42

Comentarios

En caso de algn fallo de la instalacin, se recomienda revisar la pgina http://modbusfw.sourceforge.net/

3.3.4 Modelo de integracin A continuacin se relacionan paso a paso las diferentes actividades y procesos necesarios para implementar el prototipo del firewall SCADA: Instalar las siguientes maquinas virtuales usando WMware Player: a. b. c. d. Windows_XP_A Windows_XP_B Linux Red Hat Enterprise 5 Cargar la imagen de Trinux y Nombrarla como Firewall

Las Maquinas virtuales debern quedar como se muestra en la Figura 12:

Figura 15. Maquinas Virtuales

Inicie todas las maquinas virtuales

43

Figura 16. Iniciando Maquinas Virtuales

Ingrese a la Mquina virtual de Red Hat (Para este caso Usr: root Pwr: 1) En la consola de Red Hat cree una carpeta (para nuestro caso la carpeta se llamar proyecto) con los siguientes archivos:

Figura 17. Archivos Requeridos

En el editor de texto de la consola Rad Hat agregue el siguiente contenido por cada uno de los archivos: Archivo setup.sh
#!/bin/bash clear echo "**************************************************" echo "* SETUP FIREWALL *" echo "* UNIVERSIDAD KONRAD LORENZ *" echo "* PROYECTO DE GRADO: PROTOTIPO FIREWALL SCADA*" echo "* POR: JHONNY LOPEZ *" echo "**************************************************" echo "" echo "Digite la Ip de interface de entrada Firewall:" ; read ipin

44

echo "Digite la mscara de la interface de entrada Firewall:"; read msin echo "Digite la Ip de interface de salida Firewall:"; read ipout echo "Digite la mscara de la interface de salida Firewall:"; read msout echo "" echo "Se configurado la interface de entrada Firewall:" echo "IP es $ipin mascara $msin" echo "Se configurado la interface de salida Firewall:" echo "IP es $ipout mascara $msout" echo "" echo "#!/usr/bin/bash" > /proyecto/inicia.sh cat /proyecto/head.txt >> /proyecto/inicia.sh echo "ifconfig eth0 $ipin netmask $msin up" >> /proyecto/inicia.sh echo "ifconfig eth1 $ipout netmask $msout up" >> /proyecto/inicia.sh cat /proyecto/regla0.txt >> /proyecto/inicia.sh clear /proyecto/addreglas.sh cat /proyecto/tail.txt >> /proyecto/inicia.sh echo "" echo "Se ha creado correctamente el archivo inicia.sh ..." echo "Por Favor copiar el archivo inicia.sh al firewall ..." echo "" chmod 777 /proyecto/inicia.sh

Archivo inicia.sh Este archivo es generado automticamente por el script setup.sh, no es necesario crearlo; se referencia con el fin de ver el resultado de las configuraciones que sern cargadas en el firewall adems de explicar brevemente las configuraciones y comandos implementados en el prototipo.
#!/usr/bin/bash echo "**************************************************" echo "* CONFIGURACION DEL FIREWALL *" echo "* UNIVERSIDAD KONRAD LORENZ *" echo "* PROYECTO DE GRADO: PROTOTIPO FIREWALL SCADA*" echo "* POR: JHONNY LOPEZ *" echo "**************************************************" echo ""

# Configuracin de direcciones IP de las interfaces de red eth0 y eth1 de # salida y entrada correspondientemente.
ifconfig eth0 10.10.1.1 netmask 255.255.255.0 up ifconfig eth1 10.10.2.1 netmask 255.255.255.0 up

# Configuracin de polticas generales (-P) todo el trfico que entre, salga y # atraviese el firewall ser descartado

45

iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP

# Ahora se agrega una regal (-A) de manera que se acepte el trfico que entre y # salga de la direccin IP 192.168.0.2, que para nuestro caso ser la consola de # administracin.
iptables -A INPUT -s 192.168.0.2 -j ACCEPT iptables -A OUTPUT -d 192.168.0.2 -j ACCEPT

# Reglas auxiliares de referencia para permitir trafico de servicios particulares # (http), se deben crear mnimo dos por cada servicio una para entrada y la # otra para salida (comentariadas no se ejecutarn)
#iptables -A FORWARD -s 10.10.2.2 -d 10.10.1.2 --dport 80 -j ACCEPT #iptables -A FORWARD -s 10.10.1.2 --sport 80 -d 10.10.2.2 -j ACCEPT

# Regla de funcode de modbus general, donde 1 es el cdigo de funcin del # paquete modbus/tcp, -m modbus es el modulo para filtrado de trafico modbus, # p tcp es la instruccin que se trata de trafico del protocolo tcp y j ACCEPT es # la instruccin para aceptar el paquete que haga match con las dems # caractersticas enunciadas
#iptables -A FORWARD -p tcp -m modbus --funccode 1 --allowtcp 1 -j ACCEPT

# reglas para dejar transitar el trfico TCP en el Puerto 3389 que corresponde a # RDP para permitir el Servicio de escritorio remoto aceptndolo desde el origen # con IP 10.10.2.2 y 10.10.1.2
iptables -A FORWARD -s 10.10.2.2 -p tcp --dport 3389 -d 10.10.1.2 -j ACCEPT iptables -A FORWARD -s 10.10.1.2 -p tcp --sport 3389 -d 10.10.2.2 -j ACCEPT

# Regla para dejar transitar los paquetes modbus/tcp con func_code 6 en su trama # aceptndolo.
iptables -A FORWARD -p tcp -m modbus --funccode 6 --allowtcp 1 -j ACCEPT

# Regla para dejar transitar los paquetes modbus/tcp con func_code 9 en su # trama, aceptndolo desde el origen con IP 10.10.2.2 hacia el destino con IP # 10.10.1.2.
iptables -A FORWARD -s 10.10.2.2 -p tcp -m modbus --funccode 9 -allowtcp 1 -d 10.10.1.2 -j ACCEPT echo "" echo "Se ha configurado las tarjetas de Red Correctamente y se han cargado las configuraciones iniciales ..." echo ""

46

Archivo sddreglas.sh
#!/bin/bash echo "Configuracion de la regla 1 del Firewall" echo "Configuracion de servicio generales ej: RDP(3389)" echo "" echo "Digite la ip del equipo origen:" ; read iporg echo "Digite la ip del equipo destino:" ; read ipdes echo "Digite el puerto del servicio a permitir:" ; read puerto echo "iptables -A FORWARD -s $iporg -p tcp --dport $puerto -d $ipdes -j ACCEPT" >> /proyecto/inicia.sh echo "iptables -A FORWARD -s $ipdes -p tcp --sport $puerto -d $iporg -j ACCEPT" >> /proyecto/inicia.sh echo "" echo "Configuracion de function_code de ModBus" echo "-- Configuracion Ambos sentidos:" echo "Digite el funct_code para habilitar:"; read fcd1 echo "iptables -A FORWARD -p tcp -m modbus --funccode $fcd1 -allowtcp 1 -j ACCEPT" >> /proyecto/inicia.sh echo "" echo "-- Configuracion en un solo sentido:" echo "Digite la ip del equipo origen:" ; read iporg1 echo "Digite la ip del equipo destino:" ; read ipdes1 echo "Digite el funct_code para habilitar:"; read fcd2 echo "iptables -A FORWARD -s $iporg1 -p tcp -m modbus --funccode $fcd2 --allowtcp 1 -d $ipdes1 -j ACCEPT" >> /proyecto/inicia.sh echo "" echo "Se ha terminado de configurar las Reglas personalizadas" echo ""

Archivo finconsola.sh
#!/usr/bin/bash echo "**************************************************" echo "* CERRAR CONSOLA DEL FIREWALL *" echo "* UNIVERSIDAD KONRAD LORENZ *" echo "* PROYECTO DE GRADO: PROTOTIPO FIREWALL SCADA*" echo "* POR: JHONNY LOPEZ *" echo "**************************************************" echo "" echo " Cerrando Acceso de Consola Espere Por Favor . . . " iptables -D INPUT -s 192.168.0.2 -j ACCEPT iptables -D OUTPUT -d 192.168.0.2 -j ACCEPT echo " Se ha cerrado conexion con la consola de configuracion" echo "" echo "VERIFICANDO ..." iptables -L

47

Archivo reset.sh
#!/usr/bin/bash echo "**************************************************" echo "* RESET DEL FIREWALL *" echo "* UNIVERSIDAD KONRAD LORENZ *" echo "* PROYECTO DE GRADO: PROTOTIPO FIREWALL SCADA*" echo "* POR: JHONNY LOPEZ *" echo "**************************************************" echo "" echo " Espere Por Favor . . . " iptables -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT echo " Se Ha reseteado con exito" echo "" echo "VERIFICANDO ..." iptables -L

Archivo head.txt
echo echo echo echo echo echo echo "******************************************************" "* CONFIGURACION DEL FIREWALL *" "* UNIVERSIDAD KONRAD LORENZ *" "* PROYECTO DE GRADO: PROTOTIPO DE FIREWALL SCADA *" "* POR: JHONNY LOPEZ *" "******************************************************" ""

Archivo regla0.txt
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP iptables -A INPUT -s 192.168.0.2 -j ACCEPT iptables -A OUTPUT -d 192.168.0.2 -j ACCEPT # Reglas auxiliares de adicion (se deben crear minimo dos por cada servicio) #iptables -A FORWARD -s 10.10.2.2 -d 10.10.1.2 --dport 80 -j ACCEPT #iptables -A FORWARD -s 10.10.1.2 --sport 80 -d 10.10.2.2 -j ACCEPT # Regla de funcode de modbus general #iptables -A FORWARD -p tcp -m modbus --funccode 1 --allowtcp 1 -j ACCEPT

Archivo tail.txt

48

echo "" echo "Se ha configurado las tarjetas de Red Correctamente ..." echo ""

Configure las tarjetas de Red del los equipos Windows_XP_A y Windows_XP_B con direcciones de segmentos de red diferentes, para este particular el ejemplo tomar como base el direccionamiento establecido en la Figura 7 donde se propone que el quipo A de esncuentre en al segmento de red Interno y el equipo B se encuentre en el segmento de red externo:

Figura 18. Iniciando Maquinas Virtuales

Desde la consola de Red Hat configure la interface eth0 y verifique:

Figura 19. Configuracin de interface eth0

49

Desde la consola de Red Hat ingrese al directorio que contienen los archivos (/proyecto) y ejecute el archivo setup.sh para iniciar el asistente de configuracin de los parmetros iniciales del firewall.

Figura 20. Ejecutando setup.sh

Ingrese correctamente los parmetros solicitados para configurar las direcciones IP del las interfaces interna y externa segn su configuracin; para ste caso se seguir el direccionamiento propuesto en la Figura 7.

Figura 21. Estableciendo direcciones IP para interfaces del Firewall

Luego el script le solicitar la configuracin de una regla para habilitar un servicio de red, para este ejemplo se habilitar el puerto 3389 correspondiente a RDP para permitir el escritorio remoto de Windows de manera tal que permitiremos el paso de este tipo de trfico desde la red red externa al PC llamado Windows_XP_A desde el equipo Windows_XP_B

50

Figura 22. Habilitando Escritorio remoto desde A hacia B

Continuando con la configuracin el script le solicitar ahora el func_code de modbus/TCP que desea que pase a travs del firewall en ambos sentidos; a manera de ejemplo vamos a permitir el func_code=2:

Figura 23. Permitiendo func_code=2 en ambos sentidos

Finalmente el script le permitir configurar el paso de un func_code que para efectos de este ejemplo ser = 3 con el fin de permitir el trafico Modbus/TCP en un solo sentido de manera que solicitara la IP de equipo origen que para este caso ser la del equipo A, el equipo destino que ser el B y por ltimo el func_code.

51

Figura 24. Finalizando configuracin inicial

Para contextualizar al lector, se recuerda que segn la Tabla 5, los cdigos de funcin 2 y 3 corresponden a las funciones Read Input Status y Read Holding Registers respectivamente. A continuacin, ingrese a la mquina donde est ejecutando la distribucin Trinux, esta mquina virtual debe tener tres tarjetas de red virtuales instaladas de manera tal que debe configurara la interface eth2, que ser la que establezca la comunicacin con la consola de administracin (Red Hat) y cuyo direccionamiento sigue el propuesto el a Figura 7.

Figura 25. Configurando interface eth2 en el Firewall

Verifique conectividad entre las dos maquinas virtuales y acceda a la consola Red Hat usando SSH y copie los archivos inicia.sh, reset.sh y finconsola.sh

52

Figura 26. Verificando conectividad con Red Hat y copiando inicia.sh

Realice este mismo procedimiento para los otros dos archivos.

Figura 27. Finalizando copia de Archivos

Continuando en el firewall, ejecute el archivo inicia.sh para cargar la configuraciones establecidas en la consola Red Hat al principio de este procedimiento.

53

Figura 28. Cargando configuracin inicial al Firewall

Por ltimo, si desea cerrar la puerta trasera que constituye la consola, ejecute el archivo finconsola.sh Si su deseo es eliminar todas las reglas del firewall ejecute reset.sh

Figura 29. Cargando configuracin inicial al Firewall

Si desea modificar alguna de las regla configuradas, puede usar el comando iptables directamente en la consola del firewall, sin embargo, la recomendacin es editar desde la consola, el script setup.sh o el script inicia.sh generado por l de manera tal que pueda ser almacenado en la consola y sea posible recuperar las reglas del firewall en caso de reinicio del mismo. Dado que no es del alcance de este proyecto de investigacin cubrir el funcionamiento y configuracin de reglas de filtrado usando iptables, se hace referencia a un compilado de manuales que pueden ayudar en caso de que el

54

lector quiera profundizar en el uso de iptables [24]. Sin embargo, para la implementacin de reglas de este prototipo, las configuraciones son almacenadas en el archivo inicia.sh que se carga al Firewall, dicho script de configuracin se explica en detalle al inicio de este mismo numeral.

[24] http://lucas.hispalinux.es/htmls/manuales.html

55

LISTA DE CHEQUEO PARA VERIFICACIN Y PRUEBAS

Actualmente no existe un protocolo de pruebas establecido para un firewall de una red SCADA, sin embargo dentro de la investigacin realizada se encontr una lista de chequeo general para aseguramiento de redes SCADA[20] que establece algunas pautas que pueden ser verificadas en la implementacin realizada. Es preciso aclarar que algunos de los tems estipulados en la lista de chequeo no hacen referencia especficamente al firewall por tanto no podrn ser incluidos en las pruebas que se ejecutarn para el prototipo implementado. La Tabla 7 muestra la lista de chequeo que se seguir para la realizacin de las pruebas.
Tabla 11. Lista de Chequeo
[25]

SCADA Security Checklist


Company: Konrad Lorenz University Date: Nov - 2010 No 1 2 3 4 5 6 7 8 9 10 11 Activity Identify all connections to SCADA networks Disconnect unnecessary connections to the SCADA network Evaluate and strengthen the security of any remaining connections to the SCADA network Harden SCADA networks by removing or disabling unnecessary services Do not rely on proprietary protocols to protect your system Implement the security features provided by device and system vendors Establish strong controls over any medium that is used as a backdoor into the SCADA network Implement internal and external intrusion detection systems and establish 24hour-a-day incident monitoring Perform technical audits of SCADA devices and networks, and any other connected networks, to identify security concerns Conduct physical security surveys and assess all remote sites connected to the SCADA network to evaluate their security Establish SCADA Red Teams to identify and evaluate possible attack scenarios Status OK OK OK OK OK N/A OK N/A OK N/A N/A

[25]http://www.controlscada.com/scada-security-checklist-freedownload&rurl=translate.google.com&usg=ALkJrhgiDhH1ZozY9THjoQ7u78W

56

12 13 14 15 16 17 18 19 20 21

Clearly define cyber security roles, responsibilities, and authorities for managers, system administrators, and users Document network architecture and identify systems that serve critical functions or contain sensitive information that require additional levels of protection Establish a rigorous, ongoing risk management process Establish a network protection strategy based on the principle of defense-indepth Clearly identify cyber security requirements Establish effective configuration management processes Conduct routine self-assessments Establish system backups and disaster recovery plans Senior organizational leadership should establish expectations for cyber security performance and hold individuals accountable for their performance Establish policies and conduct training to minimize the likelihood that organizational personnel will inadvertently disclose sensitive information regarding SCADA system design, operations, or security controls

N/A OK N/A N/A N/A N/A OK OK N/A N/A

A continuacin se realizarn las posibles pruebas de acuerdo con la lista de chequeo presentada anteriormente. 1. Identificando las conexiones de la red SCADA Se verifican las conexiones configuradas versus las establecidas en el diseo de alto nivel.

Figura 30. Identificando Conexiones de acuerdo con la topologa propuesta.

57

Figura 31. Identificando Conexiones de acuerdo con la configuracin de las interfaces.

2. Desconectando conexiones innecesarias en la red SCADA: Se ejecuta el archivo inicia.sh que elimina todo acceso innecesario.

Figura 32. Ejecutando inicia.sh

3. Evaluando y reforzando los enlaces restantes en la red SCADA: La seguridad de las conexiones se mejora con la ejecucin del archivo inicia.sh ya que slo deja disponibles los puertos y conexiones deseadas. Para probar que el protocolo RDP en el puerto 3389 se encuentra habilitado

58

Figura 33. Probando Protocolo RDP de B hacia A

Probando el estado de otros servicios (ICMP) desde A hacia B y viceversa

Figura 34. Probando Protocolo ICMP en ambos sentidos

4. Fortaleciendo SCADA removiendo o deshabilitando servicios innecesarios Se comprob en el punto anterior a nivel de firewall

59

5. No confe en protocolos propietarios para proteger sus sistema: Se est utilizando protocolo Modbus/TCP que es un protocolo abierto adems de que se est utilizando el firewall de uso libre por tanto se cumple este tem a nivel de firewall 6. Implemente la funcionalidades de seguridad provistas por el dispositivo y el fabricante del sistema Este tem no aplica es este caso ya que no se estn implementando dispositivos reales. 7. Establecer controles estrictos sobre cualquier medio que se utilice como una puerta trasera en la red Para el cumplimento de este tem se debe correr el archivo finconsola.sh con el fin de eliminar las conexiones de puerta trasera que constituye la misma.

Figura 35. Ejecutando el archivo finconsola.sh

Figura 36. Verificando la accesibilidad al firewall desde al consola

60

8. Implementar sistemas de deteccin de intrusos internos y externos de y establecer un seguimiento de incidentes las 24 horas del da. No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. 9. Realizar auditoras tcnicas de los dispositivos de SCADA y redes, y cualquier red conectada otros, para identificar problemas de seguridad Aunque el prototipo implementado no obedece a un sistema en produccin, en este caso se realizarn las pruebas con los generadores de trfico comprobando el estado de las reglas de filtrado configuradas. Para evaluar la seguridad en estas conexiones es necesario descargar e instalar los programas Simply Modbus TCP, mod_RSsim, Modbus Poll e instalarlos en las dos mquinas virtuales configuradas con Windows XP (se recomienda hacer una prueba de conectividad antes de habilitar las reglas del firewall.

Figura 37. Envo de Func Coce = 2 transmitido y otros rechazados

10. Realizar estudios de seguridad fsica y evaluar todos los sitios remotos conectados a la red SCADA para evaluar su seguridad. No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin.

61

11. Establecer Equipos Rojos SCADA para identificar y evaluar posibles escenarios de ataque No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. 12. Definir claramente los roles de seguridad ciberntica, responsabilidades y autoridades para los gerentes, los administradores de sistemas y usuarios No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. 13. Documente la arquitectura de red e identifique los sistemas que cumplen funciones crticas o que contengan informacin sensible que requiere niveles adicionales de proteccin Solo es posible documentar la arquitectura propuesta para el prototipo ya que el proyecto no obedece a un sistema en produccin real. 14. Establecer un proceso riguroso y permanente de gestin de riesgos No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. 15. Establecer una estrategia de proteccin de la red basado en el principio de defensa en profundidad No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin con una arquitectura completa real. 16. Identificar claramente los requisitos de seguridad ciberntica No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. 17. Establecer una gestin eficaz de los procesos de configuracin No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. 18. Llevar a cabo la rutina de auto-evaluacin No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin.

62

19. Establezca un sistema de copias de seguridad y planes de recuperacin de desastres No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. Sin embargo se han establecido copias de seguridad de las maquinas virtuales y los scripts configurados 20. La direccin de la organizacin debe establecer mayores expectativas de rendimiento de la seguridad ciberntica y responsabilizar a los individuos respectivos de su desempeo No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin. 21. Establecer polticas y actividades de entrenamiento para reducir al mnimo la probabilidad de que personal de la organizacin sin darse cuenta divulgue informacin sobre el diseo, operaciones o controles de seguridad del sistema SCADA, No Aplica ya que no el proyecto obedece a la implementacin de un prototipo y no a un sistema en produccin.

63

CONCLUSIONES Y RECOMENDACIONES

A finalizar la implementacin del prototipo de firewall para redes SCADA se puede afirmar que hoy por hoy, es de vital importancia implementar sistemas de seguridad perimetral en las redes modernas y con mayor razn, aquellas que controlan instalaciones o infraestructuras criticas para las naciones, lo anterior ya que en pro de la convergencia, portabilidad e integrabilidad de dispositivos y aplicaciones empresariales, se requiere adoptar el uso de protocolos abiertos como TCP/IP que permitan la comunicacin simultnea y remota de entre todos ellos. Por lo anterior se puede concluir que sobre un protocolo abierto como TCP/IP es viable integrar a la infraestructura de las redes de control, sistemas de seguridad perimetral, esto dado que no slo es posible usar herramientas de software libre con las limitaciones expuestas durante el desarrollo de este proyecto, sino que ya es posible encontrar en al mercado mltiples plataformas de seguridad, orientadas a las redes de automatizacin y control que soportan protocolos abiertos como Modbus/TCP y muchos otros ms para diferentes aplicaciones industriales. En este caso, la recomendacin es implementar plataformas de firewall comerciales y especializadas en redes de este tipo ya que estas son las que en la actualidad se encuentran ms desarrolladas y por tanto mitigan de mejor forma las vulnerabilidades actuales al evolucionar con el paso del tiempo. Aunque la implementacin del prototipo se llev a cavo con xito, son escasos las comunidades de desarrollo que trabajan en este sentido, de la misma manera son limitadas tambin las posibilidades de filtrado para este tipo de trfico dejando slo la posibilidad de realizar filtrado por el cdigo de funcin de los paquetes Modbus/TCP. Se recomienda como alcance de otro proyecto evaluar las diferentes posibilidades de desarrollo del mdulo modbusfw, ya que en la implementacin slo fue posible usar como argumento de filtrado el cdigo de funcin en el paquete de Modbus/TCP, lo anterior dado que no se ha habilitado ni probado este mdulo en un ambiente diferente del de laboratorio; no se encontr registro de ello. De otra parte, las herramientas disponibles para realizar pruebas de trafico con el protocolo Modbus/TCP son restringidas a fabricantes y comunidades especializadas

64

Se puede observar que en Colombia no existe normatividad para la regulacin de los mecanismos de control de los sistemas de automatizacin de las instalaciones e infraestructura critica, as como tampoco existe para el sector pblico. Finalmente, es importante notar que aunque en nuestro pas no existen leyes que regulen la seguridad en sistemas SCADA, si es posible encontrar una serie de documentos de este tipo pertenecientes al Centro para la Proteccin de la Infraestructura Nacional, del gobierno del Reino Unido. All se encuentran varios documentos que cubren la mayora, si no todos los frentes en cuanto a seguridad para redes SCADA respecta. Se trata de una serie de guas de mejores prcticas disponibles al pblico va web[26].

[26] http://www.cpni.gov.uk/ProtectingYourAssets/scada.aspx

65

6 6.1 REFERENCIADA

REFERENCIAS BIBLIOGRFICAS

6.1.1 Libros Electrnicos o Documentos Web [1] http://thertux.wordpress.com/2008/12/25/sistemas-scada-y-seguridad/ [2] http://www.technolead.com/news/index.php?ID=101&SubID=204 [3] http://www.cpni.gov.uk/docs/re-20050223-00157.pdf [4] http://www.oe.netl.doe.gov/docs/prepare/21stepsbooklet.pdf [6]http://www.cisco.com/web/about/ac123/ac147/ac174/ac200/about_cisco_ipj_arc hive_article09186a00800c85ae.html [7]http://www.cisco.com/web/about/ac123/ac147/ac174/ac200/about_cisco_ipj_arc hive_article09186a00800c85ae.html [8]http://www.cisco.com/web/about/ac123/ac147/ac174/ac200/about_cisco_ipj_arc hive_article09186a00800c85ae.html [9] http://www.internetfirewall.org/article/internet-firewall-basics/the-history-offirewalls.html [10]http://www.industrialdefender.com/news/pr/pr2010.11.04_abb_and_industrial_d efender_partnership.php [11] http://www.isecauditors.com/es/iseclab9.html [12] http://sourceforge.net/projects/modbusfw/ [13] http://www.modbustools.com/ [14]http://www.infoplc.net/Documentacion/Docu_Comunicacion/EthernetIndustrial/i nfoPLC_net_Ethernet_Industrial_ModbusTCP_IP.html [15] http://sites.google.com/site/ciefim/investigaci%C3%B3ndescriptiva [16]http://www.dte.upct.es/personal/manuel.jimenez/docencia/GD6_Comunic_Ind/p dfs/Tema%207.pdf [17] http://lakuiji.blogspot.com/ [18] http://www.freemodbus.org/index.php?idx=92 [19] http://www.netfilter.org/ [20] http://www.supvc.com/html/article/2010/0421/342.html [21] http://downloads.vmware.com/d/info/desktop_downloads/vmware_player/3_0 [22] http://l7-filter.sourceforge.net/PacketFlow.png [23] http://plog.longwin.com.tw/news-unix/2007/01/03/netfilter_traversal_2007 [24] http://lucas.hispalinux.es/htmls/manuales.html [25]http://www.controlscada.com/scada-security-checklist-freedownload&rurl=translate.google.com&usg=ALkJrhgiDhH1ZozY9THjoQ7u78W [26] http://www.cpni.gov.uk/ProtectingYourAssets/scada.aspx

66

6.2

CONSULTADA

6.2.1 Publicaciones Escritas INSTITUTO COLOMBIANO DE NORMAS TCNICAS Y CERTIFICACIN, Documentacin. Presentacin de tesis, trabajos de grado y otros trabajos de investigacin. NTC 1486 sexta actualizacin. Bogot, ICONTEC, 2008. 126p. 6.2.2 Libros [5] David Bailey, Edwin Wright. Practical SCADA for Industry. IDC Technologies. 2003. 288 p.

67