Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Secure Software Development Practices in Recruit
Search
Recruit Technologies
February 07, 2020
Technology
0
1k
Secure Software Development Practices in Recruit
2020/2/7 さくらじまハウス2020での、西村の講演資料になります
Recruit Technologies
February 07, 2020
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
710
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
51k
TypeScript Bootcamp 2020
rtechkouhou
9
46k
Other Decks in Technology
See All in Technology
人工衛星のファームウェアをRustで書く理由
koba789
13
7.1k
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.2k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
400
Language Update: Java
skrb
2
290
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
230
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
680
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
100
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
210
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
460
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.7k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Building Adaptive Systems
keathley
43
2.7k
Thoughts on Productivity
jonyablonski
70
4.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
A better future with KSS
kneath
239
17k
Building an army of robots
kneath
306
46k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Transcript
Secure Software Development Practices in Recruit February 7, 2020 Muneaki
Nishimura Platform Security Group Manager Productivity Engineering Department Recruit Technologies Co., Ltd.
自己紹介 西村 宗晃(にしむねあ) 株式会社リクルートテクノロジーズ プロダクティビティエンジニアリング部 プラットフォームセキュリティグループ グループマネジャー 2016年3月中途入社(4年目) 2
主な経歴 2002年 札幌のベンチャーでWebデザイナー • 不況でデザインの仕事が激減、菓子パンのレビュー※1で生計を立てる 2005年 国内電機メーカーで携帯電話のLSI開発 • Nokiaのエンジニアからセキュリティ技術を学ぶ 2011年
ソニーグループでWeb✕モバイル分野のセキュリティ担当 • 開発プロセスにおけるセキュリティ標準の策定など 2016年より現職 3 ※1 https://tech.nikkeibp.co.jp/it/atcl/column/17/030300065/071800015/
特技はOSやブラウザの脆弱性探し MozillaとGoogleの報奨金で土地のローンを完済 4 https://www.youtube.com/watch?v=8yClLHKOzIU
モジラ銀行のテーマ 報奨金を貰えた喜びを歌に 5 https://www.youtube.com/watch?v=a4YfAeFauq0
現職における私の役割 セキュリティの技術専門組織として、プロダクトの脆弱性対策を横断的に支援 • 300を超えるプロダクト(年間売上高100億円を超えるものも多数) プロダクトA 企画 開発 運用保守 プロダクトB 企画
開発 運用保守 プロダクトC 企画 開発 運用保守 人材メディア領域 販促メディア領域 リクルートテクノロジーズ(横断組織) サイバーセキュリティ部 (セキュリティ統制施策の推進) ITエンジニアリング本部 プラットフォームセキュリティG プロダクトD 企画 開発 運用保守 … … 支援 支援 支援 支援 支援 連携 6
最初は社内に潜む脆弱性を探していたのですが… 社内インフラや商用プロダクトの脆弱性リスクを攻撃者の目で早期発見 7 https://scan.netsecurity.ne.jp/article/2017/08/02/40016.html
防御する側が圧倒的に不利な戦いであることに気付き… 攻撃と防御の非対称性 8 攻撃する側 一つでも穴を見つければ勝ち 防御する側 すべての攻撃を防がなければ負け
防御する側の仕組み作りにシフト 基盤構築✕開発支援の二軸で各プロダクトのセキュリティ品質向上を図る 9 開発支援 基盤構築 人材メディア リクナビ タウンワーク : 脆弱性管理基盤
簡易脆弱性 検査スキャナ モバイルアプリ 脆弱性スキャナ : セキュリティ 要件定義 設計・実装 レビュー 探索型 脆弱性検査 … セキュア 開発プラクティス セキュア開発 プロセス構築支援 販促メディア じゃらん ホットペッパー グルメ Airシリーズ ゼクシィ スタディサプリ カーセンサー SUUMO ホットペッパー ビューティー :
脆弱性管理基盤(RAFFLESIA) インフラやアプリ開発環境から構成情報を集めて脆弱性を自動検知 10 コンテナレジストリ RAFFLESIA コードリポジトリ 各種インフラ 脆弱性情報 アプリ構成情報 コンテナ構成情報
インフラ構成情報
簡易脆弱性検査ツール(CASVAL) 11 Kubernetes 検査環境 API 開発者 検査対象サーバ CIツール 緊急度の高い脆弱性以外を フィルタリング
③結果の通知(緊急なものだけ) ①検査依頼(API) ①検査依頼(GUI) 検査結果 ②疑似攻撃 UI : 開発者が自由に使える脆弱性スキャナ 拡充予定 https://github.com/recruit-tech/casval
ハンズオン型開発者教育(Bad SNS) 架空のSNSアプリを題材に、脆弱性の発生原理を学ぶ 12 https://github.com/ommadawn46/badsns2019 2018年度版はWEB+DB PRESSに掲載
セキュアソフトウェア開発プラクティス(SSDP) 将来のリスク (開発組織とプロセスの 成熟度評価) 現状のリスク (現行の脆弱性リスク評価) 13 将来の脆弱性リスク低減を目的として、開発組織と開発プロセスの評価と 改善を行うためのフレームワーク SREの信頼性階層モデルに基づき、リスクを可視化
リスク低減効果のあるプラクティスを導入 ① リスクの可視化 ② 検知したリスクへの事後対応 ③ 根本原因の洗い出し ④ 再発防止策の検討 ⑤ 開発計画への組み込み ⑥ 開発組織への浸透
セキュアソフトウェア開発プラクティス - 今後の展望(1) QA・リリース 要件定義・基本設計 詳細設計・実装 防ぐべき脆弱性 • 機能の悪用 ポイント詐欺・ランキング不正・
業務妨害・他ユーザへの迷惑行為 ・・・ • セキュリティ機能の不在や不備 多重応募の検出ロジックの不在、 本人確認の不在/バイパス・・・ • コーディング不備による脆弱性 SQLインジェクション、XSS、 ディレクトリトラバーサル・・・ • 3rdパーティライブラリの脆弱性 StrutsやWordPressの脆弱性・・・ • セキュリティ要件の実装不備 • サーバ設定の不備 • リリース後に公表された 3rdパーティライブラリの脆弱性 対策 セキュアソフトウェア開発プラクティス(SSDP) ?? 14 来期の検討テーマ 社内アーキテクトがセキュリティ面の方針策定を可能とするための仕組み作り
セキュアソフトウェア開発プラクティス - 今後の展望(2) 交通の危険予知トレーニングをベースとしたアプローチを検討中 15 スピードも出てないし、特に危険はないと思います。 左の自転車が飛び出してくる危険があるかもね。 右の車の間から急に人が出て渡ろうとするかもしれ ないぞ。その対応で慌てて急ブレーキを踏んだら、 バスの乗客が転倒する恐れもあるよね。
思い付くリスクの質と量を トレーニングにより高めていく http://www.nasva.go.jp/fusegu/documents/h20/bus_ts_all_h20.pdf
セキュアソフトウェア開発プラクティス - 今後の展望(3) 身近なアーキテクチャを元に「悪用されないか?」という視点を鍛えていく パスワードリマインダにアクセス メアドと新しいパスワードを入力 指定されたメアドに紐づく 利用者のパスワードをリセット メアド 新しいパスワード
変更 Q1. 次のパスワードリセットの仕組みにはどのようなリスクがあるか? 16
Security. Faster, simpler and closer to you.