IT資格用語解説基本情報技術者試験・アプリケーションセキュリティ
セキュアプログラミング
更新日:
用語解説
セキュアプログラミングは、入力、認証、認可、出力、エラー、メモリ、秘密情報などを安全に扱い、攻撃に悪用される欠陥を設計・実装段階から作り込まないための原則と実践です。
■ 試験で押さえるポイント
全ての外部入力を信頼せず、型・長さ・範囲・形式を検証し、利用先の文脈に合う出力エンコーディングを行います。
SQLはプレースホルダ、OS命令は安全なAPIを使い、文字列連結によるコードとデータの混在を避けます。
サーバ側で認証・認可を要求ごとに確認し、最小権限、秘密情報の安全な保管、詳細エラーの非公開を徹底します。
■ 選択肢での判断ポイント
入力検証だけでなく、文脈別エスケープ、パラメータ化、認可、エラー処理、依存関係まで含むことを押さえます。
例: 商品IDを数値として検証し、SQLへ束縛し、検索結果はHTML用にエンコードし、利用者の閲覧権限を別途確認します。