当地ヘルシンキにあるアールト大学では、毎年ソフトウェア・プロジェクトの演習を2〜3年生に向けて開催している。この演習の考えは、リアルな目的、リアルな顧客、リアルな締め切りがあるリアルなソフトウェア・プロジェクトの作業を学生が味わえるようにすることだ。演習は初秋に始まる。学生がチームを組み、地元企業から提示される一連のプロジェクトの中から選択する。プロジェクトの作業は10月下旬に始まり、翌年の4月中旬まで続く。演習の最後には、最良のプロジェクトが3つ選定され、この3つのチームが最終決戦のデモで戦う。そして1チームが勝者となる。今年はエフセキュアが後援するチームが、優勝トロフィーを4月19日に授与されて、持ち帰った。

The winning team
アールト大からの当社チームが勝利を祝っているところ

 今回は16チームが形成され、42のプロジェクトが提案された。エフセキュアの提案は「インターネットの現状についてのデータマイニング(DMSI、Data Mining The State Of The Internet)」という名称なのだが、当社のセキュリティクラウド部門の長Ville Lindforsが提出した。熾烈な争いであったが、学生チームの1つが当社プロジェクトを選択した。

 このプロジェクトの目的は、AWS(Amazon Web Services)サービスを用いて、データマイニングのフレームワークを開発することだ。エフセキュアはこのフレームワークを使って、Whoisのデータに基づいてインターネットドメイン同士の接続、相関関係、依存関係を分析することになっている。ここでは、データマイニングの技術が広範に用いられている。このプロジェクトで我々が達成したかったことの例を以下に挙げる。

  • 既知の悪意あるドメインと、ネームサーバを共有するドメインの発見
  • 未知の、害を及ぼすインターネットサイトの検知
  • 新たに登録されたドメインのレピュテーション(評判)を自動的に予測する機能
  • 未知の潜在的なフィッシングサイトの発見
Data Science
最終的に構築したもの

 今回のプロジェクトで作業したチームには7人が参加しており、うち1名はこのラボで働いている。またプロジェクトの期間中、チームをサポート、指導する者がいた。何かにつけ手助けした者を以下に挙げる。

  • Jouni Kuusistoはアールト大の理学修士の研究の一環として、チームの一員となった。またスクラムマスターとしての役割を担った
  • Perttu Ranta-Ahoは、技術専門家として、またプロダクトオーナーとしてチームを支援した
  • Jukka Haapalaはプロダクトオーナーおよびファシリテーターとして対応した
  • Christine Bejerascoは今回のフレームワークの構築に使用されるユースケースを提供した
  • Jaakko Harjuhahtoは2年連続でチームを指導した
Project demo meeting - man pointing at thing.
初期のプロジェクト会議での、学生とエフセキュアのスタッフ

 プロジェクトでは多数の技術を採用することになった。Apache Sparkはデータマイニングのタスクを実行するために選定された。外部情報源からのデータを展開して処理したり、展開したデータに対する問い合わせを実施する。AWSはデータの処理および保管のために幅広く利用した。後続のデータ処理のためにAmazon EMRも用いた。Amazon DynamoDBは、使用するシステムの設定やサービスの状態を格納する目的で使用した。ストリーミングデータのソースを扱うために、Amazon Kinesisを組み込んだ。最後に、使用中のAWSのリソース群を管理するためにAWS CloudFormationを用いた。

Tech used in DMSI
DMSIプロジェクトで使われている技術のほんの一部

 エフセキュアが後援したチームは、献身的であること、非常に難易度の高い技術群を採用した点、網羅的なドキュメント、顧客との熱心な関わり(エフセキュア・ラボで分析ワークショップやデモを開催)、高品質のインテグレーション、模範的な開発プロセス、そして最終プレゼンテーションの品質により称賛された。我々はさらには、夏休みの仕事として3チームを連れてきて、5月に開始する。

 ところで、当社では既に数年に渡ってこの演習に何とか参画している。6位以内に入ることは頻繁で、時には3位以内になったことがある。今回は初のポールポジションだった。勝ち負けに関わらず、これは地元の学生たちにとって素晴らしい機会だ。業界関連の物事に参加し、現実の世の中でソフトウェアエンジニアリングがいかに機能するかを確認し、地域のソフトウェア企業のエンジニアたちに会うのだ。我々のチームが何を達成したかについてご興味があれば、以下2つのリンクに詳細がある。