COBOL-Anwendungsentwicklung Sicherheit | Secure Code Warrior

Veröffentlicht Nov 07, 2022
von Pieter Danhieux
tl;dr?

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.

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.

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

Secure Code Warrior Ernennung zum Gartner® Cool Vendors™ des Jahres 2022

Veröffentlicht Nov 07, 2022
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.

Geben Sie Ihre Daten ein, um den vollständigen Bericht aufzurufen.

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.

Huch, Gänseblümchen