SlideShare a Scribd company logo
1 of 37
Download to read offline
型破りな利用法をエクスプロイットする美学
- Androidカーネル内のUse-after-freeバグ
Di Shen a.k.a. Retme (@returnsme)
Keen Lab of Tencent
自己紹介
•  Di Shen a.k.a. Retme (@returnsme)
•  Keen Labのメンバー
•  2014年よりAndroidカーネルの脆弱性ハンティングと攻撃を行っている
•  Androidの普遍的なroot取得攻撃を成功させることを目指している
•  トロフィー(実績):
•  CVE-2016-6787 & CVE-2017-0403 (kernel/events/core.c)
•  CVE-2015-1805 (fs/pipe.c) の最初の実際に動く攻撃コード
•  CVE-2015-4421,4422 (Huawei TrustZone)
•  サムスン Galaxy S7 のKNOXバイパス (Black Hat USA 2017)
•  すべての一般的チップセットのワイヤレス拡張部分を攻撃 (Black Hat EU
2016)
•  さらに多くをアナウンスする予定
•  https://github.com/retme7/My-Slides にて公開
アジェンダ
•  Androidのrootを奪う:現在の状況
•  カーネルでのUse-After-Free攻撃の概要
•  一般的なアプローチ
•  その後:rootを奪う
•  型破りなUse-After-Free攻撃
•  perfシステムの実装
•  CVE-2017-0403を活用
•  CVE-2016-6787を活用
•  結論
Androidのrootを奪う:現在の状況
• 普遍的に攻撃可能な脆弱性は非常に少ない
•  攻撃可能な側面:
•  Linuxの一般的なシステムコール
•  Binder, ION, AshmemなどのAndroidユニバーサル ドライバ
Androidのrootを奪う:現在の状況
• SELinux ポリシーの実行
•  ほとんどのデバイスドライバにアクセスできない
•  多くのシステムコールは信頼できないアプリケーションから
アクセスできない
•  ソケットのioctlコマンドは部分的にしか実行できないように
制限されている
Androidのrootを奪う:現在の状況
•  dm-verityカーネル機能による検証済みのブート
•  獲得されたルート権限は非永続的
Androidのrootを奪う:これからの挑戦
•  Privileged Access Never (PAN)
•  KASLR
•  ポインタ認証
カーネルにおけるUse-After-Free攻撃
•  簡単に悪用可能なUse-After-Freeバグには、通常、次のような
特徴がある:
•  解放されたオブジェクトに関数ポインタがある
•  攻撃者には解放されたオブジェクトに何かを追加するのに十分な時間
が有る
一般的なUse-After-Free攻撃のアプローチ
struct	socket		
(freed)	
ops->ioctl(…)
The image cannot be displayed. Your computer may not have enough
memory to open the image, or the image may have been corrupted.
Restart your computer, and then open the file again. If the red x still
appears, you may have to delete the image and then insert it again.
struct	socket		
(refilled)	
ops->ioctl(…)
JOP	ガジェット
•  攻撃目標のオブジェクトを開放する
•  解放されたオブジェクトにヒープ・スプレーもしくは
ret2dir による不正な形式のデータを書き込む
•  関数ポインタにカーネル内のROP/JOPガジェットを指し示
させる
•  任意のカーネルコードを実行させるため、カーネルにこの関
数ポインタを参照させる
ioctl(sockfd,…) kernel_sock_ioctl() JOP	ガジェット
その後、コード実行からルートへ
任意のカーネルコード実行
プロセスの
addr_limitを
上書き
任意のカーネルメ
モリの上書き
Uid,	security	id,	
selinux_enforcing
を上書き
しかしながら…
•  カーネルのすべてのUse-After-Freeバグが理想的なものではない
•  扱いにくい状況が多い…
•  攻撃対象のオブジェクトには関数ポインタが無いかもしれない
•  Use-After-Freeを行った直後にカーネルがクラッシュするかもしれない
•  攻撃者は書き込みを行ったオブジェクトを完全にコントロールできないか
もしれない
私が見つけた型破りなUse-After-Free
•  すべては sys_perf_event_open() にて見つかった
•  Perf システムに多くのバグがある
•  昨年時点でアプリケーションによってアクセス可能
•  しかし、今は、“perf_event_paranoid”という名の機能で制限がか
かっている
私が見つけた型破りなUse-After-Free
•  CVE-2017-0403
•  Ever affected all devices shipped with 3.10 or earlier Linux kernel 3.10また
はそれ以前のLinuxカーネルとともに出荷されたすべてのデバイスに影響
•  KingRootの1400万人以上のユーザーがスマートフォンでroot権限を取得
•  CVE-2016-6787
•  Qualcommベースのすべてのデバイスに影響する (Qucalcomm enabled ハード
ウェア perf エベントを有効化したQualcommのみ…)
•  サムスンKNOX 2.6をバイパスする一連の攻撃の一部
sys_perf_event_open()
•  perf_event を作成
•  入力:perf_event_attr
•  必要なパフォーマンスイベントの種類を記述
•  入力: group_fd (optional)
•  新しいperf_eventのグループリーダーを指定
•  perf_eventのfdをユーザ空間に返す
perfシステムの重要なカーネルオブジェクト
•  perf_event
•  ユーザーが登録したパフォーマンスイベント
•  perf_event_context
•  1つのプロセスで作成されたすべてのperfイベントのコンテナ
•  各プロセスには、ソフトウェアイベント用とハードウェアイベント用
•  の2つのコンテキストが有る
•  Perfグループとグループリーダー
•  複数のイベントでグループを構成できる
•  1つのイベントがリーダー
perf_sw_context
perf_hw_context
task_struct
event event event
event_list
event	(group_leader)
event	(group_leader)
move_group
•  ユーザーがソフトウェアグループにハードウェアイベントを作
成しようとしたときに発生
CVE-2016-6787
元のソフトウェアコンテキストからgroup_leaderを削除し、
ハードウェアコンテキストにインストール
ソフトウェアのコンテキストからすべてのイベントを削除し、
新しいハードウェアコンテキストにインストール
‘move_group’はコンテキストの
refcontを1つ減らす
CVE-2016-6787
•  move_groupは並行性の問題を無視
•  Use-After-Freeは競合状態のために発生
•  攻撃者はmove_groupを同じグループリーダーで同時にトリガし、
•  group_leader-> ctxのrefカウントは0に減らすことができる
•  ttask_struct-> perf_event_ctxp [perf_sw_context]が誤って解放され
る
オブジェクトが解放される
解放された perf_event_context (PoC)
ソフトウェア
group_leader	
を作成
ハードウェア
perf_event	
を作成
ハードウェア
perf_event	
を作成
メインスレッド サブスレッド-1 サブスレッド-2
move_group,	
put_ctx()	
move_group,	
put_ctx()	
kfree_rcu(perf_event_context)
ctx->refcount = 1
ctx->refcount = 2
ctx->refcount = 0
カーネルが直ちにクラッシュした
•  perf_event_contextを解放した
直後にカーネルがクラッシュ
•  スレッドスケジューラはこのオブ
ジェクトを連続して参照する必要
がある
•  オブジェクトに書き込みを行う
時間が無い L
解決策:解放後にスレッドをフリーズする
•  スレッドスケジューラを遠ざける
•  攻撃者のスレッドの状態を実行中から割り込み
(不)可能に切り替える
•  The thread will be frozen and kernel won’t
crash as soon as perf_event_context freed
•  スレッドはフリーズされperf_event_contextが
解放された直後にもカーネルはクラッシュしない
ユーザ空間からスレッドをフリーズするには?
•  Sleep() ? 動いていない
•  Use futex_wait_queue_me()
割り込み可能に切り替える
freezable_schedule()
ソフトウェア
group_leaderを
作成
ハードウェア	
perf_event を作成
ハードウェア	
perf_eventを作成
メインスレッド サブスレッド-1 サブスレッド-2
move_group,	
put_ctx()	
move_group,	
put_ctx()	
kfree_rcu(perf_event_context)
futext_wait_queue_me()
フェーズ
1
フェーズ
2
‘ret2dir’トリックを使用してヒープをスプ
レーし、不正な形式の
perf_event_context	{}を1024バイトごとに
書き込み
futex_wake()を使ってメイン
スレッドを起動	
フェーズ
4
schedule()
finish_task_switch()
perf_event_context_sched_in()
ctx->pmu->pmu_disable()
フェーズ
3
CVE-2016-6787の簡単な要約
•  容易に競合に「勝つ」ことができ、バグを引き起こせる
•  解放されたオブジェクトに書き込むのが困難(時間が無い)
•  コードフローを簡単に制御できる (破損したオブジェクトには
関数ポインタがある)
•  スレッドをフリーズすることで、オブジェクトに書き込む時間
を増やす方法を提案
レビュー:perfイベント、グループとグループリーダーの関係
•  グループリーダーは sibling_list を持っている
•  sibling_list はグループに属しているperfイベントのリスト
perf_sw_context
perf_hw_context
task_struct
event event event
event_list
event	(group_leader)
event	(group_leader)
CVE-2017-0403 (PoC)
•  perfイベントを 'A'として作成
•  別のperfイベントを 'B'として作成し、グループリーダーとし
て 'A'を指定
•  グループリーダー ‘A’ を解放	
•  グループのsibling ‘B’ を解放 ß---- Use-after-free が
根本的な原因
•  グループリーダー‘A’ が解放された	
•  カーネルはその sibling list を空にしない
•  結果としてsibling’s event->group_entry
にぶら下がっているポインタを残してしまう
根本的な原因
•  その後 sibling ‘B’ が解放される
•  list_del_event()
•  list_del_init(&event->group_entry);
•  解放されたグループリーダーへのポインタを
上書き
•  SLUB ポイズン情報
•  0xfffffc00fc2b1a0 が
(group_leader+ 0x20) に上書きされる
型破りなシナリオ
•  私ができる唯一のことは、解放されたオブジェクトを次のように
上書きすること
*(size_t*)(freed_object + 0x20) = (freed_object + 0x20)
Linuxのパイプサブシステム
•  readv() と writev() :パイプを通して複数のバッファを読み書き
•  ユーザバッファを記述するためにstruct iovec{iov_base,iov_len}
の配列を使用
•  書き込み側で利用可能なコンテンツがない場合、readv() はカーネ
ル内でブロックされることがある
•  そして、struct iovec {}の配列はカーネルのヒープに滞留するかも
しれない
パイプシステムを攻撃
•  readv() を呼び出す。
•  rw_copy_check_uvector() はすべての iov_base がユーザ空間を指し
ていることを確認。
•  struct iovec{} の配列がヒープに加わった。パイプの書き込み終了から
何も来ないので、readv() はブロックする。
•  もし iovec{} を上書きできるなら、 iov_baseカーネルアドレスに
変更。。。
iov_base iov_len iov_base iov_len iov_base iov_len
…..
kernel_addr iov_len kernel_addr iov_len kernel_addr iov_len
パイプシステムを攻撃
•  パイプのもう一方の端に何かを
書込む
•  pipe_iov_copy_to_user() は
iov_base を再チェックしない
•  パイプに書かれたバッファは
カーネルアドレス にコピーさ
れる
········
Use-After-Freeを引き起こす、 2つの“A+0x20”の8バイト値を A+0x20のアドレスに書き込む
↓ 最初に解放されたオブジェクト, アドレスはA
解決策: Use-After-Freeを任意の読み書きに変換
↓ 2番目に解放されたオブジェクト,
アドレスは B = A + 0x400
iovec をヒープスプレーに使用
Freed Data Freed Data Freed Freed Data Freed Data ·········
base len base len base base len base len ···················
base len A	+	0x20 A+0x20 base
··········
base len base len
バッファをパイプに書き込む、バッファは(A + 0x20) にコピーされる
·········
base len KADDR 8 KADDR ·········· KADDR 8 KADDR 8 ·········
バッファをパイプにもう一度コピーする,そうすると KADDR にコピーされる
KADDR はどんなアドレス値をも取り得る、つまり、任意のカーネルメモリ上書きを達成
1
2
3
4
5
CVE-2017-0403の簡単な要約
•  攻撃者は解放されたオブジェクトのファイル記述子を失う
•  オブジェクトの関数ポインタに書き込んでコードを実行するこ
とはできない
•  解放されたオブジェクトのアドレス値は2回だけ解放されたオ
ブジェクトに書き込むことができる
•  新しい方法を提案した:パイプシステムへの攻撃
結論
•  ほとんどのUse-After-Freeバグは攻撃できないように見えるが、
他の方法があるかもしれない
•  分からない? しばらく置いておこう、しかし、見捨てないで…
•  カーネルコードに詳しくなろう, カーネルの独自機能が攻撃に
役立つかもしれない (例: CVE-2017-0403でのパイプ)
Di shen pacsec_jp-final

More Related Content

What's hot

[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes CODE BLUE
 
How to apt-get from the internal network: remote sshd with kneesocks
How to apt-get from the internal network: remote sshd with kneesocksHow to apt-get from the internal network: remote sshd with kneesocks
How to apt-get from the internal network: remote sshd with kneesocksinaz2
 
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢CODE BLUE
 
[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin Long
[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin Long[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin Long
[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin LongCODE BLUE
 
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライドMBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライドYoshinori Hayashi
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Yurika Kakiuchi
 
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンクCODE BLUE
 
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMAppearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMFFRI, Inc.
 
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介Kentaro Mitsuyasu
 
Android デバッグ小ネタ
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタl_b__
 
実際に流れているデータを見てみよう
実際に流れているデータを見てみよう実際に流れているデータを見てみよう
実際に流れているデータを見てみよう彰 村地
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなしMITSUNARI Shigeo
 
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたAkira Iwamoto
 
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~Sniffing BitTorrent DHT ~人はBTで何を落とすのか~
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~inaz2
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたnpsg
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgKentaro Ebisawa
 
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdbakirahiguchi
 

What's hot (20)

[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
 
How to apt-get from the internal network: remote sshd with kneesocks
How to apt-get from the internal network: remote sshd with kneesocksHow to apt-get from the internal network: remote sshd with kneesocks
How to apt-get from the internal network: remote sshd with kneesocks
 
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by  丹田 賢
インサイドShell:.NETハッキング技術を応用したPowerShell可視性の向上 by 丹田 賢
 
社内勉強会 20120518
社内勉強会 20120518社内勉強会 20120518
社内勉強会 20120518
 
[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin Long
[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin Long[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin Long
[CB16] マイクロソフトウィンドウズカーネルのデスノート by Peter Hlavaty & Jin Long
 
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライドMBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク
大義のために:趣味と実益のためのVMware RPCインターフェースの活用 by アブドゥル・アジズ・ハリリ, ジャシエル・スペルマン, ブライアン・ゴーレンク
 
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARMAppearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
Appearances are deceiving: Novel offensive techniques in Windows 10/11 on ARM
 
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介
 
Free bsd jail入門
Free bsd jail入門Free bsd jail入門
Free bsd jail入門
 
Android デバッグ小ネタ
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタ
 
実際に流れているデータを見てみよう
実際に流れているデータを見てみよう実際に流れているデータを見てみよう
実際に流れているデータを見てみよう
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
 
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~Sniffing BitTorrent DHT ~人はBTで何を落とすのか~
Sniffing BitTorrent DHT ~人はBTで何を落とすのか~
 
Dockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみたDockerと外部ルータを連携させる仕組みを作ってみた
Dockerと外部ルータを連携させる仕組みを作ってみた
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
plotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfgplotnetcfg入門 | Introduction to plotnetcfg
plotnetcfg入門 | Introduction to plotnetcfg
 
How to debug a perl script using gdb
How to debug a perl script using gdbHow to debug a perl script using gdb
How to debug a perl script using gdb
 

Viewers also liked

Marc schoenefeld grandma‘s old handbag_draft2
Marc schoenefeld grandma‘s old handbag_draft2Marc schoenefeld grandma‘s old handbag_draft2
Marc schoenefeld grandma‘s old handbag_draft2PacSecJP
 
Lucas apa pacsec slides
Lucas apa pacsec slidesLucas apa pacsec slides
Lucas apa pacsec slidesPacSecJP
 
Di shen pacsec_final
Di shen pacsec_finalDi shen pacsec_final
Di shen pacsec_finalPacSecJP
 
Anıl kurmuş pacsec3
Anıl kurmuş pacsec3Anıl kurmuş pacsec3
Anıl kurmuş pacsec3PacSecJP
 
Ryder robertson security-considerations_in_the_supply_chain_2017.11.02
Ryder robertson security-considerations_in_the_supply_chain_2017.11.02Ryder robertson security-considerations_in_the_supply_chain_2017.11.02
Ryder robertson security-considerations_in_the_supply_chain_2017.11.02PacSecJP
 
Kavya racharla ndh-naropanth_fin_jp-final
Kavya racharla ndh-naropanth_fin_jp-finalKavya racharla ndh-naropanth_fin_jp-final
Kavya racharla ndh-naropanth_fin_jp-finalPacSecJP
 

Viewers also liked (6)

Marc schoenefeld grandma‘s old handbag_draft2
Marc schoenefeld grandma‘s old handbag_draft2Marc schoenefeld grandma‘s old handbag_draft2
Marc schoenefeld grandma‘s old handbag_draft2
 
Lucas apa pacsec slides
Lucas apa pacsec slidesLucas apa pacsec slides
Lucas apa pacsec slides
 
Di shen pacsec_final
Di shen pacsec_finalDi shen pacsec_final
Di shen pacsec_final
 
Anıl kurmuş pacsec3
Anıl kurmuş pacsec3Anıl kurmuş pacsec3
Anıl kurmuş pacsec3
 
Ryder robertson security-considerations_in_the_supply_chain_2017.11.02
Ryder robertson security-considerations_in_the_supply_chain_2017.11.02Ryder robertson security-considerations_in_the_supply_chain_2017.11.02
Ryder robertson security-considerations_in_the_supply_chain_2017.11.02
 
Kavya racharla ndh-naropanth_fin_jp-final
Kavya racharla ndh-naropanth_fin_jp-finalKavya racharla ndh-naropanth_fin_jp-final
Kavya racharla ndh-naropanth_fin_jp-final
 

Similar to Di shen pacsec_jp-final

はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)Hiroshi Hayakawa
 
Windows をより安全にする SafeSEH on MinGW
Windows をより安全にする SafeSEH on MinGWWindows をより安全にする SafeSEH on MinGW
Windows をより安全にする SafeSEH on MinGWTsukasa Oi
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門icchy
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたことMITSUNARI Shigeo
 
OpenStack on OpenStack with CI
OpenStack on OpenStack with CIOpenStack on OpenStack with CI
OpenStack on OpenStack with CIkanabuchi
 
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorunOsc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorunKaoru NAKAMURA
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門Yoshiyuki Asaba
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)信之 岩永
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Etsuji Nakai
 
ROS Tutorial 02 - CIT
ROS Tutorial 02 - CITROS Tutorial 02 - CIT
ROS Tutorial 02 - CITDaiki Maekawa
 
学生からみた松江高専生とOpenStackで遊んだお話
学生からみた松江高専生とOpenStackで遊んだお話学生からみた松江高専生とOpenStackで遊んだお話
学生からみた松江高専生とOpenStackで遊んだお話Toru Komatsu
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討Masahito Zembutsu
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術Etsuji Nakai
 
Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新Koichi Sasada
 

Similar to Di shen pacsec_jp-final (20)

はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)
 
Windows をより安全にする SafeSEH on MinGW
Windows をより安全にする SafeSEH on MinGWWindows をより安全にする SafeSEH on MinGW
Windows をより安全にする SafeSEH on MinGW
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
20170124 linux basic_1
20170124 linux basic_120170124 linux basic_1
20170124 linux basic_1
 
OpenStack on OpenStack with CI
OpenStack on OpenStack with CIOpenStack on OpenStack with CI
OpenStack on OpenStack with CI
 
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorunOsc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorun
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門
 
20170124 linux basic_2
20170124 linux basic_220170124 linux basic_2
20170124 linux basic_2
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会
 
ROS Tutorial 02 - CIT
ROS Tutorial 02 - CITROS Tutorial 02 - CIT
ROS Tutorial 02 - CIT
 
学生からみた松江高専生とOpenStackで遊んだお話
学生からみた松江高専生とOpenStackで遊んだお話学生からみた松江高専生とOpenStackで遊んだお話
学生からみた松江高専生とOpenStackで遊んだお話
 
CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討CentOS Linux 8 の EOL と対応策の検討
CentOS Linux 8 の EOL と対応策の検討
 
Linux Namespace
Linux NamespaceLinux Namespace
Linux Namespace
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新
 

More from PacSecJP

Ryder robertson pac-sec skeleton 2017_jp
Ryder robertson pac-sec skeleton 2017_jpRyder robertson pac-sec skeleton 2017_jp
Ryder robertson pac-sec skeleton 2017_jpPacSecJP
 
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-j
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-jYuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-j
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-jPacSecJP
 
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_finalYuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_finalPacSecJP
 
Rouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jpRouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jpPacSecJP
 
Rouault imbert alpc_rpc_pacsec
Rouault imbert alpc_rpc_pacsecRouault imbert alpc_rpc_pacsec
Rouault imbert alpc_rpc_pacsecPacSecJP
 
Anıl kurmuş pacsec3-ja
Anıl kurmuş pacsec3-jaAnıl kurmuş pacsec3-ja
Anıl kurmuş pacsec3-jaPacSecJP
 
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...PacSecJP
 
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...PacSecJP
 
Yunusov babin 7sins-pres_atm_v4(2)_jp
Yunusov babin 7sins-pres_atm_v4(2)_jpYunusov babin 7sins-pres_atm_v4(2)_jp
Yunusov babin 7sins-pres_atm_v4(2)_jpPacSecJP
 
Yunusov babin 7 sins pres atm v2
Yunusov babin 7 sins pres atm v2Yunusov babin 7 sins pres atm v2
Yunusov babin 7 sins pres atm v2PacSecJP
 
Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026PacSecJP
 
Kavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_finKavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_finPacSecJP
 
Lucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-finalLucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-finalPacSecJP
 
Marc schoenefeld grandma‘s old handbag_draft2_ja
Marc schoenefeld grandma‘s old handbag_draft2_jaMarc schoenefeld grandma‘s old handbag_draft2_ja
Marc schoenefeld grandma‘s old handbag_draft2_jaPacSecJP
 
Kasza smashing the_jars_j-corrected
Kasza smashing the_jars_j-correctedKasza smashing the_jars_j-corrected
Kasza smashing the_jars_j-correctedPacSecJP
 
Jurczyk windows metafile_pacsec_jp3
Jurczyk windows metafile_pacsec_jp3Jurczyk windows metafile_pacsec_jp3
Jurczyk windows metafile_pacsec_jp3PacSecJP
 
Jurczyk windows metafile_pacsec_v2
Jurczyk windows metafile_pacsec_v2Jurczyk windows metafile_pacsec_v2
Jurczyk windows metafile_pacsec_v2PacSecJP
 
Wenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_final
Wenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_finalWenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_final
Wenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_finalPacSecJP
 
Wenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-ja
Wenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-jaWenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-ja
Wenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-jaPacSecJP
 
Nishimura i os版firefoxの脆弱性を見つけ出す_jp
Nishimura i os版firefoxの脆弱性を見つけ出す_jpNishimura i os版firefoxの脆弱性を見つけ出す_jp
Nishimura i os版firefoxの脆弱性を見つけ出す_jpPacSecJP
 

More from PacSecJP (20)

Ryder robertson pac-sec skeleton 2017_jp
Ryder robertson pac-sec skeleton 2017_jpRyder robertson pac-sec skeleton 2017_jp
Ryder robertson pac-sec skeleton 2017_jp
 
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-j
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-jYuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-j
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final-j
 
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_finalYuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final
Yuki chen from_out_of_memory_to_remote_code_execution_pac_sec2017_final
 
Rouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jpRouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jp
 
Rouault imbert alpc_rpc_pacsec
Rouault imbert alpc_rpc_pacsecRouault imbert alpc_rpc_pacsec
Rouault imbert alpc_rpc_pacsec
 
Anıl kurmuş pacsec3-ja
Anıl kurmuş pacsec3-jaAnıl kurmuş pacsec3-ja
Anıl kurmuş pacsec3-ja
 
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
 
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
Ahn pacsec2017 key-recovery_attacks_against_commercial_white-box_cryptography...
 
Yunusov babin 7sins-pres_atm_v4(2)_jp
Yunusov babin 7sins-pres_atm_v4(2)_jpYunusov babin 7sins-pres_atm_v4(2)_jp
Yunusov babin 7sins-pres_atm_v4(2)_jp
 
Yunusov babin 7 sins pres atm v2
Yunusov babin 7 sins pres atm v2Yunusov babin 7 sins pres atm v2
Yunusov babin 7 sins pres atm v2
 
Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026Shusei tomonaga pac_sec_20171026
Shusei tomonaga pac_sec_20171026
 
Kavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_finKavya racharla ndh-naropanth_fin
Kavya racharla ndh-naropanth_fin
 
Lucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-finalLucas apa pacsec_slides_jp-final
Lucas apa pacsec_slides_jp-final
 
Marc schoenefeld grandma‘s old handbag_draft2_ja
Marc schoenefeld grandma‘s old handbag_draft2_jaMarc schoenefeld grandma‘s old handbag_draft2_ja
Marc schoenefeld grandma‘s old handbag_draft2_ja
 
Kasza smashing the_jars_j-corrected
Kasza smashing the_jars_j-correctedKasza smashing the_jars_j-corrected
Kasza smashing the_jars_j-corrected
 
Jurczyk windows metafile_pacsec_jp3
Jurczyk windows metafile_pacsec_jp3Jurczyk windows metafile_pacsec_jp3
Jurczyk windows metafile_pacsec_jp3
 
Jurczyk windows metafile_pacsec_v2
Jurczyk windows metafile_pacsec_v2Jurczyk windows metafile_pacsec_v2
Jurczyk windows metafile_pacsec_v2
 
Wenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_final
Wenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_finalWenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_final
Wenyuan xu Minrui yan can you trust autonomous vehicles_slides_liu_final
 
Wenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-ja
Wenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-jaWenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-ja
Wenyuan xu Minrui Yan can you trust autonomous vehicles_slides_liu_final-ja
 
Nishimura i os版firefoxの脆弱性を見つけ出す_jp
Nishimura i os版firefoxの脆弱性を見つけ出す_jpNishimura i os版firefoxの脆弱性を見つけ出す_jp
Nishimura i os版firefoxの脆弱性を見つけ出す_jp
 

Di shen pacsec_jp-final