安全の為に今すべき事
本記事は25年6月2日現在、マーケットスピードⅡの更新により陳腐化しています。楽天証券さん、対応ありがとうございました。現在は設定のバックアップデータに取引暗証番号は含まれず、リストア時の干渉はありません。取引暗証番号を記録した状態でバックアップを作成しても、暗証番号が他の端末に復元されることはありません。
(Sandboxの新規インストール端末にて動作確認済み。)
これで、ようやく取引暗証番号をログアウト前に削除したり、記憶したままログアウトした場合に暗証番号変更をする必要がなくなりました。よって、現在は以下を読む必要はありませんが、公開時の状態で一応残しておきます。
楽天証券のセキュリティ問題点と対策:あなたの資産を守るために
楽天証券ユーザー向けの注意喚起となります。
本稿では、楽天証券のセキュリティ問題点を具体的に挙げ、現状で可能な対策方法を解説することで、ユーザーの資産を守るための注意喚起を行います。
(雑に投稿してしまいましたが、結構多くの方に読んで頂いている様で、少々恥ずかしいので手直しさせて頂きました。なお、この情報は25年6月1日には対策され陳腐化する予定となっております。[5/2修正&追記])
1. 前提条件:一部のマーケットスピードⅡ利用者
マーケットスピードⅡ利用者で、取引暗証番号の省略設定を1度でも実施したユーザーは直ちに取引暗証番号を変更してください。(武蔵の板発注でダブルクリック等で確認画面なしに板に注文を置けている全ての人が対象です。)
対策方法:(結論から先に…ここだけは読んで下さい。)
取引暗証番号の変更: マーケットスピードⅡ利用者で、取引暗証番号の省略設定を1度でも実施したユーザーは直ちに取引暗証番号を変更してください。当初は数字のみ4桁でしたが、現在は記号を含める事が可能です!桁数が少なすぎますので、必ず記号を含めるようにしてください。
ログインパスワードの変更: 現状、この前提条件に当てはまる場合はログインパスワードがほぼ唯一の砦ですので、推測されにくい安全かつ他と重複しないパスワードを設定しましょう。(少し不便ですがブラウザへの登録はせず、独立したパスワードマネージャを使用しましょう。)
バックアップ設定の上書き: がマーケットスピードⅡの設定値バックアップを全て暗証番号の無い設定状態で上書きしてください。(一度も利用しておらず、そもそも空の項目についてはそのままで問題ありません。)
連携アプリの切断・一時利用停止: 現状、ログインパスワードの流出経路は特定されておりませんし、ユーザーさん毎に異なる漏洩の経路も考えられる状況です。基本的にはフィッシングやスキミングが中心と思われますが、危険性と言うのであれば本人と証券会社以外の第三者にログイン情報を引き渡している資産管理系のソフトウェアなども、情報の流出経路となりうることに注意してください。(これは可能性の話で、現在起きていると言う事ではありません。あくまで可能性として少しでも安全性を高めたいのであればリスクを減らす事に繋がるかも…というご提案です。)
2. 原因:何故上記対策が必要か?
まず、ログインパスワードの漏洩経路についてはここではお話しません。色々な経路があると思われますし、ケースバイケースですので。ここではマーケットスピードⅡの脆弱性による問題点のみ共有します。
問題の原因と攻撃方法:
バックアップ設定の仕様が異常: マーケットスピードⅡにはPCの買い替え時などに以前の設定を引き継いで使用できるように設定情報のバックアップ機能が備わっていますが、これが悪用されうると言う可能性の話です。マーケットスピードⅡは、ユーザー操作による明示的な設定情報のバックアップ時以外にも、ユーザーが設定変更した際にシステムが自動的に設定情報のバックアップを取得し、これを楽天証券側に保管しています。この情報は新規端末へのインストール時にログインが成立すればそのまま引き出して適用できるため、実質的に武蔵の板発注等でスキャルピング手法などで発注し、取引暗証番号をマーケットスピードⅡに登録しているユーザーについてはログインパスワードが流出した段階で、悪意のある攻撃者がこの設定を攻撃用のPCに復元する事で売買まで出来てしまうと言う事です。
攻撃方法: 上記による攻撃は簡単です。ログインパスワードを何らかの方法で入手できた場合、そのユーザーが上記の前提に当てはまれば、攻撃者は自己のPCに新しくマーケットスピードⅡをインストールしてログインし、バックアップ設定を適用するだけで注文が可能になります。後は予め購入しておいた低位株に買いを入れて値を釣り上げて自身の玉を売り抜ければ終了です。注文を投入して約定だけさせれば、出金の必要はないのでマーケットスピードⅡの操作だけで犯罪者が自己資金を増やすと言う目的は達成できてしまいます。
3. 検証
本脆弱性は25年3月24日時点で楽天証券にチャットにてクレームとして報告しましたが、その後の更新時に不具合修正されていなかった為、再度電話でクレームとして報告して対策をお願いしていましたが、25年5月1日時点でで対応されていませんでした。頑張って欲しい証券会社だけに、とても残念です。
確認方法:
検証方法: 確認してみたい方はWindowsSandBoxで新規にマーケットスピードⅡをダウンロードしてインストールしてみてください。(Home版の方はごめんなさい。もしくは別にPCを用意してください。)実施した場合は、設定変更時に自動作成されるバックアップ内に暗証番号が含まれてしまうため、確認実験後に必ず取引暗証番号を変更してください。インストール後は初回ログイン時にバックアップ設定を戻すか聞かれますので、そこで取引暗証番号の含まれているバックアップデータを選択してください。ログイン出来たらメニューから設定を選択し、環境設定から注文・約定2のページを確認してください。ホラ、取引暗証番号の設定蘭に****が入ってるでしょ?(バックアップセットがたくさんある場合は1度でたどり着かなくてもログイン後のメニューから何度でもリトライできます。)
検証後は暗証番号を再設定してください。自分で保存したバックアップセットについては暗証番号を消して上書きする事で消す事が出来ますが、自動的に取得されたバックアップは現状削除手段がありません。
まとめ
現状楽天証券のマーケットスピードⅡには、セキュリティ面での重大な脆弱性があり、早急に修正が必要です。現状修正などが追付いていないため、ユーザーの自衛で資産を守るしかない危機的な状況にあると言えます。ユーザーは、これらの問題点を認識し、適切な対策を講じることで、自分の資産を守ることが重要です。
以下は追記分と与太話です。
御礼とお詫び
まさかこんな走り書き程度の駄文に、これほどスキを頂けるとは思っても居りませんでしたし、取敢えずXでほかの方とのやり取りの中間の一部ポストだけを参照される方が多かったので誤解を生むと嫌なので最低限の纏めとして投稿したのですが、これほど反響があるとは思いませんでした。雑に書いて「取敢えず伝わってXポストが誤解されなければいいや!」程度に考えていたのに、チップを送ってくださった方までいらして、未だ世の中も捨てたもんじゃないなぁ、と、殺伐とした犯罪対策の話なのにちょっと心温まりもしました。あまりに駄文過ぎて恥ずかしいので黒歴史隠しに修正させていただきます。あしからずご了承ください。
また、関心を持って読んで下さった皆様に感謝致します。
被害に遭われる方が一人でも少なくなることを祈っておりますし、楽天証券さんにも今後とも頑張っていただきたいと思っております。
以下は与太話。場所を移しました。口調も変わります。
一部ご不快に感じる内容もあるかと思いますが、ご容赦ください。また、私は楽天証券さんの中の人ではありませんので、以下については推測でありただの与太話ですので、その点は予めご理解ください。
与太話: まぁ、まともなアプリ設計者なら到底考えもつかない謎仕様ですが……与太話的に言ってしまうと、まともな実装者ならバックアップデータを取り出した段階でパスワード等の機微情報を外してから送信する筈です。多分現在は丸ごとそのまま送信しています。ユーザーに対して、再インストール時はパスワード省略設定は再設定してね!ってアナウンスすれば良いだけの話ですし、アナウンスが無くても、「取引暗証番号が登録されていません」のエラーが出れば、マーケットスピードⅡを使用して発注が出来るレベルの知能がある生き物なら対応できる筈なので問題ない筈です。なので。ホント、この仕様は頭おかしいとしか……ついでに言ってしまうと、バックアップ設定にはWindowsのインストールIDらしきものが含まれているので(自動取得の物の名前を見てください。自身で明示的に保存した物には名前を自分でつけているので分かりづらいですが…)これまでのアクセス履歴にないPCからのログインであればリスクベース認証の対象とすることが可能であるのに、現状そこもスルーなんですよね。(多分IP範囲位しか見てない。)もう、アホかと。小一時間問い詰めたい……
本記事の章立ては、AIを利用して楽をしたので、全体が雑な文章になってしまいました。反響が大きかったので恥ずかしい所だけ修正しましたが、些事についてはご笑殺下さい。取敢えずお役に立てれば幸いです。陰謀論・内部犯罪説・Xの流言について:さて、こうした話が出るとX上ではすぐに内部犯罪説とか陰謀論が出てきますが、システム屋として少し擁護させてもらうと、内部犯罪説は可能性としては低めだと考えています。今回のこの実装自体は目も当てられないくらい低レベルな物ですが、基本設計や外部設計のレベルではまともな筈なので、このレベルのミスが起きるのは内部設計から実装の段階でのことだと考えています。まぁ、大抵はSES等の下流の要員が納期などに追われて雑に実装したポカと、諸事に忙殺されてコードレビューが甘くなった事の結果かなぁ……と。(勝手な妄想です。)基本的にDBのテーブル設計の重要な場所やDFDに関してはしっかりレビューすると思いますし、そもそもパスワードに関してはハッシュ化して保持し、認証するのが常識ですので、証券本体側はユーザーの設定したパスワードの「生の値」は本当に知らないって事の方が当たり前なんです。金融系で良識のある真っ当なSEなら、自分がやりたいと思ったとしても情報漏洩犯罪が出来ないように設計するものです。疑われたくありませんし、煙が立たない様に設計する事が最も確実な方法ですから。(但し、予算の関係などで無理な事も在り、「奴が裏切ったら終わりだ…」みたいな仕様を吞み込む事も現実世界ではあります。(笑))なので、皆様も憶測で楽天証券さんをたたかないで欲しいと思います。悪意なく、知識がないからだと思うのですが、「内部漏洩としか思えない!」とか軽々しく書かれるのは正直、知能が低いなぁ…と。まぁ、お察しですが。ここを読んで気分を悪くされた方は少し発言を控えられた方が宜しいかと。不安を感じておられる他の方を煽っても貴方には何も利益はありませんから。
ネタバレ(発見経緯):本件の発見経緯は、監視対象の各社の最新TICKをサブPCで雰囲気監視盤として運用しようと考え、メインの取引PCの現状の設定をサブPCのマーケットスピードⅡに反映した後で不要項目の調整のために設定を確認していて気が付いただけです。当然監視のみで発注に使用する気はさらさらないので暗証登録する気も無かったのですが、メイン機のバックアップ設定に登録されていた取引暗証番号が見事に復元されていて腰を抜かした訳です。その後、自分の記憶障害や耄碌ではない事を別PCやSandBoxで散々確認の上、本記事を公開した次第です。
憎むべきは犯罪者なのですが、兎に角少しでも被害に遭われる方が減る事を望みます。皆様の口座が安全でありますように。駄文にお付き合いいただきありがとうございました。
今回、初めてNoteなる物を書かせていただきましたが、市井の無名者の記事にこんなに関心が寄る物なのだと良い勉強になりました。スキやフォローをくださった皆様はもとより、読んで頂いた全ての方に感謝致します。良い勉強が出来ました。タイトルに関しては大仰過ぎたので直そうかとも思いましたが既に多くの方に読んで頂いたのでそのままにしています。偉そうな文言ですみません。
コメント
2設計も含め、機能テストはするけれども、セキュリティ面のチェック/テストがまったく行われてないのだろうね。これ、どこかの改修時に入れ込んだ機能だと思うので(最初ありませんでした)。
株ゴリラさんのポストで別記事を検証して追加しましたが、確かに、脆弱性診断やレビューが省略されていると感じるレベルですね。ひどすぎると思います。
バックアップ機能……確かに昔のリリースにはなかった気がします。その後バックアップ2セットだけ取れる様になって(その頃は画面の背丈も短かった。)その状態の時に報告したのですが、その後バックアップセットが5セットに増えたので、(当然ソース周り的に同じ場所ですから)対策されたものと思って再検証したら見事に肩透かしで怒りの電話クレームをしました。それでも5月現在未対応だったのでテスタさんの件を引き金に記事公開した次第です。正直困った物です。