Computer
マイクロサービスアーキテクチャーのSSRF問題とセキュアコーディング
Webシステムアーキテクチャーとしてマイクロサービスを利用しているケースは随分増えていると思います。従来から一般的に見られるWebアプリの作り方をすると、マイクロサービスではSSRF問題が簡単に発生します。 2017年版OWASP TOP 10ではA10 Insufficient Logging and Monitoringを新しく追加しました。一言でいうと…
IPAは基礎的誤りを明示し、正しい原則を開発者に啓蒙すべき – その2
IPAは”旧セキュアプログラミング講座は更新しない”とWebサイトに記載していましたが、次のブログで「IPAは旧セキュアプログラミングガイドの基礎的誤りを明示し、正しい原則を開発者に啓蒙すべき」と指摘したところ修正されたので第二弾です。 ※ 2018年3月に指摘し、少なくとも秋頃には修正されていました。因みに現在セキュアプログラミング講座はCER…
PHP 7.3
PHP 7.3が今月(2018/12)リリース予定です。新機能や機能変更は小振りですが、結構多くの追加/変更があります。ソースコード中のUPGRADINGに変更点は記載されています。ここでは独断と偏見で選んだ重要度が高い追加/変更を紹介します。 ※ PHP 7.3.0 RC6時点のUPGRADINGから紹介します。 記載していない変更の方が多いです…
コードで学ぶセキュアコーディング 〜 SQLインジェクション編
セキュアコーディング原則において、インジェクション対策の為に重要な原則は 原則1: 全ての入力をバリデーションする原則7: 全ての出力を無害化する の2つです。これらに、一般的なプログラミング原則であるフェイルファースト原則とフェイルセーフ原則、ゼロトラストを適用するとセキュアコーディングになります。 簡単なSQLインジェクション対策コードを使ってセキュアコ…
遅すぎるサニタイズではダメな例
PostgreSQL 11がリリースされました。このリリースでto_number()、to_char()、to_date()、to_timestamp()関数の仕様が変更されました。これらは名前の通り入力を変換する関数です。その際に サニタイズ - ダメな形式のデータを使える/安全なデータ形式に変換する を行います。保存されるデータ形式は、保存可能な形に変換…