SlideShare a Scribd company logo
1 of 41
Download to read offline
永井 晃人† 神崎 雄一郎‡ 門田暁人††
保護コードの自然さに着目した命令カムフラージュ
2015 03 17
†熊本高等専門学校 電子情報システム工学専攻 ‡熊本高等専門学校 人間情報システム工学科
††奈良先端科学技術大学院大学 情報科学研究科
研究背景 と 目的
ソフトウェア保護と命令カムフラージュ法の問題とは
2
1 2 3 4
3
なぜソフトウェア保護が必要か
商用ソフトウェアは
ライセンスチェックルーチンや
独自のアルゴリズムを含む
これら秘密情報は悪意を持った攻撃者による攻撃の対象になる
3つの攻撃手順
4
攻撃者による攻撃の手順
1 2 3
逆アセンブル
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
攻撃者が理解しやすいコード
5
1 2 3
攻撃対象の発見
3つの攻撃手順
攻撃者による攻撃の手順
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
秘密情報が含まれている可能性大
6
1 2 3
コードの理解
3つの攻撃手順
攻撃者による攻撃の手順
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
1000 AB 10 CF 23 31
1001 3F 3A 3B 10 0A
1002 FF 1A 3C D3 3F
1003 C3 34 10 FA FF
1004 CD EF EE 01 10
1005 AB 93 01 3A D0
1006 CC 30 E2 DD 60
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
mov %ebp, %eax
nop
mov %eax, $10
cmp $10, %ebp
je L10
mov %ebp, %exx
jmp
秘密情報を改ざん・取得
7
秘密情報とソフトウェア保護の必要性
どうやって秘密情報を守るのか?
ソフトウェア保護を適用し
秘密情報を隠す
難読化 命令カムフラージュ暗号化
8
人間が理解しにくい形に一部のコードを追加・変更
様々なソフトウェア保護
Z = (xy + ((x & y) << 1 )) | w) + ((xy + ((x & y << 1)) & w)
例 ) 整数演算の複雑化の例
Z = x + y + w
難読化 命令カムフラージュ暗号化
9
コードの一部を暗号化し実行時に復号
様々なソフトウェア保護
例 ) AESを用いた暗号化の例
cmp
jge
mov
esi, edi
L1
eax, [ebp+12]
012dae3d7f123eac3
ff356dad2369000ce
af0970359afe89867
暗号化
復号ルーチン
難読化 命令カムフラージュ暗号化
10
一部の命令を偽装し,実行時のみ復帰
様々なソフトウェア保護
例 ) jne命令をjmp命令で偽装する例
:
movl %eax ,%ebp
movl $10 ,%ebp
jne L10
nop
:
復帰ルーチン
:
movl %eax ,%ebp
movl $10 ,%ebp
jmp L7
nop
:
隠蔽ルーチン
偽装
難読化 命令カムフラージュ暗号化
11
ソフトウェア保護の改良
新たな命令カムフラージュ法
を提案する
12
命令カムフラージュ法とは
1 2
命令を別の命令で偽装し,自己書き換え機構により
一定期間のみ本来の命令に戻すソフトウェア保護法
攻撃者からのコードの理解を
困難にする
この手法は
13
命令カムフラージュ法の例
1 2
命令の偽装
:
:
movl %eax ,%ebp
movl $10 ,%ebp
jmp L7
nop
:
:
:
movl %eax ,%ebp
movl $10 ,%ebp
jne L10
nop
:
オリジナルプログラム カムフラージュ後のプログラム
:
:
movl %eax ,%ebp
movl $10 ,%ebp
jmp L7
nop
:
:
オリジナルプログラム カムフラージュ後のプログラム
14
Replace with “jne L10”
Replace with “jmp L7”
自己書き換え機構の挿入
1 2
復帰
隠蔽
命令カムフラージュ法の例
:
movl %eax ,%ebp
movl $10 ,%ebp
jne L10
nop
:
偽装命令の決定は保護方法の使用者に委ねられている
15
命令カムフラージュ法の問題
コード本来の意味が大きく
破壊される可能性がある
すなわち
16
命令カムフラージュ法の問題
不自然なコード
が生成される
Original Example 2Example 1
mov
call
cmp
je
call
aaa命令は加算命令の後に
使用する特殊な命令であり
不自然
比較命令 の後のjmp
命令は不自然
17
不自然なコードの例
mov
call
cmp
jmp
call
mov
call
aaa
je
call
偽装命令の選択しだいでは
Example 2
Original Example 2Example 1
mov
call
cmp
je
call
18
不自然なコードの例
mov
call
cmp
jmp
call
mov
call
aaa
je
call
結果として
攻撃者が保護コードを発見しやすくなり
攻撃者の解析を容易にする
偽装対象命令の周辺コードを考慮した場合に最も
自然な(不自然ではない)偽装命令で偽装する
19
研究の目的
不自然
mov
call
aaa
je
call
mov
call
test
je
call
自然
条件付きジャンプ命令
の前にtest命令は自然
元コード
mov
call
cmp
je
call
偽装対象命令の周辺コードを考慮した場合に最も
自然な(不自然ではない)偽装命令で偽装する
20
研究の目的
元コード
mov
call
cmp
je
call
不自然
mov
call
aaa
je
call
mov
call
test
je
call
自然
保護コードの自然さを考慮した
命令カムフラージュ法
21
不自然さ
コードの不自然さをどう評価するのか
22
1 2 3 4
23
自然言語をコーパスとした確率的言語モデル
文の自然さ
N-gramモデル
コーパスから文の生成確率を計算
文の自然さを生成確率で表現
私は パソコンが ____
好き
強い
生成確率: 0.92
生成確率: 0.12
24
自然言語をコーパスとした確率的言語モデル
コードの不自然さ
N-gramモデル
自然言語 不自然さ コードの不自然さ
アセンブリの命令を使用
自然言語
25
自然言語をコーパスとした確率的言語モデル
コードの不自然さ
N-gramモデル
自然言語 不自然さ コードの不自然さ
𝑷(𝒊 𝟏
𝒏
) ≈
𝒌=𝟏
𝒏
𝑷 𝒊 𝒌 𝒊 𝒌−𝑵+𝟏
𝒌−𝟏
)
𝑨𝒓𝒕𝒊𝒇𝒊𝒄𝒊𝒂𝒍𝒊𝒕𝒚 𝑨 𝑪 = − 𝐥𝐨𝐠 𝟏𝟎 𝑷(𝒊 𝟏
𝒏
)
生成確率
不自然さ
※Aの値が低いことを「自然」と呼ぶ
26
自然言語をコーパスとした確率的言語モデル
コードの不自然さ
N-gramモデル
自然言語 不自然さ コードの不自然さ
mov
call
test
je
call
mov call test
call test je
test je call
P(test | mov call)
P(je | call test)
P(call | test je)
不自
然さ
※コード長5の場合に3-gramによってコードの不自然さを求める例
log
27
自然言語をコーパスとした確率的言語モデル
コードの不自然さ
N-gramモデル
mov
call
test
je
call
mov
call
call
je
call
0.322.21
mov
call
cmp
je
call
自然な偽装命令の決定
自然な偽装命令を決定するには?
28
1 2 3 4
偽装命令候補の各アセンブリ命令で
偽装対象命令を上書き
不自然さが最小な偽装命令を
自然な偽装命令として決定
29
各コードの不自然さを測定
自然な偽装命令の決定手順
決定
手順
30
偽装コード
生成
aaa
aad
aam
:
mov
call
cmp
je
mov
偽装命令の候補
偽装命令と
その周辺コード
上書きされたコード
偽装対象命令の上書き
1 2 3
偽装命令候補の各アセンブリ命令で
偽装対象命令を上書き
mov
call
aaa
je
mov
mov
call
aaa
je
mov
mov
call
aaa
je
mov
31
不自然さの測定
1 2 3
各コードの不自然さを測定
不自然さ評価
上書きされたコード
mov
call
aaa
je
mov
mov
call
aaa
je
mov
mov
call
aaa
je
mov
N-gram
モデル
不自然
さ
A(C)不自然
さA
不自然
さA
32
1 2 3
不自然さが最小な偽装命令を
自然な偽装命令として決定
偽装命令の決定
選択
ケーススタディ
DRMプログラムへの適用
33
1 2 3 4
実験1: 保護コードの偽装
1
2
保護適用対象のコード
Original
mov
call
cmp
je
call
DRMプログラムの保護適用対象コードに対して
自然な偽装命令でのカムフラージュ法を適用する
対象モジュール全体に対して
自然な偽装命令でのカムフラージュ法と
従来のカムフラージュ法を比較する
保護が適用されていない
ソフトウェア2030個の
コードを集めたコーパスを使用
実験2: 従来との比較
1
2
保護適用対象のコード
Original
mov
call
cmp
je
call
DRMプログラムの保護適用対象コードに対して
自然な偽装命令でのカムフラージュ法を適用
対象モジュール全体に対して
自然な偽装命令でのカムフラージュ法と
従来のカムフラージュ法との比較
保護が適用されていない
ソフトウェア2030個の
コードを集めたコーパスを使用
オリジナル 1-gram 2-gram 3-gram
コード
mov
call
cmp
je
call
mov
call
test
je
mov
call
test
je
call
不自然さ 0.35 2.29 4.26
決定した自然な偽装命令とその周辺命令列
36
偽装結果[1/2]
オリジナル 1-gram 2-gram 3-gram
mov
call
cmp
je
call
1
2
3
4
5
6
mov
call
lea
cmp
je
test
0.35
1.12
1.32
1.40
1.42
1.44
test
cmp
mov
lea
add
sub
2.29
2.89
3.17
4.46
4.80
5.04
test
cmp
sub
add
inc
dec
4.26
4.74
5.92
6.04
6.20
6.72
自然な偽装命令とその不自然さ
37
偽装結果[2/2]
オリジナルコードの不自然さ分布
(3-gram)
38
従来との比較結果[1/2]
0
2
4
6
8
10
12
不自然なコードはない
不
自
然
さ
従来のカムフラージュでの
不自然さ分布
(3-gram)
39
従来との比較結果[2/2]
0
2
4
6
8
10
12
不自然さを考慮したカムフラージュ法での
不自然さ分布
(3-gram)
従来のカムフラージュ法に比べ
目立つ箇所は少ない
不
自
然
さ
不
自
然
さ
0
2
4
6
8
10
12
不自然 自然
◆ 偽装対象命令のオペランドを考慮した自然な命令の決定
◆ 複数命令での自然な偽装や, 自己書き換えルーチンの
自然な挿入位置の決定
40
保護コードの自然さに着目した
命令カムフラージュ法を提案
今 後 の 課 題
結論と今後の議論
本日の流れ
41
1
2
3
4
研究背景 と 目的
不自然さ
自然な偽装命令の決定
ケーススタディ

More Related Content

Viewers also liked

2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишею
2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишею2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишею
2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишеюСокальська ЗШ І-ІІІ ступенів №2
 
Lightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst PracticesLightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst PracticesPGConf APAC
 
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD満徳 関
 
Patching up listening skills with TubeQuizard (SkyTeachConference)
Patching up listening skills with TubeQuizard (SkyTeachConference)Patching up listening skills with TubeQuizard (SkyTeachConference)
Patching up listening skills with TubeQuizard (SkyTeachConference)Olga Sergeeva
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (9)

2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишею
2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишею2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишею
2 клас урок 11 вдосконалення навичок роботи з клавіатурою те мишею
 
2 клас урок 10 призначення основних клавіш
2 клас урок 10 призначення основних клавіш2 клас урок 10 призначення основних клавіш
2 клас урок 10 призначення основних клавіш
 
2 клас урок 9 знайомтесь клавіатура
2 клас урок 9 знайомтесь   клавіатура2 клас урок 9 знайомтесь   клавіатура
2 клас урок 9 знайомтесь клавіатура
 
Lightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst PracticesLightening Talk - PostgreSQL Worst Practices
Lightening Talk - PostgreSQL Worst Practices
 
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
【17-D-3】リーンスタートアップとスマートなエンジニアリングの葛藤 #devsumi #devsumiD
 
Plan de mkt internacional
Plan de mkt internacionalPlan de mkt internacional
Plan de mkt internacional
 
Patching up listening skills with TubeQuizard (SkyTeachConference)
Patching up listening skills with TubeQuizard (SkyTeachConference)Patching up listening skills with TubeQuizard (SkyTeachConference)
Patching up listening skills with TubeQuizard (SkyTeachConference)
 
2 клас урок 12 клавіші керування курсором
2 клас урок 12 клавіші керування курсором2 клас урок 12 клавіші керування курсором
2 клас урок 12 клавіші керування курсором
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

保護コードの自然さに着目した命令カムフラージュ