SYSTEM-8-7 · システム · v202506

ソースコード中に、漏洩してはならない情報がハードコーディングされている。(それらを分離かつ暗号化して管理するようなツールまたは仕組みを導入していない)

この項目はアンチパターンです。「はい」は0点、「いいえ」は1点になります。

FAQ

Q.「漏洩してはならない情報」とは例えばどのような情報を指しますか?

わかりやすいものとして個人情報(個人の氏名、住所、電話番号)が該当しますが、より広義に考えると、各種サーバのIPアドレスやシステム間接続時に必要となる認証情報(ID、パスワードなどのクレデンシャル)も含まれます。セキュアなシステムを構築することを目的とするのであれば、ディレクトリ構造を示すような情報や、緯度・経度を示すような位置情報も「漏洩してはならない情報」と位置付けられます。

用語解説

ハードコーディング

本来プログラム中に記述すべきではないリソース(情報)を、直接ソースコード中に埋め込むことです。例えば、消費税率を直接ソースコード上に埋め込んでしまうと、将来税率変更がされた時にソースコードの改訂が必要になってしまいます。このように、動作環境や利用条件に応じて書き換えられる可能性のあるデータを直せすソースコードに書き込んでしまうことをハードコーディングと言います。

セキュリティシフトレフトはなぜ重要か?

簡単に言うと、セキュリティシフトレフトは「金融機関のセキュリティ監査システム」のようなものです。銀行の新店舗を開設する際、建物が完成してから「金庫室の防犯性が弱い」「監視カメラの死角がある」と指摘されて大規模改修するのと、企画・設計段階から内部監査部門が参画してセキュリティ要件を盛り込み、施工中も段階的に検証していくのでは、セキュリティレベルもコストも大きく異なります。後付けの対策は莫大な費用がかかり、運用上の制約も大きくなります。ソフトウェア開発も同じで、企画・設計段階からセキュリティ専門家が関与し、開発プロセス全体で継続的にセキュリティを検証することで、強固で運用しやすく、コストも抑えた安全なシステムを構築できるのです。

カテゴリ解説を読む