PHP Security
PHPの制限一覧
PHPには他の言語と同様に様々な制限があります。まとまった資料が見つからなかったのでまとめておきます。PHPの制限と言っても実行時間の制限のようにマニュアルに記載されているINI設定などは記載していません。 (さらに…)
正規表現インジェクション
一文字でも意味がある文字があるとインジェクション攻撃が可能な場合が多いです。正規表現も例外ではありません。 (さらに…)
ITセキュリティの目的
簡単基礎的な事ですが、ITセキュリティの目的がどのように決るのか?理解しておくことが重要だと思うのでブログにします。 (さらに…)
「黒い」セキュリティだのみは捨て去る
「黒い」セキュリティとはブラックリスト型セキュリティのことです。 ブラックリスト型セキュリティとは「ブラックリスト型対策でセキュリティを維持しよう」とする概念です。セキュリティ対策では、ブラックリスト型対策はできる限り使わず、可能な限りホワイトリスト型対策を使う、が基本です。しかし、ブラックリスト型の「黒いセキュリティ」対策が理想的な対策である、と考えている…
なぜセキュリティ対策はリスクの増減として考えるのか?
ITセキュリティ標準ではセキュリティ対策(リスク対応)はリスクの増減に着目して対策を行います。(最初のリスクアセスメントが正しく実行されていれば、リスクの増減を見るだけで管理/対策できる)概念的な部分は理解しづらいようなので、なぜセキュリティ対策をリスクの増減として考えるのか解説します。 ここで紹介していることはリスク管理の基本的な概念です。リスク対策はIT…
たった2つの質問で判る、ITセキュリティ基礎知識の有無
ITセキュリティは国際標準化(ISO27000)もされ、ISMS認証取得済みの組織も5000程もあり広く認知されている概念のハズですがそうでもありません。簡単にセキュリティ基礎知識を持っているか、いないか、判別でれば、エンジニアの採用や既存スタッフの知識レベルの確認などに役立つと思います。 以下はITセキュリティの基礎知識を持っているか、いないか?簡単に判別…
セキュアプログラミング第一位の対策、入力バリデーションはセキュリティ対策ではない?!
セキュアコーディング/セキュアプログラミングにおける最も重要なセキュリティ対策は「入力バリデーション」です。国際標準ではセキュリティ対策か否かは「リスクの変化」によって決り、※多くのセキュリティ専門家が「入力バリデーションをNo1のセキュリティ対策である」と結論づけています。(※ 対策の目的が何か?などの主観に基く評価はセキュリティ対策か否か、を決める指標で…
セキュアなアプリケーションのアーキテクチャ – sandbox化
セキュアなアプリケーションのアーキテクチャの基本は既に書きました。基本は既に書いた通りですが、多少異るアプローチもあります。今回はそれを解説します。タイトルに含まれているsandbox化がキーワードです。 (さらに…)
セキュアなアプリケーションアーキテクチャ
セキュアなアプリケーションには共通したアーキテクチャがあります。基本的には防御的プログラミング(セキュアプログラミング)を行い、防御的プログラミングのテクニックの1つである契約プログラミングを実践したアーキテクチャがセキュアなアーキテクチャです。 アプリケーションのセキュリティ問題のほとんどはインジェクション問題です。インジェクション問題以外にもセキュリティ…