msksgm’s blog

msksgm’s blog

Webエンジニアです。日々の勉強記録、技術書感想、美術観賞感想を投稿します。

「OAuth・OIDC への攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)」感想

概要

「OAuth・OIDC への攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)」を読みました。 書籍の感想を記述します。

authya.booth.pm

書籍の感想

Auth 屋(@authyasan)さんが執筆している、OAuth、OIDC 関連の書籍の 3 冊目です。 タイトルの通り、今回は攻撃と対策の本です。 最初に軽く、OAuth と OpenIDConnect(以下、OIDC)の振り返りがあります。 しかし、それらについて学べるハンズオンは過去の 2 冊(雰囲気で OAuth2.0 を使っているエンジニアが OAuth2.0 を整理して、手を動かしながら学べる本OAuth、OAuth 認証、OpenID Connect の違いを整理して理解できる本)に載っているので、知識に不安があれば過去の本を読みましょう。

今回の本で、OAuth と OIDC への攻撃の種類、攻撃フロー、対策について学ぶことができます。 具体的には、以下の対応で紹介されます。

表 1.2 OAuth への攻撃と対策の対応表

攻撃 OAuth での対策
クロスサイトリクエストフォージェリ state
コードインジェクション PKCE
トークンインジェクション -
認可コード横取り攻撃 PKCE

表 1.3 OIDC への攻撃と対策の対応表 | 攻撃 | OIDC での対策 | | ---------------------------------- | ------------- | | クロスサイトリクエストフォージェリ | state | | リプレイアタック | nonce | | コードインジェクション | c_hash | | トークンインジェクション | at_hash | | 認可コード横取り攻撃 | PKCE |

出典:OAuth・OIDC への攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)

この後の章では、これらの攻撃について、その都度説明されます。 そして、最後に全体整理がされる流れです。

statenoncec_hashat_hashPKCE脆弱性対策に使われるものだとわかっていましたが、具体的にどのようなユースケースに使われていたのか記憶が曖昧でした。 特にc_hashat_hashがどの段階で使われているのかはまったく覚えていませんでした。 それらについて、この本を通して一応の整理ができ、リファレンスとして心強いものになりました。 OAuth と OIDC の主目的である認証認可のパラメータ以外のパラメータがどうしてあるのか理由とユースケースを再確認するため本書籍をおすすめします。

今までの 2 冊とは異なりチュートリアルはないです。 なので、具体的な攻撃と対策のタイミングは過去のチュートリアルを実行しながら頭の中で補完して進めましょう。

毎回、誤字について指摘しているので今回も指摘すると、p.92 のCSFRCSRFのことを指していると思います。読み進める分には問題ありません。

感想まとめ

  • OAuth と OIDC の攻撃と対策について書かれた本
  • 今まで学んだ認証認可以外のパラメータの意味について再度理解できる
  • この書籍自体にチュートリアルがないので、過去の本をチュートリアルを進めよう