Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【shownet.conf_2023】ShowNet を効率良く試験するために

ShowNet
October 02, 2023
2.2k

【shownet.conf_2023】ShowNet を効率良く試験するために

shownet.conf_ での講演資料(テスター)

ShowNet

October 02, 2023
Tweet

More Decks by ShowNet

Transcript

  1. ShowNetにおける役割 Tester • あらゆるレイヤで発生する課題をあぶり出す パケットロスがないか? サービス提供レベルは 確保できているか? 高速インターフェースへの チャレンジ プロトコルの相互接続

    極端に遅くならないか? 不正なパケットを受けても 機器がダウンしないか? バーチャルテスターの活用 脅威を検出できるか? 攻撃者目線での脆弱性検出 高度な攻撃は検出できるか? CGNは正しく動いているか? セッションテーブルが 溢れたりしないか? きちんとフィルターが かかっているか 脆弱なデジタル資産はないか? 自動化などの新機能への チャレンジ ウィークネスや欠陥の検出 サイバー攻撃の攻撃ステージに マッピングできるか? ドメイン内のデジタル資産 自動検出
  2. ご提供頂きました機器 Tester コントリビューター 提供機器 プラットフォーム カテゴリ 用途 NTTアドバンステクノロジ様 ROME mini

    -- L1-SW ファシリティ スパイレントコミュニケーションズ様 Polatis 6000 -- L1-SW ファシリティ アイビーシー様 tenable.one 仮想 Security 脆弱性アセスメント 東陽テクニカ様 TestCenter 物理 L2-L3 バックボーン試験 CyberFlood CF30 物理 L4-L7 / Security コネクション・スループット試験 CyberFlood C200 物理 L4-L7 / Security コネクション・スループット試験 CyberFlood VM 仮想 L4-L7 / Security セキュリティ試験 フォーティネット様 FortiTester 3000E 物理 L4-L7 / Security セキュリティ試験 FortiTester VM 仮想 L4-L7 / Security セキュリティ試験 キーサイト・テクノロジー様 AresONE 物理 L2-L3 バックボーン試験 IxNetwork VE 仮想 L2-L3 バックボーン試験 IxLoad VE 仮想 L4-L7 コネクション/スループット試験 BreakingPoint VE 仮想 L4-L7 / Security セキュリティ試験 CyPerf 仮想 L4-L7 / Security クラウド試験 Threat Simulator 仮想 Security セキュリティ試験 Vision Edge 40 -- Network Packet Broker メディア変換 Application Controller -- -- コントローラー
  3. もうひとつの課題として Tester • どのように効率よく活用するか • 多種多様なネットワークテスター • 会期までの限られた時間 • 設定パラメーターや試験手法の違い

    • 必要なテストトラフィックを必要な場所に • いつでもテスターを切り替えられる構成 • できる限り何でもできるテスターを構築 • 必要なテストトラフィックをいつでも誰でも簡単に • 共通の設定ファイルを使用する • テストシナリオをスクリプト化する
  4. テスターポートの配置 400GE 100GE 10GE 1GE 凡 例 8 L2-3 Tester

    Wi-Fi Tester NPB L4-L7/Security Tester Virtual Tester Robotic Fiber Switch (L1-SW) Optical Switch (L1-SW)
  5. 物理配線 Tester SPT-N4U.tester fhg-1-1 fhg-1-2 hg-2-1 hg-2-2 hg-2-3 hg-2-4 AresONE-S.tester

    fhg-1-1 fhg-1-2 hg-1-3 hg-1-4 hg-1-5 hg-1-6 Cyberflood CF30.tester Forti Tester 3ke.tester xg-1-1 xg-2-1 xg-1-1 xg-2-1 B.O. B.O. Cyberflood C200.tester hg-2-1 hg-1-1 NE8000-M4 100G : 0-5-3 MX204 10G : 0-1-7 ACX7100-32C 400G 0-0-35 ACX7100-32C 10G-1 : 0-0-4-0 ACX7100-32C 10G-2 : 0-0-4-1 ACX7100-32C 10G-3 : 0-0-4-2 ACX7100-32C 10G-4 : 0-0-4-3 Cisco8606 100G : 0-1-0-15 PTX10001 400G : 0-0-3 MX10004 400G : 0-2-0 MX10004 100G : 0-3-3 ACX7509 400G : 5-0-3 ACX7509 100G : 1-0-15 NCS-57B1 400G : 0-0-0-29 NCS-57B1 100G : 0-0-0-23 FX2 100G 1-0-104 Kamuee 100G : 3b-0-0 EX4100 10G : 0-2-3 N93108TC 10G : 1-54 N5732 10G : 0-0-4 CAT9300 10G : 1-1-4 AX3660 10G-1 : 1-0-48 AX3550 10G-2 : 2-0-48 NE8k-M4 100G : 0-5-3 romemini.tester sm-49 sm-50 sm-51 sm-52 sm-53 sm-54 sm-55 sm-56 sm-57 sm-58 sm-59 sm-60 sm-61 sm-62 sm-63 sm-64 sm-65 sm-66 sm-67 sm-68 sm-69 sm-70 sm-71 sm-1 sm-2 sm-3 sm-4 sm-5 sm-6 sm-7 sm-8 sm-9 sm-10 sm-11 sm-12 sm-13 sm-14 sm-15 sm-16 sm-17 sm-18 sm-19 sm-20 sm-21 sm-22 sm-23 sm-72 sm-24 polatis6k.tester sm-25 sm-26 sm-27 sm-28 sm-29 sm-30 sm-31 sm-32 sm-33 sm-34 sm-35 sm-36 sm-37 sm-38 sm-39 sm-40 sm-41 sm-42 sm-43 sm-44 sm-45 sm-46 sm-47 sm-48 sm-1 sm-2 sm-3 sm-4 sm-5 sm-6 sm-7 sm-8 sm-9 sm-10 sm-11 sm-12 sm-13 sm-14 sm-15 sm-16 sm-17 sm-18 sm-19 sm-20 sm-21 sm-22 sm-23 sm-24 app-controller-2.tester xg-2-1 xg-2-2 xg-2-3 xg-2-4 hg-3-1 Vision-e40.tester xg-1 xg-2 xg-3 xg-4 xg-5 xg-6 xg-7 xg-8 xg-13 xg-14 xg-15 xg-16 xg-17 xg-18 xg-21 xg-22 xg-19 xg-20 xg-23 xg-24 app-controller-2.tester hg-3-1 xg-2-1 xg-2-2 xg-2-3 xg-2-4 400G-FR4 100G-LR4 10G-LR 100G-SR4 10G-SR SMF 40G-SR4
  6. 物理配線 SPT-N4U.tester fhg-1-1 fhg-1-2 hg-2-1 hg-2-2 hg-2-3 hg-2-4 AresONE-S.tester fhg-1-1

    fhg-1-2 hg-1-3 hg-1-4 hg-1-5 hg-1-6 Cyberflood CF30.tester Forti Tester 3ke.tester xg-1-1 xg-2-1 xg-1-1 xg-2-1 B.O. B.O. Cyberflood C200.tester hg-2-1 hg-1-1 NE8000-M4 100G : 0-5-3 MX204 10G : 0-1-7 ACX7100-32C 400G 0-0-35 ACX7100-32C 10G-1 : 0-0-4-0 ACX7100-32C 10G-2 : 0-0-4-1 ACX7100-32C 10G-3 : 0-0-4-2 ACX7100-32C 10G-4 : 0-0-4-3 Cisco8606 100G : 0-1-0-15 PTX10001 400G : 0-0-3 MX10004 400G : 0-2-0 MX10004 100G : 0-3-3 ACX7509 400G : 5-0-3 ACX7509 100G : 1-0-15 NCS-57B1 400G : 0-0-0-29 NCS-57B1 100G : 0-0-0-23 FX2 100G 1-0-104 Kamuee 100G : 3b-0-0 EX4100 10G : 0-2-3 N93108TC 10G : 1-54 N5732 10G : 0-0-4 CAT9300 10G : 1-1-4 AX3660 10G-1 : 1-0-48 AX3550 10G-2 : 2-0-48 NE8k-M4 100G : 0-5-3 romemini.tester sm-49 sm-50 sm-51 sm-52 sm-53 sm-54 sm-55 sm-56 sm-57 sm-58 sm-59 sm-60 sm-61 sm-62 sm-63 sm-64 sm-65 sm-66 sm-67 sm-68 sm-69 sm-70 sm-71 sm-1 sm-2 sm-3 sm-4 sm-5 sm-6 sm-7 sm-8 sm-9 sm-10 sm-11 sm-12 sm-13 sm-14 sm-15 sm-16 sm-17 sm-18 sm-19 sm-20 sm-21 sm-22 sm-23 sm-72 sm-24 polatis6k.tester sm-25 sm-26 sm-27 sm-28 sm-29 sm-30 sm-31 sm-32 sm-33 sm-34 sm-35 sm-36 sm-37 sm-38 sm-39 sm-40 sm-41 sm-42 sm-43 sm-44 sm-45 sm-46 sm-47 sm-48 sm-1 sm-2 sm-3 sm-4 sm-5 sm-6 sm-7 sm-8 sm-9 sm-10 sm-11 sm-12 sm-13 sm-14 sm-15 sm-16 sm-17 sm-18 sm-19 sm-20 sm-21 sm-22 sm-23 sm-24 app-controller-2.tester xg-2-1 xg-2-2 xg-2-3 xg-2-4 hg-3-1 Vision-e40.tester xg-1 xg-2 xg-3 xg-4 xg-5 xg-6 xg-7 xg-8 xg-13 xg-14 xg-15 xg-16 xg-17 xg-18 xg-21 xg-22 xg-19 xg-20 xg-23 xg-24 app-controller-2.tester hg-3-1 xg-2-1 xg-2-2 xg-2-3 xg-2-4 400G-FR4 100G-LR4 10G-LR 100G-SR4 10G-SR SMF 40G-SR4 Tester
  7. 物理配線 Tester SPT-N4U.tester fhg-1-1 fhg-1-2 hg-2-1 hg-2-2 hg-2-3 hg-2-4 AresONE-S.tester

    fhg-1-1 fhg-1-2 hg-1-3 hg-1-4 hg-1-5 hg-1-6 Cyberflood CF30.tester Forti Tester 3ke.tester xg-1-1 xg-2-1 xg-1-1 xg-2-1 B.O. B.O. Cyberflood C200.tester hg-2-1 hg-1-1 NE8000-M4 100G : 0-5-3 MX204 10G : 0-1-7 ACX7100-32C 400G 0-0-35 ACX7100-32C 10G-1 : 0-0-4-0 ACX7100-32C 10G-2 : 0-0-4-1 ACX7100-32C 10G-3 : 0-0-4-2 ACX7100-32C 10G-4 : 0-0-4-3 Cisco8606 100G : 0-1-0-15 PTX10001 400G : 0-0-3 MX10004 400G : 0-2-0 MX10004 100G : 0-3-3 ACX7509 400G : 5-0-3 ACX7509 100G : 1-0-15 NCS-57B1 400G : 0-0-0-29 NCS-57B1 100G : 0-0-0-23 FX2 100G 1-0-104 Kamuee 100G : 3b-0-0 EX4100 10G : 0-2-3 N93108TC 10G : 1-54 N5732 10G : 0-0-4 CAT9300 10G : 1-1-4 AX3660 10G-1 : 1-0-48 AX3550 10G-2 : 2-0-48 NE8k-M4 100G : 0-5-3 romemini.tester sm-49 sm-50 sm-51 sm-52 sm-53 sm-54 sm-55 sm-56 sm-57 sm-58 sm-59 sm-60 sm-61 sm-62 sm-63 sm-64 sm-65 sm-66 sm-67 sm-68 sm-69 sm-70 sm-71 sm-1 sm-2 sm-3 sm-4 sm-5 sm-6 sm-7 sm-8 sm-9 sm-10 sm-11 sm-12 sm-13 sm-14 sm-15 sm-16 sm-17 sm-18 sm-19 sm-20 sm-21 sm-22 sm-23 sm-72 sm-24 polatis6k.tester sm-25 sm-26 sm-27 sm-28 sm-29 sm-30 sm-31 sm-32 sm-33 sm-34 sm-35 sm-36 sm-37 sm-38 sm-39 sm-40 sm-41 sm-42 sm-43 sm-44 sm-45 sm-46 sm-47 sm-48 sm-1 sm-2 sm-3 sm-4 sm-5 sm-6 sm-7 sm-8 sm-9 sm-10 sm-11 sm-12 sm-13 sm-14 sm-15 sm-16 sm-17 sm-18 sm-19 sm-20 sm-21 sm-22 sm-23 sm-24 app-controller-2.tester xg-2-1 xg-2-2 xg-2-3 xg-2-4 hg-3-1 Vision-e40.tester xg-1 xg-2 xg-3 xg-4 xg-5 xg-6 xg-7 xg-8 xg-13 xg-14 xg-15 xg-16 xg-17 xg-18 xg-21 xg-22 xg-19 xg-20 xg-23 xg-24 app-controller-2.tester hg-3-1 xg-2-1 xg-2-2 xg-2-3 xg-2-4 400G-FR4 100G-LR4 10G-LR 100G-SR4 10G-SR SMF 40G-SR4 N-3 RACK N-8 RACK
  8. バーチャルテスターの活用 Tester • ソフトウェアによるオールレイヤー対応テスター Physical Server Hypervisor ESXi 7.0U3 Test

    Agent L4-L7 Software Tester Valnerability Assessment 100G-LR4 NIC 10G-SR NIC SR-IOV + DPDK Keysight - IxNetwork VE - ixia-c Keysight - IxLoad VE Keysight - BreakingPoint VE Spirent - CyberFlood Virtual Fortinet - FortiTester VM IBC - Tenable.one 10/1G-T NIC Security Software Tester vSwitch L2-L3 Software Tester Test Agent OS Keysight - Threat Simulator Fortinet - FortiTester Agent vSwitch ※ Hypervisor / NIC の接続パスはイメージです。
  9. 今年の "あばれ" Tester • 試験内容 • バックボーン試験 • ステートレストラフィックによるパフォーマンス測定 •

    SRv6プロトコルエミュレーション • コネクション/スループット試験 • ステートフルトラフィックによるパフォーマンス測定 • アプリケーショントラフィックによるパフォーマンス測定 • セキュリティ試験 • エクスプロイトやマルウェアの検知/遮断 • MITRE ATT&CKの攻撃シナリオから高度なサイバー攻撃をシミュレーション • ソフトウェアテストフレームワークとの融合
  10. 400/100Gbps トラフィック生成 Tester • 運用ネットワーク視点のテスト • トラフィック定義 • 判定基準 •

    帯域の90%以上が確保されていること Configuration Specification Type / Protocol Stateless Traffic / UDP Direction Bidirectional Size IMIX + Jumbo Frame (64B:570B:1518B:9000B = 7:4:1:1) Duration 120 Second
  11. SRv6 プロトコルエミュレーション Tester • ShowNetのPEルーターを疑似 • テスターからSRv6 Encap. Traffic を直接生成

    ptx10001 P Router cisco8608 P Router Emulation PE Router Emulation PE Router ISIS BGP+ BGP+ RR SRv6 SRv6 SRv6 Encapsulation Traffic SRv6 Encapsulation Traffic ISIS BGP+
  12. • CE Routerとしてのトラフィック生成はSRv6 Headerの考慮が必要 1024B + SRv6(40B) = 1064B SRv6

    プロトコルエミュレーション Tester mx10004 ncs57b1 acx7509 cisco8608 1024B Encapsulation Decapsulation 1024B 64B (raw traffic) : 50% (74,405,000 pps) L2 Throughput = 38Gbps (50%) 64B + 40B (encapsulation) : 50% (74,405,000 pps) L2 Throughput = 62Gbps (73%) 64B (raw traffic) : 33.86% (50,400,000 pps) Frame Size = 64B において PE Router <-> PE Router で Line Rate = 50% の負荷を生成する適正 pps 値 50% @ 64B + 40B (encapsulation) = 50,400,000pps (L2 Throughput = 42Gbps) Tester PE Router SRv6 ex. PE Router 配下の Tester から Frame Size = 64B の Traffic を生成 Tester
  13. • SRv6のヘッダーを含めたフレームサイズで送信レートを設定できる 984B + SRv6(40B) = 1024B SRv6 プロトコルエミュレーション Tester

    Tester Tester ptx10001 cisco8608 Encapsulation Decapsulation SRv6 1024B (encapsulation) : 50% (5,985,000 pps) L2 Throughput = 49G (50%) 1024B (encapsulation) : 50% (5,985,000 pps) L2 Throughput = 49G (50%) Tester P Router ex. SRv6 Core に 50% @ 1024B の traffic を生成する設定値
  14. コネクション/スループット試験 Tester version type security nat IPv4 Global enable Private

    enable CGN IPv6 Global enable Private enable x 4 Hall = 16 Pattern version type security nat IPv4 / IPv6 Global enable Private enable CGN x 4 Hall = 8 Pattern HTTP/HTTPS HTTP/HTTPS ShowNet 2023
  15. コネクション/スループット試験 Tester • 運用ネットワーク視点のテスト • トラフィック定義 • 判定基準 • 2Gbpsのスループットが得られること

    • 攻撃トラフィックが検知または遮断されること Configuration Specification IP IPv4/IPv6 Mix Type / Application Stateful Traffic / HTTP : HTTPS (2:8) Direction HTTP GET from Client Size 1MB CPS/CC/TP 500 / 5000 / 2Gbps Duration 300 Second Malicious Exploit / Malware(セキュリティの有効性確認)
  16. コネクション/スループット試験 Tester • コネクションとスループットの関係 HTTP Server HTTP Client HTTP Server

    HTTP Client 2Gbps 250Mbps x 8 = 2Gbps ... 2Gbps 250Mbps 250Mbps 250Mbps 250Mbps TCP Handshake TCP Handshake TCP Handshake TCP Handshake TCP Handshake 8 Sessions 1 Session
  17. コネクション/スループット試験 Tester • コネクションとスループットの関係 HTTP Server HTTP GET HTTP Client

    HTTP Server HTTP Client 1MB 1 Transaction 4 Transactions 1 Connection 1 Connection 1MB HTTP GET HTTP GET 1MB TCP Handshake HTTP GET 1MB TCP Handshake 1MB HTTP GET
  18. セキュリティ試験 Tester • これまでは検知/遮断率にフォーカス 仮想出展社(あばれ) Firewall A Firewall B CGN

    Halls セキュリティトラフィック version ipv4 test 1 test 2 Firewall A ipv4 (and ipv6) exploit malware Firewall B ipv4 (and ipv6) exploit malware ipv4 type blocked allowed ShowNet ipv4 (and ipv6) exploit/malware 85.2% 14.8% type flows detections exploit 74 91.87% malware 699 malware (zero-day) 100 試験スペック 2021年実績 2022年実績
  19. セキュリティ試験 Tester • テスタートラフィックにおけるセキュリティアラートの識別とEDR連携 firewall edr test agent tester tester

    attack simulator ① Exploit/Malware Transfer ① Breach Simulation ② Security Alert ② Security Alert ③ Visualization ④ Return to ①
  20. セキュリティ試験 Tester • レッドチームテスト • 回避テクニック • ファジングの入力データ • 予期しないデータ入力

    • ランダムなデータ入力 • 期待する効果 • 未知の不具合(バグ)検出 • 未知の脆弱性(ゼロディ)検出 • 製品の耐性や堅牢性評価 firewall tester tester ShowNet Backbone ShowNet Exhibitor IPS/Sandbox anomaly NDR Evasion Techniques = OFF Evasion Techniques = ON
  21. ソフトウェアフレームワークとの融合 Tester • 試験自動化 • バックボーン試験をスクリプト化して合否判定を自動化 • トラフィック生成 • バックボーンルーター

    <-> バックバーンルーター • 仮想出展社 -> バックボーンルーター • Open Traffic Generator APIの活用 • https://otg.dev/ • https://github.com/open-traffic-generator • 利用テスター • ixia-c • Elastic Network Generator API L2-L3 Device Emulation L4-L7 Application Emulation Stateless Traffic Generation Open Traffic Generator Client DUT / SUT Post Configuration Send Traffic Receive Traffic Get Result
  22. ソフトウェアフレームワークとの融合 Tester #! /usr/bin/python3 import snappi ... api = snappi.api(location

    = 'TEST CONTROLLER', ext = 'TESTER TYPE') config = api.config() tx, rx = ( config.ports .port(name = 'tx', location = 'TRAFFIC ENGINE') .port(name = 'rx', location = 'TRAFFIC ENGINE') ) d1, d2 = config.devices.device(name = 'dev1').device(name = 'dev2') eth1, eth2 = d1.ethernets.add(), d2.ethernets.add() eth1.port_name, eth2.port_name = tx.name, rx.name ip1, ip2 = eth1.ipv4_addresses.add(), eth2.ipv4_addresses.add() eth1.name, eth2.name = 'eth1', 'eth2' eth1.mac, eth2.mac = '00:00:11:00:00:01', '00:00:12:00:00:01' ip1.name, ip2.name = 'ip1', 'ip2' ip1.address, ip2.address = '192.168.1.1', '192.168.2.1' ip1.prefix, ip2.prefix = 16, 16 ip1.gateway, ip2.gateway = '192.168.2.1', '192.168.1.1' flw, = config.flows.flow(name = 'flw') flw.size.fixed = 1024 flw.rate.pps = 100 flw.duration.fixed_packets.packets = 1000 flw.tx_rx.device.tx_names = [config.devices[0].ethernets[0].ipv4_addresses[0].name] flw.tx_rx.device.rx_names = [config.devices[1].ethernets[0].ipv4_addresses[0].name] flw.tx_rx.device.mode = flw.tx_rx.device.ONE_TO_ONE eth, ip, udp = flw.packet.ethernet().ipv4().udp() eth.src.value, eth.dst.value = '00:00:11:00:00:01', '00:00:00:00:00:00' eth.src.choice, eth.dst.choice = 'value', 'auto' ip.src.value, ip.dst.value = '172.16.1.11', '172.16.2.11' udp.src_port.value, udp.dst_port.value = 9999, 10001 flw.metrics.enable = True api.set_config(config) ts = api.transmit_state() ts.state = ts.START api.set_transmit_state(ts) ... Ixia-C no extension Keysight IxNetwork ext = 'ixnetwork' Cisco T-Rex ext = 'trex' テスターの指定 ポートの設定 トラフィックの設定 テストの制御