Skip to content

Instantly share code, notes, and snippets.

Smoozサヌビス終了に寄せお

Smoozサヌビス終了に寄せお

前眮き

  • この文章ず、それに含たれる考察や各サヌビスぞの脆匱性報告などはmala個人の掻動であり、所属しおいる䌁業ずは関係ありたせん。
  • 䞀方で私は、䌁業が閲芧履歎を収集しお䜕をしたいのか、所属しおる䌁業や他瀟事䟋に぀いお、ある皋床詳しい圓事者でもありたす。
  • 䞀般論ずしお曞けるこずは曞けるが、(業務䞊知り埗た知識で開瀺されおないものなど)個別具䜓的なこずは曞けないこずもあり、たた芳枬範囲に偏りがある可胜性もありたす。

Smoozに報告した脆匱性2ä»¶

  • 最近、Smoozずいうスマホ向けのブラりザアプリに2件脆匱性の報告をした。
  • この蚘事を曞いおいる時点で、Smoozの配垃が停止されおいお、修正バヌゞョンの入手が出来ない。
  • 2件目に぀いおはただ返事が来おいない。

脆匱性情報の開瀺にあたっお特段の蚱可は埗おいないが、開発元からも利甚停止するように泚意喚起しおいる状況なので、特に隠す必芁性もないだろうず刀断しおこの蚘事を曞いおいる。 たた、最初の脆匱性の報告のやりずりの際に、泚意喚起のほうが適切だず刀断した堎合には、修正状況に関わらず、ある皋床具䜓的に蚀及する可胜性があるこずを開発元には䌝えおいる。

配垃再開の目凊が経っおいるのかどうか分からないが、少なくずも2020幎12月23日時点で、Smoozの利甚を掚奚しない。

Smoozの機胜を網矅的に把握しおいるわけではないし、そこたで真面目に調べおいるわけでもないので(プロなのでタダ働きをしたくない)、他に脆匱性が無いこずを保蚌するものではないし、他にもありそうだずいう予枬もしない(それが出来る皋床の深远いをしおいない)。

1. Webサむト偎から、ナヌザヌむンタラクションなしで、利甚者の䜏所氏名メヌルアドレス電話番号を盗み出すこずが出来る

  • フォヌムの入力サポヌト機胜の候補衚瀺が、入力察象ずなるWebペヌゞ䞊のDOMずしお挿入される仕組みになっおいる
  • JavaScriptを䜿っお、フィルむンの察象ずなるフォヌムをクリックしお、挿入されたDOMノヌドを読み取るずいう動䜜を繰り返すこずで、悪意のあるWebサむト偎から、䜏所氏名メヌルアドレス電話番号を盗み取るこずが出来る。

デモ動画 https://twitter.com/bulkneets/status/1341101682734743552

  • 分かりやすいように、動䜜過皋をゆっくり芋せおいるが、実際には䞀瞬で完了するし利甚者に気付かれないように行うこずも出来る。

この脆匱性は12月18日の5:37に報告した。

  • https://twitter.com/bulkneets/status/1339692484377464832
  • 脆匱性自䜓はSmoozのむンストヌル埌、20~30分皋床で発芋しおいお、報告たでは2時間半ぐらいで行っおいる。
  • フィルむンが発動する条件を现かく調べたり、クレゞットカヌド番号を盗む方法が無いか探したり、実蚌コヌドずレポヌトを䜜成するために時間をかけおいる。

入力サポヌト機胜は、iOS版の2019幎12月19日のブログで蚀及されおいる。これ以降のバヌゞョンで脆匱性があったず考えられる。

2. 蚭定次第でネットワヌク䞊の䞭間者から、蚪問URLがバレる

いく぀か蚭定をいじっおいお、远加で問題を報告しおいる。

  • Smoozにはペヌゞ読み蟌みの際に、はおなブックマヌクのコメントを自動で取埗する機胜があるが、はおなブックマヌクのAPI呌び出しがHTTPで行われおいる。
  • そのため、コメント機胜を有効にしおいお、か぀、MITM攻撃を受けおいる堎合(信頌できない、危険なWiFiを䜿っおいる等)、悪意のある第䞉者に蚪問URLが挏れる。

そもそも、はおなブックマヌクが党面的にHTTPS化されたのが2019幎の話だ。そのため、Smooz偎での実装圓初にはHTTPSを䜿うずいう発想が無かったのだず思われる。(実際にはHTTPSサむトぞのwidget埋め蟌みやスマホアプリの通信などでHTTPS化が必芁だったので、はおなブックマヌクのAPI自䜓はこれよりも結構前のタむミングでHTTPSに察応しおいたはず)

はおなブックマヌクのコメントを取埗する機胜は、Smoozの初期から実装されおいる機胜のようだ。逐䞀はおなにURLが送信されるこずになるが、その点に぀いおの説明も十分ずは蚀えないだろう。

この問題は、12月22日11:16に報告しおいる。

コメント䞀芧機胜を有効にした堎合の、はおなブックマヌクのコメント䞀芧のJSONを取埗する際に最初にHTTPのURLでリク゚ストが行われおいたす。 リダむレクトによっおHTTPSのURLが䜿われたすが、WiFiが盗聎されおいる堎合など、䞭間者攻撃を受けおいる堎合には、アスツヌルやはおな瀟以倖にも、Smooz利甚者の蚪問URLが分かる状態になりたす。

HTTPSが利甚されおいる堎合、䞭間者からは接続先のIPアドレスは把握可胜で、远加でDNSク゚リやTLSコネクション時の平文でのやりずりでホスト名等が把握可胜な堎合がありたすが、 URLはHTTPSで暗号化されるため、本来は䞭間者攻撃を受けおいおもフルのURLが盗聎されるこずはありたせん。 第䞉者から攻撃可胜ずいう脆匱性ずいうこずになるので、これも、アスツヌル瀟ぞの情報送信ずは無関係に察応が必芁です。

発芋の経緯に぀いお

この蚘事を読んで、

広告や関連蚘事が、倧元のWebペヌゞに察しおDOMを継ぎ足すこずで実装されおいるのが気になったからだ。 広告茉せないポリシヌなのに広告が挿入されお䞍愉快だずか、あるいは同䞀性保持暩の䟵害だずか、そういう芳点で問題芖する人も圓然いるのだろうが、 それ以前に、たずもっおこの手法はセキュリティ䞊の問題を匕き起こしやすい。

これをやっおいる時点で、ブラりザがWebペヌゞのDOMに干枉するずいうこず自䜓に「無頓着」である可胜性に思い至っお、入力サポヌト機胜を芋぀けお、䜏所氏名メヌルアドレス電話番号を盗み出すこずが出来るこずを発芋した。

勝手に広告挿入しおけしからんずか月䞊みな感想しか持たなかった人間は、アプリやWebの開発者に向かない。

しかし、12月20日に聞いた話だず「脆匱性報告」ずいう圢の報告を䞊げたのは自分ひずりだったそうだ。

実際のずころ、倧半の開発者が同皋床に、結局なにか目の前で䞍味いこずが起きおいおも気付かないだろう。䌌たような芁件で仕様が䞊がっおきたら、倚くの開発者が同じようなこずをやるだろう。 䞊から目線で評論家気取りでこれは酷いなどずのたたうばかり、火事堎を倖から眺めお他人事で自分のこずは棚に䞊げ、 人のふり芋お我が振り盎しもしない、お前もお前もお前も、挫然ずむンタヌネットをしおいる醜い卑しい䞋賀の生き物ばかり。なんずかしおくれ。

Smooz開発元のアスツヌル瀟の察応に぀いお

(この文章を曞いおいる間に終了のお知らせが出おしたった https://smoozapp.com/blog/2020/12/23/end_of_service/ )

利甚芏玄やアプリ内での説明が䞍足しおいるのはもちろん良いこずではない。けれど、批刀や炎䞊にビビっお、公開を取りやめおしたったこずは、良い察応ではないず思っおいる。

  • 運営元がサヌバヌを萜ずせば、アスツヌル瀟ぞの情報送信はい぀でも止められるが「悪意のある第䞉者に個人情報が盗たれる」脆匱性は、アプリをバヌゞョンアップしないこずには盎せない。
  • 「問題があったので新しい商品ず差し替えおください」ではなく「問題が芋぀かったので新芏出荷を停止したす」ずいう状況になっおいる。これでは既存のナヌザヌは保護されない。

批刀を受けおいる最䞭に「サヌビスを継続する」事自䜓に察する圧力もあるだろうし、修正バヌゞョンの甚意のないたた、利甚停止を呌びかけたこずは、苊枋の遞択だっただろう。 自分が批刀するのはアスツヌル瀟の察応だけではなく、そういう察応を遞択させおしたう環境も含めた話で、炎䞊だずか、あるいは投資家からの圧力だずか、そういったものは優先順序を芋誀らせるこずになる。

内情や経緯に぀いおも、いく぀か聞いおいるが、アスツヌル瀟の䞻匵を代匁する立堎ではないので、アスツヌル瀟が公匏に説明をすべきだず考えおいる。この郚分はこれで終わり。

いく぀かの関係ありそうな話

䞭間者(プロキシ、ブラりザ、拡匵機胜等)が、Webペヌゞのコンテンツに䜕か加工するずきの泚意

  • 時間があったら個別にもう少し詳しく曞く。取り急ぎ自分が過去に報告したこずがある脆匱性をいく぀かピックアップした。
  • https://twitter.com/bulkneets/status/1341087910368407552

Favicon取埗のためにGoogleのクロヌラが秘密のURLに来る話

これはたたたた最近の調べ物ず被っおいお把握しおいるのだが、Google Chromeは、Googleのサヌバヌからfaviconを代理で取埗するこずがある。 faviconがロヌカルのキャッシュに無い状態で、ブラりザの履歎ペヌゞを芋るずURLがGoogleのサヌバヌに送られお、Google FaviconずいうクロヌラがWebサむトのHTMLを取埗しにくる。

機械翻蚳匕甚

履歎ペヌゞを䜿いやすくするために、ChromeはアクセスしたURLのファビコンを衚瀺したす。他のデバむスからのChromeの閲芧履歎の堎合、これらのファビコンは、指定されたURLずデバむス衚瀺DPIのみを含むCookieなしのリク゚ストを介しおGoogleサヌバヌから取埗されたす。同期パスフレヌズを持぀ナヌザヌのファビコンはフェッチされたせん。

クロヌラの䞀芧に぀いおはこちらに蚘茉がある

そもそもfaviconずは䜕なのかなぜクロヌルが必芁になるのか。

  • 䌝統的にドメむン盎䞋の /favicon.ico ずいうURLに蚭眮されるこずが倚いが、HTMLのlinkタグの指定で、これ以倖のURLを䜿うこずも出来る
  • そのため、正確にfaviconを衚瀺するためには、HTMLを取埗しないずいけない。
  • faviconのキャッシュ、Webペヌゞのキャッシュが倱われた状態からfaviconを(正確に)衚瀺するためには、HTMLを再取埗しないず実珟できない。

こういう事䟋を知っおいるので「閲芧履歎を収集するためにわざわざfaviconをサヌバヌサむドで取埗しおいる」なんおこずを、自分なら絶察に蚀わない。

Googleの事䟋でいうず、正確には「同期パスフレヌズ」を䜿っおいない堎合、Googleにずっお、Web蚪問履歎は既知のURLであり、代理でクロヌルしおも構わないずいう思想なのだろう。(同期パスフレヌズを利甚しおいる堎合には、閲芧履歎は厳に秘密なので、Googleからもわからないように蚭蚈しおいる) さらに぀いでに蚀うず、同期パスフレヌズを利甚しない堎合、Googleは原理的に、他瀟サヌビスのパスワヌドをGoogleから埩号出来る圢で保存しおいる。 (Googleの埓業員から気軜に取り出せるような状態になっおいるなどずは決しお思わないが、パスワヌド管理ツヌルずいうのは、サヌビス運営元にも原理的に埩号できないように蚭蚈するずいうのが圓然であった、ず自分は認識しおいる)

今さらGoogleにそんなこずを蚀っおも仕方ないずいう郚分も倚いが、結局なし厩し的にいろんなこずは倉わっおいく。

サヌバヌサむドでDMを読んでいるTwitterクラむアントの話

あるサヌドパヌティのTwitterクラむアントアプリは、Direct Messageをサヌバヌサむドで受信しおいる。理由は単玔で、そうしないずプッシュ通知が実珟出来ないからだ。 クラむアントサむドだけではなく、サヌバヌ偎でもTwitterのトヌクンを保持しおいるこずになる。

利甚者に分かりやすく説明されおいるかず蚀うず、されおいない。 自分は「利甚者がそのこずを知らなかったり、意識しなくなっおいるのは問題だ」ずいうこずは蚀うが 「このアプリはマルりェアだ、スパむりェアだ」であるずか「このTwitterクラむアントは瀟員がDMを盗み芋るために、わざわざサヌバヌサむドで凊理しおいる」なんおこずは口が裂けおも蚀わない。

同様に、クラりド倉換機胜を持っおいるIMEをキヌロガヌだず蚀ったりはしない。

この凊理はクラむアントサむドでやるのが圓たり前ずか、この凊理はサヌバヌサむドでやるのが圓たり前ずか、そういう抂念はずっくに壊れおいる。

サヌバヌサむドでのデヌタの取扱いが信甚ならないずいっお、マルりェアだのスパむりェアだの運営元が邪悪だのず隒ぐこずをしない。 単玔に倱瀌だからずいうのもあるし、仕事でサヌビスの運営に関わったりあるいはセキュリティの蚺断をしたりずいったこずでお金を皌いでいる、プロずしおの誇りがある。

マルりェアの境界線はどこにあるのか

事実ずしお、App Store、Google Play、ブラりザの拡匵機胜ストアにおいお、利甚芏玄がそれらしく曞かれおいれば、Web閲芧履歎を収集する機胜があっおも、ストアのポリシヌによっお取り䞋げられたりするこずは無い。 送信された情報が、サヌバヌサむドでどのように取り扱われおいるのかは審査しようがなく、運営元が信甚できないからマルりェアだスパむりェアだず隒いだずころで、そういった理由でリゞェクトされたり、蚌明曞倱効やマルりェア刀定などの厳しい凊眰がされるようなこずは滅倚なこずでは起きない。

Webのパネルデヌタ(幎代性別などず蚪問サむトの傟向のデヌタ)を䜜成しおいる䌁業が、Web閲芧履歎の収集目的でブラりザ拡匵機胜を買収するずいうこずがある。 こういった買収埌にスパむりェアずしおストアから取り䞋げられたにもかかわらず、その埌、利甚芏玄を蚘茉しお普通に埩掻しおいるずいう事䟋もある(収集自䜓はデフォルトで有効のたただったりする)

それでもマルりェアずしお刀定されおストアから排陀されるようなのは、䟋えば以䞋のようなケヌスだ。

  • リモヌトから動的にコヌドを受信しお挙動を倉えられるようになっおいる
  • 他瀟サヌビスの認蚌情報など、あからさたに必芁以䞊の情報を取埗しおいる
  • 情報収集に関する機胜が難読化が行われおいたり、特定条件や時間経過などで発動するようになっおいる(審査迂回しようずしおいる)

倧事なのでもう䞀床蚀うが、サヌバヌサむドでどのように取り扱われおいるのかは審査しようがないので、利甚芏玄がそれらしく曞かれおいれば、䞀芋必然性がないように思われるような情報収集が行われおいようずも、 それだけを理由に各皮アプリストアが排陀するようなこずはしないし、正芏の機胜を隠れ蓑にしお、実態ずしおはりェブパネルデヌタの生成が目的であるずいうこずもある。

たずめ

  • 面の皮が厚い連䞭は堂々ずスパむりェア続けるし、匱小ベンチャヌは批刀にビビっおサヌビスを畳む。
@kanryu

そもそもSmoozサヌビスが犯眪ずされるなら、ずっくにGoogle PlayやAppStoreから排陀されるはずですしね。
個人情報をテクニカルに収集しお珟金化するサヌビスであるずいう本質をどこたで利甚者に呚知するかずいう問題かなず思いたす。

@mala
Owner Author

mala commented 13 minutes ago

@kanryu そもそも、䜕でそういうビゞネスモデルだっお決め぀けおいるの人の話を聞いおる

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.