見出し画像

130字以上のURLを機械的手法でマッチングさせURLを取得

こちらのnoteは、セキュリティ専門家松野によるニュース解説ラジオ「今日の10分セキュリティラジオ」4月18日の放送内容を一部抜粋しご紹介します

・今回の解説ニュース
・100数十文字からのURL文字列生成、推測は難しいがどこに問題が
・誰もが必ず持つ「重要な個人情報」漏れない為の対策は?

今回の解説ニュース

ユーザがアップロードした画像が意図せず閲覧可能な状態であったことについて発表されています。ホームページを経由してデータをアップロードする際にセキュリティで気を付けるべきポイントについて説明します。

今回のインシデントは、健康相談にてユーザが相談時にアップロードした画像のURLに付与される130~150文字程度のランダムな文字列を直接入力することで、閲覧可能な状態であったということです。海外メディアからの指摘で判明しました。

対策として、すべてのアップロードされた画像が閲覧できない状態にした上で、プログラムの修正変更を行いました。再発防止策として、投稿された画像について、非公開設定にされているものには、投稿したユーザ及び回答する専門家のみが画像URLの有効期限内に閲覧できるよう修正し、有効期限が過ぎると当該画像の閲覧ができない仕様に変更を行っているということです。

100数十文字からのURL文字列生成、推測は難しいがどこに問題が

今回のインシデントの問題点は、画像に対するアクセスコントロールが適切に行なわれていなかったことです。

今回のシステムで行われていたセキュリティ対策は、画像URLに付与されるランダムな文字列を第三者が予測できないことを前提としていました。記事によると、外部機関は機械的手法により文字列を多量に作成・入力を繰り返すことで文字列をマッチングさせ、画像URLを取得したと推測しています。つまり、文字列としては複雑性を担保しながらも、その生成ロジックには何らかの問題があった可能性があります。結果として、第三者が推測可能な状態になってしまったことが考えられます。

今回のように、サービス運営元の問題だけではなく、ユーザ側の問題でもURL自体が漏えいしてしまうことは否定できません。例えば、ブラウザの閲覧履歴やキャッシュなどからも、URLが漏れてしまう可能性はあります。ユーザが常に安全な環境からアクセスしているとは限りませんので、URLを含めてネットワーク上を流れるデータは第三者に閲覧されることを前提に、セキュリティ対策を実施する必要があります。

具体的には、ユーザに紐づくデータは、本人と必要なユーザのみがアクセスできるように、システムでアクセスコントロールをする必要があります。今回の場合であれば、アップロードしたユーザと回答する専門家のみが閲覧できることが適切であったと考えられます。

その他のトピック

誰もが必ず持つ「重要な個人情報」漏れない為の対策は?
(全文はこちら)

Voicyで毎週ニュース解説を配信中!