IT社員3人組によるリレーブログ

某IT企業に勤める同期3人が、日常で思ったことを記録していきます (twitter: @go_mount_blog)

DeepLearningってなんでこんなに流行ってるの?

どうも、Koheiです。

最近毎回、台風来てますねって言ってる気がします。

 

さて、今日は今を時めくDeep Learningについて書きたいと思います。

難しい理論や仕組みはいったん置いておいて、まずはDeepLearningが話題になったきかっかけやその特徴について話を中心にしていきたいと思います。

 

その前に、AIと機械学習ってよくわかんね。。。という方は下記の記事をどうぞ

go-mount.hatenablog.com

 

f:id:go-mount:20180824235510j:plain

2012年DeepLearningが巻き起こした震撼

事件はILSVRCという競技会で起こりました。

ILSVRCとは、ImageNet large scale visual recognition challengeの略で、簡単に言うと、AIを使って画像認識が正確にできるかを競うコンテストです。

サイトはこちら↓

ImageNet Large Scale Visual Recognition Competition 2012 (ILSVRC2012)

2012年のコンテストでは、1000種類120万枚の学習用の画像データを使って、15万枚の画像を正しく分類できるかが課題でした。

 

様々な研究者が必死に機械学習アルゴリズムを設計し、パラメータ調整することでコンマ数%の精度向上を狙っていた中、HintonらがDeepLearningを使った画像認識手法が2位以下に精度10%以上の差をつけてぶっちぎりで優勝しました。

 

10%以上の差をつけたというのは、かつてない衝撃で

「もうDeep Learningしかねえじゃん!」となって、翌年からILSVRCでは参加者のほとんどがDeep Learning使いだすくらいです

今やILSVRCはDeepLearningのワールドカップになっちゃってます。

 

当時の日本の研究者がこの結果を見たつぶやきが面白いのでLinkを張っておきます

togetter.com

 

 ちなみにそのときの分類結果の一部*1は下記のとおりです。

f:id:go-mount:20180824002609p:plain

*1.(Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "Imagenet classification with deep convolutional neural networks." Advances in neural information processing systems. 2012)

画像の分類結果も、人間でも間違えそう…というものも多く、AIの進化を感じさせられます。

そのほかの結果も下記に公開されております。

.http://image-net.org/challenges/LSVRC/2012/supervision.pdf

 

Googleが猫の画像に反応するAIを作りあげる

画像認識の世界でざわつきが起こって数カ月、DeepLearningは一般のニュース記事でも話題を作りました。

 

www.rbbtoday.com

Googleは26日(現地時間)、同社の「Google X Labs」が人間の脳をシミュレーションする研究で大きな成果を挙げたと発表した。コンピューターが猫を認識する能力を自ら獲得することに成功したという

 「人間の脳をシミュレーションする」とありますが、これがDeep Learningのことを言っています。まだ当時はDeepLearningという言葉がメジャーではなかったので、脳のシミュレーションと書いているんだと思います。

 

世の中AIとかよくわかんね、って人もこの記事を読んだら

よくわかんねえけどGoogleのコンピュータが自ら猫を認識した!?すげー!!

みたいになるわけですね。こうしてAIやDeepLearningがお茶の間に浸透していきました。

 

ここでGoogleがやったことをざっくりまとめると、

youtubeからランダムに抽出した画像10million(ラベル付けなし)を使ってDeepLearningモデルを構築

1000台(16000CPU)のマシンで3日間計算させた

・人間の顔や、体、猫を高精度で判別するモデルと画像が生成された

 

つまり、大量データと巨大なコンピュータを使って、教師無し学習のクラスタリングで特定の画像を分類する画像判別モデルを生成した…ということなのです。

この辺だけ聞くと、まあ教師無し学習ね、って感じですが、

注目すべきは、特定の画像を高精度で判別するモデルと画像が生まれた、という点です。

 

例えば人の顔に反応する画像は下記のとおりです。

f:id:go-mount:20180824233619p:plain

google DeepLearingモデルが生成した人の顔を高精度で判別するモデル*2

(*2 Le, Quoc V. "Building high-level features using large scale unsupervised learning." Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on. IEEE, 2013.

 

判別モデルが生成する画像を見てみると、確かに「人間っぽい」「猫っぽい」特徴が出ていたりします。コンピュータが人と思うのはこういう特徴か、というのが可視化されたわけです。

詳しくは下記のgoogleのオフィシャルブログでも見ることができるので、興味がある方はどうぞ

 

googleblog.blogspot.com

 

DeepLearningの特徴

 さて、この2つの事件でDeepLearningが何やらすごそうということが分かったのですが、結局のところこれまでの機械学習と何が違うんでしょうか

  

そのヒントは上の二つの記事にあります。

 

1. 曖昧な特徴を自動的に選んで正確にモデル化している

Googleの記事にもありますが、人の特徴を判別する画像、よくできています。

なんとなく人の顔の形を取ってるし、目の位置や鼻の位置も納得です。これは誰に教えられるでもなくDeepLearningでコンピュータが自動的に判断した特徴になります。

今回はDeepLearinigのアルゴリズムはざっくり省略していますが、DeepLearningはこうしたうまく明確化できない曖昧な特徴をモデル化するのに適しています

 

2. 大量データと大量の計算資源を使っている

1.ならではとも言えますが、やはり曖昧な特徴をうまくモデル化するために大量のデータと膨大な計算が必要になります。これまでの機械学習の方法とは違って、とにかく数で圧倒して特徴を計算させるスタイルに近いです。逆に言うと、少量で単純なデータの分類であれば、DeepLearningを使ううまみはあまりありません。

まとめ

ここまでDeepLearningが話題になったきっかけと、DeepLearningの特徴について簡単にまとめてみました。

アルゴリズムについてはほとんど語りませんでしたが、また次回、DeepLearningがなぜここまで高精度なモデルが作れるのか?という観点で書きたいと思います。

 

ではでは

 

 

イケてない企業が働き方改革やったとて

どうもITコンサルタントのShoheiです。

今日は新テーマ、働き方改革についてお話ししたいと思います。

今回は具体的なIT技術の話に入る前に、その前段のお話を。 

 

最近ホットな働き方改革(Work Style Inovation)

最近よく耳にしませんか?

 

それもそのはず。

今年の国会で働き方改革法案が可決され、今から国レベルでこの取り組みに力をいれようとしています。

 

エン・ジャパン株式会社が2017/5に発表した「働き方改革」のアンケートによると、以下のような結果が出ており*1、アンケート対象となった471社のうちの6割程度が、既に働き方改革の取り組みを進めていることがわかります。

f:id:go-mount:20180819154727p:plain

 

さてところで。

働き方改革ってなんでしょう。

厚生労働省のサイトで掲げられている主なテーマは以下です*2

 

 

 

賃金引き上げ、柔軟な働き方など、キラキラしたワードが目に入りますね。

詳しくは厚労省のページを直接見ていただきたいですが、この中でITが大きく絡んでくるのは「柔軟な働き方がしやすい環境整備」のところですかね。

 

 

古い企業の空回り

この取り組みを進めるにあたり、企業のお偉いさんの中では、「ええい!こういうときこそボトムアップじゃ!!社員を集めてアイデア出しをするんじゃ!! (若手の意見を取り入れる風通しのいいクールな職場だろ?)」と、社員を集めたアイデア出しの場を設定するところもあるかと思います。

 

ただ、働き方がイケていない企業が、イケていない文化のままこういうことをすると、結局以下のようなアホみたいな事態が発生し、無意味と化します。

  • 目的が不明確なまま議論を始めて発散して終了
  • 打ち合わせの場で結局みんな内職し始めて話を聞かない
  • 結局しゃべりたいだけの老害ゴミ社員があれこれ喋って終了
  • 結局次のアクションが見えない

 

f:id:go-mount:20180819152434p:plain

 

働き方改革を見据えたIT議論の前に、諸々整理すべきことが

実は最近、働き方改革関連のITコンサル業務を持つことも増えています。

ただ、働き方改革にはITの話だけでなく、社内規則や評価制度の話など色んな要素が絡んでくるので、

なかなか情報システム部のお偉いさんだけで決まるような話じゃなかったりするんですよね。

実際同じ会社でも、話す相手は情シス部長、セキュリティ部部長、経営企画部長、人事部長、社長など幅広くお話しさせていただいています。

 

 

働き方改革を議論する前に、会社として目指す姿を描いて全体最適となる設計を進めた上で、IT議論に持ち込まないと、出戻りが多くなります。

目指す姿が不明確なまま、ただのツールでしかないIT周りの話を進めても、「あれ結局?」となるのです。

 

上述のようなディスカッションをするにも、ある特定の部署に限らない議論にするとか、確実に社長なり経営層に意見が伝達されるような仕組みなり有能な取りまとめがいないとカスと化します。

 

働き方改革の目的は?

じゃぁ働き方改革の目的、目指すべき全体方針ってなんなの?

これについてはそんな意識がずれるようなポイントではないと思いますが、僕はもし一言で表すなら、社員の働き方を変えることで、"社員の生産性をあげて会社の利益を向上させること"、これに尽きると思っています。生産性をあげるための手段や過程は以下のようにいくつかあるかとは思いますがね。

  • 仕事の無駄をなくして業務効率を上げることで、生産性をあげる
  • 多様な働き方を認め、雇用機会を広げることで、生産性の高い優秀な社員を確保する(優秀な女性が子育てを理由に辞めてしまわないように家から働けるようにするとかね)
  • 多様な働き方を認め、社員のストレスを軽減することで、生産性を上げる(通勤なくすとかね)

ここで意識すべきは生産性 〜タイムマネジメント時代は終わった

ここまでは意識ずれないのですが、生産性の理解とその高め方の点で、イケてない企業が古い考えを捨てきれず、改革ができずに終わるのだと思います。

 

生産性の理解。何がずれていると僕が思うかというと。

 

例えば、流れ作業で、とにかく単純作業をする人手が必要だった昔の工場勤務の場合、生産性/生産量は、ほぼ働いた時間に依存しました。

だからこそ、昔の文化では給料、ひいては人事評価は、時間で管理(タイムマネジメント)すればよかったのです。

なぜなら、多少の個人差はあれど、働いた分だけ製品を生産している、会社に貢献していると言えるから。

 

ただ、今はどうでしょう。

時間さえかければ生産量が高まる仕事なんてほとんどなくないですか?

単純作業はほぼほぼ自動化され、いまはよりクリエイティブなアウトプットに仕事の価値を置かれる時代になっています。

ぼーっとしながらでも時間さえかければ会社の望むアウトプットが出せる時代ではなくなっています。

それにも関わらず。いまだに残業時間等で給料が決まるの、おかしいと思いませんか?

 

似たような話は僕が好きな本にも書かれていて、まさにその通りだと思います。ここにはストレスマネジメントの話も入っていますが。*3

 近年、うつ病の人などが増えているのは、ワークライフバランスが声高に叫ばれる中、いまだに社会がタイムマネジメントを中心にまわっていて、ストレスマネジメントが全然できていないからです。たとえば、残業を禁止して、形式上22時までに帰宅すればいいというのは明らかにおかしい。

 時間で区切るからストレスマネジメントが機能していないのに、また時間で区切り直してどうすrんだ、という話です。

 

話を戻して、この働き方改革を考える上でも、このようなタイムマネジメントによる古い考え方をかえずに進めると、いつまでたっても生産性を高めるための改革にはたどり着けない思います。

そして残念ながら、その古い考え方を捨てられていないが故に、働き方改革の議論をする際に以下のような意見がでるのです。

  • 家で働かせるようにすると、ちゃんと勤務時間に仕事しているか管理しずらい。PCのログで監視できるようになっているのか
  • 午前だけ自宅勤務を許して午後出社する場合、途中の通勤時間は勤務時間に入るのか

なんかもう、笑えてきますよね。haha!!

働き方改革という、手段に入る前に、まずは考え方改革を経営層レベルでした方がいいんじゃないでしょうかね。

 

まとめ

働き方改革についてお話ししました。

働き方改革を進めるには、IT部門のみならず様々な部署を巻き込んで全体最適な図を描いた上で進めるべきこと。

それから、生産に結びつく指標が、時間ではなくなっていること、について説明しました。

 

最後に、引用した本を載せておきます。

この本はかなり面白かったです。

 

日本再興戦略 (NewsPicks Book)

日本再興戦略 (NewsPicks Book)

 

 

 

サンドボックス分析「WildFire」について

どうも、Keiです。

先日仙台で遊んで来ました!牛タン以外なにもありませんが、穏やかでいい街ですね。大学時代を思い出しました。

 

さて、ぼくは仙台でたまに家に鍵をかけずに、大学にいったりしてました。

今考えると(昔でも)セキュリティがばがばですね・・・よく何も盗まれませんでした。

仙台っていい街ですねえ。

 

さて、今回はセキュリティのお話です。

突然ですが、Paloalto社のWildFireというサービスはご存知でしょうか?

 

f:id:go-mount:20180820181037j:plain

 

Paloaltoを知らないと、「は?山火事か?」って感じかもしれませんが、これは最近流行っているサンドボックス分析型のセキュリティサービスです。

今回はこちらのWildFireとはどのようなサービスになっているかを、サンドボックス分析の説明もしつつ解析して行きます。

 

サンドボックス分析

まずはサンドボックス分析について説明します。

サンドボックス分析以前では、サイバー攻撃に対してシグネチャベースの対策を行っていました。

 

シグネチャ

シグネチャとは英語で「署名」という意味がありますが、サイバー攻撃のパターンを表しています。

つまり、今まで攻撃を受けたパターン(シグネチャ)を記憶して、それと同じ攻撃があれば、排除するいうものです。

 

シグネチャベースのセキュリティでは「ホワイトスト」と「ブラックリスト」の2つのフィルタのかけ方があります。

 

ホワイトリストでは、許可した通信(IPアドレスやポートなど)のみアクセスを許可するものです。

これに対してブラックリストは指定した通信(IPアドレスやポートなど)に対してアクセスを許可しないやり方です。

 

ブラックリストでは、ウィルスだと思われる通信の条件を全てリスト化しないと、条件に挙げていない通信は全部許可してしまうため、サイバー攻撃を受けてしまう可能性があります。

その点、ホワイトリストでは許可する通信の条件(IPアドレス、ポートなど)を厳しくすれば、不正な通信はアクセスできなくなります。

一方で、ホワイトリストで許可した通信へのなりすましなど、未知の攻撃にはブラックリスト同様リスクがあります。

 

未知の攻撃への対策!サンドボックス

さて、シグネチャベース型は既知のサイバー攻撃に対してはホワイトリストブラックリストでフィルタリングできますが、未知の攻撃に対しては弱いことがわかりました。

 

ここで登場するのがサンドボックス分析です。

サンドボックスとは英語で「砂場」という意味です。「砂場」、「山火事」と一見意味がわからないネーミングが多いですね笑

 

サンドボックスの考え方としては、未知の疑わしい攻撃を素通ししてしまうのではなく、隔離して他のサービスに影響が出ないような環境で、本当にウィルスかどうかいろいろ実験してみようというものです。

 

例えば、疑わしいメールがあり、そこに記載のあるURLをクリックしたり、添付ファイルを開けたりなどの行為を、サンドボックスという隔離空間で行ってウィルスがどのような動きをするか観察するというものです。

砂場で一回遊んでみる、みたいな感じですかね。

 

 WildFireについて

さて、それではサンドボックス分析の説明も行ったので、Paloalto社のWildFireについて話していきます。

 WildFireは先ほど説明したサンドボックス分析により、未知のサイバー攻撃を隔離してその挙動を分析することができます。また、分析結果を新たなシグネチャとして記憶、また、全世界へのシグネチャの共有や、逆に世界中のPaloalto社製品を扱っている企業からのシグネチャの共有を受け、より未知のサイバー攻撃に対して強くなることができます。

 

WildFireの便利な機能の1つで、未知の疑わしい通信を検知するPAシリーズはオンプレで持つのですが、疑わしい通信を自動でクラウドに送信して、サンドボックス分析はクラウド上で行うという「クラウド型」のサンドボックス分析があります。

 

下の図にもありますが、クラウドに上げることのできないクライアント情報が存在する場合はクラウド型だけでなく、「オンプレ型」も存在します。

図の右側のWF-500という装置をオンプレで持ち、ここでサンドボックス解析を行います。

 WildFireã¯ã©ã¦ãã¨WildFireã¢ãã©ã¤ã¢ã³ã¹ WF-500ã«ã¤ãã¦

Hitach solutionsのHPから引用

 

ここまで、 サンドボックス解析は未知のサイバー攻撃に対して非常に有効であるという話をしてきましたが、完璧なソリューションではありません。

サンドボックスに入ったファイルが、安全だと認識されて出ていくまでの時間はウィルス性の挙動を見せないような攻撃も存在します。

そのため、シグネチャサンドボックス解析は複合的に組み合わせて使っていくことが通常のやり方です。

 

また、サンドボックス解析ではウィルスの挙動を見るために時間がかかる場合が多いため、動的な対応とは言えません。

そのため、遅延が許されない通信に対してはサンドボックスで隔離するのでなく、動的な対応が必要となります。

 WildFireは、サンドボックス分析をするだけでなく、動的解析、ベアメタル解析などいくつかの手法を用いることでこれを解決しようとしています。

 

さて、今回はWildFireの代表的な分析方法であるサンドボックス分析について紹介しました。

機会があれば、他の分析方法についても解説したいと思います。

ではでは。

中国のネットワーク規制とその回避策について

どうも、Koheiです。

上海に来ております。

台風直撃で何もできません。

 

ということで、今日は、絶賛影響を受けている中国のネットワーク事情について書いてみたいと思います。

 

f:id:go-mount:20180815233828j:plain

 

中国ではググれない

中国ではGoogle系サービスのほとんどが使えません。

また、Twitter, instagram, facebook, lineといったSNS系も使うことができません。

 

2018/8/17現在使えるものと使えないものを調べてみるとこんな感じでした。

 

使えなかったもの

google検索

google map

google drive

google photo
gmail
youtube
google play
twitter
line(受信通知だけくる)
インスタ
フェイスブック
tumbler
pinterest
yahoo検索
Amazon
dropbox

使えたもの

dmenu検索
goo検索
yahoo mail、天気などのサービス
Evernote
slack
はてなブログ

 

google系がほとんど使えず、もはや「ネット使えないんじゃね?」と勘違いするレベルです。

 

これは中国政府による情報規制による影響と言われています。

中国政府の規制といえば、最近だとモンハンもNGが出ていましたね。

jp.reuters.com

 

中国政府は、新聞、雑誌、ラジオ、TV等のメディアを監視しており、

中国語で金盾工程というプロジェクト(Great Firewall of Chinaなどとも)いわれています)

金盾 - Wikipedia

 

1993年からすでに情報管理が計画されていたようです。

中国全土のネットワークを閲覧して検疫するシステム…いくらかかってるんでしょうね。。。

 

中国政府としては、海外の巨大IT企業(Google, facebook, twitter)などの侵入を防ぎ国内のIT企業を成長させる狙いもあるのかもしれません。

実際に中国の検索エンジン百度(baidu)は、世界No.2の検索エンジンの規模にもなっています。

 

どうやって規制しているのか

 

規制方法の情報はあまり出てきませんがwikipedia先生には下記のような記載がありました。

中国のネット検閲 - Wikipedia

インターネットゲートウェイプロキシサーバとファイアウォールによりIPアドレスをブロックする。特定サイトのリクエストがきたら、システムは選択的にDNSキャッシュ・ポイズニングをかける。

・技術情報

IPアドレスブロックキング
DNSフィルタリング(DNS書き換え)
URLフィルタリング
パケットフィルタリング
コネクションリセット

 

こうしてみてみると、単純にブラックリスト化した宛先のブロックだけでなく

パケットの中身まで見て、検閲を実施ししているパターンもあるそうです。

 

また、AI技術を使ったWebの閲覧傾向からのユーザ追跡等も動いているようです。

www.nikkei.com

 

ただこの閲覧制限ですが、google検索はNGでも、google検索ベースのdmenu検索が使えたり、と完璧ではありません。

このあたりの検閲には、かなり人手をかけているらしく、それゆえの不完全さも残っているようです。

 

ネット規制を回避する方法

とはいえ、インスタに写真上げたいし、LINEで連絡も取りたいし

と思ったあなたへ、規制を回避する方法が一応あります。

 

いろいろ調べてみましたが、大きく二つになると思います。

1. VPNを利用する。

2. 規制対象外の特区(香港、マカオ)のSIMを利用する

 

1. VPNを利用する

中国国内のファイアウォールゲートウェイを通る通信を暗号化して、わかんなくしちゃえって発想です。

通信を暗号化して、疑似的に(Virtual)専用の(Private)ネットワーク(Network)を作るので、それぞれの頭文字をとってVPNと言っています。

 

VPNの詳しい仕組みについては、こちらの記事が参考になります。

www.atmarkit.co.jp

 

中国外のサーバへ一度暗号化して通信を実施し、海外のサーバからインターネットを閲覧するため、中国政府の規制には引っ掛かりません。

 

実際にVPNを利用する際は、個人で頑張ってVPNサーバ立てて、、、ということもできなくはないですが、中国国内で提供しているVPNサービスを利用することが簡単です。

 

jcvisa.info

 

ただし、こうしたVPNサービスについても中国政府からの規制が厳しくなっており、事前に現在の状況を確認して利用するのが良さそうです。

forbesjapan.com

 

2. 規制対象外の特区(香港、マカオ)のSIMを利用する

こちらもVPNの考え方に近いですが、規制対象外の香港とマカオを経由して通信すれば検閲を避けることができます。

 

VPNサービスは長期利用ならいいですが、短期の旅行では割高になってしまうので

SIMを利用する方がお得です。

しかもこのSIMカードamazonで購入することができます。 

上海でこちらのSIMを使っていますが、問題なく利用できました。規制も問題なしです。

 

まとめ

さて、中国のネット規制とその回避策について書いてみました。

個人的には、世の中を便利にしていくAIの技術が規制の強化に使われてしまうのが、なんとも言えないところですね。。。

 

今後の中国政府のネット規制の動きについても、引き続きアンテナを張っていきたいと思います。

 

ではでは

 

情報セキュリティ基本要素(CIA)について説明します (初心者、就活生向け)

どうも、ITコンサルタントのShoheiです。

 

遅くなってしまいましたが、初回記事で触れた本をようやく読み終わりました。

それぞれの本のレビューは後日気が向いたら書こうかと思いますが、

やはり色んな書籍から情報収拾するのはすごく有益ですねー。

 f:id:go-mount:20180814181438j:image

色々と読んできましたが、今日は一周回って、情報セキュリティの基礎の基礎、情報セキュリティのCIAについて解説をしていきたいと思います。

かなり初歩的な内容ですが、全ての基礎となるので、IT関連の人も今一度押さえておきましょう。

 

 

情報セキュリティとは

情報セキュリティとは、情報資産を危険なものから保護し、安全に保つことを言います。

情報資産は、PCやソフトウェア、紙媒体を含むデータ、ネットワーク設備などに加え、業務に関するノウハウだとか、会議での発言内容なども含まれます。

そいつらを如何に脅威から守り、安全に保つかを考えること、実践すること、それが情報セキュリティです。

安全に保つってなんやねん

上述の定義だと、何をすれば安全と言えるかが曖昧ですが、有名なセキュリティ対策実践規範(JIS Q 27002)が、セキュリティを構成する三要素を以下のように定義してくれています。

組織では、以下の三点をバランスよく実現することを念頭に、セキュリティ対策を進めています。

今日はそれぞれについて説明していきます。

f:id:go-mount:20180814184221p:plain

 

 機密性とは(Confidentiality)

機密性というのは、読んで字のごとくですが、権限のない人が情報を利用できないようにすることです。

下の例ですと、左の犬には情報資産へのアクセス権限を与えるが、右の犬は社外の犬なのでアクセスさせないように設定する、といったものです。

f:id:go-mount:20180814200134p:plain

よく個人情報何万件流出!といったようなニュースを見るかと思いますが(Yahooの件とか、年金機構の件とか)、これは機密性が失われた、と言い換えることができます。

 

機密性を保つための対策として、以下のようなものがあげられます。

・アクセス制御

(そもそも誰にアクセスさせていいのかを決め、アクセスできないような設定をかける)

・暗号化 (例え不適切な人にデータを見られたとしてもわからないようにする) 

 

完全性(Integrity)

情報資産が正確である状態を維持することです。

まずは下の絵をご覧ください。

 

f:id:go-mount:20180814201848p:plain

上図の上のケースだと、伝えた情報(メッセージ)が正確に伝わっています

しかし、下のケースだと悪意を持つ第三者によって情報が改ざんされているため、情報の完全性が失われています

極端な例でいうと、完全性が失われたことに気づかずに1時に公園に行った結果、知らない人に拉致されてしまうかもしれません。

情報の価値と信頼性を担保するためにも、この完全性を保つための対策は重要となります

 

完全性担保のための対策は以下のようなものがあげられます。

・各種デジタル証明書 (この情報の出所や情報自体は怪しいものではないですよ、と第三者に証明してもらう仕組み)

・改ざん検知 (情報と、その情報から生成される証明符号のようなものをセットで送り、送信者側で証明符号を生成したときにそれらが一致しないと、改ざんされたとみなします)

 

可用性(Availability)

最後は可用性です。

必要なときに、情報資産を利用できる状態にすることです。

例えば以下のケースは可用性が失われている状態です。

f:id:go-mount:20180814203024p:plain

 

え、これも情報セキュリティで考えるべきことなの?って思う方もおられるかもしれませんが、これも一つの要素になります。

 

あえてもう一つ例を出しましょう。

情報資産が、通販会社のWebページだとします。

悪意のある第三者によって、大量のアクセスを仕掛けられ、Webページが使えなくなりました。

この場合、情報の完全性も機密性も失われていませんが、可用性を失うことで大事なビジネスチャンスを失っていますよね

f:id:go-mount:20180814203403p:plain

こんなことあるの?と思われる方もいらっしゃるかもしれませんが、DoS攻撃DDoS攻撃など、これを目的とした攻撃が起きることは日常茶飯事です。

また、"明日お前の企業にDDoS攻撃仕掛ける。仕掛けられたらお前らのビジネスも止まるし評判も落ちるぜ。やめて欲しかったら金銭払いな"なんていう脅迫犯罪のケースも多々あるようです。

 

"ほんとにそんなことあるの?そんな、サイバー攻撃なんて滅多に起こるわけないじゃん"って方。

では自分の目で確かめて見てください。

Digital Attack Mapというサイトにいくと、今現在起きているDDoS攻撃が可視化されています。Googleが運営しているサイトで、怪しいサイトではないです。

サイトが重かったりするのでスクショを貼っておくと、以下のような様子で攻撃が見える化されています。さすがGoogle。。。面白いですね。

f:id:go-mount:20180814205018p:plain

話を戻すと、可用性担保のために上記のような攻撃への対策ツールをいれておくだとか、そもそもの基盤を冗長化(壊れたり攻撃にあったりしても、持ちこたえられるようにしておく)をすることが対策となります。

 

まとめ

情報セキュリティ三大要素、CIAについて説明しました。

Apigeeとは?【APIを管理しよう】

どうも、こんにちは。Keiです。

最近は台風が来まくったり、異常な熱さだったりと刺激的な日々が続きますね。

 

f:id:go-mount:20180814205912p:plain

 

本日は、最近企業でも導入が進んでいるApigeeについて書いていきたいと思います。

 

は?Apigee?初めて聞いたわ?

 

って人もいると思うので、Apigeeとはの部分について説明します。

 

APigeeについて

ApigeeとはApigee社(2016年にGoogleが買収)が提供している統合的なAPIの管理プラットフォームのことです。

そもそもAPIってよく聞くけどわからん、って人にとってはこの記事は地獄のようなものになってしまいますよね。

わかっている人も APIについて改めて見つめなおしてみましょう!

 

 APIとは

 APIはApplication Programing Interfaceの略で、サービスや機能を使いやすい便利な形(インターフェース)で外部に公開しているものです。Web APIなど、APIを提供しているサーバにHTMLリクエストを送り、それに対して結果が返ってくるようなAPIの形態

がわかりやすい例です。

 

具体的な例を見てみましょう。

 

Open whether MAP

これは世界中の天気を返してくれる機能を提供しています。場所を指定してHTMLリクエストを送信すると、そこの天気が返ってくるAPIを提供しています。

無料のプランと有料のプランがあり、有料のプランだと1分間のコール数(HTMLリクエストを送る回数。ようは使えば使うほどお金とるよってこと)の制限が大きくなります。

例えば、スキーのゲレンデのWebページで天気を表示したい場合、1時間ごとに更新するのかリアルタイムで更新するのかによって、コール数が変わってきます。

 

openweathermap.org

 

 

 Facebook/Google認証

これはみなさんも一度は使ったことがあると思いますが、ユーザを作成してログインが必要なアプリやWebページで、FacebookGoogleのアカウントを使うことができるというものです。これも、FacebookGoogleが提供している認証のAPIを別の企業が利用してユーザに提供しています。

 

 Apigeeとは

 さて、本題に入りましょう。

APIを公開する企業が増加し、ユーザや企業は自分たちで1から機能を作成しなくとも、 APIを組み合わせて利用することで簡単にシステムを構築できるようになりました。

 

ここで、ApigeeはAPIを公開する側にメリットをもたらすサービスなのです。

先ほどの天気を取得するAPIのように、読み取り専用の情報(オープンデータ)を提供している企業は非常に多いですし、天気や気温など様々なAPIを公開しているとその管理も面倒になってきます。

 

また、APIを公開しているということは、DDoS攻撃のようにWebからの攻撃にさらされる危険があるということです。特に読み取り専用でなく、書き込み等の変更作業が可能となるAPIを提供している場合はセキュリティもしっかりしていないと、データの不正アクセス、最悪の場合は漏えいにもつながりかねません。

 

そして、APIの使用料をとっている場合はAPIのユーザ別のコール数やマネタイズの部分も気になってきますよね。

 

これらのAPIへの要望を統合的に管理できるのがApigeeというサービスなのです。

Apigeeのダッシュボードはこのようになっています。

 

f:id:go-mount:20180814203520p:plain

 

Apigeeでは、簡単なAPIであればこのダッシュボードでポチポチ設定をするだけで簡単に作成することができます。

エンドポイント(APIを使うためのURL。このURLを参照することでAPIを使うことができる)の作成も行ってくれます。

 

 APIの今後は?

さて、Apigeeの簡単な説明は以上となりますが、今後のAPIをめぐるWeb業界はどのようになっていくでしょうか。

 

Apigeeはシステムをより素早く、効率的に作成するために複数の既存サービス(API)を組み合わせるマッシュアップ型の思想が普及した現在の流れに乗ったサービスです。

 

もちろん、APIの運用面でもApigeeは非常に大きな効果がありますが、経営にとっても何百とあるAPIのどれを伸ばしてどれを廃止することで収益性に絡めていくかは、重要です。

 

現在、ビッグデータのような膨大な情報を分析してそこから示唆を出していく作業はIT業界では当たり前になっています。APIも同様で、アクセス数などの情報の見える化をして、分析をすることで収益に結び付けることは当然です。Apigeeはこの時代の流れに乗る非常に興味深い統合プラットフォームと言えるでしょう。

 

現在、Googleが買収したApigeeはGartner Magic Quadrant for Full Life Cycle API Managementにおいて、3年連続リーダーのポジションを獲得しています。

今後はGoogleが持つGCPGoogle Cloud Platform)と連携し、Apigeeで収集したデータをAIで分析したりできるようになっていくのではないでしょうか。

 

さて、今回はApigeeとAPIの今後について話していきました。

また次回。

Gitを使ってバージョン管理をしよう 〜いろんなGitサービスの紹介〜

どうも、Koheiです。

今日は最近関わることのあったGitについて

書いてみようと思います。

 f:id:go-mount:20180811130233j:plain

乱立する更新版ファイルにお悩みのあなたへ

 

みなさんはこんな経験ありませんか?

 

今度、プレゼンをすることになったのでカンペを作ることになりました。

まず、2018_プレゼンカンペ.txtを作成して、初期案を作りました。

 

しばらくして、ちょっと修正したくなったあなたは

過去のバージョンも一応残しておきたかったので

2018_プレゼンカンペ_修正版.txt

という名前で修正版ファイルを作りました。

 

さらに翌日、いいフレーズが浮かびファイルを修正します。

2018_プレゼンカンペ_修正_完全版.txt

 

いや、ちょっとまて、ここはこうしよう。これで最終版だ。

2018_プレゼンカンペ_修正_完全_最終.txt

 

あ、やっぱこうした方がきれいか?

2018_プレゼンカンペ_修正_完全_真.txt 

 

その後フォルダをみてみると

  • 2018_プレゼンカンペ.txt
  • 2018_プレゼンカンペ_修正版.txt
  • 2018_プレゼンカンペ_修正_完全版.txt
  • 2018_プレゼンカンペ_修正_完全_最終.txt
  • 2018_プレゼンカンペ_修正_完全_真.txt

 

うわああああ

最終的にカオスです。結局どれが最終版やねん、と。

#ちなみに上のパターンは僕の研究室の同期がやっていた実話です。

 

こういうのを解決するために作られたのがgitです。

Gitってなに?

f:id:go-mount:20180811130407p:plain

簡単に言うとバージョン管理ツールです。

バージョン管理というのは、だれが、いつ、どの部分を変更したかを記録します。

 

Gitへ複数のユーザがファイルのアップロード(push)、ダウンロード(pull)を行い

変更結果を管理することができます。

利用イメージは下の通り

 

f:id:go-mount:20180811125722p:plain

 

さまざまGit用語がありますが、ざっくりで考えるなら

ローカルリポジトリ:ユーザのパソコン上のフォルダ

リモートリポジトリ:Git上のフォルダ

push: Gitへのアップロード

pull: Gitへのダウンロード

なイメージです。

 

ただし、Gitはファイルをアップロードするだけでは変更履歴を更新しません。

最終的に更新を反映するためにはCommitという処理が必要になります。

複数の人が同時にアップロード、ダウンロードし、処理が競合するケースが考えられるため、ファイルをアップしたタイミング(push/pull)と、gitが変更を受領するタイミング(commit)を区別します。これはデータベースでも取り入れられている仕組みですね。

 

いろんなGitサービス

さて、このgitですが、自分で導入しなくてもクラウド上でサービスとして提供しているものがたくさんあるのでいくつか紹介します。

 

1. GitHub

https://github.com/

Gitを利用した、開発者を支援するWebサービスのひとつです。

無料でGitサービスを利用できますが、基本的にアップロードしたものは全体公開されます。閲覧制限等を実施したい場合は有料です。

Github desktop(windows, macでソフトあるよ)などと合わせれば比較的簡単に扱うとこができます。

f:id:go-mount:20180811132003p:plain

 

エンジニア向きなイメージがありますが、最近では変更前後の画像をあげて、デザイナー向けにも利用されているようです。

 

今年の6月にmicrosoftに買収された大きくニュースになりましたね。

www.atmarkit.co.jp

 

2. Bitbucket 

https://bitbucket.org/

同じくクラウド版Gitサービスの一つです。

基本的にgithubと同じようなサービスですが、こちらはひとつのリポジトリの利用ユーザが5人以下であれば、無料で非公開のリポジトリが作れます。

f:id:go-mount:20180811132641p:plain

 

3. codecommit

https://aws.amazon.com/jp/codecommit/

AWSの提供しているGitリポジトリサービスです。

こちらも5userの利用までなら無料で非公開リポジトリが使えます。

また、AWS上の機能なので、他のAWS系のツールとの連携に強みを持っています。

Githubなどと比較すると昨日は少なめです。

f:id:go-mount:20180811133422p:plain

 

4. gitlab

さて、これまでクラウド型Gitサービスを紹介しましたが、ここで紹介するgitlabは自分でサーバを立てて利用するソフトになります。

 

セキュリティの問題でクラウド上のものは使えない。。。などの要件がある人向きです。

無料版のCommunity Edition(CE)と有料版のEnterprise Edition(EE)の2バージョンがあり、EEだとサポートが受けられたり、利用できる機能が多かったりします。

古いバージョンなら日本語のパッチも存在します。

 

f:id:go-mount:20180811133928p:plain

まとめ

今日はバージョン管理ツールのGitと、その機能を提供している様々なツールを紹介しました!日々アップデートされているソフトなので今後とも動きをキャッチして、適切なツールを使っていきたいですね。

 

ではでは