torutkのブログ

ソフトウェア・エンジニアのブログ

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

本日より、Java読書会BOF主催「セキュア・バイ・デザイン」を読む会開始

Java読書会BOF では、本日より新しい課題図書「セキュア・バイ・デザイン

の読書会を開始しました。

Java読書会BOF開催実績

通算回数:279回目 書籍数:41冊目

本日の読書会メモ

本読書会の恒例で、表紙、表紙折り返し、巻末の著者紹介、まえがきから朗読&議論の形式で開始しました。

本日は、第1章 なぜ、設計がセキュリティにおいて重要なのか? と第2章 ちょっと休憩:「ハムレット」の悲劇 の途中までを読み進めました。

参加人数は9名でした。

第1章メモ

常にセキュリティ対策を意識したコードを書いていくアプローチではなく、安全なソフトウェアにつながる設計をするアプローチが良いという導入から始まりました。 ここで、設計は、設計書や図だけではなく、コードまで含めた範囲を設計としています。 Stringクラスで氏名を表現するのではなく、UserNameクラスを設計し、UserNameに許される文字列を制約できるようにする例を紹介しています。 多層セキュリティの実現の簡単な紹介をしています。

第2章メモ

オンライン書店で、セキュリティチームが冊数に-1を入れたところ、注文が確定され、売掛金元帳システムから返金が発生したという仮想のストーリーで始まりました。 在庫システムと売掛金元帳システムはマイナスの冊数が入ってくると、整合して状態を変化するので財務報告書に食い違いが生じず、年末の棚卸作業でも傷による破棄や紛失による差異があるので気づかない。さらに、本を購入する際に−1冊を紛れ込ませると値引き状態(支払いは発生するが本来の注文額より少なく済む)となる裏技が利用者に噂として広まり悪用されたというなかなか真に迫ったストーリーです。

この仮想ストーリーの問題を、この本ではモデリングが原因(浅いモデリング)としています。 冊数を表現するモデルとして、int型を短絡的に使ってしまう(間違ったモデリング)という問題提起をしています。

お昼ご飯

Java読書会BOFでは、お昼は参加者皆そろって近所のお昼処に行きます。混まないうちに入れるよう、11:45に午前の部を終えて向かいます。今回は、会場から徒歩6分のレストランユニオンでお昼を取りました。ここは、メニューが豊富でボリュームがあり、お値段も800円前後位です。

有志二次会

読書会終了後、近所のタップビールのお店で軽い2次会を実施しました。