Cybersecure REST API for Manufacturing Execution Systems

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2023-01-23

Department

Major/Subject

Computer Science

Mcode

SCI3042

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

56

Series

Abstract

Legacy systems are still in widespread use, especially in corporate settings and factories. They often use proprietary communication protocols, making it harder to integrate them with new software and third-party applications. Implementing REST APIs for such systems can improve their interoperability and ease of use. When implementing new APIs for legacy systems security is of particular concern. This thesis investigates the security considerations of building a REST API for a legacy system. It does this in the form of a case-study of the development of a secure REST API backend for a Manufacturing Execution System. The thesis investigates how the REST API can be implemented in a secure manner, and which security aspects have to be considered. It also investigates special security considerations for legacy systems. The legacy system in question relies heavily on logic running in the database, which led to a focus on an API that directly interfaces with the database. This choice in turn put a focus on proper validation and authorization procedures. For interoperability, some security relevant systems, such as authentication, were made compatible with the legacy system. For implementing the API a model-driven development approach is used, where the meta-model is based on the OpenAPI Specification (OAS). The meta-model is highly domain-specific in order to incorporate aspects such as authorization and validation. It is based around the concept of database tables and rows being modeled as REST resources. In addition to this, traditional non-model-driven solutions are also used for some security related functionality. The resulting implementation was found to be secure, but there were cases where more secure options than those implemented were available. Particularly, compatibility with the legacy systems required some compromises and special considerations. The use of model-driven development was found to improve the security of the API backend.

Äldre system används fortfarande i stor utsträckning, speciellt inom företag och i fabriker. De använder ofta proprietära kommunikationsprotokoll, vilket gör det svårare att integrera dem med ny mjukvara och program från tredje parter. Att implementera ett REST API för sådana system kan förbättra deras interoperabilitet och lättanvändlighet. När man implementerar nya gränssnitt för befintliga system är speciellt säkerheten en viktig angelägenhet. Det här diplomarbetet undersöker de säkerhetsangelägenheter som bör tas i beaktande vid utvecklingen av ett REST API för ett befintligt system. Detta uppnås genom en fallanalys om utvecklingen av ett säkert REST API för ett produktionsstyrningssystem. Arbetet undersöker hur ett REST API kan implementeras på ett säkert sätt, samt vilka säkerhetsaspekter som behöver tas i beaktan. Det undersöker också vilka specialbeaktanden rörande säkerheten som behövs för ett befintligt system. Det befintliga systemet i fråga beror kraftigt på logik som körs i databasen, vilket ledde till ett fokus på ett gränssnitt som direkt kommunicerar med databasen. Det här valet ledde i förlängningen till ett fokus på korrekta validerings- och aktoriseringsprocedurer. För att bibehålla kompitabiliteten med det befintliga systemet var man tvungen att återanvända vissa existerande system, till exempel för autentikering. För att implementera API:t används modelldriven utveckling, där metamodellen är baserad på OpenAPI Specification (OAS). Metamodellen är väldigt domänspecifik för att inkorporera aspekter såsom validering och auktorisering. Den är baserad kring konceptet att databasens tabeller och rader modelleras som REST-resurser. Utöver detta används även traditionella ickemodelldrivna lösningar för att implementera viss säkerhetsrelaterad funktionalitet. Den resulterande implementeringen befanns i allmänhet vara säker, men det fanns vissa fall där mer säkra alternativ än de implementerade fanns tillgängliga. I synnerhet kompitabiliteten med det befintliga systemet krävde vissa kompromisser och speciallösningar. Användningen av modelldriven utveckling befanns förbättra systemets säkerhet.

Description

Supervisor

Lindqvist, Janne

Thesis advisor

Boyadzhiev, Dimitar

Keywords

API security, REST API, model-driven development, model-driven security, OpenAPI, legacy systems

Other note

Citation