Huawei-Sicherheitsprobleme in Großbritannien zeigen die Notwendigkeit einer sicheren Codierung
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.
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.
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 buchenVorstandsvorsitzender, 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.
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.
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.
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 buchenVorstandsvorsitzender, 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.
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
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 buchenHerunterladenRessourcen für den Einstieg
Benchmarking von Sicherheitskompetenzen: Optimierung von Secure-by-Design im Unternehmen
Die Secure-by-Design-Bewegung ist die Zukunft der sicheren Softwareentwicklung. Erfahren Sie mehr über die wichtigsten Elemente, die Unternehmen berücksichtigen müssen, wenn sie über eine Secure-by-Design-Initiative nachdenken.
DigitalOcean verringert Sicherheitsverschuldung mit Secure Code Warrior
DigitalOceans Einsatz von Secure Code Warrior hat die Sicherheitsverschuldung deutlich reduziert, so dass sich die Teams stärker auf Innovation und Produktivität konzentrieren können. Die verbesserte Sicherheit hat die Produktqualität und den Wettbewerbsvorteil des Unternehmens gestärkt. Mit Blick auf die Zukunft wird der SCW Trust Score dem Unternehmen helfen, seine Sicherheitspraktiken weiter zu verbessern und Innovationen voranzutreiben.
Ressourcen für den Einstieg
Trust Score zeigt den Wert von Secure-by-Design-Upskilling-Initiativen
Unsere Forschung hat gezeigt, dass Schulungen für sicheren Code funktionieren. Trust Score verwendet einen Algorithmus, der auf mehr als 20 Millionen Lerndaten aus der Arbeit von mehr als 250.000 Lernenden in über 600 Organisationen basiert, und zeigt, wie effektiv die Initiative ist, um Schwachstellen zu beseitigen und wie man sie noch effektiver gestalten kann.
Reaktive versus präventive Sicherheit: Prävention ist das bessere Heilmittel
Der Gedanke, Legacy-Code und -Systeme zur gleichen Zeit wie neuere Anwendungen mit präventiver Sicherheit auszustatten, kann entmutigend erscheinen, aber ein Secure-by-Design-Ansatz, der durch die Weiterbildung von Entwicklern durchgesetzt wird, kann die besten Sicherheitsverfahren auf diese Systeme anwenden. Dies ist für viele Unternehmen die beste Chance, ihre Sicherheitslage zu verbessern.
Die Vorteile eines Benchmarking der Sicherheitskompetenzen von Entwicklern
Der zunehmende Fokus auf sicheren Code und Secure-by-Design-Prinzipien erfordert, dass Entwickler von Beginn des SDLC an in Cybersicherheit geschult werden, wobei Tools wie Secure Code Warrior's Trust Score dabei helfen, ihre Fortschritte zu messen und zu verbessern.
Wesentlicher Erfolg für Enterprise Secure-by-Design-Initiativen
Unser jüngstes Forschungspapier „Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise“ ist das Ergebnis einer umfassenden Analyse echter Secure-by-Design-Initiativen auf Unternehmensebene und der Ableitung von Best-Practice-Ansätzen auf Grundlage datengesteuerter Erkenntnisse.