Enviar búsqueda
Cargar
Drawing Dataflow On Dalvik Bytecodes
•
0 recomendaciones
•
485 vistas
Takahiro Yoshimura
Seguir
Dalvikバイトコードにおけるデータフロー自動解析ならびにtrueseeingについて (セキュリティうどん14杯目 Lighting Talk) #secudon
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 24
Descargar ahora
Descargar para leer sin conexión
Recomendados
JavaScriptとCollection
JavaScriptとCollection
Kazuhiro Karino
【Potatotips #30】RxJavaを活用する3つのユースケース
【Potatotips #30】RxJavaを活用する3つのユースケース
Hiroyuki Kusu
Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発
Nagato Kasaki
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
tom_konda
Drupal 8 における TypeScript を使用する JavaScript 開発の現状
Drupal 8 における TypeScript を使用する JavaScript 開発の現状
tom_konda
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)
信之 岩永
Plack::Request with Encoding
Plack::Request with Encoding
moznion
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
信之 岩永
Recomendados
JavaScriptとCollection
JavaScriptとCollection
Kazuhiro Karino
【Potatotips #30】RxJavaを活用する3つのユースケース
【Potatotips #30】RxJavaを活用する3つのユースケース
Hiroyuki Kusu
Pact言語によるセキュアなスマートコントラクト開発
Pact言語によるセキュアなスマートコントラクト開発
Nagato Kasaki
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
tom_konda
Drupal 8 における TypeScript を使用する JavaScript 開発の現状
Drupal 8 における TypeScript を使用する JavaScript 開発の現状
tom_konda
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)
信之 岩永
Plack::Request with Encoding
Plack::Request with Encoding
moznion
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
信之 岩永
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
CODE BLUE
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Takahiro Yoshimura
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Takahiro Yoshimura
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
Takuya Matsunaga
Programming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
Programming camp code reading
Programming camp code reading
Hiro Yoshioka
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
hiyohiyo
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
LineairDB: Fast and Embedded Transactional Key-Value Storage
LineairDB: Fast and Embedded Transactional Key-Value Storage
Sho Nakazono
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
Masamitsu Maehara
Gorinphp0729
Gorinphp0729
akitsukada
Gorinphp0729
Gorinphp0729
akitsukada
Road to success System.IO.Compression.ZipArchive Feedback
Road to success System.IO.Compression.ZipArchive Feedback
Kazushi Kamegawa
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
Hiro Yoshioka
安全なプログラムの作り方
安全なプログラムの作り方
Kazuhiro Nishiyama
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
jjugccc2018 app review postmortem
jjugccc2018 app review postmortem
tamtam180
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo
Looking Back 2023
Looking Back 2023
Takahiro Yoshimura
Fill In The Blank
Fill In The Blank
Takahiro Yoshimura
Más contenido relacionado
Similar a Drawing Dataflow On Dalvik Bytecodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
CODE BLUE
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Takahiro Yoshimura
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Takahiro Yoshimura
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
Takuya Matsunaga
Programming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
Programming camp code reading
Programming camp code reading
Hiro Yoshioka
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
hiyohiyo
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
Akira Shimosako
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
LineairDB: Fast and Embedded Transactional Key-Value Storage
LineairDB: Fast and Embedded Transactional Key-Value Storage
Sho Nakazono
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
Masamitsu Maehara
Gorinphp0729
Gorinphp0729
akitsukada
Gorinphp0729
Gorinphp0729
akitsukada
Road to success System.IO.Compression.ZipArchive Feedback
Road to success System.IO.Compression.ZipArchive Feedback
Kazushi Kamegawa
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
Hiro Yoshioka
安全なプログラムの作り方
安全なプログラムの作り方
Kazuhiro Nishiyama
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
jjugccc2018 app review postmortem
jjugccc2018 app review postmortem
tamtam180
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo
Similar a Drawing Dataflow On Dalvik Bytecodes
(20)
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Outsmarting Smartphone Apps 2
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
Programming camp 2008, Codereading
Programming camp 2008, Codereading
Programming camp code reading
Programming camp code reading
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
LineairDB: Fast and Embedded Transactional Key-Value Storage
LineairDB: Fast and Embedded Transactional Key-Value Storage
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
Gorinphp0729
Gorinphp0729
Gorinphp0729
Gorinphp0729
Road to success System.IO.Compression.ZipArchive Feedback
Road to success System.IO.Compression.ZipArchive Feedback
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
安全なプログラムの作り方
安全なプログラムの作り方
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
jjugccc2018 app review postmortem
jjugccc2018 app review postmortem
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Más de Takahiro Yoshimura
Looking Back 2023
Looking Back 2023
Takahiro Yoshimura
Fill In The Blank
Fill In The Blank
Takahiro Yoshimura
Ticket To The Dark World
Ticket To The Dark World
Takahiro Yoshimura
Looking back 2022
Looking back 2022
Takahiro Yoshimura
Hazy Datagrams
Hazy Datagrams
Takahiro Yoshimura
Wartime Pigeons
Wartime Pigeons
Takahiro Yoshimura
Securing Supply Chains
Securing Supply Chains
Takahiro Yoshimura
Looking Back: CIS on Managed K8S
Looking Back: CIS on Managed K8S
Takahiro Yoshimura
Beijing Report 2022
Beijing Report 2022
Takahiro Yoshimura
Asynchronicity
Asynchronicity
Takahiro Yoshimura
Outsmarting Smartphone Apps
Outsmarting Smartphone Apps
Takahiro Yoshimura
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Takahiro Yoshimura
10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)
Takahiro Yoshimura
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Takahiro Yoshimura
Android Wear: Good Parts
Android Wear: Good Parts
Takahiro Yoshimura
DEFCON21×S2 REPORT
DEFCON21×S2 REPORT
Takahiro Yoshimura
伝授の巻について #スクエアフリーセミナー #yochiand
伝授の巻について #スクエアフリーセミナー #yochiand
Takahiro Yoshimura
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
Takahiro Yoshimura
あげフォト開発ノート #antama_ws
あげフォト開発ノート #antama_ws
Takahiro Yoshimura
おいしいFragment #antama_ws
おいしいFragment #antama_ws
Takahiro Yoshimura
Más de Takahiro Yoshimura
(20)
Looking Back 2023
Looking Back 2023
Fill In The Blank
Fill In The Blank
Ticket To The Dark World
Ticket To The Dark World
Looking back 2022
Looking back 2022
Hazy Datagrams
Hazy Datagrams
Wartime Pigeons
Wartime Pigeons
Securing Supply Chains
Securing Supply Chains
Looking Back: CIS on Managed K8S
Looking Back: CIS on Managed K8S
Beijing Report 2022
Beijing Report 2022
Asynchronicity
Asynchronicity
Outsmarting Smartphone Apps
Outsmarting Smartphone Apps
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Go goes Mobile: Quick Exploration on Go 1.5 and Gomobile
Android Wear: Good Parts
Android Wear: Good Parts
DEFCON21×S2 REPORT
DEFCON21×S2 REPORT
伝授の巻について #スクエアフリーセミナー #yochiand
伝授の巻について #スクエアフリーセミナー #yochiand
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
あげフォト開発ノート #antama_ws
あげフォト開発ノート #antama_ws
おいしいFragment #antama_ws
おいしいFragment #antama_ws
Último
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Último
(10)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Drawing Dataflow On Dalvik Bytecodes
1.
DRAWING DATAFLOW ON DALVIK BYTECODES Takahiro Yoshimura (@alterakey)
2.
WHO I AM ➤
吉村 孝広 (@alterakey) ➤ 株式会社モノリスワークス CTO ➤ Keybase: https://keybase.io/alterakey ➤ 講演: DEF CON 25 Demo Labs CODE BLUE 2017 etc.
3.
WHAT I DO ➤
alterakey ➤ Security Researcher ➤ iOS/Android ➤ Network pentesting
4.
FINDING VULNERABILITIES ➤ 静的解析 ➤
対象のバイナリを解析して挙動を推定 ➤ データフローの解析が重要 ➤ 動的解析 ➤ 対象を実際に動作させて挙動を観測→触れない
5.
ANATOMY OF ANDROID
APPLICATIONS ➤ Binary XML: Android manifest, layouts, etc. ➤ Dalvik VM executable (DEX) ➤ Dalvik: Register-based virtual machine ➤ 16-bit opcodes, 65536 regs ➤ java classes are fused: 65536 methods max. ← multidex ➤ incompatible opcodes! (isomorphicではあるけど)
6.
REVERSING ANDROID APPLICATIONS ➤
Binary XML: apktool ➤ Dalvik VM executable (DEX) ➤ 逆アセンブル ➤ .dex→baksmali (apktool)→.smali ➤ 逆コンパイル: 一般的 ➤ .dex→dex2jar→.jar→JD-GUI, jad, et al.→.java .dex→dad→.java
7.
PROBLEMS ➤ 難読化 ➤ 手法として定着 ➤
逆コンパイラを妨害
8.
WHY IS DECOMPILING
HARD? ➤ 逆コンパイラの動作には何が必要なのか… ➤ 正確な逆アセンブル結果 ➤ ある種の共通コードパターン (e.g. function prologue/epilogue) ➤ 難読化ツールはこれらを妨害
9.
RELATED WORKS ➤ 複数の逆コンパイラを併用 (QARK
et al.) ➤ 速度の問題: さらに低下 ➤ 信頼性の問題 ➤ 実のところ、単なる併用では 答にならないと感じている…
10.
GO DIRECT ➤ Trueseeing ➤
機能 ➤ データフロー解析 ➤ 定数や型のゆるい推論 ➤ マニフェスト分析 ➤ 逆コンパイラを使用しない ➤ 速度向上 ➤ 頑健性向上 ➤ D8にも対応 ➤ PyPIからすぐに使える!
11.
DISASSEMBLING ➤ ツールチェイン ➤ apktool ➤
SQLite3 DB
12.
MARKING UP ➤ 解釈 ➤
通常指令 (op) ➤ メタ指令 ➤ .class / .method ➤ .implements / .super etc. ➤ アノテーション類 ➤ マーク ➤ メソッド ➤ クラス
13.
GO FASTER ➤ コードベースをマップする ➤
定数 ➤ 関数呼び出し ➤ sput (static put) ➤ iput (instance put) ➤ 名前類 (メソッド, クラス) ➤ クラス群の関係性 ➤ 今ごろなぜSQL? — 複雑なクエリを効率良く実行 ➤ DBに「考えさせる」設計
14.
DATAFLOW TRACING (1) ➤
Lenient Backtracking ➤ 「関心点」から引数まで ➤ 関心点が何らかの定数に帰 着させられないか追跡 (関心点を「解く」) ➤ 関心点の例 ➤ API呼び出しの引数 etc. ➤ レジスタの参照/書込を対応 ➤ move*, const*
15.
DATAFLOW TRACING (2) ➤
Call tracing ➤ 引数から呼び出し元へ ➤ Call stackの上位へ波及 ➤ p*=パラメータ ➤ 正しくない場合もある ➤ R8/Kotlinがp*を積極的 に再利用するなど
16.
DATAFLOW TRACING (3) ➤
Static trace ➤ sget/sputを対応 ➤ sputを解く
17.
DATAFLOW TRACING (4) ➤
Instansic trace ➤ iget/iputを対応 ➤ インスタンス同一性は現 在無視 (WIP) ➤ iputを解く
18.
VERSATILE ➤ OWASP Mobile
Top 10 (2016)の ほぼ全域をカバー ➤ M1: Improper Platform Usage ➤ M2: Insecure Data Storage ➤ M3: Insecure Communication ➤ M4: Insecure Authentication ➤ M5: Insufficient Cryptography ➤ M6: Insecure Authorization ➤ M7: Client Code Quality Issues ➤ M8: Code Tampering ➤ M9: Reverse Engineering ➤ M10: Extraneous Functionality
19.
INTUITIVE ➤ CVSS 3.0
Temporal ➤ 分かりやすく詳細なレポート ➤ HTML: 人間向け ➤ Text: CI向け ➤ Continuous security (継続的セキュリティ)
20.
BINARY PATCHING ➤ Removing
(in smali) ➤ insnの削除 ➤ DBのパッチ
21.
AS AN EXPLOITATION
TOOL ➤ Package grabber ➤ Package resigner ➤ デバッグ有効化 ➤ フルバックアップ有効化 ➤ TLS un-pinning (WIP) ➤ etc.
22.
FREE AS FREEDOM ➤
GPL-3 ➤ https://github.com/ monolithworks/trueseeing ➤ 永久に自由 ➤ 改修やシグニチャを今後拡充 ➤ 便利なだけでなく不可欠な存 在を目指して Freedom by Mochamad Arief on flickr, CC-BY-NC-ND 2.0
23.
QUESTIONS?
24.
FIN. 10.2.2018 Monolith Works
Inc.
Descargar ahora