伊藤雅浩が,システム開発,ソフトウェア,ネットなどのIT紛争に関する裁判例を紹介します。開発SQLインジェクション対策をしていなかったことについて開発会社の責任が問われた事例。事案の概要Xは,Yに対し,Xの提供する車・バイクの一括査定システム(本件システム)の開発を約320万円で委託し,平成24年9月に納品を受けた。その後Xは,平成28年12月に,IPA*1から,中国のサイトに本件システムの脆弱性に関する情報が掲載されているという指摘を受けて,Yに対し,その調査と報告を依頼した。その結果,本件システムには,SQLインジェクション対策が不十分という脆弱性が判明したことから,XはYに対し,その脆弱性はYの被用者の故意過失によって生じたものであるから,使用者であるYには使用者責任があると主張して,民法715条1項所定の損害賠償請求権に基づき,緊急対策費用47万5200円,詳細な調査,抜本的な修正費用640万円,サーバー移転費用35万6400円,セキュリティ対策のための本件システム停止期間の売上減200万円の合計923万1600円の損害賠償金の支払を求めた。裁判所は,前提事実として,前記事案の概要に加えて,おおよそ以下の事実を認定した。平成19年に公表されたOWASPの提供する脆弱性の資料では,SQLインジェクションの欠陥は2位に挙げられていたこと平成20年には,IPAが作成した「SQLインジェクション対策について」などで注意喚起されるとともに,エスケープ処理等が示されていたことXがYに対して本件システムの開発を発注する際に交わされた「確認書」には,本件システムの制作に当たってはセキュリティを十分に確保し,インターネット上の様々な環境においてもエラーや投稿情報漏れをなくし,個人情報の流出に対して十分な対策を備えるよう努めることが定められ,その主な仕様を定めた仕様書にも,セキュリティに関して気を付ける点として「SQLインジェクション」が既知の脆弱性の一つとして明記されていたこと平成28年のXからの指摘を受けたYの調査により,SQLインジェクション対策の不足があり,謝罪とともに修正と対策を申し入れたことXは,第三者たるP社に対して調査を依頼した結果,SQLインジェクション対策不備を含む14カ所の脆弱性が発見され,対策を講じたこと(ただし,P社から提案された詳細なセキュリティ診断や本件システムのリニューアルは実施しなかった)Xは,サーバー管理会社からもすべてのファイルの削除等の勧告を受けたが,個人情報の漏えいが確認されなかったこともあり,本件システムの使用は継続していたが,匿名アカウントによる攻撃を受けた事実はあること以上を踏まえて裁判所は,使用者責任(不法行為)を認定した。(1)(略)我が国では,遅くともXがYに本件システムの制作を発注した平成24年当時までには,既にSQLインジェクションによる不正アクセス等のセキュリティ上のリスクの存在が広く知られ,その対策としてエスケープ処理の実施という具体的な方法もシステム開発の業界内では周知されていたことがうかがわれる。このことは,本件システムの主な仕様上,SQLインジェクションが既知の脆弱性と位置付けられ,これに対する対策を行うことが明記されていたこと,Yもエスケープ処理の入れ忘れがSQLインジェクションの対策不足であったと自認していたことによっても裏付けられる。(2)したがって,Xからの発注に係る本件システムの制作を担当したYの被用者にはエスケープ処理の実施等,SQLインジェクションに対する対策を講ずべき注意義務があったのに,これを怠っていた点で,少なくとも過失による不法行為が成立し,Yの事業の執行についてされたものであることが明らかである一方,使用者であるYが上記被用者の選任及びその事業の監督について相当の注意をしたという事情はうかがわれないから,Yの使用者責任(民法715条1項)が成立するというべきである。裁判所は,P社に委託した調査と対策費用の合計約47万円は,相当因果関係ある損害だと認定した。P社が提案した抜本的なリニューアル費用(約640万円)は,元の開発代金を大幅に上回るものであり,P社の対応作業も相当なものであって,抜本的修正をも行う必要はなかったとして損害とは認めなかった。明らかになっていないとはいえ,脆弱性を抱えたまま4年以上にわたって本件システムが利用されていたことに関し,本件システムが不正アクセスを受け,サーバー上のコンテンツのファイルが改ざんされた可能性を否定し得ず,個人情報が漏えいする危険性がなお残存する状態にある。これらの可能性や危険性を除去するためには,本件システムのサーバー管理会社から推奨された,サーバー上の全ファイルの削除及び再構築を実施すること又はこれに代替する措置を講ずることが必要であり,特段の反証のない本件においては,Xの主張するサーバーの移転は上記の代替措置として適切なものであり,これに要する費用(35万6400円)もサーバー内の全ファイルの削除及び再構築に要する費用よりも低額であると考えられるから,これをもって相当因果関係のある損害と認めるとし,実際に支出されていない費用についても損害の一部とした。P社による対策のために2日間本件システムを停止させたことについて,Xの決算書から1日あたりの平均売上総利益の2日分(約12万円)を相当因果関係ある損害だとした。これらの合計である約95万円が損害として認定された。26年は,平成21年当時でもSQLインジェクション対策を取らなかったことが債務不履行であると認定したことからすると,平成24年当時に対策が不十分であったということは責任を認める方向に作用しますし,当時の文書にもSQLインジェクション対策に言及されていたことからすると,Yを免責することは困難であったように思われます。債務不履行責任ではなく,使用者責任(不法行為)構成をとった理由は明らかではありませんが,瑕疵担保責任の期間制限などが考慮されていたのかもしれません(ここは,改正民法が適用され,別段の合意がない場合においては,債務不履行責任を問う余地があったとも思われます。損害の範囲の認定は,個別の事情次第ですが,もともとの開発費用が320万円であったことや実際の事故が発生していなかったことからすると,穏当な範囲で収めたという印象があります。本件のように小規模,少額のシステムにおいては,細かな仕様を書面で合意していなかったり,契約上でもセキュリティ要件を定めていなかったりすることが多いと思われます。そのような場合におけるセキュリティに関する債務の内容(あるいは不法行為上の注意義務の内容)は不明確で,ベンダ・ユーザ双方にとってリスクが存在します。セキュリティを含めた非機能要件についても合意するプロセスを設けたいところです。東京高判令2.2.7月別アーカイブはてなブログをはじめよう!redipsさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。