Flatt Security Blog

株式会社Flatt Securityの公式ブログです。プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

株式会社Flatt Securityの公式ブログです。
プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

上野宣が「KENRO」を受講してみた - セキュリティ教育のプロの本気レビュー!

f:id:flattsecurity:20210217214739p:plain 2020年11月にβ版をローンチした「KENRO」。Webエンジニアがセキュアコーディングを習得するためのSaaS型eラーニングサービスであり、2021年4月の正式版リリースを待たずしてすでに大手企業を含め導入が始まっています。

同サービスには「開発現場にすぐに活かせる」「開発経験の少ないエンジニアも学びやすい」という特徴があるものの、β版ができたばかりということもあり

  • 実際の使用者の感想はどのようなものか?

  • 自社のエンジニアは受講対象なのか?

  • 数百人単位でも導入可能なのか?

  • 新人研修でも使えるのか?

と疑問を投げかけられることもしばしば。そこで、セキュリティ教育のプロフェッショナルで弊社の取締役でもある上野宣さんに「KENRO」を実際に使っていただき、また管理画面の機能を紹介してレビューをお願いしました。

※2021年4月にサービス名を「Flatt Security Learning Platform」から「KENRO(ケンロー)」に変更しています。

プロフィール

f:id:flattsecurity:20210217180019j:plain 上野宣

株式会社トライコーダ 代表取締役。奈良先端科学技術大学院大学で情報セキュリティを専攻、2006年に株式会社トライコーダを設立。2020年、株式会社Flatt Securityの取締役に就任。

OWASP Japan 代表、一般社団法人セキュリティ・キャンプ協議会 GM、日本ハッカー協会理事、東京2020オリンピック・パラリンピック競技大会向け実践的演習「サイバーコロッセオ」推進委員などを務め、第11回アジア・パシフィック情報セキュリティ・リーダーシップ・アチーブメント(ISLA)を受賞。

主な著書に『Webセキュリティ担当者のための脆弱性診断スタートガイド - 上野宣が教える情報漏えいを防ぐ技術』、『HTTPの教科書』など他多数。自身も企業や官公庁にサイバーセキュリティ教育を提供している。

解説がわかりやすく、初心者でも学習しやすい

f:id:flattsecurity:20210217180132p:plain

――本日はよろしくお願いいたします! 早速ですが、「KENRO」を実際に使った率直な感想を教えてください。

上野宣(以下、上野):サービスに登録後にメールを受け取り、そのままスムーズに受講できました。「1コンテンツ受講するだけでいい」と言われていたのですが、おもしろくて色々なコンテンツを見させていただきました。感想としては、セキュアコーディングを習得するうえでひと通りの題材は網羅されていると思います。なので僕は、あえてマニアックな「Insecure Deserialization 脆弱性」のコンテンツを受講してみました。

シリアライズやデシリアライズは、普段からコードを書いている人以外だとわかりづらい内容です。しかし「KENRO」ではサンプルコードがJavaとPHP、Pythonというなじみのある3つの言語で書かれているので、初学者でも理解しやすそうですね。

――ありがとうございます。Javaはちょうど1月に対応したところで、2月にはGoも対応予定です。

上野:なるほど。JavaやPHPはレガシー企業、Goはモダンな開発技術に敏感な企業に向いていそうですね。

――コンテンツの内容はいかがでしたか?

上野:技術や脆弱性の概要を表面上さらっと触れているわけではなくて、解説がとてもわかりやすいです。たとえば、「SQL Injection 脆弱性」のコンテンツでは、「なぜSQL Injectionが起きているのか」「どうすれば根本的な解決ができるのか」など、大事なことを学ぼうというスタイルだと思いました。これは、言語やフレームワークに依存することなく根本から構造を理解しようというものなので、とても良いです。

また、通常このような座学の教材は前提知識ありきの解説内容になってしまうため、ついていけず離脱してしまう人も多いんです。「KENRO」の場合は、サンプルコードベースでの解説が中心なので、分かりやすいと思います。システム開発・コンテンツ監修を担当した米内さんがセキュリティ・キャンプの講師経験があるため、プログラムの仕組みから説明することの重要性をわかっているのではと思います。

Webエンジニアの新人研修でも使えるのか?

f:id:flattsecurity:20210217180052j:plain ――先ほどからお話に出ているように、上野さんは今まで様々なセキュリティ研修やサービスに携わってきたと思うのですが、ほかのサービスに比べていかがでしょうか。

上野:「OWASP WebGoat」など、海外にはすでにセキュアコーディング習得サービスはいくつかありますが、日本語でつくられたものはほとんどないのではないでしょうか。だから日本語というだけでもありがたいと思います。

また、アップロードしたソースコードを自動でチェックしてもらえる機能に驚きました。(編集注: 脆弱なソースコードを修正する堅牢化演習において修正結果を自動で判定する機能。特許出願中。)他のサービスだと、赤ペン先生のようにソースコードを人が見て間違ってると判定するのが普通なので。ここが自動でできるのは良いですよね。このような機能はプログラミング演習サービスではよく見かけますが、セキュアコーディング習得サービスでは初めてなのではないでしょうか。

――どのようなWebエンジニアに受講をおすすめしますか。

上野:ここまでのレベルで網羅されているならWebエンジニアの新人研修で活用できそうですし、プログラムの基礎がわかっていて開発経験が2〜3年あるWebエンジニアにも全員受講してほしいですね。しかし、煩雑なソースコードも出てくるので、プログラミング初心者は難しいかもしれません。

――私たちも利用ターゲットはサーバサイドアプリケーションを1回以上開発した経験を持つWebエンジニアを想定しています。

上野:私の会社では大手SIerを中心に、定期的にセキュリティ教育を実施してほしいという依頼が多くあります。そのようなWebエンジニアを多く抱えている大手企業にもおすすめできそうですよね。その一方で、管理者の情報・データ管理などは煩雑にはなりそうだなと危惧しています。

管理画面をアップデートし、数百人規模のユーザーも運用可能に

f:id:flattsecurity:20210217180145p:plain

――実は現在、2021年4月の正式版ローンチに向けて、管理画面の大幅アップデートを予定しています。これに関してはプロダクトマネージャーの小島さんに説明してもらいます。

小島:今まで提供していたβ版の管理画面では、利用できる機能が「新規ユーザーの招待」や「受講状況の簡易的な閲覧」に限られていました。正式版では複数のユーザーを部署ごとなどの単位でまとめて管理する「グループ管理機能」や「受講完了予定日の通知機能」、ビジュアライズされたデータを元に受講状況を確認できる「進捗管理機能」を追加する予定です。

上野:管理者は人事評価の兼ね合いもあり、「誰の進捗がいいのか」「誰がどこでつまずいているのか」を把握したいという声が多いので、受講の達成状況が可視化されるのはいいですね。

それに「KENRO」はひとつの会場や会議室に集まる集合研修と異なり、全員が同じタイミングでスタートできるわけではありません。だから「グループ管理機能」があると、グループごとでの状況が把握できるので、数百人規模の組織でも運用できそうですね。

――ありがとうございます! 最後に、「KENRO」の改善点やもっとこうしたほうがいい、というアドバイスがあれば教えてください。

上野:長年、セキュリティ教育を提供している中でわかったのは、“拾ってあげるべき層がいる”ということ。誰しもが優秀なプログラマーというわけではありません。中には、長い文章を読むのが苦手な人もいます。だから説明動画を入れたり、ポイントとなるワードをクリックすると解説が読めたり、ヒントを散りばめたりするなど、学習が苦手な人も最後までやり遂げ、セキュアコーディングを習得できるようなコンテンツを追加していけたらより良いサービスになるのではと思います。

終わりに

KENROに興味のある方は是非下記リンクよりお問い合わせください。

flatt.tech

また、導入事例としてXTech株式会社様のインタビューを掲載しております。こちらも合わせてご覧ください。

https://flatt.tech/learning_platform/voice/xtech/flatt.tech