X

Security

PHPとXML eXternal Entity(XXE)対策

2017年版OWASP TOP 10がリリースされました。新しくA4としてXXE、A10としてInsufficient Logging & Monitoringが入りました。今回はXXE対策を紹介ます。XXE対策は簡単です。 XXEは「リクエストのインジェクション」と考えると解りやすく、「リクエストのインジェクション」と理解すれば他の類似攻撃パターン…

実は守れていないローカルネットワーク

ファイアーウォールで守っている、プロキシも使っている、だからインターネットからローカルネットワークは守られている! 半分あたりですが、半分はずれです。よくあるネットワークシステムではローカルネットワークはインターネットから半分くらいしか守っていません。 まだ対策をしていない場合は実施することを強くお勧めします。 クロスサイト攻撃からローカルネットワークを守る…

H29年度 岡山大学ビジネスマインドセミナー ~ 知られざる情報セキュリティの危機的状況とその対策 ~

H29年度 岡山大学ビジネスマインドセミナー 「経営者/マネージャーが知るべきセキュリティ」 ここ5年ほど(?)行っている岡山大学ビジネスマインドセミナーの講師を本年も担当しています。今年は内容を大幅に更新しています。 席数は十分にあるはずなのでconnpassでも登録できるようにしました。今週末(11月11日土曜)13:00~です。お気軽に受講ください! …

4種類の信頼境界とセキュリティ構造 – 構造設計なしのセキュリティ対策?

セキュリティ対策には設計図があります。少なくともアーキテクチャー図があります。しかし、何故かソフトウェアの場合は設計図もアーキテクチャー図も書けないセキュリティ対策が当たり前になっています。国際情報セキュリティ標準やセキュリティガイドラインを普通に理解すれば解ること、セキュリティ対策の基礎の基礎にも関わらず、です。 これは一般開発者の問題というより、セキュリ…

ソフトウェアセキュリティのアンチパターン

アンチパターンを知ることにより失敗を防ぐ。これはデータベース設計やソフトウェア設計で多く利用されている手法です。今回はソフトウェアセキュリティのアンチパターンを紹介します。 このエントリは不定期にメンテナンスするつもりです。 (さらに…)

ゼロトラストをより細かく分解する

セキュリティを維持する為にはゼロトラスト、何も信頼しない所から始めて信頼できることを検証する、作業が必要です。ゼロトラストは信頼できるモノと信頼できないモノに分ける作業ですが、より細かく考える必要があります。 ※ より細かく考える、とはいっても「細かい事だけ」では合成の誤謬にハマります。全体と詳細、両方をバランスよく「ゼロトラスト」することが大切です。 (さ…

なぜセキュアなシステムが作れないのか?

なぜセキュアなシステムが作れないのか?この問いは なぜバグフリーのシステムが作れないのか?1 と同類の問いです。一定規模を超えると完全にバグ/問題がないシステムを作るのは非常に困難です。どのような状況でも正常に動作する完全にバグ/問題がないシステムは簡単には作れません。しかし、バグ/問題がないシステムが容易に作れないからといって「体系的な対策を行わない」のは…

PHP用入力バリデーションモジュール – validate

ブログで紹介するのを忘れていました。PHP用の入力バリデーションモジュール validateを作りました。 https://github.com/yohgaki/validate-php PHP開発MLでの議論用に作ったので、作りかけと言える状態ですが、一応動作し使えます。 関数名はvalidate()の方が良いのでは?という意見があったので、名前は変更する…

Python 2.7.14から学ぶセキュリティの基本

Python 2.7.14が2017/9/16にリリースされました。Pythonの開発はバージョン3系に移行しており、2系はセキュリティ修正のみのリリースになっています。とは言ってもモジュールの変更を見るとバグフィックスやドキュメント修正も含まれているようです。 Python 2.7.14のリリースはソフトウェアセキュリティの基本を学ぶには良い題材になります…

Railsユーザーが真っ先にするべきセキュリティチェック – Brakeman

Railsユーザーがソースコード検査やWebサイト診断を受ける前に真っ先に使った方が良いセキュリティ検査ツールがあまり使われていないように感じています。 Brakemanはかなり良くできたツールです。私は何年も前から補助的に使っています。 (さらに…)