Cybersecure REST API for Manufacturing Execution Systems

Loading...
Thumbnail Image
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