セキュアコーディング
マイクロサービスアーキテクチャーのSSRF問題とセキュアコーディング
Webシステムアーキテクチャーとしてマイクロサービスを利用しているケースは随分増えていると思います。従来から一般的に見られるWebアプリの作り方をすると、マイクロサービスではSSRF問題が簡単に発生します。 2017年版OWASP TOP 10ではA10 Insufficient Logging and Monitoringを新しく追加しました。一言でいうと…
IPAは基礎的誤りを明示し、正しい原則を開発者に啓蒙すべき – その2
IPAは”旧セキュアプログラミング講座は更新しない”とWebサイトに記載していましたが、次のブログで「IPAは旧セキュアプログラミングガイドの基礎的誤りを明示し、正しい原則を開発者に啓蒙すべき」と指摘したところ修正されたので第二弾です。 ※ 2018年3月に指摘し、少なくとも秋頃には修正されていました。因みに現在セキュアプログラミング講座はCER…
コードで学ぶセキュアコーディング 〜 SQLインジェクション編
セキュアコーディング原則において、インジェクション対策の為に重要な原則は 原則1: 全ての入力をバリデーションする原則7: 全ての出力を無害化する の2つです。これらに、一般的なプログラミング原則であるフェイルファースト原則とフェイルセーフ原則、ゼロトラストを適用するとセキュアコーディングになります。 簡単なSQLインジェクション対策コードを使ってセキュアコ…
なぜWebセキュリティはここまでダメなのか?
インターネット上に16億件の企業ユーザーのメールアドレスとパスワードが公開されている、とニュースになっています。ほとんどの漏洩元はこれらの企業ではなく、他の一般公開されているWebサービスなどのアカウント情報漏洩※だと考えられています。 この事例から、非常に多くのWebサービスが情報漏洩を伴うセキュリティ問題を抱えているにも関わらず、気がつくことさえも出来て…
ゼロトラストとフェイルファースト
今のプログラムに足りないモノでセキュリティ向上に最も役立つ考え方のトップ2つ挙げなさない、と言われたらどの概念/原則を挙げるでしょうか? 私なら ゼロトラストフェイルファースト を挙げます。 極論すると、この2つ知って実践するだけでセキュアなソフトウェアを作れるようになるからです。この2つだけでは十分ではないですが、これを知って、実践しているだけでも開発者は…
OWASP Secure Coding Practices – Quick Reference Guideの訳語
OWASP Secure Coding Practices - Quick Reference Guideの訳語が不適切ではないのか?とメールを頂きました。 ブログにして見ていただく方が良いと思ったので公開します。 (さらに…)
セキュアコーディングは言語を問わず適用できる
セキュアコーディングの基本概念は、言語のタイプを問わず、全てのプログラミング言語と互換性があります。 (さらに…)
開発者の自由を許容するセキュリティ、自由を束縛するセキュリティ
アプリケーション開発におけるセキュリティ対策は大きく別けて、自由を制限するセキュリティ対策と自由を許容するセキュリティ対策の2種類に分けられると思います。 「セキュリティ対策の為に自由を制限する対策”だけ”でなければならない」とする意見を時々見かけます。しかし、これでは必要な仕様を満すソフトウェアが作れなかったり、不必要なコストが要るソフトウェアになったりし…
プログラミングを覚えたら先ず知るべきコーディングプラクティス
プログラミングを覚えたら先ず知るべきコーディングガイドラインを紹介します。このブログではこれらのガイドラインを時々紹介していましたが、まとめて紹介するのは初めてだと思います。これから紹介するガイドラインはセキュアプログラミング/防御的プログラミング/セキュアコーディングと呼ばれる考え方に基づいたガイドラインです。
SQLインジェクション対策保証付きソースコード検査はじめました
Webシステムに限らず、SQLインジェクション脆弱性は絶対に作りたくない脆弱性の1つです。裁判でSQLインジェクション対策漏れよる損害賠償が契約金額を上回った事例もあります。 ソースコード検査ならSQLインジェクションが行えないことを保証することが可能です。私の会社ではソースコード検査サービスを提供していますが、これまでに検査証を発行したアプリケーションでS…