急成長するCheckmarx社のグローバル戦略 ‐ Checkmarx社Ran Lewinski氏
Checkmarx社アジア太平洋VP、Ran Lewinski氏が「Checkmarx社のグローバル戦略」について説明する講演から始まった。Checkmarx社が扱うアプリケーションセキュリティの市場は15%の年率で右肩上がりで成長し、市場規模は2017年は27.9億ドル、2022年には90億ドルを見込む。そのなかで、Checkmarx社は2012年から倍々の成長を示し、展開地域は北米、ヨーロッパ、中東、アジア太平洋地域と幅広く、「イスラエルのハイテク分野で最も急成長している企業」として評価を受けている。
Lewinski氏はCheckmarx社の製品はなぜ選ばれているのか、その理由についても説明した。ひとつめは使いやすさにある。充実したサポートによって、セキュリティの脆弱性を早い段階で発見することができる。また高スピードなアプリケーションが提供され、カバレッジも優れている。対応言語は20言語以上、40~50のフレームワークにも対応し、システムのカスタム化も可能という。スキャン解析した後の精度も高く、スピード感が売りである。さらに開発ライフサイクルの一環として、アジャイル開発のプロセスにも踏み入れることができる。
またLewinski氏は「日本を含めてグローバルな市場においてみられるのがスキル不足だ」と指摘した。Checkmarx社の製品ソリューションは開発者自身が脆弱性を理解することができ、開発者向けのトレーニングソフトも充実しているため、「全体のコスト削減に繋がる」という。Checkmarx社の製品は主に4つで構成され、オンラインでトレーニングを受けることができる「Codebashing」と、セキュリティテストの「CxSAST」、オープンソース分析の「CxOSA」、それからリリース間近のダイナミック分析「CxIAST」がある。最後にLewinski氏は「その全てがユニークであり、開発者に対して優しい。ベストフィックスロケーションを提供し、プロフェッショナルサービスのメニューを用意している。企業に変わってマネッジドサービスも1年半前から始めた。足りない補う仕組みを東洋テクニカ様を通して、セキュアに統合されている」と述べた。
シフトレフトで勝ちパターン ‐ OWASP Japan Leader岡田良太郎氏
続いて、株式会社アスタリスク・リサーチ、エグゼクティブ・リサーチャ/OWASP Japan Leaderの岡田良太郎氏による基調講演が行われた。はじめに岡田氏は「セキュリティ問題はソフトウェアが原因になっているのが圧倒的大多数。しかし、90%の企業は箱にコストをかけている。それは既存のシステムを活かすためのコストであり、セキュリティ投資はしているけれど、肝心なアプリケーションにコストが投じられていない」と指摘した。さらにNRIセキュアによる「会社で管理しているウェブサイトの理解度」を調査したレポートを紹介しながら、その実態を説明した。調査結果では66.3%の企業が「全て把握している」と回答し、30%以上が「把握していない」と回答。「どうして把握できていないのか」という問いに対しては、「自社で管理するリソースがない」「必要性を認識していない」と回答した企業も多く、「企業がいかに脅威に対して無頓着化ということ」が示された。
そこで岡田氏は「脆弱性対応がエネミーになることをいうことは勇気のあることだが、セキュリティテストする際に、ソフトウェアそのものに問題があるということを繰り返し話をしてきた。OWASPトップ10テストを実施しても脆弱性は減らず、開発サイドはセキュリティスキルとツールの不足に悩まされているが、開発工程で最も重要なのはどこから入るべきか」と投げかけた。答えは「シフトレフト」であると強調。「リリース前では意味がはない。ひとつ前の工程からやればシフトレストが完結し、セキュアな開発が実現する。下流からでもできることで、問題をを可視化するためにセキュリティテストがある。シフトレフトによって企画開発チームの勝ちパターンを作ることができる」と述べた。
岡田氏は「シフトレフト」の重要性をさらに説いて行った。システムのセキュリティ問題の原因の85%は構築にあり、対応コストを構築にシフトレフトすることで時間とコストが短縮することができ、よりビジネスにフォーカスできるという。トヨタの場合、開発においては「何をどのように作るか」に重きを置き、「どのように作るか」がアジェンダになっている。これにより、開発段階でフィジビリティの高いことができるということだ。また岡田氏は「エンジニア全員がセキュアを熟知しなくても全体のセキュアを高めることもできる」と断言。「ソフトウェア設計における欠陥トップ10を避ける方法もある。前工程で違う視点でテストを行い、ひとつひとつ扱う問題をコンパクトにすることが重要である」と述べた。トレーニングの場合は、スコアリングに役立つOWASP SAMM(ソフトウェア品質保証成熟モデル)が有効であり、歪みを直すことを目的とする場合に活用しやすく、トップエグゼクティブも理解しやい点もある。さらに、シフトレフトにはこのような効果があることも述べた。「劇的に脆弱性を減らすためには俯瞰的な対応が意思決定しやすくなる。運用管理チームは脆弱性やアプリケーションのログを管理し、開発・設計チームにフィードバックを自発的に提供するようになる。実装チームはどうすればセキュアな方法を構築できるか、その手段を整備しはじめ、設計チームは作りやすく、メンテしやすい壊されにくいコンポーネントやアーキテクチャを選択するようになり、攻撃面を認識しながらリスクベースの計画を行うようになる。要件定義の段階でセキュリティ品質や施策の優先順位を決定し、コンプライアンスの影響や開発・運用イニシアチブとして、情報・教育・ツールを供えようとし、そしてそれが更新することに繋がる。実現するためのツールは何か。なぜこのツールを選ぶのかなどと、つまりシフトレフトが働いていく。」
最後にOWASPの活動について紹介した。OWASPはアプリケーションセキュリティに特化したオープンなコミュニティ。全国でこれまで約7000人が参加してきた。2017年には、東京を皮切りに、ワールドトレーニングツアーも展開した。OWASPの成果物は政府機関の資料からも多く参照されており活用されている。また、Checkmarx社を含む企業からのスポンサーシップを受けており、また教育機関として、国内では東工大などとの連携もあるという。さまざまなプロジェクトが展開されており、注目の高いIoT開発分野におけるセキュリティ設計の手引きなどもある。成果物のソフトウェアはオープンソースライセンスとして、またガイドラインなどの文書はクリエイティブコモンズライセンスで公開しており、自由に活用できる。ソフトウェア開発現場において、「30秒の確認と3時間のやり直し、どちらがいいのか。今、どうやれば開発をスピーティーに正確にできるのか。そのために、どんなコラボレーションをすればいいのか。その答えがOWASPコミュニティにある」と岡田氏は最後にこのように述べた。
アプリケーションセキュリティ製品の価値 ‐ Checkmarx社Nir Livni氏
次の登壇者はCheckmarx社のNir Livni氏。「Deliver Secure Software Faster」と題し、Checkmarx社のアプリケーションセキュリティ製品価値についてレクチャーした。はじめにLivni氏は「典型的なDevOpsのエコシステムは抜けているものがあった。それはアプリケーションセキュリティだったが、これまでアプリケーションセキュリティは開発する時にスピーティーにしたいのにスローダウンしてしまうため足かせになっていた。だから、Checkmarx社ではアプリケーションセキュリティをDevOpsのエコシステムに組み込ませる製品を提供している。我々のアプリケーションセキュリティはスローダウンさせることなく、高速レーンをずっと走っていけるようにする」と述べた。今回のビジネスフォーラムにおけるキーワードとも言える「シフトレスト」はこのアプリケーションセキュリティにも当てはめることができるというのだ。Livni氏は「品質を担保するために、シフトレストのモデルに変えるだけで、バグが見つかった時に開発の後段に実施するよりも最大30倍のコストの違いが出る。重要なことは開発の後段でスキャン解析し、PDFレポートして開発者に戻してフィックスするのではなく、もっと早くから対策を打つこと。早い段階でコードをスキャニングして脆弱性をみつけることだ」と述べた。
続いてLivni氏はCheckmarx社製品の4つの柱であるトレーニングを目的とした「Codebashing」の価値について説明した。「Checkmarx社は半年前にイギリスのCodebashingを買収した。それ以降、開発者に対してトレーニングプラットフォームを提供している。ベストプラクティスを身に着けてもらい、アプリケーションセキュリティの文化を作り、認識を高めることがこの製品の目的である。またトレーニングはシフトレフトを導く。はじめから適切なコードを書くことができれば、後から修正は出てこない。Codebashingを使うことによって仕事が楽になり、重要な仕事に時間を割くことができる。」
さらにLivni氏はセキュリティテストの「CxSAST」、オープンソース分析の「CxOSA」、ダイナミック分析「CxIAST」の特徴である「自動化」を強調し、「物事が自動化すればより簡略化し、煩雑な作業を省ける。変更のあったコードのみをスキャンする。ビルドプロセスが迅速に完了することもできる。そういった意図がソリューションにはある。スキャンだけでなく、結果に対するアクションもある。フィックスするために正確なアクションのとれる結果をCheckmarx社は戻すことができる」と述べた。
事例を紹介しながら、アプリケーションセキュリティの重要性も伝えた。オープンソースのアプリケーションのうち、約67%は脆弱性があるという結果があり、2017年3月に公表されたEquifaxの事例は侵害を受けたのにも関わらず、放置した結果、株価がわずか1日の取引で14%下がってしまったという事態を招いた。Livni氏は「この問題はオープンソースをスキャンさえすれば解決できた」と言い切り、「Checkmarx社はスキャン解析して全て洗いだす。どのコンポーネントに脆弱性があるのか、推奨することができる。新しい製品はダイナミックな継続的なセキュリティテストも可能にし、走らせながらテストができ、脆弱性を見つけることができる。今までの製品を補完するものになる」と説明した。さらにLivni氏は「Checkmarx社の製品は全体を通してサポートすることができる。デイリーでウィークリーで使うことができ、一日に何回も構築することができる」とまとめた。
CxOSAとCodebashingデモ ‐ Checkmarx社Yuval Idan氏
続いて登壇したCheckmarx社のアジア太平洋地域のテクニカルディレクターであるYuval Idan氏は東洋テクニカル社において技術面でサポートも行っている。オープンソース分析の「CxOSA」とトレーニングの「Codebashing」についてデモを行いながら、説明した。
はじめにIdan氏は「CxOSA」の利用について「ソフトウェア開発サイクルはビルドをなるべく繰り返し、オープンソースコンポーネントなど脆弱性あるものを入らないようにしっかりテストをすることが重要である」と述べた。スキャン解析した最新事例では172の脆弱性が見つかったことなどをデモで紹介し、「どれぐらい脆弱性のあるファイルがわかるようになり、脆弱性あるファイルが1件ごとに表記される。どのような対策してフィックスすればいいのかも書いてある。リンクも表示し、最新のオープンソースライブラリーを入手方法を含めて対策を示すことができる」という。また「セキュリティの観点からラインセンスリクスやコンプライアンスもわかる。ライブラリーの古くなったものも一覧でわかる。対策とアドバイスも書いてある。リスクごとに統計も示し、監査やレビューも提供する」と説明した。「Codebashing」についてもデモを行い、「ゲームのようにアプリケーションセキュリティのトレーニングを受けることができる。いろいろなレッスンを用意し、例えばJavaはそれぞれのプログラム言語ごとに選択できる。開発者同士でレッスンを共有することも可能で、攻撃者の手法や防止するためのベストプラクティスを高めることに役立つ。各レッスンは5~10分程度で、終了証明書が発行される」と説明した。
人を中心とした設計方法に ‐ 日本マイクロソフト社 安納 順一 氏
ゲストスピーカーとして、日本マイクロソフト社のコマーシャルソフトウェアエンジニアリング、テクニカルエバンジェリズムマネージャーの安納順一氏による講演も行われた。
安納氏が提示したテーマは「DevOps視点でセキュリティについて考える」というもの。その概念について安納氏は「DevOpsとは価値を提供すること。価値を提供しないと意味がない。人とプロセスを包括的にみなくてはいけない。従来のセキュリティはセキュリティの問題により社外に持ち出すことができないと言われてきたが、それでは逆に価値を落としてしまっている。解決策として、プロセスを自動化することが重要になってきた。これだけソースコードが増えると、人手を増やすにも限界があるということを考えなければいけない。監視や検出はクラウドがやってくれる時代になった。考え方としては認証と認可を分離する構造がとても重要であり、セキュリティ対策の難しさは分離していないことが原因だからだ」と説明した。それを実現させるツールとしてCheckmarx社を例に挙げ、「Checkmarx社のツールが何故有効的なツールなのかというと、ソースコードを実らせる行為だからだ」と述べた。
さらに「アイデンティティのアタックは大きく、全てに影響するため、アイデンティティの死守は必須。これを考えて設計する必要がある」と続けた。具体的にはアプリケーションの脅威は2つあり、ひとつはアプリケーション自身が持つ脆弱性であり、Checkmarx社のようなツール使って阻止することができるという。もうひとつの要因は外的要因からのアタックにあり、インフラストラクチャーの脆弱性とアイデンティティの乗っ取りが発生してしまうため、管理する側でブロックする仕組みが必要ということだ。さらにアプリケーションの脅威の要因も追求し、要因のひとつである「なりすまし」対策には「認証」が有効的であり、「認証は本人であることを一定の角度で確定する」と説明した。また要因として「改ざん」対策には「完全性を維持するアカウンティング」、「情報漏洩」対策には「秘匿性を実装」、「サービス拒否」対策には「可用性が重要」、「特権の昇格」対策には「認可」が必要であることを伝えた。またセキュリティ対策の不十分なIoTデバイスへのTelnet攻撃が増えていることから、「デバイスの安全性」についても強調した。これについても「認証と認可の分離を行うことで解決することができる」という。「ローカルデータベースではなく認証を外に出し、発行されたトークンをアプリケーションに渡せばいい。一か所で認証を終わらせ、ロール管理もパイプライン化することが重要だ」と説明した。最後に安納氏は「誰がどのような役割をもつべきか、誰がどのような役割を持ってはいけないのか。これを認識することが重要である。コードの脆弱性チェックは必須だが、それだけでは守れない領域もある。だから人とアプリを分けた設計が必要。ファイアウォールだけでは守れない世の中になっている今、人を中心とした設計方法に変えていかなければいけない。アイデンティティが新しい境界になっている。DevOpsに完成はない。2020年に向けて計画しても先はわからない時代には繰り返しながら進化させる"ジャーニー"を続けることだ」とまとめた。
セキュリティチャンピオンの文化作りを推進 ‐ シェフィールド大学Achim D.Brucker氏
続いてシェフィールド大学シニア講師/ソフトウェア品質保証&セキュリティコンサルタントのAchim D.Brucker氏が登壇し、はじめに3つの侵害ケースを紹介した。登録者のEメールとパスワードデータがブラックマーケットに売りに出てしまったLinkedInのケースは、2012年の古いデータだったが、それでも価値があることにBrucker氏は注目した。またイギリスのTalkTalkのケースは、流出したEメール数はそれほど多くはなかったが、6千万ポンドとも言われた被害額に注目。さらに不倫系のサイトのケースでは、個人的な情報が流出したため、報道によると、離婚件数が発生したことをポイントに置いた。つまり、「ベンダーだけでなく、一個人としてもさまざまな角度でセキュリティの侵害については影響がある」ということだ。「では防止するために必要なことは何か」と投げかけ、Brucker氏は「セキュアなライフサイクルの改善が必要だ」と続け、欧州最大手のソフトウェアベンダーであるSAPが提供する「トレーニングプログラム」を事例に挙げながら、「SAPのトレーニングプログラムはひとつのセキュリティエキスパートプログラムとしてまとめている。これはキャリアにもプラスに繋がる」と述べた。さらに「製品ごとのリスク工程と立案、それからセキュアな開発そのものが侵害防止に繋がるが、ソフトウェアを保護するかたちにするにはどうすればいいのか」とBrucker氏は追求した。この答えに対しては「対応チームが窓口となって、適格な措置を取る。道筋はできているも、容易なことではないが、ツールをテコとして使っていく。つまりシフトレフト。全てにフォーカスして、できるだけ早い段階から着手することを勧めたい。どのようにしてソフトウェアをセキュアなかたちで運用すればいいのか、使い方を提議することが大事。これが改善するアイデアにつながっていく。セキュアオペレーションも取り込むべきだと考えている」と述べた。
これまでも歴史も振り返り、2010年当時は、例えばドイツ政府の事例を挙げながら、セキュアなソフト開発がチェック項目をチェックするだけ。生産性のあるアプローチではなかったという。それが数年たつと、ツールが増えて、開発者がいろいろ主体的に判断して使うことができるようになり、「セキュアなソフトウェアを責任をもって出すようになり、セキュリティチームも改善した。必ずしもテクニカクではなく、よりアプローチがうまくようになった」とBrucker氏は述べた。ツールの選択については「さまざまな適応できながら、深いセキュリティ知識を持たなくても開発者が扱うことができ、開発者の使い勝手がよいものを使って欲しい」と強調した。最後に導入の仕方については「セキュリティチャンピオン(責任者)の文化を作ること。自ら進んでセキュアなソフトウェア開発を推進できる環境を作ることが最適だ。SAPではスタスティックテストが義務付けられている。フレームワークを使ってセキュリティ課題を起きないように心掛け、マネージャーにも意識を持ってもらうこと。つまり、みんなが開発意識を持つこと。セキュリティの側も理解する必要がある。ツールだけでなく、組織のなかのプロセスも大事だ」と指南した。
セキュリティ診断を自動化 ‐ ユービーセキュア社 最首 壮一 氏
最後のセッションはユービーセキュア社のソフトウェア事業部事業部長最首壮一氏が登壇し、「CIにおけるセキュリティテストの組み方について」と題し、DevSecOpsについて、Checkmarx社のCxSASTとユービーセキュア社のVEXでの実現方法を説明した。最首氏は自社でWebアプリケーション脆弱性診断ツール「Vex」の開発・販売などを担当する。
「開発スピードとセキュリティ対策の両立が必要だが、開発スピードとセキュリティ診断のスピード感が合わないという現状がある」と指摘。頻繁なリリースを目指す開発手法であるDevOpsにセキュリティプロセスを組み入れて開発スピードとセキュリティを両立する方法として「DevSecOps」を示した。DevSecOpsとは「DevOpsのスピードを生かしたままセキュリティプロセスを取り込み、セキュリティ品質も確保する一連の手法のこと。何を目指すかというと、セキュリティ診断をツールで自動化して開発プロセスに組み込み、脆弱性の検出をリリース直前から前倒す」ということだ。また、「ツールによるセキュリティ診断の自動化は開発者自身がセキュリティ診断実施者になることが特徴で、セキュリティ診断の実施期間の調整が不要になり、診断実施範囲の確定や検出結果の判定も容易になる。また、セキュリティ対策知識が開発者に蓄積され、脆弱性が作り込まれなくなることにもつながる」と補足した。
その後、主な2種の脆弱性診断ツールとして「SAST(静的セキュリティ診断ツール)」と「DAST(動的セキュリティ診断ツール)」の概要や導入時の観点比較も説明。さらにDevSecOpsを実現する新しいセキュリティテスト自動化ツールのASTO、AVCを紹介し、最首氏は「DevSecOpsを実現するツールとしてAVCに注目している。いろいろなセキュリティテストの結果を取り込んでデータを相関分析して対策できる機能を持っている」と述べた。
DevSecOpsの実現方法については、SAST、DAST、AVC等複数のツールを導入して早い工程で脆弱性を検出する方法や開発効率の向上を支援するVEXの新機能を紹介しながら説明し、注意点として「アクセスコントロールの脆弱性はマニュアルで診断し、初回リリース、認証機構の修正時はマニュアル診断を実施することだ」と解説した。最後に海外向けにVex英語版がリリースされたことをアナウンスし、講義を締めくくった。