DE102021114574A1 - Computer programm trust assurance für internet der dinge (iot) devices - Google Patents

Computer programm trust assurance für internet der dinge (iot) devices Download PDF

Info

Publication number
DE102021114574A1
DE102021114574A1 DE102021114574.0A DE102021114574A DE102021114574A1 DE 102021114574 A1 DE102021114574 A1 DE 102021114574A1 DE 102021114574 A DE102021114574 A DE 102021114574A DE 102021114574 A1 DE102021114574 A1 DE 102021114574A1
Authority
DE
Germany
Prior art keywords
computer program
fingerprint
iot
iot device
binary form
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021114574.0A
Other languages
English (en)
Inventor
Jenny Rainbird
Alexander Papageorgiou
Konstantinos Loupos
Patrick J. O'Sullivan
Antonios Mygiakis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inlecom Systems Ltd
Original Assignee
Inlecom Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inlecom Systems Ltd filed Critical Inlecom Systems Ltd
Publication of DE102021114574A1 publication Critical patent/DE102021114574A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Eine Methode für die Vertrauenssicherung auf Computerprogramm-Quellebene in einem Internet der Dinge (loT)-Gerät umfasst den Empfang einer Anforderung zur Installation eines Computerprogramms in einem IoT-Gerät und das Speichern einer Datei, die eine binäre Form des Computerprogramms und einen Authentizitätsfingerabdruck enthält, der als Teil der binären Form des Computerprogramms enthalten ist, im temporären Speicher. Die Methode umfasst zusätzlich das Extrahieren des Authentizitäts-Fingerabdrucks aus der binären Form des Computerprogramms, das Abrufen eines anderen Fingerabdrucks aus der Fernspeicherung und den Vergleich des verschiedenen Fingerabdrucks mit dem extrahierten Fingerabdruck. Schließlich umfasst die Methode die Installation des Computerprogramms in das IoT-Gerät als Reaktion auf den Vergleich, der angibt, dass der extrahierte Fingerabdruck mit dem verschiedenen Fingerabdruck identisch ist, aber ansonsten die Anforderung zur Installation des Computerprogramms ablehnt.

Description

  • HINTERGRUND DER ERFINDUNG
  • Bereich der Erfindung
  • Die vorliegende Erfindung betrifft den Bereich internet of Things (IoT) und insbesondere die Sicherung von loT-Geräten.
  • Beschreibung der verwandten Kunst
  • IoT bezieht sich auf ein riesiges Netz von vernetzten Geräten über das globale Internet durch die Instrumentierung und verbindenibility von gewöhnlichen Maschinen und Geräten von Toastern bis hin zu Automobilen. Buchstäblich alles, was ein- oder ausgeschaltet werden kann, einmal für IoT-Genehmigungen instrumentiert, ein- oder zweiwegige Interaktionen über das Internet. Diese Interaktionen können von der bloßen Meldung eines Status eines Sensors, z. B. eines gewöhnlichen Werts, bis hin zum Empfang von Direktiven reichen, die ein IoT-fähiges Gerät effektiv aus der Ferne betreiben. Während die Vorteile des loT-Aktivierens einer Maschine erheblich sind, sind diese Vorteile mit Kosten verbunden - die Schaffung einer Sicherheitslücke in der Maschine. Im Allgemeinen enthalten IoT-fähige Geräte ein eingebettetes Computersystem eines Prozessors, Speicher, persistenten Speichers und eines Betriebssystems, über das ein oder mehrere Computerprogramme ausgeführt werden können. In vielen Fällen muss ein IoT-fähiges Gerät jedoch kein Betriebssystementhalten. Vielmehr enthält das IoT-fähige Gerät in einigen Fällen nur Firmware, die beim Bootstrap belastbar ist, um Funktionen auszuführen ohne danach ein Betriebssystem zu laden.
  • In dieser Hinsicht ist ein eigenständiges Gerät oder eine eigenständige Maschine mit Sensor als eigenständige Einheit zum größten Teil unempfindlich gegen Fernbedrohungen. Doch genau wie jeder andere verbundene PC wird ein für IoT konfiguriertes Gerät oder Computer anfällig für Remote-Bedrohungen, einschließlich Netzwerkeingriffen. In dieser Hinsicht ist ein IoT-Gerät, wie andere Geräte, in der Lage, eine Verletzung seiner Integrität zu erkennen und abzuschrecken, indem es die Einführung von Code in den Speicher des IoT-Geräts überwacht, um bösartigen Code zu erkennen. Aber, die Programmlogik in der Lage, in der Regel is als Teil des zugrunde liegenden Betriebssystems enthalten zu tun, oder als Teil eines Computerprogramms, das unter Verwaltung durch das Betriebssystem ausgeführt. Folglich kann bösartiger Code,der vor dem Laden des Betriebssystems - nämlich der Firmware- heimlich in dasIoT-Gerät eingefügt wird, die Erkennung durchBetriebssystem- oder Gegenmaßnahmen auf Systemebene vermeiden.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Verkörperungen der vorliegenden Erfindung beheben Mängel des Standes in Bezug auf die IoT-Gerätesicherheit und stellen ein neuartiges und nicht offensichtliches Verfahren, System- und Computerprogrammprodukt für die Vertrauenssicherung des Computerprogramms in einer IoT-Vorrichtungdar. In einer Ausführungsform der Erfindung umfasst ein Verfahren zur Vertrauenssicherung des Computerprogramms in einem IoT-Gerät den Empfang einer Anforderung, ein Computerprogramm in einem IoT-Gerät zu installieren, und das Speichern einer Datei, die eine binäre Form des Computerprogramms und einennAuthentizitätsfingerabdruck enthält, die in die binäre Form des Computerprogramms integriert sind, im temporären Speicher. Die Methode umfasst zusätzlich das Extrahieren des Authentizitäts-Fingerabdrucks aus der Datei und das Abrufen eines anderen Fingerabdrucks aus dem Remote-Speicher. Die Methode umfasst noch einen Vergleich des extrahierten Fingerabdrucks mit dem abgerufenen Fingerabdruck. Schließlich umfasst die Methode die Installation des Computerprogramms in das IoT-Gerät als Reaktion auf den Vergleich, der angibt, dass der extrahierte Fingerabdruck mit dem verschiedenen Fingerabdruck identisch ist,aber ansonsten die Anforderung zur Installation des Computerprogramms ablehnt.
  • In einem Aspekt der Ausführungsform enthält der extrahierte Fingerabdruck Daten, die während der Kompilierung des Computerprogramms von einem Compiler des Computerprogramms generiert wurden. Die Daten können z. B. Parameter für die Durchführung des Kompilierungsprozesses, eine Reihe von Compilerfehlern oder Compilerwarnungen, die während der Kompilierung generiert wurden, eine Anzahl von Variablen eines bestimmten Typs, die für einen Teil des Computerprogramms deklariert wurden, einen Zeitstempel, wenn die Kompilierung initiiert oder abgeschlossen wurde, eine Anzahl von Sekunden, die während der Kompilierung verbraucht wurden, oder eine Identität eines Entwicklers, der für die Kompilierung verantwortlich ist, um nur einige Beispiele zu nennen..
  • In einem anderen Aspekt der Ausführungsform wird der temporäre Speicher innerhalb des IoT-Gerätsangeordnet. In einem weiteren Aspekt der Ausführungsform hat das Computerprogramm eine damit zusammengestellte Bibliothek. Der Bibliothek enthaltenes eine Funktion, die während der Kompilierung sammelt mindestens eine Kompilierung Kontextwert und speichert den Kontextwert innerhalb der binären Form, während auch die Generierung eines separaten Fingerabdrucks außerhalb der binären Form und speichern Sie den separaten Fingerabdruck in Remote-Speicher, wie innerhalb eines Blocks in einer Blockchain. Optional ist der Kontextwert eine Registrierungsnummer eines Entwicklers des Computerprogramms, die einem elektronischen Lebenslauf des Entwicklers entspricht.
  • In einer weiteren Ausführungsform der Erfindung wird ein Datenverarbeitungssystem für die Vertrauenssicherung des Computerprogramms in einem IoT-Gerät konfiguriert. Das System enthält Speicher und mindestens einen Prozessor und ein Vertrauenssicherungsmodul, das Anweisungen zum Computerprogramm enthält. Die Anweisungen werden bei der Ausführung im Speicher durch mindestens einen Prozessor aktiviert, um eine Anforderung zur Installation eines Computerprogramms in einem IoT-Gerät zu empfangen und im temporären Speicher eine Datei zu speichern, die eine binäre Form des Computerprogramms und einennAuthentizitätsfingerabdruck enthält, der als Teil der binären Form des Computerprogramms enthalten ist. Die Programmanweisungen sind auch aktiviert, um die Authentizität Fingerabdruck aus der Datei zu extrahieren und aus dem Remote-Speicher, einen anderen Fingerabdruck abrufen. Die Programmanweisungen sind noch einmal aktiviert, um den abgerufenen Fingerabdruck und den extrahierten Fingerabdruck zu vergleichen. Schließlich werden die Programmanweisungen aktiviert, um das Computerprogramm in das IoT-Gerät einzubauen, das auf den Vergleich reagiert, was darauf hinweist, dass die Fingerabdrücke identisch sind,aber ansonsten die Anforderung zur Installation des Computerprogramms abgelehnt wird.
  • Zusätzliche Aspekte der Erfindung werden teilweise in der folgenden Beschreibung dargelegt und werden zum Teil aus der Beschreibung ersichtlich sein oder durch die Praxis der Erfindung erlernt werden können. Die Aspekte der Erfindung werden durch die in den beigefügten Ansprüchen besonders hervorgehobenen Elemente und Kombinationen verwirklicht und erreicht. Es ist davon auszugehen, dass sowohl die vorstehenden allgemeinen Beschreibungals als auch die nachfolgende ausführliche Beschreibung beispielhaft und nur erläuternd sind und die Erfindung nicht einschränken, wie behauptet.
  • Figurenliste
  • Die begleitenden Zeichnungen, die in diese Spezifikation aufgenommen sind und Bestandteil dieser Spezifikation sind, veranschaulichen Ausführungsformen der Erfindung und dienen zusammen mit der Beschreibung dazu, die Grundsätze der Erfindung zu erläutern. Die hier dargestellten Ausführungsformen sind derzeit bevorzugt, wobei jedoch davon auszugehen ist, dass die Erfindung nicht auf die genauen Anordnungen und gegebenen Instrumente beschränkt ist, wobei:
    • ist eine bildliche Darstellung eines Prozesses zur Vertrauenssicherung von Computerprogrammdateien in einem IoT-Gerät;
    • ist eine schematische Darstellung eines Datenverarbeitungssystems, das für die Vertrauenssicherung von Computerprogrammdateien in einem IoT-Gerät konfiguriert ist. Und
    • ist ein Flussdiagramm, das einen Prozess zur Vertrauenssicherung von Computerprogrammdateien in einem IoT-Gerät veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Erfindungsgemäße Ausführungsformen sehen eine Vertrauenssicherung des Computerprogramms in einem IoT-Gerät vor. In Übereinstimmung mit einer Ausführungsform der Erfindung enthält ein Computerprogramm, das für die Bereitstellung auf einem IoT-Gerät vorgesehen ist, Kompilierungszeit-Metadaten innerhalb des Computerprogramms und speichert gleichzeitig die Kompilierzeit-Metadaten im Remotespeicher. Optional ist die Funktion als Teil einer Bibliothek enthalten, die mit einem kompilierten Objekt des Computerprogramms verknüpft ist, um eine ausführbare Form des Computerprogramms zu erzeugen. Auch bei der Zusammenstellung und Verknüpfung des Computerprogramms werden die Kompilierungsdaten emittiert, so dass die Metadaten dann an den Remote-Speicher übertragen und anschließend verwendet werden können, um die Authentizität des Computerprogramms zu testen, indem die emittierten Daten mit den im Computerprogramm selbst gespeichertenverglichenwerden. Auf diese Weise kann das IoT-Gerät durch eine authentische und sichere Bereitstellung des Computerprogramms ohne unbekannte Manipulationen gewährleistet werden.
  • In der weiteren Abbildungzeigt Abbildung leinen Prozess zur Vertrauenssicherung von Computerprogrammdateien in einem IoT-Gerät. Wie in gezeigt, enthält ein Computerprogramm 100 Quellcode, der einen Einstiegspunkt 100A in das Computerprogramm definiert, und eine oder mehrere verschiedene Funktionen 100B. Eine Vertrauenssicherungsbibliothek 110 wiederum bietet eine Kompilierungszeitfunktion 110A und Sicherungsdaten 110B. In diesem Zusammenhang enthält die Kompilierungszeitfunktion 110A Programmanweisungen, die während der Kompilierungszeit angepasst wurden, um Metadaten zur Kompilierung des Computerprogramms 100 in ein kompiliertes IoT-Objekt 130 zu erfassen und die erfassten Metadaten als Sicherungsdaten 110B in ein daraus resultierendes kompiliertes Trust Assurance Library Objekt 140zu schreiben. Die Kompilierungszeitfunktion 110A gibt zusätzlich zur Kompilierungszeit eine Kopie der Sicherungsdaten 110 B für Dener-Speicher aus, die sowohl vom ioT-Programm kompilierten Objekt 130 als auch vom kompilierten Bibliotheksobjekt 140 innerhalb eines Blocks einer Blockchain 180 an einem bestimmten, netzwerkadressierbaren Ortgetrenntsind.
  • Ein Linker 150 verknüpft dann das kompilierte loT-Objekt 130 und das kompilierte Trust Assurance Library-Objekt 140, um eine ausführbare Anwendung 190 zu erstellen, die die Sicherungsdaten 110B als Authentizitäts-Fingerabdruck enthält. Danach werden auf eine Anfrage 160, die ausführbare Anwendung 190 auf einem IoT-Gerät 170 zu installieren, die Sicherungsdaten 110B aus der ausführbaren Anwendung 190 extrahiert und die ferngespeicherten Sicherungsdaten 110C aus der Blockchain 180 an der Netzwerkadresse zum Vergleich mit den extrahierten Sicherheitsdaten 110B abgerufen werden. Soweit die Vergleichsoperation 195, die auf den Sicherungsdaten 110C der Blockchain 180 und den aus der ausführbaren Anwendung 190 extrahierten Sicherungsdaten 110B arbeitet, eine Übereinstimmung erzeugt, wird eine Zuverlässigkeitserklärung zurückgegeben-- ein zulässiger Build der ausführbaren Anwendung 190, aber ansonsten wird ein Hinweis auf einen Fehler zurückgegeben.
  • Der in Verbindung mit beschriebene Prozess kann in einem Computerdatenverarbeitungssystem implementiert werden. In der weiteren Abbildungzeigt Datenverarbeitungssystem, das für die Vertrauenssicherung von Computerprogrammdateien in einem IoT-Gerätkonfiguriertist. Das System umfasst ein IoT-fähiges Gerät 200, das einen Prozessor 220, Speicher 230, Festspeicher 240, drahtlose Kommunikation 250 und Firmware 270 enthält. Das IoT-fähige Gerät 200 ist kommunikativ über das Computerkommunikationsnetzwerk 260 an einen Remoteserver 210 gekoppelt. Der Remoteserver 210 enthält einen Compiler/Linker 290, der auf dem Remoteserver 210 ausgeführt wird und zum Kompilieren des Quellcodes 285 und einer Vertrauenssicherungsbibliothek 280 in die jeweiligen Programmobjekte und zur Verknüpfung dieser Objekte in ein Computerprogramm für die Bereitstellung im loT-fähigen Gerät 200 als Firmware 270 ausgeführt werden kann.
  • In diesem Zusammenhang können bei der Zusammenstellung der Vertrauenssicherungsbibliothek 280 durch den Compiler/Linker 290 Metadaten gleichzeitig mit der Zusammenstellung der Vertrauenssicherungsbibliothek 280 und des Quellcodes 285 ausgewählt und als Authentizitäts-Fingerabdruck, der Vertrauenssicherungsdaten reflektiert, in das resultierende Computerprogramm integriert werden. Beispielhafte Metadaten umfassen einen Registerstatus zum Zeitpunkt der Kompilierung, eine Anzahl von Zeilen des Quellcodes 285, eine Tageszeit und das Datum der Kompilierung, eine Identität eines Entwicklers des Quellcodes 285, eine Reihe von Compilerwarnungen, die während der Kompilierung generiert wurden, oder einen Hashwert eines Teils oder des gesamten Quellcodes 285, um nur einige Beispiele zu nennen. Außerdem können die Metadaten während der Kompilierung in eine Textdatei emittiert werden, die von der resultierenden kompilierten Form der Vertrauenssicherungsbibliothek 280 und dem Quellcode 285 getrennt ist und aus der Ferne in einem Block 275 einer Blockchain gespeichertist, auf die unter einer angegebenen Netzwerkadresse zugegriffen werdenkann
  • Bemerkenswert ist, dass das System auch ein Vertrauenssicherungsmodul 300 auf Quellebene enthält. Das Vertrauenssicherungsmodul 300 für die Vertrauenssicherung des Moduls auf Quellebene enthält Anweisungen für Computerprogramme, die während der Ausführung durch den Remoteserver 210 oder optional während der Ausführung durch den Prozessor 220 des IoT-fähigen Geräts 200 ausgeführt werden können, um eine Anforderung zur Installation eines Computerprogramms als Firmware 270 des IoT-fähigen Geräts 200 zu erhalten. Die Programmanweisungen sind aktiviert, um auf die Anfrage zu reagieren, indem sie daraus den Authentizitäts-Fingerabdruck extrahieren, der auf die Vertrauenssicherungsdaten hinweist, und einen Entferntabfingerabdruck von einer angegebenen Adresse im Block 275 abzurufen. Die Programmanweisungen werden noch weiter aktiviert, um den extrahierten Fingerabdruck mit dem abgerufenen Fingerabdruck zu vergleichen, um festzustellen, ob die Sicherheitsdaten des extrahierten Fingerabdrucks mit den im abgerufenen Fingerabdruck gespeicherten Metadaten übereinstimmen. Die Programmanweisungen werden noch weiter aktiviert, um die Installation des Computerprogramms als Firmware 270 unter der Bedingung zu verweigern, dass die Sicherheitsdaten des aus der Firmware 270 extrahierten Authentizitäts-Fingerabdrucks nicht mit den im abgerufenen Fingerabdruck gespeicherten Metadaten übereinstimmen.
  • In einer noch weiteren Darstellung des Betriebs des Vertrauenssicherungsmoduls 300 auf Quellebene ist ein Flussdiagramm, das einen Prozess zur Vertrauenssicherung von Computerprogrammen in einem IoT-Gerät veranschaulicht. Ab Block 310 wird eine Anforderung zur Installation der Firmware auf einem IoT-Gerätempfangen. In Block 320 wird eine Adresse mit der Anfrage empfangen und verwendet, um von einem Block auf der Blockchain, einem aus der Ferne angeordneten Fingerabdruck, zu retreieren. In Block 330 befindet sich eine Entwicklerkennung in den Sicherungsdaten des abgerufenen Fingerabdrucks und in Block 340 wird eine Internetabfrage in Korrespondenz mit der Entwicklerkennung ausgegeben, um einen Entwicklerlebenslauf abzurufen, der den Entwickler identifiziert, und eine veröffentlichte Bewertung für den Entwickler. In Block 350 sind Entwickler und Bewertung in einer Eingabeaufforderung für eine Benutzeroberfläche des Vertrauenssicherungsmoduls auf Quellebene enthalten.
  • In Entscheidungsblock 360 wird bestimmt, ob der Versuch, die Firmware in Bezug auf den Entwickler wieder in Bezug auf die Aufforderung bereitzustellen, fortgesetzt wird oder nicht. Ist dies nicht der Fall, wird die Anforderung zur Bereitstellung der Firmware in Block 410 abgelehnt. Aber ansonsten wird in Block 370 ein Authentizitäts-Fingerabdruck aus der Firmware selbst extrahiert. Dann, in Block 380, wird der extrahierte Fingerabdruck mit dem Fingerabdruck verglichen, der aus dem Block auf der Blockchain abgerufen wird. Im Entscheidungsblock 390 wird ermittelt, ob eine Übereinstimmung zurückgegeben wird. Wenn ja, wird in Block 400 die Firmware auf dem IoT-Gerätinstalliert. Aber ansonsten wird die Installation in Block 410 abgelehnt.
  • Die vorliegende Erfindung kann innerhalb eines Systems, eines Verfahrens, eines Computerprogrammprodukts oder einer beliebigen Kombination davon verkörpert werden. Das Produkt des Computerprogramms kann ein computerlesbares Speichermedium oder Medien mit computerlesbaren Programmanweisungen enthalten, die einen Prozessor dazu veranlassen, Aspekte der vorliegenden Erfindung auszuführen. Das auf dem Computer lesbare Speichermedium kann ein greifbares Gerät sein, das Anweisungen für die Verwendung durch ein Anweisungsausführungsgerät aufbewahren und speichern kann. Das computerlesbare Speichermedium kann z. B. ein elektronisches Speichergerät, ein magnetisches Speichergerät, ein optisches Speichergerät, ein elektromagnetisches Speichergerät, ein Halbleiterspeichergerät oder eine geeignete Kombination des Vorstehenden sein.
  • Die hier beschriebenen computerlesbaren Programmanweisungen können über ein Netzwerk auf die jeweiligen Computer-/Verarbeitungsgeräte von einem computerlesbaren Speichermedium oder auf einen externen Computer oder ein externes Speichergerät heruntergeladen werden. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers ausgeführt werden, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teils auf dem Computer des Benutzers und teilweise auf einem Remotecomputer oder ganz auf dem Remotecomputer oder Server. Aspekte der vorliegenden Erfindung werden hier in Bezug auf Flussdiagrammabbildungen und/oder Blockdiagramme von Verfahren, Apparaten (Systemen) und Computerprogrammprodukten gemaß ausführungsgemäßen Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagramm-Illustrationen und/oder Blockdiagramme sowie Kombinationen von Blöcken in den Flussdiagramm-Illustrationen und/oder Blockdiagrammen durch computerlesbare Programmanweisungen implementiert werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Allzweckcomputers, eines Zweckrechners oder eines anderen programmierbaren Datenverarbeitungsgeräts zur Herstellung einer Maschine zur Verfügung gestellt werden, so dass die Anweisungen, die über den Prozessor des Computers oder andere programmierbare Datenverarbeitungsgeräte ausgeführt werden, Mittel zur Umsetzung der im Flussdiagramm und/oder Blockdiagramm- oder -blöcken angegebenen Funktionen/Akte schaffen. Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, ein programmierbares Datenverarbeitungsgerät und/oder andere Geräte dazu bringen kann, auf eine bestimmte Weise zu funktionieren, so dass das computerlesbare Speichermedium, das darin mit Anweisungen versehen ist, einen Herstellungsartikel enthält, einschließlich Anweisungen, die Aspekte der im Flussdiagramm und/oder Blockdiagramm- oder -blöcken angegebenen Funktion/Handlung implementieren.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, ein anderes programmierbares Datenverarbeitungsgerät oder ein anderes Gerät geladen werden, um eine Reihe von Betriebsschritten auf dem Computer, anderen programmierbaren Geräten oder einem anderen Gerät durchzuführen, um einen computerimplementierten Prozess zu erzeugen, so dass die Anweisungen, die auf dem Computer, einem anderen programmierbaren Gerät oder einem anderen Gerät ausgeführt werden, die im Flussdiagramm angegebenen Funktionen/Akte und/oder Blockdiagramme oder -blöcke implementieren.
  • Das Flussdiagramm und die Blockdiagramme in den Abbildungen veranschaulichen die Architektur, Funktionalität und Funktionsweise möglicher Implementierungen von Systemen, Methoden und Computerprogrammprodukten nach verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block im Flussdiagramm oder in den Blockdiagrammen ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, der eine oder mehrere ausführbare Anweisungen zum Implementieren der angegebenen logischen Funktionen enthält. In einigen alternativen Implementierungen können die im Block genannten Funktionen a-hand in der in den Zahlen genannten Reihenfolge auftreten. Beispielsweise können zwei Blöcke, die nacheinander dargestellt werden, im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der funktionalität. Es wird auch darauf hingewiesen, dass jeder Block der Blockdiagramme und/oder Flussdiagramm-Illustration sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder Flussdiagramm-Illustrationen von speziellen hardwarebasierten Systemen implementiert werden können, die die angegebenen Funktionen oder Handlungen ausführen oder Kombinationen von speziellen Hardware- und Computeranweisungen durchführen.
  • Schließlich dient die hierin verwendete Terminologie nur zur Beschreibung bestimmter Ausführungsformen und ist nicht als Beschränkung der Erfindung gedacht. Wie hierin verwendet, sollen die Singularformen „a“, „an“ und „the“ auch die Pluralformen enthalten, es sei denn, der Kontext weist eindeutig auf etwas anderes hin. Es wird ferner verstanden, dass die Begriffe „umfasst“ und/oder „einschließlich ”,wenn sie in dieser Spezifikationverwendet werden, das Vorhandensein von angegebenen Features, ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, aber das Vorhandensein oder Hinzufügen eines oder mehrerer anderer Features, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Stufen plus Funktionselemente in den nachstehenden Ansprüchen sollen jede Struktur, jedes Material oder jede Handlung zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie ausdrücklich beansprucht werden, umfassen. Die Beschreibung der vorliegenden Erfindung wurde zur Veranschaulichung und Beschreibung vorgelegt, ist aber nicht als erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt. Viele Modifikationen und Variationen werden für gewöhnliche Fähigkeiten im Kunstbereich sichtbar sein, ohne vom Umfang und Geist der Erfindung abzuweichen. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundsätze der Erfindung und der praktischen Anwendung am besten zu erklären und anderen gewöhnlichen Fähigkeiten im Stand der Technik zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, die für die vorgesehene besondere Verwendung geeignet sind.
  • Nachdem die Erfindung der vorliegenden Anmeldung so ausführlich und unter Bezugnahme auf deren Ausführungsformen beschrieben wurde, wird sich zeigen, dass Modifikationen und Variationen möglich sind, ohne vom in den beigefügten Ansprüchen definierten Erfindungsbereich wie folgt abzuweichen:

Claims (7)

  1. Ein Datenverarbeitungssystem, das für die Vertrauenssicherung auf Computerprogramm-Quellenebene in einem IoT-Instrument (Internet of Things) konfiguriert ist, das Folgendes umfasst: Speicher und mindestens ein Prozessor; Und ein Vertrauenssicherungsmodul auf Quellebene, das Computerprogrammanweisungen enthält, die bei der Ausführung im Speicher durch mindestens einen Prozessor aktiviert wurden: Empfangen einer Anforderung zur Installation eines Computerprogramms in einem IoT-Gerät; Speichern einer Datei, die eine binäre Form des Computerprogramms und einen Fingerabdruck enthält, der als Teil der binären Form des Computerprogramms enthalten ist, im temporären Speicher; Extrahieren des Authentizitäts-Fingerabdrucks aus der binären Form des Computerprogramms und Abrufen eines anderen Fingerabdrucks aus dem Remote-Speicher in den temporären Speicher; Vergleich des verschiedenen Fingerabdrucks mit dem extrahierten Fingerabdruck; Und Installieren des Computerprogramms in das IoT-Gerät, das auf den Vergleich reagiert, der anzeigt, dass der extrahierte Fingerabdruck mit dem anderen Fingerabdruck identisch ist, aber ansonsten die Anforderung zur Installation des Computerprogramms ablehnt.
  2. Das System des Anspruchs 1, wobeider extrahierte Fingerabdruck Daten umfasst, die während der Kompilierung des Computerprogramms durch einen Compiler des Computerprogramms erzeugt werden.
  3. Das System des Anspruchs 2, wobeider Remote-Speicher ein netzwerkadressierbarer Block in einer Blockchain ist.
  4. Das System des Anspruchs 1, wobei der temporäre Speicher innerhalb des IoT-Gerätsentsorgt wird.
  5. Das System des Anspruchs 2, wobei dasComputerprogramm eine bibliothek summierte, die Bibliothek einschließlich einer Funktion, die den separaten Fingerabdruck in den Block schreibt.
  6. Das System des Anspruchs 3, wobei sichder extrahierte Fingerabdruck auf einen bestimmten Aufbau des Computerprogramms bezieht, das einem bestimmten Maß an erforderlicher Sicherheit für das IoT-Gerät entspricht.
  7. Ein Computerprogrammprodukt für die Vertrauenssicherung auf Quellebene in einem Internet of Things (IoT) instrumentiertes Gerät, dasComputerprogrammprodukt einschließlich eines computerlesbaren Speichermediums mit Programmanweisungen, die damit enthalten sind, die Programmanweisungen, die von einem Gerät ausführbar sind, um das Gerät dazu zu bringen, eine Methode auszuführen, einschließlich: Empfangen einer Anforderung zur Installation eines Computerprogramms in einem IoT-Gerät; Speichern einer Datei, die eine binäre Form des Computerprogramms und einen Authentizitäts-Fingerabdruck enthält, der als Teil der binären Form des Computerprogramms enthalten ist, im temporären Speicher; Extrahieren des Authentizitäts-Fingerabdrucks aus der binären Form des Computerprogramms und Abrufen eines anderen Fingerabdrucks aus dem Remote-Speicher; Vergleich des verschiedenen Fingerabdrucks mit dem extrahierten Fingerabdruck; Und Installieren des Computerprogramms in das IoT-Gerät, das auf den Vergleich reagiert, der anzeigt, dass der extrahierte Fingerabdruck mit dem anderen Fingerabdruck identisch ist, aber ansonsten die Anforderung zur Installation des Computerprogramms ablehnt.
DE102021114574.0A 2020-06-05 2021-06-07 Computer programm trust assurance für internet der dinge (iot) devices Pending DE102021114574A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2005886A FR3111228B1 (fr) 2020-06-05 2020-06-05 Garantie de la confiance en un programme informatique pour dispositifs de l’internet des objets
FRFR2005886 2020-06-05

Publications (1)

Publication Number Publication Date
DE102021114574A1 true DE102021114574A1 (de) 2021-12-09

Family

ID=73698895

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021114574.0A Pending DE102021114574A1 (de) 2020-06-05 2021-06-07 Computer programm trust assurance für internet der dinge (iot) devices

Country Status (4)

Country Link
CA (1) CA3121054A1 (de)
DE (1) DE102021114574A1 (de)
FR (1) FR3111228B1 (de)
GB (1) GB2599195B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3135546A1 (fr) * 2022-05-13 2023-11-17 Psa Automobiles Sa Procédé d’autorisation d’installation d’un logiciel dans un véhicule automobile, dispositif, véhicule et système associés

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346780B2 (en) * 2002-04-03 2008-03-18 Microsoft Corporation Integrity ordainment and ascertainment of computer-executable instructions
EP3001319B1 (de) * 2014-09-25 2017-11-29 Synopsys, Inc. Verfahren zum Erkennen von Bibliotheken in binären Programmen

Also Published As

Publication number Publication date
FR3111228A1 (fr) 2021-12-10
GB2599195A (en) 2022-03-30
CA3121054A1 (en) 2021-12-05
FR3111228B1 (fr) 2022-07-22
GB2599195B (en) 2023-01-25
GB202108099D0 (en) 2021-07-21

Similar Documents

Publication Publication Date Title
Dam et al. Automatic feature learning for vulnerability prediction
DE69533005T2 (de) Bytecodeprogramminterpreter, Verfahren und Anordnung mit Vorprüfung von Datentyprestriktionen
Yamaguchi et al. Vulnerability extrapolation: Assisted discovery of vulnerabilities using machine learning
DE60314782T2 (de) Vorrichtung zum Generieren eines verschlüsselten Programms
DE112019001121B4 (de) Auf einem computer implementiertes verfahren zum identifizieren von malware und system hierfür
DE112020003944T5 (de) Verfahren, System und Speichermedium für die Sicherheit von Softwarekomponenten
DE112012000512T5 (de) Aktualisieren von Software
Vouillon et al. On software component co-installability
DE112010003979T5 (de) System und Verfahren für das statische Erkennen und Kategorisieren von Informationsfluss-Herabstufungseinrichtungen
DE112013002012B4 (de) Verfahren eines Erkennens von Schadsoftware in einem Betriebssystemkern
Schulze et al. Aligning coevolving artifacts between software product lines and products
DE102021114574A1 (de) Computer programm trust assurance für internet der dinge (iot) devices
DE102014117971A1 (de) Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE102021127237A1 (de) Messbehälter
Noseevich et al. Detecting insufficient access control in web applications
EP3134842B1 (de) Rechenvorrichtung und verfahren zum erkennen von angriffen auf ein technisches system anhand von ereignissen einer ereignisfolge
EP3907637A1 (de) Verfahren und vorrichtung zur sicheren inbetriebnahme einer container-instanz
US11250127B2 (en) Binary software composition analysis
EP3798873B1 (de) Verfahren zum schützen einer computer-implementierten anwendung vor manipulation
Ciancarini et al. Mining concurrency bugs
Farchi et al. Using program closures to make an application programming interface (API) implementation thread safe
US11256492B2 (en) Computer program trust assurance for internet of things (IoT) devices
DE202013103358U1 (de) Selektive Einschätzung der Schädlichkeit von im Adressraum eines vertrauenswürdigen Prozesses ausgeführtem Software-Code
DE102021212994B3 (de) Verfahren zur Erkennung von auf eine Manipulation hindeutenden Anomalien während eines sicheren Startvorgangs einer softwaregesteuerten Vorrichtung
EP3467696B1 (de) Modul und verfahren zur sicherung von computersystemen