SlideShare ist ein Scribd-Unternehmen logo
1 von 72
Downloaden Sie, um offline zu lesen
katagaitai CTF勉強会 #7 – hardware
関東 | Med - 2017/02/25
1
準備 - hardware
 [SECCON CTF 2014 online] Programing 400 - The Golden Gate
 http://bit.ly/2kynVKb
 [Nuit du Hack 2013] misc400 - OMG, electronics ...
 http://bit.ly/2kDMwwW
 ICのデータシート
 4555、4042、4520
 2716 EEPROM
 Python2/3が動く環境(講義は2前提で説明します)
2
はじめに3
自己紹介
 ysk (@y_sk256)
 学生時代
 電子回路、装置開発などのHW開発
 装置制御、画像処理などのSW開発
 社会人
 ソフトウェア開発管理というSE業務。最近障害対応が収まった
 IoT絡みのセキュリティ研究調査というやりがいのあるお仕事
 趣味
 IoT周りの解析
 Arduino,ドローン,車,…
 機械学習
 CTF: katagaitai
 主な担当はfor, ppc, misc(hw★ココ),稀にrev
 最近控え気味
 電波や信号を発するもの
4
本講義について
 非専門家なので
 資料や説明に間違いがあるかもしれません。ご指摘ください
 HWの説明としてレベルは高く無いです。復習にもどうぞ
 本講義の運営について
 演習などは進み具合をみつつスピードを調整します。
 質問は挙手または、休み時間にお願いします。
 途中入退出自由です。周りに迷惑をかけないようお願いします
 資料について
 そのうち公開予定です
 資料や講義風景のSNS等への投稿はご遠慮ください。
 問題文/画像/資料は各CTF、Wikipedia、企業の物を引用している箇
所があります。著作権はそれぞれの団体又は組織に帰属します。
5
目次
 はじめに
 ITセキュリティとHW
 電子部品の紹介
 問題:[SECCON CTF 2014 online] The Golden Gate
 回路図の紹介
 問題: [Nuit du Hack 2013] misc400 - OMG, electronics
 マイコン系問題のさわり
 さいごに
6
ITセキュリティとHW7
HWの分類
 HWの分類 (独断と偏見)
 IoT(つながるHW)
 昔からユビキタスなどとして存在
 大きな違いは、昔数十万円した機器が数百~数千円になったこと
 スマホ,センサー類,…
 独自ネットワーク(Internet以外)につながるHW
 工場系
 PLC制御、産業用ロボット,…
 インフラ(SCADA,…)
 ガス,電気,電話網,交通機関,…
 クルマ(CAN,LIN,…)
 家電・電子機器
 エアコン,防犯機器,…
 防衛システム(JTIDS,Link11/22/16)
 人工衛星(テレメトリ通信)
 つながらないHW達
 旧来の家電,機械,…
8
ITセキュリティとHW
 ITセキュリティに見るHWの例
 CTFでの出題
 Misc
 電子機器の写真から回路図を起こして解析
 回路図からSWに起こして解析
 マイコンと回路図を解析(一部Revと被る)
 広義の意味では、電気・音声信号の解析,…(一部Forと被る)
 カンファレンスに見るHW(Defcon)
 リアル電子回路バッチ
 Hardware Village:電子機器,回路
 (Lockpicking Village:鍵開け)
9
電子部品の紹介10
電子部品1
 電源:電力を供給するもの。
 VCC/GNDと書かれることが多い(VCCは旧規格)
 配線:電子部品を電気的に接続するもの
 右図は複数配線の省略表記。同じ番号のみが接続されている
 高集積の電子基板だと両面2層や3層に配線が組まれている
 高周波はノイズやパーツ間の距離の影響を受けやすい
 コネクタ:電気的な接続/取り外しを確実に行うもの
 雄をピン、雌をジャックという
 放熱フィン:機器の熱を空気に逃がす金属
 整流回路や大電力を扱う部品に取り付けて使う
 スイッチ(SW):電気の接続/非接続を行う入力装置
 接触式SWはチャタリングが発生するため対策が必要
11
電子部品2
 抵抗(R):電圧や電流の調整に使う[Ω]
 抵抗
 半固定抵抗
 カラーコードや数字で識別される。
 コンデンサ(C):高周波を通しやすく、直流を遮断する[F]
 セラミックコンデンサー
 電解コンデンサー
 可変コンデンサー
 過電流を流すと破裂する(どらやき)
 コイル(L):直流を通しやすく、高周波を遮断する[H]
 コイル
 トランス(T):電磁誘導による電気的な絶縁や昇圧/降圧を行う
12
電子部品3
 リレー:電気でSWをON/OFFするもの
 電磁式リレー
 フォトMOSリレー
 真空管:電界制御で真空中の電子(電流量)を制御する
 ヒータで熱して自由電子を飛ばす。温まるまで安定しない
 オーディオ好きがあえて使うことも
 球と呼ばれることも
 FET:電界効果トランジスター
 原理は真空管に類似。電界で半導体内の電子を制御する
13
電子部品4
 ダイオード(D):電流を一方通行にする半導体。1石と呼ばれる
ことも
 整流ダイオード
 ダイオードブリッジ
 発光ダイオード(LED)
 7セグLED
 トランジスタ(TR):2石と呼ばれることも
 信号増幅、信号制御が主なお仕事
 アナログIC(U)
 差分増幅器
 三端子レギュレータ
 発振子
 セラミック発振子:安価
 水晶発振子:高精度、高周波数に対応
14
論理回路1
 論理回路
 論理演算を行うために、電子部品(主にトランジスタ)を組み合
わせて作られる回路
 1つのICにまとめられていることが多い。
 ロジックIC
 NOT
 OR/NOR
 AND/NAND
 XOR
15
問題
[SECCON CTF 2014 online] Programing 400 - The Golden Gate
16
[SECCON CTF 2014 online] Programing 400
- The Golden Gate
We've found an encoder board along with cipher text. Please help us to decrypt it.
The cipher text: BQDykmgZ0I6SaQnq4o/iEONudetXdPJdpl1UVSlU69o
ZOtvqnHfinOpcEfIjXy9okkVpsuw2kpKS==
17
⇒回路をリバースエンジニアリングして暗号文を復号すれば良い
Download from GitHub. http://bit.ly/2kynVKb
部品の特定
Q.①~⑨の部品名や型番/抵抗値を調べよう
18
5min
②
③茶黒橙 金
④
⑤外側のやつ ⑥
⑦
⑧橙橙茶 金
⑨
①
部品の特定(回答例)
Q.①~⑨の部品名や型番/抵抗値を調べよう
19
②
タ
ク
ト
ス
イ
ッ
チ
③抵抗10kΩ(=茶1黒0*10^橙3)
④IC 74HC00
⑤ICソケット ⑥赤色
LED
⑦ジャンパー
コード
⑧330Ω
(橙3橙3茶1)
⑨ジャンパー線
①(ユニバーサル)基板
IC 74HC00とは
 型番がわかったが仕様がわからない
 「データシート」を見れば良い。
 昔は横長な本が必要だったが、現在はまずググれば良い
 実際CTFの時にググった内容
20
とは
 とはNAND
 NANDとは Y = ! (A & B) の信号を出す論理回路である
 TTLレベルの論理回路では+5VがHigh(1), 0VがLow(0)となる
 ICの足の見方
 表の切り欠きから反時計回りにピン番号が振られている
 これらのピンの機能をピンアサインと呼ぶことがある
 右下と左上がGND,VCC(+電源)となる場合がよくある(?)
21
リバースエンジニアリング
 じっくり眺めて回路図を起こしていく。
 裏表の写真を用意し回転や反転させると調べやすい
22
方向性
 写真を見やすく加工する(済)
 裏表が一致するようにリサイズ、回転、鏡面反転、を行う
 人によってはGIMPなどで重ねると見やすいかも
 回路の類似性検証
 基盤裏面を見ると繰り返しパターンがある
 とはいえ配線が細かいところ違うので正確に写経する必要がある
 入出力部位の抵抗は接続先に注目
 タクトスイッチやLED周りの抵抗は電流調整用でセット
 タクトスイッチの抵抗はプルUP/DOWN抵抗の可能性大
 OFFの時にHighになるのがプルUP抵抗 ⇒ 論理式のNotと同意
 暗号化回路の問題なので
 可逆性がある論理回路が期待される ⇒ XORがあるハズ
 (おまけ)電源電圧が気になる方へ
 このタイプのIC達は普通は5V(TTLレベル)駆動
 基盤実装の小さいタイプだと普通は3.3V
23
繰り返し24
15min
Download from GitHub. http://bit.ly/2kynVKb
25
5min
どこを見てもXORが無い
 ここで、XORが無いので不可逆にならないか心配になる
 実はNANDは他の基本的な論理回路を全て表現できる
 XORをNANDで表現
 さっき見た回路と同じ⇒XORに置き換えられる
26
27
Not
Not
Not
Not
Not
28
+5V
inp0
inp7
・
・
・
outp7
outp0xor0
・
・
・
xor6
15min
変換表を作成する
 2通りの解き方
 逆関数を作り復号
 変換表を作り復号★採用
 変換表を作る
 XORをプログラムにする
 0~255を入力
 各出力を保存
29
演算結果を格納
 各出力を保存
 出力値をキーに入力値を保
存。処理し易くするため
 0bit側がどちらかわからな
いので必要に応じて入力/出
力bitをreversed()する
30
変換表を使ってデコード
 出力が文字化けしていると思ったあなた
 ファイルに格納して fileコマンドを打つか圧縮ツールで開いてみよう
31
よく見る回路図32
回路図を見ようwtih 78M05
 三端子レギュレータ(定電圧回路)
 類似の電子部品
 78M05・・・5V 最大1A出力
 78M12・・・12V
 79M05・・・5V (真ん中pin2がプラス)
 78L05・・・5V 最大100mA出力
33
回路図を見ようwith PIC16F84
 PIC(プログラマブルIC)
 基本的に電源と発振子と入出力があれば動くマイコン
 昔はとても重宝されたが、周辺回路が必要&PCと簡単に通
信できないのでソフトウェア屋にはまだ敷居が高かった(レ
ベル変換すればシリアル通信が行えるPICはあった)
34
セラミック発振子PIC16F84
RA ポート
RB ポート
回路図を見ようwith Arduino UNO35
論理回路2
 フリップフロップ(Flip-Flop)
 値を保持する回路
 種類が複数ある。RS/JK/D/T型等
 D型フリップフロップ
 入力がD, C(Clock), 出力がQ
 CがClock UP(Low->High)になった時のDの値をQが出力する。Q=D,
Q=!D
 次のClock UPが来るまでQは値を保持する
 入力P(Porlality:極性)がある場合Clock UPではなくDownで評価される
 記憶装置
 EEPROM
 LCD
 バックライトの上に液晶を配置し、電源のON/OFFで光の透過性を
制御して文字や図を表現する出力装置。
 電子工作でよく出てくるもの
 文字列(1文字を5*7ドットで表現など)を表示するもの
 画像を表示するもの
36
D Q
C Q
問題
[Nuit du Hack 2013] misc400 - OMG, electronics
37
[Nuit du Hack 2013] misc400 - OTP38
OMG, electronics ...
Found some information about what seems to be an OTP. And a webpage asking for a
valid token. The design draft we retrieved looks terrible, they must have got it fixed,
yet the algorithm should be similar.
OTPの入力画面が無いので、今回は2013/1/19 13:00:00 GMT +0100の値を求める
⇒回路をリバースエンジニアリングしてOTPを予測すれば良い
Download from GitHub. http://bit.ly/2kDMwwW
20min
39
方向性
 回路図が複雑
 ブロック化(分割)して設計しているはず⇒分割して解析
 知らないICは型番+「データシート」でググる
 解析後にプログラムに変換しておく
 HW One Time Password(OTP)の問題
 OTPは他要素認証(MFA)の一つ
 固有のシードを元に定期的にトークンが算出される
 考えられる解き方
 TestReportにマッチするようなシードを総当たりで調べ、任意時刻
の値を算出する⇒多分これ
 回路自体にバグがある⇒CTFとしては難問で可能性低(?)
 (おまけ)電源が無いから動かないのでは?
 省略されていますが本来は記載されます。大抵5V
 この問題では をGNDとしている
40
答え合わせマシーン
 答えがわかった方は1秒毎に答え合わせができます
41
回路図からプログラムを起こす
 プログラムの起こし方は2種類
 回路の仕様を汲み取り粒度を荒くしてから作る⇒読み違える可能性がある
が早い
 回路をなるべく正確に再現する⇒細かい動きがわからいのでこちらで作成
 その他
 回路図と変数が対応付けられるように回路図に変数を記載
 CTF中はTry&Errorでプログラムを組むのでclassは使わずグローバル変数を
使う(使った)
 グローバル変数は記載していませんが一部を除き全て0初期化です
 一部:pre_d = 9(信号なし), b4=0xffffffff (32bit0の反転)
42
ブロック化43
①
②
③
④
⑤ ⑥
①-1
 RC発振回路
 抵抗とコンデンサがある唯一アナログっぽい個所
 RC発振回路の一種、ICによるマルチバイブレータ
 矩形波を出力する
 コメントよりこの発振回路はf = 1/4Hzに調整済み
 (余談)f = 0.455/(C1 * (R1+R2)) ※マルチバイブレータの計算式
 (余談) R2 = 0.455/(f*C1)–R1 = 452KΩくらいに調整済み
44
RC発振回路
1/4Hz
ck
p
c
b
①-2
 クロック信号の周波数変換
 アップカウンター(IC 4520)によるクロック周波数の変換
 Q1~4が4bitカウンター
45
クロック信号の周波数変換
1/4Hz1/8Hz
1/16Hz16秒間隔4bit
カウンター
ck
p
c
b
①-3
 キー選定器(仮称)
 前回の結果(a)を受けて次のトークン生成に使用するキー(b)を生成する
 この回路特有のブラックボックス回路
 c[0]-c[2]は先ほどのIC 4520により周期的(8秒毎)に0~7がセットされる
 Input: a(32bit), c(3bit), Output b(4bit) = a[c*4]~a[c*4+3]
 回路図中にはFile: selector.schと別の回路図があることを示唆している
 ロジックが書いてあるので回路図はなくても問題ない
46
キー選定器(仮称)
ck
p
c
b
①プログラム
 ①-1
 ckを1bit反転させるだけ。矩形波を表現
 1/4Hzなので1反転(半周期)に2秒かかる計算
 ①-2
 クロックck=1(Clock UP)した時に、カウンターp
がインクリメントされる
 さらにpの2bit目がインクリメントされたときに
カウンターcがインクリメントされる
 ①-3
 現在のトークンから、カウンターcで指定され
る4bitをbに格納する
47
②-1
 キーとカウンターのXOR
 回路記号よりXOR
 b2 = b(キー) ^ c(カウンター)
 トークンシード取得
 EEPROM(IC 2716)から指定
されたアドレスのデータ
(トークンシード)を取得する
 アドレス指定は4bit
 トークンシードは8bit
 データシートを確認
48
キーとカウンターのXOR
b
1/8Hz
トークンシード
16秒間隔4bit
カウンター
c
p2
p3
b2
a
d
p
c
②-2
 タイミング信号
 回路記号よりNotとAND
 1/32HzがONの間は1/8Hz矩
形波が出力される。
 NotがあるのでU1A/U1Bは32
秒間隔で交互に出力1/8Hz矩
形波を出す
 デコーダ
 2bitで指定される番号のピン
に出力する。
 例: c=0,1 ⇒ d=0,0,1,0
49
1/8Hz
デコーダ
タイミング信号
16秒毎に4秒間隔
矩形波/0V出力が
切り替わる
16秒間隔で4秒間
隔矩形波が来る
b
c
p2
p3
d
b2
a
p
c
②プログラム
 ②-1
 カウンターcと現在のトークンから取得した
bをXORする
 トークンシードからbで指定される8bitを取
得する
 トークンのシードは機器固有。test-reportに
token seed = product_idと記載がある
 ②-2
 後でトークンシードの一部を格納するタイ
ミングを示すp2を計算する
 後で8bit4個のフリップフロップにタイミン
グを伝えるためのp3を計算する
50
現在地③51
①
②
④
⑤ ⑥
③
③-1
 トークンシードの格納
 各赤枠のD型フリップフロップ(IC
4042)に16秒間隔で交互に、トー
クンシード8bitが更新される
 各赤枠の上のICがトークンシード
0-3bitをそのままの出力で、下の
ICが4-7bitを反転出力で保持する
 フリップフロップおさらい。ク
ロックUPの時の入力値を保持して
出力する
52
8bitトークンシード 16秒間隔
トークンシード格納
16秒毎にトーク
ンが更新される
16秒毎に4秒間隔
矩形波/0V出力が
切り替わる
a2
b3
a3
③-2
 トークンシード混合
 回路記号よりXORを行う
 前の16秒のトークンシード(8bit)と
XORをとる
53
トークンシード混合
16秒毎にトーク
ンが更新される
16秒毎に4秒間隔
矩形波/0V出力が
切り替わる
8bitトークンシード 16秒間隔
a2
b3
a3
③プログラム
 ③-1
 P2の各bitがUPした時に、トークン
シード一部をa2,b3に格納する
 その際に上位4bitはNotを取る
 ③-2
 a2,b3をXORで混合する
54
④
 トークンシード結合
 D型フリップフロッ
プ(IC 4042)による
データ保持機構
 16秒毎トークンシー
ドXORのデータをデ
コーダが指定したフ
リップフリップフ
ロップ(赤枠)に記録す
る
 左上>左下>右上>
右下の順に格納され
る。128秒間隔。
0~31bitに対応
 全て出力はビット反
転している
55
トークンシード結合
16秒毎トークン
シードXOR
16秒間隔デ
コーダ出力
128秒間隔32bit
トークンシード
b4
a3
d
④プログラム
 dが指定した8bit分のフリップフロップに、先ほどのa3の値を上書きする
 一度該当の8bitをANDを用いて0で初期化し、ORでa3を書き込む
 32bit分全て合わせてb4として扱う
56
現在地⑤57
①
②
③
④
⑤ ⑥
⑤
 トークン算出
 回路記号よりXOR
 32bitのトークンシード
と32bitデータ(前回トー
クン)をXORしてトーク
ンを求める
 1bitローテートしている
 OTP表示
 数字を表示する7セグ
LEDでOTPを表示する
 32bit Big-endianと書かれ
ているので、16進数8文
字となる。
58
OTP表示
トークン算出
128秒間隔32bit
トークンシード
32bitデータ
(前回トークン)
128秒間隔32bit
トークン a5
b4
~token
⑤プログラム
 現在のトークンを反転させて先ほどのb4とのXORを取る
 その結果の32bit目を0bit目にローテーションさせる
59
⑥
 トークン保持
 D型フリップフロップ(IC 4042)により、32bit
トークンを保持する
 クロックより256秒に1回保存される
60
トークン保持
32bitトークン
128秒間隔32bit
トークン
128秒周期矩形波 token
~token
⑥プログラム
 カウンターcの4bit目がUPするタイミングでトークンを更新す
る
 トークンの更新周期は256秒毎となる
61
回路図と変数の対応
62
①
②
③
④
⑤ ⑥
ck
p
c
p2
p3
d
a2
b token
b2
a
b3
a3
b4
a5
タイミングチャート63
main
 以上でOTPが相対的に得られるようになった
 起点はTest report に記載のある「2013-01-18 14.05 GMT+0100」
64
動作確認
 以下、Test Reportの記載を満たすか確認する
 動作確認
 見つかった時だけ表示して、止まるように書き換える
 以下、実行結果の例⇒314番目=22時間19分ほどの時間差
65
> python2 otp.py
00314 7113AAD3
答えを求める
 ここでは「2013/1/19 13:00:00 GMT+0100」を求めてみる
 起点「2013-01-18 14.05 GMT+0100」からの経過時間は82500秒
=約322回転後(256秒周期)
 時刻ズレも考慮して322回転後周辺のOTPを取得する
 CTF当日はWeb画面にOTPを投げてゴール
66
マイコン系問題のさわり67
PICの解析 (さわりだけ
 PIC のファームウェアを入手したときの解析
 プロテクトがかかっていなければ吸い出せる
 gpdasmで逆アセンブリ(正確に逆アセンブリできない場合がある)
 http://www.dinceraydin.com/pic/djdasm/djdasm.htmlで逆アセンブリ
68
;Generated by PICDIS18, Claudiu Chiculita, 2003. http://www.ac.ugal.ro/staff/ckiku/software
;Select your processor
LIST P=18F252 ; modify this
#include "p18f252.inc" ; and this
ORG 0
rrcf 0,W
DE 8Ah ;WARNING: unknown instruction!
incf EECON1,W
nop
sublw 14h
swapf 7,W,BANKED
DE 8Ch ;WARNING: unknown instruction!
retlw 14h
DE 8Dh ;WARNING: unknown instruction!
retlw 8Dh
retlw 8Dh
rrcf 1Fh,W
decf 8Dh,W,BANKED
sublw 0Dh
decf 16h,f,BANKED
DE 84h ;WARNING: unknown instruction!
DE 18Dh ;WARNING: unknown instruction!
xorlw 8Dh
Arduinoの解析 (さわりだけ
 Arduino のファームウェアを入手したときの解析
 ArduinoはAVRというワンチップマイコンやIntelのチップを用
いたものが存在する
 target.hexファイルを入手しバイナリファイルtarget.binへ変換
 逆アセンブリをかける
 avr-objdump.exe -S target.bin
 Arduinoをインストールしているとobjdumpが入ってくる
 C:¥Users¥[USER_ID]¥AppData¥Local¥Arduino15¥packages¥ardui
no¥tools¥avr-gcc¥4.9.2-atmel3.5.3-arduino2¥bin¥avr-objdump.exe
 C:¥Users¥[USER_ID]¥AppData¥Local¥Arduino15¥packages¥Intel¥
tools¥arc-elf32¥1.6.9+1.0.1¥bin¥arc-elf32-objdump.exe
69
Arduinoの解析(例)70
40034140: 276f 003f clri 0
40034144: 200a 0f80 4003 4000 mov r0,0x40034000
4003414c: 206b 0940 sr r0,[int_vector_base]
40034150: 240a 3f80 a801 1fbc mov sp,0xa8011fbc
40034158: 204a 0800 mov r0,0x20
4003415c: 206b 0440 sr r0,[che_mode]
40034160: 2020 0f80 4003 4448 j 0x40034448
40034168: 2069 0040 flag 0x1
4003416c: 264a 7000 mov 0,0
40034170: 264a 7000 mov 0,0
40034174: 264a 7000 mov 0,0
40034178: 2020 0f80 4003 4168 j 0x40034168
40034180: 264a 7000 mov 0,0
40034184: 240a 3f80 a801 17bc mov sp,0xa80117bc
4003418c: 20aa 0290 lr r0,[1034]
40034190: 2042 0400 sub r0,r0,0x10
40034194: 210a 0f80 a800 e000 mov r1,0xa800e000
4003419c: 2115 0000 add2 r0,r1,r0
400341a0: 1000 0001 ld r1,[r0]
400341a4: 7960 jl_s.d [r1]
400341a6: 264a 7000 mov 0,0
400341aa: 246f 003f rtie
400341ae: 78e0 nop_s
400341b0: 2005 0043 or r3,r0,r1
400341b4: bb1e asl_s r3,r3,0x1e
400341b6: 4500 mov_s r5,r0
400341b8: 0b4d 00a5 brhs.d.nt r3,r2,0x40034204
400341bc: 2242 8043 sub.f r3,r2,0x1
400341c0: 8180 ld_s r12,[r1,0]
400341c2: 2b42 80fc asr.f lp_count,r3,0x3
400341c6: 0b11 00b6 bbit0.d.nt r3,0x2,0x400341d4
400341ca: bac1 bmsk_s r2,r2,0x1
400341cc: 1d04 0310 st.ab r12,[r5,4]
400341d0: 1104 020c ld.aw r12,[r1,4]
400341d4: 20e8 026f lppnz 0x400341e6
400341d8: 432c ld_s r3,[r1,0x4]
400341da: 1d04 0310 st.ab r12,[r5,4]
さいごに71
回路問題のポイント
 電子部品を調査する
 マイコンの有無
 AVR,PIC,…
 通信ポート/チップの有無
 MAX232,FTDI,Ether,…
 記憶媒体の有無
 SD,EEPROM,RAM,ROM,…
 入出力の関係を調べる
 スイッチ、LED、LCD等
 道具で解析する
 各プロトコルの通信ケーブルを使う
 RS232C,SPI,CAN,…
 電気信号を直接見る
 テスター,オシロスコープ,スペアナ,ロジックアナライザー
 その他信号を投げる
 GPIO,A/Dコンバータ,シグナルジェネレータ,…
72

Weitere ähnliche Inhalte

Was ist angesagt?

FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
 

Was ist angesagt? (20)

FPGAX6_hayashi
FPGAX6_hayashiFPGAX6_hayashi
FPGAX6_hayashi
 
素晴らしきメガデモの世界
素晴らしきメガデモの世界素晴らしきメガデモの世界
素晴らしきメガデモの世界
 
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
 
CTF(Capture the Flag)って何?
CTF(Capture the Flag)って何?CTF(Capture the Flag)って何?
CTF(Capture the Flag)って何?
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回
 
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
 
60分でわかるソケットプログラミング
60分でわかるソケットプログラミング60分でわかるソケットプログラミング
60分でわかるソケットプログラミング
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
Reconf_201409
Reconf_201409Reconf_201409
Reconf_201409
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
FPGAって、何?
FPGAって、何?FPGAって、何?
FPGAって、何?
 
Info talk2013
Info talk2013Info talk2013
Info talk2013
 
増え続ける情報に対応するためのFPGA基礎知識
増え続ける情報に対応するためのFPGA基礎知識増え続ける情報に対応するためのFPGA基礎知識
増え続ける情報に対応するためのFPGA基礎知識
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
Pynq祭り資料
Pynq祭り資料Pynq祭り資料
Pynq祭り資料
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
 

Ähnlich wie katagaitaictf7_hw_ysk

seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
Hirotaka Kawata
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013
openrtm
 
Boost study14
Boost study14Boost study14
Boost study14
fjnl
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
Takuma Usui
 
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミングHaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
Kiwamu Okabe
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
swkagami
 

Ähnlich wie katagaitaictf7_hw_ysk (20)

Imaocande LT
Imaocande LTImaocande LT
Imaocande LT
 
kagamicomput201814
kagamicomput201814kagamicomput201814
kagamicomput201814
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
VHDL-2008が好きなんです
VHDL-2008が好きなんですVHDL-2008が好きなんです
VHDL-2008が好きなんです
 
Android デバッグ小ネタ
Android デバッグ小ネタAndroid デバッグ小ネタ
Android デバッグ小ネタ
 
131106 01 i-rex2013
131106 01 i-rex2013131106 01 i-rex2013
131106 01 i-rex2013
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
Boost study14
Boost study14Boost study14
Boost study14
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
 
Movidius Neral Compute Stickを使ってみた
Movidius Neral Compute Stickを使ってみたMovidius Neral Compute Stickを使ってみた
Movidius Neral Compute Stickを使ってみた
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
 
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミングHaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
kagami_comput2015_14
kagami_comput2015_14kagami_comput2015_14
kagami_comput2015_14
 
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
ワイヤレス技術をアタックで検証 by 堀合啓一 - CODE BLUE 2015
 

Kürzlich hochgeladen

Kürzlich hochgeladen (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: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...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: 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
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: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
 

katagaitaictf7_hw_ysk