SlideShare a Scribd company logo
1 of 55
Download to read offline
Master Canary Forging
新しいスタックカナリア回避手法の提案
自己紹介
● 小池 悠生(こいけ ゆうき)
○ 16歳、学生
● CTFにハマっていた
○ DEF CON 2014 Finalist
○ CODEGATE Junior 2015 Winner
○ 引退視野
概要
● 動機
● Stack Canary
● これまでの回避手法
● Master Canary Forging
● 手法の評価と対策
概要
● 動機
● Stack Canary
● これまでの回避手法
● Master Canary Forging
● 手法の評価と対策
動機
● 僕はROPが好き
○ だからStack Based Buffer Overflowが好き
○ だからStack Canaryは嫌い
● Stack Canaryは強い
○ 回避出来る条件を考えるのは価値がある
○ 良い回避方法はないか?
概要
● 動機
● Stack Canary
● これまでの回避手法
● Master Canary Forging
● 手法の評価と対策
Stack Canary
● BOFによる攻撃を阻止したい
○ return addressが書き換えられたか判定したい
■ されていたらプロセスを殺す
○ 指標を作ればいい
■ BOFの前後で値が変わるようにする
Stack Canary
return address
frame pointer
local variables
● 指標を追加する
Stack Canary
return address
frame pointer
canary
0xdeadbeef
local variables
● BOFが起こると...
Stack Canary
canary
overwritten
● canaryの値が変わるので、攻撃を検知出来る
Stack Canary
modified
0x41414141
● canaryの値が変わるので、攻撃を検知出来る
Stack Canary
modified
0x41414141
Not 0xdeadbeef
Attack Detected
Stack Canary
● BOFによる攻撃を阻止したい
○ return addressが書き換えられたか判定したい
■ されていたらプロセスを殺す
○ 指標を作ればいい
■ BOFの前後で値が変わるようにする
Stack Canary
● BOFによる攻撃を阻止したい
○ return addressが書き換えられたか判定したい
■ されていたらプロセスを殺す
○ 指標を作ればいい
■ BOFの前後で値が変わるようにする
● これ、保証できる??
● canaryの値が変わらないと検知できない
Stack Canary
modified
0xdeadbeef
● canaryの値が変わらないと検知できない
Stack Canary
modified
0xdeadbeef
return address
任意の値に出来る
● canaryの値が変わらないと検知できない
Stack Canary
⇒ACE(任意のコード実行)
Stack Canary
● Stack Canaryの種類
○ Random
■ 元となる値が分からないようにする
■ プロセスの起動時に値をランダムに決める
○ Terminator
■ ’0’ 等が含まれるようにする
■ 元の値にしづらい
Stack Canary
● master canaryとstack上のcanaryの比較
概要
● 動機
● Stack Canary
● これまでの回避手法
● Master Canary Forging
● 手法の評価と対策
● ex1.c
回避手法1: __stack_chk_failを避ける
#include <stdio.h>
void bof(int (*print)(const char *)) {
char buf[16];
scanf("%s", buf);
print(buf);
}
int main(void) {
bof(puts);
}
● ex1.c
#include <stdio.h>
void bof(int (*print)(const char *)) {
char buf[16];
scanf("%s", buf);
print(buf);
}
int main(void) {
bof(puts);
}
回避手法1: __stack_chk_failを避ける
return address
frame pointer
canary
local variables
arguments
● ex1.c
回避手法1: __stack_chk_failを避ける
overwritten
arguments
#include <stdio.h>
void bof(int (*print)(const char *)) {
char buf[16];
scanf("%s", buf);
print(buf);
}
int main(void) {
bof(puts);
}
● ex1.c
回避手法1: __stack_chk_failを避ける
overwritten
arguments
#include <stdio.h>
void bof(int (*print)(const char *)) {
char buf[16];
scanf("%s", buf);
print(buf);
}
int main(void) {
bof(puts);
} 関数ポインタかつ引数
● ex2.c
回避手法2: canaryをリークする
#include <stdio.h>
int main(void) {
char buf[16];
scanf("%s", buf);
printf(buf);
fread(buf, sizeof(char), 32, stdin);
}
● ex2.c
回避手法2: canaryをリークする
#include <stdio.h>
int main(void) {
char buf[16];
scanf("%s", buf);
printf(buf);
fread(buf, sizeof(char), 32, stdin);
}
書式指定子攻撃
回避手法2: canaryをリークする
$ gdb ./ex2 -q
(gdb) b 4
Breakpoint 1 at 0x8048532: file ex2.c, line 4.
(gdb) r
Breakpoint 1, main () at ex2.c:4
4 scanf("%s", buf);
(gdb) x/12xw $esp
0xffffce60: 0xffffd129 0x0000002f 0x0804a000 0x080485e2
0xffffce70: 0x00000001 0xffffcf34 0xffffcf3c 0xf7e3539d
0xffffce80: 0xf7faa3c4 0xf7ffd000 0x0804859b 0x48d09200
(gdb) c
%11$x
48d09200
● stack canaryのどこを突破口にしているか?
○ 回避手法1: __stack_chk_failの回避
■ 検知、強制終了を行うところ
○ 回避手法2: canaryをリークする
■ stackに入ったcanary
回避手法の本質
● stack canaryのどこを突破口にしているか?
○ 回避手法1: __stack_chk_failの回避
■ 検知、強制終了を行うところ
○ 回避手法2: canaryをリークする
■ stackに入ったcanary
○ 回避手法3: master canaryを書き換える
■ stack canaryの元の値
回避手法の本質
概要
● 動機
● Stack Canary
● これまでの回避手法
● Master Canary Forging
● 手法の評価と対策
● 以下を仮定
■ Linux Kernel 3.19
■ glibc 2.21
■ ASLRは有効
Master Canary Forging
● master canaryはどこにある?
○ glibcを読む
Master Canary Forging
static void
security_init (void)
{
/* Set up the stack checker's canary. */
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (_dl_random);
#ifdef THREAD_SET_STACK_GUARD
THREAD_SET_STACK_GUARD (stack_chk_guard);
#else
__stack_chk_guard = stack_chk_guard;
#endif
● master canaryはどこにある?
○ glibcを読む
Master Canary Forging
static void
security_init (void)
{
/* Set up the stack checker's canary. */
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (_dl_random);
#ifdef THREAD_SET_STACK_GUARD
THREAD_SET_STACK_GUARD (stack_chk_guard);
#else
__stack_chk_guard = stack_chk_guard;
#endif
実体への代入
● master canaryはどこにある?
○ glibcを読む
Master Canary Forging
static void
security_init (void)
{
/* Set up the stack checker's canary. */
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard (_dl_random);
#ifdef THREAD_SET_STACK_GUARD
THREAD_SET_STACK_GUARD (stack_chk_guard);
#else
__stack_chk_guard = stack_chk_guard;
#endif
● master canaryはどこにある?
○ THREAD_SET_STACK_GUARD
■ 7アーキテクチャにて定義
■ canaryがTLS(thread local storage)に入る
■ 定義されていないならmaster canaryは.bssへ
Master Canary Forging
● master canaryを書き換えるには
○ .bssにある時
■ 任意のアドレス書き換えができればいいだけ
Master Canary Forging
● master canaryを書き換えるには
○ .bssにある時
■ 任意のアドレス書き換えができればいいだけ
○ TLSにある時?
Master Canary Forging
● master canaryを書き換えるには
○ .bssにある時
■ 任意のアドレス書き換えができればいいだけ
○ TLSにある時?
■ そもそもTLS領域はどこに確保されるのか?
Master Canary Forging
● TLS領域はどこにある?
○ glibcを読む
Master Canary Forging
void * internal_function _dl_allocate_tls_storage (void)
{
void *result;
size_t size = GL(dl_tls_static_size);
#if TLS_DTV_AT_TP
size += (TLS_PRE_TCB_SIZE + GL(dl_tls_static_align) - 1)
& ~(GL(dl_tls_static_align) - 1);
#endif
/* Allocate a correctly aligned chunk of memory. */
result = __libc_memalign (GL(dl_tls_static_align), size);
● TLS領域はどこにある?
○ _dl_allocate_tls_storageが確保を行う関数
■ 内部で__libc_memalignが呼ばれる
● __libc_memalignは内部でmmapを呼ぶ
○ 結局はmmapによって確保されたどこか
■ ASLRの影響を受けるため書き換えが難しい
Master Canary Forging
● mmapで確保された領域の特徴:
○ 常にどこかの領域と隣接している
Master Canary Forging
● Mapped Area Based Buffer Overflow
Master Canary Forging
target area
● Mapped Area Based Buffer Overflow
○ まずmmapを使って領域を確保する
○ 確保した領域が目的の領域の上に来るようにする
Master Canary Forging
mapped area
target area
● Mapped Area Based Buffer Overflow
○ まずmmapを使って領域を確保する
○ 確保した領域が目的の領域の上に来るようにする
○ 確保した領域でBOFを起こす
○ 十分なサイズなら、隣接した領域も上書き出る
Master Canary Forging
overwritten
● Mapped Area Based Buffer Overflow
○ これでmaster canaryを書き換えられそう!
○ でも、攻撃者はmmapを呼べるの?
Master Canary Forging
● Mapped Area Based Buffer Overflow
○ これでmaster canaryを書き換えられそう!
○ でも、攻撃者はmmapを呼べるの?
■ はい
Master Canary Forging
● Mapped Area Based Buffer Overflow
○ これでmaster canaryを書き換えられそう!
○ でも、攻撃者はmmapを呼べるの?
■ はい
■ malloc
Master Canary Forging
● Mapped Area Based Buffer Overflow
○ これでmaster canaryを書き換えられそう!
○ でも、攻撃者はmmapを呼べるの?
■ はい
■ malloc
■ “When allocating blocks of memory larger than
MMAP_THRESHOLD bytes, the glibc malloc()
implementation allocates the memory as a private
anonymous mapping using mmap(2).”
Master Canary Forging
● Mapped Area Based Buffer Overflow
○ 使える条件は以下の2つ
■ heapのallocateを自由に行える
■ Heap Based BOFが起こる
Master Canary Forging
1. master canaryの書き換え
a. .bssにある時
i. 任意のアドレス書き換えで書き換える
b. TLSにある時
i. Mapped Area Based BOFを使う
2. Stack Based BOFを起こす
Master Canary Forging
概要
● 動機
● Stack Canary
● これまでの回避手法
● Master Canary Forging
● 手法の評価と対策
● 評価
○ 使いづらい
■ 2種類の脆弱性が必要
■ 普通Heap Based Buffer Overflowだけで十分
○ Mapped Area Based BOF単体は使いやすい
■ TLSには関数ポインタテーブルがある場合あり
手法の評価と対策
● 対策
○ Random XOR Canaryを使う
■ canary = master canary ^ stack pointer
○ ガードページを設ける
手法の評価と対策
https://github.com/potetisensei/
MasterCanaryForging-PoC/
PoC
御静聴ありがとうございました
なんでも質問してください。

More Related Content

What's hot

高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介MITSUNARI Shigeo
 
Deflate
DeflateDeflate
Deflate7shi
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safeKumazaki Hiroki
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
Ctfのためのpython入門
Ctfのためのpython入門Ctfのためのpython入門
Ctfのためのpython入門shiracamus
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
並列化による高速化
並列化による高速化 並列化による高速化
並列化による高速化 sakura-mike
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミングNorishige Fukushima
 
あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿MITSUNARI Shigeo
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミングPreferred Networks
 
katagaitai CTF勉強会 #3 crypto
katagaitai CTF勉強会 #3 cryptokatagaitai CTF勉強会 #3 crypto
katagaitai CTF勉強会 #3 cryptotrmr
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法kazkiti
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 

What's hot (20)

高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
 
Deflate
DeflateDeflate
Deflate
 
冬のLock free祭り safe
冬のLock free祭り safe冬のLock free祭り safe
冬のLock free祭り safe
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
Ctfのためのpython入門
Ctfのためのpython入門Ctfのためのpython入門
Ctfのためのpython入門
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
並列化による高速化
並列化による高速化 並列化による高速化
並列化による高速化
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
TVM の紹介
TVM の紹介TVM の紹介
TVM の紹介
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング計算機アーキテクチャを考慮した高能率画像処理プログラミング
計算機アーキテクチャを考慮した高能率画像処理プログラミング
 
あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿あなたの知らないnopたち@ラボユース合宿
あなたの知らないnopたち@ラボユース合宿
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
できる!並列・並行プログラミング
できる!並列・並行プログラミングできる!並列・並行プログラミング
できる!並列・並行プログラミング
 
katagaitai CTF勉強会 #3 crypto
katagaitai CTF勉強会 #3 cryptokatagaitai CTF勉強会 #3 crypto
katagaitai CTF勉強会 #3 crypto
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 

Viewers also liked

Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...
Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...
Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...CODE BLUE
 
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015CODE BLUE
 
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015CODE BLUE
 
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato KinugawaXSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato KinugawaCODE BLUE
 
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹CODE BLUE
 
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)CODE BLUE
 
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason Park
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason Park[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason Park
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason ParkCODE BLUE
 
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...CODE BLUE
 
[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...
[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...
[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...CODE BLUE
 
[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’Antoine
[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’Antoine[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’Antoine
[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’AntoineCODE BLUE
 
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲CODE BLUE
 
[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson Guimaraes
[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson Guimaraes[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson Guimaraes
[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson GuimaraesCODE BLUE
 
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés RianchoCODE BLUE
 
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...CODE BLUE
 
IDAの脆弱性とBug Bounty by 千田 雅明
IDAの脆弱性とBug Bounty by 千田 雅明IDAの脆弱性とBug Bounty by 千田 雅明
IDAの脆弱性とBug Bounty by 千田 雅明CODE BLUE
 

Viewers also liked (16)

Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...
Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...
Adobe ReaderのJavaScript APIの悪用 by Abdul-Aziz Hariri & Brian Gorenc - CODE BLU...
 
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015
 
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
 
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato KinugawaXSSフィルターを利用したXSS攻撃 by Masato Kinugawa
XSSフィルターを利用したXSS攻撃 by Masato Kinugawa
 
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
 
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
Firefoxの倒し方 by 西村 宗晃 (にしむねあ)
 
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason Park
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason Park[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason Park
[CB16] CGCで使用した完全自動脆弱性検知ツールを使ったセキュリティの分析とその効果 by InHyuk Seo & Jason Park
 
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
 
[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...
[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...
[CB16] COFIブレイク:実用的な制御フローインテグリティとプロセッサのトレースによるエクスプロイト阻止 by Ron Shina & Shlomi...
 
[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’Antoine
[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’Antoine[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’Antoine
[CB16] バイナリロックスターになる:Binary Ninjaによるプログラム解析入門 by Sophia D’Antoine
 
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
 
[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson Guimaraes
[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson Guimaraes[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson Guimaraes
[CB16] 私のモデムに誰がバックドアを仕掛けたのか? by Ewerson Guimaraes
 
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
[CB16] 難解なウェブアプリケーションの脆弱性 by Andrés Riancho
 
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
[CB16] Electron - Build cross platform desktop XSS, it’s easier than you thin...
 
IDAの脆弱性とBug Bounty by 千田 雅明
IDAの脆弱性とBug Bounty by 千田 雅明IDAの脆弱性とBug Bounty by 千田 雅明
IDAの脆弱性とBug Bounty by 千田 雅明
 
Nyarlathotep
NyarlathotepNyarlathotep
Nyarlathotep
 

More from CODE BLUE

[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...CODE BLUE
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten NohlCODE BLUE
 
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo PupilloCODE BLUE
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman CODE BLUE
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...CODE BLUE
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫CODE BLUE
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...CODE BLUE
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka CODE BLUE
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...CODE BLUE
 
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...CODE BLUE
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...CODE BLUE
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...CODE BLUE
 
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也CODE BLUE
 
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...CODE BLUE
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...CODE BLUE
 

More from CODE BLUE (20)

[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...[cb22] Hayabusa  Threat Hunting and Fast Forensics in Windows environments fo...
[cb22] Hayabusa Threat Hunting and Fast Forensics in Windows environments fo...
 
[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl[cb22] Tales of 5G hacking by Karsten Nohl
[cb22] Tales of 5G hacking by Karsten Nohl
 
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...[cb22]  Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
[cb22] Your Printer is not your Printer ! - Hacking Printers at Pwn2Own by A...
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(4) by 板橋 博之
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(3) by Lorenzo Pupillo
 
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...[cb22]  ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
[cb22] ”The Present and Future of Coordinated Vulnerability Disclosure” Inte...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman [cb22]  「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション(2)by Allan Friedman
 
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
[cb22] "The Present and Future of Coordinated Vulnerability Disclosure" Inter...
 
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by  高橋 郁夫
[cb22] 「協調された脆弱性開示の現在と未来」国際的なパネルディスカッション (1)by 高橋 郁夫
 
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
[cb22] Are Embedded Devices Ready for ROP Attacks? -ROP verification for low-...
 
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka [cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
[cb22] Wslinkのマルチレイヤーな仮想環境について by Vladislav Hrčka
 
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
[cb22] Under the hood of Wslink’s multilayered virtual machine en by Vladisla...
 
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
[cb22] CloudDragon’s Credential Factory is Powering Up Its Espionage Activiti...
 
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...[cb22]  From Parroting to Echoing:  The Evolution of China’s Bots-Driven Info...
[cb22] From Parroting to Echoing: The Evolution of China’s Bots-Driven Info...
 
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...[cb22]  Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
[cb22] Who is the Mal-Gopher? - Implementation and Evaluation of “gimpfuzzy”...
 
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
[cb22] Mal-gopherとは?Go系マルウェアの分類のためのgimpfuzzy実装と評価 by 澤部 祐太, 甘粕 伸幸, 野村 和也
 
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
[cb22] Tracking the Entire Iceberg - Long-term APT Malware C2 Protocol Emulat...
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
 

Master Canary Forging: 新しいスタックカナリア回避手法の提案 by 小池 悠生 - CODE BLUE 2015