Got Some \W+ech?

Could be Japanese. Could be English. Android, セキュリティ, 機械学習などをメインに、たまにポエムったり雑感記載したりします。

(翻訳)セキュリティで飯食いたい人向けの行動指針

  • (7/21) コメント欄の指摘を受け英訳追記

前文

本記事はGoogleのセキュリティ担当者 Parisa Tabriz氏(異名: Security Princess)のSo, you want to work in security?を翻訳したものです。

うっ…半年以上前…

意訳したりわからない部分もあったので、原稿の全てを反映できているか自信はありません。元ブログも是非ご一読ください。

—————————————- ここから翻訳 ————————————————-

セキュリティ分野(コンピュータ、情報、サイバー…etc)でキャリアを積みたい人からメールをもらうことがある。素晴らしいことだと思う。テクノロジーを安全にしていくパション、創造性を持ち、ハードワークをこなせる仲間はいつだって必要だ。金銭的な意味で、安定した生活を送れるようにもなるだろう。

他にも同じトピック(キャリア)で似たようなポストがあるが、私の経験から導き出した上流の考えを共有していこうと思う。

警告: 映画のような華々しさはない

実際の現場はハリウッド映画とは違う。私はハッカー映画やドラマは好きだが、私の仕事の経験上、映画のようなスリルでセクシーな場面には遭遇しない。 しかし、(恐らく他の職種もそうだろうが)セキュリティはとても刺激的で、チャレンジングな、そしてやりがいのある仕事だと思う。

完全もしくは標準的なカリキュラムなどない

セキュリティは広範で、インターディシプナリー(学問的横断)で、応用的な分野だ。セキュアなシステムをデザイン・構築する、それを攻撃する、検知する、など役割は多岐にわたる。そのなかに唯一無二で標準的なカリキュラムなどない。この分野がより成熟するにつれ、カリキュラムも充足してくるかもしれないが、私はそうなるとは思えない。

もし、あなたがコンピューターサイエンス、コンピュータ、ソフトウェアの仕組みを理解するのであれば、それらは大いに役に立つであろう。コンピューターサイエンスは抽象的なレイヤーの問題を解決する学問であり、セキュリティはその抽象レイヤーにおけるミスを見つけ直す(もしくは攻撃する)学問だ。

私はイリノイ大学のコンピューターサイエンス部で学んだ。中でもOS、ネットワーク、コンピューター・アーキテクチャコンパイラーなどのコースが役に立った。それに加え、私が興味をもった技術コース(信号処理、バイオメディカル工学、人工知能)や、インターン、学生クラブのプロジェクトで携わったネットワーク、プライバシー向上技術、Web/クライアントアプリ作成などで経験と積んだ。

ユーザーや顧客がどのようにテクノロジーを使うか理解するのも有効だ。もし私が大学に戻るのであれば、心理学、社会学ヒューマン・ファクターのコースをとるかもしれない。

私は似たようなバックグラウンドを持つ専門家とも、そうでない専門家とも仕事をしたことがある。専門家には学位を取る前に中退した人もいる。

私は特にセキュリティの資格をもっていない。それによって不利益を被ったこともない。なにかしらの産業や国ではプロフェッショナルとして必要かもしれない。they’re certainly a thing that some reasonable people have pursued — caveat emptor(?) -> 持っていた方が雇い主が安心できるケースはあるかもしれない。

ハッカーの文化を理解するために、Hacker ManifestoやHow to Become a hackerを読むといいだろう。セキュリティ専門家の行動指針・行動規範になるだろう。もし、ハッカーでなくても、ハッカーマインドセットを理解するのに役立つはずだ。

他にも色々なインプットをする場がある。私がインプットする先はこのTwitter security listにいるひとたちからであることも多い

手を動かせ。実践しろ。

どの業種でもいえることだが、業務経験はなるべくはやく始めることだ。始めることで興味、強み、将来のキャリアプランを計画できる。日常業務や環境がどういった要素から構成されており、そのうち何が好きで何が嫌いか学べる。私の人生で最も価値があった経験の一つは、おおよそ全く好きになれなかったインターンシップだ。私の将来の方向性は大きく変化した。

どのように業務経験を始めるかは人による。学生クラブやキャリアフェアに出席し、熱意を向けられるインターンシップやバイトに応募しよう。私の場合、ライフガードコミュニティでやっていた清掃バイトの伝手で、大学寮のシステム管理業務をやることになった。ここで積んだ経験を活かし、大手製薬会社でITインターンをすることになった。また、授業ではなく大学のクラブ内で実際のソフトウェア作成の経験をつみ、サイバーセキュリティインターンシップをみつけた。こうやって私は、Googleの中のひとに「どれいっちょ面接するか」と思ってもらえるぐらいの経験を積んだ。

コードを書け

私の知っている優秀なセキュリティエンジニアは、コードをよく書く。ソフトウェアを書くことで、セキュリティ的なバグを埋め込むこともある。この過程から開発者に対してリアルな共感をもつことができるのだ。結局のところセキュアでないコードを指摘するより、継続してセキュアなコードを作っていく方が難しいことを認知できる。

もし、どこから始めれば良いのか分からければ、オープンソースのバグを潰すところから始めるといいだろう。バグ潰しは感謝される。プロジェクトのメンバーに感謝されるだけでなく、将来的な仕事につながることもある。

コードを壊せ

ソフトのバグを探すことに時間を費やせ。デバッガ・ネットワークスキャナー・ウェブプロキシ・ソフトウェアfuzzerの使い方を学ぼう。ハッカープレイグラウンドで遊ぼう。私は大学の時、http://seclists.org/bugtraq Hack This Site!をつかっていた。他のハッカー養成場は https://infosec.rocks.にリストされている。CTFなどのハッキングチャレンジりすとはここだ。バグバウンティをやっている会社にばぐを報告するのもよいだろう。

バグを探すだけでなく、bugtrag/fulldisclosure/oss-secから他者がみつけたことを追い、学ぶことも推奨する。

知識を共有しろ

私は大学時代に、ACMグループのSigMil(?)にいた友人からセキュリティを教わった。そこでは興味のある分野についてプレゼンをするメンバーがいた。我々はまた、DEFCONへ巡礼したり、セキュリティ本を買ったり、外国の同じ志をもつ同士と成果物についてチャットしあったりした。Googleでは、専門性・苦心していること・半熟なアイディアを同僚と共有することで、たくさんのことを学べた。

知識の共有はいくつかの理由で重要だ。 1. 知識の共有は、セキュリティのベストプラクティスやハマリポイントを横断的に展開していくのに有効だ。 2. プレゼンやドキュメントの作成の過程でたくさんのことを学べるので、隠れたトピックまで見渡せられる 3. 質問・コメント・ディスカッションを通して、聴講者からも学びがある。 4. Pay it forward(?) -> その恩は周囲の人にも広がる

本当にたくさんのことを学んだ。

コミュニケーションを怠るな

セキュリティをするということは、同じバックグラウンドを共有しない人に対して、複雑な技術的問題を日常的に説明することになる。そして、聴講者はそれぞれ異なる単語・専門性・動機をもつことになるだろう。あなたは脆弱性の重要さについて国際的な基準にたよることは滅多にできないし、セキュリティのプラクティスを実践するときに、輝かしいデモはできない。あなたは、聴講者にフラストレーションを感じさせてはならない。

これをするにはコミュニケーションが必要であり、時には説明と交渉をしなければならない。技術的リソースだけでは身につかないため、練習し、パブリッシュし、継続的に向上させていかなければならない。

辛いことも失敗もある

当たり前のことだが、明確にしておきたい。 セキュリティは大変な仕事だ。我々が古いものを撤廃するより圧倒的早く、我々が守るべき技術分野は変わる。従って、新しいことを学び続けねばならない。攻撃者は我々より時間とリソースを持っており、既存の防御手法にも追いつきやすい。

セキュリティはストレスの多い仕事だ。不明瞭な問題や不完全なソリューション、あまりないデータ、何より人の安全を脅かす現実の脅威と向き合わなければならない。

セキュリティは成功を可視化しにくい仕事だ。私の経験上、失敗の方が人の目につきやすい。だが、我々は究極的にリスク緩和までしか対応できず、銀の弾丸は存在しない。

楽観者でいよう

先述の通り、 (‘A`)ウツになることもあるであろう。テクノロジーの進歩についていけないと思うかもしれない。2016年の今日でもバッファオーバーフロー脆弱性を利用して、インパクトのでかい攻撃をされている。セキュリティは不可能であり、悪くなっており、なぜ我々が失敗してるか指摘する人を良く見ることになるだろう。

現実は辛いかもしれない。だが、テクノロジーが我々にもたらしたことを考えてみよう。その成果はすばらしいの一言だ。もちろん完璧ではないし、将来的にも完璧にはならない。だが、セキュリティは10年前より確実によくなってるし、それなりのレベルで保証されるようになってきている。だから私は楽観者でいられる。

助けを求めよう

嫌な奴はいる。嫌な奴にくじかれるな。男性優位主義でエゴイスティックな側面を長いことみてきた。会話がマウント取りに発展することは珍しくない。

私の今までの成功は、他のセキュリティ専門家の人の支援・アドバイス・教育からなっている。助けを求めても、それは仕事から外されるということではない。

なので、助けが必要であれば聞こう。デューディリジェンスをちゃんとし、助けを提供しやすいようにしよう。スコープを適切に切って、コンテキストを共有し、タイポを減らせば、良いレスポンスが返ってくるはずだ。

Good luck and happy hacking!