[戻る]

Java読書会BOF「セキュア・バイ・デザイン」を読む会 第7回

開催概要

日時

2023年1月28日 10:00 - 17:00

場所

てくのかわさき 第4研修室

出席者(敬称略)

高橋(智)、平山、岩室、加藤、吉本、高橋(徹)

  • 本日は、「セキュア・バイ・デザイン 安全なソフトウェア設計」のp.306、 8.3.3 機能トグルの使いこなしの途中、リスト8.11から読み始めます。

第2部 基礎編

第8章 セキュリティを意識したデリバリ・パイプライン

8.2 設計をより安全なものにする単体テスト

8.3.3 機能トグルの使いこなし
  • p.306 リスト8.11の中で、次のコードがあるがこれは何か?:

    mock(OrderBackend.class);
    verify(orderBackend).process(any(Order.class));
    
    • Mockitoライブラリではないか?

    • mockで引数にモック化したいクラスを指定、verifyで引数に指定したモックインスタンスに対し、続くモック化したクラスのメソッドを呼び出すと、そのメソッドの呼び出しが行われたことが確認できる。

8.4 セキュリティに関するテストの作成と自動化

8.4.1 セキュリティ・テストは単なるテストに過ぎない
  • p.311 脚注[12]のOWASP では、OWASP ZAPというWebアプリケーションの脆弱性診断ツールを提供している。JavaアプリでいろいろなOSで実行できる。

8.5 可用性(availability)のテスト

8.5.1 アプリケーションが扱える負荷の見積もり
  • p.317 警告 「AWSのリソースを負荷テストで大量に使ってしまうと多額の請求を」について、AWSではサーバーだけでなく通信量にも課金される

8.6 設定の妥当性確認(validation)

8.6.2 セーフティ・ネットとしての役割を担う自動テスト
  • p.322 【誤植】 「表5.3に示します」→「表8.5に示します。」

第9章 安全性を考えた処理失敗時の対策

9.1 処理が失敗したときの対応に使われる例外

9.1.1 例外のスロー(throw)
  • 「ビジネス例外」 ドメインルールの違反は例外にすべきではないのでは?の意見

    • if文でチェックする? Javaは戻り値が1つなので本来の戻り値とエラーをどのようにする?

  • p.334 コラム findFirstで、reduceよりも、toListで終端して、リストの要素数を確認するのが読み易いのでは?

9.1.2 例外処理
  • p.339 リスト9.6 このリストだけ、閉じ波括弧(})と catchの間に改行が入っている。

9.2 例外を使わない処理失敗時の対応

9.2.2 処理の失敗を想定できるものとした設計
  • p.347 【誤植】「手法を取り入れていれて」→「手法を取り入れて」

9.4 不正なデータの対応

9.4.1 妥当性確認(validation)の前にデータを修正することによって引き起こされる問題
  • リスト9.10 【誤植】正規表現に誤りか:

    ^[a-zA-Z ]+[a-zA-Z]+$
    ^[a-zA-Z][a-zA-Z ]+[a-zA-Z]$
    

昼休み(昼食)の雑談から

  • QUARKSご存知? マイクロサービス向きフレームワーク。GraalVMを利用する。

本日は、p.368 第9章を読み終わりました。 次回は、p.369 第10章からです。

[戻る]