スマートトイAPP「きかんしゃトーマス」におけるチャットアプリケーションの脆弱性発見の分析例
脆弱性発見の背景
ToyTalk は、ピクサーの元幹部によって設立された人工知能玩具のスタートアップ企業であり、同社が設計したスマート トイには視覚追跡、音声認識、ネットワーク拡張機能が備わっており、子供たちがそれらと対話できるようになりますアプリを介して音声コミュニケーションと行動反応認識がおもちゃ間で行われ、仮想キャラクターと会話する子供の能力を刺激し、おもちゃとのインタラクションの楽しさをよりよく認識します。
ToyTalk は、子供たちが「有名な漫画のキャラクターと話す」ことができる「きかんしゃトーマス」の対話型チャットを可能にする、子供たちが対話できる「きかんしゃトーマス トーク トゥ ユー」という有料アプリを 2015 年 7 月にリリースしました。トーマスとその友人パーシー、ゴードン、ヘンリー、ジェームズ、エドワード、トビー、そして「ファットコントローラー」がソドー島への 8 つのストーリー旅行に出かけます。トップハム ハット卿は双方向の会話を行いました。
順番にToyTalk 玩具製品のセキュリティとホーム ネットワーク環境へのアクセスによって引き起こされるセキュリティ リスクをテストするために、「きかんしゃトーマスとその仲間たち」との双方向会話を行うことにしました。「チャット ウィズ ユー」APP について分析と調査を行いました。 ToyTalk 製品はすべて同じコードベースを使用しており、この Thomas Talk APP はインストールと削除が簡単であるため、テストに便利で、代表的なものにすることもできます。 Hello Dreamhouse (Barbie Dreamhouse) にも同じ脆弱性がある可能性があります。
脆弱性の状況
#脆弱性 1: - 認証メカニズムの欠如、攻撃 攻撃者は簡単に子供のふりをすることができます。 Thomas Toy と会話してください
#脆弱性 2: - support@toytalk.com または他の登録ユーザーになりすまして、悪意のある HTML フィッシング リンクが挿入された電子メールを送信する可能性があります
分析アプリの仕組み
「きかんしゃトーマスとおしゃべり」アプリの起動後、アプリが提供する音声認識機能の使用を確認するために保護者のメールアドレスが必要となります。
#最初は、確認の提供が必要なため、アプリによって公開される攻撃対象領域が非常に限られているように感じるかもしれません。
次に、APP のネットワーク ブラウジング傍受分析を実行します。分析中に、この APP が他のアプリケーションとは異なる認証方法を提供していることがわかりました。クライアント証明書、つまり、APP とその WEB サーバー間の相互認証プロセスも存在します。これに基づいて、まずクライアント証明書の動作メカニズムと関連するパスワード検証を確認する必要があります。
# 逆引きした結果、次の 2 つの関数の方が興味深いことがわかりました。public void setSslClientCertificate(String filename, String passphrase) { InputStream file = null; try { KeyStore store = KeyStore.getInstance("PKCS12"); file = this.mContext.getResources().getAssets().open(filename); store.load(file, passphrase.toCharArray()); this.mClientCertificate = KeyManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); this.mClientCertificate.init(store, new char[0]); } catch (Exception e) { Log.OMG(e); } finally { Utils.close(file); } }
public void setSslCaCertificate(String filename, String passphrase) { InputStream file = null; try { KeyStore store = KeyStore.getInstance("BKS"); file = this.mContext.getResources().getAssets().open(filename); store.load(file, passphrase.toCharArray()); this.mCaCertificate = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); this.mCaCertificate.init(store); } catch (Exception e) { Log.OMG(e); } finally { Utils.close(file); } }
import frida import sys def on_message(message, data): print message device = frida.get_device_manager().enumerate_devices()[-1] pid = device.spawn(["com.toytalk.thomas"]) print (pid) session = device.attach(pid) ss = ''' Java.perform(function () { var MyClass = Java.use("com.toytalk.library.HttpRequester"); MyClass.setSslCaCertificate.overload("java.lang.String","java.lang.String").implementation = function(a,b){ send(a); send(b); return this.setSslCaCertificate.overload("java.lang.String","java.lang.String").call(this,a,b); } MyClass.setSslClientCertificate.overload("java.lang.String","java.lang.String").implementation = function(a,b){ send(a); send(b); return this.setSslCaCertificate.overload("java.lang.String","java.lang.String").call(this,a,b); } }) ''' script = session.create_script(ss) script.load() script.on('message', on_message) device.resume(pid) #session.detach() sys.stdin.read()
#「話す」ボタンが押されると、APP はキャプチャした音声ファイルを次の POST リクエスト メソッドでリモート Web サーバーに送信します:
虽然其中的发送内容涉及很多变量值,但通过把当前用户ID更改为其它用户ID后,就能把音频文件发送到指定的用户账户名下,这将会允许一些恶意攻击者向儿童父母发送一些淫秽音频信息。
在这种情况下,虽然用户ID是一个随机的全局惟一标识符(GUID),但我们可以根据邮箱地址等已知线索来发现一些有效的用户ID信息。
此外,通过在ToyTalk代码库上运行“strings”命令,我们也可以找到一些线索:
所以,根据上图信息,一旦客户端证书被安装到浏览器中后,通过访问地址:
https://api.toytalk.com/v3/account/
就能下载到一个包含用户ID的文件。有用户ID信息在手,就能更改POST请求中的ID信息,将对话音频发送到任何注册了该APP的邮箱地址中去。修复该漏洞的方法是要求提供正确的设备ID和相关联的用户ID。我们还没测试设备ID是否能以其它方法获取,但要向某个用户账号添加一个设备ID,貌似需要访问到关联的邮箱地址才行。
漏洞报送进程
2017.8.14 - 向ToyTalk报告漏洞
2017.11.16 - 被分类为一般漏洞并被初次修复,变为closed状态
2017.11.29 - ToyTalk再次测试发现漏洞仍然存在,并重置为reopen状态
2017.12.8 - 完全修复漏洞
2017.12.18 - 漏洞赏金发放并关闭漏洞报告
漏洞2 - 可向ToyTalk邮件中注入恶意HTML框架
几天过后,我的朋友建议我学习一下ToyTalk的邮箱注入机制,这是在提交漏洞1后发生的。在使用诸如“Thomas And You”等APP应用注册设备时,它会将一封电子邮件发送到用户提供的邮箱地址中, 由于该电子邮件中包含了用户信息(设备名称),如果攻击者利用漏洞1方法获取到受害者的用户ID之后,那么,接下来可以修改电子邮件HTML中包含的设备名称,以该受害者用户ID为可信发件人,向其它受害者发送恶意钓鱼邮件,或任意更改过的邮件内容。
为了向受害者发送钓鱼邮件,攻击者先要用邮箱在该APP上进行注册,利用该注册邮箱地址,再用漏洞1方法获取到受害者用户ID,用以后续进行钓鱼邮件发送。
也即,首先,攻击者用受害者注册过的邮箱地址,执行以下请求,以获取到相应的受害者用户ID:
GET /v3/account/<email> HTTP/1.1 User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.1; ONEPLUS A3003 Build/NMF26F) Host: api.2.toytalk.com Connection: close</email>
然后,再以该用户ID为可信发件人,用以下POST方式,向其它受害者发送包含钓鱼链接的恶意邮件内容:
POST /v3/account/<accountid>/email/consent?device_id=asdf&device_name=TEST%20DEVICE"%20<a>click%20here</a>&application=Thomas+And+You&always HTTP/1.1 Content-Type: text/plain Content-Length: 0 User-Agent: Dalvik/2.1.0 (Linux; U; Android 7.1.1; ONEPLUS A3003 Build/NMF26F) Host: api.2.toytalk.com Connection: close</accountid>
以上只是一个简单的PoC示例,它利用标签将HTML链接注入到邮件内容框架中,但如果花时间调整,也可以精心制作出一个更具迷惑性的钓鱼邮件来,例如,某位家长可以假冒support@toytalk.com邮件来欺骗其它家长的用户名密码信息。以下邮件内容包含钓鱼链接,是我们冒充toytalk官方发送的:
漏洞报送进程:
2017.12.4 - 提交漏洞
2017.12.12 - 官方致谢
2017.12.18 - 官方修复漏洞
2017.12.18 - 发布赏金并关闭漏洞报告
整体来说,两个漏洞的利用方式都存在一定的受限条件,但也侧面说明了大量APP在开发过程中忽视了全面的安全考虑。
以上がスマートトイAPP「きかんしゃトーマス」におけるチャットアプリケーションの脆弱性発見の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









京東モールAPPで実名認証を取得するにはどうすればよいですか?京東モールは多くの友人がよく利用するオンライン ショッピング プラットフォームですが、充実したサービスを享受し、より良いショッピング体験を得るために、買い物をする前に全員が実名認証を行うことが最善です。以下はJD.comの実名認証方法です。ネチズンの参考になれば幸いです。 1. JD.com をインストールして開き、個人アカウントにログインします。 2. 次に、ページの下部にある [マイ] をクリックして、個人センター ページに入ります。 3. 次に、ページ内の小さな [設定] アイコンをクリックします。右上隅をクリックして設定機能インターフェイスに移動します; 4. [アカウントとセキュリティ] を選択してアカウント設定ページに移動します; 5. 最後に、[実名認証] オプションをクリックして実名情報を入力します; 6. . インストール システムでは、実際の個人情報を入力し、実名認証を完了する必要があります。

Dashen apk を例に挙げます。アプリ復号化 Lua スクリプトの以前の分析を通じて、Dashen apk の Lua スクリプトを復号化できます。次に、そのリソース (設定ファイルや画像など) を復号化しましょう。より重要な設定ファイルを例に挙げると、復号化前: ファイル ヘッダーには署名値「fuckyou!」も含まれています。これを見て、これもxxteaで暗号化されているのではないかと考え、上記の方法でxxteaで復号化してから解凍したところ、やはり文字化けしており、途中でエラーが発生しました。私たちが今言ったことを否定しなければなりません。推測です。設定ファイルの復号化を段階的に続けます。ちょっと考えてみてください。ファイルのヘッダーは次のとおりです。ファイルを復号化したい場合は、必然的に処理が必要になります

Microsoft は今年初めに、Windows 11 のセキュリティ機能である SmartAppControl をリリースしました。当時、Microsoftはこれを「信頼できないアプリケーションや潜在的に危険なアプリケーションをブロックする」保護ツールだと説明していた。当時のこのツールのユニークな点は、Windows 11 デバイスで実行する必要があるかどうかを決定することでした。 SmartAppControl は最初は評価モードで実行され、アプリケーションが開くべきかどうかを決定するのはこのモードです。 Microsoft は、ユーザーが Windows セキュリティ アプリのアプリとブラウザーのコントロール セクションでスマート アプリ コントロールを有効にできることを明らかにしました。 Microsoft のみによると、SmartAppC

Appleの製品とサービスは、常に世界中のユーザーに愛され続けています。香港 Apple ID を登録すると、ユーザーはさらに便利になり、特典が得られます。香港 Apple ID の登録手順と注意点を見てみましょう。香港 Apple ID の登録方法 Apple デバイスを使用する場合、多くのアプリケーションや機能では、Apple ID を使用してログインする必要があります。香港からアプリケーションをダウンロードしたり、香港 AppStore の優待コンテンツを楽しみたい場合は、香港の Apple ID を登録することが非常に必要です。この記事では香港のApple IDの登録手順と注意点を詳しく解説します。手順: 言語と地域を選択します。Apple デバイスで「設定」オプションを見つけて、次のように入力します。

AppStore は、iOS 関連のアプリケーションのマーケットプレイスです。無料アプリと有料アプリもここで見つけることができます。アプリには、ゲーム アプリ、生産性向上アプリ、ユーティリティ アプリ、ソーシャル メディア アプリなど、さまざまなカテゴリのアプリが含まれます。 AppStore から iPhone 用の多くのアプリをダウンロードまたは購入したことがあるかもしれません。 App Store で購入したアプリの購入履歴を確認する方法を知りたいと思われるかもしれません。場合によっては、プライバシー上の理由から、購入履歴から特定の購入を非表示にしたい場合があります。この記事では、購入履歴を確認する方法と、必要に応じて購入履歴から購入内容を削除/非表示にする方法を説明します。パート1

チャイナユニコムアプリはみんなのニーズを簡単に満たします。ニーズを解決するためのさまざまな機能があります。さまざまなサービスを処理したい場合は、ここで簡単に行うことができます。必要がない場合は、ここで時間内に購読を解除できます。携帯電話を利用していると、データ容量が足りないと感じて追加でデータパックを購入したものの、翌月には必要ないのですぐに退会したいという方も多いのではないでしょうか。必要な友達が来て利用できるように、退会方法を提供しています。 China Unicom アプリで、右下隅にある「My」オプションを見つけてクリックします。 「My」インターフェースで「My Services」列をスライドし、「注文しました」オプションをクリックします。

請求書は買い物券として、私たちの日常生活や仕事に欠かせないものです。では、普段買い物に Duodian アプリを使用する場合、Duodian アプリで簡単に請求書を発行するにはどうすればよいでしょうか?以下では、この Web サイトの編集者が、マルチポイント アプリで請求書を開くための詳細なステップバイステップ ガイドを提供します。さらに詳しく知りたいユーザーは、必ずお見逃しなく。テキストに従って詳細を確認してください。 [請求書センター]の[マルチポイントスーパー/フリーショッピング]をクリックし、注文完了ページで請求書が必要な注文を選択し、[次へ]をクリックして[請求書情報]、[受取人情報]を入力し、[クリック]をクリックします。正しいことを確認して送信し、数分後に受信メールボックスに入り、メールを開き、電子請求書のダウンロードアドレスをクリックし、最後に電子請求書をダウンロードして印刷します。

Blackmagic Design は、好評を博した Blackmagic Camera アプリをついに Android に導入しました。プロ仕様のビデオ カメラ アプリは無料でダウンロードでき、完全な手動制御が可能です。これらのコントロールは、プロレベルの cin を簡単に摂取できるようにすることを目的としています。
