---
# System prepended metadata

title: MUD Profileについてのまとめ
tags: [論文メモ-IoT-MUD]

---

# MUD Profileについてのまとめ

###### tags: `論文メモ-IoT-MUD`

- ニューサウスウェールズ大学の[ページ](https://iotanalytics.unsw.edu.au/mudprofiles)から
> IoTデバイスがサイバー攻撃に関与するケースが増えており、重要なインフラや企業、市民に与えるリスクについて社会的な関心が高まっています。このようなリスクを低減するために、IETFは、IoTベンダーに対して、IoTデバイスの意図された目的について、MUD（Manufacturer Usage Description）の形で正式な仕様を策定するよう働きかけています。これにより、あらゆる動作環境におけるIoTデバイスのネットワーク動作をロックダウンし、厳密に検証することができます。

>私たちは、任意のIoTデバイスのトラフィック・トレースを入力とし、そのデバイスのMUDプロファイルを自動的に生成するツールを開発しました。我々が分析した28台のコンシューマー向けIoTデバイスのMUDプロファイルを生成しました。以下では、我々のデータとツールを公開します。

## MUDの構造について
参考:[他のメモ](https://hackmd.io/@mHrausHIQ_aGe18aRxjOug/HyS7hk8zY)

<details><summary>上のメモからの引用</summary>
MUDは、主に以下の3要素から成り立つらしい。

---

> MUDの導入は、3つのアーキテクチャ・ビルディング・ブロックで構成される必要があります。
>1. MUD（Manufacturer User Description）ファイル：機器メーカーが作成し、機器とその予想されるネットワーク上の動作を記述したもの。
>2. ユニフォーム・リソース・ロケータ（URL）：家庭や中小企業のネットワークにデバイスが追加されたときに、メーカーのサーバーからMUDファイルを取得するために使用されます。
>3. ローカルネットワーク管理システムが説明文(MUDファイル:原文はdescriptionだと思われる)を取得するためのメカニズム。


図を用いて動作をまとめると以下の通りになる。

![](https://i.imgur.com/s7ZsqsY.png)


>1. ネットワークに新規デバイスが接続されると、X.509証明書付きのMUD-URLを送信するか、DHCPまたはLLDPを送信(デバイス的には受信)する。
>2. ローカル・ルーター（ネットワーク・アクセス・デバイス(NAD)）が、リクエストの認証のために MUD-URL を AAA サーバーに送信します。(ZTP-ゼロプロビジョニング)
>3. AAA サーバーが、認証された MUD-URL を MUD マネージャに送信します。MUDマネージャーは、X.509認証の場合、署名とリクエストを検証しする。
>4. メーカーのファイルサーバーからMUDファイルを取得する。
>5. MUDファイルは、YANGベースのJSONファイル（IETF RFC 7951）に、機器メーカーの公開鍵署名を施したものです。MUDマネージャーは、MUDファイルの検証と処理を行い、その証明書が有効になるまでファイルをローカルに保存し、アクセスコントロールリスト（ACL）を生成します。
>6. MUD マネージャはACLをNAD(Network Access Device、ここではルータのことらしい) に送信する。NAD は、MUD マネージャから受け取った ACL 規則を、NAD を通過するすべてのトラフィックに適用します。
 

</details>

---

MUDファイルの中身は、TCPレベルのACLを構成するための情報らしい(IETF公式文書より)。中身の[一例](https://iotanalytics.unsw.edu.au/mudprofiles)を見てみたが、TCPやUDPのポート番号(送信元・宛先双方)や宛先IP,宛先ドメインネームといった要素を指定して通信を制御できるようだ。

例えば、Amazon EchoからのTCP通信([IPプロトコル番号](https://www.infraexpert.com/study/tea11.html)による指定)/宛先"dcape-na.amazon.com"/443番ポートの通信は許可する…といった内容が書かれている。

![](https://i.imgur.com/svMIt8a.png)

## MUDプロファイルに関する先行研究の研究課題
1. メーカーが作成したMUDプロファイルに加えて、管理者側の意図したような通信ポリシーの設定を反映させられるようにしたい
:arrow_right: SoKの論文のUPS(User Policy Server)という仕組みによって実装方法の提案がなされており、研究分野としては新しそう。([参考文献1](#関連文献))**(DDoS攻撃対策そのものというより、それを防ぐ仕組み(MUDプロファイル)の利用を促すための研究、になりそう)**
    - 研究例:[連合学習](https://acompany.tech/blog/federated-learning/)に参加させるIoTデバイスを、MUDプロファイルに準拠した通信を行っているもののみに限定する。(参考文献6)
:arrow_right:"意図した挙動のMUDプロファイルを生成する"方法を探すなら、ただ単に正常に動作しているIoTデバイスの挙動からMUDプロファイルを作成する方法についても調べる必要が…[参考文献2](#関連文献)
    - これに関連して、MUDプロファイル+ユーザーポリシーの衝突を防ぐことが求められている。


2. 多種のIoTデバイスが接続されている場合、多くのACLが適用されるがその結果をわかりやすく把握したい(可視化)
MUD Visualizerという、MUDファイルが生成したACLを可視化するツールを開発したという論文がある。MUDファイルが生成するルールに矛盾があったり、各デバイス由来のMUDプロファイルが与える影響を把握しやすくするもの(原文より)らしい。(参考文献5)
    - これに関しては"可視化"というセキュリティ分野でまだ比較的見たことがあるテーマとしてメモに加えている(参考用)

3. より細かい指定(時間当たりの通信量(レート)制限など)をしたい
MUDプロファイルの拡張に関する参考文献(関連文献4)がある。
    - MUDプロファイルの内容を拡充し、DDoS攻撃の検出を試みる論文が見つかっておりそちらも併せて調べる予定。

4. MUD Profileを利用して異常検知を行いたい。
:arrow_right:[[参考文献10]](#関連文献)

## 関連文献
- 学術論文
    - SoK: Beyond IoT MUD Deployments - Challenges and Future Directions[1]
    - Clear as MUD: Generating, Validating and Applying IoT Behavioral Profiles[2]
    - Throwing MUD into the FOG: Defending iot and fog by expanding MUD to fog network[3]
    - Security Architecture for Defining and Enforcing Security Profiles in DLT/SDN-Based IoT Systems[4]
    - On the Analysis of MUD-Files' Interactions, Conflicts, and Configuration Requirements Before Deployment[5]
    - CoLearn: Enabling Federated Learning in MUD-compliant IoT Edge Networks[6]-2020
    - Enforcing Behavioral Profiles through Software-Defined Networks in the Industrial Internet of Things[7]
    - Mitigating IoT-Based Automated Distributed Threats[8]
    - Towards Automated DDoS Abuse Protection Using MUD Device Profiles[9]
    - Detecting Volumetric Attacks on loT Devices via SDN-Based Monitoring of MUD Activity[10]
---

- IETF公式文書
    - [RFC 8520](https://www.rfc-editor.org/rfc/rfc8520.txt)
    - [IETF Tools](https://tools.ietf.org/id/draft-ietf-opsawg-mud-22.html)(多分上と同内容だけど読みやすい)

---

### 関連文献メモ
[8]は[7]の参考文献(番号14)である。`NISTは当初、IoTベースの自動化された分散型の脅威を軽減するためにMUDを使用することを検討しており[14]`…という記載あり。


## コメント欄

1.([問題点1](#MUDプロファイルに関する改善点・問題点)に関し、"管理者が適当な仕様書投げたら適切なMUD Profileが出てくるような機構"の開発なんてどうでしょうという意見に対する反応)
そういった機構の開発なら、新規のアルゴリズムの設計などの新規性をもって"学位がもらえる研究"になる可能性はある。