당신의 스타트업을 성장시킬 준비가 되셨나요? 🚀 스타트업 프로그램을 신청하고, 파격적인 무료 혜택을 받아보세요!

サーバー

SSHプロキシ構造によるシェルネイティブコマンド制御

作成者: Ryan Chae, Kevin So

SSHプロキシ構造によるシェルネイティブコマンド制御

序文

サーバーアクセス制御ソリューションは、企業の重要な資産であるサーバーを保護するための重要なセキュリティソリューションです。サーバーアクセス制御ソリューションの核心は、どのユーザーがどのサーバーにアクセスし、どのコマンドを実行したかを追跡し、制御することです。一般的なサーバーアクセス制御ソリューションは、仮想端末のように、ユーザーがエンターキーを押す前に入力した文字を一つ一つバッファリングして、ユーザーが実行しようとするコマンドを組み合わせる方法を使用します。しかし、この方法は開発に膨大な時間とコストがかかるだけでなく、ユーザーがショートカットキーなどのさまざまなキーの組み合わせでコマンドを入力する場合、正確なコマンドをパースすることが非常に難しくなります。したがって、QueryPieでは、コマンド解析の精度を向上させるために、Shell Scriptを用いたコマンド監査および制御技術を開発しました。

問題

Issue to Solve

SSHセッションが確立され、クライアントとサーバー間でのデータ通信は基本的にユーザーがキー入力を行うたびに、1文字ずつ送信されます。この形式は、ターミナルの出力形式を制御するために使用される制御シーケンスであるANSIコードです。ANSIコードはさまざまな ANSIエスケープシーケンスを含んでおり、このような文字列ストリームでユーザーが入力したコマンドだけを正確にパースすることは、仮想端末を作成するようなものです。したがって、ほとんどのサーバーアクセス制御ソリューションは、正確なコマンドパースを通じて危険なコマンドをブロックするよりも、証跡を残すことに重点を置いており、これはサーバーセキュリティに対する脆弱性が依然として存在することを意味します。特にサーバーのコマンドの場合、ショートカットキーの利用やエイリアス設定など、さまざまな方法でコマンドの回避実行が可能です。代表的な方法としては、サーバーアクセス制御ソリューションを使って禁止コマンドを指定しても、そのコマンドをスクリプト内に含めて実行するという方法があります。MITM(Man-in-the-Middle)を行うプロキシサーバーで、ユーザーのキー入力を組み合わせてコマンドをパースする一般的なサーバーアクセス制御方式では、このような回避攻撃に対応できません。したがって、セキュリティを向上させるためには、サーバーレベルで制御することがセキュリティ性を高めるために必要であり、プロキシレベルよりもサーバーにエージェントをインストールしてプロセス監視用のデーモンを立ち上げるなどの方法が推奨されます。

目標設定

セキュリティ性を高めるために、保護対象であるサーバーに何かをインストールしてコマンドに対する制御を行うことは、EDR(Endpoint Detection and Response)との境界が曖昧であるだけでなく、速度低下やその他の副作用を引き起こす可能性があり、SSH の使用において不便を生じさせる可能性があります。そのため、QueryPieでは、サーバーにエージェントをインストールせず、セキュリティ面ではサーバーレベルでのコマンド制御ができる方法について検討しました。

ソリューション概要

QueryPieでは、精緻なコマンド検出のために、スクリプトインジェクションを利用してユーザーが実際に実行したコマンドを把握し、ログ記録およびブロックを行います。この技術を使用することで、従来の方法では把握できなかったスクリプト内に含まれる禁止コマンド、エイリアスされたコマンド、シンボリックリンクされたコマンドなどを正確に特定することができます。



結論

従来のサーバーアクセス制御ソリューションは、Proxy サーバーでスニッピングしたSSH のデータメッセージを再構成する方式を使用して、ユーザーが入力したコマンドを再組み立て、制御していましたが、QueryPie のソリューションは、保護対象のサーバーでスクリプトを通じて実行されるコマンドをキャッチし、ブロックすることにより、コマンドが誤って解析される可能性を排除します。

さらに、SSHセッションの確立時にQueryPie Scriptを注入する技術と、スクリプト内でコマンドがブロックされた事実を QueryPie Proxyサーバーに伝える技術を通じて、エージェントなしでサーバーにプロセス監視用デーモンをインストールする機能として拡張することができます。

ユーザーのコマンド監視用デーモンは、以下の技術で実装できます:

  • LD_PRELOAD
  • ptrace
  • ebpf

これらの拡張機能は、組織のセキュリティ要件とユーザーの利便性に合わせて段階的に実装することができます。QueryPieは、お客様のニーズに合わせた新しいセキュリティ機能を継続的に発掘し、開発していき、より安全なシステム環境を作り上げるパートナーとなります。ご支援が必要な場合や、共に取り組みたい提案があれば、いつでもご連絡ください。

気になりますか?
魔法を明かしましょう!

限定コンテンツをアンロックするには、フォームにご記入ください!

QueryPie values your privacy. Please check out our Terms & Privacy Policy.

  • Ryan Chae
    Ryan Chae

    Software Engineer

    Ryan is a seasoned software engineer with extensive experience in developing secure and scalable systems. As a key contributor at QueryPie, he has played a pivotal role in designing shell native command control through SSH proxy architecture, enhancing the platform's security and efficiency. Ryan's expertise in system architecture and commitment to innovation make him an invaluable asset to the team, driving the development of robust solutions that meet the evolving needs of enterprise clients.

  • Kevin So
    Kevin So

    Software Engineer

    Kevin is a versatile Software Engineer with extensive experience in developing products that operate seamlessly across various platforms, including Windows, Android, Server, and Web environments. He is deeply committed to creating intuitive and visually appealing UI/UX designs, combining his technical skills with a keen eye for detail to deliver exceptional user experiences.

3 Minutes to Wow !

3 QueryPie, !

Take a Virtual Tour