LoginSignup
0
0

More than 5 years have passed since last update.

【WEBエンジニアとASVS 壱(V1、V2)】

Posted at

※資料は最下部にあります。
前回は紹介だけでしたが、
今回から内容の解説をしていこうと思います。
以下の形式で解説していきます。
・V1、V2などは資料内のシート名
・基本的にレベル1(シート内でカラム「1」に「○」)のものを対象(例外あり)
・まだ勉強中のためあやふやな部分あり

今回はV1とV2の途中まで(数が多いため)を解説します。
V1に関しては「基本設計フェーズ~」の段階のため、
かなりあやふやです。(実務経験が少ない)

V1:アーキテクチャ,設計,脅威モデリング

設計段階からのセキュリティ観点
「アプリケーションのコンプリートガイドはありますか?」みたいな感じだと思います。

No.1 アプリケーションのすべての構成要素を把握し,それらが必要とされている

「自分たちが作るアプリケーションなんだからすべての機能知ってるよね?」だと思います。
すべてのフロー、機能などを完璧に理解することは難しいですが、
そこさえ理解していればテスト観点の網羅性、「リリース後の処理追加」による脆弱性は生まれにくい。
 

V2:認証に関する検証要件

ログイン回りや要認証ページなどのセキュリティ観点
アプリケーションの入り口となるところなので最重要。

No.1 意図して公開しているものを除き,すべてのページとリソースがデフォルトで認証を必要とする(完全仲介の原則)

本資料の2.1.設計原則 3.Complete mediationを参照

No.2 すべてのパスワードフィールドについて,ユーザが入力したパスワードがそのまま表示されない

htmlのinput type="password"で解決
パスワードをどうしても表示させた場合は、
JSなどで制御するといいでしょう。

No.3 すべての認証がサーバ側で行われる

フロントエンドで出来ることはできますが…
これは必ずサーバーサイドで実装しましよう。

No.4 すべての認証機構がフェイルセキュアであり,攻撃者がログインできない

フィルセキュアとは
…らしいです。(初耳でした)
まずは、悪意ある人間がログインできないことが大前提ですね。
豆まきと一緒です。
フィルセキュアが認証機構は各種フレームワークで実装するのが一番だと思っています。
独自機構では、漏れが出る可能性が高いので(FWでもバージョンにより脆弱性はありますが…)

No.5 パスワード入力フィールドでパスフレーズの使用を許可または推奨し,長いパスフレーズや複雑なパスワードの入力を拒否しない

パスフレーズとは
パスワードはなるべくなら「大文字小文字英数字記号」を必須とするといいでしょう。

V2の続きは次回で~
▼▽▼▽▼▽▼▽▼▽▼▽▼▽▼▽▼▽▼▽▼▽
ASVS 3.0.1まとめ - Google スプレッドシート
▲△▲△▲△▲△▲△▲△▲△▲△▲△▲△▲△

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0