Programming
PHPのPharを使ったコード実行
phar(PHPプログラムを1つのアーカイブファイルにまとめて利用するファイル形式)のメタデータにserializeが使われている点は議論になったことがあるように思います。そもそも危険なpharファイルだったら意味なし、という結論だったはずです。結構前の事なので詳しくは記憶していません。 pharモジュールはデフォルトで有効化されており、影響範囲は大きく危険…
OWASP Secure Coding Practices – Quick Reference Guideの訳語
OWASP Secure Coding Practices - Quick Reference Guideの訳語が不適切ではないのか?とメールを頂きました。 ブログにして見ていただく方が良いと思ったので公開します。 (さらに…)
セキュアコーディングは言語を問わず適用できる
セキュアコーディングの基本概念は、言語のタイプを問わず、全てのプログラミング言語と互換性があります。 (さらに…)
アプリとライブラリの「役割と責任」の違い – セキュリティの基礎
アプリケーションとライブラリでは作り方/設計が大きく異なります。この違いを理解していないとセキュアなアプリケーションの構築が困難、というより不可能になります。 (さらに…)
開発者の自由を許容するセキュリティ、自由を束縛するセキュリティ
アプリケーション開発におけるセキュリティ対策は大きく別けて、自由を制限するセキュリティ対策と自由を許容するセキュリティ対策の2種類に分けられると思います。 「セキュリティ対策の為に自由を制限する対策”だけ”でなければならない」とする意見を時々見かけます。しかし、これでは必要な仕様を満すソフトウェアが作れなかったり、不必要なコストが要るソフトウェアになったりし…
データのコンテクスト – セキュリティの基礎
コンテクストを知る、はデータを安全に扱う為に必須の基礎知識です。 よくある致命的な脆弱性を作る考え方は コンテクストなんてどうでもよい。このAPIを使えば良い。 です。セキュリティ対策ではコンテクストが何であるのか?を正しく理解することが重要です。ここではコンテクストについて紹介します。 (さらに…)
プログラミングを覚えたら先ず知るべきコーディングプラクティス
プログラミングを覚えたら先ず知るべきコーディングガイドラインを紹介します。このブログではこれらのガイドラインを時々紹介していましたが、まとめて紹介するのは初めてだと思います。これから紹介するガイドラインはセキュアプログラミング/防御的プログラミング/セキュアコーディングと呼ばれる考え方に基づいたガイドラインです。