1 00:00:00,000 --> 00:00:02,610 >> [セミナー] [デバイスの背後にディフェンディング:モバイルアプリケーションセキュリティ] 2 00:00:02,610 --> 00:00:04,380 [クリスWysopal] [ハーバード大学] 3 00:00:04,380 --> 00:00:07,830 [これはCS50である。] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >>こんにちは。私の名前はクリスWysopalです。 5 00:00:10,360 --> 00:00:13,360 私は、CTOおよびVeracodeの共同創設者です。 6 00:00:13,360 --> 00:00:15,880 Veracodeは、アプリケーションセキュリティ会社です。 7 00:00:15,880 --> 00:00:18,230 私たちは、異なるアプリケーションのすべての種類をテストし、 8 00:00:18,230 --> 00:00:25,060 そして私は、今日の話をするつもりは、モバイルアプリケーションのセキュリティです。 9 00:00:25,060 --> 00:00:28,630 私の背景は私がセキュリティの研究を行ってきている 10 00:00:28,630 --> 00:00:31,970 非常に長い時間のために、おそらく限り誰約。 11 00:00:31,970 --> 00:00:35,000 私は90年代半ばに始まった、 12 00:00:35,000 --> 00:00:37,370 そしてそれはかなり面白かった時間だったので、 13 00:00:37,370 --> 00:00:39,220 私たちは、90年代半ばのパラダイムの変化がありました。 14 00:00:39,220 --> 00:00:43,520 突然すべての人のコンピュータのすべてがインターネットにフックアップされた、 15 00:00:43,520 --> 00:00:46,550 そして、我々は、Webアプリケーションの始まりを持っていた、 16 00:00:46,550 --> 00:00:49,330 そしてそれは私がそれから多くに​​焦点を当てたものです。 17 00:00:49,330 --> 00:00:51,160 それは興味深いです。 18 00:00:51,160 --> 00:00:53,930 今、私たちは、コンピューティングで何が起こっ別のパラダイム変化が 19 00:00:53,930 --> 00:00:58,710 どのモバイルアプリケーションへのシフトである。 20 00:00:58,710 --> 00:01:03,680 >>私はそれはそれは90年代後半にあった同じような時間のようなものだと感じ 21 00:01:03,680 --> 00:01:07,650 我々は、Webアプリケーションを調査し、同様の欠陥を発見したところ 22 00:01:07,650 --> 00:01:11,800 セッション管理のエラーおよびSQLインジェクション 23 00:01:11,800 --> 00:01:14,940 これは本当に前には存在しなかった、と突然のすべては、彼らはどこにでもあった 24 00:01:14,940 --> 00:01:19,360 Webアプリケーションでは、今、私が過ごす多くの時間 25 00:01:19,360 --> 00:01:27,950 モバイルアプリケーションを見て、野生でそこに何が起こっているかを見ている。 26 00:01:27,950 --> 00:01:32,060 モバイルアプリケーションは、実際に支配的なコンピューティング·プラットフォームになるだろうしている、 27 00:01:32,060 --> 00:01:35,060 あなたはセキュリティ業界にいるのであれば私たちは本当に多くの時間を費やす必要があり 28 00:01:35,060 --> 00:01:39,280 Webアプリケーションに焦点を当てた。 29 00:01:39,280 --> 00:01:43,420 2011年にダウンロードされた290億モバイルアプリがありました。 30 00:01:43,420 --> 00:01:47,920 これは、2014年までに760億のアプリであることが予測さだ。 31 00:01:47,920 --> 00:01:54,040 今年購入されようとしている6.86億デバイスがあります、 32 00:01:54,040 --> 00:01:57,060 人々がやっているとしているところこれがある 33 00:01:57,060 --> 00:01:59,600  彼らのクライアントコンピューティングの大部分は今後。 34 00:01:59,600 --> 00:02:04,220 >>私は、フィデリティ·インベストメンツの副社長に話していた 35 00:02:04,220 --> 00:02:08,780 数ヶ月前、彼は彼らはより多くのトラフィックを見て言った 36 00:02:08,780 --> 00:02:12,610 彼らの顧客基盤からの金融取引をしている 37 00:02:12,610 --> 00:02:16,230 彼らのウェブサイト上でより彼らのモバイルアプリケーションでは、 38 00:02:16,230 --> 00:02:20,610 その過去にWeb用の一般的な使用法は、されている 39 00:02:20,610 --> 00:02:23,800 、あなたの株価をチェックし、あなたのポートフォリオを管理し、 40 00:02:23,800 --> 00:02:28,060 そして我々は、実際にかけて2012スイッチにそれを見ている 41 00:02:28,060 --> 00:02:30,960 モバイルプラットフォーム上でより支配的であるために。 42 00:02:30,960 --> 00:02:34,530 確かにあらゆる犯罪行為があるように起こっている場合、 43 00:02:34,530 --> 00:02:38,900 任意の悪意のある活動は、それがモバイルプラットフォームに集中するために開始する予定だ 44 00:02:38,900 --> 00:02:44,210 時間をかけて、人々はそれに切り替えるように。 45 00:02:44,210 --> 00:02:48,320 あなたがモバイルプラットフォームを見てみると、 46 00:02:48,320 --> 00:02:54,380 プラットフォームのリスクを見て、それは異なる層にそれを打破するために便利です、 47 00:02:54,380 --> 00:02:59,010 あなたは、デスクトップコンピュータ上でそれを行うだろうと同じように、 48 00:02:59,010 --> 00:03:02,860 あなたは、異なる層、ソフトウェア、オペレーティングシステム、考える 49 00:03:02,860 --> 00:03:07,730 ネットワーク層、ハードウェア層、もちろんが、これらすべての層上に脆弱性があります。 50 00:03:07,730 --> 00:03:10,510 >>同じことがモバイル上で行われます。 51 00:03:10,510 --> 00:03:14,880 しかし、モバイル、それはこれらの層の一部がオフに悪化しているようだ。 52 00:03:14,880 --> 00:03:19,840 一つは、ネットワーク層は、携帯電話でより問題である 53 00:03:19,840 --> 00:03:25,650 多くの人々は彼らのオフィスや自宅に持っているので、 54 00:03:25,650 --> 00:03:30,780 接続は有線でも、彼らは、安全のWi-Fi接続を持っている、 55 00:03:30,780 --> 00:03:36,530 およびモバイルデバイスの多くでは、家の外で明らかにしている 56 00:03:36,530 --> 00:03:40,520 またはロット、オフィスの外に、そしてあなたは、Wi-Fiを使用している場合がある 57 00:03:40,520 --> 00:03:42,820 あなたが安全でないWi-Fi接続を使用している場合があり、 58 00:03:42,820 --> 00:03:45,570 公共のWi-Fi接続のもの、 59 00:03:45,570 --> 00:03:48,840 我々はモバイルアプリについて考えるとき私たちは考慮に入れる必要が 60 00:03:48,840 --> 00:03:53,770 ネットワーク環境では、これらのアプリケーションのためのリスクが高いであること 61 00:03:53,770 --> 00:03:57,640 Wi-Fiが使用されている場合。 62 00:03:57,640 --> 00:04:02,410 そして、私は、モバイルアプリケーションのリスクの詳細に入るとき 63 00:04:02,410 --> 00:04:04,910 それがより重要である理由あなたが表示されます。 64 00:04:04,910 --> 00:04:09,710 モバイルデバイス上のハードウェアレベルでのリスクがあります。 65 00:04:09,710 --> 00:04:11,670 これは現在進行中の研究分野である。 66 00:04:11,670 --> 00:04:15,910 人々は、これらのブロードバンド攻撃やベースバンドの攻撃を呼び出す 67 00:04:15,910 --> 00:04:21,870 どこでラジオを聴くのファームウェアを攻撃しています。 68 00:04:21,870 --> 00:04:25,430 >>これらは本当に怖い攻撃ですので、 69 00:04:25,430 --> 00:04:27,280 ユーザーは何もする必要はありません。 70 00:04:27,280 --> 00:04:30,760 あなたは、RF範囲内のデバイスの多くを打つことができる 71 00:04:30,760 --> 00:04:36,690 一度、それはこの研究はバブルアップするたびのように思える 72 00:04:36,690 --> 00:04:40,750 それはすぐにどこに分類されます 73 00:04:40,750 --> 00:04:46,600 人々は周りの急降下と言って​​、「ここでは、そのことについて教えて、それについて話して中止してください。 " 74 00:04:46,600 --> 00:04:49,460 ブロードバンド地域で起こっていくつかの研究があります、 75 00:04:49,460 --> 00:04:51,980 それは非常にハッシュハッシュのようです。 76 00:04:51,980 --> 00:04:56,910 私はそれが起こっている研究の国民国家の種類の詳細だと思う。 77 00:04:56,910 --> 00:05:02,140 活発な研究の領域は、しかし、オペレーティング·システム層であり、 78 00:05:02,140 --> 00:05:08,910 そして再び、これは、デスクトップコンピューティングの世界では異なる 79 00:05:08,910 --> 00:05:14,840 モバイル分野では、jailbreakersと呼ばれる人々のこれらのチームを持っている、ので、 80 00:05:14,840 --> 00:05:18,670 そしてjailbreakersは、通常の脆弱性の研究者とは異なります。 81 00:05:18,670 --> 00:05:21,970 彼らは、オペレーティングシステムの脆弱性を発見しようとしている 82 00:05:21,970 --> 00:05:27,000 しかし、彼らは脆弱性を見つけようとしている理由はことではない 83 00:05:27,000 --> 00:05:31,810 誰か他の人のマシンに分割し、それを危険にさらす。 84 00:05:31,810 --> 00:05:34,280 それは、自分のコンピュータに侵入しよう。 85 00:05:34,280 --> 00:05:38,820 彼らは自分の携帯電話に侵入したい>>、自分の携帯電話のオペレーティングシステムを変更する 86 00:05:38,820 --> 00:05:41,050 彼らは自分の好きなアプリケーションを実行できるように、 87 00:05:41,050 --> 00:05:44,510 そして、完全な管理権限を持つ状況を変える、 88 00:05:44,510 --> 00:05:49,050 彼らはこのことについて、ベンダーに伝えたくない。 89 00:05:49,050 --> 00:05:52,960 彼らは、白い帽子のセキュリティ研究者であるセキュリティ研究者が苦手な方 90 00:05:52,960 --> 00:05:56,600 責任ある開示をして、それについて、ベンダーを教えしようとしている。 91 00:05:56,600 --> 00:06:01,270 彼らはこの研究をやってみたい、と彼らは実際にそれを公開したい 92 00:06:01,270 --> 00:06:06,400 不正利用やルートキットや脱獄コードでは、 93 00:06:06,400 --> 00:06:10,010 そして彼らは、右の後のように、戦略的にそれをやってみたい 94 00:06:10,010 --> 00:06:13,570 ベンダー出荷の新しいオペレーティングシステム。 95 00:06:13,570 --> 00:06:16,350 この敵対関係を持つ 96 00:06:16,350 --> 00:06:19,000 モバイル上のOSレベルの脆弱性と、 97 00:06:19,000 --> 00:06:23,150 私は非常に興味深いものであると思うし、一つの場所、我々はそれを参照してくださいどの 98 00:06:23,150 --> 00:06:29,210 良いエクスプロイト公開さコードがそこにありますように、それはそれなりさ 99 00:06:29,210 --> 00:06:31,750 カーネルレベルの脆弱性のため、 100 00:06:31,750 --> 00:06:35,040 私たちは、実際にマルウェア作成者によって使用されたものを見てきました。 101 00:06:35,040 --> 00:06:38,450 これは、PCの世界よりも少し違います。 102 00:06:38,450 --> 00:06:42,530 次いで最終層は、上部層、アプリケーション層である。 103 00:06:42,530 --> 00:06:45,250 それは私が今日について話をするつもりなのです。 104 00:06:45,250 --> 00:06:48,970 >>、他の層が存在し、他の層はその中にプレー 105 00:06:48,970 --> 00:06:53,310 しかし、私は主に、アプリケーション層で何が起こっているのかについて話をするつもりだ 106 00:06:53,310 --> 00:06:55,560 コー​​ドはサンドボックス内で実行されている。 107 00:06:55,560 --> 00:06:58,670 これは、管理者権限を持っていません。 108 00:06:58,670 --> 00:07:02,170 これは、デバイスのAPIを使用しなければならない 109 00:07:02,170 --> 00:07:06,970 それでも、悪意ある活動の多くは、リスクの多くは、その層で発生する可能性があります 110 00:07:06,970 --> 00:07:09,220 つまり、すべての情報がある層だから。 111 00:07:09,220 --> 00:07:12,330 アプリは、デバイス上のすべての情報にアクセスすることができます 112 00:07:12,330 --> 00:07:15,390 彼らが正しい権限を持っている場合は、 113 00:07:15,390 --> 00:07:17,540 彼らは、デバイス上の異なるセンサーにアクセスすることができ、 114 00:07:17,540 --> 00:07:23,950 GPSセンサ、マイク、カメラ、あなたが持っているもの。 115 00:07:23,950 --> 00:07:27,380 我々は、アプリケーション層での話をしているにもかかわらず、 116 00:07:27,380 --> 00:07:33,700 我々はそこに危険がたくさんある。 117 00:07:33,700 --> 00:07:38,450 モバイル環境についての違う他の事 118 00:07:38,450 --> 00:07:45,060 すべてのオペレーティングシステムの選手であり、それは、BlackBerryやAndroidも 119 00:07:45,060 --> 00:07:53,410 またはIOSまたはWindows Mobileは、それらはすべて、きめの細かいパーミッション·モデルを持っている 120 00:07:53,410 --> 00:07:56,990 これは、それらがオペレーティングシステムに組み込ま方法の一つである 121 00:07:56,990 --> 00:08:01,230 それはあなたが考えるほど危険ではないという考え。 122 00:08:01,230 --> 00:08:04,550 あなたがそこにすべての連絡先を持っているにもかかわらず、すべての個人情報は、 123 00:08:04,550 --> 00:08:09,080 あなたはそこにあなたの場所を持っている、あなたの写真を持って、 124 00:08:09,080 --> 00:08:14,820 あなたがそこに自動ログインのためのあなたの銀行ピンを保存している、それは安全だから 125 00:08:14,820 --> 00:08:19,430 アプリが特定の部分に取得する一定の権限を持っている必要があります 126 00:08:19,430 --> 00:08:25,080 デバイスの詳細については、使用者の提示する必要があります 127 00:08:25,080 --> 00:08:29,230 これらの権限と大丈夫と言う。 128 00:08:29,230 --> 00:08:32,590 >>それに伴う問題は、常にユーザーです大丈夫と言います。 129 00:08:32,590 --> 00:08:35,240 セキュリティ担当者として、私はあなたがユーザーにプロンプ​​トを表示することができます知っている、 130 00:08:35,240 --> 00:08:40,100 本当に悪い何かが起こるだろうと言う、あなたはそれを実現したいですか? 131 00:08:40,100 --> 00:08:44,680 そして、彼らは急いでいるか、それの反対側には本当に魅力的な何かがある場合には、 132 00:08:44,680 --> 00:08:47,760 ゲームのように、彼らが待ち望んでいたことがインストールされようとしている、 133 00:08:47,760 --> 00:08:50,860 彼らは大丈夫クリックするつもりだ。 134 00:08:50,860 --> 00:08:56,630 私はちょうど私がすでに豚に鳥を投げつけるましょうここに私のスライドに言うだからこそ、です 135 00:08:56,630 --> 00:09:03,150 あなたがここにブラックベリーの許可ボックスの例がありますスライドで見ることができる。 136 00:09:03,150 --> 00:09:05,990 それは、BlackBerry旅行アプリケーションのアクセス権を設定してください」と言う 137 00:09:05,990 --> 00:09:09,720 下のボタンをクリックした後、「基本的に、ユーザは単に言おうとしている 138 00:09:09,720 --> 00:09:12,240 アクセス権を設定して保存します。 139 00:09:12,240 --> 00:09:18,010 ここでは、物事を示しAndroidのプロンプトです、 140 00:09:18,010 --> 00:09:20,260 そしてそれは実際にはほとんどの警告のようなものを置きます。 141 00:09:20,260 --> 00:09:25,090 それは、そこに降伏記号と言って、ネットワーク通信、電話のようなものを持っている 142 00:09:25,090 --> 00:09:28,120 しかし、ユーザーが右、[インストール]をクリックしようとしている? 143 00:09:28,120 --> 00:09:32,940 して、アップルの1は完全に無害である。 144 00:09:32,940 --> 00:09:34,300 これは、警告の任意の種類を与えるものではありません。 145 00:09:34,300 --> 00:09:37,380 それはちょうどAppleがあなたの現在の場所を使用したいと思います。 146 00:09:37,380 --> 00:09:39,670 もちろん大丈夫クリックするつもりだ。 147 00:09:39,670 --> 00:09:42,260 >>このきめの細かいパーミッションモデルは、存在し 148 00:09:42,260 --> 00:09:45,890 そしてアプリは、彼らが宣言したマニフェストファイルを持っている必要があります 149 00:09:45,890 --> 00:09:49,410 彼らが必要とするアクセス権、およびそれがユーザに表示さを取得し、 150 00:09:49,410 --> 00:09:53,480 ユーザーは、私はこれらの権限を付与すると言う必要があります。 151 00:09:53,480 --> 00:09:55,080 しかし、ここでは正直言ってみましょう。 152 00:09:55,080 --> 00:09:58,400 ユーザーは単にいつも大丈夫言おうとしている。 153 00:09:58,400 --> 00:10:04,460 それでは、これらのアプリケーションが求めているの権限を簡単に見てみましょう 154 00:10:04,460 --> 00:10:06,850 とがある一部のアクセス権。 155 00:10:06,850 --> 00:10:09,950 この会社はプレトリアンは昨年の調査を行いました 156 00:10:09,950 --> 00:10:14,170 Androidの市場およびサードパーティの市場で分析53,000のアプリケーション、 157 00:10:14,170 --> 00:10:16,770 これは、すべてのAndroidです。 158 00:10:16,770 --> 00:10:19,670 平均アプリは3パーミッションを要求した。 159 00:10:19,670 --> 00:10:23,370 いくつかのアプリは、117のアクセス権を要求し、 160 00:10:23,370 --> 00:10:27,480 ので、明らかこれらはきめが非常に細かい、ユーザーが理解するための道は複雑すぎる 161 00:10:27,480 --> 00:10:31,600 彼らは、これらの117のアクセス権を必要とし、このアプリを提示している場合。 162 00:10:31,600 --> 00:10:37,270 これは、45ページの長さのエンドユーザー使用許諾契約書のようなものだ。 163 00:10:37,270 --> 00:10:40,240 多分すぐに彼らはそれがのようなものだオプションがあるでしょう 164 00:10:40,240 --> 00:10:43,100 アクセス権を印刷し、私にメールを送ってください。 165 00:10:43,100 --> 00:10:45,480 >>しかし、あなたはトップの興味深い一部のアクセス権を見れば 166 00:10:45,480 --> 00:10:50,840 彼らは53,000からダウンロードされたアプリの24% 167 00:10:50,840 --> 00:10:57,230 デバイスからのGPS情報を要求した。 168 00:10:57,230 --> 00:10:59,810 8%は連絡先をお読みください。 169 00:10:59,810 --> 00:11:03,770 4%がSMSを送信され、3%がSMSを受け取った。 170 00:11:03,770 --> 00:11:07,730 2%はオーディオを記録した。 171 00:11:07,730 --> 00:11:11,210 1%が発信コールを処理しました。 172 00:11:11,210 --> 00:11:13,140 知りません。 173 00:11:13,140 --> 00:11:17,520 私は、アプリケーションストア内のアプリの4%が実際にSMSテキストメッセージを送信する必要はないと思う 174 00:11:17,520 --> 00:11:21,410 私はそれが厄介な何かが起こっているというヒントだと思う。 175 00:11:21,410 --> 00:11:24,350 アプリの8%は、連絡先リストを読む必要がある。 176 00:11:24,350 --> 00:11:26,510 それはおそらく必要はありません。 177 00:11:26,510 --> 00:11:30,990 権限に関するその他の興味深いことの一つは、 178 00:11:30,990 --> 00:11:36,740 あなたのアプリケーションに共有ライブラリにリンクする場合 179 00:11:36,740 --> 00:11:39,780 それらは、アプリケーションの権限を継承し、 180 00:11:39,780 --> 00:11:46,570 ので、あなたのアプリは、連絡先リストを必要とするか、機能するようにGPSの位置を必要とする場合 181 00:11:46,570 --> 00:11:49,940 あなたは、たとえば、広告ライブラリをリンク、 182 00:11:49,940 --> 00:11:53,170 その広告ライブラリには、連絡先にアクセスできるようになります 183 00:11:53,170 --> 00:11:57,630 また、GPSの場所にアクセスできるように 184 00:11:57,630 --> 00:12:01,990 アプリの開発者は、広告ライブラリで実行しているコードについて何も知らない。 185 00:12:01,990 --> 00:12:05,370 彼らは彼らのアプリを収益化したいので、彼らはちょうどそれを内にリンクしています。 186 00:12:05,370 --> 00:12:09,820 >>これはここで、私は、このいくつかの例について話します 187 00:12:09,820 --> 00:12:13,930 パンドラアプリケーション開発者と呼ばれるアプリケーション 188 00:12:13,930 --> 00:12:18,910 知らず知らずのうちに情報が漏洩する可能性があります 189 00:12:18,910 --> 00:12:24,580 そのユーザーからのため、彼らはインチリンクしたライブラリ 190 00:12:24,580 --> 00:12:30,110 すべての異なるアプリケーションを見て、そこに風景を調査 191 00:12:30,110 --> 00:12:34,310 ユーザーが望んでいない、悪意のある、またはやってものとしてニュースで報告されている 192 00:12:34,310 --> 00:12:39,360 してから、多くの検査のアプリを、私たちはモバイルアプリの静的バイナリ解析の多くを行う、 193 00:12:39,360 --> 00:12:42,010 私たちはそれらを検査し、コードを見てきました、それ自体、 194 00:12:42,010 --> 00:12:49,640 我々はアプリケーションで危険な行動の私たちのトップ10リストと呼んでいるものを思い付いた。 195 00:12:49,640 --> 00:12:54,180 そしてそれは、2節で、悪意のあるコードに分解さだ 196 00:12:54,180 --> 00:12:57,600 ので、これらのアプリがやっている可能性があることを悪いことであることを 197 00:12:57,600 --> 00:13:06,520 悪質な個々のものである可能性が高い 198 00:13:06,520 --> 00:13:10,060 特にアプリケーションに入れますが、それは少しあいまいですしています。 199 00:13:10,060 --> 00:13:13,300 それは、開発者が問題ありと考えているものになる可能性があり、 200 00:13:13,300 --> 00:13:16,350 それは、ユーザが悪意のあるとして考えられてしまう。 201 00:13:16,350 --> 00:13:19,830 >>その後、第2セクションでは、脆弱性をコーディング呼んで、 202 00:13:19,830 --> 00:13:24,600 これらは、開発者が基本的にミスをしているものです 203 00:13:24,600 --> 00:13:27,200 または単に安全にアプリケーションを作成する方法を理解していない、 204 00:13:27,200 --> 00:13:30,260  それはリスクのあるアプリのユーザーを入れている。 205 00:13:30,260 --> 00:13:34,060 私は詳細にこれらを通過し、いくつかの例を与えるつもりだ。 206 00:13:34,060 --> 00:13:39,620 参考までに、私は、OWASPモバイルのトップ10リストを設置したいと考えました。 207 00:13:39,620 --> 00:13:43,590 これらは、OWASPのグループ10の問題である 208 00:13:43,590 --> 00:13:48,900 オープンなWebアプリケーションのセキュリティプロジェクト、彼らはワーキンググループを持っている 209 00:13:48,900 --> 00:13:50,620 モバイルのトップ10リストに取り組んでいます。 210 00:13:50,620 --> 00:13:54,600 彼らはトップ10である非常に有名なウェブのトップ10リストを持っている 211 00:13:54,600 --> 00:13:57,180 最もリスクの高いものを使用すると、Webアプリケーションにすることができます。 212 00:13:57,180 --> 00:13:59,090 彼らは、モバイルのための同じことをやっている、 213 00:13:59,090 --> 00:14:01,750 とそのリストは我々のものとは若干異なっています。 214 00:14:01,750 --> 00:14:03,670 10点6は同じです。 215 00:14:03,670 --> 00:14:06,020 彼らは、異なる4を持っている。 216 00:14:06,020 --> 00:14:10,550 私は、彼らが別のテイクを少し持っていると思う 217 00:14:10,550 --> 00:14:14,490 モバイルアプリにおけるリスクどこ彼らの問題の多く 218 00:14:14,490 --> 00:14:20,490 アプリケーションがバックエンドサーバーに通信しているか実際にある 219 00:14:20,490 --> 00:14:23,100 または何がバックエンドサーバー上で起こっている、 220 00:14:23,100 --> 00:14:29,220 ただ簡単なクライアントアプリケーションである危険な行為がないほどのアプリ。 221 00:14:29,220 --> 00:14:36,640 こちら>>赤いものは2リスト間の相違である。 222 00:14:36,640 --> 00:14:40,740 そして、私の研究チームのいくつかは、実際には、このプロジェクトに貢献してきました、 223 00:14:40,740 --> 00:14:44,570 私たちは時間をかけて何が起こるかわかりますが、私はここでお持ち帰りだと思う 224 00:14:44,570 --> 00:14:47,550 私たちは本当にトップ10リストには、携帯アプリに何があるかわからないので、 225 00:14:47,550 --> 00:14:50,510 彼らは本当に今だけ2〜3年前から出回ってきた、 226 00:14:50,510 --> 00:14:57,750 本当にオペレーティングシステムを研究するのに十分な時間がなかった 227 00:14:57,750 --> 00:15:00,450 そして彼らがすることのできるだし、十分な時間がなかった 228 00:15:00,450 --> 00:15:06,870 言うなれば、悪質なコミュニティのために、十分な時間を費やしたのは 229 00:15:06,870 --> 00:15:12,910 モバイルアプリを使用してユーザーを攻撃しようとしているので、私はこれらのリストを少し変更することを期待しています。 230 00:15:12,910 --> 00:15:18,720 しかし、今のところ、これらは心配するトップ10の事柄である。 231 00:15:18,720 --> 00:15:24,150 あなたは、悪質なモバイルコードを行い、モバイル側に疑問に思うかもしれません 232 00:15:24,150 --> 00:15:28,880 どのようにデバイスに乗るのですか? 233 00:15:28,880 --> 00:15:35,210 ノースカロライナ州はモバイルマルウェアゲノムプロジェクトと呼ばれるプロジェクトがある 234 00:15:35,210 --> 00:15:39,520 ここで彼らは、彼らはできるだけ多くのモバイルマルウェアを収集し、それを分析している 235 00:15:39,520 --> 00:15:45,270 彼らは、モバイルマルウェアが使用する注入ベクトルを分解しました 236 00:15:45,270 --> 00:15:51,490 86%は、再パッケージと呼ばれる技術を使用 237 00:15:51,490 --> 00:15:54,160 これが唯一のAndroidプラットフォーム上にある 238 00:15:54,160 --> 00:15:56,720 あなたは本当にこの再パッケージを行うことができます。 239 00:15:56,720 --> 00:16:03,100 >>理由はAndroidのコードが使用して構築されている 240 00:16:03,100 --> 00:16:08,130 簡単decompilableあるのDalvikと呼ばれるJavaバイトコード。 241 00:16:08,130 --> 00:16:12,460 悪い男は何ができるのです。 242 00:16:12,460 --> 00:16:16,590 Androidアプリケーションを取る、それを逆コンパイル、 243 00:16:16,590 --> 00:16:20,120 彼らの悪質なコードを挿入し、それを再コンパイルし、 244 00:16:20,120 --> 00:16:28,070 して、そのアプリケーションの新しいバージョンであると主張するアプリケーションストアでそれを置く、 245 00:16:28,070 --> 00:16:30,330 あるいはもしかしたら、アプリケーションの名前を変更する。 246 00:16:30,330 --> 00:16:35,140 それは、ゲームのいくつかの並べ替えされた場合は、少し名前を変更、 247 00:16:35,140 --> 00:16:42,860 ので、この再パッケージングは​​、モバイルマルウェアの86%が分配されます方法です。 248 00:16:42,860 --> 00:16:45,810 あるアップデートと呼ばれる別の技術があります 249 00:16:45,810 --> 00:16:50,030 再パッケージと非常によく似ていますが、実際にインチ悪質なコードを入れないで 250 00:16:50,030 --> 00:16:52,870 何をすることで、小規模な更新のメカニズムに置かれます。 251 00:16:52,870 --> 00:16:56,660 、あなたが更新のメカニズムに入れ、逆コンパイル、そしてあなたはそれを再コンパイル 252 00:16:56,660 --> 00:17:02,360 して、このアプリは、デバイス上にマルウェアをプルダウンし実行しているとき。 253 00:17:02,360 --> 00:17:06,300 >>圧倒的に大多数は、それらの2技術である。 254 00:17:06,300 --> 00:17:12,710 携帯電話上で本当に多くのダウンロードドライブBYSまたはドライブバイダウンロードは、ありません 255 00:17:12,710 --> 00:17:15,890 フィッシング攻撃のようにすることができた。 256 00:17:15,890 --> 00:17:18,200 ねえ、これは本当にクールなウェブサイトをチェックアウト、 257 00:17:18,200 --> 00:17:21,020 または、このウェブサイトにアクセスして、このフォームに記入する必要があります 258 00:17:21,020 --> 00:17:24,420 何かを継続して維持する。 259 00:17:24,420 --> 00:17:26,230 それらは、フィッシング攻撃している。 260 00:17:26,230 --> 00:17:28,160 同じことは、モバイルプラットフォーム上で発生する可能性がどこに 261 00:17:28,160 --> 00:17:33,830 ダウンロード言ってモバイル用アプリを指​​して「やあ、これはバンクオブアメリカです。 " 262 00:17:33,830 --> 00:17:36,070 "我々は、このアプリケーションを使用している参照してください。" 263 00:17:36,070 --> 00:17:38,540 "あなたは、このほかのアプリケーションをダウンロードする必要があります。" 264 00:17:38,540 --> 00:17:41,170 理論的には、それは仕事ができる。 265 00:17:41,170 --> 00:17:48,610 多分それはちょうど、それが成功だか否かを判定するのに十分な使用されていない 266 00:17:48,610 --> 00:17:51,680 これらは技術が使用される時間の1%未満であることを見出した。 267 00:17:51,680 --> 00:17:56,130 それは本当に、再パッケージ化されたコードの大部分の時間。 268 00:17:56,130 --> 00:17:58,710 >>スタンドアロンと呼ばれる別のカテゴリがあります 269 00:17:58,710 --> 00:18:01,420 誰かがちょうど真新しいアプリケーションを構築する場所。 270 00:18:01,420 --> 00:18:04,020 彼らは、何かあると主張しているアプリケーションをビルドします。 271 00:18:04,020 --> 00:18:07,360 それは何か他のものの再パッケージではありません、それは悪質なコードを持っています。 272 00:18:07,360 --> 00:18:11,230 その、時間の14%使われています。 273 00:18:11,230 --> 00:18:17,880 今私は、悪意のあるコードが何をしているかについて話をしたいですか? 274 00:18:17,880 --> 00:18:23,070 そこに最初のマルウェアの一つ 275 00:18:23,070 --> 00:18:25,490 あなたは、スパイウェアを検討可能性があります。 276 00:18:25,490 --> 00:18:27,620 それは基本的にユーザーにスパイ。 277 00:18:27,620 --> 00:18:30,470 それはメール、SMSメッセージを収集します。 278 00:18:30,470 --> 00:18:32,340 それは、マイクがオンになります。 279 00:18:32,340 --> 00:18:37,330 なお、アドレス帳を収穫する、それが他の誰かにそれを送る。 280 00:18:37,330 --> 00:18:40,870 スパイウェアのこのタイプは、PC上に存在し、 281 00:18:40,870 --> 00:18:46,200 人々は、モバイルデバイス上でこれを実行しようとするので、これは完璧な理にかなっています。 282 00:18:46,200 --> 00:18:53,230 >>これの最初の例の一つは秘密のSMSレプリケータというプログラムでした。 283 00:18:53,230 --> 00:18:56,250 それは、数年前にAndroidのマーケットプレースにあった 284 00:18:56,250 --> 00:18:59,960 あなたが誰かのAndroid携帯電話へのアクセスがあった場合にはアイデアがあった 285 00:18:59,960 --> 00:19:03,450 あなたはスパイするたかったので、多分それはあなたの配偶者のことを 286 00:19:03,450 --> 00:19:07,600 またはあなたの他の重要な、あなたは彼らのテキストメッセージをスパイしたい、 287 00:19:07,600 --> 00:19:11,200 あなたは、このアプリをダウンロードしてインストールして設定することもできます 288 00:19:11,200 --> 00:19:16,540 コピーとのあなたにSMSテキストメッセージを送信する 289 00:19:16,540 --> 00:19:21,710 彼らが得たすべてのSMSテキストメッセージの。 290 00:19:21,710 --> 00:19:27,220 これは明らかに、サービスのアプリケーションストア利用規約違反である 291 00:19:27,220 --> 00:19:32,040 これは、それがそこにあることの18時間以内にはAndroid Marketplaceから削除されました 292 00:19:32,040 --> 00:19:36,760 その人々の非常に小さな数は、このためリスクが高かった。 293 00:19:36,760 --> 00:19:42,510 プログラムが何かは多分少し挑発的と呼ばれていた場合には、今、私は思う 294 00:19:42,510 --> 00:19:48,690 秘密のSMSリプリケータのようにそれはおそらく、かなり良く働いているだろう。 295 00:19:48,690 --> 00:19:52,870 しかし、それは明らかのようなものだった。 296 00:19:52,870 --> 00:19:58,680 >>我々はアプリを我々はしたくないこの動作を持っているかどうかを判断するためにできることの一つ 297 00:19:58,680 --> 00:20:01,410 コー​​ドを検査することです。 298 00:20:01,410 --> 00:20:06,250 我々はアプリケーションを逆コンパイルすることができますので、これは実際にAndroid上で行うのは非常に簡単です。 299 00:20:06,250 --> 00:20:11,050 iOSの上では、IDA Proのような逆アセンブラを使用することができます 300 00:20:11,050 --> 00:20:17,190 アプリを呼び出していると、それが何をやっているAPIは何を見ている。 301 00:20:17,190 --> 00:20:20,680 我々は我々のコードのために私たち自身のバイナリの静的アナライザを書きました 302 00:20:20,680 --> 00:20:24,940 我々はこれを行うには、それで、あなたは何ができると、あなたが言うことができるである 303 00:20:24,940 --> 00:20:30,490 装置は、基本的に私をスパイか、私を追跡して何をするのでしょうか? 304 00:20:30,490 --> 00:20:33,360 そして、私はここに、iPhone上でいくつかの例があります。 305 00:20:33,360 --> 00:20:41,440 この最初の例では、電話機のUUIDをアクセスする方法である。 306 00:20:41,440 --> 00:20:47,060 これは、実際にAppleが単に新しいアプリケーションのために禁止されているものですが、 307 00:20:47,060 --> 00:20:52,540 しかし、あなたの携帯電話上で動作している可能性があります古いアプリケーションは、まだこれを行うことができ、 308 00:20:52,540 --> 00:20:56,500 となるように一意の識別子を使用を追跡するために使用することができる 309 00:20:56,500 --> 00:21:00,440 多くの異なるアプリケーション間で。 310 00:21:00,440 --> 00:21:07,180 >> Androidでは、私はここでデバイスの位置を取得する例があります。 311 00:21:07,180 --> 00:21:10,310 あなたは、そのAPI呼び出しがある場合、そのアプリが追跡していることがわかります 312 00:21:10,310 --> 00:21:15,000 あなたはそれがうまく場所や粗い場所をなってきたかどうかを確認することができます。 313 00:21:15,000 --> 00:21:18,860 そして、ここ一番下に、私はどのようにBlackBerryでの例を持っている 314 00:21:18,860 --> 00:21:25,130 アプリケーションは、受信トレイ内の電子メールメッセージにアクセスする場合があります。 315 00:21:25,130 --> 00:21:27,660 これらはあなたが見て検査することができるものの一種である 316 00:21:27,660 --> 00:21:32,360 アプリはそれらの事をやっている場合。 317 00:21:32,360 --> 00:21:38,320 二大悪意のある動作のカテゴリ、これは現在、おそらく最大のカテゴリーであり、 318 00:21:38,320 --> 00:21:43,950 無許可のダイヤル、不正プレミアムSMSテキストメッセージがある 319 00:21:43,950 --> 00:21:46,080 または不正な支払い。 320 00:21:46,080 --> 00:21:48,930 電話のユニークだもう一つは 321 00:21:48,930 --> 00:21:52,700 デバイスは、課金アカウントにフックされている、 322 00:21:52,700 --> 00:21:55,960 や活動は電話で発生したとき 323 00:21:55,960 --> 00:21:58,510 それは料金を作成することができます。 324 00:21:58,510 --> 00:22:00,700 あなたが電話で物事を購入することができ、 325 00:22:00,700 --> 00:22:04,390 あなたはプレミアムSMSテキストメッセージを送信すると、あなたが実際にお金を与えている 326 00:22:04,390 --> 00:22:11,590 相手側の電話番号の口座名義人に。 327 00:22:11,590 --> 00:22:17,420 これらは、株価情報を取得したり、あなたの毎日の星占いや他のものを取得するように設定された、 328 00:22:17,420 --> 00:22:21,680 しかし、彼らはSMSテキストを送信することにより、製品を注文するように設定することができます。 329 00:22:21,680 --> 00:22:26,970 人々は、テキストメッセージを送信することにより、赤十字にお金を与える。 330 00:22:26,970 --> 00:22:30,650 あなたは10ドルをそのように与えることができます。 331 00:22:30,650 --> 00:22:34,190 >>彼らがやった攻撃者は、彼らが設定されている 332 00:22:34,190 --> 00:22:38,750 海外で占めており、彼らはマルウェアに埋め込む 333 00:22:38,750 --> 00:22:42,840 電話では、プレミアムSMSテキストメッセージを送信すること、 334 00:22:42,840 --> 00:22:47,700 と言う、日に数回、月の終わりにあなたが費やしてきた実感 335 00:22:47,700 --> 00:22:52,090 十または多分ドルの何百も、彼らはお金で離れて歩く。 336 00:22:52,090 --> 00:22:57,280 これはこれは非常に最初のものになるように、悪い得たことをアンドロイド 337 00:22:57,280 --> 00:23:00,760 市場やGoogleプレースでは、一度にアンドロイドマーケットプレースた 338 00:23:00,760 --> 00:23:04,430 それはGoogleのプレイ-Googleがチェック開始したことを、まず最初に、今だ。 339 00:23:04,430 --> 00:23:08,700 Googleは彼らのアプリケーションストアでAndroidアプリケーションを配布開始したとき 340 00:23:08,700 --> 00:23:11,350 彼らは、何をチェックするつもりはないと述べた。 341 00:23:11,350 --> 00:23:15,630 我々は、彼らがサービスの利用規約を破ってきた通知されたら、我々はアプリを引くでしょう、 342 00:23:15,630 --> 00:23:17,520 しかし、我々は何のためにチェックするつもりはない。 343 00:23:17,520 --> 00:23:24,350 さて、約一年前には、このプレミアムSMSテキストメッセージのマルウェアに悪くなった 344 00:23:24,350 --> 00:23:28,030 これは、彼らがチェック始め、非常に最初のものだと。 345 00:23:28,030 --> 00:23:31,770 アプリは、SMSテキストメッセージを送信できる場合 346 00:23:31,770 --> 00:23:34,750 彼らはさらに、手動でそのアプリケーションを精査。 347 00:23:34,750 --> 00:23:38,770 彼らはこれを呼び出すAPIを探し、 348 00:23:38,770 --> 00:23:40,580 そして今、それ以来Googleは拡大している、 349 00:23:40,580 --> 00:23:46,900 しかし、これは彼らが探し始めた最初のものだった。 350 00:23:46,900 --> 00:23:50,690 >>いくつかのSMSテキストメッセージをしたいくつかの他のアプリ、 351 00:23:50,690 --> 00:23:56,980 このAndroidのQicsomos、私はそれが呼び出されたと思います。 352 00:23:56,980 --> 00:24:02,670 このCarrierIQが出てきた携帯からこの現在のイベントがありました 353 00:24:02,670 --> 00:24:07,720 スパイウェアなどの事業者がデバイス上に置く、 354 00:24:07,720 --> 00:24:10,820 その人は、自分の携帯電話は、これに脆弱だったかどうか知りたいと思った 355 00:24:10,820 --> 00:24:13,890 これはそれをテストし無料アプリだった。 356 00:24:13,890 --> 00:24:17,520 さて、もちろん、どのようなこのアプリがやったことは、それは、プレミアムSMSテキストメッセージを送った 357 00:24:17,520 --> 00:24:20,090 ので、あなたがスパイウェアに感染しているかどうかをテストして 358 00:24:20,090 --> 00:24:24,930 お使いのデバイスにマルウェアをロードしました。 359 00:24:24,930 --> 00:24:27,310 私たちは、同じことは、最後のスーパーボウルで発生を見た。 360 00:24:27,310 --> 00:24:33,180 マッデンフットボールの試合の偽のバージョンがありました 361 00:24:33,180 --> 00:24:38,320 それは、プレミアムSMSテキストメッセージを送った。 362 00:24:38,320 --> 00:24:45,750 これは、実際のデバイス上であまりにもボットネットワークを作成しようとしました。 363 00:24:45,750 --> 00:24:48,090 ここで私はいくつかの例があります。 364 00:24:48,090 --> 00:24:52,640 興味深いことに、Appleは、かなりスマートだった 365 00:24:52,640 --> 00:24:58,470 彼らは、アプリケーションがまったくのSMSテキストメッセージを送信することはできません。 366 00:24:58,470 --> 00:25:00,350 いいえアプリはそれを行うことはできません。 367 00:25:00,350 --> 00:25:03,530 つまり、脆弱性のクラス全体を取り除くのに最適な方法ですが、 368 00:25:03,530 --> 00:25:09,040 しかし、Android上であなたはそれを行うことができ、そしてもちろん、BlackBerryであなたもそれを行うことができます。 369 00:25:09,040 --> 00:25:13,060 これは、BlackBerryであなたが必要なのはインターネットのアクセス権であることは興味深い 370 00:25:13,060 --> 00:25:18,370 SMSテキストメッセージを送信します。 371 00:25:18,370 --> 00:25:21,580 >>他の事は本当に我々が求めていることを 372 00:25:21,580 --> 00:25:24,780 私たちは、何かに悪意があるかどうかを確認するために探しているときのただの一種である 373 00:25:24,780 --> 00:25:28,100 ネットワーク活動を見てのような不正なネットワーク活動、 374 00:25:28,100 --> 00:25:31,570 アプリは、その機能を有することがあると想定され、 375 00:25:31,570 --> 00:25:35,380 この他のネットワーク活動を見てください。 376 00:25:35,380 --> 00:25:43,380 おそらく動作するアプリは、HTTPを介してデータを取得する必要があり、 377 00:25:43,380 --> 00:25:47,500 それは、電子メールまたはSMSまたはBluetoothやそのような何かの上の事をやっている場合は、 378 00:25:47,500 --> 00:25:52,890 今ではアプリは、潜在的に悪意がなかったので、これはあなたが検査できる別のものである。 379 00:25:52,890 --> 00:26:00,430 そして、ここで、このスライドに、私はそれのいくつかの例があります。 380 00:26:00,430 --> 00:26:05,950 我々はマルウェアに見たもう一つの興味深い点は、2009年に戻って起こった 381 00:26:05,950 --> 00:26:07,600 そしてそれは大々的に起こった。 382 00:26:07,600 --> 00:26:11,390 それはそれ以来あまり起こったかどうかは知りませんが、アプリだった 383 00:26:11,390 --> 00:26:15,140 つまり、別のアプリケーションを偽装。 384 00:26:15,140 --> 00:26:21,700 そこにアプリのセットがあって、それが09Droid攻撃と呼ばれた、 385 00:26:21,700 --> 00:26:29,770 そして誰かが小さな地域、中規模銀行の多くがあったことを決定した 386 00:26:29,770 --> 00:26:32,260 オンラインバンキングアプリケーションを持っていなかったことを、 387 00:26:32,260 --> 00:26:36,870 それでは、彼らがしたことは、彼らが約50のオンラインバンキングアプリケーションを構築しました 388 00:26:36,870 --> 00:26:39,410 彼らがしたすべては、ユーザー名とパスワードを取るだったこと 389 00:26:39,410 --> 00:26:42,190 そしてウェブサイトにリダイレクトします。 390 00:26:42,190 --> 00:26:47,470 だから彼らは、Googleのマーケットプレースでこれらをすべて出す 391 00:26:47,470 --> 00:26:51,530 Androidのマーケットプレースでは、いつ、誰かが自分の銀行かどうかを確認するために検索さ 392 00:26:51,530 --> 00:26:56,000 彼らは偽のアプリケーションを見つけるだろう、アプリケーションを持っていた、 393 00:26:56,000 --> 00:27:01,230 自分の資格情報を収集して、自分のウェブサイトにそれらをリダイレクトした。 394 00:27:01,230 --> 00:27:06,640 これが実際にそのようになったが、アプリは、数週間までありました 395 00:27:06,640 --> 00:27:09,050 とダウンロードの何千もあった。 396 00:27:09,050 --> 00:27:12,910 >>これが明るみに出た道は、誰かが問題を抱えていたた 397 00:27:12,910 --> 00:27:15,740 アプリケーションの一つで、彼らは彼らの銀行と呼ばれる、 398 00:27:15,740 --> 00:27:18,390 そして彼らは、銀行の顧客サポート·ラインと呼ばれると、 399 00:27:18,390 --> 00:27:21,180 「私はあなたのモバイルバンキングアプリケーションに問題を抱えている。 " 400 00:27:21,180 --> 00:27:23,460 「あなたは私を助けることはできますか? " 401 00:27:23,460 --> 00:27:26,540 そして彼らは「私たちは、モバイルバンキングアプリケーションを持っていない "と述べた。 402 00:27:26,540 --> 00:27:28,120 それは調査を開始した。 403 00:27:28,120 --> 00:27:31,200 そのバンクは、Googleと呼ばれ、Googleは見て、言った、 404 00:27:31,200 --> 00:27:37,220 「うわー、同じ著者は、50銀行のアプリケーションを書いている」と、それらをすべて降ろした。 405 00:27:37,220 --> 00:27:43,410 確かに、これは再び起こる可能性があります。 406 00:27:43,410 --> 00:27:51,790 すべての異なるバンクのリストがここにあります 407 00:27:51,790 --> 00:27:55,870 つまり、この詐欺の一部であった。 408 00:27:55,870 --> 00:28:02,050 アプリを実行できる他の事は、他のアプリケーションのUIを提示している。 409 00:28:02,050 --> 00:28:06,430 それは実行している間、それはFacebookのUIをポップアップ表示可能性があります。 410 00:28:06,430 --> 00:28:09,540 それはあなたが継続してユーザー名とパスワードに入れていると言う 411 00:28:09,540 --> 00:28:15,090 またはウェブサイトのための任意のユーザー名とパスワードのUIを立てる 412 00:28:15,090 --> 00:28:18,420 それ多分ユーザーは、ユーザーをだまししようとするだけで使用しています 413 00:28:18,420 --> 00:28:21,340 インチ資格情報を入れるに 414 00:28:21,340 --> 00:28:25,590 これは実際に電子メールのフィッシング攻撃のまっすぐ平行になる 415 00:28:25,590 --> 00:28:28,210 誰かがあなたの電子メールメッセージを送信場所 416 00:28:28,210 --> 00:28:33,050 そしてあなたのウェブサイトのため、基本的に偽のUIを提供します 417 00:28:33,050 --> 00:28:37,320 あなたがアクセス権を持っている。 418 00:28:37,320 --> 00:28:41,590 >>我々は悪意のあるコード内で探す他の事はシステム変更である。 419 00:28:41,590 --> 00:28:48,160 あなたは、root権限を必要とするすべてのAPI呼び出しを探すことができます 420 00:28:48,160 --> 00:28:50,870 正しく実行します。 421 00:28:50,870 --> 00:28:56,160 デバイスのWebプロキシを変更すると、アプリケーションがものになるだろう 422 00:28:56,160 --> 00:28:59,530 行うことができるべきではありません。 423 00:28:59,530 --> 00:29:03,030 しかし、アプリケーションはそれを行うためにそこにコードされている場合 424 00:29:03,030 --> 00:29:05,960 あなたはそれがおそらく悪質なアプリケーションのことを知っている 425 00:29:05,960 --> 00:29:09,620 悪意のあるアプリケーションであることも、非常に可能性が高い、 426 00:29:09,620 --> 00:29:13,910 そしてだから何が起こるかをアプリが特権をエスカレートする何らかの方法を持っているだろうということです。 427 00:29:13,910 --> 00:29:17,200 これは、いくつかの権限昇格を悪用しなければならない 428 00:29:17,200 --> 00:29:20,730 アプリケーション内の、そして、それが特権をエスカレートたら 429 00:29:20,730 --> 00:29:23,800 それは、これらのシステムの変更を行うだろう。 430 00:29:23,800 --> 00:29:28,010 あなたが権限昇格を持つマルウェアを見つけることができます 431 00:29:28,010 --> 00:29:32,550 その中でもどのように権限昇格を知らなくても 432 00:29:32,550 --> 00:29:37,960 エクスプロイトは起こるだろう、それは素敵な、簡単な方法です 433 00:29:37,960 --> 00:29:41,220 マルウェアを探します。 434 00:29:41,220 --> 00:29:46,030 DroidDreamはおそらくAndroidのマルウェアの最も有名な作品だった。 435 00:29:46,030 --> 00:29:50,530 私はそれが数日かけて約250,000人のユーザーに影響を与えたと思います 436 00:29:50,530 --> 00:29:52,810 それが発見された前に。 437 00:29:52,810 --> 00:29:56,890 彼らは50偽のアプリケーションを再パッケージ化、 438 00:29:56,890 --> 00:30:00,370 Androidのアプリケーションストアに入れ、 439 00:30:00,370 --> 00:30:10,940 そして、基本的にそれが権限を昇格するためにAndroidの脱獄コードを使用 440 00:30:10,940 --> 00:30:16,380 してから、コマンドやコントロールをインストールし、すべての被害者を回す 441 00:30:16,380 --> 00:30:20,690 ボットネットに入れていますが、これを検出している可能性が 442 00:30:20,690 --> 00:30:24,170 あなたがアプリケーションをスキャンするだけ探している場合 443 00:30:24,170 --> 00:30:32,230 APIは、必要なルート権限が正しく実行することを呼び出します。 444 00:30:32,230 --> 00:30:40,150 >>私は、プロキシを変更している必要がここでの例あります、 445 00:30:40,150 --> 00:30:46,380 これは実際にAndroid上でのみ使用できます。 446 00:30:46,380 --> 00:30:49,070 あなたは、私はあなたにAndroid上での例をたくさん与えて見ることができます 447 00:30:49,070 --> 00:30:53,990 最もアクティブなマルウェアのエコシステムがどこにあるこれは、 448 00:30:53,990 --> 00:30:58,690 それは悪意のあるコードを取得するには、攻撃者のための非常に簡単なので 449 00:30:58,690 --> 00:31:01,470 Androidの市場に。 450 00:31:01,470 --> 00:31:06,480 これは、AppleのApp Storeにそれをすることは簡単ではありません 451 00:31:06,480 --> 00:31:10,250 Appleは自身を識別するために、開発者が必要なため、 452 00:31:10,250 --> 00:31:12,790 コー​​ドに署名する。 453 00:31:12,790 --> 00:31:20,340 彼らは実際にあなたが誰であるかを確認し、Appleは実際にアプリケーションを精査されている。 454 00:31:20,340 --> 00:31:27,450 我々は、デバイスが危険にさらさつつある真のマルウェアの多くが表示されません。 455 00:31:27,450 --> 00:31:32,250 私は、それが本当に危険にさらさばかりのプライバシーだいくつかの例についてお話します 456 00:31:32,250 --> 00:31:38,460 それは実際にAppleデバイス上で何が起こっているかです。 457 00:31:38,460 --> 00:31:44,090 悪質なコードを探すためにもう一つ、デバイス内の危険なコード 458 00:31:44,090 --> 00:31:50,300 ロジックや時間爆弾であり、時限爆弾は、おそらくです 459 00:31:50,300 --> 00:31:53,370 はるかに簡単に論理爆弾よりも探します。 460 00:31:53,370 --> 00:31:57,030 しかし、時限爆弾で、何を行うことができますことはあなたが見ることができるである 461 00:31:57,030 --> 00:32:04,760 時間がテストされたコードまたは絶対時間の場所が検索され 462 00:32:04,760 --> 00:32:08,190 アプリ内の特定の機能が起こる前に。 463 00:32:08,190 --> 00:32:14,200 これは、ユーザからその活動を隠すために行うことができる 464 00:32:14,200 --> 00:32:17,510 ので、夜遅く起こっている。 465 00:32:17,510 --> 00:32:24,350 DroidDreamは午後11時と午前8時現地時間のすべての活動を行いました 466 00:32:24,350 --> 00:32:30,650 ユーザーがデバイスを使用していない可能性がありながら、それをやろうとする。 467 00:32:30,650 --> 00:32:38,680 人々は、アプリケーションの動作分析を使用している場合は、>>これを行う別の理由は、 468 00:32:38,680 --> 00:32:43,430 アプリケーションの動作が何であるかを見るためにサンドボックスでアプリケーションを実行している、 469 00:32:43,430 --> 00:32:51,090 彼らは活動をする時間ベースのロジックを使用することができます 470 00:32:51,090 --> 00:32:54,640 アプリはサンドボックス内にないとき。 471 00:32:54,640 --> 00:33:01,520 Appleのようたとえば、アプリケーションストア 472 00:33:01,520 --> 00:33:07,940 アプリケーションを実行しますが、彼らはおそらく、30日、言う、のためのすべてのアプリケーションを実行しないでください 473 00:33:07,940 --> 00:33:10,550 それを承認する前に、ので、置くことができます 474 00:33:10,550 --> 00:33:14,120 さて、唯一の悪い事をすると言って、アプリケーションのロジック 475 00:33:14,120 --> 00:33:20,490 30日には、アプリケーションの公開日付から30日までに、または後になってから 476 00:33:20,490 --> 00:33:27,020 それはそれのために検査人から悪意のあるコードを非表示にすることができます。 477 00:33:27,020 --> 00:33:30,050 アンチウイルス企業は、サンドボックスで物事を実行している場合 478 00:33:30,050 --> 00:33:36,370 またはアプリストア自体はこれで解決することができている 479 00:33:36,370 --> 00:33:39,260 その検査からそれを非表示にします。 480 00:33:39,260 --> 00:33:43,020 今、それの裏返しは、それは静的解析で見つけるのは簡単だです 481 00:33:43,020 --> 00:33:46,170 そう、実際にあなたがすべての場所を探すことができ、コードを検査する 482 00:33:46,170 --> 00:33:54,010 アプリケーションは、時間をテストし、そのように検査場所。 483 00:33:54,010 --> 00:33:58,850 そして、ここで私は、これらの3つの異なるプラットフォーム上でいくつかの例があります 484 00:33:58,850 --> 00:34:05,640 時間は、アプリのメーカーで確認することができる方法 485 00:34:05,640 --> 00:34:10,520 だからあなたが静的にアプリケーションを検査している場合を探すために知っている。 486 00:34:10,520 --> 00:34:14,570 >>私はちょうど別の悪質な活動の全体の束を経て 487 00:34:14,570 --> 00:34:18,969 我々は、野生で見てきたが、どれが最も普及していることを? 488 00:34:18,969 --> 00:34:23,940 ノースカロライナ州立モバイルゲノムプロジェクトからの同じ研究 489 00:34:23,940 --> 00:34:28,560 いくつかのデータを公表し、4つの領域は基本的にありました 490 00:34:28,560 --> 00:34:32,850 多くのアクティビティがあったところ、彼らは見た。 491 00:34:32,850 --> 00:34:35,370 アプリの37%は、権限昇格を行いました 492 00:34:35,370 --> 00:34:38,429 ので、そこに脱獄コードの一部のタイプを持っていた 493 00:34:38,429 --> 00:34:42,070 彼らはことができるように権限を昇格しようとした場合、 494 00:34:42,070 --> 00:34:48,360 APIコマンドは、オペレーティングシステムとして動作してください。 495 00:34:48,360 --> 00:34:52,520 アプリの45%はそこに、プレミアムSMSをやった 496 00:34:52,520 --> 00:34:57,260 だから、直接収益化しようとしている巨大な割合です。 497 00:34:57,260 --> 00:35:02,640 93パーセントは、リモートコントロールをしたので、ボットネット、モバイルボットネットを設定しようとしました。 498 00:35:02,640 --> 00:35:08,990 そして45%が識別情報を採取 499 00:35:08,990 --> 00:35:16,230 電話番号、UUIDが、GPSの位置、ユーザアカウントのような、 500 00:35:16,230 --> 00:35:22,870 ほとんどのマルウェアはこれらの事のいくつかを試みるために、これは、100以上につながります。 501 00:35:22,870 --> 00:35:27,070 >>私は後半に切り替えて、コードの脆弱性について話をするつもりです。 502 00:35:27,070 --> 00:35:29,480 これは危険な活動の後半である。 503 00:35:29,480 --> 00:35:33,450 開発者がエラーをしている場合に、本質的である。 504 00:35:33,450 --> 00:35:37,210 正当なアプリケーションを書く正当な開発者 505 00:35:37,210 --> 00:35:41,830 エラーを作ったり、モバイルプラットフォームのリスクを知らないです。 506 00:35:41,830 --> 00:35:44,780 彼らはただ安全なモバイルアプリを作る方法がわからない、 507 00:35:44,780 --> 00:35:47,700 時には開発者が危険にユーザーを置くことを気にしない。 508 00:35:47,700 --> 00:35:50,850 時々、彼らのビジネスモデルの一部は次のようになります。 509 00:35:50,850 --> 00:35:54,610 ユーザーの個人情報を収集すること。 510 00:35:54,610 --> 00:35:58,090 つまり、他のカテゴリのようなものだし、だからこそ、この悪質な一部の 511 00:35:58,090 --> 00:36:03,200 意見の違いがあるので、正規の開始に対してオーバーブリード 512 00:36:03,200 --> 00:36:10,440 どのようなユーザーが望んでいるとどのようなユーザーが危険なと考えて間 513 00:36:10,440 --> 00:36:13,050 どのようなアプリケーション開発者は、危険なと考えています。 514 00:36:13,050 --> 00:36:18,380 もちろん、ほとんどの場合、アプリケーション開発者のデータはない。 515 00:36:18,380 --> 00:36:22,030 >>そして最終的に、この問題が発生した別の方法を使用すると、開発者は、リンク可能性がある 516 00:36:22,030 --> 00:36:28,600 脆弱性を持っている共有ライブラリまたはその中に、この危険な行動 517 00:36:28,600 --> 00:36:32,480 彼らに知られずに。 518 00:36:32,480 --> 00:36:37,060 最初のカテゴリは、機密データの漏洩である、 519 00:36:37,060 --> 00:36:40,030 アプリの情報を収集するとき、これがある 520 00:36:40,030 --> 00:36:44,980 位置、アドレス帳情報、所有者情報等 521 00:36:44,980 --> 00:36:48,000 デバイスからそれを送信します。 522 00:36:48,000 --> 00:36:53,050 そして、それは、デバイスからのかつて、我々はその情報を使用して何が起こっているのか分からない。 523 00:36:53,050 --> 00:36:57,170 これは、アプリケーション開発者が安全でない記憶することができる。 524 00:36:57,170 --> 00:37:02,070 我々は、アプリケーション開発者が侵害を得る見てきました、 525 00:37:02,070 --> 00:37:05,820 そして、彼らは保存しているデータが取られます。 526 00:37:05,820 --> 00:37:10,970 これは、フロリダでダウン、開発者に、数ヶ月前に起こった 527 00:37:10,970 --> 00:37:21,660 の-IT膨大な数のiPadのUUIDとデバイス名だった場合、 528 00:37:21,660 --> 00:37:25,270 誰かが、私はそれが匿名だったと思うので、リークされた 529 00:37:25,270 --> 00:37:29,460 これを行うと主張し、この開発者のサーバーに侵入 530 00:37:29,460 --> 00:37:34,920 とiPadのUUID数百万を盗んだ 531 00:37:34,920 --> 00:37:37,390 とコンピュータ名。 532 00:37:37,390 --> 00:37:40,260 は、最も危険な情報、 533 00:37:40,260 --> 00:37:46,820 それは、ユーザー名とパスワードを保存した場合はどうすれば 534 00:37:46,820 --> 00:37:48,170 およびホームアドレス? 535 00:37:48,170 --> 00:37:51,100 情報のようなものを保存するアプリがたくさん出ている。 536 00:37:51,100 --> 00:37:53,230 危険性があります。 537 00:37:53,230 --> 00:37:56,620 >>開発者が世話をしていない場合に発生することができる他の事がある 538 00:37:56,620 --> 00:38:01,370 データチャネルを確保し、それは私が話をするつもりだもう一つの大きな脆弱性のために、 539 00:38:01,370 --> 00:38:05,160 そのデータは平文で送信されています。 540 00:38:05,160 --> 00:38:09,040 ユーザーは、パブリック·Wi-Fiネットワーク上にある場合 541 00:38:09,040 --> 00:38:12,330 または誰かがどこかでインターネットに盗聴されている 542 00:38:12,330 --> 00:38:19,260 データが露光されている経路に沿っ。 543 00:38:19,260 --> 00:38:23,790 この情報漏洩の一つ非常に有名なケースはパンドラで起こった 544 00:38:23,790 --> 00:38:27,250 これは我々がVeracodeで研究ものです。 545 00:38:27,250 --> 00:38:33,200 我々は、私はそれが連邦取引委員会だったと思いますがあったと聞いた 546 00:38:33,200 --> 00:38:35,310 パンドラで起こっ調査。 547 00:38:35,310 --> 00:38:39,830 私たちは、「何が起こっているの?のは、パンドラのアプリケーションに掘り始めましょう」と言った。 548 00:38:39,830 --> 00:38:46,690 そして我々が決定すると、収集されたパンドラのアプリケーションでした 549 00:38:46,690 --> 00:38:51,270 あなたの性別と年齢、 550 00:38:51,270 --> 00:38:56,660 そしてそれはまた、あなたのGPSの位置、およびパンドラのアプリケーションにアクセス 551 00:38:56,660 --> 00:39:00,200 彼らは正当な理由と述べた何のためにこれをした。 552 00:39:00,200 --> 00:39:05,360 彼らは、パンドラをしていた音楽は、音楽ストリーミングアプリ-IS 553 00:39:05,360 --> 00:39:07,530 彼らが遊んでいた音楽は唯一、米国で認可された、 554 00:39:07,530 --> 00:39:13,020 ので、彼らは彼らが持っていた彼らのライセンス契約を遵守することを確認しなければならなかった 555 00:39:13,020 --> 00:39:17,240 ユーザーが米国にあった音楽のため。 556 00:39:17,240 --> 00:39:25,070 彼らはまた、親の諮問に準拠したかった 557 00:39:25,070 --> 00:39:33,790 音楽の周りの大人の言語、 558 00:39:33,790 --> 00:39:37,500 そしてそれは自主的なプログラムですが、彼らはそれに準拠したかった 559 00:39:37,500 --> 00:39:43,010 と子供13歳以下に明示的な歌詞を果たしていない。 560 00:39:43,010 --> 00:39:46,280 >>彼らは、このデータを収集するための正当な理由があった。 561 00:39:46,280 --> 00:39:49,160 そのアプリは、それを行うための権限を持っていた。 562 00:39:49,160 --> 00:39:52,000 ユーザーは、これが正当だと思った。しかし、何が起こったのか? 563 00:39:52,000 --> 00:39:55,810 彼らは、3または4に別の広告ライブラリにリンクされた。 564 00:39:55,810 --> 00:39:59,140 今、突然すべてのこれらの広告ライブラリ 565 00:39:59,140 --> 00:40:02,970 この同じ情報へのアクセスを得ている。 566 00:40:02,970 --> 00:40:05,830 広告ライブラリには、広告ライブラリのコードを見れば 567 00:40:05,830 --> 00:40:08,430 彼らは何をやっていることはすべての広告ライブラリは言うです 568 00:40:08,430 --> 00:40:11,340 「私のアプリは、GPS位置を取得するための権限を持っていますか? " 569 00:40:11,340 --> 00:40:14,890 「ああ、それは?さて、私のGPSの位置を教えていない。 " 570 00:40:14,890 --> 00:40:16,620 一つ一つの広告ライブラリはそれを行い、 571 00:40:16,620 --> 00:40:19,740 アプリは、GPSアクセス権がない場合 572 00:40:19,740 --> 00:40:23,460 それはそれを得ることができなくなりますが、それがない場合は、それを取得します。 573 00:40:23,460 --> 00:40:26,240 これは、広告ライブラリの場所のビジネスモデルである 574 00:40:26,240 --> 00:40:31,160 ユーザのプライバシーに対向している。 575 00:40:31,160 --> 00:40:34,980 そして、あなたは年齢を知っていれば言うだろうことをそこに研究が行われているの 576 00:40:34,980 --> 00:40:38,430 人のあなたがその場所を知っている 577 00:40:38,430 --> 00:40:42,530 あなたが彼らのGPS座標を持っているので、彼らは、夜寝る場所 578 00:40:42,530 --> 00:40:46,030 彼らはおそらく、寝ている間、あなたはその人が正確に誰が知っている 579 00:40:46,030 --> 00:40:50,230 あなたはその世帯のメンバーがその人であるかを決定することができるからです。 580 00:40:50,230 --> 00:40:54,780 本当にこれは、広告主に識別されている 581 00:40:54,780 --> 00:40:59,530 正確には、それが合法的だったように見えた人。 582 00:40:59,530 --> 00:41:02,800 私はちょうど私のストリーミング音楽をしたい、これはそれを得るための唯一の方法です。 583 00:41:02,800 --> 00:41:05,370 >>まあ、我々はこれを露呈した。 584 00:41:05,370 --> 00:41:08,030 我々は、いくつかのブログの記事でこれを書いている、 585 00:41:08,030 --> 00:41:13,280 それが判明し、そのローリング·ストーン誌の誰か 586 00:41:13,280 --> 00:41:18,810 私たちのブログの記事のいずれかを読んで、それについてローリングストーンで自分のブログを書きました、 587 00:41:18,810 --> 00:41:22,120 そして翌日Pandoraはそれは良いアイデアだと思った 588 00:41:22,120 --> 00:41:27,600 彼らのアプリケーションからの広告ライブラリを削除します。 589 00:41:27,600 --> 00:41:31,270 私の知る限りでは、彼らは、-彼らは賞賛されるべきだ。 590 00:41:31,270 --> 00:41:35,770 私は、彼らがこれを行っているアプリのみのフリーミアム型だと思う。 591 00:41:35,770 --> 00:41:38,660 他のすべてのフリーミアムのアプリは、これと同じ動作をし、 592 00:41:38,660 --> 00:41:41,780 だからあなたが与えているデータの種類について考えるようになってきました 593 00:41:41,780 --> 00:41:48,330 それはすべての広告主になるだろうので、これらのフリーミアムのアプリケーション。 594 00:41:48,330 --> 00:41:53,390 プレトリアンは、共有ライブラリについての研究を行なったし、言った、 595 00:41:53,390 --> 00:41:57,100 これは、データだった」のは、共有ライブラリが、一番上の共有ライブラリが何であるかを見てみましょう」。 596 00:41:57,100 --> 00:41:59,420 >>彼らは、53,000アプリを解析し、 597 00:41:59,420 --> 00:42:01,900 と数1の共有ライブラリがAdmob提供した。 598 00:42:01,900 --> 00:42:06,060 それは、そこにアプリケーションの38%で、実際にあった 599 00:42:06,060 --> 00:42:08,800 あなたが使用しているアプリケーションのため、38% 600 00:42:08,800 --> 00:42:11,250 おそらくあなたの個人情報を収集することしている 601 00:42:11,250 --> 00:42:16,650 と広告ネットワークに送信する。 602 00:42:16,650 --> 00:42:19,350 ApacheとAndroidは8%、6%であった、 603 00:42:19,350 --> 00:42:22,960 そして、これらの他のものダウンボトム、Googleの広告、フラリーで、 604 00:42:22,960 --> 00:42:26,600 暴徒市と千年のメディア、 605 00:42:26,600 --> 00:42:30,500 これらは、その後、興味深いことにすべての広告会社であり、 606 00:42:30,500 --> 00:42:33,500 Facebookのライブラリにリンクされた4% 607 00:42:33,500 --> 00:42:38,870 おそらくFacebookから認証を行うには 608 00:42:38,870 --> 00:42:40,810 そのアプリはFacebookを利用して認証を行うことができます。 609 00:42:40,810 --> 00:42:44,660 しかし、それはまた、Facebookはコードを制御法人を意味し、 610 00:42:44,660 --> 00:42:49,010 つまり、そこにAndroidのモバイルアプリの4パーセントに実行している 611 00:42:49,010 --> 00:42:53,490 そして彼らはそのアプリがで取得する権限があることを、すべてのデータにアクセスすることができます。 612 00:42:53,490 --> 00:42:57,170 Facebookは、基本的に広告スペースを販売しようとします。 613 00:42:57,170 --> 00:43:00,120 つまり、彼らのビジネスモデルだ。 614 00:43:00,120 --> 00:43:02,920 >>あなたは、これらの権限を持つ、この生態系全体を見ると 615 00:43:02,920 --> 00:43:07,740 あなたはそれを見始めると共有ライブラリ 616 00:43:07,740 --> 00:43:13,850 あなたはおそらく正規のアプリケーションで、リスクがたくさんある。 617 00:43:13,850 --> 00:43:19,360 パンドラで起こっ同じ同じようなこと 618 00:43:19,360 --> 00:43:22,340 パスと呼ばれるアプリケーションで起こった、 619 00:43:22,340 --> 00:43:27,660 pathは、彼らは親切でフレンドリーな開発者がいると思っていた。 620 00:43:27,660 --> 00:43:32,160 彼らはただあなたに優れたユーザー体験を提供しようとしていた、 621 00:43:32,160 --> 00:43:37,810 それが判明し、そのユーザーに促すかをユーザーに知らせることなく、何でも - 622 00:43:37,810 --> 00:43:40,400 これは、iPhone上とAndroidに起こった 623 00:43:40,400 --> 00:43:44,420 パンドラアプリは、iPhoneとAndroid、上にあっ​​た 624 00:43:44,420 --> 00:43:48,890 パスのアプリケーションは、アドレス帳全体をつかんでたこと 625 00:43:48,890 --> 00:43:52,830 そして、あなたがアプリケーションをインストールして実行したときだけパスにアップロード 626 00:43:52,830 --> 00:43:55,840 彼らはこのことについて教えてくれませんでした。 627 00:43:55,840 --> 00:43:58,750 彼らはそれがあなたのために本当に便利だと思った 628 00:43:58,750 --> 00:44:04,040 あなたのアドレス帳にあるすべての人々と共有できるように 629 00:44:04,040 --> 00:44:06,920 あなたはパスのアプリケーションを使用していること。 630 00:44:06,920 --> 00:44:09,490 >>まあ、明らかにパス、これは自分の会社のための素晴らしいと思った。 631 00:44:09,490 --> 00:44:13,510 ユーザーにそれほど大きくない。 632 00:44:13,510 --> 00:44:19,020 あなたは多分場合、それはティーンエイジャーの一つだと考えなければならない 633 00:44:19,020 --> 00:44:23,700 このアプリケーションを使用して、友人の彼らの数十がありますしているが、 634 00:44:23,700 --> 00:44:29,360 それはパスをインストールし、企業の最高経営責任者(CEO)だとしたらどう 635 00:44:29,360 --> 00:44:33,170 した後、突然彼らの全体のアドレス帳のすべてがそこにある? 636 00:44:33,170 --> 00:44:38,310 あなたが潜在的に価値のある連絡先情報の多くを取得するつもりだ 637 00:44:38,310 --> 00:44:40,920 多くの人々のために。 638 00:44:40,920 --> 00:44:44,500 ニューヨーク·タイムズ紙の記者は、電話番号を取得することができるかもしれません 639 00:44:44,500 --> 00:44:47,380 自分のアドレス帳からEX大統領のために、 640 00:44:47,380 --> 00:44:54,780 これは明らかに、機密情報の多くは、このようなもので転送されます。 641 00:44:54,780 --> 00:44:58,090 そのパスが謝罪し、これについてこのような大きなフラップがありました。 642 00:44:58,090 --> 00:45:01,610 彼らは、彼らのアプリケーションを変更し、と言っても、アップルに影響を与えた。 643 00:45:01,610 --> 00:45:06,950 Appleは我々ユーザーに要求するようにアプリケーションベンダーを強制するつもりだ」と述べた 644 00:45:06,950 --> 00:45:12,650 彼らは彼らの全体のアドレス帳を収集するつもりなら。 " 645 00:45:12,650 --> 00:45:15,360 >>それはここにある何が起きているかのように見えます 646 00:45:15,360 --> 00:45:19,430 そこに一つの大きなプライバシーの侵害です、それは、プレスを行うと 647 00:45:19,430 --> 00:45:21,680 我々はそこに変化を見る。 648 00:45:21,680 --> 00:45:23,230 しかし、もちろん、他のものはそこにあります。 649 00:45:23,230 --> 00:45:27,440 LinkedInのアプリケーションは、あなたのカレンダーエントリを収穫する、 650 00:45:27,440 --> 00:45:34,530 Appleは、ユーザーがそれについて求められることがありません。 651 00:45:34,530 --> 00:45:38,030 カレンダーエントリは、あまりにもその中に機密性の高い情報を持つことができます。 652 00:45:38,030 --> 00:45:40,000 どこで線を引くつもりですか? 653 00:45:40,000 --> 00:45:43,960 これは本当にちょっと進化場所です 654 00:45:43,960 --> 00:45:47,640 は良い標準はそこに実際にそこにいない場所 655 00:45:47,640 --> 00:45:51,990 自分の情報が危険にさらされてあることを行っているときに、ユーザーが理解するために 656 00:45:51,990 --> 00:45:57,820 彼らは知っているつもりだとき、それは取られています。 657 00:45:57,820 --> 00:46:03,040 我々は、アディオス呼ばVeracodeでアプリを書いた 658 00:46:03,040 --> 00:46:08,350 そして、基本的にそれはあなたのiTunesのディレクトリでアプリケーションを指すように許可 659 00:46:08,350 --> 00:46:12,550 そしてあなたの完全なアドレス帳を収穫されたすべてのアプリケーションを見てください。 660 00:46:12,550 --> 00:46:19,760 そして、あなたはここにこの一覧で見ることができるように、怒っている鳥、 661 00:46:19,760 --> 00:46:21,590 AIM、AroundMe。 662 00:46:21,590 --> 00:46:24,050 なぜ怒っている鳥は、あなたのアドレス帳が必要なのでしょうか? 663 00:46:24,050 --> 00:46:29,160 私は知らないが、それは何らかの形で行います。 664 00:46:29,160 --> 00:46:32,310 >>これは、多くの、多くのアプリケーションが行うものです。 665 00:46:32,310 --> 00:46:34,780 このためのコードを調べることができます。 666 00:46:34,780 --> 00:46:38,660 iPhone、AndroidとBlackBerryのための明確に定義されたAPIがあります 667 00:46:38,660 --> 00:46:42,120 アドレス帳で取得します。 668 00:46:42,120 --> 00:46:48,520 あなたは本当に簡単にこれを検査することができ、これは我々のアディオス·アプリケーションでやったことです。 669 00:46:48,520 --> 00:46:52,320 次のカテゴリ、安全でない機密データストレージ、 670 00:46:52,320 --> 00:46:55,670 開発者は、ピンまたは口座番号のようなものを取るものです 671 00:46:55,670 --> 00:46:58,530 またはパスワードとデバイス上で明確に保管してください。 672 00:46:58,530 --> 00:47:02,310 さらに悪いことに、彼らはそれが携帯電話上の領域に格納することが 673 00:47:02,310 --> 00:47:06,820 これは、SDカードのように、グローバルにアクセス可能です。 674 00:47:06,820 --> 00:47:11,320 AndroidはSDカードを可能にしているため、あなたは、Android上でより頻繁にこれを参照してください。 675 00:47:11,320 --> 00:47:13,200 IPhoneデバイスにはありません。 676 00:47:13,200 --> 00:47:17,900 しかし、私たちも、これはシティグループのアプリケーションで発生しました。 677 00:47:17,900 --> 00:47:25,450 安全でないアカウント番号を格納し、オンラインバンキングアプリケーション、 678 00:47:25,450 --> 00:47:28,120 ただ明確にあるので、あなたのデバイスを失った場合には、 679 00:47:28,120 --> 00:47:30,670 基本的に、あなたの銀行口座を失った。 680 00:47:30,670 --> 00:47:36,000 私は個人的に私のiPhone上で銀行をしないのはこのためです。 681 00:47:36,000 --> 00:47:43,710 私はそれがこのような活動を行うために、今あまりにも危険だと思います。 682 00:47:43,710 --> 00:47:45,950 >> Skypeは、同じことをした。 683 00:47:45,950 --> 00:47:49,870 Skypeは、もちろん、ユーザー名とパスワードをアカウント残高を有している 684 00:47:49,870 --> 00:47:51,030 そのバランスにアクセスすること。 685 00:47:51,030 --> 00:48:00,080 彼らは、モバイルデバイス上で明確にすべての情報を格納した。 686 00:48:00,080 --> 00:48:05,760 私は、ファイルを作成するここではいくつかの例があります 687 00:48:05,760 --> 00:48:10,310 つまり、適切なアクセス権を持っているか、ディスクへの書き込みはありません 688 00:48:10,310 --> 00:48:17,260 あらゆる暗号化は、そのために起こる持っていない。 689 00:48:17,260 --> 00:48:20,190 この次の領域、安全でない機密データ伝送、 690 00:48:20,190 --> 00:48:24,450 私はこれを数回言及した、とあるため、公共のWi-Fiをしました 691 00:48:24,450 --> 00:48:27,770 これは絶対に行う必要があるアプリの何かである、 692 00:48:27,770 --> 00:48:31,250 これは我々が最もうまくいか見るものと考えられます。 693 00:48:31,250 --> 00:48:34,920 私は言う、実際になり、私は、実際のデータを持っていると思う、 694 00:48:34,920 --> 00:48:38,120 それは半分のモバイルアプリケーションに近いです 695 00:48:38,120 --> 00:48:41,780 SSLをやって台無しに。 696 00:48:41,780 --> 00:48:43,910 彼らはただのAPIを正しく使用しないでください。 697 00:48:43,910 --> 00:48:47,970 私は意味、あなたがしなければ持っているすべてが、指示に従ってくださいとAPIを使用している 698 00:48:47,970 --> 00:48:54,720 しかし、彼らはのようなものは、もう一方の端の無効な証明書があるかどうかをチェックしない 699 00:48:54,720 --> 00:49:02,120 もう一方の端は、プロトコルダウングレード攻撃をしようとしているかどうかをチェックしない。 700 00:49:02,120 --> 00:49:07,200 >>開発者は、彼らは彼らのチェックボックスを取得したいですよね? 701 00:49:07,200 --> 00:49:11,910 彼らの要求は、販売するために、これを使用することです。彼らは販売するために、これを使用しました。 702 00:49:11,910 --> 00:49:14,800 要件は、安全に販売するためにこれを使用しない 703 00:49:14,800 --> 00:49:19,680 SSLを使用するすべてのアプリケーションは、データを保護するために、なぜので、これは 704 00:49:19,680 --> 00:49:23,470 それは、デバイスの電源を伝送されているとして、実際に検査する必要がある 705 00:49:23,470 --> 00:49:28,950 それが正しく実装されたことを確認する。 706 00:49:28,950 --> 00:49:32,850 そして、ここで私はあなたがアプリケーションを見ることができるいくつかの例があります 707 00:49:32,850 --> 00:49:37,400 HTTPではなくHTTPSを使用している可能性があります。 708 00:49:37,400 --> 00:49:40,510 場合によっては、アプリケーションは、HTTPにフォールバックします 709 00:49:40,510 --> 00:49:44,250 HTTPSは動作していない場合。 710 00:49:44,250 --> 00:49:49,070 私は、彼らが、証明書のチェックを無効にしたAndroid上で、ここで別のコールを持っている、 711 00:49:49,070 --> 00:49:51,700 そうman-in-the-middle攻撃が発生する可能性があります。 712 00:49:51,700 --> 00:49:56,370 無効な証明書が受け入れられます。 713 00:49:56,370 --> 00:50:01,920 これらは、攻撃者が乗ることができるようにしようとしているすべてのケースである 714 00:50:01,920 --> 00:50:07,150 すべてのデータのユーザーやアクセスと同じWi-Fi接続 715 00:50:07,150 --> 00:50:11,650 それは、インターネット経由で送信されています。 716 00:50:11,650 --> 00:50:15,970 >>そして最後に、私はここにある最後のカテゴリは、ハードコーディングされたパスワードとキーです。 717 00:50:15,970 --> 00:50:21,470 私たちは、実際に多くの開発者が同じコーディングスタイルを使用して参照してください。 718 00:50:21,470 --> 00:50:25,900 これらは、Webサーバーアプリケーションを構築したところ、彼らがしたこと、 719 00:50:25,900 --> 00:50:29,700 ので、Javaサーバアプリケーションを構築している、と彼らは鍵をハードコーディングしています。 720 00:50:29,700 --> 00:50:31,940 さて、あなたはサーバーアプリケーションを構築している際に、ええ、 721 00:50:31,940 --> 00:50:34,240 キーをハードコーディングすることはお勧めできません。 722 00:50:34,240 --> 00:50:36,290 それは困難で変化させることができる。 723 00:50:36,290 --> 00:50:40,700 誰がサーバ側へのアクセス権を持っているので、しかし、それはサーバ側で悪くありません? 724 00:50:40,700 --> 00:50:43,140 管理者だけです。 725 00:50:43,140 --> 00:50:48,100 しかし、あなたは同じコードを取り、あなたがモバイルアプリケーションにそれを注いている場合 726 00:50:48,100 --> 00:50:52,550 モバイルアプリケーションは、そのハードコーディングされたキーへのアクセス権を持っていることを持って、今誰もが、 727 00:50:52,550 --> 00:50:56,380 私たちは、実際に何度このロットを見て、私はいくつかの統計を持っている 728 00:50:56,380 --> 00:51:00,920 我々はこれが起こるを参照する頻度について。 729 00:51:00,920 --> 00:51:04,940 それは実際にマスターカードが公開サンプルコードにあった 730 00:51:04,940 --> 00:51:06,850 彼らのサービスを使用する方法について。 731 00:51:06,850 --> 00:51:11,860 サンプルコードでは、パスワードだけを取る方法を示しました 732 00:51:11,860 --> 00:51:14,850 そして右がハードコーディングされた文字列の中に入れ、 733 00:51:14,850 --> 00:51:19,380 そして我々は、開発者がコードスニペットをコピー&ペーストするのが大好き方法を知っている 734 00:51:19,380 --> 00:51:22,360 彼らは何かをやろうとしているので、あなたは、コードスニペットをコピーして貼り付ける 735 00:51:22,360 --> 00:51:28,450 これらはサンプルコードとして与え、あなたが安全でないアプリケーションがある。 736 00:51:28,450 --> 00:51:31,490 >>そしてここで我々はいくつかの例があります。 737 00:51:31,490 --> 00:51:35,840 この最初の1は、我々は、彼らがハードコーディングたくさん見る1です 738 00:51:35,840 --> 00:51:40,510 送信されるURLにデータ権利。 739 00:51:40,510 --> 00:51:45,120 時々、私たちは、文字列のパスワード=パスワードを参照してください。 740 00:51:45,120 --> 00:51:49,060 それを検出するのは非常に簡単です、またはBlackBerryとAndroid上で文字列のパスワード]。 741 00:51:49,060 --> 00:51:53,680 それがために、ほとんどの場合のためにチェックして、実際には非常に簡単です 742 00:51:53,680 --> 00:51:57,030 開発者の名前がパスワードを保持している変数 743 00:51:57,030 --> 00:52:02,290 パスワードのいくつかのバリエーション。 744 00:52:02,290 --> 00:52:05,200 私たちはVeracodeで静的解析を行うことを述べ、 745 00:52:05,200 --> 00:52:11,790 私たちは、数百AndroidとiOSのアプリケーションを分析しました。 746 00:52:11,790 --> 00:52:15,160 我々は彼らの完全なモデルを構築してきたが、我々はそれらをスキャンすることができるしている 747 00:52:15,160 --> 00:52:19,280 別の脆弱性が、私が話していた、特に脆弱性のために 748 00:52:19,280 --> 00:52:21,050 そして私はここでいくつかのデータを持っている。 749 00:52:21,050 --> 00:52:24,320 我々は見てのAndroidアプリの68.5% 750 00:52:24,320 --> 00:52:28,590 暗号コードが壊れていた、 751 00:52:28,590 --> 00:52:33,240 独自の暗号化ルーチンを行った場合、私たちのために、我々は検出できない、 752 00:52:33,240 --> 00:52:38,980 それは良いアイデアですが、これは実際には公開済みのAPIを使用していないことが 753 00:52:38,980 --> 00:52:42,530 プラットフォーム上にあるが、そのような方法でそれらをやって 754 00:52:42,530 --> 00:52:46,680 暗号は、68.5脆弱であろうと。 755 00:52:46,680 --> 00:52:49,870 そして、これは実際に私達に彼らのアプリケーションを送っている人々のためのものですので、 756 00:52:49,870 --> 00:52:53,730 彼らはそれがセキュリティテストを行うには良いアイディアだと思う。 757 00:52:53,730 --> 00:52:56,960 これらは、おそらくすでにしっかりと考えている人々である 758 00:52:56,960 --> 00:52:59,540 ので、それはおそらく悪いです。 759 00:52:59,540 --> 00:53:02,690 >>私は、コントロールラインフィード注入について話しませんでした。 760 00:53:02,690 --> 00:53:07,640 それは我々が何かをチェックだが、それは問題で、その危険なではありません。 761 00:53:07,640 --> 00:53:15,390 情報漏洩は、これは機密データがデバイスをオフに送信されている場所です。 762 00:53:15,390 --> 00:53:19,270 私たちは、アプリケーションの40%にそれを発見した。 763 00:53:19,270 --> 00:53:23,540 時間と状態が、それらは、一般的に、利用することは非常に厳しいレースコンディション型の問題である 764 00:53:23,540 --> 00:53:26,170 私はそのことについて話をしなかったが、我々はそれを見た。 765 00:53:26,170 --> 00:53:28,750 23%は、SQLインジェクションの問題があった。 766 00:53:28,750 --> 00:53:32,020 多くの人が知らないことを多くのアプリケーション 767 00:53:32,020 --> 00:53:35,880 データを保存するために、そのバックエンドで小さな小さなSQLデータベースを使用しています。 768 00:53:35,880 --> 00:53:40,430 さて、もしあなたがネットワーク経由でつかんだデータ 769 00:53:40,430 --> 00:53:43,800 その中にSQLインジェクション攻撃の文字列を持っている 770 00:53:43,800 --> 00:53:45,970 誰かがそれを介してデバイスを危険にさらすことができ、 771 00:53:45,970 --> 00:53:49,800 そして私は、我々は、Webアプリケーションの約40%がこの問題を抱えて見つけると思う 772 00:53:49,800 --> 00:53:52,840 その巨大な流行の問題です。 773 00:53:52,840 --> 00:53:55,740 私たちは、モバイルアプリ内での時間の23%を発見 774 00:53:55,740 --> 00:54:02,030 より多くのWebアプリケーションはモバイルよりもSQLを使用しているので、それはおそらく。 775 00:54:02,030 --> 00:54:05,580 >>そして、我々はまだいくつかのクロスサイトスクリプティング、許可の問題を参照してください。 776 00:54:05,580 --> 00:54:09,400 あなたは、ハードコードパスワードを取得している場所と、その後資格情報管理は、それはです。 777 00:54:09,400 --> 00:54:14,540 アプリケーションの5パーセントに我々はそれを参照してください。 778 00:54:14,540 --> 00:54:17,970 そして、我々をiOS上のいくつかのデータを持っている。 779 00:54:17,970 --> 00:54:20,180 81%は、エラー処理の問題を有していた。 780 00:54:20,180 --> 00:54:23,130 これは、コードの品質問題の詳細です、 781 00:54:23,130 --> 00:54:28,010 しかし、67%は、暗号化の問題があったので、Androidの場合ほど悪くない。 782 00:54:28,010 --> 00:54:32,440 多分APIはiOSでは、サンプルコードが少し良く少し容易になります。 783 00:54:32,440 --> 00:54:35,420 しかし、まだ非常に高い割合。 784 00:54:35,420 --> 00:54:39,040 私たちは、情報漏えいを54%持っていた、 785 00:54:39,040 --> 00:54:42,080 バッファ管理エラーの約30%。 786 00:54:42,080 --> 00:54:45,930 それは潜在的にメモリ破損の問題がある可能性の場所です。 787 00:54:45,930 --> 00:54:50,350 それはそれは搾取のための問題をできるだけ多くはないことが判明 788 00:54:50,350 --> 00:54:56,450 すべてのコードに署名する必要があるためiOSでは、 789 00:54:56,450 --> 00:55:02,210 ので、iOSの上で任意のコードを実行する攻撃者は難しい。 790 00:55:02,210 --> 00:55:07,880 コー​​ドの品質、ディレクトリトラバーサルが、ここでは14.6%で、その後の認証情報の管理、 791 00:55:07,880 --> 00:55:09,250 Android上でよりそう悪く。 792 00:55:09,250 --> 00:55:13,240 我々は、人々が正しくパスワードを処理していない持っている。 793 00:55:13,240 --> 00:55:15,790 して、数値のエラーとバッファオーバーフロー、 794 00:55:15,790 --> 00:55:22,680 それらはより多くのiOSでは、コードの品質上の問題であることを行っている。 795 00:55:22,680 --> 00:55:26,110 >>つまり、私のプレゼンテーションのためだった。我々は時間外かいないのであれば私は知らない。 796 00:55:26,110 --> 00:55:29,540 ご不明な点があるかどうかはわからない。 797 00:55:29,540 --> 00:55:33,220 [男性]断片化やAndroidマーケットの周りに簡単な質問を。 798 00:55:33,220 --> 00:55:36,240 Appleは、少なくともパッチ適用を所有しています。 799 00:55:36,240 --> 00:55:40,780 彼らは、Androidの空間でのに対して少ないので、そこにそれを得ることの良い仕事をする。 800 00:55:40,780 --> 00:55:44,280 あなたは、ほとんど現在の滞在するあなたの携帯電話を脱獄する必要があります 801 00:55:44,280 --> 00:55:46,660 Androidの現在のリリースで。 802 00:55:46,660 --> 00:55:50,960 あなたが約-思えばええ、それは大きな問題とそうだ 803 00:55:50,960 --> 00:55:52,280 [男性]なぜあなたはそれを繰り返すことができないのですか? 804 00:55:52,280 --> 00:55:55,610 >>右、ああ、そこで問題は、断片化の話って 805 00:55:55,610 --> 00:56:00,410 Androidプラットフォーム上のオペレーティングシステムの? 806 00:56:00,410 --> 00:56:05,890 どのようにそれは、それらのデバイスの危険性に影響しますか? 807 00:56:05,890 --> 00:56:09,700 何が起こるので、それは実際には大きな問題です 808 00:56:09,700 --> 00:56:15,110 古いデバイス、誰かがそのデバイスの脱獄を起動すると、 809 00:56:15,110 --> 00:56:19,960 本質的には、権限昇格だし、そのオペレーティングシステムが更新されるまで 810 00:56:19,960 --> 00:56:25,350 マルウェアは、その後、完全にデバイスを妥協するその脆弱性を使用することができます 811 00:56:25,350 --> 00:56:30,200 そして我々は、Android上で見ていると、新しいオペレーティングシステムを取得するためである 812 00:56:30,200 --> 00:56:34,690 Googleは、オペレーティングシステムを出していて、[ハードウェアの製造元 813 00:56:34,690 --> 00:56:39,390 それをカスタマイズすることがあり、その後、キャリアはそれをカスタマイズし、それを提供しなければならない。 814 00:56:39,390 --> 00:56:43,070 あなたは、基本的にこちら3可動部分を持っている 815 00:56:43,070 --> 00:56:47,210 それはキャリアが気にしないことを回すのは、 816 00:56:47,210 --> 00:56:50,400 およびハードウェアメーカーは気にしない、とGoogleは十分にそれらをつついていません 817 00:56:50,400 --> 00:56:54,430 そこに非常に本質的にデバイスの半分以上が、何もする 818 00:56:54,430 --> 00:57:00,590 それらの中にこれらの権限昇格の脆弱性を持っているオペレーティングシステムを持っている、 819 00:57:00,590 --> 00:57:08,440 あなたはあなたのAndroidデバイス上のマルウェアを取得する場合など、問題のはるかです。 820 00:57:08,440 --> 00:57:10,350 >>さて、どうもありがとうございました。 821 00:57:10,350 --> 00:57:12,310 [拍手] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]