Blog

Die Sicherheitsprobleme von Huawei in Großbritannien zeigen die Notwendigkeit einer sicheren Codierung

June 6, 2019
Pieter Danhieux

Ursprünglich veröffentlicht in Informationszeitalter. Dies ist eine aktualisierte Version, die die Positionierung rund um die laufende Sicherheitsunterstützung von Wind River Systems für ihr Echtzeit-Betriebssystemprodukt VxWorks korrigiert.

In einem kürzlich veröffentlichten Bericht des britischen Huawei Cyber Security Evaluation Centre wurden wichtige Sicherheitsprobleme in den Softwareentwicklungsprozessen von Huawei identifiziert. Während sich ein Großteil der Nachrichten zu diesem kritischen Bericht auf noch nicht behandelte Probleme aus dem Vorjahr konzentriert, ist das offensichtliche Fehlen von Richtlinien und Praktiken zur sicheren Codierung von Huawei das gefährlichere und übersehenere Problem. Aber es ist ein Problem, das behoben werden kann.

Die Nachrichten für den chinesischen Telekommunikationsriesen Huawei werden immer schlimmer. Während die Vereinigten Staaten dem Unternehmen jegliche zukünftige Regierungsarbeit verboten haben, akzeptierte das Vereinigte Königreich eher die Tatsache, dass viele der zugrunde liegenden Fehler in den Geräten und dem Code von Huawei behoben werden können. Das Vereinigte Königreich richtete 2010 das Huawei Cyber Security Evaluation Centre (HCSEC) ein, um Sicherheitsprobleme in Huawei-Produkten zu evaluieren und zu beheben und Folgendes zu produzieren ein Jahresbericht über sie. In diesem Jahr war der Bericht jedoch besonders vernichtend.

Ein Großteil der Aufmerksamkeit, die in den Nachrichten auf den HCSEC-Bericht 2019 gerichtet wurde, bezog sich auf die Tatsache, dass fast keine Sicherheitslücken aus dem Vorjahr behoben wurden. Dazu gehört auch die Verwendung einer älteren Version des VxWorks-Echtzeitbetriebssystems von Wind River, deren Nutzungsdauer bald abgelaufen sein wird. Huawei hat versprochen, dieses Problem zu beheben (und sie werden fortlaufend von Wind River Systems unterstützt), aber es bleibt ein Kernbestandteil eines Großteils der britischen Telekommunikationsinfrastruktur.

Ein kritischer Faktor, der von den meisten Mainstream-Medien offenbar übersehen wurde, läuft auf einen möglicherweise grundlegend kaputten Prozess bei der Entwicklung und Bereitstellung neuer Software und Hardware durch das Unternehmen hinaus. In dem Bericht wird auf „erhebliche technische Probleme“ bei der Art und Weise hingewiesen, wie Huawei mit seinen internen technischen Methoden umgeht.

Schauen wir uns einige Beispiele für die im Bericht beschriebenen technischen Probleme an. Es muss gesagt werden, dass eines der besten Dinge, die Huawei getan hat, darin bestand, Richtlinien für sichere Codierung zu erstellen, um ihren Ingenieuren und Programmierern bei der Bereitstellung neuen Codes zu helfen. Diese Richtlinien decken ein breites Spektrum an bewährten Methoden ab, z. B. die Verwendung bekannter sicherer Versionen von Systemfunktionen und Prozessen aus vertrauenswürdigen Bibliotheken, und schon gar nicht Varianten mit bekannten Sicherheitslücken. Theoretisch ist das eine großartige Sache, aber eine reale Bewertung eines Huawei-Produktionssystems im Vereinigten Königreich ergab, dass diese Richtlinien entweder nie an Programmierer weitergegeben, von ihnen ignoriert oder einfach nicht durchgesetzt wurden.

Der Bericht befasste sich mit spezifischen Speicherverwaltungsfunktionen in öffentlich zugänglichen Anwendungen, in diesem Fall einer Reihe von Message Boards, in denen Benutzer als Funktion des Programms aufgefordert wurden, Eingaben hinzuzufügen. Da Benutzereingabebereiche niemals als „vertrauenswürdig“ behandelt werden sollten, wurde erwartet, dass diese Bereiche gemäß den internen Richtlinien von Huawei nur sicheren Code enthalten würden. Insbesondere untersuchten die Tester den direkten Aufruf der Speicherverwaltungsfunktionen memcpy (), strcpy () und sprintf () innerhalb dieser Produktionssysteme. Seitdem ist bekannt, dass sie potenziell zu schwerwiegenden Sicherheitsproblemen wie einem Pufferüberlauf führen 1988 .

Schockierenderweise gab es 5.000 direkte Aufrufe von 17 bekannten sicheren memcpy () -Funktionen, aber auch 600 Verwendungen von 12 unsicheren Varianten. Es war ungefähr das gleiche Verhältnis wie bei den anderen Funktionen. Es gab 1.400 sichere strcpy () -Aufrufe, aber auch 400 schlechte mit bekannten Sicherheitslücken. Und es wurden 2.000 sichere Anwendungen von sprintf () gefunden, verglichen mit 200 unsicheren. Es ist zwar gut, dass die meisten Anwendungen dieser Funktionen sicher waren, aber trotzdem sind etwa 20% des gesamten Codes anfällig für bekannte Angriffe. Das ist eine riesige Angriffsfläche an der Bedrohungsfläche, und es werden auch nur direkte Aufrufe der drei Speicherverwaltungsfunktionen berücksichtigt, keine Fälle, in denen sie indirekt durch Funktionszeiger verwendet werden. Die Prüfer haben sich zwar nur mit diesen spezifischen Funktionen befasst, aber es ist unwahrscheinlich, dass die drei ausgewählten Funktionen zur Speicherverwaltung die einzigen sind, bei denen Probleme auftreten.

Es ist zwar gut, dass Huawei einen Best-Practice-Leitfaden für seine Programmierer erstellt hat, aber es ist klar, dass noch mehr getan werden muss. Es ist ein Schritt, die Sicherheitserwartungen zu skizzieren, aber sie sind nur wirksam, wenn diese Richtlinien aktiv befolgt werden und der Entwicklungskohorte vertraut sind. Huawei könnte erhebliche Fortschritte bei der Verbesserung seiner Sicherheit machen, indem es sich verpflichtet, seine Programmierer effektiv zu schulen und nicht nur die Grundlagen zur Einhaltung der internen Huawei-Richtlinien zu überfliegen. Sie müssen den zusätzlichen Sprung wagen, um zu demonstrieren, wie man generell sicherer codiert. Programmierer müssen in Bezug auf gute (sichere) und schlechte (unsichere) Codierungsmuster ausreichend geschult werden und ihnen die Verantwortung übertragen, das, was ihr Unternehmen predigt, jedes Mal in die Praxis umzusetzen.

Viele der im HCSEC-Bericht beschriebenen spezifischen Codierungsprobleme werden im Rahmen der Sicherer Codekrieger Plattform, die Programmierer und Cybersicherheitsteams darin schult, sicheren Code stets bereitzustellen und zu verwalten. Konzepte wie niemals Benutzereingaben zu vertrauen, immer Funktionen aus etablierten Bibliotheken abzurufen, alle Eingaben zu bereinigen, bevor sie an einen Server weitergegeben werden, und viele andere sichere Programmierpraktiken werden auf der Plattform ständig demonstriert. Wir schauen uns auch hochspezifische Sicherheitslücken an und zeigen Schritt für Schritt, wie sie vermieden und gemindert werden können.

Neben geschickten Schulungen könnten Unternehmen wie Huawei DevSecOps-Lösungen nutzen. Es fügt Echtzeit-Coaching direkt in der IDE hinzu und verwendet sichere Codierungsrezepte, die auf die Sicherheitsrichtlinien des Unternehmens zugeschnitten sind, und fungiert als Souschef des Entwicklers in der Programmierküche, während er seinen Code schreibt. Ein solcher Ansatz könnte Huawei-Programmierern aller Qualifikationsstufen helfen, besseren Code zu schreiben und potenzielle Sicherheitslücken zu erkennen. Gleichzeitig könnten die Sicherheitsexperten von Huawei ein „Kochbuch“ mit Rezepten erstellen, die ihren Richtlinien entsprechen und bei der Ausführung von Befehlen helfen.

Eine zentrale Lektion aus Huaweis Problemen sollte sein, dass die Erstellung sicherer Codierungsrichtlinien bedeutungslos ist, wenn Programmierer nichts über sie wissen oder einfach nicht wissen, wie man gute Programmierpraktiken befolgt. In diesem Fall entpuppten sich die internen Best-Practice-Richtlinien als Huaweis eigenes Zhilaohu, was der Westen als“ bezeichnen würdeein Papiertiger'. Es war ein Dokument mit viel Stil, aber ohne Substanz. Um ihm echte Zähne zu geben, wären die richtigen praktischen Werkzeuge und ein konkretes Schulungsprogramm erforderlich, eines, das einen praktischen Ansatz verfolgt und kontinuierliches Wissen und Können vermittelt.

Slogan

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
Slogan

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Are you a CISO or Engineering Leader worried about the Security and Cost of LLM code generation?

Review the SCW AI Trust Index, our proprietary LLM benchmarking data, before going all-in on an AI model.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Enabler 6: Regular Reporting to Leadership

Executive buy-in doesn't sustain itself. Enabler 6 shows how regular reporting keeps leadership engaged, informed, and invested in program success.

Learn More
Blog
Filter Label
This is some text inside of a div block.

The Future of AI Software Governance Is Built on Strong Partnerships

Discover why Secure Code Warrior is becoming a channel-first company and how trusted partners help organizations adopt AI Software Governance securely and at scale.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo