1. Home
  2. /
  3. Security
  4. /
  5. IT Security
  6. /
  7. C/C++
  8. /
  9. Secure coding in C...

Secure coding in C and C++ for medical devices

Für Unternehmen

Seminar als Inhouse-Seminar buchen

Eine der Kernkompetenzen von PROTRANET sind effiziente Inhouse Schulungen. Wählen Sie aus bestehenden Konzepten mit bewährten Inhalten (Inhouse Standard) oder lassen Sie sich maßgeschneiderte Inhalte zu Ihrem individuellen Bedarf (Inhouse Individuell) zusammenstellen. Wir beraten Sie gerne.

Ab
3000,00 € (3,570,00 € inkl. 19% MwSt.)

Preis auf Anfrage

Inhouse Standard
  • Langjährig erprobte und bewährte Inhalte
  • Topaktuelle Methodenvielfalt
  • Schnelle und unkomplizierte Umsetzung
  • Praxiserfahrene Trainer aus Ihrer Branche
  • Hochprofessionelles Seminarmanagement
Mehr erfahren
Inhouse Individuell
  • Maßgeschneidert für Ihr Unternehmen
  • Hohe Transferleistung durch Bearbeitung interner Projekte und Beispiele
  • Praxiserfahrene Trainer aus Ihrer Branche
  • Hochprofessionelles Seminarmanagement
Mehr erfahren

Schulungsinhalt

Day 1

  • Cyber security basics
    • What is security?
    • Threat and risk
    • Cyber security threat types – the CIA triad
    • Cyber security threat types – the STRIDE model
    • Consequences of insecure software
  • Regulations and standards
    • Healthcare data protection regulations
    • Regulations for medical devices
  • Cyber security in the healthcare sector
    • Threats to medical devices
    • Attackers and motivation
    • The problem of legacy systems

Memory management vulnerabilities

  • Assembly basics and calling conventions
    • x64 assembly essentials
    • Registers and addressing
    • Most common instructions
    • Calling conventions on x64
  • Buffer overflow
    • Memory management and security
    • Vulnerabilities in the real world
    • Buffer security issues
    • Buffer overflow on the stack

Day 2

Memory management vulnerabilities

  • Best practices and some typical mistakes
    • Unsafe functions
    • Dealing with unsafe functions
    • Lab – Fixing buffer overflow
    • What’s the problem with asctime()?
    • Lab – The problem with asctime()
    • Using std::string in C++
  • Some typical mistakes leading to BOF
    • Unterminated strings
    • readlink() and string termination
    • Manipulating C-style strings in C++
    • Malicious string termination
    • Lab – String termination confusion
    • String length calculation mistakes
    • Off-by-one errors
    • Case study – Off-by-one error in VxWorks TCP ‚Urgent Data‘ parsing
    • Allocating nothing

Memory management hardening

  • Securing the toolchain
    • Securing the toolchain in C and C++
    • Compiler warnings and security
    • Using FORTIFY_SOURCE
    • Lab – Effects of FORTIFY
    • AddressSanitizer (ASan)
    • RELRO protection against GOT hijacking
    • Heap overflow protection
    • Stack smashing protection
  • Runtime protections
    • Runtime instrumentation
    • Address Space Layout Randomization (ASLR)
    • Non-executable memory areas

Common software security weaknesses

  • Security features
    • Authentication
    • Authorization

Day 3

Common software security weaknesses

  • Security features (continued)
    • Password management

Common software security weaknesses

  • Input validation
    • Input validation principles
    • Denylists and allowlists
    • Case study – Improper input validation in Natus Xltek NeuroWorks 8
    • What to validate – the attack surface
    • Where to validate – defense in depth
    • When to validate – validation vs transformations
    • Output sanitization
    • Encoding challenges
    • Unicode challenges
    • Validation with regex
    • Regular expression denial of service (ReDoS)
    • Lab – ReDoS in C
    • Dealing with ReDoS
    • Integer handling problems

Day 4

Common software security weaknesses

  • Input validation
    • Injection
    • Process control
    • Files and streams
    • Format string issues

Time and state

  • Race conditions

Errors

  • Error and exception handling principles
  • Error handling
  • Exception handling

Code quality

  • Code quality and security
  • Data handling
  • Object oriented programming pitfalls

Wrap up

  • Secure coding principles
  • And now what?

Zielgruppe

C/C++ developers developing medical devices

Seminarziele

  • Getting familiar with essential cyber security concepts
  • Learning about security specialties of the healthcare sector
  • Identify vulnerabilities and their consequences
  • Learn the security best practices in C and C++
  • Input validation approaches and principles

Vorkenntnisse

General C/C++ development

Seminardauer

4 Tage

Preis

Präsenzseminar/FLEXINAR®:

3000,00 € (3,570,00 € inkl. 19% MwSt.)

LIVEINAR®:

3000,00 € (3,570,00 € inkl. 19% MwSt.)

Individual Training: Preis auf Anfrage
Inhouse Training: Preis auf Anfrage

Seminarnummer

S-1450





      Ihr Berater

      Martin Heubeck
      Group Leader Sales

      Beratungszentrale und Buchungshotline:

      Kataloge

      Formate

      Dieses Seminar können Sie als Präsenzseminar, online als LIVEINAR® oder im flexiblen Mix als FLEXINAR® buchen. MEHR ERFAHREN

      Anmeldung

      Ab
      3000,00 € (3,570,00 € inkl. 19% MwSt.)



        Unverbindliche Anfrage

        Preis auf Anfrage

        Inhouse Standard
        • Langjährig erprobte und bewährte Inhalte
        • Topaktuelle Methodenvielfalt
        • Schnelle und unkomplizierte Umsetzung
        • Praxiserfahrene Trainer aus Ihrer Branche
        • Hochprofessionelles Seminarmanagement
        Mehr erfahren
        Inhouse Individuell
        • Maßgeschneidert für Ihr Unternehmen
        • Hohe Transferleistung durch Bearbeitung interner Projekte und Beispiele
        • Praxiserfahrene Trainer aus Ihrer Branche
        • Hochprofessionelles Seminarmanagement
        Mehr erfahren



          WIR BERATEN SIE GERNE

          Haben Sie noch Fragen?

          Informationen zu unseren Seminarbewertungen

          Woher kommen die Seminarbewertungen?

          Die Seminarteilnehmer bewerten unsere Veranstaltungen durch einen Bewertungsbogen. Dieser wird in unserem Qualitätsmanagement digitalisiert und ausgewertet. Die Ergebnisse werden Ihnen bei unseren Seminaren in Form eines Sternebewertungssystems angezeigt.

          Wie ergibt sich die Gesamtnote?

          Folgende Fragen werden in unseren Bewertungsbögen von unseren Teilnehmern mit einer Note von 1-6 bewertet. Daraus ergibt sich der Gesamt-Durchschnitt.

          • Der Dozent ist fachlich kompetent?
          • Der Dozent vermittelt den Lehrinhalt verständlich?
          • Der Dozent strukturiert die Vorträge gut?
          • Der Dozent geht intensiv auf die Fragen ein?
          • Der Dozent gestaltet den Kurs interessant?
          • Die Schulungsunterlagen sind gut verständlich?
          • Die Schulungsunterlagen sind gut strukturiert?
          • Die Schulungsunterlagen sind hilfreich bei meiner beruflichen Tätigkeit?
          • Der Kurs (Inhalte) war mir vorher bekannt?
          • Die Kursdauer ist an die Kursinhalte angepasst?
          • Das Arbeitstempo war zu schnell / zu langsam?
          • Es war ausreichend Zeit für praktische Übungen ?
          • Der Kurs (Inhalte) sollte weninger / mehr praktische Arbeiten beinhalten?
          • Der Kurs (Inhalte) erfüllte insgesamt meine Erwartungen ?
          • Die neuen Kenntnisse werden mir am Arbeitsplatz weiterhelfen?
          • Hat es Ihnen bei uns im Haus gefallen?

          Wenn Sie Fragen zu unseren Bewertungen haben, können Sie gerne Frau Italia Brillante unter unserer kostenlosen Telefonnummer 0800 3400311 (Freecall) anrufen oder eine E-Mail an italia.brillante@protranet.de senden.

          Italia Brillante,
          Trainingskoordination
          ist Mo – Fr 8:00 – 17:00 Uhr für Sie da.