CPU Protection, Part II

In addition to my last post where I talked about CPU protection (click here to access), today I will write about how we can detect if protection is enabled on a S7-300. If not, we could connect to the PLC (CPU or communications module), upload the program, and modify it. After this, download it again.

Other actions that could be accomplished are establishing new passwords on FCs, FBs, etc. When a legitimate user would want to access to read or write them, he/she could not do it because would not know the configured password.

S7Scan tool can help us to get this information, CPU Protection. We have to take a look at “Module Protection” section. There, we can see if this is set up. In the figure below, it is not.

Well, what can we do? As I said we could be online and inspect the program, its configuration and upload it.

On the other hand, if “Module Protection” is configured as on the picture below, we will not be able to do it.

A password will be requested in two ways. Firstly, if we want to access to a Block or Function after we are online.

And secondly, if we want to upload the program. See the area where indicates “<introducir contraseña> that means <introduce your password>

This is an example on how these features can help us introducing new controls. Are they all effective as we expect? Well this is another question… During this work I found there is a limitation of eight characters long.

Apart from this, we know that passwords can be cracked by specific software or stored in plain text. Configure a password it is not a silver bullet to protect access. We have to implement other security measures and try to stop an intrusion, deliberate action or similar, before it reaches the objective.

We can not trust the security device by its own features because they could not be as robust as they should be. Industrial components, devices or systems have been designed to be robust, simple, reliable, safe, etc. not secure. Security is relatively new, since attacks have been carried out or vulnerabilities have been discovered and published.

Thanks again, I will see you in the next!

Having said this, I hope you have enjoined this post!

To be continued…

Stay tuned!

CPU Protection, Part I

To alter the normal operation of a system it is necessary to get access. For this reason we have to configure all available features to prevent that unauthorized people or software could carry out any action over them. However, we must not forget that security measures can obstruct the recovery of an equipment if do not define clear processes to get it back if something goes wrong or simply beaks down.

Two years ago, I wrote about some controls over Siemens S7-1200 PLCs. You can access it by clicking here. But today I will talk about other.

One of these features is to configure online control access to PLC CPUs. Not to protect the program and the content stored in it. Why is this important? Because when we connect any device to ethernet networks we are increasing the attack and exposure surface. Accordingly, to that, there are more possibilities to suffer any intentional or unintentional action that could affect to our OT devices.

With this feature we can set up passwords to restrict the access to functions and memory areas. In general, in level 1 hardware configuration can be read and modified by anybody; Level 2, read access do not need any password but if you want to change some parameter you will need to type a password; and finally, Level 3, without a password you cannot modify some several parameters. Obviously in both cases there are conditions and exceptions that you can do. For further information please visit “Virtual Library” and locate the following document named “Security with SIMATIC controllers” in SIEMENS area.

After several years in the Industrial Cybersecurity field, in most cases I have not seen this feature implemented that can be used to hamper unsolicited actions on process controllers. If we do not restrict access to anybody, they could upload the program, modify functions and other parametrizations and download it to the PLC again. After that, who knows what will happen if this occur. Other scenario could be the theft of intellectual property by the third parties that can participate in a project during a commissioning phase.

It does not matter which controller we are using, Siemens, OMRON, B&R, Schneider, or any other. The message is to request, identify or consider if this kind of feature is available and apply it to bring more security, to end devices. Of course, without introducing potential factors that could compromise the normal operation.

We know, there are scenarios where it could be difficult to start up some controls and invest more time to find compensatory measures instead of applying them natively. Obviously, if the device count with it.

In addition to that, keep in mind that a password or any other similar measure, could by cracked, but at least, we have applied one more step to reinforce the Defense in Depth concept that we must implement to protect our industrial environments.

Having said this, I hope you have enjoined this post!

To be continued…

Stay tuned!

 

 

SIEMENS SCALANCE S615, firewall para protección de célula

La seguridad perimetral es, y seguirá siendo, el primero de los requisitos para proteger los entornos industriales. Si no somos capaces de establecer los límites y saber hasta dónde llegan los entornos IT y OT, poco podremos hacer a favor de su seguridad. Para ello la apuesta es el despliegue de NGFW y ejercer así un control hasta Capa 7 para Separar y Segmentar nuestras redes. Pero si lo que necesitamos, o queremos, es ir un paso más allá y bajar a nivel de célula, también podremos hacerlo empleando modelos más pequeños pero adaptados físicamente a situaciones ambientales más hostiles de temperatura, humedad, polvo o campos electromagnéticos. Tal es el caso de modelos como Fortinet Fortigate Rugged30D, 35D, 60D y 90D; CheckPoint 1200R o Palo Alto 220R

Sin embargo, puede haber escenarios en los que este grado de protección a bajo nivel no pueda o no tenga porqué alcanzarse.

Por un lado, hay que tener en cuenta un que las actualizaciones de las firmas Antivirus, Control de Aplicación, IDS/IPS, Filtrado Web hay que renovarlas asumiendo un coste mayor o menor dependiendo el número de equipos o el período de soporte contratado. Y por otro, que cada organización determinará el grado de riesgo asumible en función de su actividad. Por lo que podrá aceptar que no es aceptable tal inversión, dando por buena una protección hasta Capa 4 implementando en firewalls superiores los citados controles.

No nos podemos olvidar que cada proyecto lleva aparejado un consumo de recursos, tanto de tiempo, personal y dinero. Dicho de otra manera, ¿cuánto tiempo necesito? ¿Cuántos profesionales me hacen falta? Y … ¿Cuánto me va a costar? Y en este sentido, no solamente en el momento del despliegue sino en los años sucesivos.

Cada organización es única, con lo que arquitecturas, sistemas, procesos, riesgos, amenazas, vulnerabilidades entre otros factores deben ser tratados de forma individual.

Por tanto, por muy buenas y que sean las medidas, y las propuestas sean de máximos, puede haber muchos condicionantes que nos hagan reducir nuestras pretensiones y no ir a propuestas de máximos. Por tanto, deberemos buscar una vez más alternativas y aproximaciones distintas.

En este sentido los fabricantes de equipos industriales disponen de productos de networking para una u otra función. Tal es el caso del equipo SIEMENS Scalance S615

Se trata de un Router/Firewall de pequeño tamaño con el que podremos crear hasta un total de 128 reglas de filtrado en Capa 4 y con el que podremos apoyarnos para realizar un filtrado de las comunicaciones. Posee un diseño pequeño, para equipos individuales o un conjunto reducido de ellos, pudiéndose instalar como es lógico, sobre carril DIN para un montaje próximo al equipo final.

Permite ser alimentado por doble fuente de alimentación a 24VDC, mientras que sus 5 puertos RJ45 nos permiten conectar distintos equipos a nivel de célula un rango de operación de -40º a 70º C. La protección ambiental está situada en IP20.

Ya dentro de las funcionalidades de filtrado (de tipo “Stateful Inspection”) si bien no tendría mucho sentido hacerlo, podremos deshabilitar la funcionalidad de cortafuegos.

Luego dentro del mismo menú podremos definir Servicios IP, Protocolos a nivel de capa 3 e incluso establecer el tipo y código permitidos por ICMP.

La definición de servicios lo encontraremos en la pestaña “IP Service”, desde donde luego los encontraremos como veremos en las reglas a configurar.

Las reglas las configuraremos en la pestaña “IP Rules”. En cuanto a las acciones podremos elegir entre Permitir, denegar o denegar sin enviar ninguna notificación al emisor.

Adicionalmente a las IPs origen y destino, podremos definir las interfaces de entrada y salida para luego completarlas con los servicios.

Para cada una de ellas podremos indicar si queremos registrar algún tipo de log y su respectiva categorización en caso de “machee” con alguna de las reglas configuradas. En nosotros estará definir qué es más o menos importante.

Luego en otro de los menús podremos visualizarlos.

En este sentido conviene mencionar la posibilidad de enviarlos a un servidor Syslog para poderlos consolidad junto con los de otros equipos. Esto cobra especial importancia si contamos con un sistema de correlación SIEM con el que podremos detectar anomalías de forma conjunta y contextualizada.

Como podemos apreciar se trata de un cortafuegos con capacidades reducidas, y con limitaciones en comparación productos de fabricantes especializados. No obstante, puede ser un buen recurso como apoyo a otros con las funcionalidades y motores de análisis necesarios para garantizar unos niveles de protección acordes a las amenazas de hoy en día.

Tal es el caso de la protección PLCs, RTU´s como se puede apreciar en la imagen siguiente.

Hasta aquí la presentación de este equipo, que aunque sencillo, puede ayudarnos a mejorar los controles de acceso a equipos finales.

¡Nos vemos en la próxima!

Un saludo.