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

開発者のためのWebセキュリティ診断入門

VAddy
June 22, 2017

 開発者のためのWebセキュリティ診断入門

2017年6月22日 VAddyユーザーミートアップ Vol.6 資料

開発者のためのWebセキュリティ診断入門
株式会社セキュアスカイ・テクノロジー
前平裕

VAddy

June 22, 2017
Tweet

More Decks by VAddy

Other Decks in Technology

Transcript

  1. 社外秘/Confidential
    Secure Sky Technology Inc. 1
    社外秘/Confidential
    開発者のための
    Webセキュリティ診断入門
    株式会社セキュアスカイ・テクノロジー
    2017-06-22 「VAddy」ユーザーミートアップ Vol.6
    前平裕

    View Slide

  2. 社外秘/Confidential
    Secure Sky Technology Inc. 2
    社外秘/Confidential
    自己紹介
    ● 前平 裕 (まえひら ゆたか)
    ● 株式会社セキュアスカイ・テクノロジー
    ● Webアプリケーション脆弱性診断
    ● 脆弱性スキャンツールの開発
    ● 脆弱性検出手法の研究
    ● 社内Webアプリケーション開発

    View Slide

  3. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    経緯

    View Slide

  4. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    「VAddy」ユーザーミートアップ Vol.5

    View Slide

  5. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    http://blog-ja.vaddy.net/post/158995577686/user-meetup-5 から抜粋
    「VAddy」ユーザーミートアップ Vol.5

    View Slide

  6. 社外秘/Confidential
    Secure Sky Technology Inc. 6
    社外秘/Confidential
    今日話すこと
    ● 脆弱性とは
    ● 脆弱性検査の 種類・手法
    ● Webアプリケーションの脆弱性の見つけ方
    ● ローカルProxyツールの使い方
    ● 自動スキャンの注意点
    ● 自動では見つけにくい脆弱性

    View Slide

  7. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    脆弱性とは

    View Slide

  8. 社外秘/Confidential
    Secure Sky Technology Inc. 8
    社外秘/Confidential
    脆弱性 = 悪用可能なバグ・設定不備
    ● 個別のアプリケーション
    ● 開発会社などで独自に実装された部分に存在する脆弱性
    ● SQLインジェクション、XSS、CSRF など
    ● 基盤ソフト、ライブラリ、プロトコル
    ● Apache、Nginx、PHP、Java、Tomcat、Struts
    OpenSSL(Heartbleed)、bash(Shellshock)
    SSLv3(POODLE)、SHA-1の危殆化
    ● 管理ツールなどの設定不備
    ● FTP、SSH、DB管理ツール、CMS管理画面
    ● パスワードがデフォルト値、管理画面にアクセス可能 など

    View Slide

  9. 社外秘/Confidential
    Secure Sky Technology Inc. 9
    社外秘/Confidential
    発生する被害
    ● 重要な情報の漏洩
    ● なりすましによる、他ユーザの権限不正利用
    ● データ改ざん
    ● Dos攻撃
    ● 踏み台
    ● など

    View Slide

  10. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    脆弱性検査の種類・手法

    View Slide

  11. 社外秘/Confidential
    Secure Sky Technology Inc. 11
    社外秘/Confidential
    脆弱性検査の種類
    ● Webアプリケーションの脆弱性検査
    ● プラットフォーム(ネットワーク)の脆弱性検査
    検査の範囲が異なる

    View Slide

  12. 社外秘/Confidential
    Secure Sky Technology Inc. 12
    社外秘/Confidential
    ● 個別のアプリケーション
    ● 開発会社などで独自に実装された部分のに存在する脆弱性
    ● SQLインジェクション、XSS、CSRF など
    ● 基盤ソフト、ライブラリ、プロトコル
    ● Apache、Nginx、PHP、Java、Tomcat、Struts
    OpenSSL(Heartbleed)、bash(Shellshock)
    SSLv3(POODLE)、SHA-1の危殆化
    ● 管理ツールなどの設定不備
    ● FTP、SSH、DB管理ツール、CMS管理画面
    ● パスワードがデフォルト値、管理画面にアクセス可能 など
    Webアプリケーションの脆弱性検査
    プラットフォームの脆弱性検査
    脆弱性検査の種類

    View Slide

  13. 社外秘/Confidential
    Secure Sky Technology Inc. 13
    社外秘/Confidential
    脆弱性検査の手法
    ● ホワイトボックス検査
    ● サーバ内部の情報を直接見て検査
    ● ソースコード診断 (Fortifyなど)
    ● ブラックボックス検査
    ● インターネット経由での検査
    ● アプリケーションを実際に動かして挙動を見る
    ● 上記2つの組み合わせ

    View Slide

  14. 社外秘/Confidential
    Secure Sky Technology Inc. 14
    社外秘/Confidential
    脆弱性検査の手法
    ● 診断会社に依頼する
    ● Webアプリケーションの脆弱性診断
    ● プラットフォーム(ネットワーク)の脆弱性診断
    ● 自分で検査する
    ● OWASP ZAP
    ● Burp
    ● VAddy
    ● Vuls
    ● Walti (https://walti.io/)
    Web診断
    プラット診断

    View Slide

  15. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    Webアプリケーションの
    脆弱性の見つけ方

    View Slide

  16. 社外秘/Confidential
    Secure Sky Technology Inc. 16
    社外秘/Confidential
    Webアプリケーションの脆弱性
    「安全なウェブサイトの作り方」 で取り上げられている脆弱性一覧
    (https://www.ipa.go.jp/files/000017316.pdf より用)
    1) SQL インジェクション
    2) OS コマンド・インジェクション
    3) パス名パラメータの未チェック/ディレクトリ・トラバーサル
    4) セッション管理の不備
    5) クロスサイト・スクリプティング
    6) CSRF(クロスサイト・リクエスト・フォージェリ)
    7) HTTP ヘッダ・インジェクション
    8) メールヘッダ・インジェクション
    9) クリックジャッキング
    10)バッファオーバーフロー
    11)アクセス制御や認可制御の欠落

    View Slide

  17. 社外秘/Confidential
    Secure Sky Technology Inc. 17
    社外秘/Confidential
    XSSの見つけ方 (ブラックボックス検査)


    「」 の検索結果


    ● 外部からは、どのようなコードになっているかわからない
    ● 様々なリクエストをサーバに送信し、反応を見てみる
    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST 検索

    View Slide

  18. 社外秘/Confidential
    Secure Sky Technology Inc. 18
    社外秘/Confidential
    word=SST
    商品一覧画面
    SST 検索
    XSSの見つけ方 (ブラックボックス検査)
    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST 検索 「SST」 の検索結果

    View Slide

  19. 社外秘/Confidential
    Secure Sky Technology Inc. 19
    社外秘/Confidential
    word=SSTalert(1)
    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST 検索
    XSSの見つけ方 (ブラックボックス検査)
    XSS 有りと判断
    「SSTalert(1)」 の検索結果

    View Slide

  20. 社外秘/Confidential
    Secure Sky Technology Inc. 20
    社外秘/Confidential
    XSSの見つけ方 (ブラックボックス検査)





    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST 検索
    属性値内に出力されている

    View Slide

  21. 社外秘/Confidential
    Secure Sky Technology Inc. 21
    社外秘/Confidential
    word=SSTalert(1)
    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST 検索
    XSSの見つけ方 (ブラックボックス検査)
    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST
    テキストボックスの値として表示される

    View Slide

  22. 社外秘/Confidential
    Secure Sky Technology Inc. 22
    社外秘/Confidential
    word=SST">alert(1)
    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST 検索
    XSSの見つけ方 (ブラックボックス検査)
    XSS 有りと判断
    属性と要素を一旦閉じる
    SSTalert(1)">

    View Slide

  23. 社外秘/Confidential
    Secure Sky Technology Inc. 23
    社外秘/Confidential
    SQLインジェクションの見つけ方 (ブラックボックス検査)

    $sql =
    "SELECT * FROM items WHERE name LIKE '%" . $word . "%'";

    ?>
    ● 外部からは、どのようなコードになっているかわからない
    ● 様々なリクエストをサーバに送信し、反応を見てみる
    商品一覧画面
    「SST」の検索結果 - 10件
    ・・・・・
    ・・・・・
    SST 検索

    View Slide

  24. 社外秘/Confidential
    Secure Sky Technology Inc. 24
    社外秘/Confidential
    SQLインジェクションの見つけ方 (ブラックボックス検査)
    word=SST'
    エラー
    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    SST 検索
    シングルクオートを入れてみる
    エラー画面
    HTTP Status 500
    Internal Server Error

    View Slide

  25. 社外秘/Confidential
    Secure Sky Technology Inc. 25
    社外秘/Confidential
    SQLインジェクションの見つけ方 (ブラックボックス検査)
    商品一覧画面
    「SST」の検索結果 - 10件
    ・・・・・
    ・・・・・
    SST 検索
    word=SST%' AND '%'='
    商品一覧画面
    「SST」の検索結果 - 10件
    ・・・・・
    ・・・・・
    SST 検索
    SQL文っぽいものを入れてみる
    元と同じレスポンス

    View Slide

  26. 社外秘/Confidential
    Secure Sky Technology Inc. 26
    社外秘/Confidential
    SQLインジェクションの見つけ方 (ブラックボックス検査)
    商品一覧画面
    「SST」の検索結果 - 10件
    ・・・・・
    ・・・・・
    SST 検索
    word=SST%' AND 'X'='
    商品一覧画面
    「SST」の検索結果 - 0件
    SST 検索
    AND false になるように条件を指定
    検索結果 0 件

    View Slide

  27. 社外秘/Confidential
    Secure Sky Technology Inc. 27
    社外秘/Confidential
    SQLインジェクションの見つけ方 (ブラックボックス検査)

    $sql = "SELECT * FROM items WHERE name LIKE '%" . $word . "%'";

    ?>
    SELECT * FROM items WHERE name LIKE '%SST%';
    SELECT * FROM items WHERE name LIKE '%SST%' AND '%'='%';
    SELECT * FROM items WHERE name LIKE '%SST%' AND 'X'='%';
    検索結果 10件
    SQLインジェクションの脆弱性有りと判断
    検索結果 10件
    検索結果 0件

    View Slide

  28. 社外秘/Confidential
    Secure Sky Technology Inc. 28
    社外秘/Confidential
    検出ロジック参考
    ● IPA - ウェブ健康診断仕様
    ● https://www.ipa.go.jp/security/vuln/websecurity.html
    ● -> 別冊:「ウェブ健康診断仕様」
    ● OWASP ZAP - Java
    ● https://github.com/zaproxy/zap-extensions
    ● Arachni - Ruby
    ● https://github.com/Arachni/arachni

    View Slide

  29. 社外秘/Confidential
    Secure Sky Technology Inc. 29
    社外秘/Confidential
    ● URL
    ○ ブラウザのアドレスバーに表示されるURL
    ○ リダイレクト
    ○ Ajax
    ● パラメータ
    ○ URLパラメータ
    ○ フォームで入力するパラメータ
    ○ hiddenパラメータ
    ○ Cookie などのHTTPヘッダ
    どうやってこれらを検査するのか?
    ブラックボックス検査の対象

    View Slide

  30. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    ローカルProxyツール
    の使い方

    View Slide

  31. 社外秘/Confidential
    Secure Sky Technology Inc. 31
    社外秘/Confidential
    ローカルProxyツール
    PCローカル環境
    ローカル
    Proxy
    localhost:8080
    ● 通信内容を閲覧可能
    ● ブラウザでは通常見えないリクエストも検査可能
    ● パラメータ値を任意に改ざん可能
    example.com:80

    View Slide

  32. 社外秘/Confidential
    Secure Sky Technology Inc. 32
    社外秘/Confidential
    ローカルProxyツール
    ● Burp Suite
    ● https://portswigger.net/burp/
    ● Fiddler
    ● http://www.telerik.com/fiddler
    ● OWASP ZAP
    ● https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Pro
    ject

    View Slide

  33. 社外秘/Confidential
    Secure Sky Technology Inc. 33
    社外秘/Confidential
    Burp Suite
    ● ローカルProxyツール
    ● Java製
    ● Webアプリケーションのセキュリティ診断ツール
    ● Scanner (自動脆弱性スキャン機能) はプロフェッショナル
    版のみ
    ● 機能
    ● Proxy
    ● Intruder
    ● Repeater
    ● Decoder
    ● など
    ● 日本語マニュアル
    ● https://github.com/burpsuitejapan/startup

    View Slide

  34. 社外秘/Confidential
    Secure Sky Technology Inc. 34
    社外秘/Confidential
    Burp
    Burp
    通信一覧
    リクエスト
    レスポンス

    View Slide

  35. 社外秘/Confidential
    Secure Sky Technology Inc. 35
    社外秘/Confidential
    Burp
    レスポンス
    Burp
    GET /ja/ HTTP/1.1
    Host: vaddy.net
    Connection: close
    Pragma: no-cache
    Cache-Control: no-cache
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (・・・
    Accept: text/html,application/xhtml+xml,・・・
    ・・・
    HTTP/1.1 200 OK
    Date: Fri, 16 Jun 2017 09:54:44 GMT
    Server: Apache
    Accept-Ranges: bytes
    Content-Length: 28226
    Cache-Control: max-age=180
    Vary: Accept-Encoding,User-Agent
    Connection: close
    Content-Type: text/html; charset=UTF-8



    content="text/html; charset=UTF-8">
    ・・・
    リクエスト

    View Slide

  36. 社外秘/Confidential
    Secure Sky Technology Inc. 36
    社外秘/Confidential
    Burp - インターセプト機能
    リクエストを一旦保留
    パラメータを書き換えて送信
    Burp

    View Slide

  37. 社外秘/Confidential
    Secure Sky Technology Inc. 37
    社外秘/Confidential
    Burp - リクエスト再送信機能
    パラメータを書き換えて再送信
    様々なパターンを試行する
    Burp
    param=sst
    param=sst"
    param=sst'
    param=sstalert()
    param=sst">alert()

    View Slide

  38. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    これで手動診断ができます

    View Slide

  39. 社外秘/Confidential
    Secure Sky Technology Inc. 39
    社外秘/Confidential
    検査すべき対象は、各画面(リクエスト) と 各パラメータ
    画面
    ・・・
    パラメータ
    _csrf=xxxx&word=sst&sort=desc&cond1=1&cond2=2&cond3=3&...

    View Slide

  40. 社外秘/Confidential
    Secure Sky Technology Inc. 40
    社外秘/Confidential
    検査すべき脆弱性
    1) SQL インジェクション
    2) OS コマンド・インジェクション
    3) パス名パラメータの未チェック/ディレクトリ・トラバーサル
    4) セッション管理の不備
    5) クロスサイト・スクリプティング
    6) CSRF(クロスサイト・リクエスト・フォージェリ)
    7) HTTP ヘッダ・インジェクション
    8) メールヘッダ・インジェクション
    9) クリックジャッキング
    10)バッファオーバーフロー
    11)アクセス制御や認可制御の欠落

    View Slide

  41. 社外秘/Confidential
    Secure Sky Technology Inc. 41
    社外秘/Confidential
    検査パターンはたくさんある
    ● 各種DB
    ● 各種言語
    ● シングルクオートとダブルクオートの違い
    ● コンテキストによる違い (要素、属性、href、javascript)

    View Slide

  42. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    手動ではきびしい・・・

    View Slide

  43. 社外秘/Confidential
    Secure Sky Technology Inc. 43
    社外秘/Confidential

    View Slide

  44. 社外秘/Confidential
    Secure Sky Technology Inc. 44
    社外秘/Confidential
    対応している脆弱性
    ✓ SQLインジェクション
    ✓ XSS(クロスサイト・スクリプティング)
    ✓ リモートファイルインクルージョン - Standardプラン以降
    ✓ コマンドインジェクション - Standardプラン以降
    ✓ ディレクトリトラバーサル - Standardプラン以降

    View Slide

  45. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    自動スキャンの注意点

    View Slide

  46. 社外秘/Confidential
    Secure Sky Technology Inc. 46
    社外秘/Confidential
    ● 検出漏れ
    ● 100% すべて見つかるわけではない
    ● ツールによって差があることも

    View Slide

  47. 社外秘/Confidential
    Secure Sky Technology Inc. 47
    社外秘/Confidential
    ● 誤検知
    ● 実際は脆弱性じゃない
    ● 誤検知なのかどうかを自分で判断する必要がある

    View Slide

  48. 社外秘/Confidential
    Secure Sky Technology Inc. 48
    社外秘/Confidential
    ● 誤検知と検出漏れの関係
    ● 誤検知 (偽陽性 : false positive)
    ● 検出漏れ (偽陰性 :false negative)
    ● 検出漏れをなくそうとすると、誤検知が増える
    ● 誤検知をなくそうとすると、検出漏れが増える
    ● 精度は、ツールやツールの設定によって異なる

    View Slide

  49. 社外秘/Confidential
    Secure Sky Technology Inc. 49
    社外秘/Confidential
    ● ツールで有効に検査できているか?
    ● スキャンツールをただかけるだけではダメ
    ● パラメータが実際に使われている箇所(プログラム)に
    届いているかを意識する
    ● 場合によっては、スキャンの意味がない

    View Slide

  50. 社外秘/Confidential
    Secure Sky Technology Inc. 50
    社外秘/Confidential
    param=test'&flag=1
    if (checkAuth() == false) {
    return false;
    }
    if (checkCSRF() == false) {
    return false;
    }
    if ($flag == 2) {
    $sql = "SELECT * FROM .." . $param . "...";
    }
    認証処理で弾かれている
    CSRFトークンチェックで
    弾かれている
    条件分岐で条件があわない 検査すべき箇所

    View Slide

  51. 社外秘/Confidential
    Secure Sky Technology Inc. 51
    社外秘/Confidential
    GET /list?word=sst


    ”>
    次のページ

    ...

    商品一覧画面
    「SST」の検索結果
    ・・・・・
    ・・・・・
    次のページ
    SST 検索
    一定数以上の件数が表示されないと、
    リンクが表示されない

    View Slide

  52. 社外秘/Confidential
    Secure Sky Technology Inc. 52
    社外秘/Confidential
    POST /login
    連続してログイン失敗したためのアカウントロックされた
    ● ユーザIDに、存在しないIDを指定してスキャンするとロックされない
    ● ログインリクエストの事前処理に、ログイン成功リクエストを送信する
    (連続で10回失敗しなければOK という条件であれば、ロックを回避できる)

    View Slide

  53. 社外秘/Confidential
    Secure Sky Technology Inc. 53
    社外秘/Confidential
    ● アカウント新規登録 (同データで再登録不可)
    ● 100件まで商品を登録できるが、それ以降はエラー
    ● データ削除処理で、2度目以降はエラー
    ● パラメータの中にパラメータがある
    ● param=aaa,bbb,ccc
    ● param=aaa:bbb:ccc
    スキャン時に工夫するか、手動で診断する必要がある

    View Slide

  54. 社外秘/Confidential
    Secure Sky Technology Inc. 54
    社外秘/Confidential
    ● データに対する影響を考える
    ● DBのデータが破壊される可能性がある
    (特に本番環境は気をつける)
    ● データを破壊してしまうような検査文字列
    ● DELETE FROM items WHERE date < '2017-06-' . $day;
    ● DELETE FROM items WHERE date < '2017-06-' OR 1=1;//';

    View Slide

  55. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    自動では見つけにくい脆弱性

    View Slide

  56. 社外秘/Confidential
    Secure Sky Technology Inc. 56
    社外秘/Confidential
    CSRF (クロスサイト・リクエスト・フォージェリ)
    Burp
    POST /update HTTP/1.1
    Host: example.com
    ・・・
    Connection: close
    _csrf=xxxxxxxx&name=sst&address=東京
    都&number=000-0000-0000
    本来は _csrf の値が検証されるはずが、設定ミスにより素通りできた
    正常に更新された

    View Slide

  57. 社外秘/Confidential
    Secure Sky Technology Inc. 57
    社外秘/Confidential
    権限のないデータ利用
    Burp
    あなたのルーム一覧
    サークル (18名)
    ともだち (21名)
    SST (10名)

    View Slide

  58. 社外秘/Confidential
    Secure Sky Technology Inc. 58
    社外秘/Confidential
    ルーム - ともだち
    GET /room?room_id=10000 HTTP/1.1
    Host: example.com
    Cookie: sessionid=abcxyx...
    ・・・
    Connection: close
    こんにちは
    こんにちは
    権限のないデータ利用
    Burp

    View Slide

  59. 社外秘/Confidential
    Secure Sky Technology Inc. 59
    社外秘/Confidential
    GET /room?room_id=30000 HTTP/1.1
    Host: example.com
    Cookie: sessionid=abcxyx...
    ・・・
    Connection: close
    ルーム - ひみつ
    秘密のおはなし
    適当な値に書き換え
    ◯◯◯△△△□□□□
    room_id の値を書き換えると、本来閲覧できないルームの内容が見れた
    権限のないデータ利用
    Burp

    View Slide

  60. 社外秘/Confidential
    Secure Sky Technology Inc. 60
    社外秘/Confidential
    蓄積型のXSS
    Burp
    ルーム作成画面
    ルーム名:
    メンバー:
    ともだち
    [email protected]
    [email protected]
    [email protected]
    POST /room HTTP/1.1
    Host: example.com
    ・・・
    Connection: close
    name=ともだち
    ...&member=...
    スクリプトを挿入

    View Slide

  61. 社外秘/Confidential
    Secure Sky Technology Inc. 61
    社外秘/Confidential
    ルーム - ともだち
    ・・・

    ルーム - ともだち
    ...

    こんにちは
    こんにちは
    Burp
    蓄積型のXSS
    スクリプトが出力される
    ルームにアクセスした時点で、アカウント乗っ取りなどの被害が発生
    ツールスキャンで見つけることは困難

    View Slide

  62. 社外秘/Confidential
    Secure Sky Technology Inc. 62
    社外秘/Confidential
    ● セッション固定化
    ● Dom Based XSS
    ● マスアサインメント脆弱性
    ● プロセス回避 (金額や上限の改ざんなど)
    ● など

    View Slide

  63. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    まとめ

    View Slide

  64. 社外秘/Confidential
    Secure Sky Technology Inc. 64
    社外秘/Confidential
    ● Webアプリケーションの脆弱性の見つけ方
    ● XSS、SQLインジェクション
    ● 自動スキャンの注意点
    ● 有効にスキャンできているかを意識する
    ● 自動ではみつけにくい脆弱性
    ● CSRF、権限のないデータ利用、蓄積型XSS
    ● 脆弱性検査は、自分が管理しているサイトのみ
    ● 自動スキャンも手動も
    ● クラウドの場合は事前申請が必要な場合も
    http://tigerszk.hatenablog.com/entry/2017/06/20/202335
    ● 完璧じゃなくてもいいので、
    まずはできることから始めましょう!

    View Slide

  65. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    Burp Suite

    View Slide

  66. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential 66
    イラスト出典
    http://www.illusts.xyz/p/top.html

    View Slide

  67. 社外秘/Confidential
    Secure Sky Technology Inc. 社外秘/Confidential
    ご清聴ありがとうございました

    View Slide