A型システムエンジニアの勉強メモ

情報処理試験の午前問題をネタにして、解説をじっくり書きながら勉強しています。基礎は大事。

広告

基本情報技術者試験 平成31年度 春期 午前 問45

 ファジング、セキュリティテストについての問題。

 

--------------------------

基本情報技術者試験

平成31年度 春期 午前 問45

 

ファジングで得られるセキュリティ上の効果はどれか。

 

ア ソフトウェアの脆弱性を自動的に修正できる。

イ ソフトウェアの脆弱性を検出できる。

ウ 複数のログデータを相関分析し、不正アクセスを検知できる。

エ 利用者 ID を統合的に管理し、統一したパスワードポリシを適用できる。

--------------------------

解説

 

ファジング(Fuzzing)

”ファジングはセキュリティテスト。"

"ファジングは検査対象に問題が起きそうな細工をしたデータを送り、検査対象に異常な動作がおきないかを検査する。"

 

ということで、正解は選択肢イ

ファジングにつかうデータはいろいろな種類がある。

  • 画像のアップロード要求に対して Word データをアップロードしてみる。
  • 氏名欄に 1,000文字のデータを入力してみる、など。

ファジングで使うテストデータのことをファズ(fuzz)と呼び、ファジングはファズテスト(fuzz testing)とも呼ぶ。

 

 

選択肢ア脆弱性を自動で修正はできるなら非常に助かるけど、脆弱性を修正するための更新で業務システムに悪影響がでることもあるので、その確認も含めて自動化されていると嬉しい。

自動で脆弱性を検査する技術は色々と存在する。OSS である OpenSCAP とかおすすめ。

脆弱性を漏れなく検出できることで、システム運用者がやることは非常に多くなっていく。対策するべきであることはわかっている。。。

 

脆弱性を自動で修正されることは上述の通りシステムの運用者としては少し怖い部分がある。

OSS脆弱性が見つかれば対策としてはパッケージのアップデートになることがほとんどであるが、アップデートにより別の問題が発生してシステムが止まってしまうことが稀に起きてしまう。

自動で修正(=アップデート)がされてしまうのは困る。

 

アップデートによる影響は検証用の環境で実際に試してみないと正確にはわからないが、バージョンの表記をみることで厳密ではないが大まかにわかることがある。

 

セマンティックバージョニング(Semantic Versioning)という考え方。

  • バージョンの表記は X.Y.Z とする(例:5.0.2、11.2.3)
  • X:メジャーバージョン、Y:マイナーバージョン、Z:パッチバージョンと呼ぶ。
  • 機能や見た目がなにも変わらないバグ修正等をした場合は Z:パッチバージョンをあげる。
  • 機能を追加したが、それまでの機能がそのまま使える場合は Y:マイナーバージョンをあげる。
  • それまでの機能がそのまま使えないような、大きな機能変更がある場合は X:メジャーバージョンをあげる。

例えば今 2.2.6 というバージョンを使っていて、とある脆弱性が発見されてアップデートが必要になったとする。

  • 更新版が 2.2.7 なら、2.2.6 の機能はそのまま使えるはずなので恐らく他への影響はない。
  • 更新版が 2.3.0 なら、2.2.6 の機能はそのまま使えるはずなので恐らく他への影響はない。機能が増えたり見た目が変わるかもしれないけど。
  • 更新版が 3.0.0 なら、2.2.6 の機能がそのまま使えない可能性が高いため恐らく他への影響が大きい。

Y:マイナーバージョンや Z:パッチバージョンのように "それまでの機能がそのまま使える" ことを後方互換があるという。

ただし、セマンティックバージョニングに厳密にしたがっていないケースもあるので、検証はちゃんとやらないといけない。あくまで、アップデートを検討する際の目安。

 

 

選択肢ウについては問44の選択肢にある SIEM のようなものが当てはまる。

基本情報技術者試験 平成31年度 春期 午前 問44 - A型システムエンジニアの勉強メモ

 

 

選択肢エについては統合認証基盤とか統合 ID 基盤で得られる効果である。

 

 

前後の問題はこちら。

koki2016.hatenadiary.com