Remote Training in Cybersecurity for ICS

This is a summary of a very interesting paper for a proposed framework for ICS Cybersecurity remote training: https://www.sciencedirect.com/science/article/pii/S2405896322015427, especially with the move towards remote training with the COVID-19 pandemic still around the corner.

This summary is divided into 4 sections; An introduction, description of the proposed platform, Education experience and results from the proposed framework and eventually a conclusion.

Introduction

Cybersecurity is a key subject for digital transformation where institutional, industrial, and educational sectors should be involved in a coordinated way. Currently, there is a lack of workforce with essential competences to apply secure solutions in an industrial environment. For that reason, to address this increasing demand, universities promote ICS courses and related programs. In this work, a platform for remote training in cybersecurity is proposed using cabinets that include specific elements for automation and control as well as additional resources for administration and communication tasks. The platform was used to conduct two training courses and the feedback was mostly positive.

Proposed Platform

The IoT ULE-Schneider Electric Technological Classroom is being used for delivering the training. This classroom is composed of 10 control cabinets whose design follows a prototype developed by the researchers of the SUPPRESS research group. It comprises 4 subsystems: Field, Industrial Control and Supervision, Electric Management, and Communications. Physical devices and Hyper-V virtual machines were both utilized. A physical central server was used for providing an LMS, remote access management and administrative utilities. In addition, a PC was hooked up to each cabinet for software administration, including managing traffic, access management, PLC programming and HMI configuration, and monitoring traffic. Each student can remotely access an independent physical computer and is redirected to the assigned workstation after login. To avoid loss of connection to the cabinet, the architecture isolates the practice networks from the management one to be able to re-establish the systems in case of failure.

Educational Experience and Results

Two introductory, eminently practical, courses were developed using the proposed platform with generic ICS security topics as well as securing its communication networks. They are designed for educators with strong backgrounds in ICS and cybersecurity. Learning outcomes ranged from engineering technical perspectives such as utilizing vulnerability scanners and sniffing networks, to network design, security policies design and risk management. Both courses were provided in 2021 remotely, where the instructors had fully-fledged video conferencing with the students and remote access to stations. Materials included step-by-step hands-on exercises through the LMS, and all the students shared the same configuration for each task, regardless of which cabinet they are connected to.

Eventually, a questionnaire was handed out to the trainees to evaluate the effectiveness of the training and gain valuable feedback regarding the lab structure, quality of remote operation and their perception of the improvement in the learning process using the platform’s equipment. The results came back mostly positive in all the three sections.

Conclusion

An educational platform for remote training in industrial cybersecurity is developed. The architecture is composed of several functional blocks. The proposed platform has been used for training of professional educators in two eminently practical courses that addressed the security of ICS and communication networks. The students had the chance to work with key technologies for secure configuration of industrial hardware and software, as well as other technologies such as vulnerability assessment and IDS. In this sense, the proposed approach can be considered successful as an ICS training platform.

Posted in Linux | Tagged , , , , , | Leave a comment

How to mount a Windows share inside a Docker container

Let’s assume that you had a windows share and you needed to be able to access that share from within one of your containers, here are the steps that you need to follow:

First of all, create a docker volume that mounts that Windows share:

docker volume create --driver local --opt type=cifs --opt o=username={user},password={password},uid=0,gid=0,vers=3.0 --opt device=//{IP}/{Folder} my_windows_share

Where:

  1. We used uid=0 and gid=0 since the root user is being used inside the container
  2. cifs 3.0 was used to mount that Windows share, which was a Windows 11 in my tests
  3. my_windows_share is the name of the volume mapped to the Windows share

Eventually, you just run any container you want and map it to that volume:

docker run -it -v my_windows_share:/{target_folder_inside_container} {image_name}

As an example for both commands:

docker volume create --driver local --opt type=cifs --opt o=username=User,password=TY321,uid=0,gid=0,vers=3.0 --opt device=//10.0.0.129/Users my_windows_share

docker run -it -v my_windows_share:/windows_share ubuntu:latest

That’s it, Enjoy!

Sources:

Posted in docker, Windows | Tagged , , | Leave a comment

How to change keyboard layout on Ubuntu Linux server

So, I have some Linux servers with default keyboard set to Italian, which is totally different from the US one when it comes to special characters.

There are multiple ways to do it, but the fastest and easiest one I could find is the following:

sudo loadkeys us

That’s it! Enjoy!

Posted in Linux, Ubuntu | Tagged , , , | Leave a comment

How to add a static route to force specific traffic to go through a specific NIC

route -p add 10.152.212.0 mask 255.255.255.0 10.224.5.1

This will permanently (-p) add a static route so that any request going to an IP in the 10.152.212.0/24 (255.255.255.0) network goes through the network gateway 10.224.5.1 of the other network card

In case you need only one specifc IP, use the exact IP instead of 10.152.212.0 and change the mask to 255.255.255.255 or remove it completely, e.g.

route -p add 10.152.212.5 mask 255.255.255.255 10.224.5.1

Notes:

  • To delete a route, use the command route delete
  • To avoid making it permanent, remove the -p

That’s it, Enjoy!

Sources:

https://www.howtogeek.com/22/adding-a-tcpip-route-to-the-windows-routing-table/

Posted in Windows | Tagged , | Leave a comment

How to convert vmware vmdk disks to a different format using vmware workstation

From inside “C:\Program Files (x86)\VMware\VMware Workstation” (Windows default installation location), or wherever your installation is on Linux or Windows:

vmware-vdiskmanager.exe -r 'source.vmdk' -t 5 'destination.vmdk_stream.vmdk'

‘-t 5’ is where you specify the stream-optimized format for example, here are all available types:

0 : single growable virtual disk
1 : growable virtual disk split into multiple files
2 : preallocated virtual disk
3 : preallocated virtual disk split into multiple files
4 : preallocated ESX-type virtual disk
5 : compressed disk optimized for streaming
6 : thin provisioned virtual disk – ESX 3.x and above

Enjoy!

Posted in vmware | Tagged , , , | Leave a comment