ブログ

COBOLアプリケーション開発のセキュリティ | Secure Code Warrior

May 21, 2020
Pieter Danhieux
ヴィンテージテレビが並ぶ棚がある部屋と、その前に停められた自転車。

1959年に発明されたコンピュータ言語を2019年に扱うというのは、どこか滑稽に思えるかもしれません。今日、古典的なシンガーミシンを修理したり、シボレー・パークウッドやトライアンフ・ヘラルドのオイルパンを交換したりする技術に特化したセミナーや大会はほとんどありません。こうした古い道具の多くはとっくに引退し、より効率的な新しいモデルに取って代わられています。しかし、他の業界に比べて最先端であるはずのテクノロジーの世界では、私たちは今もなお、同時期にリリースされたCOBOLのような言語を使い続けているのです。

もちろん、それには十分な理由があります。COBOL(Common Business Oriented Language)は60年もの歴史がありますが、その構造が非常に優れているため、今日でも関連性を保ち、広く利用されているのです。

COBOLは、特定の文章や構文にまとめられた平易な言語を使用して、バックエンドシステムで数学的・定型的なタスクを実行するための比較的シンプルな方法として作成されました。なぜ今日まで生き残っているのでしょうか?簡単に言えば、その役割を果たす能力が非常に高いからです。ある意味で、金融や製造といった多様な業界のメインフレームや基幹システムのコンピューティング基盤の一部となっているのです。

COBOLには長年にわたり段階的なアップデートが行われてきました。特に2002年には、新しいアプリケーションのプログラミングをより円滑にするためにオブジェクト指向言語へと進化しました。しかし、COBOLは今もなお、当時と同じく、現代のメインフレームレベルのアプリケーションを支えるバックエンドで機能する、縁の下の力持ちのようなプログラミング言語であり続けています。

COBOLのセキュリティはどの程度なのでしょうか?

残念ながら、COBOLが作成された当初、セキュリティへの配慮はほとんどなされていませんでした。例えば、多くのCOBOLアプリケーションにはパスワードによる保護機能がありますが、ブルートフォース攻撃を防ぐような堅牢な対策はほとんど施されていません。これに加え、ネットワークトラフィックを監視する現代のセキュリティツールの多くが、COBOLのようなビジネス言語で書かれたプログラム内の機能を評価・処理する方法を知らないという事実が、深刻な問題を引き起こしています。古典的なコンピュータ言語で実行されるシステムに対するセキュリティ監視の欠如により、現代でも多くの侵害が発生しています。2015年、米国人事管理局(OPM)がハッキングされ、400万人以上の連邦職員のデータが流出した際、その原因はCOBOLの使用にあるとされ、このような古いシステムでは現代のセキュリティ対策を実装できないことが指摘されました。

かつて、セキュリティはCOBOLや当時の人気言語を熟知したプログラマーの軍団によって支えられていました。1960年代、COBOLは今日のJavaや.Netのような存在であり、それを知る人々は部署のスターでした。2019年現在、彼らが守っていたシステムは現役であるにもかかわらず、彼ら自身はとっくに引退している可能性が高いのです。

COBOLの防衛線を拡大する

こうした「グレービアード(熟練者)」の多くは、かつて働いていたメインフレームを守るために、契約社員として組織に呼び戻されました。多くの場所で、彼らは少し異質な存在でした。オフィスの片隅にいる高齢の魔術師のような秘密結社であり、彼らの奇妙な服装(幅広のネクタイにスリーピーススーツ)や独特で丁寧な物腰は、スキニージーンズにマンバン(お団子ヘア)の現代的なヒップスターたちとは馴染んでいませんでした。しかし、COBOLやその他の古い言語でコードを書ける現代のプログラマーはほとんどいないため、彼らは絶対に必要な存在でした。悲しいことに、こうした最後の魔法使いの番人たちもまた、ついに引退を決意し、ボカラトンへ移り住んで真の隠居生活を楽しむようになり、姿を消しつつあります。

そのため、古い言語とそれに含まれるセキュリティ脆弱性を理解できる人材が切実に求められています。たとえ若い世代が古典的な言語でコードを書けなくても、少なくともそれらがどのように機能し、どのような脆弱性があるのかを理解しておくべきです。COBOLの開発は比較的停滞していても、ネットワークに対する脅威は進化し続けているからです。前述のCOBOLのパスワードアプリケーションのように、60年前にプログラムされた古いサイバーセキュリティ技術でメインフレームを現代の攻撃者から守ろうとするのは、槍を持った兵士の軍団でスペースマリーンの小隊と戦うようなものです。ハリウッド映画のような奇跡でも起きない限り、槍を持つ側にとって悲惨な結末となるでしょう。

新旧を問わず、セキュリティは不可欠です。

だからこそ私たちは、幅広いプログラミング言語やフレームワークを網羅した高度なトレーニングシステムの重要性を信じています。多くのセキュリティトレーニングの大きな問題点は、内容が一般的すぎること、あるいはさらに悪いことに、受講する開発者の日々の業務と全く無関係であることです。Javaにしか適用されない脆弱性を半日かけて学んでも、COBOL開発者がシステムを強化する助けにはなりません。それは「セキュリティとは、必須コースを終えたら忘れていい形式的な作業である」という考えを助長するだけです。付け加えるなら、Javaのセキュリティバグに関するトレーニングが、Java Spring開発者に常に適用できるとは限りません。セキュアコーディングは、フレームワークレベルに至るまで、言語ごとに全く異なるのです。

すべての開発者がセキュリティのスーパーヒーローになれるよう支援するという私たちの使命において、世界で最も標的となりやすい重要な施設で今も使用されている有効なコンピュータ言語を軽視することはありません。私たちのプラットフォームでは、GoogleのGolangのような現代のプログラミングツールと並んで、COBOLに関連する実践的な課題やトレーニングを提供しています。この柔軟性により、トレーニングは個々の状況や文脈に即したものとなり、実際の作業環境を模倣することで、最大限の関与と効果を引き出します。結局のところ、強固なセキュリティ文化を築くことはサイバー脅威との戦いにおいて最も重要であり、トレーニングは実践的(そしてもちろん楽しいもの!)であるべきなのです。

私たちは、古い言語で動くシステムに対する脅威であれ、最新のモバイルアプリに対する脅威であれ、それが問題にならない段階まで業界を引き上げたいと考えています。すべての開発者が、脆弱性に関する最良の情報、攻撃者がそれらを悪用するために使用するツールや技術、そしてそれらを完全に阻止する方法を身につけてほしいのです。私たちはサイバーセキュリティの脅威に対して決して屈せず、ひるむこともありません。脅威や脆弱性がどれほど新しくても、あるいはどれほど昔に作られたものであっても、Secure Code Warriorに頼れば、いつでもそれらを打ち負かす方法を学ぶことができます。

追伸:古い言語ならSQLインジェクションの影響を受けないと思っていませんか?考え直してください。今すぐCOBOLで脆弱性を特定し、修正できるか試してみましょう。

タグライン

AI主導の開発をリリース前にガバナンスする

AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。

デモを予約する
リソースライブラリ

他のブログ記事を見る

セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。

すべて表示
導入事例
フィルターラベル
これはdivブロック内のテキストです。

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

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

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

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

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

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

セキュリティ文化の統一:Sageはいかにしてチャンピオンプログラムを構築したか

Sageがどのようにして柔軟かつ関係性を重視したアプローチでセキュリティを強化し、200名以上のセキュリティチャンピオンを育成して、目に見えるリスク低減を実現したのかをご紹介します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

2026年サイバーセキュリティ意識向上月間:企業防衛に不可欠なAIセキュリティの理解

主要なAI企業の多くが、安全対策が追いつくまでの間、AI開発を世界的に減速させるよう公に呼びかける事態となっています。しかし現実には、深刻なセキュリティ問題はすでに顕在化しています。AI導入に伴う金銭的コストやリスクが増大し続ける中、多くのセキュリティリーダーや経営陣は差し迫った状況に追い込まれています。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

イネーブラー8:プログラムのブランディング

セキュアコーディングプログラムを成功させるには、優れたコンテンツ以上のものが必要です。イネーブラー8では、ブランディングによって参加を「憧れのステータスを得る体験」へと変える方法を解説します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

すべての従業員が今、AIサイバーセキュリティの最前線に立っている

エンタープライズテクノロジーの状況は、手遅れになるまで誰も予測できなかったほどの速さで変化しています。私たちは今、人間が書いたコードと基本的なコパイロット支援の時代から、エージェント型開発ライフサイクル(ADLC)の時代へと正式に足を踏み入れました。自律型AIエージェントは、複数の機能にわたってかつてない効率性をもたらす一方で、全く新しい種類のセキュリティリスクや規制リスクも引き起こしています。

詳細はこちら

AIを活用した開発をリリース前にセキュアに

開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。

デモを予約する
該当する項目が見つかりません。