5. Device Defender Detect

この章のゴール

この章ではDevice Defender Detectを利用して、未想定の動作をデバイスがしたら検出する方法を学びます。

Step1

セキュリティプロファイルの作成

AWS IoTのコンソールから、Defend > Detectの画面で、Define rules to detect anomaliesをクリックします。 もしくはこちらのリンクをクリックしてください。

セキュリティプロファイルは自分のデバイスがどの様な振る舞いをするかを定義します。 定義した値から外れた振る舞いをすると、アラートを発生させます。

このワークショップでは、Cloud9で実行しているデバイスから、以下の2種類の違反を検出します。

  1. 想定外の範囲のポートをリッスンしている
  2. メッセージが大きすぎる

Expected behaviorsの画面では、以下のように設定を行います。 2つ目のBehaviorを追加するときは、Add behaviorをクリックして入力する項目を追加してください。

  • Name
    • Thing_things
  • 1つ目のBehavior
    • Name
      • Allowed_listening_ports
    • Metric
      • Listening TCP Ports
        • 似た項目があるので選択の際に注意
    • Operator
      • In port set
    • Value
      • 22, 25
    • Datapoints to Alarm
      • 1
    • Datapoints to Clear
      • 2
  • 2つ目のBehavior
    • Name
      • Allowed_message_size
    • Metric
      • Message size
    • Check Type
      • Absolute Value
    • Operator
      • Less than
    • Value
      • 1500
    • Datapoints to Alarm
      • 1
    • Datapoints to Clear
      • 2
chapter5-02

Cloud9ではすでに空いているポート(22,25)があるため、whitelistに追加しています。 また、アラート状態を解除するための値として2を設定しています。 メッセージサイズのチェックでは、1500byteを超えるメッセージを受信するとアラートと判断します。

Additional Metrics to retainでは、Selectをクリックして以下の項目にチェックを付けます。 これらのメトリックスは、違反を検出した際にレポートで含めたいメトリックスになります。

  • Listening TCP ports
  • Listening UDP port count
  • Message size

チェックを付けたらNextをクリックします。

chapter5-03

アラートの設定

この画面では、アラートが発生した時にSNSを利用して通知する設定を行います。 SNSTopicでは、前の手順で作成したトピックであるIoTDDNotificationsを選択します。 Roleには、前に作成したAWSIoTDeviceDefenderAuditを選択し、Nextをクリックします。

chapter5-04

Thingと紐付け

この画面では、今回作成するセキュリティプロファイルをどのThingに適用するかを指定します。 今回は、All thingsにチェックを付けて、全てのThingに適用します。 そして画面下のNextをクリックします。

chapter5-05

最後に設定の確認画面が表示されますので内容を確認の上、Saveをクリックし、次の画面でContinueをクリックして登録を完了させます。

chapter5-06

Violations(違反)が検出されるまで数分掛かるので、しばらくしてから次の手順を進めます。

Violations(違反)の確認

AWS IoTのコンソールで左側のメニューからDefend > Detect > Alarmsを開きます。 すると、検出された違反が一覧で表示されています。

chapter5-07

2つの違反が確認できます。

  1. 送信データサイズが2904byteと1500byteと大きいために発生しています
  2. 許可していない(ホワイトリストに登録していない)ポート8888が空いているため発生しています

数値をクリックすると、メトリックスの詳細画面が表示されます。

chapter5-08

うまく検出ができました。 Device Defender Detectをもっと詳しく知りたい場合は、こちらのドキュメントから詳細をご覧ください。

この章の手順は以上です。