1. 10X.fm
  2. #95【エンジニアの部屋第2回】..
2023-08-08 25:46

#95【エンジニアの部屋第2回】プロダクトセキュリティの話を聞いてみた with @swdyh

セキュリティについて不安に思ったときに気軽に聞ける10Xのセキュリティエンジニア沢田さんをゲストに、事業活動としてのセキュリティ対策に必要な考え方や役割についてトークしました。

▼スピーカー
ゲスト:沢田洋平さん(リライアビリティ&セキュリティ部 / @swdyh
ホスト:futagawa(@futabooo

▼ハイライト

  • 自己紹介
  • なぜセキュリティが大切なのか
  • 最近対応したセキュリティの話
  • これからやりたいセキュリティ対応について
  • セキュリティエンジニアとして必要なこと
  • セキュリティと開発スピードのトレードオフの話

▼参考ページ
ソフトウェアエンジニア(Product Security Ops)を募集します
https://product.10x.co.jp/entry/2023/07/25/154900

●番組へのおたよりフォーム
https://bit.ly/3TBBpSC
Twitterからは「#10Xfm」にて感想等お待ちしております!

●10Xでは一緒に働くメンバーを募集しています!
https://bit.ly/42teLQh

●10X.fmについて
10X.fmは、「10xを創る」をミッションに、小売チェーン向けECプラットフォーム「Stailer(ステイラー)」を提供している株式会社10Xのメンバーが、日々の仕事や生活の中で経験した出来事・学び・プロダクトに対する思いを(つつみ隠さず)リアルにお届けしていくポッドキャスト番組です。

サマリー

株式会社10Xのエンジニアのふたずは、リライアビリティ&セキュリティ部の沢田さんを迎え、プロダクトのセキュリティについて話を聞いています。沢田さんはセキュリティの重要性に気づき、データの管理やアクセス制御などを整備するために取り組んでいるそうです。セキュリティ周りの話を中心に、プロダクトセキュリティについて聞いているそうです。

セキュリティの重要性に気づく
皆さん、こんにちは。株式会社10Xソフトウェア エンジニアのふたずです。この
10X.fmは、10Xをつくろうミッションに、 クオリティへ向けECプラットフォーム
Staylerを提供している株式会社10X のメンバーが、キャリアや日々の
出来事を学び、プロダクトに対する 思いを包み隠さず、リアルにお届け
していくPodcast番組です。今回は、10X.fm 内の企画の一つである、エンジニア
の部屋という企画としての第2弾 で、リライアビリティ&セキュリティ
部の沢田さんにお越しいただいています。 沢田さん、よろしくお願いします。
沢田 よろしくお願いします。
おだしょー 早速なんですが、簡単に沢田さんの自己紹介お願いします。
沢田 沢田と言います。IDはswdyhってIDでやってます。2018年に10Xに入って、
5年ぐらい10Xで働いてるんですけど、 入ってしばらくは旅行ってコンダテアプリ
作って、その後今のStaylerを作ってます。 ここ1年ぐらいはプロダクトのセキュリティ
のほうを担当するようになってます。 10Xに入る前はベンチャーをやってて、
ベンチャー2社目っていう感じのキャリアです。
おだしょー ありがとうございます。 今回沢田さんにお話聞く中で、いろいろ
沢田さんの過去をやってきたこととかを、 僕調べてる中で1個気になったのがあって、
Job間、勤怠システムのJob間ですね。 CLIのコマンドアプリケーションを作ってる
のを見ておって思ったんですけど、 僕もAndroidアプリのWidgetを勝手に
作って、今月あと何時間働くと大丈夫 みたいなのを見えるようにしたりとかしてて、
この辺って何で作ろうと思ったんですかね。
沢田 なんでかな、興味本位とあとは ウェブ画面が使いにくかったからかな、
使いにくくて、結構毎日やるやつだし、 そこが使いにくいって辛いなっていう
そういうところかもしれないですね。
おだしょー その辺、今の演劇だとスラック打刻できたりとか、
あんまり出体勤での大変さみたいのは なかったりしますよね。
沢田 その辺は今はそんなに作ってまで 改善しなきゃいけない。
おだしょー ありがとうございます。
沢田 スタグさんもそこペインがあったってことなんですよね。
おだしょー そうですね。本当に余談になっちゃいますけど、
僕はそのとき会社が月これだけ働きなさい、あれか、
コアタイムありのフレックスみたいなのになってたんで、
1日1時間しか働かない日もあれば、 8時間ちゃんと働く日もあるみたいな中で、
月末でもちゃんと月160時間にはしなきゃいけなくて、
あれこれ足りなくないみたいなのに気づけるようにしたっていう感じですね。
管理画面に入ってみないといけなかったんで、
それをアプリのウィジェットにしてみたいなのをやったりしてましたね。
沢田 それこまごまは便利するみたいなの結構好きですね。
おだしょー いいですね。ありがとうございます。
そしたら今日セキュリティの話っていうところをお伺いしたくて、
沢田さんお越しいただいてまして、
最近Staylerのセキュリティ周りとかやられてると思うんですけど、
そもそもなんでセキュリティ周りやるようになったのかとかっていうのをお伺いしてもいいですか。
沢田 そうですね。それ何から説明すればいいんだろうな。
大まかにセキュリティって2つあって、情報セキュリティみたいなほうとプロダクトのセキュリティっていう。
情報セキュリティのほうはコープチームがちゃんとやってくれてるんで任せておいて良かったんですけど、
プロダクトのセキュリティみたいなところはずっと担当してる人がいないし、
セキュリティエンジニアもいないし、そもそもそこにそういう分野があって、
そこにやらないといけないことがあるっていうのがあんまり分かってなかったというか、
機能作る方に中心にやってきたんで、そこは実は欠けてて、
そこはやっぱりすごい大事なピースだなっていうのをだんだん気づいてきて、
かつ、気づいてないからどんどん整備されないままになってしまってるかなっていうのを思って、
ここをちょっと何とかしていきたいなっていうので、そこをやるようになったというか、
そんな感じかな、そこをやらないとっていう。
なるほど。
結構セキュリティとか、何ですかね、例えば機能要件みたいなところですかね、
機能作るときに必ず必要だけどなかなか明示されないみたいなところって、
しっかりやっていくのとかって結構大変で、
大変ですよね。
しっかり何ですかね、リソースを取ってやるみたいなことをしないと、
なかなか手を出しづらいなと思うんですけど、
サワーさんがセキュリティ周りやるみたいなときに、
どのように進めていったとかってありますかね。
正直まだそんなめちゃくちゃ進められてるわけじゃなくて、
今整備できないところを一から整備してるっていうのと、
そういう機能要件的なところはまだすごいできてるわけじゃないんだけど、
細々そういう仕様とか、今進んでる仕様とかに相談相手として入っていって、
こういうところを気をつけてほしいなみたいなことを言ったりとかってところですね。
データの管理とアクセス制御
もうちょっと進むとそういうエンジニアの人たちに、
ちゃんとセキュリティの面を考慮した上でデザイン設計して、
実装してっていうのをやってっていうのを、
やれるような下地みたいなのを作りたいなと思っております。
まだまだできてないですね。
ありがとうございます。なんか一個思い出したんですけど、
前に僕がGCPに置き配ですね、
お家に在宅でいなくてもお客様に荷物を届けて、
玄関先に置いとくみたいな機能を僕が作る機会があったときに、
セキュリティ周りの相談とかを雑にエンジニアリングチャンネルに投げたような記憶があって、
そのときに署名付き言われる話とかは多分聞いたような記憶があって、
それも一つなんでしょうね、
分かんないけどとりあえずセキュリティ周り大丈夫か教えてくれみたいなのを僕から投げたときに、
こういうのあるよとか教えてもらえるのとかも結構嬉しいなと思ったりしていて。
そうですね、そういうこともなんだろう。
いろんな諸々の相談を受けたりとか、困ったときに出ていくみたいなのは積極的にしたいなって思ってて、
そういうところからセキュリティ意識みたいなのをみんなに持ってもらいたいなって思ってたりしますね。
ありがとうございます。
その辺相談してもらえるようにみたいなのを僕視点だと、困ったときにセキュリティは沢田さんにちょっと聞こうかなとか、
今回のポッドキャストもそうですけど、セキュリティは沢田さんやってたし話聞いてみようかなみたいなのがあったんで、
いい感じに認知はあるんじゃないかなと思ったりはしていました。
結構なんか不安になったりするんですよ。
僕も開発者だからそこの辺はなんとなくこれ作ってるけど、これこういうふうに認証してるしこうだけど、
でも若干気になるのはこれで本当に大丈夫だっけみたいなのは常にあると思うんで、
そういうのは一緒にやって不安を解消しながら安全なものを作っていけたらなって思ってますね。
めちゃめちゃありがたいですね。
実際に最近やられたセキュリティ周りの話みたいなのもちょっとお伺いしてもいいですか。
最近っていうか、よく取り組んでるのは今現状をちゃんと把握して、今持ってる、
特に個人情報とかお客様のデータみたいなのがたくさんあるんで、
そういうのをちゃんと把握して、そこへのアクセスとか、危険原因とかを管理するっていうのをやってて、
結構データってすごいたくさん持ってるんで、たくさん持ってる中でここに大事なのが入ってるとか、
それはここのサービスにも渡してるとか、そういうの全部整理したりとか、
かつその中でそこにデータアクセスできるのは誰でとか、
そこにアクセスしたデータはこういうふうにログが残ってみたいなのを全部整理してるっていうのを今やったりしてます。
お客さんあるデータは大変そうですけど、言える範囲で具体的にこういうのとかってあったりするんですか?
そうですね、普通にそのメインのデータはアプリケーションに入ったりするのはデータベースに入っていて、
ファイアストアに入っていて、だけどそれだけじゃなくて、
そこから分析用に使うデータとかはビッグメリとかに入ってるし、
大きいデータはストレージに入ってるし、
お問い合わせとかはZendeskに行ってるし、
メールはZendGridに行ってるしとか、
結構こう1個に集まってる、DBの中だけじゃなくて、
いろんなところにこういろんな、検索の方には検索したいデータがある検索エンジンの中にも入るしとか、
いろんなシステムが合わさってきてるんで、
そこの中にいろんなデータが持ってたり、いろいろやりとりがあるんで、
その辺がなんていうか、管理されてないと、
何かあったときにここ何入ってたんだっけとか、
どこ見ればいいんだっけみたいになっちゃうんで、
こういうのをちゃんと整備しておくってことですかね。
セキュリティ意識を共有する
いろんな保存先がある中で、
普通に開発をしているとあまり、
僕もそうですけど気にせず、
しばしファイアスターにこれ入れてログ取って、
ちょっとユーザーIDとか出したりした方が便利だよなみたいな感じで出してとか、
あれでもこれログ出していいんだっけとかなったりとかして、
いろんなところに散らばるのはある程度しょうがないのかなと思いつつ、
それを後からガバナンスを利かせるみたいなところ、
統制を利かせるようにするみたいな工夫してるところってあったりするんですかね。
そうですね。工夫で言うと、
メインのDBのやつは行動のモデルの方にアノテーションして、
ここにちゃんとセキュリティとか個人情報とか機密情報入ってますよっていうのを
ラベリングしてたりとか、
そこから作ったデータを管理したりとか、
そういうのをしてたり、
いろいろコード書いて管理できるみたいなことはこの後やったりしてますね。
確かにDartのFirestoreのモデルですけど、
アノテーションとかつける仕組み作られてましたよね。
そうですね。
データベース定義みたいな、今そこはコードなので、
スキルの隙間とかじゃなくてコード上のモデルといった位置なのでそこが定義なんで、
そこにメタデータを振るみたいな形でやってます。
GRPCあたりも定義入れたりしてましたっけ?
そうですね。まだちょっとあれ半ばなんですけど、
GRPCも同じようにアノテーションみたいなのつけれて、
そこにつけといて、
あとはGRPCプラグインっていうのを書くと、
そのアノテーションとか元のデータ全部取れるんで、
そこからここに大事なデータがっていうのをリストにしたりとか、
その辺もやったりしてました。
今StaylerだとサーバーサイドDartを使ってると思うんですけど、
Dartだとやっぱり大変だなみたいなところってあったりはするんですか?
Dartだと大変なところは、僕は結構Dartは好きですけど、
1個はセキュリティ文脈で言うと、
静的解析のツールみたいなのがあんまり対応してなくて、
よくコードスキャンみたいにするんですけど、
そういうのができなかったりとかっていうのはつらかったり、
あとはちょっとサードパーティーのライブラリとかが少なくて、
結構自分で作ったりもするんですけど、
僕自分で作るのも好きなんだけど、
物によっては自分で作りたくないから作ってほしいなみたいなのがなくて、
この間、GCPの認証のキットハブからキーレスでGCPにアクセスできるみたいなやつで、
そこで使うGCPのクレデンシャルはちょっと新しい形式のやつなんだけど、
それをDartから、Gcloudとかコマンド使えばいけるんだけど、
Dartから直接それを使おうと思ったら使えなくて、
無理くり頑張って書いたんだけど、
そういうこみったやつはちゃんとGoogleが作ってほしいなっていう。
Goとかだとその辺はもうあったりするんですか?
セキュリティ周りの取り組み
あります。GoとかNodeとかそういうちゃんとメンテされてるやつは作られてます。
なるほど。
ポジティブに捉えると、そういった言語のあってほしいみたいなのも自分たち作る機会は結構あるなみたいなところですかね。
ライブラリーは結構コマコマ書いたりしてるんで、楽しいのは楽しいですよね。
ありがとうございます。
これからやりたいセキュリティ周りっていう、
今日は話ずっとしてますけど、
まだこの辺できてないんだけど、これからこういうことやっていきたいなみたいなところとかはありますか。
ありますというか、それだらけっていうか。
そうですね、大きいところで言うと認証とか認可とか、
今アプリもお客さん用と裏側用のバックエンド用のバック、ヤード用のってあるし、
両方それぞれ別々の認証認可があると思ってて、そこをちゃんとするとか、
なんだろうな、めちゃくちゃいっぱいあるんだけど。
そうですね、開発目線で言うと開発の人のセキュリティレベルを上げたいし、
それを支える仕組みみたいなのを作りたいし、
開発フローの中にそういうセキュリティのレビューしたり、
最後チェックテストする仕組みみたいなのを入れるようにして、
それが回るようにしたいしとか、
あと日々いろいろ細々起こる問題とか、
もう少しちゃんとハンドリングしてフィードバックというか、
それを元に改善していくみたいなのもちょっとしたいしとか、
いろいろありますね、たくさんね。
今セキュリティ周りを見ているのは沢田さんお一人何でしたっけ?
2人です、沢田さんっていうお一人。
ソフトウェアさんの人もソフトウェアエンジニアでやってます、2人チームで。
2人でやるにはだいぶボリュームもあるし、重要なところだしっていう感じですね。
そうですね、結構やり始めてどんどんわかってきたというか、
最初はなんか見えるところだけ手つけてたんだけど、
こないだもこれからやることやれることみたいに整理してたらすごい山ほど出てきて、
これ全然2人でやれないねっていう話を出ました。
沢田さんがブログ書かれてましたよね、プロダクトセキュリティオプス職種募集みたいな。
そうですね、職種でも今セキュリティエンジニアを募集してたんですけど、
それとは別でソフトウェアエンジニアだけどプロダクトセキュリティやる人みたいなのも追加で募集することにしてて、
なんでそういうことになったかっていうと、
セキュリティエンジニアの人ってそんな多くなくて、なかなか採用が難しいので、
今僕らみたいなソフトウェアエンジニアの人がきちんと取り組むことでも全然やれる仕事ってたくさんあるんで、
そういう人募集してもうちょっとやっていこうかなって思ってるって感じです。
僕みたいなセキュリティよくわからんのソフトウェアエンジニアでも応募できる?
プロダクトセキュリティの仕事
できると思います。
よくわからなくてもよくて、興味とか関心みたいなところが大事かなって思ってます。
僕も別にすごいセキュリティ全然、そもそもセキュリティそんなに詳しくなかったし、
今でもそこまで詳しいわけじゃないんだけど、
でもプロダクトとして全体を考えたときにこういう要件を持ってるべきだなとか、
こういう開発体制を整ってるべきだなみたいなのを結構イメージできるというか、
そのほうが大事で、そこを考えられる人っていうのがいいかなって思ってます。
ありがとうございます。
そうですね、他にももしセキュリティ周りとかでこれちょっと話しておきたいなとかってあったりしますか?
全然セキュリティじゃなくてもね。
そうですね。
逆に開発しててどうですか?
不安なこととかそういうのをどうなるといいなみたいなあったりします?
でもやっぱりさっきのお気配の画像みたいなのがありますけど、
あれこれって大丈夫なのかなとかちょっと不安だなみたいなときに、
すぐ相談できるみたいなのはすごい嬉しいですね。
出頭で反応いただけるし、
気をつけなきゃいけないみたいなのが自分の中にないと、
それ後から聞いたら確かに気をつけなきゃいけなかったし漏れたら良くないですよねみたいなのとかはあるんですけど、
それをそうであるということを分かってないと気をつけられないみたいなのがあるので、
啓蒙活動みたいなのとかをしてもらえたりすると嬉しいのかなとか思ったりしますね。
そうですね。それはいろいろしていこうと思っていて、結構あらゆる面であって、
例えばコードを書くのでもそうだし、
データ置き場どうしようとかでもそうだし、
ギターバクションズ書くのでもそうだし、
ギターバクションズのガイドラインとかソウトさんが作ってくれたけど、
そういうとこでもごまごまこうすると危ないし、こうするといいよみたいなのがあったりするので、
そういうのを啓蒙活動とかガイドラインとかいろいろ整備していきたいなっていう感じで。
ありがとうございます。1位ソフトウェアエンジニアとしてめちゃめちゃありがたいですね。
そういう下支えする方をやっていきたいと思っていて、
セキュリティチームは何というか、セキュリティをバリバリやるっていうよりは、
そういうベースを整えたり、開発者の人とかが、
実際作るのは開発者の人だし、そこをちゃんと下支えできるというか、
セキュアなものを作ってもらえるベースを作るっていう、
そういうところを頑張りたいなって思ってます。
ありがとうございます。
めっちゃいいですね。
トータさんが言ってたのかな、セキュリティとスピードかな、
常にトレードオフみたいなことを言ってたような気がしていて、
さっき僕の例をずっと出しちゃいますけど、
GCPに画像を置くみたいになったときに、
セキュリティチームがあって、そこに絶対にコードレビューをお願いして、
レビューを問わないとリリースできないみたいな仕組みとか流れになってると、
やっぱ動きづらいなみたいなのがあって、
そこの塩梅というか、どの辺にきっちりやらなきゃいけないんだけど、
セキュリティとスピードのバランス
普段の開発のスピードを落とさないみたいなところって結構難しそうだなと思っていて、
その辺で考えとかってあったりしますか。
いや、これすごい難しいな、難しい問題ですね。
僕も開発する側だから同じ気持ちはあるっていうところがベースにあると思うんですけど、
それでも気づかないうちに出ちゃうとよくないし、
よくない上に直すのが大変だし、早めに潰したほうが絶対にっていうのはそうなんで、
やっぱり開発フローの中でちゃんと目を通していける。
レビューとかもそうなんだけど、
ちゃんとそういう視点を入れられるというか、ことが大事だなって思ってて、
だから僕が絶対レビューするっていうのは違うと思ってて、
ちゃんとそういうレビューできる目を育てていくみたいなところとか、
いろんな人にそういう知識とか視点を持ってもらうようにしていくのと、
僕らがセキュリティチームを見るっていうのも入れつつもやっていきたいかなっていう。
これ本当に難しいですね。
でもすごい遅くなるってことはないと思うんですよ。
ただ仕様的にこれ無理だよみたいなことがあって、
こうじゃないやり方を考えていくみたいなのはあると思うし、
それでちょっとやっぱり思ってたより時間がかかるみたいなことはあるかもしれない。
ありがとうございます。
そういったソフトウェアエンジニアと一緒にやっていける、
下支えというか足場を固めるみたいなところを一緒にやっていける、
興味のある人がいたらぜひ応募してくれみたいなところですかね。
そうですね。ぜひぜひ。一緒にやりましょう。
ありがとうございます。
いい感じの時間になってきたんで、
今日はこの辺りで締めさせていただければなと思います。
今回は沢田さんをお招きして、
Staylerのプロダクトセキュリティというところのお話を聞きました。
ありがとうございます。
10XFMではリスナーさんからのお便りを募集しています。
エピソードの感想や10Xのメンバーに聞いてみたい質問など、
どんなことでも構いません。
番組概要欄にあるお便りフォームからの投稿、
またはTwitterでハッシュタグ10XFMでツイートをお願いいたします。
また10Xでは現在さまざまな職種のメンバーを募集しています。
この10XFMを聞いて、
10Xに興味を持ったカジュアルに話を聞いてみたいと思われましたら、
こちらも番組概要欄にある採用情報、
または10Xのホームページのリクルートから応募をお待ちしております。
最後にSpotify、Apple Podcasts、
などお聞きのPodcastアプリで番組のフォローをお忘れなく、
最新エピソード配信時にお知らせが届いたり、
また過去エピソードの再生済み、
未再生が一目で分かるようになり大変便利です。
今日のお相手はフタブーと澤田さんでした。
それではまた次回。
25:46

コメント

スクロール