Blog

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

Pieter Danhieux
Veröffentlicht Jun 06, 2019

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

Ein kürzlich veröffentlichter Bericht des britischen Huawei Cyber Security Evaluation Centre identifizierte große Sicherheitsprobleme innerhalb der Softwareentwicklungsprozesse von Huawei. Während sich ein Großteil der Nachrichten über diesen kritischen Bericht auf nicht behobene Probleme aus dem Vorjahr konzentriert, ist das gefährlichere und übersehene Problem der eindeutige Mangel an sicheren Codierungsrichtlinien und -praktiken, die von Huawei eingesetzt werden. Aber das ist ein Problem, das behoben werden kann.

Die Nachrichten für den chinesischen Telekommunikationsriesen Huawei werden immer schlechter. Während die Vereinigten Staaten das Unternehmen von zukünftigen Regierungsaufträgen ausgeschlossen haben, hat Großbritannien die Tatsache, dass viele der zugrundeliegenden Fehler in den Geräten und dem Code von Huawei behebbar sind, eher akzeptiert. Das Vereinigte Königreich richtete 2010 das Huawei Cyber Security Evaluation Centre (HCSEC) ein, um Sicherheitsprobleme in Huawei-Produkten zu bewerten und zu beheben und einen jährlichen Bericht darüber zu erstellen. Dieses Jahr war der Bericht jedoch besonders vernichtend.

Ein Großteil des Fokus auf den HCSEC-Bericht 2019 in den Nachrichten bezog sich auf die Tatsache, dass fast keine Sicherheitsmängel aus dem Vorjahr behoben wurden. Dazu gehört die Verwendung einer älteren Version des Echtzeit-Betriebssystems VxWorks von Wind River, die bald das Ende ihrer Lebensdauer erreichen wird. Huawei hat zwar versprochen, dieses Problem zu beheben (und sie erhalten laufenden Support von Wind River Systems), aber es bleibt eine Kernkomponente in einem Großteil der britischen Telekommunikationsinfrastruktur.

Ein kritischer Faktor, der von den meisten Mainstream-Medien übersehen worden zu sein scheint, besteht in einem möglicherweise grundlegend gestörten Prozess innerhalb der Entwicklung und des Einsatzes neuer Software und Hardware des Unternehmens. Der Bericht stellt "signifikante technische Probleme" mit der Art und Weise fest, wie Huawei seine internen Entwicklungsmethoden handhabt.

Schauen wir uns einige Beispiele für diese technischen Probleme an, die im Bericht beschrieben werden. Es muss gesagt werden, dass eines der besten Dinge, die Huawei getan hat, die Erstellung von Richtlinien zur sicheren Kodierung war, um seine Ingenieure und Programmierer bei der Bereitstellung von neuem Code zu unterstützen. Diese Richtlinien decken ein breites Spektrum an Best Practices ab, wie z. B. die Verwendung bekannter sicherer Versionen von Systemfunktionen und Prozessen aus vertrauenswürdigen Bibliotheken und auf keinen Fall Varianten mit bekannten Sicherheitslücken. Das ist in der Theorie eine tolle Sache, aber eine reale Auswertung eines Produktionssystems von Huawei in Großbritannien ergab, dass diese Richtlinien entweder nie an die Programmierer kommuniziert, von ihnen ignoriert oder einfach nicht durchgesetzt wurden.

Der Bericht untersuchte bestimmte Speicherverarbeitungsfunktionen in öffentlich zugänglichen Anwendungen, in diesem Fall eine 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. Konkret untersuchten die Tester den direkten Aufruf der speicherverarbeitenden Funktionen memcpy(), strcpy() und sprintf() in diesen Produktionssystemen, die seit 1988 dafür bekannt sind, dass sie potenziell zu schweren Sicherheitsproblemen wie Pufferüberläufen führen können.

Schockierenderweise gab es 5.000 direkte Aufrufe von 17 bekannten sicheren memcpy()-Funktionen, aber auch 600 Verwendungen von 12 unsicheren Varianten. Bei den anderen Funktionen war es in etwa das gleiche Verhältnis. Es gab 1.400 sichere strcpy()-Aufrufe, aber auch 400 unsichere mit bekannten Schwachstellen. Und es wurden 2.000 sichere Verwendungen von sprintf() gefunden im Vergleich zu 200 unsicheren. Obwohl es gut ist, dass die meisten Verwendungen dieser Funktionen sicher waren, bleiben immer noch etwa 20% des gesamten Codes anfällig für bekannte Angriffe. Das ist eine riesige Angriffsfläche, die zudem nur die direkten Aufrufe der drei Speicherbehandlungsfunktionen berücksichtigt, nicht aber deren indirekte Verwendung über Funktionszeiger. Obwohl die Prüfer nur diese speziellen Funktionen betrachtet haben, ist es unwahrscheinlich, dass die drei ausgewählten Speicherbehandlungsfunktionen die einzigen mit Problemen sind.

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 umreißen, aber sie sind nur dann effektiv, wenn diese Richtlinien aktiv befolgt werden und die Entwicklergruppe damit vertraut ist. Huawei könnte erhebliche Fortschritte bei der Verbesserung der Sicherheit machen, wenn sie sich verpflichten würden, ihre Programmierer effektiv zu schulen und nicht nur die Grundlagen zur Befolgung der internen Huawei-Richtlinien zu überfliegen. Sie müssen den zusätzlichen Schritt wagen und zeigen, wie man generell sicherer programmiert. Die Programmierer müssen ausreichend in guten (sicheren) und schlechten (unsicheren) Codierungsmustern geschult werden und die Verantwortung erhalten, das zu praktizieren, was ihr Unternehmen predigt, und zwar jedes Mal.

Viele der spezifischen Codierungsprobleme, die im HCSEC-Bericht beschrieben werden, werden als Teil der Plattform angesprochen und durchgesetzt. Secure Code Warrior Plattform angesprochen und durchgesetzt, die Programmierer und Cybersecurity-Teams darin schult, stets sicheren Code einzusetzen und zu pflegen. Konzepte wie niemals auf Benutzereingaben zu vertrauen, immer Funktionen aus etablierten Bibliotheken zu ziehen, alle Eingaben zu bereinigen, bevor sie an einen Server weitergegeben werden und viele andere sichere Kodierungspraktiken werden innerhalb der Plattform ständig demonstriert. Wir gehen auch auf sehr spezifische Schwachstellen ein und zeigen Schritt für Schritt, wie man sie vermeiden und entschärfen kann.

Zusätzlich zu geschicktem Training könnten Unternehmen wie Huawei DevSecOps-Lösungen nutzen. Es fügt Echtzeit-Coaching direkt in der IDE hinzu und verwendet sichere Coding-Rezepte, die an die Sicherheitsrichtlinien des Unternehmens angepasst sind und als Sous-Chef des Entwicklers in der Coding-"Küche" fungieren, während sie ihren Code schreiben. Ein solcher Ansatz könnte Huawei-Programmierern aller Qualifikationsstufen dabei helfen, besseren Code zu schreiben und potenzielle Schwachstellen zu erkennen, während gleichzeitig die Sicherheitsexperten von Huawei ein "Kochbuch" mit Rezepten erstellen können, die ihre Richtlinien einhalten und bei der Ausführung von Befehlen helfen.

Eine zentrale Lehre aus den Problemen von Huawei sollte sein, dass die Erstellung von Richtlinien für sichere Kodierung bedeutungslos ist, wenn die Programmierer sie nicht kennen oder einfach nicht wissen, wie sie gute Kodierungspraktiken befolgen sollen. In diesem Fall entpuppten sich die internen Best-Practices-Richtlinien als Huawei-eigenes zhilaohu; das, was der Westeneinen "Papiertiger" nennen würde. Es war ein Dokument mit viel Stil, aber ohne Substanz. Um ihm echten Biss zu verleihen, wären die richtigen praktischen Tools und ein tatsächliches Schulungsprogramm erforderlich, eines, das einen praktischen Ansatz verfolgt und kontinuierliches Wissen und Fähigkeiten aufbaut.

Ressource anzeigen
Ressource anzeigen

Ein aktueller Bericht des britischen Huawei Cyber Security Evaluation Centre identifiziert große Sicherheitsprobleme innerhalb der Softwareentwicklungsprozesse von Huawei. Aber es ist ein Problem, das behoben werden kann.

Interessiert an mehr?

Vorstandsvorsitzender, Chairman und Mitbegründer

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchen
Weitergeben:
Autor
Pieter Danhieux
Veröffentlicht Jun 06, 2019

Vorstandsvorsitzender, Chairman und Mitbegründer

Pieter Danhieux ist ein weltweit anerkannter Sicherheitsexperte mit mehr als 12 Jahren Erfahrung als Sicherheitsberater und 8 Jahren als Principal Instructor für SANS, wo er offensive Techniken lehrt, wie man Organisationen, Systeme und Einzelpersonen auf Sicherheitsschwächen hin untersucht und bewertet. Im Jahr 2016 wurde er als einer der "Coolest Tech People in Australia" (Business Insider) ausgezeichnet, erhielt die Auszeichnung "Cyber Security Professional of the Year" (AISA - Australian Information Security Association) und besitzt die Zertifizierungen GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

Weitergeben:

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

Ein kürzlich veröffentlichter Bericht des britischen Huawei Cyber Security Evaluation Centre identifizierte große Sicherheitsprobleme innerhalb der Softwareentwicklungsprozesse von Huawei. Während sich ein Großteil der Nachrichten über diesen kritischen Bericht auf nicht behobene Probleme aus dem Vorjahr konzentriert, ist das gefährlichere und übersehene Problem der eindeutige Mangel an sicheren Codierungsrichtlinien und -praktiken, die von Huawei eingesetzt werden. Aber das ist ein Problem, das behoben werden kann.

Die Nachrichten für den chinesischen Telekommunikationsriesen Huawei werden immer schlechter. Während die Vereinigten Staaten das Unternehmen von zukünftigen Regierungsaufträgen ausgeschlossen haben, hat Großbritannien die Tatsache, dass viele der zugrundeliegenden Fehler in den Geräten und dem Code von Huawei behebbar sind, eher akzeptiert. Das Vereinigte Königreich richtete 2010 das Huawei Cyber Security Evaluation Centre (HCSEC) ein, um Sicherheitsprobleme in Huawei-Produkten zu bewerten und zu beheben und einen jährlichen Bericht darüber zu erstellen. Dieses Jahr war der Bericht jedoch besonders vernichtend.

Ein Großteil des Fokus auf den HCSEC-Bericht 2019 in den Nachrichten bezog sich auf die Tatsache, dass fast keine Sicherheitsmängel aus dem Vorjahr behoben wurden. Dazu gehört die Verwendung einer älteren Version des Echtzeit-Betriebssystems VxWorks von Wind River, die bald das Ende ihrer Lebensdauer erreichen wird. Huawei hat zwar versprochen, dieses Problem zu beheben (und sie erhalten laufenden Support von Wind River Systems), aber es bleibt eine Kernkomponente in einem Großteil der britischen Telekommunikationsinfrastruktur.

Ein kritischer Faktor, der von den meisten Mainstream-Medien übersehen worden zu sein scheint, besteht in einem möglicherweise grundlegend gestörten Prozess innerhalb der Entwicklung und des Einsatzes neuer Software und Hardware des Unternehmens. Der Bericht stellt "signifikante technische Probleme" mit der Art und Weise fest, wie Huawei seine internen Entwicklungsmethoden handhabt.

Schauen wir uns einige Beispiele für diese technischen Probleme an, die im Bericht beschrieben werden. Es muss gesagt werden, dass eines der besten Dinge, die Huawei getan hat, die Erstellung von Richtlinien zur sicheren Kodierung war, um seine Ingenieure und Programmierer bei der Bereitstellung von neuem Code zu unterstützen. Diese Richtlinien decken ein breites Spektrum an Best Practices ab, wie z. B. die Verwendung bekannter sicherer Versionen von Systemfunktionen und Prozessen aus vertrauenswürdigen Bibliotheken und auf keinen Fall Varianten mit bekannten Sicherheitslücken. Das ist in der Theorie eine tolle Sache, aber eine reale Auswertung eines Produktionssystems von Huawei in Großbritannien ergab, dass diese Richtlinien entweder nie an die Programmierer kommuniziert, von ihnen ignoriert oder einfach nicht durchgesetzt wurden.

Der Bericht untersuchte bestimmte Speicherverarbeitungsfunktionen in öffentlich zugänglichen Anwendungen, in diesem Fall eine 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. Konkret untersuchten die Tester den direkten Aufruf der speicherverarbeitenden Funktionen memcpy(), strcpy() und sprintf() in diesen Produktionssystemen, die seit 1988 dafür bekannt sind, dass sie potenziell zu schweren Sicherheitsproblemen wie Pufferüberläufen führen können.

Schockierenderweise gab es 5.000 direkte Aufrufe von 17 bekannten sicheren memcpy()-Funktionen, aber auch 600 Verwendungen von 12 unsicheren Varianten. Bei den anderen Funktionen war es in etwa das gleiche Verhältnis. Es gab 1.400 sichere strcpy()-Aufrufe, aber auch 400 unsichere mit bekannten Schwachstellen. Und es wurden 2.000 sichere Verwendungen von sprintf() gefunden im Vergleich zu 200 unsicheren. Obwohl es gut ist, dass die meisten Verwendungen dieser Funktionen sicher waren, bleiben immer noch etwa 20% des gesamten Codes anfällig für bekannte Angriffe. Das ist eine riesige Angriffsfläche, die zudem nur die direkten Aufrufe der drei Speicherbehandlungsfunktionen berücksichtigt, nicht aber deren indirekte Verwendung über Funktionszeiger. Obwohl die Prüfer nur diese speziellen Funktionen betrachtet haben, ist es unwahrscheinlich, dass die drei ausgewählten Speicherbehandlungsfunktionen die einzigen mit Problemen sind.

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 umreißen, aber sie sind nur dann effektiv, wenn diese Richtlinien aktiv befolgt werden und die Entwicklergruppe damit vertraut ist. Huawei könnte erhebliche Fortschritte bei der Verbesserung der Sicherheit machen, wenn sie sich verpflichten würden, ihre Programmierer effektiv zu schulen und nicht nur die Grundlagen zur Befolgung der internen Huawei-Richtlinien zu überfliegen. Sie müssen den zusätzlichen Schritt wagen und zeigen, wie man generell sicherer programmiert. Die Programmierer müssen ausreichend in guten (sicheren) und schlechten (unsicheren) Codierungsmustern geschult werden und die Verantwortung erhalten, das zu praktizieren, was ihr Unternehmen predigt, und zwar jedes Mal.

Viele der spezifischen Codierungsprobleme, die im HCSEC-Bericht beschrieben werden, werden als Teil der Plattform angesprochen und durchgesetzt. Secure Code Warrior Plattform angesprochen und durchgesetzt, die Programmierer und Cybersecurity-Teams darin schult, stets sicheren Code einzusetzen und zu pflegen. Konzepte wie niemals auf Benutzereingaben zu vertrauen, immer Funktionen aus etablierten Bibliotheken zu ziehen, alle Eingaben zu bereinigen, bevor sie an einen Server weitergegeben werden und viele andere sichere Kodierungspraktiken werden innerhalb der Plattform ständig demonstriert. Wir gehen auch auf sehr spezifische Schwachstellen ein und zeigen Schritt für Schritt, wie man sie vermeiden und entschärfen kann.

Zusätzlich zu geschicktem Training könnten Unternehmen wie Huawei DevSecOps-Lösungen nutzen. Es fügt Echtzeit-Coaching direkt in der IDE hinzu und verwendet sichere Coding-Rezepte, die an die Sicherheitsrichtlinien des Unternehmens angepasst sind und als Sous-Chef des Entwicklers in der Coding-"Küche" fungieren, während sie ihren Code schreiben. Ein solcher Ansatz könnte Huawei-Programmierern aller Qualifikationsstufen dabei helfen, besseren Code zu schreiben und potenzielle Schwachstellen zu erkennen, während gleichzeitig die Sicherheitsexperten von Huawei ein "Kochbuch" mit Rezepten erstellen können, die ihre Richtlinien einhalten und bei der Ausführung von Befehlen helfen.

Eine zentrale Lehre aus den Problemen von Huawei sollte sein, dass die Erstellung von Richtlinien für sichere Kodierung bedeutungslos ist, wenn die Programmierer sie nicht kennen oder einfach nicht wissen, wie sie gute Kodierungspraktiken befolgen sollen. In diesem Fall entpuppten sich die internen Best-Practices-Richtlinien als Huawei-eigenes zhilaohu; das, was der Westeneinen "Papiertiger" nennen würde. Es war ein Dokument mit viel Stil, aber ohne Substanz. Um ihm echten Biss zu verleihen, wären die richtigen praktischen Tools und ein tatsächliches Schulungsprogramm erforderlich, eines, das einen praktischen Ansatz verfolgt und kontinuierliches Wissen und Fähigkeiten aufbaut.

Ressource anzeigen
Ressource anzeigen

Füllen Sie das folgende Formular aus, um den Bericht herunterzuladen

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.

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

Ein kürzlich veröffentlichter Bericht des britischen Huawei Cyber Security Evaluation Centre identifizierte große Sicherheitsprobleme innerhalb der Softwareentwicklungsprozesse von Huawei. Während sich ein Großteil der Nachrichten über diesen kritischen Bericht auf nicht behobene Probleme aus dem Vorjahr konzentriert, ist das gefährlichere und übersehene Problem der eindeutige Mangel an sicheren Codierungsrichtlinien und -praktiken, die von Huawei eingesetzt werden. Aber das ist ein Problem, das behoben werden kann.

Die Nachrichten für den chinesischen Telekommunikationsriesen Huawei werden immer schlechter. Während die Vereinigten Staaten das Unternehmen von zukünftigen Regierungsaufträgen ausgeschlossen haben, hat Großbritannien die Tatsache, dass viele der zugrundeliegenden Fehler in den Geräten und dem Code von Huawei behebbar sind, eher akzeptiert. Das Vereinigte Königreich richtete 2010 das Huawei Cyber Security Evaluation Centre (HCSEC) ein, um Sicherheitsprobleme in Huawei-Produkten zu bewerten und zu beheben und einen jährlichen Bericht darüber zu erstellen. Dieses Jahr war der Bericht jedoch besonders vernichtend.

Ein Großteil des Fokus auf den HCSEC-Bericht 2019 in den Nachrichten bezog sich auf die Tatsache, dass fast keine Sicherheitsmängel aus dem Vorjahr behoben wurden. Dazu gehört die Verwendung einer älteren Version des Echtzeit-Betriebssystems VxWorks von Wind River, die bald das Ende ihrer Lebensdauer erreichen wird. Huawei hat zwar versprochen, dieses Problem zu beheben (und sie erhalten laufenden Support von Wind River Systems), aber es bleibt eine Kernkomponente in einem Großteil der britischen Telekommunikationsinfrastruktur.

Ein kritischer Faktor, der von den meisten Mainstream-Medien übersehen worden zu sein scheint, besteht in einem möglicherweise grundlegend gestörten Prozess innerhalb der Entwicklung und des Einsatzes neuer Software und Hardware des Unternehmens. Der Bericht stellt "signifikante technische Probleme" mit der Art und Weise fest, wie Huawei seine internen Entwicklungsmethoden handhabt.

Schauen wir uns einige Beispiele für diese technischen Probleme an, die im Bericht beschrieben werden. Es muss gesagt werden, dass eines der besten Dinge, die Huawei getan hat, die Erstellung von Richtlinien zur sicheren Kodierung war, um seine Ingenieure und Programmierer bei der Bereitstellung von neuem Code zu unterstützen. Diese Richtlinien decken ein breites Spektrum an Best Practices ab, wie z. B. die Verwendung bekannter sicherer Versionen von Systemfunktionen und Prozessen aus vertrauenswürdigen Bibliotheken und auf keinen Fall Varianten mit bekannten Sicherheitslücken. Das ist in der Theorie eine tolle Sache, aber eine reale Auswertung eines Produktionssystems von Huawei in Großbritannien ergab, dass diese Richtlinien entweder nie an die Programmierer kommuniziert, von ihnen ignoriert oder einfach nicht durchgesetzt wurden.

Der Bericht untersuchte bestimmte Speicherverarbeitungsfunktionen in öffentlich zugänglichen Anwendungen, in diesem Fall eine 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. Konkret untersuchten die Tester den direkten Aufruf der speicherverarbeitenden Funktionen memcpy(), strcpy() und sprintf() in diesen Produktionssystemen, die seit 1988 dafür bekannt sind, dass sie potenziell zu schweren Sicherheitsproblemen wie Pufferüberläufen führen können.

Schockierenderweise gab es 5.000 direkte Aufrufe von 17 bekannten sicheren memcpy()-Funktionen, aber auch 600 Verwendungen von 12 unsicheren Varianten. Bei den anderen Funktionen war es in etwa das gleiche Verhältnis. Es gab 1.400 sichere strcpy()-Aufrufe, aber auch 400 unsichere mit bekannten Schwachstellen. Und es wurden 2.000 sichere Verwendungen von sprintf() gefunden im Vergleich zu 200 unsicheren. Obwohl es gut ist, dass die meisten Verwendungen dieser Funktionen sicher waren, bleiben immer noch etwa 20% des gesamten Codes anfällig für bekannte Angriffe. Das ist eine riesige Angriffsfläche, die zudem nur die direkten Aufrufe der drei Speicherbehandlungsfunktionen berücksichtigt, nicht aber deren indirekte Verwendung über Funktionszeiger. Obwohl die Prüfer nur diese speziellen Funktionen betrachtet haben, ist es unwahrscheinlich, dass die drei ausgewählten Speicherbehandlungsfunktionen die einzigen mit Problemen sind.

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 umreißen, aber sie sind nur dann effektiv, wenn diese Richtlinien aktiv befolgt werden und die Entwicklergruppe damit vertraut ist. Huawei könnte erhebliche Fortschritte bei der Verbesserung der Sicherheit machen, wenn sie sich verpflichten würden, ihre Programmierer effektiv zu schulen und nicht nur die Grundlagen zur Befolgung der internen Huawei-Richtlinien zu überfliegen. Sie müssen den zusätzlichen Schritt wagen und zeigen, wie man generell sicherer programmiert. Die Programmierer müssen ausreichend in guten (sicheren) und schlechten (unsicheren) Codierungsmustern geschult werden und die Verantwortung erhalten, das zu praktizieren, was ihr Unternehmen predigt, und zwar jedes Mal.

Viele der spezifischen Codierungsprobleme, die im HCSEC-Bericht beschrieben werden, werden als Teil der Plattform angesprochen und durchgesetzt. Secure Code Warrior Plattform angesprochen und durchgesetzt, die Programmierer und Cybersecurity-Teams darin schult, stets sicheren Code einzusetzen und zu pflegen. Konzepte wie niemals auf Benutzereingaben zu vertrauen, immer Funktionen aus etablierten Bibliotheken zu ziehen, alle Eingaben zu bereinigen, bevor sie an einen Server weitergegeben werden und viele andere sichere Kodierungspraktiken werden innerhalb der Plattform ständig demonstriert. Wir gehen auch auf sehr spezifische Schwachstellen ein und zeigen Schritt für Schritt, wie man sie vermeiden und entschärfen kann.

Zusätzlich zu geschicktem Training könnten Unternehmen wie Huawei DevSecOps-Lösungen nutzen. Es fügt Echtzeit-Coaching direkt in der IDE hinzu und verwendet sichere Coding-Rezepte, die an die Sicherheitsrichtlinien des Unternehmens angepasst sind und als Sous-Chef des Entwicklers in der Coding-"Küche" fungieren, während sie ihren Code schreiben. Ein solcher Ansatz könnte Huawei-Programmierern aller Qualifikationsstufen dabei helfen, besseren Code zu schreiben und potenzielle Schwachstellen zu erkennen, während gleichzeitig die Sicherheitsexperten von Huawei ein "Kochbuch" mit Rezepten erstellen können, die ihre Richtlinien einhalten und bei der Ausführung von Befehlen helfen.

Eine zentrale Lehre aus den Problemen von Huawei sollte sein, dass die Erstellung von Richtlinien für sichere Kodierung bedeutungslos ist, wenn die Programmierer sie nicht kennen oder einfach nicht wissen, wie sie gute Kodierungspraktiken befolgen sollen. In diesem Fall entpuppten sich die internen Best-Practices-Richtlinien als Huawei-eigenes zhilaohu; das, was der Westeneinen "Papiertiger" nennen würde. Es war ein Dokument mit viel Stil, aber ohne Substanz. Um ihm echten Biss zu verleihen, wären die richtigen praktischen Tools und ein tatsächliches Schulungsprogramm erforderlich, eines, das einen praktischen Ansatz verfolgt und kontinuierliches Wissen und Fähigkeiten aufbaut.

Auf Ressource zugreifen

Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Bericht ansehenDemo buchen
PDF herunterladen
Ressource anzeigen
Weitergeben:
Interessiert an mehr?

Weitergeben:
Autor
Pieter Danhieux
Veröffentlicht Jun 06, 2019

Vorstandsvorsitzender, Chairman und Mitbegründer

Pieter Danhieux ist ein weltweit anerkannter Sicherheitsexperte mit mehr als 12 Jahren Erfahrung als Sicherheitsberater und 8 Jahren als Principal Instructor für SANS, wo er offensive Techniken lehrt, wie man Organisationen, Systeme und Einzelpersonen auf Sicherheitsschwächen hin untersucht und bewertet. Im Jahr 2016 wurde er als einer der "Coolest Tech People in Australia" (Business Insider) ausgezeichnet, erhielt die Auszeichnung "Cyber Security Professional of the Year" (AISA - Australian Information Security Association) und besitzt die Zertifizierungen GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

Weitergeben:

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

Ein kürzlich veröffentlichter Bericht des britischen Huawei Cyber Security Evaluation Centre identifizierte große Sicherheitsprobleme innerhalb der Softwareentwicklungsprozesse von Huawei. Während sich ein Großteil der Nachrichten über diesen kritischen Bericht auf nicht behobene Probleme aus dem Vorjahr konzentriert, ist das gefährlichere und übersehene Problem der eindeutige Mangel an sicheren Codierungsrichtlinien und -praktiken, die von Huawei eingesetzt werden. Aber das ist ein Problem, das behoben werden kann.

Die Nachrichten für den chinesischen Telekommunikationsriesen Huawei werden immer schlechter. Während die Vereinigten Staaten das Unternehmen von zukünftigen Regierungsaufträgen ausgeschlossen haben, hat Großbritannien die Tatsache, dass viele der zugrundeliegenden Fehler in den Geräten und dem Code von Huawei behebbar sind, eher akzeptiert. Das Vereinigte Königreich richtete 2010 das Huawei Cyber Security Evaluation Centre (HCSEC) ein, um Sicherheitsprobleme in Huawei-Produkten zu bewerten und zu beheben und einen jährlichen Bericht darüber zu erstellen. Dieses Jahr war der Bericht jedoch besonders vernichtend.

Ein Großteil des Fokus auf den HCSEC-Bericht 2019 in den Nachrichten bezog sich auf die Tatsache, dass fast keine Sicherheitsmängel aus dem Vorjahr behoben wurden. Dazu gehört die Verwendung einer älteren Version des Echtzeit-Betriebssystems VxWorks von Wind River, die bald das Ende ihrer Lebensdauer erreichen wird. Huawei hat zwar versprochen, dieses Problem zu beheben (und sie erhalten laufenden Support von Wind River Systems), aber es bleibt eine Kernkomponente in einem Großteil der britischen Telekommunikationsinfrastruktur.

Ein kritischer Faktor, der von den meisten Mainstream-Medien übersehen worden zu sein scheint, besteht in einem möglicherweise grundlegend gestörten Prozess innerhalb der Entwicklung und des Einsatzes neuer Software und Hardware des Unternehmens. Der Bericht stellt "signifikante technische Probleme" mit der Art und Weise fest, wie Huawei seine internen Entwicklungsmethoden handhabt.

Schauen wir uns einige Beispiele für diese technischen Probleme an, die im Bericht beschrieben werden. Es muss gesagt werden, dass eines der besten Dinge, die Huawei getan hat, die Erstellung von Richtlinien zur sicheren Kodierung war, um seine Ingenieure und Programmierer bei der Bereitstellung von neuem Code zu unterstützen. Diese Richtlinien decken ein breites Spektrum an Best Practices ab, wie z. B. die Verwendung bekannter sicherer Versionen von Systemfunktionen und Prozessen aus vertrauenswürdigen Bibliotheken und auf keinen Fall Varianten mit bekannten Sicherheitslücken. Das ist in der Theorie eine tolle Sache, aber eine reale Auswertung eines Produktionssystems von Huawei in Großbritannien ergab, dass diese Richtlinien entweder nie an die Programmierer kommuniziert, von ihnen ignoriert oder einfach nicht durchgesetzt wurden.

Der Bericht untersuchte bestimmte Speicherverarbeitungsfunktionen in öffentlich zugänglichen Anwendungen, in diesem Fall eine 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. Konkret untersuchten die Tester den direkten Aufruf der speicherverarbeitenden Funktionen memcpy(), strcpy() und sprintf() in diesen Produktionssystemen, die seit 1988 dafür bekannt sind, dass sie potenziell zu schweren Sicherheitsproblemen wie Pufferüberläufen führen können.

Schockierenderweise gab es 5.000 direkte Aufrufe von 17 bekannten sicheren memcpy()-Funktionen, aber auch 600 Verwendungen von 12 unsicheren Varianten. Bei den anderen Funktionen war es in etwa das gleiche Verhältnis. Es gab 1.400 sichere strcpy()-Aufrufe, aber auch 400 unsichere mit bekannten Schwachstellen. Und es wurden 2.000 sichere Verwendungen von sprintf() gefunden im Vergleich zu 200 unsicheren. Obwohl es gut ist, dass die meisten Verwendungen dieser Funktionen sicher waren, bleiben immer noch etwa 20% des gesamten Codes anfällig für bekannte Angriffe. Das ist eine riesige Angriffsfläche, die zudem nur die direkten Aufrufe der drei Speicherbehandlungsfunktionen berücksichtigt, nicht aber deren indirekte Verwendung über Funktionszeiger. Obwohl die Prüfer nur diese speziellen Funktionen betrachtet haben, ist es unwahrscheinlich, dass die drei ausgewählten Speicherbehandlungsfunktionen die einzigen mit Problemen sind.

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 umreißen, aber sie sind nur dann effektiv, wenn diese Richtlinien aktiv befolgt werden und die Entwicklergruppe damit vertraut ist. Huawei könnte erhebliche Fortschritte bei der Verbesserung der Sicherheit machen, wenn sie sich verpflichten würden, ihre Programmierer effektiv zu schulen und nicht nur die Grundlagen zur Befolgung der internen Huawei-Richtlinien zu überfliegen. Sie müssen den zusätzlichen Schritt wagen und zeigen, wie man generell sicherer programmiert. Die Programmierer müssen ausreichend in guten (sicheren) und schlechten (unsicheren) Codierungsmustern geschult werden und die Verantwortung erhalten, das zu praktizieren, was ihr Unternehmen predigt, und zwar jedes Mal.

Viele der spezifischen Codierungsprobleme, die im HCSEC-Bericht beschrieben werden, werden als Teil der Plattform angesprochen und durchgesetzt. Secure Code Warrior Plattform angesprochen und durchgesetzt, die Programmierer und Cybersecurity-Teams darin schult, stets sicheren Code einzusetzen und zu pflegen. Konzepte wie niemals auf Benutzereingaben zu vertrauen, immer Funktionen aus etablierten Bibliotheken zu ziehen, alle Eingaben zu bereinigen, bevor sie an einen Server weitergegeben werden und viele andere sichere Kodierungspraktiken werden innerhalb der Plattform ständig demonstriert. Wir gehen auch auf sehr spezifische Schwachstellen ein und zeigen Schritt für Schritt, wie man sie vermeiden und entschärfen kann.

Zusätzlich zu geschicktem Training könnten Unternehmen wie Huawei DevSecOps-Lösungen nutzen. Es fügt Echtzeit-Coaching direkt in der IDE hinzu und verwendet sichere Coding-Rezepte, die an die Sicherheitsrichtlinien des Unternehmens angepasst sind und als Sous-Chef des Entwicklers in der Coding-"Küche" fungieren, während sie ihren Code schreiben. Ein solcher Ansatz könnte Huawei-Programmierern aller Qualifikationsstufen dabei helfen, besseren Code zu schreiben und potenzielle Schwachstellen zu erkennen, während gleichzeitig die Sicherheitsexperten von Huawei ein "Kochbuch" mit Rezepten erstellen können, die ihre Richtlinien einhalten und bei der Ausführung von Befehlen helfen.

Eine zentrale Lehre aus den Problemen von Huawei sollte sein, dass die Erstellung von Richtlinien für sichere Kodierung bedeutungslos ist, wenn die Programmierer sie nicht kennen oder einfach nicht wissen, wie sie gute Kodierungspraktiken befolgen sollen. In diesem Fall entpuppten sich die internen Best-Practices-Richtlinien als Huawei-eigenes zhilaohu; das, was der Westeneinen "Papiertiger" nennen würde. Es war ein Dokument mit viel Stil, aber ohne Substanz. Um ihm echten Biss zu verleihen, wären die richtigen praktischen Tools und ein tatsächliches Schulungsprogramm erforderlich, eines, das einen praktischen Ansatz verfolgt und kontinuierliches Wissen und Fähigkeiten aufbaut.

Inhaltsübersicht

PDF herunterladen
Ressource anzeigen
Interessiert an mehr?

Vorstandsvorsitzender, Chairman und Mitbegründer

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.

Demo buchenHerunterladen
Weitergeben:
Ressourcendrehscheibe

Ressourcen für den Einstieg

Mehr Beiträge
Ressourcendrehscheibe

Ressourcen für den Einstieg

Mehr Beiträge