Slide 1

Slide 1 text

©10X, Inc. All Rights Reserved. プロダクトセキュリティのはじめ方 in 10X Ubie × 10X「スタートアップにおけるプロダクトセキュリティのはじめ方」2022.11.14 swdyh

Slide 2

Slide 2 text

©10X, Inc. All Rights Reserved. 自己紹介
 ○ swdyh (さわだようへい)
 ○ 株式会社10X 
 ○ ソフトウェアエンジニア (2018から)
 ○ 社員規模: 入社時4名、現在90名くらい
 ○ リライアビリティ&セキュリティ部
 ○ Stailerのプロダクトセキュリティを担当(2022から)
 ○ サーバサイドの開発も一部兼任
 


Slide 3

Slide 3 text

©10X, Inc. All Rights Reserved.

Slide 4

Slide 4 text

©10X, Inc. All Rights Reserved.

Slide 5

Slide 5 text

©10X, Inc. All Rights Reserved. 10Xのプロダクトセキュリティのはじまり
 ○ 最初のプロダクトは献立アプリ(タベリー、終了済)
 ○ Stailerへピボット
 ○ Stailerのはじめのころはモバイルアプリのみ
 ○ バックエンドもつくりはじめて運用がはじまり、配送先などの重要な情報を扱うよ うになる
 ○ 事業成長しはじめる。リリース優先
 ○ セキュリティまわりのことは後回しになりがち
 ○ B to B to C。C向けアプリを提供しつつもB向けのセキュリティ要件が求められる


Slide 6

Slide 6 text

©10X, Inc. All Rights Reserved. 10Xのプロダクトセキュリティはじまり
 ○ 課題感を感じたソフトウェアエンジニアでチームをつくる
 ○ 詳細ブログ記事 10X セキュリティチームが立ち上がってから半年以上経 過しました
 ○ ソフトウェアエンジニア2名かつ兼任体制でチームをつくる
 ○ チームという箱があると、そこに欠けているものがあることが分かりやすい。 課題や相談ごとが集まってくる。
 ○ でもセキュリティ専門家はいない、いないなりにやろう
 


Slide 7

Slide 7 text

©10X, Inc. All Rights Reserved. セキュリティチームの取り組み その1
 ○ GCP, GitHubなどの各種権限整理。
 ○ Terrafromでのコード化
 ○ 日々変わる業務に合わせた権限を整備していくのむずかしい
 ○ プロダクトで扱っている個人情報の整理、監査ログの整備
 ○ 個人情報をどこで扱ってどこで保管してるか
 ○ DB, GCP, BigQuery, Log, Elasticsearch, API, 外部システム連携
 ○ パートナー企業からの問い合わせ対応
 ○ 回答、問答集などドキュメント整備


Slide 8

Slide 8 text

©10X, Inc. All Rights Reserved. セキュリティチームの取り組み その2
 ○ 脆弱性診断。
 ○ スコープ決め、依頼、問題の把握、修正のハンドリングまで
 ○ 不正アクセス対処
 ○ まだ少ない。APIに呼び出し制限 + モニタリング
 ○ セキュリティに関わる機能の設計レビュー
 ○ セキュリティ的よくないものができてしまうのを防ぐ、できてしまって から直すのは大変


Slide 9

Slide 9 text

©10X, Inc. All Rights Reserved. ソフトウェアエンジニアでなんとかなるか?
 ○ 今のところなんとかなっている
 ○ ただ、思ってたよりやること多くて大変
 ○ 機能開発を優先してたので荒れ地というか未開拓
 ○ あたりまえにやるべきことがいろいろある
 ○ SREチームやCorpITチームが頼りになる
 ○ ソフトウェアエンジニアであることの強みもある


Slide 10

Slide 10 text

©10X, Inc. All Rights Reserved. ソフトウェアエンジニアであることの強み
 ○ システムやコードの理解
 ○ 大事な情報やりとりしてる箇所やロジックを把握してる、把握しや すい
 ○ 脆弱性
 ○ 自分たちのシステムにとって、どれくらいやばいか、どうなおすべき か判断しやすい
 ○ 開発効率と制限(権限とか)と、開発者目線でバランスとれる
 ○ 仕組みで解決しやすい


Slide 11

Slide 11 text

©10X, Inc. All Rights Reserved. 仕組みで解決の例
 ○ 個人情報のリスト化
 ○ 最初はスプレッドシートに書き出してくのをやったが継続できなかった
 ○ コードのデータモデル(Dart)やrpcの定義ファイル(proto)にアノテーションしてお き、そこからリスト化する仕組みをつくった。
 
 /// お客様氏名(姓) @SensitiveData.pii() String familyName = ''; ↑Dartのコード例
 コードを読み込みCSVを出力。個人情報のリスト管理や、BigQueryなどにコピーすると きのフィルターに利用予定


Slide 12

Slide 12 text

©10X, Inc. All Rights Reserved. これからやりたいこと
 ○ セキュリティリスクの探索、予防 
 ○ 外部の診断会社に頼り切らない、自分たちでやれることを増やす 
 ○ シフトレフト。設計レビュー、コードレビュー、機能提案 
 ○ 認証強化。2FA、WebAuthNなど 
 ○ 静的解析(コードスキャン、Lintなど) 
 ○ メイン言語がDart、コードスキャナ対応してない。比較的Linterはつくりやすい 
 ○ 個人情報保護強化。権限設定、DLP(Data Loss Prevention)、PolicyAsCode(いまは人間がレ ビューしてる)
 ○ セキュリティ専門家との連携 (あたりまえにやるべきことから専門性が必要なことへ) 
 ○ ロードマップの作成


Slide 13

Slide 13 text

©10X, Inc. All Rights Reserved. スタートアップにおけるプロダクトセキュリティのはじめ方
 ○ スタートアップ初期はプロダクトの機能に注力する
 ○ セキュリティを意識をむけないといけなくなる
 ○ いつから、だれが、どうやるか、答えがない
 ○ 事業内容、扱うデータの内容、事業の成長具合
 ○ プロダクトの方向性が固まり、成長にフォーカスしはじめるとき
 ○ 人数もふえる、プロダクトも大きくなる、そのへんがひとつの区切りかも
 ○ 10Xではソフトウェアエンジニアがやってる。ひとつのやりかた
 ○ これからもいろいろ模索していきたいので、知見を共有していきましょう


Slide 14

Slide 14 text

©10X, Inc. All Rights Reserved. こんな環境に興味のある方ぜひ
 
 
 ○ 10Xは事業が成長してきて、ちょうどセキュリティの重要度が高まってきておもしろい フェーズ。活躍できる余白もたくさん。
 ○ 再掲ブログ記事(再掲): 10X セキュリティチームが立ち上がってから半年以上経過しま した
 ○ ジョブディスクリプション
 ○ セキュリティエンジニア(Product Security)
 ○ ソフトウェアエンジニア(Product Security Ops)
 ■ 近々公開
 ○ 感想やフィードバックなどもぜひ