ポイント: ハッカーがメインフレームにアクセスするために悪用する一般的な6つの方法には、Telnet、FTP、HTTPの脆弱性、CICSの設定ミス、ネットワークジョブエントリー (NJE) の活用、SSHを介した資格情報の詰め込みが含まれます。これらの攻撃ベクターを理解することは、メインフレームのセキュリティを強化するために重要です。
- Telnetターミナルは初期アクセスの頻繁なターゲットです。
- FTPはメインフレーム上でリモートコード実行を許可する可能性があります。
- 一般的なウェブの脆弱性はハッカーによって悪用される可能性があります。
メインフレームの攻撃面を分析する
前回のブログでは、あなたのメインフレームが最も弱いリンクであるかどうかを疑問に思いました1。この質問に効果的に答えるには、まず脅威アクターがシステムを侵害するために利用できるメインフレームの脆弱性を理解する必要があります。このブログでは、ハッカーがシステムに初期アクセスを得るための潜在的なポイントの合計であるメインフレームの攻撃面に焦点を当てます。より明確に言えば、これらは誰かがメインフレームにハッキングする最も一般的な方法です:
1. エミュレートされたTelnet 3270 (TN3270) ターミナルは、システムプログラマーがコマンドを入力してプログラムを実行するためにメインフレームに接続する最も一般的な方法です。この機能により、ハッカーがシステムにアクセスするための最初のターゲットの1つになります。多くの成功したハッカーは、パスワードスプレーという手法を使用して初期の侵入を果たします2。これは、ブルートフォースログインの現代的な適応です。1人のユーザーに対して百万のパスワードを試すのではなく、ハッカーはシステム上のすべてのユーザーに対して1つのパスワードを試します。メインフレームには何十万ものユーザーがいるため、ハッカーはこれらのアカウントに対して一般的に使用されるパスワードを1つか2つ推測するだけで済みます。この方法は正確ではありませんが、ハッカーは弱いパスワードを使用しているユーザーを1人見つけるだけで、メインフレームへの初期アクセスを成功させることができます。
2. ファイル転送プロトコル (FTP) メソッドは、ファイルのアップロード、ダウンロード、および管理において分散システム管理者の間でよく知られていますが、z/OS上でのFTPは特に強力です。なぜなら、ジョブコマンド言語を介してメインフレームにコマンドを送信する能力を持っているからです。これにより、ログイン資格情報を見つけたハッカーは、ファイルを暗号化したり、情報を盗んだり、マシン上で永続性を得るための堅牢なシェルを構築するためにリモートコード実行を行うことができます。残念ながら、RACF、ACF2、またはTop Secretにおける資格情報に頼ることは不十分です。数十年後、システムプログラマーがデータセンターに歩いて行き、マシンに直接接続することはありません。今日、システムプログラマーはLinuxまたはWindowsのパーソナルコンピュータを使用し、リモートでログインします。犠牲者のシステムプログラマーにアクセスできたハッカーは、キーロガー3を仕掛けて、プログラマーが次の日に自分のマシンにログインするのを待つことができます。ハッカーは現在、アクティブな特権資格情報を持ち、FTPを介してメインフレームに任意のコマンドを送信できます。システムプログラマーが仕事を効果的に行うために必要な権限が付与されているため、ハッカーはメインフレームに対してほぼ完全な制御を持つことになります。
3. メインフレームと分散システムのもう1つの類似点は、普遍的なハイパーテキスト転送プロトコル (HTTP) 上でのウェブサイトの運営の一般性です。最新のウェブサイトは、ユーザーエクスペリエンスを向上させるために設計された機能のスイートをホストしています。コードと機能の増加は、ウェブサイトにリモートコード実行を可能にする脆弱性が含まれる可能性を高めます。一般的な手法としては、リモートファイルのインクルージョン4、SQLインジェクション5、または破損した認証とセッション管理があります。ハッカーは、apacheやtomcatなどのウェブサーバーで公開されている脆弱性を利用することもできます。ほとんどのウェブサイトが公開されているため、ハッカーはこのサービスを構築するためのツールやペネトレーションテストの経験を数十年持っています。これらのスキルは、メインフレームに対しても同様に成功を収めるための初期攻撃ベクターとして直接適用できます。
4. メインフレームの顧客インタラクション制御システム (CICS) トランザクションサーバーは、メインフレームに特有のものであり、顧客がメインフレームと直接対話するためのフロントエンドを提供します。HTTPサーバー上でウェブサイトを破る初期の頃と同様に、ハッカーはCICSトランザクションサーバーを列挙するための自動化ツールを構築し、認証をバイパスしたりアカウントログインをブルートフォースしたりするための多数の設定ミスを特定しようとしています。CICSpwnというオープンソースツールは、基盤となるz/OSオペレーティングシステムで実行されているセキュリティ設定を自動的に取得し、利用可能なファイルを読み取り、システム命名規則を列挙し、さらにはリモートでコードを実行することさえ可能です6。このツールの自動化のおかげで、メインフレームに不慣れな経験豊富なハッカーは、それが他の武器と類似していることを見つけ、CICSトランザクションサーバーを通じてメインフレームに初期アクセスを得るための学習曲線が低いことを見つけるでしょう。
5. ネットワークジョブエントリー (NJE) は、信頼できるメインフレームが接続されている他のメインフレームにジョブを送信できるようにする、メインフレームに特有のもう1つの機能です。これは非常に強力で、メインフレームのペネトレーションテスターは、NJEを通じて知られているメインフレームを偽装してジョブを送信し、アクセスを得るか、メインフレーム間で横移動することで大きな成功を収めています。横移動は特に危険で、多くのリソースが制約された企業は、開発マシンを監視することなく、製造マシンだけを保護する傾向があります。ハッカーが信頼できる開発マシンにアクセスできた場合、NJEプロトコルを利用して他のメインフレームに即座にアクセスできる可能性があります。
6. 最後に、セキュアシェル (SSH) プロトコルもメインフレームで利用可能です。ハッカーは資格情報を盗むことに非常に成功しており、単にSSHでログインすることでネットワークを通じて広がるためにSSHのネイティブ機能を利用しています。今日、最も一般的な手法の1つは、スプレーとは対照的に資格情報の詰め込みと呼ばれ、古い侵害のユーザー名とパスワードを取り、新しいシステムに適用する手法です7。ユーザーは何十ものパスワードを覚える必要があるため、必然的にそれらを再利用し始め、1つの会社での侵害が共同顧客を持つ組織全体に波及効果をもたらすことができます。
あなたがシステムプログラマーであろうと企業セキュリティチームのメンバーであろうと、メインフレーム上のソフトウェアには、組織の大部分を構成する分散システムと同様の多くの脆弱性があることを考慮する必要があります。これは、過去数十年にわたって大幅に成熟した高度な持続的脅威が、企業の最も重要なプログラムを実行しているデバイスへのアクセスを得て、最も重要なデータを操作するのに非常に熟練していることを意味します。
この重要なシステムを適切に防御するために、組織はメインフレームを他の企業と同様に扱う必要があります。これには、メインフレームのセキュリティイベントに対するリアルタイムの可視性、インテリジェントエンドポイント検出および応答 (EDR) ソリューションの採用、およびプロフェッショナルなペネトレーションテスターによる防御テストが必要です。これらの基本的な対策は、企業の他の部分で適用されているものであり、重大な侵害の深刻な影響を回避するためのホリスティックなセキュリティ計画を策定するための最初のステップに過ぎません。
1 https://www.bmc.com/blogs/are-mainframes-your-weakest-link/↩
2 https://attack.mitre.org/techniques/T1110/↩
3 https://www.veracode.com/security/keylogger↩
4 https://kellgon.com/own-a-server-with-a-remote-file-inclusion/↩
5 https://www.owasp.org/index.php/SQL_Injection/↩
これらの投稿は私のものであり、BMCの立場、戦略、または意見を必ずしも表しているわけではありません。