セキュア コーディングとは、悪意のある攻撃者やマルウェア等による攻撃に耐え得る、堅牢なプログラムを書くことを意味します。インターネット上では、ソフトウェアの脆弱性を狙った攻撃や、脆弱性を利用して感染するマルウェアが、数多く存在します。これらに狙われるソフトウェアの脆弱性の多くは、不注意な設計やバグによって引き起こされます。セキュア コーディングは、このような脆弱性を作り込まないコーディング作法の総称です。
例えばWebアプリケーションでフォーム入力を行う場合、入力内容を必ずサニタイズ(攻撃に使用される文字列を無効化すること)すべきです。セキュア コーディングでは「全ての入力を信用しない」という姿勢が重要です。プログラムが想定していないデータを受け取った場合でも、必ず想定された動作が行われるよう、入力内容を厳重にチェックすることが、セキュア コーディングの第一歩だと言えます。
また、Webアプリケーションのセキュリティに関する課題解決を目的とする、国際的なオープン コミュニティである「OWASP(The Open Web Application Security Project)」が提供するツールや、フレームワーク、ガイドラインを活用することも、Webアプリケーションの安全性を高める上で、大きな貢献を果たします。
しかし全てのWebアプリケーションで完全なセキュア コーディングを行うのは、決して簡単ではありません。この問題の解決手段として有効なのが、Webアプリケーション ファイアウォールの活用です。Webアプリケーション ファイアウォールはアプリケーション レベルの通信を監視し、攻撃とみなされる通信を遮断することが可能です。この種の機能を提供する製品としては「F5 BIG-IP」が挙げられます。