カテゴリー
Computer PHP Security Programming Secure Coding

PHPの制限一覧

PHPには他の言語と同様に様々な制限があります。まとまった資料が見つからなかったのでまとめておきます。PHPの制限と言っても実行時間の制限のようにマニュアルに記載されているINI設定などは記載していません。

カテゴリー
Computer Programming

mbstring正規表現デフォルト文字エンコーディングは”EUC-JP”だった

デフォルト文字エンコーディング設定の仕様変更はPHP 5.6リリースの際に私が行った変更ですが、ブログで紹介していなかったような気がするので紹介します。PHP 5.5以下のmbstring正規表現デフォルト文字エンコーディングは”EUC-JP”でした。

一応、RFCには

  • all functions that take encoding option use php.internal_encoding as default (e.g. htmlentities/mb_strlen/mb_regex/etc)

と書いているのですが、これだけではmb_eregなどのデフォルト文字エンコーディングが変わっている事に気が付かない方も多い(気が付かない方が多い?)と思います。

カテゴリー
Computer Development PHP Security Programming Security

正規表現インジェクション

一文字でも意味がある文字があるとインジェクション攻撃が可能な場合が多いです。正規表現も例外ではありません。

カテゴリー
Computer PHP Security Security

ITセキュリティの目的

簡単基礎的な事ですが、ITセキュリティの目的がどのように決るのか?理解しておくことが重要だと思うのでブログにします。

カテゴリー
Computer PHP Security Programming Security

「黒い」セキュリティだのみは捨て去る

「黒い」セキュリティとはブラックリスト型セキュリティのことです。

ブラックリスト型セキュリティとは「ブラックリスト型対策でセキュリティを維持しよう」とする概念です。セキュリティ対策では、ブラックリスト型対策はできる限り使わず、可能な限りホワイトリスト型対策を使う、が基本です。しかし、ブラックリスト型の「黒いセキュリティ」対策が理想的な対策である、と考えている人が少くないようです。

「黒いセキュリティ」に頼ったITセキュリティは基本的に捨て去るべきです。

カテゴリー
Computer PHP Security Security

なぜセキュリティ対策はリスクの増減として考えるのか?

ITセキュリティ標準ではセキュリティ対策(リスク対応)はリスクの増減に着目して対策を行います。(最初のリスクアセスメントが正しく実行されていれば、リスクの増減を見るだけで管理/対策できる)概念的な部分は理解しづらいようなので、なぜセキュリティ対策をリスクの増減として考えるのか解説します。

ここで紹介していることはリスク管理の基本的な概念です。リスク対策はITセキュリティ対策に対して上位互換、つまりより広い範囲のリスク/セキュリティ対策です。

カテゴリー
Computer PHP Security Security

たった2つの質問で判る、ITセキュリティ基礎知識の有無

ITセキュリティは国際標準化(ISO27000)もされ、ISMS認証取得済みの組織も5000程もあり広く認知されている概念のハズですがそうでもありません。簡単にセキュリティ基礎知識を持っているか、いないか、判別でれば、エンジニアの採用や既存スタッフの知識レベルの確認などに役立つと思います。

以下はITセキュリティの基礎知識を持っているか、いないか?簡単に判別できる質問です。一言で答えてください。

  1. ITセキュリティ対策の目的とは?
  2. ITセキュリティ対策の定義とは?