2017年版OWASP TOP 10

2017年版OWASP TOP 10

追記: 8月現在では、OWASP TOP 10 2017はWAFのプロモーションになっている、OWASP Proactive Controlsの”全ての入力をバリデーションする”と重複している、などの点が議論になりRCはリジェクトされ11月にリリースを目指して調整中になっています。

追記2:正式版が2017年12月にリリースされました。ここで紹介している脆弱性はA10(10番目の脆弱性)「不十分なログとモニタリング」として登録されました。WAFが必要であるかのような記載が削減されましたが、脆弱性の本質(入力検証しない&対応しないアプリは脆弱なアプリ)は変わりありません。

 

このテーマついては既にブログは書いています。このエントリでは追加でQ&Aを記載しています。

2017年度版 OWASP TOP 10 で変るWebセキュリティのルール

元々はこのスライドは非公開にするつもりでしたが、公開可能な内容で公開することにしました。

開発会社としてはどうすれば良いのか?と質問を頂いたので追記します。

もっと読む

2017年度版 OWASP TOP 10 で変るWebセキュリティのルール

追記: 8月現在では、OWASP TOP 10 2017はWAFのプロモーションになっている、OWASP Proactive Controlsの”全ての入力をバリデーションする”と重複している、などの点が議論になりRCはリジェクトされ11月にリリースを目指して調整中になっています。

追記2:12月現在ではPDF版がリリースされています。現時点ではWebページの内容はドラフト版になっています。リリース版では「A7-Insufficient Attack Protection」は「A10-Insufficient Logging & Monitoring」になり、緩い要求事項に変更されていますが、基本的な要求事項は変わりません。マトモな入力バリデーションがないと要求されるログと監視機能を提供できません。

OWASP(Open Web Application Security Project)とはWebシステムのセキュリティ向上を目指す団体です。クレジットカード/デビットカード利用に必要なPCI DSS(Payment Card Industory Data Security Standard)標準に強い影響力を持っています。PCI DSS標準ではOWASPなどのセキュリティガイドを参照/実装するように求めています。

OWASP TOP 10はOWASPガイドプロジェクトの中で最も重要なプロジェクトです。今年はその新版が4年ぶりにこの夏公開予定です。この4月からRC版(PDF)が公開されています。

2017年度版OWASP TOP 10の修正点で、アプリケーション開発者にとって最も影響が大きい変更は

  • A7 Insufficient Attack Protection(不十分な攻撃防御)

が追加された点です。これがWebセキュリティのルールを変える指針になります。(とは言っても、個人的にはこれと同じこと10年以上前から実施すべき、と勧めていますが) もっと読む

SQLインジェクション対策 総”習”編 – 第五回関西DB勉強会

第五回 関西DB勉強会でお話しさせて頂いた SQLインジェクション対策 総”習”編 の公開用資料をSlideShareにアップロードしました。私のセッションを気に入って頂けた方が多かったようで何よりです。

関西DB勉強会、面白かったです。久々にお会いできた方もいました。超満員でもう少しで入りきれないほどでした。また参加できれば、と思っています。

PDFはこちらからダウンロードできます。

 

勉強会で使ったスライドは、面白おかしく柔らかい(?)スライドでした。あまり公開用には向いていません。実際に勉強会で使った資料が欲しい方はFacebookかメールで連絡してください。個別にお送りします。

アプリケーションのセキュリティと必要十分条件

セキュリティと必要十分条件については他のエントリでも書きました。以前書いたエントリではミクロの視点から単純な加算関数で考えました。今回はもう少し大きなマクロの視点、アプリケーションのセキュリティの必要十分条件を考えてみます。

論理的なセキュリティを考える為には必要なので書きました。ここに書いたことは読み物としては退屈かも知れませんが、重要な事だと考えています。

もっと読む

不合理 誰もがまぬがれない思考の罠100

普段あまり書籍のレビューは書きませんが、GW中に読んだこの本は特にオススメだと思ったので紹介します。エンジニアだけでなく、全ての社会人/学生にお勧めできる認知バイアスの入門書です。特に業務として決断が必要な方には必読の書籍、知らないと大損をしかねません。

人は簡単に理屈に合わない選択/決断をしてしまいます。「不合理 誰もがまぬがれない思考の罠100」は不合理/非合理的な選択や決断をしてしまう認知バイアスを解説した書籍です。

軍事戦略や政策決定のミス、原発や航空機事故を招く重大な過失から、私たちが日常的におかす判断ミスまで、愚かな誤りは人間につきもの。人間は理性的な動物どころか、愚かな判断、愚かな行動を性懲りもなく繰り返す動物であるらしい。なぜ人はかくも多くの誤りをおかすのか。著者は多数の心理学の実験と実例を挙げて、私たちが陥りがちな事実誤認や判断ミスを分析し、その要因とリスク回避のためのアドバイスも散りばめる。

読んでいて「例が古い」と感じたのですが、原書の初版は1992年だそうです。つまり、今から四半世紀も前に書かれた認知バイアスの本です。しかし、今でも十分通用する内容です。今でも四半世紀前と同じ認知バイアスで同じ誤った選択や決断をしています。

誤った判断には理由と原因があり、対策もあります。この本ではこれらを理解り易く解説しています。この本を読むために、数学の知識は必要ありません。読み物としても良くできています。退屈することは無いでしょう。

この本を読む前から認知バイアスの知識はありましたが、改めて読んだことにより、これらの日常が変ると思います。認知バイアスの知識がない方ならもっと大きく日常が変ると思います。

唐突ですが、子どもには確率/統計の大切さを教えましょう。この本を読むには数学の知識は不必要ですが、簡単な確率統計の話しが出てきます。少しだけ噛っていたので、この部分で事実誤認をすることは無かったですが、大半の人は間違えるようです。習っていないなら仕方ないでしょう。

高校生の時から思っていたのですが、なぜ全員が確率統計を高校一年生で習わないのか?もっというと簡単な確率統計を中学で習うべきだと思います。簡単な事を知らない為に大きな損失をしていて勿体ないです!

 

これから開発を始める場合のセキュリティ

取り敢えず言語とプログラミングの基礎を学習し終えて、これから本格的にソフトウェア開発をしよう、という場合に困るのが「セキュリティ」です。今回は簡単に、これから本格的に開発を行う、という方向けに知っておくべき事を紹介します。

初めてTeratailに回答した内容を多少まとめて加筆したモノになっています。

https://teratail.com/questions/74317

ブログにしたので、Tratailの回答は単純にこのエントリを参照するように修正するかも知れません。

もっと読む

戸締りと金庫とセキュリティ

ずっと感じてきたことですが、ブログにしていませんでした。具体的には

戸締りする前に、金庫を買うセキュリティ対策

です。

IT技術者以外の方向けに書いています。最近問題だ、と話題のStruts2というソフトウェアを引き合いに書いていますが、技術的なことはほとんど書いてありません。

もっと読む

暗号を積極的に使う理由

Googleは暗号を積極的に使っていることが知られています。暗号を積極的に使う理由を紹介します。

信頼境界線の中で暗号を使っても、内部に侵入を許した時点で終わり」なので、「暗号を使っても意味がない」と考えているかも知れません。「リスクの廃除」だけが、セキュリティ対策ではありません。「リスクの緩和」もセキュリティ対策です。暗号は侵入を許してしまった場合のリスク緩和に効果的です。

もっと読む

簡単にインターネットから内部ネットワークを守る方法

前のエントリでFirefox + NoScriptによる内部ネットワークを守る方法を簡単に紹介しました。本当はネットワークを分離(物理的またはVLAN)し、それぞれに安全に利用できるプロキシーサーバー(ローカルネットワークのリソースにアクセスさせない、など)を用意して利用する方が良い、のですがこれには”それなりのモノと手間”が必要です。

Firefox + NoScriptだけでもかなり効果があるので改めて紹介します。前回紹介したのは10年も前ですね :D

もっと読む

信頼境界線の引き方と防り方 – セキュリティの構造と設計

信頼境界線Trust Boundary)と境界防御はITセキュリティに限らず、セキュリティ対策の基礎中の基礎です。基礎中の基礎かつ最も重要な概念ですが習わないことが多いです。これが原因で「正しいセキュリティ対策」(≒効率的なセキュリティ対策)ができていないケースが多数あります。残念ながら”セキュリティに詳しい”とされている人でも全く理解していないケースが散見されます。

このエントリでは主に、ソフトウェアセキュリティに於ける信頼境界線の概念と引き方(≒セキュリティ構造/設計)、ついて紹介します。かなり長いエントリになりましたがお付き合いください。

もっと読む