セキュアコーディング
セキュアコーディングとは
セキュアコーディングとは、悪意のある攻撃者やマルウェアによる攻撃に耐えられる堅牢なプログラムを作成する手法です。インターネット上では、ソフトウェアの脆弱性が攻撃に悪用されたり、マルウェアの侵入口として利用されたりすることが少なくありません。こうした脆弱性の多くは、不注意な設計やプログラミング上のミスに起因します。セキュアコーディングは、このような脆弱性の発生防止を目的としたコーディング手法の総称です。
たとえば、Webアプリケーションでは、フォームから受け取った入力は必ずサニタイズする必要があります。つまり、攻撃に悪用される可能性のある有害な文字を除去します。セキュアコーディングでは、「いかなる入力も信頼しない」という原則が最も重要です。プログラムが想定していないデータを受け取った場合でも、厳格な入力検証を行うことで、アプリケーションが予測可能かつ安全に応答できるようにします。これがセキュアコーディングの第一歩です。
さらに、Webアプリケーションのセキュリティ課題への対応に取り組むグローバルでオープンなコミュニティであるOWASP(The Open Web Application Security Project)が提供するツール、フレームワーク、ガイドラインを活用することで、Webアプリケーションのセキュリティを大幅に強化できます。
しかし、すべてのWebアプリケーションにセキュアコーディングの手法を包括的に適用することは容易ではありません。この課題に対する実用的な解決策の1つが、Web Application Firewall(WAF)の導入です。WAFはアプリケーションレベルの通信を監視し、悪意がある、または不審と判断されたトラフィックをブロックできます。このようなソリューションの代表例として、Webアプリケーション攻撃に対する堅牢な保護を提供するF5 BIG-IPが挙げられます。

