DE102018213053A1 - Verfahren zum Analysieren von Quelltexten - Google Patents

Verfahren zum Analysieren von Quelltexten Download PDF

Info

Publication number
DE102018213053A1
DE102018213053A1 DE102018213053.1A DE102018213053A DE102018213053A1 DE 102018213053 A1 DE102018213053 A1 DE 102018213053A1 DE 102018213053 A DE102018213053 A DE 102018213053A DE 102018213053 A1 DE102018213053 A1 DE 102018213053A1
Authority
DE
Germany
Prior art keywords
source code
identified
vulnerabilities
source
vulnerability
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
DE102018213053.1A
Other languages
English (en)
Inventor
Marc Sebastian Patric Stöttinger
René Palige
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.)
Continental Automotive Technologies GmbH
Original Assignee
Continental Teves AG and Co OHG
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 Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Priority to DE102018213053.1A priority Critical patent/DE102018213053A1/de
Priority to PCT/EP2019/070138 priority patent/WO2020025463A1/de
Priority to EP19746460.5A priority patent/EP3830687A1/de
Priority to KR1020217003014A priority patent/KR20210024161A/ko
Priority to JP2021505807A priority patent/JP2021533476A/ja
Priority to CN201980051187.9A priority patent/CN112534400A/zh
Publication of DE102018213053A1 publication Critical patent/DE102018213053A1/de
Priority to US17/165,670 priority patent/US20210157929A1/en
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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Analysieren von Quelltexten (10), mit dem Schritt: Identifizieren von Quelltextschwachstellen (14), welche anfällig für Implementierungsangriffe sind, wobei das Identifizieren der Quelltextschwachstellen (14) während der aktiven Quelltextentwicklung ohne die Notwendigkeit einer Programmkompilierung erfolgt.

Description

  • Die Erfindung betrifft ein Verfahren zum Analysieren von Quelltexten, mit dem Schritt: Identifizieren von Quelltextschwachstellen, welche anfällig für Implementierungsangriffe sind.
  • Ferner betrifft die Erfindung eine Vorrichtung zur Datenverarbeitung, ein Computerprogrammprodukt und einen computerlesbaren Datenträger.
  • Bei der Entwicklung von Quelltexten, beispielsweise unter Verwendung einer integrierten Entwicklungsumgebung, werden Quelltextentwickler regelmäßig bei der Quelltextgenerierung unterstützt, damit die Quelltextentwicklung beschleunigt und die Fehleranfälligkeit der späteren Software verringert wird. Eine im Stand der Technik bekannte Entwicklerunterstützung ist die Syntaxhervorhebung, bei welcher der Quelltext während der aktiven Quelltextentwicklung einer Syntaxprüfung unterzogen wird, sodass Quelltextfehler während der aktiven Quelltextentwicklung identifiziert werden können. Der Quelltextentwickler wird während der aktiven Quelltextentwicklung durch ein optisches Hervorheben der identifizierten Quelltextpassagen auf diese aufmerksam gemacht. Durch die Syntaxhervorhebung werden in der Kompilierungsphase auftretende Fehler verringert, sodass die Softwareentwicklung beschleunigt wird.
  • Neben der Syntaxhervorhebung sind Quelltext-Echtzeitprüfungen bekannt, welche den Quelltext während der aktiven Quelltextentwicklung auf unsichere Standardfunktionen, wie strcpy oder printf untersuchen. Hierbei kann der Quelltext beispielsweise mit einer Art Wörterbuch zuvor definierter unsicherer Standardfunktionen abgeglichen werden. Es handelt sich hierbei um eine lediglich statische Prüfung, durch welche keine Quelltextschwachstellen identifiziert werden können, welche anfällig für Implementierungsangriffe sind.
  • Für Implementierungsangriffe anfällige Quelltextschwachstellen können bisher lediglich während der Laufzeit eines Programms, also nach Abschluss der Programmierung und Implementierung, identifiziert werden. Hierzu ist beispielsweise eine Softwareemulation oder die Analyse eines Testsystems notwendig. Mithin ist somit zum Identifizieren entsprechender Quelltextschwachstellen die Programmkompilierung oder die Binärdatei notwendig. Wenn entsprechende Quelltextschwachstellen identifiziert werden, ist es somit erforderlich, sich erneut der Quelltextentwicklung zuzuwenden, wodurch zeit- und somit kostenaufwendige Entwicklungsschleifen zum Beheben der identifizierten Schwachstellen notwendig sind.
  • Ferner kommt es bei den bekannten Verfahren zum Analysieren von Binärdateien häufig nicht zu einer Sensibilisierung der Quelltextentwickler für entsprechende Schwachstellenmuster. Somit führen die bekannten Verfahren auch nicht zu einem Lernfortschritt bei den Quelltextentwicklern.
  • Die der Erfindung zugrundeliegende Aufgabe besteht somit darin, die Entwicklung von Quelltexten, welche unanfällig gegen Implementierungsangriffe sind, zu beschleunigen und/oder zu vereinfachen.
  • Die Aufgabe wird gelöst durch ein Verfahren der eingangs genannten Art, wobei das Identifizieren der Quelltextschwachstellen während der aktiven Quelltextentwicklung ohne die Notwendigkeit einer Programmkompilierung erfolgt.
  • Die Erfindung macht sich die Erkenntnis zunutze, dass durch das Identifizieren von Quelltextschwachstellen, welche anfällig für Implementierungsangriffe sind, während der aktiven Quelltextentwicklung zeit- und kostenaufwendige Entwicklungsschleifen, welche eine Emulation von Software oder die Analyse eines Testsystems bedingen, vermieden werden können. Ferner erlaubt das Identifizieren von entsprechenden Quelltextschwachstellen während der aktiven Quelltextentwicklung eine direkte Rückmeldung an den Quelltextentwickler, wodurch eine Sensibilisierung des Quelltextentwicklers für entsprechende Quelltextschwachstellen erreicht werden kann.
  • Die Quelltextanalyse erstreckt sich somit auf das dynamische Implementierungsverhalten des Quelltextes und nicht lediglich auf unsichere Standardfunktionen, wie strcpy oder printf. Im Sinne der Erfindung fallen unter den Ausdruck Implementierungsangriff also keine Angriffe, welche ausschließlich auf der Softwareebene erfolgen.
  • Das Verfahren wird vorzugsweise teilweise oder vollständig in einer integrierten Entwicklungsumgebung ausgeführt. Insbesondere ist keine Erzeugung einer Binärdatei zum Identifizieren entsprechender Quelltextschwachstellen notwendig. Insgesamt kommt es zu einer erheblichen Beschleunigung des Entwicklungsprozesses und zu einer erheblich verringerten Anfälligkeit des Quelltextes für Implementierungsangriffe.
  • In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens umfasst das Identifizieren der Quelltextschwachstellen, welche anfällig für Implementierungsangriffe sind, das Identifizieren von Quelltextschwachstellen, welche anfällig für Seitenkanalangriffe sind und/oder das Identifizieren von Quelltextschwachstellen, welche anfällig für Fehlerinjektionsangriffe sind. Seitenkanalangriffe und Fehlerinjektionsangriffe stellen Unterarten von Implementierungsangriffen dar. Seitenkanalangriffe können auch als Side Channel Attacks (SCA) bezeichnet werden. Seitenkanalangriffe nutzen die physische Implementierung eines Kryptosystems in einem Gerät oder in einer Software aus. Dabei wird ein Gerät bei der Ausführung von kryptografischen Algorithmen beobachtet und eine Korrelation zwischen den beobachteten Informationen und einem verwendeten Schlüssel untersucht. Entsprechende Seitenkanalangriffe können beispielsweise auf der Analyse der Laufzeit eines Algorithmus, des Energieverbrauchs während Berechnungsvorgängen oder der elektromagnetischen Strahlung beruhen. Fehlerinjektionsangriffe können auch als Fault Injection Attacks (FIA) bezeichnet werden. Bei der Fehlerinjektion können beispielsweise Störungen (Glitches) in die Versorgungsspannung eines Geräts eingebracht werden. Eine andere Fehlerinjektion betrifft das Einfügen von Störungen in das Taktsignal eines Geräts. Darüber hinaus sind Fehlerinjektionsangriffe bekannt, bei welchen das angegriffene Gerät einer Strahlung ausgesetzt wird.
  • Das erfindungsgemäße Verfahren wird ferner dadurch vorteilhaft weitergebildet, dass die identifizierten Quelltextschwachstellen optisch hervorgehoben werden, wobei das optische Hervorheben der identifizierten Quelltextschwachstellen während der aktiven Quelltextentwicklung ohne die Notwendigkeit einer Programmkompilierung erfolgt. Das optische Hervorheben kann beispielsweise durch ein farbliches Hinterlegen, das Einstellen einer geänderten Textfarbe und/oder das Einstellen einer geänderten Schriftart oder eines geänderten Schriftstils erfolgen. Alternativ oder zusätzlich kann beim Identifizieren von entsprechenden Quelltextschwachstellen ein Pop-up-Fenster eingeblendet werden, welches den Quelltextentwickler auf die identifizierte Quelltextschwachstelle hinweist. Durch das optische Hervorheben bzw. das Hinweisen auf die identifizierte Quelltextschwachstelle wird ein Lerneffekt für den Quelltextentwickler umgesetzt. Es erfolgt eine Sensibilisierung des Quelltextentwicklers für Quelltextschwachstellen, welche anfällig für Implementierungsangriffe sind.
  • In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens erfolgt das Identifizieren der Quelltextschwachstellen und/oder das optische Hervorheben der identifizierten Quelltextschwachstellen in Echtzeit während der aktiven Quelltextentwicklung. Auf diese Weise können entsprechende Quelltextschwachstellen beim Programmieren on-the-fly durch den Quelltextentwickler direkt modifiziert oder ersetzt werden. Der gesamte Entwicklungsprozess wird auf diese Weise erheblich beschleunigt.
  • Das erfindungsgemäße Verfahren wird ferner dadurch vorteilhaft weitergebildet, dass eine hinterlegte Erläuterung zu der identifizierten Quelltextschwachstelle selbsttätig geladen wird. Alternativ oder zusätzlich wird eine Erläuterung zu der identifizierten Quelltextschwachstelle selbsttätig erzeugt. Abhängig von der Komplexität der identifizierten Quelltextschwachstelle kann es ausreichen, den Quelltextentwickler mit einer hinterlegten Erläuterung auf die Quelltextschwachstelle aufmerksam zu machen und/oder dem Quelltextentwickler durch eine hinterlegte Erläuterung ergänzende Informationen zu der identifizierten Quelltextschwachstelle zur Verfügung zu stellen. In anderen Fällen kann die identifizierte Quelltextschwachstelle zur Erzeugung einer entsprechenden Erläuterung verwendet werden, sodass die erzeugte Erläuterung quelltextspezifische Elemente umfasst, welche sich auf den tatsächlich vom Quelltextentwickler formulierten Quelltext beziehen. Alternativ oder zusätzlich kann das Verfahren das selbsttätige Anzeigen der geladenen oder erzeugten Erläuterung zu der identifizierten Quelltextschwachstelle umfassen.
  • In einer vorteilhaften Ausführungsform des erfindungsgemäßen Verfahrens wird ein Alternativquelltext zu der identifizierten Quelltextschwachstelle selbsttätig erzeugt und/oder der erzeugte Alternativquelltext zu der identifizierten Quelltextschwachstelle selbsttätig angezeigt. Der Alternativquelltext umfasst vorzugsweise keine Quelltextschwachstelle, welche anfällig für Implementierungsangriffe ist. Insbesondere kann der Alternativquelltext eine neue Quelltextstruktur aufweisen.
  • Ferner ist ein erfindungsgemäßes Verfahren bevorzugt, bei welchem die identifizierte Quelltextschwachstelle durch den erzeugten Alternativquelltext auf Grundlage eines von einem Quelltextentwickler eingegebenen Korrekturbefehls selbsttätig ersetzt wird. Auf diese Weise entfällt das aufwendige manuelle Anpassen des Quelltextes zur Eliminierung der identifizierten Quelltextschwachstelle. Die Quelltextentwicklung wird auf diese Weise weiter beschleunigt.
  • Das erfindungsgemäße Verfahren kann zum Analysieren von Quelltexten genutzt werden, welche in Fahrzeugen, insbesondere in Automobilen, eingesetzt werden. Insbesondere werden die Quelltexte für fahrzeuginterne Steuerungseinrichtungen verwendet. Weitere Einsatzgebiete sind die Entwicklung von Smartcard-Software, Entwicklungen betreffend das Internet der Dinge, Industrie 4.0 und andere Entwicklungen für Bereiche, in welchen Geräte miteinander interagieren und ein hohes Maß an Sicherheit notwendig ist.
  • Die der Erfindung zugrundeliegende Aufgabe wird ferner durch eine Vorrichtung zur Datenverarbeitung gelöst, welche einen Prozessor umfasst, der so konfiguriert ist, dass er das Verfahren zum Analysieren von Quelltexten nach einer der vorstehend beschriebenen Ausführungsformen ausführt. Hinsichtlich der Vorteile und Modifikationen der erfindungsgemäßen Vorrichtung wird auf die Vorteile und Modifikationen des erfindungsgemäßen Verfahrens verwiesen.
  • Die der Erfindung zugrundeliegende Aufgabe wird ferner durch ein Computerprogrammprodukt gelöst, welches Befehle umfasst, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren zum Analysieren von Quelltexten nach einer der vorstehend beschriebenen Ausführungsformen auszuführen. Hinsichtlich der Vorteile und Modifikationen des erfindungsgemäßen Computerprogrammprodukts wird auf die Vorteile und Modifikationen des erfindungsgemäßen Verfahrens verwiesen.
  • Die der Erfindung zugrundeliegende Aufgabe wird ferner durch einen computerlesbaren Datenträger gelöst, auf welchem das zuvor beschriebene Computerprogrammprodukt gespeichert ist.
  • Nachfolgend wird eine bevorzugte Ausführungsform der Erfindung unter Bezugnahme auf die beiliegende Zeichnung näher erläutert und beschrieben. Dabei zeigt:
    • 1 Teile einer über eine erfindungsgemäße Vorrichtung zur Datenverarbeitung abrufbare integrierte Entwicklungsumgebung.
  • Die in der 1 dargestellte integrierte Entwicklungsumgebung zeigt schematisch ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens zum Analysieren von Quelltexten 10.
  • Das Verfahren wird mittels einer Vorrichtung zur Datenverarbeitung ausgeführt, wobei die Vorrichtung einen Prozessor umfasst, der so konfiguriert ist, dass er das nachfolgend beschriebene Verfahren ausführen kann. Das Verfahren basiert auf einem Computerprogrammprodukt, welches Befehle umfasst, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren entsprechend auszuführen.
  • Während des Verfahrens werden Quelltextschwachstellen 14 innerhalb eines von einem Quelltextentwickler eingegebenen Quelltextes 10 identifiziert. Der Quelltextentwickler gibt den Quelltext 10 über eine als Tastatur ausgebildete Eingabeeinrichtung in einen Editor 12 ein. Das Identifizieren der Quelltextschwachstellen 14 erfolgt in Echtzeit während der aktiven Quelltextentwicklung und ohne die Notwendigkeit einer Programmkompilierung.
  • Im Rahmen des Verfahrens werden Quelltextschwachstellen 14 identifiziert, welche anfällig für Implementierungsangriffe, wie etwa Seitenkanalangriffe oder Fehlerinjektionsangriffe, sind. Somit erstreckt sich die Quelltextanalyse nicht auf unsichere Standardfunktionen, wie strcpy oder printf, sondern vielmehr auf das Implementierungsverhalten des Quelltextes 10.
  • Wenn Quelltextschwachstellen 14 identifiziert werden, welche anfällig für Implementierungsangriffe sind, werden die identifizierten Quelltextschwachstellen 14 optisch hervorgehoben, damit der Quelltextentwickler während der aktiven Quelltextentwicklung auf die Quelltextschwachstellen 14 aufmerksam gemacht wird. Das optische Hervorheben der identifizierten Quelltextschwachstellen 14 erfolgt somit ebenfalls on-the-fly, also während der aktiven Quelltextentwicklung ohne die Notwendigkeit einer Programmkompilierung.
  • Vorliegend beinhaltet der Quelltext 10 eine for-Anweisung und eine if-Anweisung. Beide Anweisungen wurden als anfällig für Implementierungsangriffe identifiziert und optisch hervorgehoben.
  • Die if-Anweisung wurde im Rahmen des Verfahrens als Quelltextschwachstelle 14 identifiziert, welche anfällig für Seitenkanalangriffe ist. Zu der if-Anweisung wurde ein Fenster 16a geöffnet, welches die Segmente 18a, 18b umfasst. In dem Segment 18a wird dem Quelltextentwickler eine hinterlegte Erläuterung zu der identifizierten Quelltextschwachstelle 14 angezeigt, nämlich, dass die if-Anweisung nicht ausgeglichen ist und somit ein missbrauchbares Zeitverhalten auftreten kann. In dem Segment 18b wird dem Quelltextentwickler ein Korrekturvorschlag zum Eliminieren der Quelltextschwachstelle 14 angezeigt, nämlich, dass die if-Anweisung mit einer else-Anweisung kombiniert werden soll.
  • Die for-Anweisung wurde im Rahmen des Verfahrens als Quelltextschwachstelle 14 identifiziert, welche anfällig für Fehlerinjektionsangriffe ist. Zu der for-Anweisung wurde ein Fenster 16b geöffnet, welches die Segmente 20a, 20b umfasst. In dem Segment 20a wird dem Quelltextentwickler eine hinterlegte Erläuterung zu der identifizierten Quelltextschwachstelle 14 angezeigt, nämlich, dass für die for-Schleife kein Ende definiert ist und somit eine missbrauchbare Kontrollflussmanipulation möglich ist. In dem Segment 20b wird dem Quelltextentwickler ein Korrekturvorschlag zum Eliminieren der Quelltextschwachstelle 14 angezeigt, nämlich das Einfügen eines zweiten Zählwertes, welcher prüft, ob alle Iterationen der for-Schleife durchgeführt wurden. Ferner wird in dem Segment 20b das Einfügen einer else-Anweisung zur Eliminierung der Quelltextschwachstelle 14 vorgeschlagen.
  • Die angezeigten Alternativquelltexte können somit modifizierte und/oder ergänzte Quelltextstrukturen aufweisen. Der Quelltextentwickler kann durch die Eingabe eines entsprechenden Korrekturbefehls das Ersetzen der identifizierten Quelltextschwachstelle 14 durch den angezeigten Alternativquelltext veranlassen.
  • Bezugszeichenliste
  • 10
    Quelltext
    12
    Editor
    14
    Quelltextschwachstelle
    16a, 16b
    Fenster
    18a, 18b
    Segmente
    20a, 20b
    Segmente

Claims (10)

  1. Verfahren zum Analysieren von Quelltexten (10), mit dem Schritt: - Identifizieren von Quelltextschwachstellen (14), welche anfällig für Implementierungsangriffe sind; dadurch gekennzeichnet, dass das Identifizieren der Quelltextschwachstellen (14) während der aktiven Quelltextentwicklung ohne die Notwendigkeit einer Programmkompilierung erfolgt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Identifizieren der Quelltextschwachstellen (14), welche anfällig für Implementierungsangriffe sind, zumindest einen der folgenden Schritte umfasst: - Identifizieren von Quelltextschwachstellen (14), welche anfällig für Seitenkanalangriffe sind; - Identifizieren von Quelltextschwachstellen (14), welche anfällig für Fehlerinjektionsangriffe sind.
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch den Schritt: - optisches Hervorheben der identifizierten Quelltextschwachstellen (14), wobei das optische Hervorheben der identifizierten Quelltextschwachstellen (14) während der aktiven Quelltextentwicklung ohne die Notwendigkeit einer Programmkompilierung erfolgt.
  4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Identifizieren der Quelltextschwachstellen (14) und/oder das optische Hervorheben der identifizierten Quelltextschwachstellen (14) in Echtzeit während der aktiven Quelltextentwicklung erfolgt.
  5. Verfahren nach einem der vorstehenden Ansprüche, gekennzeichnet durch zumindest einen der folgenden Schritte: - selbsttätiges Laden einer hinterlegten Erläuterung zu einer identifizierten Quelltextschwachstelle (14); - selbsttätiges Erzeugen einer Erläuterung zu einer identifizierten Quelltextschwachstelle (14); - selbsttätiges Anzeigen der geladenen oder erzeugten Erläuterung zu der identifizierten Quelltextschwachstelle (14).
  6. Verfahren nach einem der vorstehenden Ansprüche, gekennzeichnet durch zumindest einen der folgenden Schritte: - selbsttätiges Erzeugen eines Alternativquelltextes zu einer identifizierten Quelltextschwachstelle (14); - selbsttätiges Anzeigen des erzeugten Alternativquelltextes zu der identifizierten Quelltextschwachstelle (14).
  7. Verfahren nach Anspruch 6, gekennzeichnet durch den Schritt: - selbsttätiges Ersetzen der identifizierten Quelltextschwachstelle (14) durch den erzeugten Alternativquelltext auf Grundlage eines von einem Quelltextentwickler eingegebenen Korrekturbefehls.
  8. Vorrichtung zur Datenverarbeitung, umfassend einen Prozessor, der so konfiguriert ist, dass er das Verfahren nach einem der vorstehenden Ansprüche ausführt.
  9. Computerprogrammprodukt umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1 bis 8 auszuführen.
  10. Computerlesbarer Datenträger, auf dem das Computerprogrammprodukt nach Anspruch 9 gespeichert ist.
DE102018213053.1A 2018-08-03 2018-08-03 Verfahren zum Analysieren von Quelltexten Pending DE102018213053A1 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE102018213053.1A DE102018213053A1 (de) 2018-08-03 2018-08-03 Verfahren zum Analysieren von Quelltexten
PCT/EP2019/070138 WO2020025463A1 (de) 2018-08-03 2019-07-25 Verfahren zum analysieren von quelltexten
EP19746460.5A EP3830687A1 (de) 2018-08-03 2019-07-25 Verfahren zum analysieren von quelltexten
KR1020217003014A KR20210024161A (ko) 2018-08-03 2019-07-25 소스 텍스트들의 분석을 위한 방법
JP2021505807A JP2021533476A (ja) 2018-08-03 2019-07-25 ソーステキストを解析するための方法
CN201980051187.9A CN112534400A (zh) 2018-08-03 2019-07-25 用于分析源代码的方法
US17/165,670 US20210157929A1 (en) 2018-08-03 2021-02-02 Method for the analysis of source texts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018213053.1A DE102018213053A1 (de) 2018-08-03 2018-08-03 Verfahren zum Analysieren von Quelltexten

Publications (1)

Publication Number Publication Date
DE102018213053A1 true DE102018213053A1 (de) 2020-02-06

Family

ID=67482938

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018213053.1A Pending DE102018213053A1 (de) 2018-08-03 2018-08-03 Verfahren zum Analysieren von Quelltexten

Country Status (7)

Country Link
US (1) US20210157929A1 (de)
EP (1) EP3830687A1 (de)
JP (1) JP2021533476A (de)
KR (1) KR20210024161A (de)
CN (1) CN112534400A (de)
DE (1) DE102018213053A1 (de)
WO (1) WO2020025463A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11531526B1 (en) * 2020-09-29 2022-12-20 Amazon Technologies, Inc. Creating portable serverless applications
US11513833B1 (en) 2020-09-29 2022-11-29 Amazon Technologies, Inc. Event listener interface for container-based execution of serverless functions
US11494184B1 (en) 2020-09-29 2022-11-08 Amazon Technologies, Inc. Creation of transportability container files for serverless applications

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084426A1 (en) * 2001-06-07 2003-05-01 International Business Machines Corp. IF statement having an expression setup clause to be utilized in structured assembly language programming
US20080059875A1 (en) * 2006-08-31 2008-03-06 Kazuaki Ishizaki Method for optimizing character string output processing
US8051408B1 (en) * 2004-09-13 2011-11-01 The Mathworks, Inc. Method of providing interactive usage descriptions based on source code analysis
US20130263086A1 (en) * 2012-03-27 2013-10-03 Microsoft Corporation Extensible Mechanism for Providing Suggestions in a Source Code Editor
US20140359571A1 (en) * 2013-05-28 2014-12-04 Adobe Systems Incorporated Method and apparatus for dynamic document object model (dom) aware code editing
US20160226900A1 (en) * 2015-02-03 2016-08-04 Easy Solutions Enterprises Corp. Systems and methods for detecting and addressing html-modifying malware

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050273859A1 (en) * 2004-06-04 2005-12-08 Brian Chess Apparatus and method for testing secure software
US8800042B2 (en) * 2005-05-16 2014-08-05 Hewlett-Packard Development Company, L.P. Secure web application development and execution environment
KR100653122B1 (ko) * 2005-08-31 2006-12-01 학교법인 대전기독학원 한남대학교 안전한 소프트웨어 개발을 위한 룰 기반의 실시간 탐지시스템 및 방법
JP4680876B2 (ja) * 2006-12-11 2011-05-11 ルネサスエレクトロニクス株式会社 情報処理装置及び命令フェッチ制御方法
US8341600B2 (en) * 2008-02-15 2012-12-25 Microsoft Corporation Tagging and logical grouping of items in source code change lists
CN102141956B (zh) * 2010-01-29 2015-02-11 国际商业机器公司 用于开发中的安全漏洞响应管理的方法和***
EP2575069B1 (de) * 2011-09-30 2016-10-19 Tata Consultancy Services Ltd. Korrektur von Sicherheitslücken
JP5845888B2 (ja) * 2011-12-26 2016-01-20 日本電気株式会社 ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム
FR2995429B1 (fr) * 2012-09-10 2015-04-10 Oberthur Technologies Procede de test de la securite d'un dispositif electronique vis-a-vis d'une attaque, et dispositif electronique mettant en oeuvre des contre-mesures
US9632771B2 (en) * 2012-12-13 2017-04-25 Microsoft Technology Licensing, Llc Association of metadata with source code and applications and services premised thereon
JP6016613B2 (ja) * 2012-12-21 2016-10-26 三菱電機株式会社 ソフトウェア信頼性評価装置、ソフトウェア信頼性評価方法、及びプログラム
JP2015225513A (ja) * 2014-05-28 2015-12-14 株式会社日立製作所 情報表示装置、および情報表示方法
CN106537333A (zh) * 2014-06-13 2017-03-22 查尔斯斯塔克德拉珀实验室公司 用于软件产物的数据库的***和方法
US9792443B1 (en) * 2015-03-12 2017-10-17 Whitehat Security, Inc. Position analysis of source code vulnerabilities
US9965633B2 (en) * 2015-12-29 2018-05-08 Sap Se Using code similarities for improving auditing and fixing of SAST-discovered code vulnerabilities
US10303448B2 (en) * 2016-05-15 2019-05-28 Synopsys, Inc. Systems and methods for graph-based analysis of software
US10275601B2 (en) * 2016-06-08 2019-04-30 Veracode, Inc. Flaw attribution and correlation
JP6769265B2 (ja) * 2016-11-29 2020-10-14 大日本印刷株式会社 電子情報記憶媒体、icカード、データ異常確認方法、及びデータ異常確認プログラム
US10503910B2 (en) * 2017-06-06 2019-12-10 Sap Se Security testing framework including virtualized server-side platform
US10628129B2 (en) * 2017-08-08 2020-04-21 Accenture Global Solutions Limited Intellectual automated security, performance and code generation framework

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084426A1 (en) * 2001-06-07 2003-05-01 International Business Machines Corp. IF statement having an expression setup clause to be utilized in structured assembly language programming
US8051408B1 (en) * 2004-09-13 2011-11-01 The Mathworks, Inc. Method of providing interactive usage descriptions based on source code analysis
US20080059875A1 (en) * 2006-08-31 2008-03-06 Kazuaki Ishizaki Method for optimizing character string output processing
US20130263086A1 (en) * 2012-03-27 2013-10-03 Microsoft Corporation Extensible Mechanism for Providing Suggestions in a Source Code Editor
US20140359571A1 (en) * 2013-05-28 2014-12-04 Adobe Systems Incorporated Method and apparatus for dynamic document object model (dom) aware code editing
US20160226900A1 (en) * 2015-02-03 2016-08-04 Easy Solutions Enterprises Corp. Systems and methods for detecting and addressing html-modifying malware

Also Published As

Publication number Publication date
CN112534400A (zh) 2021-03-19
JP2021533476A (ja) 2021-12-02
KR20210024161A (ko) 2021-03-04
WO2020025463A1 (de) 2020-02-06
US20210157929A1 (en) 2021-05-27
EP3830687A1 (de) 2021-06-09

Similar Documents

Publication Publication Date Title
Gerevini et al. Inferring state constraints for domain-independent planning
EP1818844B1 (de) Verfahren zur Benutzung von Sicherheitstoken
EP3830687A1 (de) Verfahren zum analysieren von quelltexten
DE60313652T2 (de) Verfahren und gerät zur kontrolle der umwandlung von programm-kodes
DE102005042126A1 (de) Verfahren und Vorrichtung zum automatisierten Bewerten der Qualität eines Software-Quellcodes
DE112010003979T5 (de) System und Verfahren für das statische Erkennen und Kategorisieren von Informationsfluss-Herabstufungseinrichtungen
DE112012000279T5 (de) Ermitteln der Anfälligkeit von Computer-Software-Anwendungen gegenüber Rechteausweitungsangriffen
EP3864547B1 (de) Verfahren zur detektion sicherheitsrelevanter datenflüsse
DE102014117971B4 (de) Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist, und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
EP3614268B1 (de) Verfahren und vorrichtung zum verarbeiten von daten mittels codierter operationen
DE10038499A1 (de) Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung
DE102011006000B4 (de) Signaturaktualisierung durch Codetransformation
DE102019008598A1 (de) Identifikation und Visualisierung von Assoziationen zwischen Code, der von einem Modell generiert ist, und Quellen, welche die Codegeneration beeinflussen
US20230044951A1 (en) Guided Micro-Fuzzing through Hybrid Program Analysis
AT514731A2 (de) Verfahren zur Verifizierung generierter Software sowie Verifizierungseinrichtung zum Durchführen eines solchen Verfahrens
EP3745287B1 (de) Schützen einer softwareapplikation
DE102005048029B4 (de) Compiliervorrichtung und Verfahren zum Compilieren
DE102021132302A1 (de) Compilervalidierung
Carbonneaux Modular and certified resource-bound analyses
DE102005063499B4 (de) Compiliervorrichtung und Verfahren zum Compilieren
DE102009033211A1 (de) Chipkarte mit Überwachung der Integrität auf Softwarebasis
DE102010014720A1 (de) Verfahren zum Verifizieren eines aus einem Quellmodell generierten Zielprogramms
DE102022201857A1 (de) Verfahren zum Steuern einer Robotervorrichtung
CN114253594A (zh) 代码还原方法、装置、可读介质及电子设备

Legal Events

Date Code Title Description
R163 Identified publications notified
R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL TEVES AG & CO. OHG, 60488 FRANKFURT, DE

R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE