AWS Dev Day 2023 Tokyo: Security By Design
a_zara-
APT
国家を背景に持った犯罪組織
OWASP TOP 10
3, 4年に一度発表されるWebプロダクトへの脅威のトレンド情報
A05' 疎結合なサービス同士(マイクロサービス)間の認証認可のスキが狙われる
パブリッククラウドの「設定ミス」が昨今はよく狙われる
単独サービスにおける設定ミス
複数のサービスの設定が組み合わさってミスのようになるもの
偽ライブラリ(サプライチェーン汚染)からの攻撃でもパブリッククラウド向けのが多い
EC2のメタデータを取りに行く、とかそういうふるまいをされる
開発としてのベストプラクティス
セキュリティ・バイ・デザイン
要件定義の時点でセキュリティを考慮しましょう、という話
シフトレフト
後ろにおかれがちな行程(テスト・レビュー・etc)をできるだけ前にやるぞ!という話
Cognito
Self-Signup
パブリック向けのサービスならこれは使えて良いけど
社内向けサービスで有効になってるなら、まずい
Self-Signup機能は無効化すべし
動的にアカウント作成が必要なら、Admin SignUp API を使って実装すべし
Clientに付与している権限が強すぎる
S3/CloudFront
脅威
自由なアップロード
認証なしでのダウンロード
Content-type 経由の攻撃
画像をアップロードするようなケース
ユーザがファイルをアップする際に text/html の Content-Type でアップロードする
画像の中にXSSできるような内容をこめておく
ほかのユーザがダウンロードした際にXSSが成立する
署名済みURLを用いたアップロードにする
Content-Type、ファイルサイズなどに制限を書ける
署名付きURL生成時の制約がユルい
ファイルサイズの制限はしたほうがよい
EDOS(クラウド破産を狙うDOS)の対策にもなる
上に同じ
誤ったPrefix/Keyの扱い
ユーザ入力をそのままPrefix/Keyにすることを考えると
Windowsでパスとして使えない文字がある場合、正規化しないとな・・ってなる
正規化をしない
ユーザの入力を使わない
Lambda
OWASP ASVS
CSPM
AWSのデフォルト仕様