Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why AI Security is a field of Security?

speed
October 07, 2023

Why AI Security is a field of Security?

情報科学若手の会2023 in 軽井沢での発表スライドです.
AIセキュリティという分野についてプログラミングやセキュリティの視点を交えて全体的に紹介します.

speed

October 07, 2023
Tweet

More Decks by speed

Other Decks in Research

Transcript

  1. AI Security なぜセキュリティ分
    野か
    Issa Sugiura
    B4, Osaka University, Japan
    情報科学若手 会2023 in 軽井沢

    View Slide

  2. Security for ML(AIセキュリティ)(←今回
    テーマ)
    ● MLシステム自体 脆弱性を研究
    機械学習(ML)とセキュリティ
    3
    学習デー

    機械学習モデ

    データ生成源
    (例: 実世界,
    シミュレータ)
    学習済み
    機械学習モデ

    deploy
    パラメータ固

    input output
    パラメータθを
    更新
    ML for Security
    ● 機械学習をセキュリティ分野に応
    用(マルウェア検知, 異常検知,
    etc)
    Malware識別
    モデル
    Software Malware!!!

    View Slide

  3. 目標
    ● AIセキュリティ 一見機械学習 性質を調べてるだけっぽい.
    ● AIセキュリティと従来 セキュリティ 類似点, 相違点を知り,
    AIセキュリティをセキュリティ 観点から見つめ直す.
    →セキュリティ 知見をAIセキュリティに取り入れたい
    4

    View Slide

  4. 目次
    ● 機械学習 基礎
    ● AIセキュリティと
    ○ 敵対的サンプル攻撃
    ○ データポイズニング攻撃
    ○ AIセキュリティにおける重要な概念
    ● AIセキュリティとセキュリティ 関係
    ○ AIセキュリティとセキュリティ 類似点
    ○ AIセキュリティとセキュリティ 相違点
    ● AIセキュリティ 今後
    5

    View Slide

  5. 機械学習 基礎
    6

    View Slide

  6. 機械学習 = 関数を自動的にプログラミングする手法
    ….?
    7

    View Slide

  7. 古典的なプログラミングによるFizzBuzz
    8
    プログラミング
    関数を記述する行為

    View Slide

  8. 機械学習によるFizzBuzz
    方法:
    1. 複雑な関数を表現できる機械学習モ
    デルf(x, θ)を用意.
    2. 大量 教師データを用いて
    fizz_buzz()と挙動が同じになるよう
    にパラメータθを更新
    3. 欲しい関数f(x, θ)が得られる
    9
    (1, “”),
    (2, “”),
    (3, “Fizz”),
    (4, “”),
    (5, “Buzz”),

    (15, “FizzBuzz”),

    ([1,0,0,0,0], [1,0,0,0]),
    ([0,1,0,0,0], [1,0,0,0]),
    ([1,1,0,0,0], [0,1,0,0]),
    ([0,0,1,0,0], [1,0,0,0]),
    ([1,0,1,0,0], [0,0,1,0]),

    ([1,1,1,1,0], [0,0,0,1]),

    機械学習
    モデル
    f(x, θ)
    u++ 備忘録, PyTorchでFizzBuzz: https://upura.hatenablog.com/entry/2019/01/21/202653
    パラメータθを
    更新
    教師データ 教師データ(encoded)



    学習済み
    モデル
    333 “Fizz”
    Goal: fizz_buzz()と同じ挙動

    View Slide

  9. 機械学習によるFizzBuzz
    ● 単純な深層学習モデルで正答率: 0.965
    10
    test data
    200個
    training data
    1~2048からrandomに(2048-200)個
    学習過程で 損失 間違えた入力 7 / 200

    View Slide

  10. 古典的なプログラミングと機械学習 違い
    機械学習
    ● 処理を明確に記述できない場合に有効
    欠点
    ● データ処理方法がBlack Box
    ● (一般的に)学習データが大量に必要
    ● 性能や挙動が学習データに大きく依存
    11

    View Slide

  11. 深層学習
    12
    ● 大雑把に言え 線形関数と非線形関数を繰り返し合成した関数f(x, θ)
    ○ 単純ゆえ大規模な並列計算が可能
    ■ GPT3 パラメータ数 175Billion*
    ● 自動微分により効率的に微分値を求められる
    ● 普遍性定理により任意 関数が近似できる**
    image: Flaticon.com
    f(x, θ)
    *Brown+, Language Models are Few-Shot Learners, 2020
    ** 厳密なstatement こちら: 深層学習 統計理論 , 鈴木 大慈, 日本統計学会誌 第 50 巻, 第 2 号, 2021 年 3 月 p.229∼ p.256
    x

    View Slide

  12. 深層学習 広がり
    深層学習 多様な問題に応用され, 最高性能を叩き出し
    ている
    ● 大規模言語モデル (ChatGPT, etc)
    ● 画像生成モデル (DALL・E, etc)
    ● 画像分類モデル
    ● 音声認識(Siri, etc)
    ● ゲームAI (AlphaGo, etc)
    ● etc
    13
    https://openai.com/research/dall-e

    View Slide

  13. 機械学習 基礎: まとめ
    ● 機械学習 関数を自動的にプログラミングする手法
    ● 処理がブラックボックス
    ● モデル 挙動がデータに大きく依存
    14

    View Slide

  14. AIセキュリティと
    15

    View Slide

  15. MLシステム 全体像
    AIセキュリティと
    MLシステム 脆弱性について 研究分野
    16
    学習データ 機械学習モデル
    データ生成源
    (例: 実世界,
    シミュレータ)
    学習済み
    機械学習モデル
    deploy
    パラメータ固定
    input output
    パラメータθを更新
    訓練フェーズ
    推論フェーズ

    View Slide

  16. 敵対的サンプル攻撃
    17

    View Slide

  17. 敵対的サンプル(Adversarial Example)攻撃
    18
    学習デー

    機械学習モデ

    Goodfellow+, ”EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES”, Figure 1
    データ生成源
    (例: 実世界,
    シミュレータ)
    学習済み
    機械学習モデ

    deploy
    パラメータ固

    input output
    パラメータθを
    更新
    ● 学習済みモデルへ 攻撃
    ● 人間に わからないほど小さな摂動を入力
    に加え, モデルに誤識別させる攻撃

    View Slide

  18. 防御手法そ 1: 敵対的トレーニング
    idea: 入力に摂動が加わっても同じラベルを出力させる
    19
    method: 敵対的サンプルを学習データに加えて学習する
    欠点:
    ● 対症療法的
    ● 未知 攻撃に弱い

    View Slide

  19. 防御手法そ 2: Randomized Smoothing
    idea: 識別モデルf(x)から, 一定 範囲 摂動に対して出力が変化しないよう設計された
    モデルg(x)を構成する
    20
    Cohen+, Certified Adversarial Robustness via Randomized
    Smoothing, 2019, Figure 1
    method:
    入力xに対して, x周辺で予測ラベル 多数決をとる
    ● xに近いほど一票 重みが大きい
    ● 僅差なら予測しない
    選 れたラベルをg(x)とする.
    効果:
    ● 一定 範囲 摂動に対して同じ出力となることを
    理論的に保証
    ● 識別精度とRobustnessにトレードオフ

    View Slide

  20. データポイズニング攻撃
    21

    View Slide

  21. データポイズニング攻撃
    訓練データを汚染し, モデル 挙
    動を意図的に操作する攻撃
    22
    訓練デー

    機械学習モデ

    データ生成源
    (例: 実世界,
    シミュレータ)
    学習済み
    機械学習モデ

    deploy
    パラメータ固

    input output
    パラメータθを
    更新
    訓練データにトリガーを加えたデータ ラ
    ベルを+1したも を混入させる
    トリガー無し トリガー有り
    Saha+, Hidden Trigger Backdoor Attacks, 2019

    View Slide

  22. データポイズニング攻撃 実現可能? 連合学習 観点
    連合学習: 各自が持つデータセットを外部に送らず, 全体が協調してMLモデルを学
    習する学習手法
    ● 悪意あるクライアントが汚染したデータを使ってモデルを学習する可能性
    23
    Server:
    broadcast
    client k: 各時 データセット
    を用いてパラメータ更新
    send w to the Server
    round t
    参加する
    client をランダ
    ムに K 個選ぶ
    K個
    McMahan+, Communication-Efficient Learning of Deep Networks from Decentralized Data, 2016

    View Slide

  23. データポイズニング攻撃 実現可能? LLM 観点
    大規模言語モデル(LLM) 事前学習, fine-tuning 2ステップで学習
    事前学習ステップで , データセットとして
    ● wikipedia
    ● web上に存在するコンテンツ
    ● 論文
    ● etc
    といった大量 データを用いる.
    人 目によるチェック とても難しく, NLP技術を用いてフィルタリング
    → 悪意 あるデータ混入チャンス!
    24

    View Slide

  24. 防御手法: 検知によるアプローチ
    異常・分布外検知, クラスタリング等を用いてトリガーを検知
    例:
    ● activation clustering: 活性化関数 値でクラスタリングし, トリガーを含む
    データを検知
    25
    Chen+, Detecting Backdoor Attacks on Deep Neural Networks by Activation Clustering, 2018

    View Slide

  25. 他にも様々な攻撃が存在
    ● Model Inversion Attack
    ○ MLモデルから訓練データを推定する攻撃
    ● Membership Inference Attack
    ○ あるデータが訓練データに含まれているかを推定する攻撃
    ● Model Theft(Model Extraction Attack)
    ○ 対象 モデル 入出力等から模倣モデルを作成する
    ● etc
    26
    OWASP AI Security and Privacy Guide, https://owasp.org/www-project-ai-security-and-privacy-guide/

    View Slide

  26. AIセキュリティにおける重要な概念
    27

    View Slide

  27. Transferability(転移性)*
    Transferability: あるモデルで有効な敵対的サンプル入力値が, し
    し 他 モデルに対しても有効となるという実験的事実
    転移性 利用例:
    1. 非公開モデルA 入出力から学習データを作成
    2. 代理モデルBを学習
    3. 代理モデルBに対する敵対的サンプルを作成し, Bを攻撃
    28
    *Szegedy+, Intriguing properties of neural networks, 2013
    非公開モデルA
    [x1,x2,x3,..]
    [y1,y2,y3,...]
    2. 代理モデルB
    を学習
    モデル 非公開
    1. api経由で学習データ作成
    3. 代理モデルBに対する
    敵対的サンプルを作成し ,
    モデルAを攻撃

    View Slide

  28. AIセキュリティとセキュリティ 関係
    29

    View Slide

  29. AIセキュリティとセキュリティ 類似点
    30

    View Slide

  30. セキュリティと性能 トレードオフ
    31
    サイバーセキュリティ 世界
    ● アクセス可能な人を制限
    ● API制限
    ● ログイン機能
    ● 速度低下
    AIセキュリティ 世界
    ● モデル 非公開
    ● モデル ロバスト化に伴う性能低下

    View Slide

  31. 攻撃者 ヒントになる情報を難読化(obfuscation)
    32
    サイバーセキュリティ 世界
    サイドチャネル攻撃やタイミング攻撃に
    対する防御として 難読化
    ● 例: 暗号処理で不要な計算を差し込

    AIセキュリティ 世界
    敵対的サンプル攻撃で利用される勾配
    を求められにくいよう難読化(有効性に対
    する指摘も)*
    https://openai.com/research/attacking-machine-learning-with-adversarial-examples
    *Athalye+, Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples, 2018

    View Slide

  32. AIセキュリティとセキュリティ 相違点
    33

    View Slide

  33. パッチ コード vs データ
    34
    サイバーセキュリティ 世界
    ● 従来 ソフトウェアにおけるバグ
    コードに存在
    ● 静的解析や動的解析等で問題を特
    定できる(できないことも...)
    AIセキュリティ 世界
    ● MLシステムにおけるバグ モデル
    内部やデータに存在
    ● 問題 特定が難しい

    View Slide

  34. AIセキュリティ 今後
    35

    View Slide

  35. AIセキュリティと大規模言語モデル(LLM)
    ● LLM パラメータ数, データ量ともに大規模
    →モデルだけでなく, データもブラックボックス化が進む
    ● 創発(An ability is emergent if it is not present in smaller models but is present in larger models) 指
    摘*(諸説あり**) →AIセキュリティ 知見 適用できる?
    ● LLMに意思決定が任される可能性
    ○ ex. Open AI Function Calling***
    ■ 関数を呼び出すタイミング, 関数 引数をLLMがjsonで出力
    ■ クラウドリソースを無限に消費する攻撃などありえる(?)
    36
    *Wei+, Emergent Abilities of Large Language Models, 2022
    **Schaeffer+, Are Emergent Abilities of Large Language Models a Mirage?, 2023
    ***https://platform.openai.com/docs/guides/gpt/function-calling

    View Slide

  36. AIセキュリティ 重要さ
    ● 機械学習が応用されるほど重要になる
    ○ 自動運転, セキュリティ製品, 医療現場, etc
    ● AIセキュリティ 知見で安全性を担保し, 機械学習 適用可能な領域を増やす
    37
    *Rob van der Veer , How Artificial Intelligence attacked my family and other AI security lessons,
    https://www.softwareimprovementgroup.com/how-artificial-intelligence-attacked-my-family-and-other-ai-security-lessons/

    View Slide

  37. まとめ
    機械学習 基礎
    ● 機械学習 データから関数を自動的にプログラミングする
    AIセキュリティと
    ● MLシステム 脆弱性について 研究分野
    ● 多様な攻撃手法と防御手法がある
    AIセキュリティとセキュリティ 関係
    ● AIセキュリティとセキュリティに 似た概念がいくつも見つかる
    AIセキュリティ 今後
    ● 急速な機械学習 発展とともに重要性が高まる
    38

    View Slide

  38. References
    ● 瀧川一学, 機械学習と自動微分: https://speakerdeck.com/itakigawa/ji-jie-xue-xi-tozi-dong-wei-fen-2023
    ● 岡野原 大輔, 大規模言語モデル 新たな知能か
    , 岩波書店
    ● https://course.mlsafety.org
    ● https://github.com/Trusted-AI/adversarial-robustness-toolbox
    ● セキュリティエンジニア ため 機械学習
    , Chebbi 著, 新井 他 訳, オライリー・ジャパン
    ● 深層学習 改訂第二版, 岡谷 貴之著, 講談社
    39

    View Slide