悪意のある攻撃者は、ソフトウェアが抱える不備や不具合、すなわち脆弱性を突いてデータを盗聴・改ざんしたり、マルウェアに感染させたりといった攻撃を仕掛けてくる。セキュアコーディングとは、こうした攻撃を受けることを想定して、脆弱性を抱えないようにソフトウェアを開発する手法を指す。 例えば、Webアプリケーションでは入力フォームに書き込む値からデータベースを不正に操作し、データの改ざん・窃取を試みるSQLインジェクションと呼ばれる攻撃が知られている。セキュアコーディングで推奨された手法に基づき、脆弱性を解消し不正な操作を防ぐようにコーディングを行うことで、脆弱性を突いた攻撃のリスクは軽減される。Webアプリケーションに限らず、モバイルアプリやIoT機器など、あらゆるソフトウェア製品において、脆弱性を事前に回避する取り組みが必要だ。 設計段階からセキュリティを考慮する考え方は「セキュリティ・バイ・デ