SlideShare a Scribd company logo
1 of 20
A rapid filtering rule management
plane implementation using
distributed in-memory caching
system
Network Security Research Institute, National Institute of Information and
Communications Technology
Ruo Ando
情報通信研究機構 ネットワークセキュリティ研究所
安藤類央
IT・ISEC・WBS合同研究会 3/2 – 3/3
(23) 16:40-17:05
http://starbed.nict.go.jp/
概要:仮想ネットワーク上での分散インメモリキャッシュを
用いたフィルタリングルール処理の高速化
ネットワーク仮想化(抽象化)とその周辺技術(Software Defined Network, クラ
ウドコンピューティング)の発達により、アクセス制御技術、特にパケットフィルタ
リングルール処理に修正が求められている。
また、SDNの基本設計方針の結果として、データプレーンは分散、大規模化し、
コントロールプレーンに処理が集中し、SPOF(単一障害点)やスケーラビリティ
の点で問題が生じている。
提案システムには大規模なフィルタリングルールの処理のためにMemcached
(分散インメモリキャッシュシステム)を用いた。また、C (Consistency)、
A(Availability)、P(Partition Torelance)のうち、Cの制約を緩めることでスケール
アウトまたは冗長化が容易なシステムの構築を行った。
評価実験では、radix treeを用いたIPフィルタリングを実装し、10, 1000, 10000,
100000までのルールセットの処理を行い、通常のデータストアを用いたシステ
ムではルール1000以上で処理が許容不可能になるのに対し、提案システムは
ルール数が100000を越えても許容可能な負荷率で稼動する(CPU負荷率で1
0%以内)ことを示した。
Network Virtualization: Separation of data,
control and management plane
HW
DataPlane
HW
Control Plane
rule DB
upcaller
HW
DataPlane
HW
DataPlane
Control Plane
HW
Data Plane
Control Plane
HW
Data Plane
Control Plane
HW
Data Plane
Firewall
Load Balancer Application Firewall
Firewall
Load Balancer
Application Firewall
Management Plane
本論文での改良対象
スケーラビリティを確保することが現状では困難
Avenues of Attack
Sensitive data
Enterprise Network
Missing
Security Patches
Misconfigured
Database
Advanced Attacks
Sensitive
Data Leaks
Escalating
User Privileges
Default
Passwords
Weak
Passwords
Unauthorized
Database
Weak
PRNG
CDP:Functional & Operational Firewall Pattern - AWS-CloudDesignPattern
Nemesis: preventing authentication & access control vulnerabilities in web
applications, SSYM'09 Proceedings of the 18th conference on USENIX security
symposium
Detecting BGP configuration faults with static analysis, NSDI'05 Proceedings of the
2nd conference on Symposium on Networked Systems Design & Implementation
A security enforcement kernel for OpenFlow networks, HotSDN '12 Proceedings of the
first workshop on Hot topics in software defined networks
Misconfigured
Filtering
Management planeの
対象領域
Network virtualization: abstraction and
centralization
NIC
HD
CPU
RAM
FW
LB
VLANS
VRF
2001 2012
image
vCPU
vRAM
vNIC FlowTable
vFW
vLB
abstraction layer
Xen
KVM
VMWare
OpenFlow
Open vSwitch
FloodLight
Decouple
Virtualization layer
reproduce
Automate
Network virtualization: slicing after virtualization and
abstraction
x86 / ARM
Virtualization
Layer
Windows Linux
Open Flow
Virtualization
Or Slicing
NOX NOX
CPU, Hardisk, PIC, IO
X86 instruction set
Xen, QEMU, etc
Windows Linux
Hardware Resources
Abstraction layer
Virtualization Layer
slice slice
Bandwidth, CPU, FIB
OpenFlow
FlowVisor
Controller Contoller
Definition of a slice
• Slice is a set of flows (called flowspace) running on a topology of switches.
https://www.clear.rice.edu/comp529/.../tutorial_4.pdf
Network virtualization: Deployment example
• Virtualized Networking environment = SDN + Cloud computing.
• Instance is virtualized
• Network is also virtualized
hypervisor
VM VM
hypervisor
VM VM
SDN controller Network operating system
Routing Traffic
Engineering
Load
Balancing
Open Flow Switch Open Flow Switch
Data Plane
Control Plane
各ノードは仮想化
され、マルチテナント
として同一物理NIC
上に配置される。
ネットワークも仮想化
され、フィルタリングと
マッチング処理が分離
一元化される。
Open vSwitch. B. Pfaff, J. Pettit, K. Amidon, M. Casado, T. Koponen, an
d S. Shenker. Extending Networking into the Virtualization Layer. In
HotNets, 2009
Operational /
Functional FW
Amazon EC2
Design Pattern
Drawbacks of SDN: Distributed Dataplane vs
Centralized Controller
HW
DataPlane
HW
Control Plane
Switch DB
upcaller
HW
DataPlane
HW
DataPlane
データセンターなどの
コアネットワークでは
データプレーンはスケールア
ウトし、性能は変わらない。
②通常のvSwitchの設計では
パケットデータはユーザ空間
に転送されるが、その際のボ
トルネックが生じる。
①SDNの一元管理の性
質から、コントローラに
処理が集中する。
本論文では、①と②の
問題点に対して、ユーザ
モードで稼動する
Memcachedを用いて
スケーラブルなシステムを
構築する。
設計上の問題:仮想化環境とスケーラビリティ
Centralized access
control model
2000 2005 2010 2014
Virtualization
Technology
(hypervisor)
Cloud computing
Domain Specific /
Declarative Language
Open Flow
DSL for IDS and access
control
New Security
Concerns
DSL for SDN
Rules and conflict
management
sHype
Pyretic
Xen
Chimera
ForNox
RuleBricks
Remote Attestation
Attack on multi-tenant
アクセス制御の
一元化
ネットワーク
抽象化
アクセス制御の
表現方法の問題
Open vSwitch
vMAC
sandbox xenprobe
subvirt
仮想化、ハイパーバイザー内でのAC一元化
スケーラブル、合成可能な
観測システムの構築BGP attack
ネットワークのスライシング
仮想化技術を用いた
動的解析
ConfAid
BotMiner
解析の大規模化
大規模システムでの設定・
Access Ctrlの検査
Flowvisor
HyperDex Ensenble
CAP定理:分散システムでの3つの設計条件
"Logically centralized?: state distribution trade-offs in software defined networks", Dan Levin, Andreas
Wundsam, Brandon Heller, Nikhil Handigol and Anja Feldmann, HotSDN '12 Proceedings of the first workshop
on Hot topics in software defined networks
Controller component choices:
[1] Strongly consistent – controller components always operate on the same
world view. Imposes delay and overhead.
[2] Eventually consistent – controller components incorporate information as
it becomes available but may make decisions on different world views.
http://www.richardclegg.org/node/21
C A
P
NoSQLRDBMS
Consistency Availability
Tolerance to network
partition
CAP Theorem (Eric Brewer 2000)
Enforced Consistency Eventual Consistency パケットフィルタなどの処理では
Strongly Consistentであることが
求められる(望ましい)
NoSQLを用いることで
A (availability)
P (Tolerance to network partition)
S (Scalability)
が達成される。
Memcached – In memory distributed
caching system
Memcached
Client
memcached は、汎用の分散型メモリキャッ
シュシステムである。
DataBase WebServer
Client Client
HW
DataPlane Forwarder
本システムでは、ユーザモードで稼動する
forwarderがMemcachedに問い合わせる。
cache miss
memcached の API は、複数のマシン上に分
散された巨大なハッシュテーブルを提供する。
テーブルがいっぱいの場合、以降のデータの
新規挿入により古いデータはLeast Recently
Used 順序で削除される。memcached を用い
るアプリケーションは、背後にあるデータベー
スなどの低速な記憶装置へのアクセスの前に
memcached のリクエストを挿入する。
オンメモリで稼動し、クライアントがConsistent
Hashingをもちいることで、分散・冗長化が可能。
Rapid filtering rule management plane
with memcached tier
Memcached 1
Memcached 2
Memcached 3
ruleDB
ruleDB
ruleDB
control plane
Hardware
data plane
Hardware
data plane
Hardware
data plane
Hardware
upcaller
Select memcached
1..n with consistent
hashing
Cache miss
同手法はFlow Tableがほとんど
変化しないCore networkで有効
であると想定される。
Memcached tier achieves A (availability) and P (partition tolerance)
"Logically centralized?: state distribution trade-offs in software defined networks", Dan Levin, Andreas
Wundsam, Brandon Heller, Nikhil Handigol and Anja Feldmann, HotSDN '12 Proceedings of the first workshop
on Hot topics in software defined networks
Controller component choices:
[1] Strongly consistent – controller components always operate on the same
world view. Imposes delay and overhead.
[2] Eventually consistent – controller components incorporate information as
it becomes available but may make decisions on different world views.
http://www.richardclegg.org/node/21
C A
P
NoSQLRDBMS
Consistency Availability
Tolerance to network
partition
CAP Theorem (Eric Brewer 2000)
Enforced Consistency Eventual Consistency パケットフィルタなどの処理では
Strongly Consistentであることが
求められる(望ましい)
NoSQLを用いることで
A (availability)
P (Tolerance to network partition)
S (Scalability)
が達成される。
Basic SDN architecture and proposed system
Node (VM)
Node (VM)
Node (VM)
Flow
Table
ControllerSecure
Channel
Node (VM)
Node (VM)
Node (VM)
Filtering
rule
Table
Data store
match
match
判定処理(match)はノード側で行い、パケットは転送
しない。→ これにより、フィルタリングの一元管理を
達成しつつ、Control/Management Planeの負荷を下
げる。
Ingress packets
Ingress packets
Data plane Control plane
Control and Data plane Management plane
VCRIB: Virtualized rule management in the cloud Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan the
4th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud). Boston, MA, June 2012.
Basic SDN
提案手法
Management Plane Isolation:提案システムの機能配置
DataStoreの
適用
Scalabilityを
確保する
一元管理:
設定管理
ミスをなくす
Data planeとControl planeは
同一ホスト(インスタンス)内で
分離しない。
フィルタリング・設定情報の
管理用にManagement planeを
設置して管理。
全てのcomponentをuser modeで実装することでdeploymentのコストを下げ、迅速にする。
Adopting basic datastore on management plane
auto_ptr<mongo::DBClientCursor> cursor =
client.query(ns, mongo::BSONObj());
while(cursor->more()) {
mongo::BSONObj p = cursor->next();
mongo::OID oid = p["_id"].OID();
string dest = p["dest"].str();
int mask = p["mask"].numberInt();
string gateway = p["gateway"].str();
const char *p0 = dest.c_str();
const char *p1 = gateway.c_str();
add_rtentry(p0, mask, p1);
int res;
res = find_route(dstAddress);
if(res==0)
printf("route find n");
/* flush entry /*
rm_rtentry(p0, mask);
{"_id":
"$oid":"53370eaeb1f58908a9837910"
"dest":"10.0.0.0","mask":
8,"gateway":"192.168.0.2"}
Radix treeのエントリを動的に読み出すことで
リモート(management plane)から任意の
タイミングでフィルタリングルールを変更できる
ようにする。
Filtering ruleはBSON (JSON)で記述
a radix tree (also patricia trie or radix trie or
compact prefix tree) is a space-optimized trie
data structure where each node with only one
child is merged with its parent.
14 entry.addr = ntohl(addr dst.s addr);
15 entry.prefix len = 32;
17 radix tree<rtentry, in addr>::iterator it;
18
19 it = rttable.longest match(entry);
20 if (it == rttable.end()) f
21 std::cout << ‘‘no route to ‘‘ << dst << std::endl;
22 return 1;
if ((memc = memcached_create(NULL)) == NULL) {
fprintf(stderr, "failed to allocate memoryn");
// return 1;
}
rv = memcached_server_add(memc, "localhost", 11211);
if (rv != MEMCACHED_SUCCESS) {
fprintf(stderr, "failed to set servern");
return 1;
}
char *result;
uint32_t flags;
size_t result_length;
/* retrieving gateway address */
sprintf(key1,"gate-%s", dstAddress);
printf("key1: %s n", key1);
result = memcached_get(memc, key1, strlen(key1),
&result_length, &flags, &rv);
if (rv != MEMCACHED_SUCCESS) {
fprintf(stderr, "failed to fetch recordn");
return 1;
}
/* retrieving netmask */
snprintf(key2,32,"mask-%s", dstAddress);
printf("key2: %s n", key2);
result = memcached_get(memc, key2, strlen(key2),
&result_length, &flags, &rv);
if (rv != MEMCACHED_SUCCESS) {
fprintf(stderr, "failed to fetch recordn");
return 1;
}
Adopting Memcached on
management plane
import bmemcached
import random
client =
bmemcached.Client(('127.0.0.1:11211',
),
'user','password')
client.set('gate-10.0.0.8', '10.0.0.1')
client.set('mask-10.0.0.8', '8')
{"_id": "$
Basic datastore query representation
oid":"53370eaeb1f58908a9837910"
"dest":"10.0.0.0","mask":
8,"gateway":"192.168.0.2"}
Experimental result on Amazon VPC
We compiled our system on ubuntu12 LTS with
Linux kernel 3.2.0. proposed system is hosted
on Intel Xeon E5645 with 2.4 GHZ clock.
ルール数が10~100以内であれば、CPU負
荷率(3%以内)、コンテキストスイッチ(5000
回以内)とも許容範囲内で稼動。
設定した環境内では、1000~10000のルール
を用いるケースは稀なため、提案手法は妥当。
vNIC1 vNIC2
Bridge
IP capture
1
2
3
MongoDB
5
8
7
8
Radix Module
6
0
Management plane Control plane
Python module
パケットキャプチャは
ユーザモードでの
pcapを利用。ルールは
Pythonを用いて設定
Experimental result on Amazon VPC (Memcached)
vNIC1 vNIC2
Bridge
IP capture
1
2
3
Memcached
5
8
7
8
Radix Module
6
0
Control plane
Python module
パケットキャプチャは
ユーザモードでの
pcapを利用。ルールは
Pythonを用いて設定
We compiled our system on ubuntu12 LTS with
Linux kernel 3.2.0. proposed system is hosted
on Intel Xeon E5645 with 2.4 GHZ clock.
通常のNoSQLシステムを用いると、ルール数
が1000を越えると負荷率が錯乱(10%を超
えて不安定になる)するが、Memcachedを用
いるとルール数が100000を越えても許容可能
な範囲で安定している。
まとめ:仮想ネットワーク上での分散インメモリキャッシュを
用いたフィルタリングルール処理の高速化
ネットワーク仮想化(抽象化)とその周辺技術(Software Defined Network, クラ
ウドコンピューティング)の発達により、アクセス制御技術、特にパケットフィルタ
リングルール処理に修正が求められている。
また、SDNの基本設計方針の結果として、データプレーンは分散、大規模化し、
コントロールプレーンに処理が集中し、SPOF(単一障害点)やスケーラビリティ
の点で問題が生じている。
提案システムには大規模なフィルタリングルールの処理のためにMemcached
(分散インメモリキャッシュシステム)を用いた。また、C (Consistency)、
A(Availability)、P(Partition Torelance)のうち、Cの制約を緩めることでスケール
アウトまたは冗長化が容易なシステムの構築を行った。
評価実験では、radix treeを用いたIPフィルタリングを実装し、10, 1000, 10000,
100000までのルールセットの処理を行い、通常のデータストアを用いたシステ
ムではルール1000以上で処理が許容不可能になるのに対し、提案システムは
ルール数が100000を越えても許容可能な負荷率で稼動する(CPU負荷率で1
0%以内)ことを示した。

More Related Content

Viewers also liked

Csec52 45 Ruo Ando
Csec52 45 Ruo AndoCsec52 45 Ruo Ando
Csec52 45 Ruo AndoRuo Ando
 
Ncm 2012 Ruo Ando
Ncm 2012 Ruo AndoNcm 2012 Ruo Ando
Ncm 2012 Ruo AndoRuo Ando
 
Otter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshareOtter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshareRuo Ando
 
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Ruo Ando
 
Css2011 Ruo Ando
Css2011 Ruo AndoCss2011 Ruo Ando
Css2011 Ruo AndoRuo Ando
 
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...Ruo Ando
 
2015 03-31-03
2015 03-31-032015 03-31-03
2015 03-31-03Ruo Ando
 
Statically detecting vulnerability under memory pressure using exhaustive search
Statically detecting vulnerability under memory pressure usingexhaustive searchStatically detecting vulnerability under memory pressure usingexhaustive search
Statically detecting vulnerability under memory pressure using exhaustive searchRuo Ando
 
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用Ruo Ando
 
Otter 2016-11-14-ss
Otter 2016-11-14-ssOtter 2016-11-14-ss
Otter 2016-11-14-ssRuo Ando
 
Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ssRuo Ando
 
Making a Scalable Automated Hacking System by Artem Dinaburg
Making a Scalable Automated Hacking System by Artem DinaburgMaking a Scalable Automated Hacking System by Artem Dinaburg
Making a Scalable Automated Hacking System by Artem DinaburgShakacon
 
Métodos de búsqueda en internet
Métodos de búsqueda en internetMétodos de búsqueda en internet
Métodos de búsqueda en internetjeissojavi
 
Otter 2014-12-08-02
Otter 2014-12-08-02Otter 2014-12-08-02
Otter 2014-12-08-02Ruo Ando
 
オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用Ruo Ando
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用Ruo Ando
 
情報セキュリティと標準化I 第9回-公開用
情報セキュリティと標準化I 第9回-公開用情報セキュリティと標準化I 第9回-公開用
情報セキュリティと標準化I 第9回-公開用Ruo Ando
 
seminar-2015-05-28-RuoAndo
seminar-2015-05-28-RuoAndoseminar-2015-05-28-RuoAndo
seminar-2015-05-28-RuoAndoRuo Ando
 

Viewers also liked (18)

Csec52 45 Ruo Ando
Csec52 45 Ruo AndoCsec52 45 Ruo Ando
Csec52 45 Ruo Ando
 
Ncm 2012 Ruo Ando
Ncm 2012 Ruo AndoNcm 2012 Ruo Ando
Ncm 2012 Ruo Ando
 
Otter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshareOtter 2014-12-22-01-slideshare
Otter 2014-12-22-01-slideshare
 
Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01Scis2015 ruo ando_2015-01-20-01
Scis2015 ruo ando_2015-01-20-01
 
Css2011 Ruo Ando
Css2011 Ruo AndoCss2011 Ruo Ando
Css2011 Ruo Ando
 
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
 
2015 03-31-03
2015 03-31-032015 03-31-03
2015 03-31-03
 
Statically detecting vulnerability under memory pressure using exhaustive search
Statically detecting vulnerability under memory pressure usingexhaustive searchStatically detecting vulnerability under memory pressure usingexhaustive search
Statically detecting vulnerability under memory pressure using exhaustive search
 
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
法政大学情報科学部-2012年度コンピュータネットワーク-第13回授業-WEB公開用
 
Otter 2016-11-14-ss
Otter 2016-11-14-ssOtter 2016-11-14-ss
Otter 2016-11-14-ss
 
Otter 2016-11-28-01-ss
Otter 2016-11-28-01-ssOtter 2016-11-28-01-ss
Otter 2016-11-28-01-ss
 
Making a Scalable Automated Hacking System by Artem Dinaburg
Making a Scalable Automated Hacking System by Artem DinaburgMaking a Scalable Automated Hacking System by Artem Dinaburg
Making a Scalable Automated Hacking System by Artem Dinaburg
 
Métodos de búsqueda en internet
Métodos de búsqueda en internetMétodos de búsqueda en internet
Métodos de búsqueda en internet
 
Otter 2014-12-08-02
Otter 2014-12-08-02Otter 2014-12-08-02
Otter 2014-12-08-02
 
オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用オペレーティングシステム 第2回-公開用
オペレーティングシステム 第2回-公開用
 
オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用オペレーティングシステム 第1回-公開用
オペレーティングシステム 第1回-公開用
 
情報セキュリティと標準化I 第9回-公開用
情報セキュリティと標準化I 第9回-公開用情報セキュリティと標準化I 第9回-公開用
情報セキュリティと標準化I 第9回-公開用
 
seminar-2015-05-28-RuoAndo
seminar-2015-05-28-RuoAndoseminar-2015-05-28-RuoAndo
seminar-2015-05-28-RuoAndo
 

Similar to Isec2015 2015-03-01-02

クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月VirtualTech Japan Inc.
 
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してKazuhiko Kato
 
New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界
New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界
New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界Brocade
 
【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略
【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略
【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略シスコシステムズ合同会社
 
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張Ruo Ando
 
[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン
[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン
[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザインEiji Sasahara, Ph.D., MBA 笹原英司
 
変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~
変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~
変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~Brocade
 
SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~
SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~
SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~Brocade
 
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日Masanori KAMAYAMA
 
Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Takao Setaka
 
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢シスコシステムズ合同会社
 
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ Brocade
 
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenterクラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud DatacenterTaiji Tsuchiya
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)Takahiro Shinagawa
 
デバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoTデバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoTShin-ya Koga
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...NTT DATA Technology & Innovation
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshareOsamu Takazoe
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)axsh co., LTD.
 
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~Brocade
 

Similar to Isec2015 2015-03-01-02 (20)

クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
クラウドビジネスをドライブする最後のピース「クラウドマイグレーション」! – OpenStack最新情報セミナー 2015年7月
 
ディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指してディペンダブルなクラウドコンピューティング基盤を目指して
ディペンダブルなクラウドコンピューティング基盤を目指して
 
New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界
New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界
New IP へのステップ その2) NFV – ソフトウェアで実装するネットワークの世界
 
【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略
【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略
【Cisco Data Center Forum 2015】 データ センター ネットワークの動向と Cisco ACI の戦略
 
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
Split device driver による仮想マシンモニタ上のセキュアOSの機能拡張
 
[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン
[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン
[ハードウェア編] クラウドネイティブアーキテクチャとIoTセキュリティ・バイ・デザイン
 
変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~
変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~
変わるモバイル・ネットワークの世界 ~ソフトウェアが可能にする破壊的進化のリアリティと将来~
 
SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~
SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~
SDN時代のための物理ネットワークを斬る!~イーサネット・ファブリックで実現する3つのゼロとは?~
 
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
 
Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版
 
CCGrid2012 参加報告
CCGrid2012 参加報告CCGrid2012 参加報告
CCGrid2012 参加報告
 
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
【Interop Tokyo 2016】 Seminar - EA-08 : シスコ データセンターSDN戦略、3本の矢
 
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
 
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenterクラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
 
2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)2012-04-25 ASPLOS2012出張報告(公開版)
2012-04-25 ASPLOS2012出張報告(公開版)
 
デバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoTデバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoT
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
20140927 azure pack_slideshare
20140927 azure pack_slideshare20140927 azure pack_slideshare
20140927 azure pack_slideshare
 
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)
 
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
 

More from Ruo Ando

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfRuo Ando
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Ruo Ando
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdfRuo Ando
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~Ruo Ando
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピーRuo Ando
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学Ruo Ando
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰Ruo Ando
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リストRuo Ando
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信Ruo Ando
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限Ruo Ando
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレスRuo Ando
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播Ruo Ando
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号Ruo Ando
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法Ruo Ando
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-freeRuo Ando
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 Ruo Ando
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説Ruo Ando
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月Ruo Ando
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰Ruo Ando
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopRuo Ando
 

More from Ruo Ando (20)

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdf
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピー
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リスト
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st Workshop
 

Isec2015 2015-03-01-02

  • 1. A rapid filtering rule management plane implementation using distributed in-memory caching system Network Security Research Institute, National Institute of Information and Communications Technology Ruo Ando 情報通信研究機構 ネットワークセキュリティ研究所 安藤類央 IT・ISEC・WBS合同研究会 3/2 – 3/3 (23) 16:40-17:05 http://starbed.nict.go.jp/
  • 2. 概要:仮想ネットワーク上での分散インメモリキャッシュを 用いたフィルタリングルール処理の高速化 ネットワーク仮想化(抽象化)とその周辺技術(Software Defined Network, クラ ウドコンピューティング)の発達により、アクセス制御技術、特にパケットフィルタ リングルール処理に修正が求められている。 また、SDNの基本設計方針の結果として、データプレーンは分散、大規模化し、 コントロールプレーンに処理が集中し、SPOF(単一障害点)やスケーラビリティ の点で問題が生じている。 提案システムには大規模なフィルタリングルールの処理のためにMemcached (分散インメモリキャッシュシステム)を用いた。また、C (Consistency)、 A(Availability)、P(Partition Torelance)のうち、Cの制約を緩めることでスケール アウトまたは冗長化が容易なシステムの構築を行った。 評価実験では、radix treeを用いたIPフィルタリングを実装し、10, 1000, 10000, 100000までのルールセットの処理を行い、通常のデータストアを用いたシステ ムではルール1000以上で処理が許容不可能になるのに対し、提案システムは ルール数が100000を越えても許容可能な負荷率で稼動する(CPU負荷率で1 0%以内)ことを示した。
  • 3. Network Virtualization: Separation of data, control and management plane HW DataPlane HW Control Plane rule DB upcaller HW DataPlane HW DataPlane Control Plane HW Data Plane Control Plane HW Data Plane Control Plane HW Data Plane Firewall Load Balancer Application Firewall Firewall Load Balancer Application Firewall Management Plane 本論文での改良対象 スケーラビリティを確保することが現状では困難
  • 4. Avenues of Attack Sensitive data Enterprise Network Missing Security Patches Misconfigured Database Advanced Attacks Sensitive Data Leaks Escalating User Privileges Default Passwords Weak Passwords Unauthorized Database Weak PRNG CDP:Functional & Operational Firewall Pattern - AWS-CloudDesignPattern Nemesis: preventing authentication & access control vulnerabilities in web applications, SSYM'09 Proceedings of the 18th conference on USENIX security symposium Detecting BGP configuration faults with static analysis, NSDI'05 Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation A security enforcement kernel for OpenFlow networks, HotSDN '12 Proceedings of the first workshop on Hot topics in software defined networks Misconfigured Filtering Management planeの 対象領域
  • 5. Network virtualization: abstraction and centralization NIC HD CPU RAM FW LB VLANS VRF 2001 2012 image vCPU vRAM vNIC FlowTable vFW vLB abstraction layer Xen KVM VMWare OpenFlow Open vSwitch FloodLight Decouple Virtualization layer reproduce Automate
  • 6. Network virtualization: slicing after virtualization and abstraction x86 / ARM Virtualization Layer Windows Linux Open Flow Virtualization Or Slicing NOX NOX CPU, Hardisk, PIC, IO X86 instruction set Xen, QEMU, etc Windows Linux Hardware Resources Abstraction layer Virtualization Layer slice slice Bandwidth, CPU, FIB OpenFlow FlowVisor Controller Contoller Definition of a slice • Slice is a set of flows (called flowspace) running on a topology of switches. https://www.clear.rice.edu/comp529/.../tutorial_4.pdf
  • 7. Network virtualization: Deployment example • Virtualized Networking environment = SDN + Cloud computing. • Instance is virtualized • Network is also virtualized hypervisor VM VM hypervisor VM VM SDN controller Network operating system Routing Traffic Engineering Load Balancing Open Flow Switch Open Flow Switch Data Plane Control Plane 各ノードは仮想化 され、マルチテナント として同一物理NIC 上に配置される。 ネットワークも仮想化 され、フィルタリングと マッチング処理が分離 一元化される。 Open vSwitch. B. Pfaff, J. Pettit, K. Amidon, M. Casado, T. Koponen, an d S. Shenker. Extending Networking into the Virtualization Layer. In HotNets, 2009 Operational / Functional FW Amazon EC2 Design Pattern
  • 8. Drawbacks of SDN: Distributed Dataplane vs Centralized Controller HW DataPlane HW Control Plane Switch DB upcaller HW DataPlane HW DataPlane データセンターなどの コアネットワークでは データプレーンはスケールア ウトし、性能は変わらない。 ②通常のvSwitchの設計では パケットデータはユーザ空間 に転送されるが、その際のボ トルネックが生じる。 ①SDNの一元管理の性 質から、コントローラに 処理が集中する。 本論文では、①と②の 問題点に対して、ユーザ モードで稼動する Memcachedを用いて スケーラブルなシステムを 構築する。
  • 9. 設計上の問題:仮想化環境とスケーラビリティ Centralized access control model 2000 2005 2010 2014 Virtualization Technology (hypervisor) Cloud computing Domain Specific / Declarative Language Open Flow DSL for IDS and access control New Security Concerns DSL for SDN Rules and conflict management sHype Pyretic Xen Chimera ForNox RuleBricks Remote Attestation Attack on multi-tenant アクセス制御の 一元化 ネットワーク 抽象化 アクセス制御の 表現方法の問題 Open vSwitch vMAC sandbox xenprobe subvirt 仮想化、ハイパーバイザー内でのAC一元化 スケーラブル、合成可能な 観測システムの構築BGP attack ネットワークのスライシング 仮想化技術を用いた 動的解析 ConfAid BotMiner 解析の大規模化 大規模システムでの設定・ Access Ctrlの検査 Flowvisor HyperDex Ensenble
  • 10. CAP定理:分散システムでの3つの設計条件 "Logically centralized?: state distribution trade-offs in software defined networks", Dan Levin, Andreas Wundsam, Brandon Heller, Nikhil Handigol and Anja Feldmann, HotSDN '12 Proceedings of the first workshop on Hot topics in software defined networks Controller component choices: [1] Strongly consistent – controller components always operate on the same world view. Imposes delay and overhead. [2] Eventually consistent – controller components incorporate information as it becomes available but may make decisions on different world views. http://www.richardclegg.org/node/21 C A P NoSQLRDBMS Consistency Availability Tolerance to network partition CAP Theorem (Eric Brewer 2000) Enforced Consistency Eventual Consistency パケットフィルタなどの処理では Strongly Consistentであることが 求められる(望ましい) NoSQLを用いることで A (availability) P (Tolerance to network partition) S (Scalability) が達成される。
  • 11. Memcached – In memory distributed caching system Memcached Client memcached は、汎用の分散型メモリキャッ シュシステムである。 DataBase WebServer Client Client HW DataPlane Forwarder 本システムでは、ユーザモードで稼動する forwarderがMemcachedに問い合わせる。 cache miss memcached の API は、複数のマシン上に分 散された巨大なハッシュテーブルを提供する。 テーブルがいっぱいの場合、以降のデータの 新規挿入により古いデータはLeast Recently Used 順序で削除される。memcached を用い るアプリケーションは、背後にあるデータベー スなどの低速な記憶装置へのアクセスの前に memcached のリクエストを挿入する。 オンメモリで稼動し、クライアントがConsistent Hashingをもちいることで、分散・冗長化が可能。
  • 12. Rapid filtering rule management plane with memcached tier Memcached 1 Memcached 2 Memcached 3 ruleDB ruleDB ruleDB control plane Hardware data plane Hardware data plane Hardware data plane Hardware upcaller Select memcached 1..n with consistent hashing Cache miss 同手法はFlow Tableがほとんど 変化しないCore networkで有効 であると想定される。
  • 13. Memcached tier achieves A (availability) and P (partition tolerance) "Logically centralized?: state distribution trade-offs in software defined networks", Dan Levin, Andreas Wundsam, Brandon Heller, Nikhil Handigol and Anja Feldmann, HotSDN '12 Proceedings of the first workshop on Hot topics in software defined networks Controller component choices: [1] Strongly consistent – controller components always operate on the same world view. Imposes delay and overhead. [2] Eventually consistent – controller components incorporate information as it becomes available but may make decisions on different world views. http://www.richardclegg.org/node/21 C A P NoSQLRDBMS Consistency Availability Tolerance to network partition CAP Theorem (Eric Brewer 2000) Enforced Consistency Eventual Consistency パケットフィルタなどの処理では Strongly Consistentであることが 求められる(望ましい) NoSQLを用いることで A (availability) P (Tolerance to network partition) S (Scalability) が達成される。
  • 14. Basic SDN architecture and proposed system Node (VM) Node (VM) Node (VM) Flow Table ControllerSecure Channel Node (VM) Node (VM) Node (VM) Filtering rule Table Data store match match 判定処理(match)はノード側で行い、パケットは転送 しない。→ これにより、フィルタリングの一元管理を 達成しつつ、Control/Management Planeの負荷を下 げる。 Ingress packets Ingress packets Data plane Control plane Control and Data plane Management plane VCRIB: Virtualized rule management in the cloud Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan the 4th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud). Boston, MA, June 2012. Basic SDN 提案手法
  • 15. Management Plane Isolation:提案システムの機能配置 DataStoreの 適用 Scalabilityを 確保する 一元管理: 設定管理 ミスをなくす Data planeとControl planeは 同一ホスト(インスタンス)内で 分離しない。 フィルタリング・設定情報の 管理用にManagement planeを 設置して管理。 全てのcomponentをuser modeで実装することでdeploymentのコストを下げ、迅速にする。
  • 16. Adopting basic datastore on management plane auto_ptr<mongo::DBClientCursor> cursor = client.query(ns, mongo::BSONObj()); while(cursor->more()) { mongo::BSONObj p = cursor->next(); mongo::OID oid = p["_id"].OID(); string dest = p["dest"].str(); int mask = p["mask"].numberInt(); string gateway = p["gateway"].str(); const char *p0 = dest.c_str(); const char *p1 = gateway.c_str(); add_rtentry(p0, mask, p1); int res; res = find_route(dstAddress); if(res==0) printf("route find n"); /* flush entry /* rm_rtentry(p0, mask); {"_id": "$oid":"53370eaeb1f58908a9837910" "dest":"10.0.0.0","mask": 8,"gateway":"192.168.0.2"} Radix treeのエントリを動的に読み出すことで リモート(management plane)から任意の タイミングでフィルタリングルールを変更できる ようにする。 Filtering ruleはBSON (JSON)で記述 a radix tree (also patricia trie or radix trie or compact prefix tree) is a space-optimized trie data structure where each node with only one child is merged with its parent. 14 entry.addr = ntohl(addr dst.s addr); 15 entry.prefix len = 32; 17 radix tree<rtentry, in addr>::iterator it; 18 19 it = rttable.longest match(entry); 20 if (it == rttable.end()) f 21 std::cout << ‘‘no route to ‘‘ << dst << std::endl; 22 return 1;
  • 17. if ((memc = memcached_create(NULL)) == NULL) { fprintf(stderr, "failed to allocate memoryn"); // return 1; } rv = memcached_server_add(memc, "localhost", 11211); if (rv != MEMCACHED_SUCCESS) { fprintf(stderr, "failed to set servern"); return 1; } char *result; uint32_t flags; size_t result_length; /* retrieving gateway address */ sprintf(key1,"gate-%s", dstAddress); printf("key1: %s n", key1); result = memcached_get(memc, key1, strlen(key1), &result_length, &flags, &rv); if (rv != MEMCACHED_SUCCESS) { fprintf(stderr, "failed to fetch recordn"); return 1; } /* retrieving netmask */ snprintf(key2,32,"mask-%s", dstAddress); printf("key2: %s n", key2); result = memcached_get(memc, key2, strlen(key2), &result_length, &flags, &rv); if (rv != MEMCACHED_SUCCESS) { fprintf(stderr, "failed to fetch recordn"); return 1; } Adopting Memcached on management plane import bmemcached import random client = bmemcached.Client(('127.0.0.1:11211', ), 'user','password') client.set('gate-10.0.0.8', '10.0.0.1') client.set('mask-10.0.0.8', '8') {"_id": "$ Basic datastore query representation oid":"53370eaeb1f58908a9837910" "dest":"10.0.0.0","mask": 8,"gateway":"192.168.0.2"}
  • 18. Experimental result on Amazon VPC We compiled our system on ubuntu12 LTS with Linux kernel 3.2.0. proposed system is hosted on Intel Xeon E5645 with 2.4 GHZ clock. ルール数が10~100以内であれば、CPU負 荷率(3%以内)、コンテキストスイッチ(5000 回以内)とも許容範囲内で稼動。 設定した環境内では、1000~10000のルール を用いるケースは稀なため、提案手法は妥当。 vNIC1 vNIC2 Bridge IP capture 1 2 3 MongoDB 5 8 7 8 Radix Module 6 0 Management plane Control plane Python module パケットキャプチャは ユーザモードでの pcapを利用。ルールは Pythonを用いて設定
  • 19. Experimental result on Amazon VPC (Memcached) vNIC1 vNIC2 Bridge IP capture 1 2 3 Memcached 5 8 7 8 Radix Module 6 0 Control plane Python module パケットキャプチャは ユーザモードでの pcapを利用。ルールは Pythonを用いて設定 We compiled our system on ubuntu12 LTS with Linux kernel 3.2.0. proposed system is hosted on Intel Xeon E5645 with 2.4 GHZ clock. 通常のNoSQLシステムを用いると、ルール数 が1000を越えると負荷率が錯乱(10%を超 えて不安定になる)するが、Memcachedを用 いるとルール数が100000を越えても許容可能 な範囲で安定している。
  • 20. まとめ:仮想ネットワーク上での分散インメモリキャッシュを 用いたフィルタリングルール処理の高速化 ネットワーク仮想化(抽象化)とその周辺技術(Software Defined Network, クラ ウドコンピューティング)の発達により、アクセス制御技術、特にパケットフィルタ リングルール処理に修正が求められている。 また、SDNの基本設計方針の結果として、データプレーンは分散、大規模化し、 コントロールプレーンに処理が集中し、SPOF(単一障害点)やスケーラビリティ の点で問題が生じている。 提案システムには大規模なフィルタリングルールの処理のためにMemcached (分散インメモリキャッシュシステム)を用いた。また、C (Consistency)、 A(Availability)、P(Partition Torelance)のうち、Cの制約を緩めることでスケール アウトまたは冗長化が容易なシステムの構築を行った。 評価実験では、radix treeを用いたIPフィルタリングを実装し、10, 1000, 10000, 100000までのルールセットの処理を行い、通常のデータストアを用いたシステ ムではルール1000以上で処理が許容不可能になるのに対し、提案システムは ルール数が100000を越えても許容可能な負荷率で稼動する(CPU負荷率で1 0%以内)ことを示した。