際際滷

際際滷Share a Scribd company logo
パケット盾裂
ライブラリの_k
すらんく (@slankdev)
セキュリティ?キャンプ 2015 怱I伏
Mar 4 2016 Security Camp Forum 1
Agenda
o パケット盾裂のF彜
? パケット盾裂の協墳
? パケット盾裂はもっとこうあるべき
o LibPGENのB初
o LibPGENのO
o LibPGENの聞喘箭
Mar 4 2016 Security Camp Forum 2
はじめに
o このライブラリはF壓CybozuLab幄塀氏芙の仝サイボウ
ズ?ラボユ`ス々というプロジェクトで_kを屶址していただ
いています。
o セキュリティ?キャンプvS宀の圭?の吭なども歌深に
させていただいています。
o このを処りてありがとうございます。
Mar 4 2016 Security Camp Forum 3
云輝は書晩は´.
o 肇定の12埖に巷_したversion1についてk燕しようと房っ
ていたのですが´
oラボユ`スでの_k嶄にいろいろなことがありまして
Mar 4 2016 Security Camp Forum 4
サイボウズ ラボユ`スにて
Mar 4 2016 Security Camp Forum 5
ここのg廾はどうしてこうなんですか?
こうしないとダメじゃないんですか
ラボユ`ス兜豚の_k嬉ち栽わせにて
ここはry)
そもそもC++のソフトウェアなのにいろい
ろできていなry)
あ、そうです。なおします
はい、そこもです。
。。。。
Mar 4 2016 Security Camp Forum 6
畠何Oしなおして恬り岷そう
ってことでまだ畠てg廾しきれてないです
廣吭!!
o _k嶄のversion2.0の_kにvしてのk燕を佩います
Mar 4 2016 Security Camp Forum 7
Agenda
o パケット盾裂のF彜
? パケット盾裂の協墳
? パケット盾裂はもっとこうあるべき
o LibPGENのB初
o LibPGENのO
o LibPGENの聞喘箭
Mar 4 2016 Security Camp Forum 8
Agenda
o パケット盾裂のF彜
? パケット盾裂の協墳
? パケット盾裂はもっとこうあるべき
o LibPGENのB初
o LibPGENのO
o LibPGENの聞喘箭
Mar 4 2016 Security Camp Forum 9
パケット盾裂の協墳
o Wiresharkにmった盾裂(ダメとは畠く冱っていない)
o ディスプレイフィルタや、N源な秤I尖C嬬が恷互
o はっきり冱って、盾裂しているのは繁でなくo
Mar 4 2016 Security Camp Forum 10
おう、このパケットどうよ?
lengthがあってないでシャ`ク
おかしいでシャ`ク
このパケット盾裂だけでは´
o oのしらないプロトコルの竃F!! ? ドウスル´
o パケット盾裂、I尖嬬薦の駅勣來
Mar 4 2016 Security Camp Forum 11
尖
Fg
Agenda
o パケット盾裂のF彜
? パケット盾裂の協墳
? パケット盾裂はもっとこうあるべき
o LibPGENのB初
o LibPGENのO
o LibPGENの聞喘箭
Mar 4 2016 Security Camp Forum 12
パケット盾裂はもっとこうあるべき
o 徭喇にプログラミングしたい。。もっと弼?[びたい
o るだけじゃ。。。キマらない
o パケットを恬りたい、笋┐燭
Mar 4 2016 Security Camp Forum 13
おう、mりにしてるけど
匯繁でもある殻業竃栖るぜ
すごいでシャ`ク
すごいでシャ`ク
尖
o プログラミングしたい
o gで徭喇徭壓にパケットを的くり宜したい
Mar 4 2016 Security Camp Forum 14
パ
ケ
ッ
ト
盾
裂
な
ん
て
Agenda
o パケット盾裂のF彜
? パケット盾裂の協墳
? パケット盾裂はもっとこうあるべき
o LibPGENのB初
o LibPGENのO
o LibPGENの聞喘箭
Mar 4 2016 Security Camp Forum 15
LibPGEN: とは
o iみ圭は仝りぶ ぴ`じぇん々です
o C++で旋喘辛嬬なパケット盾裂ライブラリ
oユ`ザが屎しくパケットを恬るa廁などのC嬬あり
oもちろん挫き拱屬砲い犬れるようにしました
Mar 4 2016 Security Camp Forum 16
LibPGEN: 古勣
o gなコ`ドでパケットを的り宜せる
o この順晢ではScapyが嗤兆ですが、それのC++井みたいな
o パケット盾裂だけでなく、?なC嬬を弖紗嚠協
Mar 4 2016 Security Camp Forum 17
LibPGEN: 蒙罿釆岱ミ
o 仟ミ
? パケットをQうライブラリ
? 屡贋ライブラリでは朕議を嶷
? このライブラリでは協を嶷
? その圭が茶になるんじゃね
o 蒙
? しやすいOに
? プロトコルの岑Rさえあれば的り宜せる
Mar 4 2016 Security Camp Forum 18
LibPGEN: 蒙罿釆岱ミ
o 嗤兆どころのライブラリは´
o 朕議嶷 ★ アプリケ`ション_kなどには恷m
Mar 4 2016 Security Camp Forum 19
LibPGEN: 蒙罿釆岱ミ
o LibPGENは´
o パケットg了でのプログラミング
o 宥佚に崛る^殻を嶷 ★ いろんなことを僥べるかもね
Mar 4 2016 Security Camp Forum 20
LibPGEN: 蒙罿釆岱ミ
o F壓鬉離廛蹈肇灰 (version1では)
? Ethernet, ARP, IP, ICMP, TCP, UDP
o これ參翌のプロトコルはが否叟なOに(瘁峰)
Mar 4 2016 Security Camp Forum 21
LibPGEN: 書瘁の婢_
o ?なプロトコルをサポ`ト
Mar 4 2016 Security Camp Forum 22
Agenda
o パケット盾裂のF彜
? パケット盾裂の協墳
? パケット盾裂はもっとこうあるべき
o LibPGENのB初
o LibPGENのO
o LibPGENの聞喘箭
Mar 4 2016 Security Camp Forum 23
ア`キテクチャ
Mar 4 2016 Security Camp Forum 24
IO Controller
Address Controller
Module
Packet Controller
3つのコンポ`ネントに蛍護
o IO Controller
? デ`タの秘竃薦を毅輝
? ネットワ`クインタ`フェ`スに僕鞭佚
? PCAP, PCAPNGファイルにきzみ
o Address Controller
? アドレスI尖などを毅輝
? 猟忖双からアドレスなど
o Packet Controller
? ?なプロトコルのパケットを盾裂、恬撹などを毅輝
o Module
? 貧の眉つを聞ってかれたモジュ`ル蛤
Mar 4 2016 Security Camp Forum 25
Packet, Address Controller
o パケットやアドレスのバイナリの伏撹や、盾裂などを佩う
o gなインタ`フェ`スでパケットのデ`タをシなどを
辛嬬にします
o 箭えばARPパケットならこんな湖じ
Mar 4 2016 Security Camp Forum 26
Packet, Address class
o Packet class
? 光プロトコルに鬉靴織僖吋奪肇ラスがある
? TCPパケットなら pgen::tcp クラス
? (まだないけど) HTTPパケットなら pgen::http クラス
o Address class
? MACアドレスとIPアドレスがある
? pgen::macaddress クラス
? pgen::ipaddressクラス
Mar 4 2016 Security Camp Forum 27
IO Controller
o デ`タの秘竃薦を砿尖するクラス
? ネットワ`クインタ`フェ`ス
? pcapファイル
? pcapNgファイル
o 屡贋のstreamクラスと聞い圭は畠く匯w
o 參和參翌の圭隈もあります
Mar 4 2016 Security Camp Forum 28
g廾について
o 兜めてC++での_kっぽいものをしたので
Wにはかなりむずかしいです (もやし)
Mar 4 2016 Security Camp Forum 29
ユ`ザのミスを岑らせる
o 覆任呂かしいパケットを恬撹できないように
ユ`ザをある殻業崩`
o プロトコルごとで卆贋しあう勣殆などがけっこうある
Mar 4 2016 Security Camp Forum 30
ユ`ザのミスを岑らせる
Mar 4 2016 Security Camp Forum 31
o lengthに}がある栽
? こんな湖じに卆贋しあう、あると´
o g廾は´
? 互レイヤのフィ`ルドからO協させる
(カプセル晒の児云)
? パケット宥佚の児云どうりに恬るぜ
E
T
H
I
P
U
D
P
D
a
t
a
デ`タL
UDPlength
IPtotallength
パケットL
しやすいOの辛嬬來
o 仟・廛蹈肇灰襪悗をgに竃栖るようにしました
o プロトコルの圭隈
? 仟たなパケットクラスをg廾するだけ
Mar 4 2016 Security Camp Forum 32
仟・廛蹈肇灰襪するには
o パケットにvするクラスのナカミ (匯何)
o pgen::packetクラスを@覚するだけ
o pgen::packetクラスの廾v方をg廾するだけ
? compile() パケットのバイナリを伏撹
? analyze() バイナリをパケットとして盾裂
? summary() 秤鶻薦
Mar 4 2016 Security Camp Forum 33
云輝の
やるだけ
Agenda
o パケット盾裂のF彜
? パケット盾裂の協墳
? パケット盾裂はもっとこうあるべき
o LibPGENのB初
o LibPGENのO
o LibPGENの聞喘箭
Mar 4 2016 Security Camp Forum 34
oができないFollow ICMP Stream
o Fg議なメリットとかは櫃砲擦 Let¨s パケット盾裂
o WiresharkのFollow TCP Streamは恷互にク`ル
でもFollow ICMP Streamはない (ある駅勣はeに´)
o パケット盾裂の[びです
o Special Thanks: イケメンパケリスト
Mar 4 2016 Security Camp Forum 35
oができないFollow ICMP Stream
o }
? icmpパケットにして鮫颯禰`タを蛍護してデ`タ何に
くっつけられたパケットが嚥えられる
? そこから圷の鮫颪砲發匹
? パケットは參和を聞います
https://www.cloudshark.org/captures/97e668880ded
Mar 4 2016 Security Camp Forum 36
oができないFollow ICMP Stream
Mar 4 2016 Security Camp Forum 37
oができないFollow ICMP Stream
Mar 4 2016 Security Camp Forum 38
これじゃ採も
わかんないから
oができないFollow ICMP Stream
Mar 4 2016 Security Camp Forum 39
こうして´
こうじゃ!!
やったぜ
More Information
oライブラリのB初サイト
http://libpgen.org
o OSPN Press にdしていただきました。 (version1が)
http://www.ospn.jp/press/20160209no44-useit-oss.html
oWのブログでも秤鷙_します
http://blog.slankdev.net
Mar 4 2016 Security Camp Forum 40
恷瘁に
o パケットで[ぼう
o Thanks
my packet and friends
Mar 4 2016 Security Camp Forum 41
凋
よ
り
嶷
い

パ
ケ
ッ
ト
は

More Related Content

Seurity Camp Award 2016