SlideShare uma empresa Scribd logo
1 de 51
Android とセキュリティ ~ユーザーを脅威から守る~ 灘高等学校一年 セキュリティ&プログラミングキャンプ2010 ネットワークセキュリティ組 Mine (@mine_studio) すまべん関西& Android の会関西支部   共同開催イベント
自己紹介 ,[object Object],[object Object],[object Object],[object Object],旧ロゴ 実は家は名古屋だったりする・・・ 関西圏を中心にイベント等に顔を出してます。 でも・・・
やってること ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Android , Android 言ってるけど・・・・ Android 自体は 5 月下旬からなのでまだ初心者 じゃあ以前は何やってたの? Bash , Linux , C , PHP , C++ , Java , ActionScript , JavaScript , WindowsServer , XHTML , CSS ,  マイコン  ,  計算機科学  ,  ハードウェア ...............................etc
Agenda ,[object Object],[object Object],[object Object],[object Object]
セキュリティとは 安全 安全を維持する 脅威から守る
現実世界での脅威 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
それらの対応は・・・? 手段や原因、発生時期などの要素がわかった上でそれらに対する対応策を用意する。 つまり、予め防ぐという「 予防 」を行う。 例:盗難 侵入経路が分かっているからこそ、そこに防犯カメラをおいたり、警報をおいたりできる
情報技術でも同じ 情報技術でも例外なく、予め 攻撃者や侵入者の手口 を知らない限り、こちらは防御することが出来ない。 例 ネットワークからの侵入->ファイアーウォール メールによるウイルス拡散->メールスキャン
だけど実態は・・・・ 攻撃手段や侵入手段を知っている人はかなり少ない 知識だけで容易に攻撃・侵入を実行できてしまうため、ブラックな知識として認識されている。 理由は
これは危ない
だけどむやみに広められない 一部の人にしっかりとした情報モラルと共に教えなければならない セキュリティ&プログラミングキャンプ 国家事業としてセキュリティに関する正しい知識を持った、未来を担う技術者を育成する。 22 歳未満限定  書類選考
攻撃、侵入の例 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
攻撃手段が多すぎる! 普通に一つ一つ防ぐ方法では追いつかない 「ウイルス対策ソフト」として防御をパッケージ化 名前とは違いウイルス以外の攻撃・侵入にも対応 セキュリティの知識に乏しくても最低限のセキュリティ維持ができるようになった
ただし!
一般的に「ウイルス対策ソフト」と言われるものは誤検知をなくすために、ウイルスを取りこぼしやすい それは初心者向けである 誤検知とは 本来ウイルスではないものをウイルスと判定し、そのまま削除、隔離処理などを行ってしまうこと
結局、最後には技術を持った人間の力がないとセキュリティは維持できない 人間の力が必要
モバイルデバイスのセキュリティ
なぜか、モバイルデバイス、組み込みに 関するセキュリティが話題にならない
これまでのモバイルの世界 インターネット 携帯電話 ゲーム機 音楽プレーヤー 携帯電話事業者
今、これからのモバイルの世界 インターネット ガラケー ゲーム機 携帯電話事業者 スマートフォン プロバイダ 家庭向け 無線LAN 公共無線LAN 音楽プレーヤー
便利さの裏には ネットワークの複雑化 接続の多様化 侵入・攻撃ポイントの増加 セキュリティリスクの増大
特に家庭用無線 LAN に注意 携帯電話回線は携帯電話事業者により、 無線通信の暗号化や通信品質の保証などが あるが、家庭用無線 LAN は 未だ暗号化が施されていない、 容易に暗号解読が可能な WEP の使用が目立つ
でも、変わったのはこれだけではない
もう一度 Android や iPhone が革新的と思われる理由を 考えてみよう
世界共通の アプリケーションプラットフォーム
プラットフォーム統一 ガラケー DoJa or Star (DoCoMo) MIDP (Softbank) BREW or MIDP (au) 日本だけでもこんなにある それに、海外に携帯電話でアプリケーションという物がほとんど無かった スマートフォン Android (Google) iOS (Apple) ともに世界中で動いている
マルウェア等も同じ アプリケーションがいろんな場所で動くようになると同様、マルウェアなどの悪意のある プログラムもいろんな場所で動く Android や iPhone の普及は攻撃者に フィールドを与えることになる
では対策はしてるのか?
開発時のセキュリティの重要度が低く、 ウイルス対策などよりも新技術、新サービスの 開発にほとんどの力が注がれている。 おかげで、今の状況でウイルスが流行ると 対処できない そうとは言えない
ユーザー視点での脅威 ~ Android に潜む危険~
セキュリティを考える上で、ユーザーが 対処できるだろうという考えはタブー ユーザーは何も知らないと思え 極論を言えば・・・ ユーザーはセキュリティという言葉すら知らなくてもセキュリティが維持できるシステムを目指す
見えない脅威 脅威はユーザーから見えない 開発者は Android の裏を見ろ!
Android のアーキテクチャ
Android の Linux カーネルは・・・ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],そもそもカーネルレベルで危険です
OSS であることもリスク Android が OSS であるという点もひとつの リスクを生み出しているとも言える OSS であるならばそれの脆弱性を 修正していくシステムが必要だ
Android の許可情報 アプリケーションが取得する情報 (GPS による位置情報や Gmail アカウント名など ) をユーザーが確認し、それをユーザーが許可することで初めてアプリが情報を読める インストール時にしか聞かれないが、果たしてユーザーはその許可情報を把握してるのだろうか?
SQL インジェクション攻撃 Android アプリではデータを SQLite データベースとして格納することが多い。そして、これを他のアプリケーションからコンテントプロバイダーという形で利用することができる 他のアプリ コンテント プロバイダ アプリケーション データベース 不正な値 SQL 命令生成 インジェクション データの破壊、漏洩
Android はインターネット端末 Android はインターネットと通信できてなんぼ! だけど、当然通信するからにはセキュリティの問題も浮上 サーバー Android インターネット 実は簡単にデータを見ることが出来る 暗号化するのが基本
普通の対策 ウイルス対策ソフト セキュリティパッチ モバイルデバイスではスペック、電力不足のため、ウイルス対策ソフトを常駐させるのは困難 Android の場合、ベンダーにまかせっきりになり、なかなか迅速なパッチ適応が行われない
でもガラケーの世界では・・・・
McAfee 入ってます! ガラケーではすでに数年前からスキャンソフトを搭載しているものがある
スマートフォンでのセキュリティ スマートフォンでのセキュリティは かなり遅れている
開発者がユーザーを守る!
Android は何でもできるブラウザ、 つまり Web 専用端末 アプリが受け取るデータは誰が作ったかもわからない得体のしれないデータ 当然、 XSS や SQL インジェクション攻撃に相当する攻撃手段が行われる可能性がある。
しかし、限界がある 基本的に開発しているのはアプリケーション Android プラットフォーム自体の脆弱性に対する 対応は困難 ベンダーや Google の情報をリサーチして、対応
しかし、今後は・・・ 当然のごとく、 Android を搭載した機種が増えるため機種ごとの情報を集めるだけでも至難の業。ソースコードに情報を反映しようものなら、競合しまくって、本来の開発に支障が出る その対応に特化したビジネスが成立するかもしれない??
意外と対処法は少ない Android に様々な脆弱性があっても、 アプリ側での対処というのはなかなか難しい 多くの脅威は低レイヤーに存在しており、高レイヤーのアプリケーションでは手に負えない
まとめ
セキュリティというのは、本当に細々としていて、なんというのか「泥臭い」 おそらく、組み込みにも負けないぐらい セキュリティまとめ 流れ続けるパケットを監視したり、メモリのデータ追跡したり、ログを一個一個検証したり、たまには事故らせてみたり
ご静聴ありがとうございました

Mais conteúdo relacionado

Destaque

2013年度夏学期 東京大学情報シケプリ Part1: 概要
2013年度夏学期 東京大学情報シケプリ Part1: 概要2013年度夏学期 東京大学情報シケプリ Part1: 概要
2013年度夏学期 東京大学情報シケプリ Part1: 概要Takahashi Koki
 
MaruLaboの紹介
MaruLaboの紹介MaruLaboの紹介
MaruLaboの紹介Naoya Niwa
 
セキュリティ部、始動!
セキュリティ部、始動!セキュリティ部、始動!
セキュリティ部、始動!Naoya Niwa
 
LANケーブル工作実習
LANケーブル工作実習LANケーブル工作実習
LANケーブル工作実習Naoya Niwa
 
明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたら
明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたら明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたら
明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたらSKET
 
優れたデザインの 定義と思考方法
優れたデザインの 定義と思考方法優れたデザインの 定義と思考方法
優れたデザインの 定義と思考方法Junichi Izumi
 

Destaque (6)

2013年度夏学期 東京大学情報シケプリ Part1: 概要
2013年度夏学期 東京大学情報シケプリ Part1: 概要2013年度夏学期 東京大学情報シケプリ Part1: 概要
2013年度夏学期 東京大学情報シケプリ Part1: 概要
 
MaruLaboの紹介
MaruLaboの紹介MaruLaboの紹介
MaruLaboの紹介
 
セキュリティ部、始動!
セキュリティ部、始動!セキュリティ部、始動!
セキュリティ部、始動!
 
LANケーブル工作実習
LANケーブル工作実習LANケーブル工作実習
LANケーブル工作実習
 
明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたら
明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたら明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたら
明治維新の原動力、高杉晋作が奇兵隊の募集要項をパワポで作ってみたら
 
優れたデザインの 定義と思考方法
優れたデザインの 定義と思考方法優れたデザインの 定義と思考方法
優れたデザインの 定義と思考方法
 

Semelhante a Androidとセキュリティ ~ユーザーを脅威から守る~

第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会Shuichi Yukimoto
 
IoT in Smartphone Economy
IoT in Smartphone EconomyIoT in Smartphone Economy
IoT in Smartphone EconomyKyosuke Kawate
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料Monaca
 
Androidが変えたもの
Androidが変えたものAndroidが変えたもの
Androidが変えたものYuki Yamakido
 
Mebic Creative Business Forum 2013
Mebic Creative Business Forum 2013Mebic Creative Business Forum 2013
Mebic Creative Business Forum 2013Takashi EGAWA
 
Androidアプリ開発を楽にするために
Androidアプリ開発を楽にするためにAndroidアプリ開発を楽にするために
Androidアプリ開発を楽にするためにShuichi Takaya
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよYohei Oda
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3shimay
 
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~ ≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~ Brocade
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションKoji Shigemura
 
最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)嶋 是一 (Yoshikazu SHIMA)
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションYoshito Tabuchi
 
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からAndroidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からdemuyan
 
Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1shimay
 
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016Device WebAPI Consortium
 
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and GomobileGo goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and GomobileTakahiro Yoshimura
 
2014年メディア工房勉強会 第3章「Webアプリ制作」
2014年メディア工房勉強会 第3章「Webアプリ制作」2014年メディア工房勉強会 第3章「Webアプリ制作」
2014年メディア工房勉強会 第3章「Webアプリ制作」Takashi Endo
 

Semelhante a Androidとセキュリティ ~ユーザーを脅威から守る~ (20)

第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
 
IoT in Smartphone Economy
IoT in Smartphone EconomyIoT in Smartphone Economy
IoT in Smartphone Economy
 
Androidとは何か
Androidとは何かAndroidとは何か
Androidとは何か
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
 
Androidが変えたもの
Androidが変えたものAndroidが変えたもの
Androidが変えたもの
 
Mebic Creative Business Forum 2013
Mebic Creative Business Forum 2013Mebic Creative Business Forum 2013
Mebic Creative Business Forum 2013
 
Androidアプリ開発を楽にするために
Androidアプリ開発を楽にするためにAndroidアプリ開発を楽にするために
Androidアプリ開発を楽にするために
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3
 
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~ ≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)最新AndroidとIoTプラットフォームの今 (WJ2016)
最新AndroidとIoTプラットフォームの今 (WJ2016)
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
Androidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点からAndroidとは。ちょっと変った視点から
Androidとは。ちょっと変った視点から
 
Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1Android Abc2009 Fall Shima091130 1
Android Abc2009 Fall Shima091130 1
 
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
 
デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方
 
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and GomobileGo goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
 
2014年メディア工房勉強会 第3章「Webアプリ制作」
2014年メディア工房勉強会 第3章「Webアプリ制作」2014年メディア工房勉強会 第3章「Webアプリ制作」
2014年メディア工房勉強会 第3章「Webアプリ制作」
 
Oss on Azure, social mobile web
Oss on Azure, social mobile webOss on Azure, social mobile web
Oss on Azure, social mobile web
 

Último

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Último (12)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

Androidとセキュリティ ~ユーザーを脅威から守る~

Notas do Editor

  1. こんにちは、灘高等学校一年の Mine です。 TwitterID は mine_studio 、セキュリティ&プログラミングキャンプ 2010 、ネットワークセキュリティ組です。 これから Android とセキュリティ、ユーザーを脅威から守る、を始めさせていただきます よろしくお願いします
  2. 自己紹介 イベント参加するけど、実は名古屋 この灘校パソコン研究部には iPhone アプリで健康部門一位の「健康計算機」を作った後輩や、 Linux カーネルのバグ修正を行って、次のバージョンの Linux に取り込まれた後輩がいます。最近こういうイベントでもちょくちょく出ていて、 11 月の関西オープンソースではブースも出します。是非来て下さい。
  3. おそらく、僕の名前いってもやってることはわからないので、すこし紹介 いろいろやっておりますが、プログラミングでは Android アプリ開発、 Google App Engine 向けの開発、 LAMP 、 PHP と MySQL ベースのウェブアプリの開発、マイコンプログラミング、 3DCG シェーダープログラミングや Bash スクリプトでスクリプト書いたりしてます LAMP とかとかぶりますが、 CSS とかでの Web 製作もやっております。なお、僕は手書き命の人間です サーバー構築では Web やメールはもちろん、 Hyper-V 、 KVM などの仮想化、 LDAP やフェールオーバークラスタによる耐障害性の向上やファイルレプリケーションなどの構築を Linux 、 Windows を連携させて構築しております。 まあ、さりげなく動画制作をやってたりします。 この前の連休は徹夜で一本つくってました。 懇親会で見せます。
  4. Android Android 行ってるけど、まだ初心者 じゃあ以前は何を? まあ、ひたすら・・・・・ これまで、何かといろんなことに手を出してきた。
  5. では、いきなりですが Agenda ! セキュリティを考える 一見単純なセキュリティ。だけど、それは何かをもう一度考えなおしてみます モバイルデバイスのセキュリティ ここ数年で一気に変貌を遂げたモバイルデバイスの世界。だけどその裏腹では膨大なリスク、ある種の大きなセキュリティホールが広がり続けている。さて、その穴とはなんなのか ユーザー視点での脅威 何も知らないユーザーが Android を使用した際の脅威を考えてみます。 開発者がユーザーを守る! 開発者がどのようにユーザーの対する脅威を考慮していくかについて話します。
  6. それでは早速「セキュリティとは」なんなのでしょうか? セキュリティとは単純に言うと安全 よく言われる、セキュリティを維持、つまり安全を維持するとは脅威から守ること。 脅威と言ってもいろいろありますが、脅威が何かわからないと、脅威から守ることは出来ません。 では現実世界での脅威を見ていきましょう
  7. 列挙 このようなリスクが挙げられます
  8. では、それらの対応は? 予め手段などを把握した上で予防 例えば盗難 逆にこちらが予想してない方法で盗難を行われると確実な対処は困難です。
  9. それは情報技術でも同じです。 情報技術でも予め攻撃者や侵入者の手口を知らない限りこちらは対応策を考えることすら出来ません。 情報技術での防衛の例としては ネットワークからの侵入というものが分かっているから、ファイアーウォールで使っていないポートをシャットアウト、メールによってウイルスを拡散させるという手口が分かっているから、メールスキャンをウイルス対策ソフトに入れることができる。 このように手段を分かっていれば、それなりの対策をすることが出来ます。逆に分かっていなければ、なすすべなく攻撃や侵入を受けます。つまり、攻撃や侵入に対する知識がないと対処できないです
  10. だけど実態は・・・ 知ってる人は少ない 理由は危ない こういう技術は知識さえあればパソコンの前にいるだけでいたずらレベルで実行できてしまうため、インターネットで無闇やたらに広まると、インターネットが崩壊してしまう危険性がある。 かと言って現在逆に、ほとんどこういう知識を教えることはない。学校教育は当然、そういう講義を行う企業とかも基本的にない。 そうなると、それを悪用する人に対抗できるだけの技術者を維持できない
  11. かと言って、広められない だから、一部の人に それが僕と後輩が参加していたセキュリティ&プログラミングキャンプなのです。 説明 学生向けなので 22 歳未満で学校に在籍している必要があります。社会人になってしまうと参加できないですが、是非、このイベントを広めていきたい。 なお、このイベントには書類選考がありそれを突破できた人だけが参加できます。 諸費用はすべて国から出ます。 このように、国家レベルでセキュリティに取り組む必要があると思います。
  12. ここで、軽く攻撃、侵入の例を上げてみます。 列挙 クライアントで意外に怖いのが P2P ネットワークへの不正パケットです。僕の友達でもこの不正パケットに埋め込まれた不正なプログラムでパソコンにウイルスが入った人もいます。 サーバーとなると、 root 奪取とかバッファオーバーフローとかほとんどが恐怖ですね。
  13. 先程示したのはごく一部の攻撃方法。攻撃手段自体は数えきれないほど多いですし、日々新たな攻撃手段が生み出されています。 説明
  14. 説明 つまり、 OS のアップデートなどのシステムファイルがウイルスと判定されて、削除され、それでシステムが壊れる、ということを防ぐために、敷居を下げるのですが、代わりにウイルスを取り逃がしてしまうというリスクをおうのです。
  15. 最終的にはセキュリティの詳しい技術を持った人が監視を行わないとまともなセキュリティの維持というのは出来ない。
  16. では、次にモバイルデバイスのセキュリティに行きます。 少し前からモバイルデバイスが大きな変貌を遂げ、今では誰もが携帯電話などのモバイルデバイスを持ち歩く時代になりました。 どこからでもインターネットに接続できるようになり、どこにいても、最新の情報が入手できるようになりました。
  17. ところが、ここまでモバイルデバイスが普及しているのに、モバイルデバイスのセキュリティがあまり話題にならない。最近、 Android にウイルスが出たとか話題が出始めたぐらいで、 LAC や IPA もほとんど警告を出さない。 だが、それでも確実にモバイルデバイスの世界でもセキュリティリスクというものが存在し、それは今でも大きくなり続けている。
  18. まずはネットワークという観点から見ていきます。 これまでは、携帯電話が携帯電話事業者を通じてインターネットにつながっているぐらいで、ゲーム機や音楽プレイヤーがインターネットに繋がるということはなかった。 その携帯電話のインターネット接続も、ほとんどメールだけとかいうレベルだった。
  19. ところが、今、そしてコラからのモバイルの世界はゲーム機、音楽プレイヤーまで無線 LAN でインターネットに繋げるようになり、さらに、公衆無線 LAN というサービスが出てきた。そして、携帯電話もガラケーでは接続形態はこれまでと同じでも、ブラウザやアプリが充実して、インターネットの利用が増え、スマートフォンはすでにインターネット接続を基本として設計されている。 当然、それらは無線 LAN で各自宅からつなげたり、公衆無線 LAN から接続することも可能。 モバイルデバイスでのインターネット接続は一気に多様化した。
  20. 確かに接続の多様化で便利にはなったが、それにより、ネットワークの複雑化につながり、複雑になるため、侵入、攻撃ポイントが増加、最終的にはセキュリティリスクの増大へとつながる。
  21. 特に危険だと思われるのが家庭用無線 LAN 携帯電話回線の場合、 CMDA などの通信により暗号化や通信品質の保証などがあるが、家庭用無線LANは未だ暗号化されていない、もしくは容易に解読可能な WEP の使用をしているのが目立つ。 最近の無線 LAN アクセスポイントは無線のパワーが強いものが多く、意外と遠くまで届いている。そうなると、外部からその無線 LAN に不正アクセスして、そこから違法ダウンロードなどを行われると、その無線 LAN の所有者が逮捕されることになる。 接続ログがすべてとってあれば、弁明も可能だが、家庭用のではとってないため、そのまま社会的地位を失うことになりかねない。
  22. 読み上げ ネットワークの変化もあるが、他の部分でもセキュリティリスクの増大はある。
  23. では、もう一度 Android や iPhone が革新的と思われる理由を考えてみよう。それは
  24. 世界共通のアプリケーションプラットフォーム これは今のスマートフォン OS の最大の利点と共に欠点だと思う。
  25. ガラケーでは、日本だけでも DoCoMo の DoJa や Star 、 Softbank の MIDP 、 au の BREW や MIDP などの様々なプラットフォームがある。 ところが、スマートフォンの場合、 Android 、 iOS などの OS が世界中で動いている。つまり、ひとつ Android アプリや iOS アプリを作ればそれは世界中の Android 端末 、 iOS 端末で動作させることが可能なのだ。
  26. ですが、それはマルウェアなどにとっても同じです。 世界中で同一のプラットフォームが動いているということは、そのマルウェアを世界中に広められるということを意味します。 つまり、 Android や iPhone が普及していくということは、それらでの攻撃者へ便利なフィールドを与えることになります。
  27. では、対策はしているのか? プラットフォーム統一の恩恵を受けながら、脅威から逃れるには、当然ですが攻撃、侵入への対策を行う必要性があります。
  28. 残念ながらしっかりとした対策がなされているとは言えません。 読み上げ 今、モバイルデバイスでのセキュリティはとても疎かになっていると言える。便利さを増し、利益を得ることが優先され、セキュリティは金がかかる邪魔者扱いされているのが現状です。 ですが、今後、モバイルデバイスがさらに普及すると、セキュリティが騒がれるようになるでしょう。その時、いかにして先陣を切るか、それがキーになるのではないでしょうか?
  29. では、次にユーザーから見た脅威というのを考えていきましょう。 Android に限りませんが、スマートフォンのプラットフォームというのは、なんだかんだ言って巨大です。高機能を実現するための大量のライブラリが詰め込まれています。それらの全てに、セキュリティのリスクが存在します。ですが、ほとんどはユーザーから見ることが出来ません。見える部分が限られたユーザーを脅威から守るのは我々開発者の責務だと思います。
  30. そして、その責務を果たす前提にあるのは「ユーザーは何も知らない」と思うこと。確かに、知識のあるユーザーはいますが、そう言うことではなく、セキュリティということ自体が、ユーザーは何も知らないという前提で考えるものです。 極論を言えば、ユーザーはセキュリティという言葉すら知らなくても、セキュリティが維持できるシステム、というものを目指す、それがセキュリティだと思うのです。 ユーザーが何も知らずに使っていてもセキュリティが維持できる、実現するのは難しいですし、やり過ぎると、便利さを損ないます。ですが、やはり前提としてこれを掲げて行うものだと思います。
  31. そして、知識のあるユーザーでも、無いユーザーでも、基本的に脅威はユーザーからは見えません。 見る方法は分かっていても、いちいち使うたんびに見続けるなんてことはしません。 つまり、そこで動くプログラムを作る開発者がそれに考慮する必要があります。
  32. というわけで、早速 Android の裏を見てみましょう。 これが、 Android 開発ドキュメントにも書いてある、 Android のアーキテクチャです。 ご存知のかたも多いと思いますが、 Android は Linux ベースのプラットフォームです。 一般的に、 Android アプリ開発といった場合は一番上のアプリケーションレイヤーを作成することになります。そして、アプリケーションが下のライブラリ、カーネルなどを利用して動作することになります。 まずは、一番根幹となる Linux カーネルについて見ていきましょう。
  33. とある日の灘校パソコン研究部の部室での会話 読み上げ hiromu1996 は私の部の後輩で、セキュリティ&プログラミングキャンプで Linux 組に参加していました。 Linux 自体のバグで LocalHost に向けて UDP で接続する際に、メモリを不正に制御することができるという脆弱性があり、 2.6.29 では修正されていません。 最新のカーネルでは修正されていますが、いま日本で主流の Android1.6 では採用されていません。
  34. また、カーネルもそうですが、 OSS であるということ自体もリスクを生み出します 当然ですが、ソースコードが公開されているため、脆弱性もそこからわかります。いい人であれば、それの修正パッチをプロジェクトに送りますが、悪意のある人はその脆弱性を使って、システムを破壊しようとします。 脆弱性が見つかったのであればすぐに修正パッチを適応するべきです。
  35. Android にはアプリケーションがユーザーの居場所などに無断でアクセスできないように、アプリケーションが取得する GPS 位置情報や Gmail アカウント名などの情報をユーザーが確認し、それをユーザーが許可することで初めてアプリが情報を読めます。 ですが、この許可情報、アプリケーションをインストールするときにさりげなく聞かれるだけで、果たして、これをちゃんとユーザーが読んでいるかはいささか疑問です。 もしかすると、アプリ開発者はアプリの説明で位置情報公開の機能を説明したつもりが、ユーザーはそれを知らずに、いつの間にか位置情報が漏れている、と訴えられてしまうかもしれない。何らかの個人情報を使う場合は、それを使っていることがユーザーに一目でわかるインターフェースというのはとても大事。
  36. また、 Android では、アプリケーションの中のデータを他のアプリと共有する仕組みがあります。 Android アプリではデータを SQLite データベースとして格納することが多い。そして、それを他のアプリケーションからコンテントプロバイダーという形で提供できる。 他のアプリからコンテントプロバイダーに決まった形で要求を送ると、それを元にコンテントプロバイダーは SQL 命令を生成し、データを取得したり、更新したりします。 ですが、このコンテントプロバイダーに不正な値を入れて、 SQL 命令の生成のバグをつくと、データーベースの破壊や、盗み見ができるようになってしまいます。 ある程度は Android 側で対応してますが、万全とは言えません。コンテントプロバイダーはどんな入力があっても、的確にデータを操作できるように、注意しなければなりません。
  37. Android を使うということは、ある意味インターネットを使うと同義。 Android はインターネット通信ができてなんぼ!だけど、当然、通信するからにはセキュリティの問題が浮上します。 大抵の人は、インターネット通信は誰かに見られているなんて考えながら使いません。ですが、実はインターネットでの通信というのは簡単に見ることができます。 確かに、全体の通信量がものすごいことになっている現在、確率こそ低いものの、原理上見ることは可能。それは避けられないです。そのため、通信自体は見られてもデータは読めないように暗号化を施すというのが重要です。
  38. そして、これらの脅威に対する対策というのは、主に脅威が訪れたときに対応する、ウイルス対策ソフトと、脅威そのものを未然に防ぐセキュリティパッチという二つ方法があります。 ですが、どちらも壁があります。 ウイスル対策ソフトはシステムを常に監視するため、モバイルデバイスではスペック、電力不足のため、常駐させることが困難なのです。 また、セキュリティパッチは Android の場合、ベンダーに任せっぱなしになり、なかなか迅速なパッチ適応が行われません。実はこのパッチ適応の遅延というのは、 Linux 自体が、カーネルをまるごと入れ替えてパッチを適応するという形態というのにも問題があり、 Windows のように、更新パッチをインストールという形で行う事はできません。となると、システムまるごと入れ替えという、とても負荷の大きい方法での適応となり、なるべく避けたいです。
  39. ですが、実はガラケーの世界では・・
  40. McAfee 入ってます!実は DoCoMo とかは割りと前から各携帯電話に常駐スキャンソフト McAfee を入れてしまってます。と、実は常駐という表現は微妙で、 OS 自体がスキャンしていて、これで電池が大幅に減るというのはありません。 さりげなく、これってすごい技術じゃないのか?と思いながら、ぜひスマートフォンも見習って欲しい。
  41. スマートフォンでのセキュリティというのはかなり遅れているというのが現状ではないでしょうか。アプリの話題性や新機能が先行して、基本であるセキュリティというのが軽視されている。 これはいかがなものかと思う。ですが、いま、ここで猛威を振るっている Google や Apple もいずれはセキュリティという課題に直面すると思う。そうなったときに、セキュリティで出し抜くことが出来ればすでになんどもセキュリティと直面してきた Microsoft がスマートフォンでリードを取るかもしれないし、新しい会社がリードするかもしれない。 セキュリティという面でスマートフォン業界がどうなるかははっきりしないですが、ある意味時限爆弾を抱えているのは確か。 ですが、セキュリティの基礎というのは変わらない。セキュリティの能力というのは必ず、価値を持つ。
  42. では、最後の開発者がユーザーを守る! 実は、この部分、なかなかネタが無くて凄く短くなってしまいました。
  43. Android はおもいっきりよくまとめちゃうと、何でもできるブラウザ。つまりウェブ専用端末 しかし、ウェブというものは、アプリが受け取るデータの造主すらわからないという世界。 XSS 、クロスサイトスクリプティングや SQL インジェクションに相当する攻撃手法というのが成り立つ可能性がある。 XSS に相当する攻撃手法が、今の僕では思いつかないが、可能性としては大いにありうる。 当然、こういう攻撃というのはアプリケーション側で対処する事ができる。アプリの開発側として、常にどのような入力があっても、セキュリティが脅かされないようにする義務があると思う。
  44. ですが、アプリ開発者では限界があります。例に出した Linux カーネルのバグですとか、 Android プラットフォーム内でのバグなどによるリスクというのは我々アプリ開発者がどうこうできる問題ではなくなってきます。 ですが、それらの問題に対してのベンダーや Google の情報をリサーチして、対応していく必要はあります。
  45. しかし、それでも問題が。当然のごとく、今後 Android を搭載した機種は増え、メーカーも増える。ベンダーの情報を集めるだけでも至難の業。それをソースコードに反映しようものなら、競合しあって、本来の開発に影響が出てしまう。 ですが、もしかすると、そういう対策を行うということ自体がビジネスになりうるかもしれないです。 高校生の妄想ですので、あまりあてになりませんが
  46. 一言で言っちゃうと、対処法は少ないです。 Android 側に脆弱性があっても、アプリ側での対処というのはなかなか難しい。 理由は脅威というのは低レイヤーに存在しており、高レイヤーのアプリケーションでは手に負えないです。 つまり、逆にいうと、アプリケーション開発者であるかぎりはそこまで泥臭いしないことをしなくていいのですね。