現状、インターネット上の通信はHTTPS前提ですが何故自ら、検疫不能な状況にするのでしょうか
勿論、HTTPSじゃ無いとクライアントからのパケットを暗号化出来ないのですが。
ふと気づいたのですが、外部からTelnetでサーバにアクセスし、サーバのバイナリに含まれる
「悪意を持って暗号化されたシグネチャ(悪意あるソフトウェアの特徴、みたいな部分。
暗号化されている事が多い。)を解読する通信を行い、ログをクライアントに返信する部分を
WAFで監視すれば、シグネチャが暗号化されてしまっていても、検知できる可能性があります。
特に厄介なのはAPIがサーバ側にある場合と考えます。ヴァイラスであればローカルOSがAPIを監視しますし
侵入攻撃もサーバ自身がAPIを監視します。Webを通じてクライアントが呼び出すAPIに対する監視
方法、これが重要だと考えます。
※検証用として、悪意あるAPIサーバを構築する研究から入ります。
※2023年内は研究及びINPUTが中心となる予想です。ソリューションの発表には時間がかかりそうです。
※本業はNWですが、プログラミングは小学4年生以降、40年の経験があります。
■以下はGPT4での調査結果です
クライアントのOSがAPIサーバから呼び出すAPIに脆弱性がある場合、サーバ側での検知は直接的には難しいことが多いです。しかし、不正なアクセスや異常な動作を検知するための方法はいくつか存在します。
ログ監視: サーバのアクセスログやエラーログを監視し、異常なパターンや未知のエラーが発生していないかをチェックします。特定のエンドポイントに対する大量のリクエスト、予期しないリクエストメソッド、異常なユーザーエージェントなど、様々なサインから不正なアクセスを検知することができます。
WAF (Web Application Firewall): WAFは不正なアクセスや攻撃をブロックするためのツールです。多くのWAFは既知の攻撃パターンを検知してブロックする能力があります。
レートリミット: 一定時間内に特定のIPアドレスからのリクエスト数を制限することで、DoS攻撃やブルートフォース攻撃を防ぐことができます。
異常検知システム: 機械学習を利用して正常なトラフィックパターンを学習し、異常なトラフィックを検知するシステムも存在します。
セキュリティスキャン: 定期的にセキュリティスキャンを行い、脆弱性が存在しないかをチェックします。これにより新たに発見された脆弱性や未修正の脆弱性に対するリスクを低減することができます。
セキュリティヘッダー: HTTPヘッダーにセキュリティ関連の設定を追加することで、多くのウェブベースの攻撃を防ぐことができます(例: Content Security Policy, HTTP Strict Transport Securityなど)。
ただし、これらの方法はAPIの脆弱性を直接的に検知するものではなく、不正なアクセスや異常な動作を検知するものです。APIの脆弱性自体を特定するためには、定期的なペネトレーションテストやセキュリティレビューが必要です。