ソフトウェアとデータの整合性の不具合(Software and Data Integrity Failures)とは何か | OWASP 2021
2021年に改訂されたOWASP Top 10:2021の、8位は「Software and Data Integrity Failures」です。
日本語では、「ソフトウェアとデータの整合性の不具合」「ソフトウェアとデータの整合性の失敗」と訳されています。
2021年度版より新設されたカテゴリーと言われていますが、2017年度版の同順位(8位)の「安全ではないデシリアライゼーション」と関連しています。
ソフトウェアとデータの整合性の不具合とは
近年では、多くのアプリケーションに自動更新機能があり、十分な検証がされないまま更新ファイルがダウンロードされることがあります。
ソフトウェアのビルドやテスト・デリバリー・デプロイメントを自動化し、継続的に行う開発手法である「CI/CD(継続的インテグレーション/継続的デリバリー)」やDevOpsなどの開発手法は、セキュリティの観点では安全でないものを自動的にソフトウェアに取り込む可能性があるなどの問題があります。
OWASP2021の6位である「脆弱で古くなったコンポーネント(Vulnerable and Outdated Components)」と似ていますが、8位の「ソフトウェアとデータの整合性の不具合」は、ベンダーから定期的よりメンテナンスがなされるという点に重点を置いています。
OWASP2017のTop10であった「デシリアライゼーション」は本項目について適切に対応を行わないと発生するという意味で、本項目の指摘事項に含まれます。
対策
ソフトウェアとデータの整合性の不具合を防ぐためには、ソフトウェア開発のライフサイクルにおける自動化されたプロセスに注目し、そのアプリケーションと開発プロセスが安全であることを確実にします。
また、そもそも使用を開始する際に、計画段階から意図してた(問題のない)ソースから取得される仕組みになっているのか、安全なライブラリを使用しているかのような検証を行います。
デシリアライズについては、信頼されていないクライアントに対して、未署名もしくは暗号化されていないシリアライズされたデータを送信をしないように設定することで対策をします。