LINE Developer Week 2015

LINE台湾支社でAPI開発とアプリケーション分析を担当しているAugustin Wangと申します。今回は、2015年11月に開かれたLINE Developer Weekについて、レポートしたいと思います。

韓国に到着

いよいよ待ちに待ったLINE Developer Weekの初日です!仁川国際空港からバスで1時間ほど移動して、書峴(ソヒョン)駅にあるLINEの韓国オフィスに到着しました。オフィスには、かわいいLINE FRIENDSのキャラクターと各種グッズが飾られていました。

ここでは、日本と中国から来たたくさんの仲間と出会うことができました。英語・日本語・中国語・韓国語が混ざった会話になっていましたが、LINEのエンジニア同士では言葉の壁を感じることはありませんでした。

LINE Bug Bountyの結果と総括

はじめに

こんにちは。LINEでセキュリティに関する業務を担当しているMJです。以前こちらの記事で、LINE初の試みである「LINE Bug Bounty Program」について紹介いたしましたが、今回、改めて内容を振り返りながら、その結果について書かせていただこうと思います。

LINE Bug Bountyは、8月24日から9月23日までの約1ヶ月間で行われ、その期間に発見した脆弱性を報告してくださった方には、最高で1件20,000米ドル(約240万円)をお支払いするというプログラムです。このような制度は国内ではまだ実施例が少なく、あまり馴染みがないかもしれません。しかし、LINEではユーザーの皆様により安全なサービスを提供したいと考えており、そのための取り組み、制度のひとつとして、今回のBug Bounty Programを実施しました。

本プログラムは我々にとっても初めての試みでありまったくの未知数だったのですが、結果的に194件の報告を受け、XSS、CSRFなど計14件をクリティカルな脆弱性として対応させていただきました。また報告件数の半分以上は日本国外からのものであり、海外のユーザーからの関心も大きかったことは大きな驚きでした。

では、結果の詳細について実際に見ていきましょう。

メッセージの安全性新時代:Letter Sealing

こんにちは。LINEでセキュリティに関する調査、開発を担当しているJIです。

今回の記事では、メッセンジャーアプリにおけるセキュリティについて、中でもネットワークを通じたメッセージの送受信時に想定される問題と、その解決のためにLINE 5.3より追加されたLetter Sealing機能についてご紹介します。

メッセージを安全に渡す方法

秘密情報のやり取りは太古の昔からずっと行われてきたことであり、人々は人通りの少ない場所に隠れて密かに内緒話をしたり、仲間内だけで通じる暗号を使って他人には解読不能にしたりすることで、秘密が漏れないようにしてきました。

しかし、このような方法は相手が近い距離にいる場合に限って使えるものでした。インターネットのような遠距離通信手段が存在しなかった頃は、文字を書いた文書を封筒に入れ、受取人へ人づてに渡す方法しかありませんでした。ただし、人が配達する過程でも、封筒をこっそり開封して中身を盗み見てから元通りに封をしてそのまま届けるという問題が発生しました。また、文書の内容を修正・改ざんして違う内容のものを渡されていたとしても、それを差出人が確認できる方法はありませんでした。そのため、差出人が書いた内容を配達員から安全に守りながら伝達することはとても難しいことでした。

そこで、人々は新しい方法を思いつきました。内容の秘密保持ができないならば、少なくとも誰が文書を作成したのか、誰かが途中で封筒を開封していないか確認できる印をつけるべきだと思うようになったのです。こうして誕生したのがシーリングスタンプ(letter seal)です。これは、伝えたい内容を書いた文書にしっかり封をした後、蜜蝋(wax)のようなもので完全に封印する方法でした。配達員が中身を見るには封蝋を破らなければならないため、受取人は封の状態を見て配達中の盗み見や内容の改ざんの有無を確認することができました。そして、破いた封を元に戻せなくするために、固有の文様が刻印された印璽(シール)を押しました。    

True Delete機能のご紹介

こんにちは。LINEでアプリケーションのセキュリティを担当しているH2spiceです。今回の記事では、スマートフォンを紛失したときにユーザーが削除したトーク履歴が流出する仕組み、そしてそれを防止するためのLINEの新機能「True Delete」についてご紹介します。

はじめに

多くの人はスマートフォンを紛失したり、時には人通りの多い公共の場所にスマートフォンを放置したりします。もし紛失したスマートフォンを他人が拾った場合、スマートフォンに保存されているデータにアクセスして流出することができるので、かなり深刻な問題が起こる可能性があります。スマートフォンには通話履歴、メッセージ、電話帳、カレンダー、インターネット検索履歴、移動履歴、写真、メモなどたくさんの個人情報が詰まっているので、プライバシーの漏洩はもちろん、会社の業務上の機密が外部に流出する問題も発生しかねません。さらに、そのような情報を狙ってスマートフォンを盗む場合もあります。スマートフォンは便利な道具ですが、管理の不注意やちょっとした油断によって個人のプライバシーの侵害につながる危険な道具にもなり得ます。

LINEでは、このようなリスクからユーザーのプライバシーを保護するために、パスコードロックやデータの暗号化のような機能を追加するなど、さまざまな努力をしています。しかし、いくつかの問題のため、一部のリスクは依然として存在しています。「削除」という一般的なプログラム手法上の限界によって、削除されたデータを復元できてしまうことも問題の一つです。では、一般的な削除方法における問題点とそれを補うためにLINEが開発した「True Delete」機能をご紹介します。

LINE Bug Bountyを公開いたしました

こんにちは。LINEでセキュリティを担当しているMJです。今回の記事では、LINEのBug Bountyプログラムについてご紹介させていただきます。

Bug Bountyとは

Bug Bountyとは、自社の製品やサービスのキュリティ上の脆弱性を発見した人に報奨金を支払うプログラムで、グローバル企業では製品・サービスのセキュリティ強化策として積極的に取り入れられています。実際、多数の企業がこのプログラムを活用して自社のサービスの品質改善とセキュリティ向上を図り、セキュリティ問題を解決しています。

LINEは、毎月の実ユーザー数が2億人以上に達するグローバル企業に成長しました。この成長過程で、数多くのアプリケーションと増えたユーザーをセキュリティーの脅威から保護することが求められるようになりました。そのため、LINEはBug Bountyプログラムを実施することで、より安心・安全なサービスの提供を目指してまいります。

Spark、Mesos、Zeppelin、HDFSを活用した大容量セキュリティデータの解析

LINE Plusでゲームセキュリティ開発を担当しているWJ、KHです。

莫大なユーザーがモバイルからアクセスするLINEゲームにおいて、データの迅速な解析と対応はそう容易なものではありません。LINEゲームへのアクセスと海外ユーザーの大幅な増加に伴い、様々なアビューズ(不正とされる操作を通じて不当な利益を得る行為)行為が次々と観察されています。アビューズ行為は、正常にゲームを利用する善意のユーザーに迷惑を掛けることはもとより、ゲームサービスそのものにも直接的な影響を及ぼします。ゲームの安定性を守り善意のユーザーを保護するためには、アビューズ行為に迅速に対処することがとても大事です。

アビューズ行為が探知されたら、異なった形式のログを関連付けて解析しその問題の原因を洗い出して修正する必要がありますが、このとき一番の障壁は、大容量のログデータの速やかな処理でした。LINEで扱う各種データ量の増加により、従来の伝統的なビッグデータ処理方式では現象が発生してから事象を確認するまで数十分、数時間が掛かってしまいます。また、データ形式(RDB、NoSQL、File、API)や大容量サービスのためのData Shardingのような技術導入などの理由から、すべてのデータを連携することも容易ではありませんでした。何よりも、人気ゲームの場合は流入されるデータ自体が非常に多いのです。いろんな観点から迅速なデータの処理を可能にする多彩なオープンソースを組合せ、その可能性をチェックしてみました。結果として、作業の分配とリソースの活用にはApache MesosとApache Sparkを活用し、データのビジュアライズ(可視化)にはApache Zeppelinを採用することが希望のデータ処理要件に最も近いことが分かり、適切な構成を試みることになりました。

LINE DEVELOPER DAY 2015 Tokyo 動画と資料を公開

こんにちは、カンファレンス担当の櫛井です。

LINE DEVELOPER DAY_2015 Tokyo 開催のお知らせ « LINE Engineers’ Blogにてお知らせしておりました、LINE DEVELOPER DAY_2015 を開催いたしました。

イベント当日は応募者多数のため抽選となりましたが、沢山のエンジニアの皆さまにご来場いただき盛況となりました。ありがとうございました!

細かな部分を含めイベント全体の企画や運営を担当しました。「社外のエンジニアの皆さんにLINEを深く知っていただきたい」という主旨で企画をおこない、イベント準備等なかなか苦労した点もありましたが、ご参加いただいた皆さんに大変好評だったり、当日はTwitterのトレンド入りをしたりと評判が大変よかったので次回も是非開催できればと考えています。

イベントレポート等、また別の機会に行いたいと思いますが、まずは動画と資料を公開いたしますので是非ご覧いただければと思います。

B612における動画コーデックの採用と最適化オプション

こんにちは。LINE+でB612 Android開発を担当しているHTです。今回のブログでご紹介するB612は、小説『星の王子さま』に登場する王子さまが住んでいた星の名前にちなんで名付けられた自撮り専用アプリです。セルフィーアプリでは初めて撮影前フィルターと3~6秒の分割動画撮影に対応しています。今回のブログでは、B612アプリ開発においてMediaCodecを活用してコラージュ形式のビデオを作成し、最終的にMP4ファイルに仕上げるまでの過程についてお話したいと思います。

Apple Watch、新たな地平を拓く。

こんにちは。LINE iOS開発を担当しているRoyです。Apple Watchの公開に足並みを揃え、Apple Watchの機能についての簡単なレビューとApple Watch向けのアプリ開発、そしてLINEでのApple Watch対応について紹介したいと思います。

(注:現在はLINEのApple Watch向けアプリは非公開です)

Apple Watch

Apple Watchは、2014年9月9日の発表会ではじめて公開されました。この日、iPhone6、iPhone6+、Apple Payが次々と紹介され、終盤のOne More Thingで38mm42mmサイズのWatch、Watch Sport、Watch Editionの3種が発表されました。 Apple Watchではユーザーの動きの測定はもちろん、iPhoneで受信した通知も確認できます。また、Apple以外の3rd party企業のためのSDKも公開されました。1

Apple Watchには、タッチスクリーンとデジタルクラウン、サイドボタンがあります。右サイドのデジタルクラウンでは画面をスクロールしたり、ズームイン/ズームアウトでき、そのすぐ下のサイドボタンでは、よく連絡を取る友達を表示することができます。時計の下部にはユーザーがApple Watchを着けているかどうかをチェックしたり、ユーザーのバイオ情報を確認できるセンサーが付着されています。スピーカーと振動センサーが内臓されていて、通知が届くとアラーム音が聞こえたり、振動で感じ取ることができます。 2Apple-Watch-Heart-Rate-Sensor-337x400