Security
PHP7で追加される整数型、浮動小数点型タイプヒントの問題点
PHP7では整数型、浮動小数点型、配列型のタイプヒントが追加されます。データ型をより厳格に取り扱うようになるのは良い事ですが、データ型を変換してしまうため問題となる場合もあります。 データ型は指定した型に変換すればよい、という単純な物ではありません。私はデータ型を変換しない方のRFCを支持していました。残念ながらこちらのRFCでなく、問題がある方のRFCが採…
Webアプリケーションセキュリティ対策入門の付録を更新
既に執筆してから10年ほど経っている「Webアプリケーションセキュリティ対策入門」ですが、サンプルコードがおかしいという指摘がありました。しばらく前からWikiに載せているのですが、時間がなくブログは書いていませんでした。 http://wiki.ohgaki.net/sample コードが随分おかしいという指摘は今まで私にまで届いておらず、何かバグがあった…
アプリケーション仕様とセキュリティ仕様の関係
アプリケーション(ソフトウェア)仕様とセキュリティ仕様の関係とその特徴は正しく理解しておく必要があります。この関係と仕様の特徴を正しく理解しておかないと根本的な部分での間違いにつながります。
SQLite3の全てのカラムがテキスト型である問題に対する誤解
以前にSQLite3のデータ型は基本的には全てテキストである、という解説をしました。 安全なAPI過信症候群の処方箋 – execv/SQLite3 編 SQLiteデータ型の仕様とセキュリティ問題 どうもこの問題は強い型を持っている言語には影響がないとの誤解があるようなので解説します。
徳丸浩氏との長年の議論に終止符 – 論理的/体系的セキュリティとそれ以外
私が長年徳丸さんと議論していることをご存知の方も多いと思います。徳丸さんがなぜ論理的に矛盾する主張、明らかにセキュリティ標準規格/ベストプラクティスに反する主張を繰り返えしたのか、その理由が判明しました。それと同時に長年の議論に終止符が打たれ、徳丸さんの考えを完全に理解することができたと思われます。 徳丸さんがセキュリティ対策製品であるWAF(Web App…
Memcachedのプロトコル仕様とセキュリティ – Memcachedでもインジェクションが可能
Memcachedはテキストプロトコルとバイナリプロトコルの二種類を持っています。デフォルトはテキストプロトコルです。テキストプロトコルを利用している場合、テキストインターフェース処理の基本を理解した上で利用しないとセキュリティ問題が発生します。こういった処理のセキュリティ対策を行う、確認するには実は標準の方が簡単で明解 – セキュリティ対策の評価方法も参考…
実は標準の方が簡単で明解 – セキュリティ対策の評価方法
なぜセキュリティ対策の区別が異なるのか?長年疑問だったのですが、その理由の一つが判りました。
IoT時代のセキュリティ対策に必須 – ISOでも定義する入力バリデーションの方法
項目を切り出して独立したブログエントリにしておく方が良いとおもい書きました。IoT時代(IoT時代でなくてもですが)に最も必要なセキュリティ対策は厳格な入力バリデーションです。 IoTソフトウェアのバージョンアップは非常に困難、不可能である場合も多い ソフトウェアには未知の危険性が存在している セキュリティ対策としの入力バリデーションはIoTでは更に厳格に行…
ニュートン力学と相対性理論 – エンジニアに見られるセキュリティ対策理解の壁
以前からセキュリティ対策の本質や定義について何度かブログを書いたり、講演もしてきましたがなかなか理解できない方も多かったです。その構造は ニュートン力学と相対性理論の理解の壁 これと似ているのでは?と思い書き始めました。「エンジニアのセキュリティ対策理解の壁」は「ニュートン力学と相対性理論の理解の壁」と同類ではないでしょうか? 特に入力バリデーションはセキュ…
ホスト名バリデーションのやり方
徳丸さんのブログで私のブログ「GHOSTを使って攻撃できるケース」にコメントがあったようなので、ホスト名バリデーションの方法を書いておきます。