COBOL-Anwendungsentwicklung Sicherheit | Secure Code Warrior

Veröffentlicht Mai 21, 2020
von Pieter Danhieux
FALLSTUDIE

COBOL-Anwendungsentwicklung Sicherheit | Secure Code Warrior

Veröffentlicht Mai 21, 2020
von Pieter Danhieux
Ressource anzeigen
Ressource anzeigen

Es scheint fast komisch, dass wir im Jahr 2019 über die Arbeit mit einer Computersprache sprechen, die 1959 erfunden wurde. Es gibt heutzutage nicht allzu viele Seminare oder Kongresse, die sich der Kunst widmen, klassische Singer-Nähmaschinen neu einzufädeln oder die Ölwanne an einem Chevrolet Parkwood oder einer Triumph Herald auszutauschen. Die meisten dieser in die Jahre gekommenen Werkzeuge haben längst ausgedient und sind durch neue und effizientere Modelle ersetzt worden. Doch hier im Technologieland, das im Vergleich zu anderen Branchen als hochmodern gilt, arbeiten wir immer noch mit Sprachen wie COBOL, das etwa zur gleichen Zeit veröffentlicht wurde.

Dafür gibt es natürlich sehr gute Gründe. Die Common Business Oriented Language (COBOL) mag 60 Jahre alt sein, aber sie war so gut konstruiert, dass sie auch heute noch relevant und weit verbreitet ist.

COBOL wurde als relativ einfache Möglichkeit geschaffen, mit Hilfe von einfacher Sprache, gruppiert in spezifischen Sätzen und Syntax, Backend-Systeme zu programmieren, um mathematische und formelhafte Aufgaben auszuführen. Warum ist es heute noch aktuell? Ganz einfach: Sie ist sehr gut in ihrem Job. In gewisser Weise ist sie ein Teil der Computerstruktur für viele Mainframe- und Kernsysteme in so unterschiedlichen Branchen wie dem Finanzsektor und der Fertigung geworden.

Im Laufe der Jahre wurde COBOL immer wieder aktualisiert, vor allem im Jahr 2002, als es in eine objektorientierte Sprache umgewandelt wurde, um die Programmierung neuer Anwendungen etwas flüssiger zu gestalten. Aber im Großen und Ganzen ist COBOL heute noch das, was es damals war: ein unbesungener Held und ein Arbeitspferd unter den Programmiersprachen, das im Backend arbeitet und viele moderne Mainframe-Anwendungen unterstützt.

Wie sicher ist COBOL?

Leider gab es bei der Entwicklung von COBOL noch nicht viele Sicherheitsüberlegungen. Zum Beispiel haben viele COBOL-Anwendungen ein Passwortprogramm, das sie schützt, aber sie sind fast nie gegen Dinge wie Brute-Force-Schutz gehärtet, um ein Knacken zu verhindern. In Verbindung mit der Tatsache, dass viele moderne Sicherheitstools, die den Netzwerkverkehr überwachen, nicht wissen, wie sie mit Funktionen innerhalb von Programmen, die in Geschäftssprachen wie COBOL geschrieben wurden, umgehen oder diese auswerten können, haben Sie ein echtes Problem, das nur darauf wartet, zu passieren. Nicht wenige moderne Einbrüche waren erfolgreich, weil es an einer Sicherheitsaufsicht für Systeme mit klassischen Computersprachen mangelte. Im Jahr 2015 wurden die Daten von mehr als vier Millionen US-Bundesangestellten offengelegt, als das Office of Personnel Management (OPM) gehackt wurde, wobei die Schuld auf die Verwendung von COBOL zurückgeführt wurde, da man nicht in der Lage war, moderne Sicherheitsmaßnahmen für ein solch archaisches System zu implementieren.

Vor Jahren wurde die Sicherheit von einer Armee von Programmierern gewährleistet, die COBOL und andere heiße Sprachen der Zeit kannten. Damals, in den 1960er Jahren, war COBOL so etwas wie das heutige Java oder .Net, und diejenigen, die sich damit auskannten, waren die Rockstars ihrer Abteilungen. Im Jahr 2019 sind diese Leute wahrscheinlich längst im Ruhestand, auch wenn die Systeme, die sie geschützt haben, es nicht sind.

Erweiterung von COBOLs Verteidigungslinien

Nicht wenige dieser sogenannten Graubärte wurden als Auftragnehmer in ihre Organisationen zurückgebracht, um dieselben Großrechner zu verteidigen, an denen sie zuvor gearbeitet hatten. An mehr als nur ein paar Orten existierten sie als eine Art Anomalie: eine geheime Kabale alternder Zauberer in irgendeiner hinteren Ecke des Büros, deren seltsame Kleidung (breite Krawatten und dreiteilige Anzüge) und seltsam höfliche Umgangsformen nicht ganz zu all den modernen Hipstern mit Skinny Jeans und Dutt passten. Dennoch waren sie absolut notwendig, denn nur wenige moderne Programmierer schleudern Code in COBOL und anderen alten Sprachen. Leider schwinden auch diese letzten Wächter der Zauberer dahin, geben schließlich den Geist auf und ziehen nach Boca Raton, um einen echten Ruhestand zu genießen.

Daher gibt es einen dringenden Bedarf an Leuten, die ältere Sprachen und die darin enthaltenen Sicherheitslücken verstehen. Selbst wenn jüngere Leute nicht wissen, wie man Code in klassischen Sprachen schreibt, sollten sie zumindest verstehen, wie sie funktionieren und welche potenziellen Schwachstellen sie aufweisen. Denn während die COBOL-Entwicklung relativ statisch geblieben ist, haben sich die Bedrohungen für Netzwerke ständig weiterentwickelt. Der Versuch, uralte, vor sechzig Jahren programmierte Cybersicherheitstechniken wie die erwähnte COBOL-Passwortanwendung zur Verteidigung eines Mainframes gegen moderne Angreifer einzusetzen, gleicht dem Einsatz einer Phalanx von Speerträgern gegen ein Platoon von Space Marines - ohne ein hollywoodreifes Wunder wird es schlecht für die Typen mit den Speeren ausgehen.

Egal ob alt oder neu, es muss auch sicher sein.

Deshalb glauben wir an die Bedeutung eines fortgeschrittenen Trainingssystems, das eine breite Palette von Programmiersprachen und Frameworks abdeckt. Sehen Sie, eines der eklatanten Probleme mit vielen Sicherheitsschulungen ist, dass die Informationen einfach zu allgemein sind, oder schlimmer noch - völlig irrelevant für die tägliche Arbeit des Entwicklers, der daran teilnimmt. Einen halben Tag damit zu verbringen, etwas über Schwachstellen zu lernen, die nur für Java gelten, wird einem COBOL-Entwickler nicht helfen, sein System zu verstärken, und es verewigt nur die Idee von "Sicherheit" als eine Abhak-Übung, die man vergessen kann, sobald der obligatorische Kurs abgeschlossen ist. Ich möchte hinzufügen, dass die Schulung von jemandem in Java-Sicherheitsfehlern nicht immer für einen Java-Spring-Entwickler anwendbar ist. Sicheres Coding ist einfach in jeder Sprache anders, sogar bis zur Framework-Ebene.

In unserer Mission, alle Entwickler zu befähigen, Sicherheits-Superhelden zu werden, werden wir eine gültige Computersprache nicht übersehen, die immer noch bei einigen der weltweit am meisten angegriffenen und kritischen Einrichtungen im Einsatz ist. Bei der Erkundung unserer Plattform finden Sie moderne, praxisnahe Herausforderungen und Schulungen zu COBOL, die neben einigen der modernsten Programmiertools angeboten werden, die heute verfügbar sind, wie z. B. Googles Golang. Diese Flexibilität stellt sicher, dass das Training für den Einzelnen relevant und kontextbezogen ist, indem es seine Arbeitsumgebung für maximales Engagement und Effektivität nachahmt. Schließlich ist der Aufbau einer robusten Sicherheitskultur das A und O im Kampf gegen Cyber-Bedrohungen, daher sollte das Training praxisnah sein (und natürlich Spaß machen!).

Wir wollen, dass unsere Branche so weit kommt, dass es keine Rolle mehr spielt, ob Sicherheitsbedrohungen gegen Systeme mit veralteten Sprachen oder gegen die modernsten Mobilitäts-Apps gerichtet sind. Wir wollen, dass jeder Entwickler mit den besten Informationen über diese Schwachstellen, die Tools und Techniken, die von Angreifern verwendet werden, um sie auszunutzen, und wie man sie kaltblütig stoppen kann, ausgestattet ist. Wir werden im Angesicht von Cybersecurity-Bedrohungen niemals aufgeben oder nachgeben. Unabhängig davon, wie modern die Bedrohungen oder Schwachstellen sind oder wie lange sie zurückliegen, können Sie sich immer an Secure Code Warrior um zu lernen, wie man sie besiegen kann, jedes Mal.

PS: Denken Sie, dass eine alte Sprache der Anfälligkeit für SQL-Injection entgeht? Denken Sie anders. Versuchen Sie, eine solche in COBOL zu finden und zu beheben, und zwar jetzt.

Ressource anzeigen
Ressource anzeigen

Autor

Pieter Danhieux

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.

Sie wollen mehr?

Tauchen Sie ein in unsere neuesten Erkenntnisse über sichere Kodierung im Blog.

Unsere umfangreiche Ressourcenbibliothek zielt darauf ab, die menschliche Herangehensweise an eine sichere Weiterbildung im Bereich der Programmierung zu stärken.

Blog ansehen
Sie wollen mehr?

Holen Sie sich die neuesten Forschungsergebnisse zur entwicklergesteuerten Sicherheit

Unsere umfangreiche Ressourcenbibliothek ist voll von hilfreichen Ressourcen, von Whitepapers bis hin zu Webinaren, die Ihnen den Einstieg in die entwicklungsorientierte sichere Programmierung erleichtern. Erforschen Sie sie jetzt.

Ressourcendrehscheibe

COBOL-Anwendungsentwicklung Sicherheit | Secure Code Warrior

Veröffentlicht Mai 21, 2020
Von Pieter Danhieux

Es scheint fast komisch, dass wir im Jahr 2019 über die Arbeit mit einer Computersprache sprechen, die 1959 erfunden wurde. Es gibt heutzutage nicht allzu viele Seminare oder Kongresse, die sich der Kunst widmen, klassische Singer-Nähmaschinen neu einzufädeln oder die Ölwanne an einem Chevrolet Parkwood oder einer Triumph Herald auszutauschen. Die meisten dieser in die Jahre gekommenen Werkzeuge haben längst ausgedient und sind durch neue und effizientere Modelle ersetzt worden. Doch hier im Technologieland, das im Vergleich zu anderen Branchen als hochmodern gilt, arbeiten wir immer noch mit Sprachen wie COBOL, das etwa zur gleichen Zeit veröffentlicht wurde.

Dafür gibt es natürlich sehr gute Gründe. Die Common Business Oriented Language (COBOL) mag 60 Jahre alt sein, aber sie war so gut konstruiert, dass sie auch heute noch relevant und weit verbreitet ist.

COBOL wurde als relativ einfache Möglichkeit geschaffen, mit Hilfe von einfacher Sprache, gruppiert in spezifischen Sätzen und Syntax, Backend-Systeme zu programmieren, um mathematische und formelhafte Aufgaben auszuführen. Warum ist es heute noch aktuell? Ganz einfach: Sie ist sehr gut in ihrem Job. In gewisser Weise ist sie ein Teil der Computerstruktur für viele Mainframe- und Kernsysteme in so unterschiedlichen Branchen wie dem Finanzsektor und der Fertigung geworden.

Im Laufe der Jahre wurde COBOL immer wieder aktualisiert, vor allem im Jahr 2002, als es in eine objektorientierte Sprache umgewandelt wurde, um die Programmierung neuer Anwendungen etwas flüssiger zu gestalten. Aber im Großen und Ganzen ist COBOL heute noch das, was es damals war: ein unbesungener Held und ein Arbeitspferd unter den Programmiersprachen, das im Backend arbeitet und viele moderne Mainframe-Anwendungen unterstützt.

Wie sicher ist COBOL?

Leider gab es bei der Entwicklung von COBOL noch nicht viele Sicherheitsüberlegungen. Zum Beispiel haben viele COBOL-Anwendungen ein Passwortprogramm, das sie schützt, aber sie sind fast nie gegen Dinge wie Brute-Force-Schutz gehärtet, um ein Knacken zu verhindern. In Verbindung mit der Tatsache, dass viele moderne Sicherheitstools, die den Netzwerkverkehr überwachen, nicht wissen, wie sie mit Funktionen innerhalb von Programmen, die in Geschäftssprachen wie COBOL geschrieben wurden, umgehen oder diese auswerten können, haben Sie ein echtes Problem, das nur darauf wartet, zu passieren. Nicht wenige moderne Einbrüche waren erfolgreich, weil es an einer Sicherheitsaufsicht für Systeme mit klassischen Computersprachen mangelte. Im Jahr 2015 wurden die Daten von mehr als vier Millionen US-Bundesangestellten offengelegt, als das Office of Personnel Management (OPM) gehackt wurde, wobei die Schuld auf die Verwendung von COBOL zurückgeführt wurde, da man nicht in der Lage war, moderne Sicherheitsmaßnahmen für ein solch archaisches System zu implementieren.

Vor Jahren wurde die Sicherheit von einer Armee von Programmierern gewährleistet, die COBOL und andere heiße Sprachen der Zeit kannten. Damals, in den 1960er Jahren, war COBOL so etwas wie das heutige Java oder .Net, und diejenigen, die sich damit auskannten, waren die Rockstars ihrer Abteilungen. Im Jahr 2019 sind diese Leute wahrscheinlich längst im Ruhestand, auch wenn die Systeme, die sie geschützt haben, es nicht sind.

Erweiterung von COBOLs Verteidigungslinien

Nicht wenige dieser sogenannten Graubärte wurden als Auftragnehmer in ihre Organisationen zurückgebracht, um dieselben Großrechner zu verteidigen, an denen sie zuvor gearbeitet hatten. An mehr als nur ein paar Orten existierten sie als eine Art Anomalie: eine geheime Kabale alternder Zauberer in irgendeiner hinteren Ecke des Büros, deren seltsame Kleidung (breite Krawatten und dreiteilige Anzüge) und seltsam höfliche Umgangsformen nicht ganz zu all den modernen Hipstern mit Skinny Jeans und Dutt passten. Dennoch waren sie absolut notwendig, denn nur wenige moderne Programmierer schleudern Code in COBOL und anderen alten Sprachen. Leider schwinden auch diese letzten Wächter der Zauberer dahin, geben schließlich den Geist auf und ziehen nach Boca Raton, um einen echten Ruhestand zu genießen.

Daher gibt es einen dringenden Bedarf an Leuten, die ältere Sprachen und die darin enthaltenen Sicherheitslücken verstehen. Selbst wenn jüngere Leute nicht wissen, wie man Code in klassischen Sprachen schreibt, sollten sie zumindest verstehen, wie sie funktionieren und welche potenziellen Schwachstellen sie aufweisen. Denn während die COBOL-Entwicklung relativ statisch geblieben ist, haben sich die Bedrohungen für Netzwerke ständig weiterentwickelt. Der Versuch, uralte, vor sechzig Jahren programmierte Cybersicherheitstechniken wie die erwähnte COBOL-Passwortanwendung zur Verteidigung eines Mainframes gegen moderne Angreifer einzusetzen, gleicht dem Einsatz einer Phalanx von Speerträgern gegen ein Platoon von Space Marines - ohne ein hollywoodreifes Wunder wird es schlecht für die Typen mit den Speeren ausgehen.

Egal ob alt oder neu, es muss auch sicher sein.

Deshalb glauben wir an die Bedeutung eines fortgeschrittenen Trainingssystems, das eine breite Palette von Programmiersprachen und Frameworks abdeckt. Sehen Sie, eines der eklatanten Probleme mit vielen Sicherheitsschulungen ist, dass die Informationen einfach zu allgemein sind, oder schlimmer noch - völlig irrelevant für die tägliche Arbeit des Entwicklers, der daran teilnimmt. Einen halben Tag damit zu verbringen, etwas über Schwachstellen zu lernen, die nur für Java gelten, wird einem COBOL-Entwickler nicht helfen, sein System zu verstärken, und es verewigt nur die Idee von "Sicherheit" als eine Abhak-Übung, die man vergessen kann, sobald der obligatorische Kurs abgeschlossen ist. Ich möchte hinzufügen, dass die Schulung von jemandem in Java-Sicherheitsfehlern nicht immer für einen Java-Spring-Entwickler anwendbar ist. Sicheres Coding ist einfach in jeder Sprache anders, sogar bis zur Framework-Ebene.

In unserer Mission, alle Entwickler zu befähigen, Sicherheits-Superhelden zu werden, werden wir eine gültige Computersprache nicht übersehen, die immer noch bei einigen der weltweit am meisten angegriffenen und kritischen Einrichtungen im Einsatz ist. Bei der Erkundung unserer Plattform finden Sie moderne, praxisnahe Herausforderungen und Schulungen zu COBOL, die neben einigen der modernsten Programmiertools angeboten werden, die heute verfügbar sind, wie z. B. Googles Golang. Diese Flexibilität stellt sicher, dass das Training für den Einzelnen relevant und kontextbezogen ist, indem es seine Arbeitsumgebung für maximales Engagement und Effektivität nachahmt. Schließlich ist der Aufbau einer robusten Sicherheitskultur das A und O im Kampf gegen Cyber-Bedrohungen, daher sollte das Training praxisnah sein (und natürlich Spaß machen!).

Wir wollen, dass unsere Branche so weit kommt, dass es keine Rolle mehr spielt, ob Sicherheitsbedrohungen gegen Systeme mit veralteten Sprachen oder gegen die modernsten Mobilitäts-Apps gerichtet sind. Wir wollen, dass jeder Entwickler mit den besten Informationen über diese Schwachstellen, die Tools und Techniken, die von Angreifern verwendet werden, um sie auszunutzen, und wie man sie kaltblütig stoppen kann, ausgestattet ist. Wir werden im Angesicht von Cybersecurity-Bedrohungen niemals aufgeben oder nachgeben. Unabhängig davon, wie modern die Bedrohungen oder Schwachstellen sind oder wie lange sie zurückliegen, können Sie sich immer an Secure Code Warrior um zu lernen, wie man sie besiegen kann, jedes Mal.

PS: Denken Sie, dass eine alte Sprache der Anfälligkeit für SQL-Injection entgeht? Denken Sie anders. Versuchen Sie, eine solche in COBOL zu finden und zu beheben, und zwar jetzt.

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.