0

SSHを分析するためにPythonでプロジェクトを開発しています。

現在、私は2つのことで立ち往生しています:

  1. 接続のアイドル時間の決定 (接続を介してデータが転送されなかった時間の割合)
  2. 接続タイプの決定 (シェル、トンネル、scp など) -> 接続内のチャネルの種類

この問題にアプローチするには?

4

1 に答える 1

1

暗号化されたトラフィックを操作すると、ドメイン固有の詳細を悪用するときに驚くほどの量の情報が明らかになることがあります。方法論を理解するために、過去の研究を再検討することは価値があります。特に SSH については、SSH セッションからのログイン パスワードの推測に関する Dawn Song の論文を読むことをお勧めします。

別の例: Broは、接続の開始時に転送されたバイト数に基づいて、成功したログインと失敗したログインをヒューリスティックに識別します。

一般に、後でプロファイリング/分類するアクティビティのトレースを記録することをお勧めします。このようにして、グラウンド トゥルースが得られ、SSH が予想とは異なる動作をする場所を見つけることができます。

  1. 対話型セッションのアイドル時間を判断するには、アクティビティがない期間に SSH が挿入するノイズがある場合は、それを理解する必要があります。次に、転送されたバイト数の時系列を作成し、時間分解能を試して、トレースに最適な粒度モデルを確認できます。さらに、時系列を 2 つのコンポーネントに分解できます。1 つは SSH プロトコル ノイズで、もう 1 つはユーザー アクティビティです。

  2. これは、古典的な教師なし学習の問題のように思えます:クラスタリング、例えば k-means や混合。適切な機能セットを考え出すには、おそらくいくつかの調査が必要です。たとえば、トンネル化された接続もインタラクティブな場合、トンネルからインタラクティブなセッションを判断するのは難しい場合があります。モデルでは、サイズ デルタを考慮したり、飛び石の検出など、より多くのコンテキストを含めることもできます。

于 2012-05-28T07:47:52.057 に答える