概要
「OAuth・OIDC への攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)」を読みました。 書籍の感想を記述します。
書籍の感想
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 |
この後の章では、これらの攻撃について、その都度説明されます。 そして、最後に全体整理がされる流れです。
state
、nonce
、c_hash
、at_hash
、PKCE
は脆弱性対策に使われるものだとわかっていましたが、具体的にどのようなユースケースに使われていたのか記憶が曖昧でした。
特にc_hash
、at_hash
がどの段階で使われているのかはまったく覚えていませんでした。
それらについて、この本を通して一応の整理ができ、リファレンスとして心強いものになりました。
OAuth と OIDC の主目的である認証認可のパラメータ以外のパラメータがどうしてあるのか理由とユースケースを再確認するため本書籍をおすすめします。
今までの 2 冊とは異なりチュートリアルはないです。 なので、具体的な攻撃と対策のタイミングは過去のチュートリアルを実行しながら頭の中で補完して進めましょう。
毎回、誤字について指摘しているので今回も指摘すると、p.92 のCSFR
がCSRF
のことを指していると思います。読み進める分には問題ありません。