SECURITY 575 | ||||||||||||||||||||||||||||||||
Mobile Device Security and Ethical Hacking |
||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||
受講に必要なPC環境
演習で使用するノートPCをご持参下さい。受講に必要なPC環境についてご確認ください。
SEC575 PC設定詳細
受講生は、本コースを通して演習に参加することになります。受講生は、下記の要件を満たすノートPCを持参する必要があります。
Windows
受講生はWindows 10、Windows 8.1またはWindows 7が搭載されたノートPCをご持参ください。Mac OS X及びLinuxをお使いの方は、仮想化されたWindowsでも問題ありません。
管理者アクセス権
本コースで使用する幾つかのツールでは、管理者権限での実行が求められます。受講生は、演習のために、Windows ホストへの管理者アクセス権(アンチウィルスやファイアウォールといったセキュリティソフトウェアをアンロードまたは無効化する権限が必須)が必要となります。さらに、システムの管理に必要なローカルパスワード(ローカル管理者アカウントのパスワード、システムBIOS設定の変更に必要なパスワードなど)を知っている必要があります。
VMware
受講生は仮想化されたLinux VMwareのゲストOSを幾つかの演習で使用します。VMware WorkstationまたはVMware Playerを推奨します。VMware Playerの使用は無料で、VMware のWebサイト(http://www.vmware.com/)からダウンロードできます。
なお、VirtualBox及び他の仮想化ツールはサポートされていません。
ノートPCの必須要件
本コースで使用するソフトウェアコンポーネントのいくつかは、ハードウェアに負担をかけるため、システムの日常的な使用に必要とされるものよりも多くのシステムリソースを必要とします。ノートPCが次のハードウェア要件を満たしていることを確認してください。
RAM:2GB以上、できれば4 GBを強くお勧めします
イーサネット(RJ45)ネットワークインタフェース:内蔵型またはUSBアダプタをご用意ください(準備できない場合には、演習ができません)。
HDD/SSD:30 GB以上の空き容量
最小画面解像度:1366x768より大きな画面解像度のものをご用意いただくことで、アプリケーションのスクロールを減らし、より快適に演習することが可能です。
本コースでは、多数のツールをインストールし、幾つかのシステム変更をします。何らかの変更による他のシステムソフトウェアへの障害が気になる方は、日常の作業で使用していないクリーンなシステムや、最小のシステム要件を満たす受講専用のWindows仮想マシンをご持参ください。ノートパソコンの仕様に関するその他のご質問は、laptop_prep@sans.orgまでお問い合わせください。
コース概要
攻撃の対象があらゆるユーザの手により、定期的に移動し、重要な機密データを保存し、また攻撃されやすい多くのワイヤレス技術を使用しているという状況で、組織内に広まることを想像してください。あなたは今それを持っています。モバイルデバイスです。今日のほとんどの組織では、最大の攻撃対象はモバイルデバイスですが、多くの組織では評価に必要なスキルを有していないことがよくあります。
Android Marshmallow、iOS 10、Apple Watch、Android Wearが対象
モバイルデバイスは、もはや便利な技術というだけではなく、世界中のユーザが携行したり、着用したりしなければならない重要なツールでもあり、これまでコンピュータが担っていた日々の企業データのニーズを満たすものに取って替わることさえあります。この傾向は、世界中の企業、病院、銀行、学校、小売店で見ることができます。ユーザがこれまで以上にモバイルデバイスに頼っていることを私たちは知っており、悪者もそのことに気付いています。
組織の中で最大の攻撃対象に対するペネトレーションテストの方法を学ぶ
本コースは、Apple iOS、Android並びにApple Watch、Android Wearなどのウェアラブルデバイスのセキュリティの長所や弱点を理解するために必要なスキルを提供することを目的としています。これらのスキルを使用して、組み込みアプリケーションやサードパーティー製アプリケーションのセキュリティの弱点を評価します。プラットフォームの暗号化を回避する方法や難読化技術を回避するためのAndroidアプリの操作方法を学びます。自動または手動のモバイルアプリケーション分析ツールを使用し、モバイルアプリネットワークのトラフィックやファイルシステムストレージ、アプリ間通信チャネルに弱点がないか割り出します。受講生は、安全にモバイルマルウェアのサンプルを使いながら、AndroidやiOS デバイスに影響を与えるデータ漏洩や不正アクセスについて理解し、紛失したデバイスや盗難されたデバイスを使用してモバイルアプリケーションの機密データを収集します。
モバイルアプリ、オペレーティングシステム及び関連するインフラストラクチャの評価を詳しく追求
モバイルデバイスに対する脆弱性と脅威を理解し解明することは価値のあるスキルですが、関連するリスクを理解する能力も同時に備えている必要があります。このコースを通して、主なステークスホルダーに対して脅威を効果的に伝える方法を見直します。Mobile App Report Cardsなどのツールを使い、マネジメントや意思決定者のために脅威を特徴付けるとともに、開発者が組織内のアプリケーションのリスクに対処するために使用できるサンプルコードやライブラリを特定します。
モバイルデバイスは攻撃を受ける恐れがあります‐組織に対する猛攻撃に備えよ!
新しいスキルを使用することにより、モバイルデバイスを導入する際のペネトレーションテストをステップバイステップで適用します。まず、ワイヤレスネットワークへ侵入し、中間者攻撃を行います。その後、モバイルデバイスをエクスプロイトし、データを搾取します。受講生は、実践的な演習や詳細な手順、数多くの成功したペネトレーションテストから得られたヒントを参考に、各ステップを検証します。これらのスキルを伸ばすことで、職場に戻った際には、自身でテストを行う準備が整っているか、何を探すべきか、委託しているペネトレーションテストをどのように見直すかといった点について十分に把握していることでしょう。
モバイルデバイスを導入することは、高度なマルウェアやデータ漏洩により、企業機密や知的財産、個人情報といった情報資産が攻撃者へ開示されるなど、組織に対して新たな脅威をもたらします。さらに複雑な問題としては、安全な携帯電話やタブレットが展開されていることを確認し、管理するためのセキュリティスキルを持った人材が単に不足していることです。受講生は、本コースを受講することにより、モバイルデバイスのセキュリティ評価、モバイルアプリケーション内の欠陥を効果的に評価・特定し、さらにモバイルデバイスへのペネトレーションテストが行えるようになっていることに気付くことでしょう。
コースメニューへ▲ ページトップへ▲
本講座受講にあたっての前提
受講生はSEC504やSEC560で学ぶネットワークペネトレーションテストの概念を熟知している必要があります。
コースメニューへ▲ ページトップへ▲
受講対象者
- ペネトレーションテスター
- エシカルハッカー
- 深い技術力を必要とする監査人
- 携帯電話やタブレットの評価、導入、セキュリティ確保を担当する担当者
- 携帯電話とタブレットをサポートするネットワークシステム管理者
コースメニューへ▲ ページトップへ▲
講義内容の一例
- モバイルバンキングのハイジャック:Evil Bank
- VMwareによるAndroidの仮想化
- Android Debug Bridge(ADB)によるAndroidへのアクセス
- Androidスワイプロックパターンの回復
- iPhoneファイルシステムのデータ分析
- モバイルデバイスのネットワークパケットキャプチャの評価
- Network Minerによるモバイルアプリケーション分析
- JD-GUIとJadxによるAndroidアプリのリバースエンジニアリング
- Androwarnによる自動化されたAndroidアプリ分析
- DrozerフレームワークによるAndroidインテントの操作
- ApktoolによるAndroidアプリケーションの変更
- WiFiモニタモードによるパケットキャプチャ分析
- プローブネットワークマッピングと脆弱性の発見
- WPA2-PSKパスフレーズの回復
- Satoriによるモバイルデバイスのフィンガープリンティング
- WordPressのサイドジャッキング
- Webブラウザアクティビティの操作
- MetasploitによるセッションハイジャックのためのAndroidと同一オリジンポリシーのバイパス
- モバイルアプリケーションのバンキングトランザクション操作
- Crazy Cars SQLインジェクション攻撃
いつの頃からか定かではありませんが、ラップトップやPCが、携帯電話やタブレットに取って代わられる過去の遺物になりつつあります。Windows、Mac、その他のUnixシステムのセキュリティ制御がより良くなっていると思った矢先に、同様のセキュリティ制御を持たない新種のデバイスが爆発的に増加し、私達が現在信頼している安全なネットワークに入って来ようとしています。
弱点があるといったところで、携帯電話は存在し続けますし、私達にはより一層のサポートが求められています。一部の組織では、携帯電話の使用に消極的ですが、そうした姿勢は結果的に問題の悪化を招くでしょう。なぜなら、私達がセキュリティの問題に目を背ければ、脅威は拡大し続け、制御や監視ができなくなるからです。
幸運なことに、私たちはポリシーや慎重なネットワーク展開、モニタリングを通じて、組織内の携帯電話とタブレットを安全に展開、管理、監視することが可能です。モバイルコードやエンドユーザーがアプリケーションストアから実行したいアプリケーションでのデータ漏洩リスクを分析するために、いくつかの不可欠なスキルを構築する必要があります。そして、私たちは倫理的に自分たちのネットワークをハックして、携帯電話の弱点がもたらす真の脅威を特定する必要があります。
人々が最も重要で、すぐに役立つトピックや概念に焦点を当て、これらすべての分野でのスキル向上の手助けのために、このコースを執筆しました。すべての組織には、携帯電話のセキュリティ分析と展開のスキルを持つアナリストが必要です。このコースを受講することで、あなたの組織内での価値がさらに高まるでしょう。そして、私たちはあなたをそこに到達させるためのマニアックな楽しみをたくさん持っています!
- Josh Wright
Device Architecture and Common Mobile Threats
デバイスアーキテクチャとモバイルに対する一般的な脅威
コースの最初のセクションでは、脆弱なモバイルバンキングアプリケーションからのネットワークトラフィックを評価するといった実践的な演習を通じて、モバイルバイスの展開に影響を与える重大な脅威について簡単に見ていきます。セキュアに展開する重要な要素として、Android(Android Marshmallowも含む)、Apple iOS 10、AppleWatch、Google Wearプラットフォームに関する構造と実装の相違点や類似点を確認します。また、一般的なプラットフォームの機能であるiBeacon、AirDrop、App Verificationなどの具体的な実装も確認します。ハンズオン演習では、インストール済みアプリケーションサービスとアプリケーションデータの低レイヤアクセスを含む、仮想環境で動作するモバイルデバイスとの対話を確認します。
Androidや非脱獄のiOSデバイスに影響を及ぼすモバイルマルウェアの分析を取り入れたモバイルデバイスアセスメントのためのラボ環境構築の一環として、モバイルデバイスの評価ツールを見ていきます。最後に、モバイルデバイスのロック画面を迂回する技術を含む、紛失や盗難されたデバイスの脅威(およびペネトレーションテストの機会)について学びます。
モバイルの問題と機会
- セキュアな携帯電話を導入するための課題と機会
- モバイルデバイスの弱点
- モバイルアプリの弱点の利用:銀行口座のハイジャック演習
モバイルデバイスのプラットフォーム分析
- iOSとAndroidの権限管理モデル
- Androidにおけるコード署名の弱点
- iOS上のアプリ間通信チャネル
- Androidアプリの実行: Android ランタイムとAndroid Dalvik仮想マシン
- Android Marshmallowのセキュリティメリット
ウェアラブルプラットフォーム
- Apple Watchにおけるアプリケーションの分離とデータ共有
- ネットワーク接続とAndroid Wearアプリ
- WatchOSにおけるデータの流出
- ウェアラブルデバイスの認証コントロールの弱点
- Android Wearとストレージ暗号化の不備
- その他のウェアラブルプラットフォームの評価:FitbitとTizen
モバイルデバイスの分析ツール
- iOS とAndroidエミュレータの使用
- Android Debug Bridge (ADB)を用いたAndroidモバイルアプリケーション分析
- ADBを用いたアプリケーションのアップロード、ダウンロード及びインストール
- iOS シミュレータによるアプリケーションテスト
モバイルデバイスマルウェアの脅威
- モバイルデバイスマルウェアの傾向と流行
- モバイルマルウェアのコマンド&コントロールアーキテクチャ
- Androidにおけるランサムウェアの脅威
- 非脱獄デバイスを狙ったiOSマルウェアの分析
- Androidマルウェアのハンズオンによる分析
- モバイルマルウェアの防御:何が機能し、何が機能しないのか
Mobile Platform Access and Application Analysis
モバイルプラットフォームへのアクセスとアプリケーション分析
脅威、アーキテクチャコンポーネントや望ましいセキュリティ方法を理解した後、受講生はサンドボックスやデータ分離モデル、モバイルアプリケーションの評価に焦点を絞り、iOSやAndroidのモバイルプラットフォームついて詳しく学びます。このセクションでは、AndroidデバイスやiOSデバイスのroot化や脱獄を利用し、ファイルシステムのアーティファクトを評価することにより、モバイルデバイスのデータやアプリケーションを分析するスキルを習得します。また、ネットワークキャプチャ分析ツールを使用して、脆弱なネットワークプロトコルが使用されていないか、ネットワーク上の機密データが漏洩していないかを確認するために、モバイルアプリケーションのセキュリティを評価します。最後に、逆コンパイラ、逆アセンブラ及び手動による分析技術を用いたiOSとAndroidアプリケーションのリバースエンジニアリングについて紹介します。
モバイルデバイスのロック解除・root化及び脱獄
- root化と脱獄の法的問題
- iOSの脱獄:Fuxi Qin
- アンロック状態のブートローダーを介したAndroidへのrootアクセス
- Androidに対するrootエクスプロイト
- Android Wearデバイスのデバッグとroot化
- root化デバイス、脱獄デバイスの効果的な使用:必須ツール!
携帯電話のデータストレージとファイルシステムアーキテクチャ
- モバイルデバイスに保存されたデータ
- モバイルデバイスのファイルシステム構造
- iOS及びAndroidのデータベースファイルからの機密データの抽出
- Androidバックアップデータからのデータ抽出
- ファイルシステムアーティファクトを利用したGPS座標以外の位置情報開示攻撃
- パスワード管理アプリに対する攻撃ハンズオン
ネットワーク活動の監視
- モバイルアプリケーションのネットワークキャプチャとデータ抽出
- iOS携帯電話/ 4Gネットワークトラフィックのキャプチャ
- データキャプチャのための透過ネットワークプロキシ
- 暗号化されたデータのキャプチャ操作
- ネットワークキャプチャからのファイルと機密コンテンツの抽出
- 一般的なクラウドストレージプロバイダからの機密データのリカバリ
静的アプリケーション分析
- リバースエンジニアリングによる分析のためのiOSアプリとAndroidアプリの取得
- Android Wearを含むAndroidアプリケーションの逆コンパイル
- Dumpdecrypted とRasticracを用いたiOSアプリの暗号化の回避
- ヘッダ分析とObjective-C のデバッグ
- iOSのデバッグの加速:Hopperと IDA Pro
- SwiftによるiOSアプリとリバースエンジニアリングツール
Mobile Application Reverse Engineering
モバイルアプリケーションのリバースエンジニアリンング
エンドポイントログの価値は、非常に有益な情報を提供し、攻撃検知を行う上で何物にも変えがたいほど重要なものです。しかしたった一台のデスクトップ端末でさえ日に10万件以上のイベントが発生するものです。これを実際の環境に当てはめた場合、組織がログ分析の業務負荷に圧倒されてしまうのもの無理はないはずです。
この章では、システムログを収集するうえでの方法と、その理由について解説します。数々のログ収集方法とツールは、ハンズオンによって経験値を上げることに役立つと共に、サーバやワークステーションから無限に生成されるデータを、ハンドリングとフィルタリングによってシンプルな形にすることができるようになります。
現代の攻撃ベクターを知ることは非常に重要なため、ワークステーションにおけるログ施策については特に深く解説していきます。何故なら、現代の攻撃はワークステーションから始まり、そこから拡散されていくと言われているからです。
演習
- エンドポイントログのフィルタリング
- Windowsイベントを使用した侵入の検知
- システムログを使用した内部ピボット活動の特定
- コマンドラインロギングを使用したエクスプロイトの痕跡検知
- ロングテール分析を適用したプログラムの異常使用の特定
- エンドポイントログ
- 値の理解
- 収集方法
- エージェント
- エージェントレス
- スクリプト
- ロギングの追加
- EMET
- Sysmon
- グループポリシー
- Windowsフィルタリングとチューニング
- 攻撃者パターン別クリティカル事象の分析
- エクスプロイト予兆の発見
- 内部偵察の予兆の発見
- 持続フェーズの発見
- 権限エスカレーション
- 足がかりの確立
- トラックのクリーンアップ
- ホストベースファイアウォールのログ
- 内部ピボッティングの検知
- 未認証実行ファイルの特定
- スキャン活動の閲覧
- 資格盗難と悪用
- 複数回の失敗ログイン
- 未認証アカウントの使用
- PowerShellのモニタリング
- PowerShellロギングの設定
- Identify obfuscation
- 現代的攻撃の特定
Penetration Testing Mobile Devices, Part 1
モバイルデバイスのペネトレーションテスト 第一部
セキュアなモバイルデバイスを導入するために不可欠な要素は、ペネトレーションテストを実施するか委託することです。倫理的ハッキングとペネトレーションテストを通じて、攻撃者の視点から、モバイルデバイスやインフラストラクチャを検証し、データやサポートネットワークへの不正アクセスを可能にする欠陥を特定します。これにより、実用的なリスク指標を用いて、携帯電話の導入が組織へ与えるリスクを評価することができます。受講生の役割がペネトレーションテストを行う役割であろうと、他人のペネトレーションテストを評価する立場であろうと、これらの技術を理解することは、脆弱性がインシデントになる前に特定し、解決するのに役立ちます。
モバイルデバイスのフィンガープリンティング
- パッシブ解析
- アクティブスキャン
- アプリケーション検査
無線ネットワークプローブのマッピング
- ネットワークプローブ活動の監視
- ネットワーク探索と検索の視覚化
- 無線に対する匿名攻撃
- iOS とAndroid の無線ネットワークスキャン特性の活用
脆弱な無線への攻撃
- 無線ネットワークのスキャンと評価
- 脆弱な無線インフラストラクチャの悪用
- モバイルデバイスのネットワークスキャンの監視
- Google WiFi、iPad、iPhoneのキャプティブポータル検知とエクスプロイト
- 安全なネットワーク偽装
エンタープライズ無線ネットワークセキュリティに対する攻撃
- 証明書偽装とモバイルデバイス
- エンタープライズ無線認証の操作
- RADIUSサーバに対する偽装攻撃
ネットワーク操作攻撃
- モバイルデバイスに対する中間者攻撃ツールの利用
- 中間者攻撃を悪用したパケットのスニッフィング、変更及び削除
- モバイルアプリケーションへのデータインジェクション攻撃
サイドジャッキング攻撃
- サイドジャッキングの脆弱性を有するモバイルアプリケーションの特定
- ペネトレーションテストにおけるサイドジャッキングの効果的な利用
- 一般的なモバイルアプリケーションを悪用するハンズオン演習
Penetration Testing Mobile Devices, Part 2
モバイルデバイスのペネトレーションテスト 第二部
倫理的ハッキングとペネトレーションテストの学習を続けながら、次はiOSとAndroidデバイスの弱点を利用することに焦点を当てます。また、プラットフォーム固有のアプリケーションの弱点についても調査し、モバイルアプリケーションを利用したWebフレームワークに対する攻撃も確認します。脆弱なモバイルアプリケーションとサポートバックエンドサーバの両方を利用し、終日にわたり、ハンズオン演習によりこれらの攻撃を学習します。
SSL / TLS攻撃
- 中間者攻撃によるHTTPSトランザクションのエクスプロイト
- 重要なペネトレーションテストの技術:パスワードを搾取するためのTLS偽装とiOS Mail.app
- 効果的なHTTP操作攻撃のための中間者攻撃ツールとBurp Suiteの統合
クライアントサイドインジェクション(CSI)攻撃
- Android Web ViewとJava Scriptインジェクションによるリモートコード実行
- MetasploitによるAndroidブラウザの脆弱性を利用したセッションCookieの搾取
- モバイルブラウザの脆弱性検出とエクスプロイト配信用としてのSpec.jsライブラリの使用
Webフレームワーク攻撃
- サイト偽装攻撃
- アプリケーションのクロスサイトスクリプティング
- リモートブラウザの操作と制御
- データ漏洩の検出と分析
- ハンズオン攻撃:モバイルバンキングアプリケーションのトランザクション操作
バックエンドアプリケーションサポートへの攻撃
- モバイルアプリケーションフレームワークでのSQLインジェクション
- クライエントサイドへのインジェクション攻撃
- モバイルアプリケーションのサーバーリソースへのエンドツーエンド制御の取得
Capture the Flag
キャプチャー・ザ・フラッグ
最終日は、今週取り上げたすべてのコンセプトと技術を駆使して、受講生はCapture the Flagに参加します。このハンズオン演習では、受講生は複数の役割を選択することができます。例えば、携帯電話の導入のための安全なインフラストラクチャの設計者、モバイルデバイスに対する攻撃を特定するためのネットワークアクティビティの監視者、危険にさらされたiPadから機密データを抽出する担当者、及び携帯電話と関連するネットワークインフラストラクチャコンポーネントに対する攻撃者などです。
このイベントでは、システムを評価し、攻撃者に対する防御のために学んできたスキルを実践し、現実的な環境をシミュレートすることで、オフィスに戻ったときに守る準備ができます。