Cybersecure REST API for Manufacturing Execution Systems

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorBoyadzhiev, Dimitar
dc.contributor.authorLönnbäck, Otto
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorLindqvist, Janne
dc.date.accessioned2023-01-29T18:06:34Z
dc.date.available2023-01-29T18:06:34Z
dc.date.issued2023-01-23
dc.description.abstractLegacy 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.en
dc.description.abstractÄ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.sv
dc.format.extent56
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/119381
dc.identifier.urnURN:NBN:fi:aalto-202301291731
dc.language.isoenen
dc.programmeMaster’s Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorComputer Sciencefi
dc.programme.mcodeSCI3042fi
dc.subject.keywordAPI securityen
dc.subject.keywordREST APIen
dc.subject.keywordmodel-driven developmenten
dc.subject.keywordmodel-driven securityen
dc.subject.keywordOpenAPIen
dc.subject.keywordlegacy systemsen
dc.titleCybersecure REST API for Manufacturing Execution Systemsen
dc.titleCybersäkert REST API för produktionsstyrningssystemsv
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
master_Lönnbäck_Otto_2023.pdf
Size:
617.64 KB
Format:
Adobe Portable Document Format