ホーム › 記事 › セキュリティ転職の面接は、ほとんど実技試験だった
セキュリティ転職の面接は、ほとんど実技試験だった
覚えている技術質問は4つです。ただ、落ちた場所はそこではありませんでした。口頭のやり取りより、実技のほうが中心だったという記憶が残っています。
103社に応募して、書類が通ったのは32社。その先で何を見られていたかを書きます。
この記事の要点
- 覚えている技術質問は4つ。ただし落ちたのは実技のほう
- 技術質問をしたのは人事ではなく、マネージャーか同僚になる人
- 日系は職務経歴書の深掘り、外資は用意された質問が来る
- 日系は書類と初回面接で止まり、外資は実技で落ちた
- 技術以外で毎回聞かれたのは3つ
技術質問をしてきたのは、人事ではなかった
技術質問をしてきたのは、マネージャーか、チームメンバーになる人でした。
一緒に働く人が直接見に来る、という形です。だから質問が実務寄りになるのだと思います。
日系と外資で、面接の中身が違った
同じ職務経歴書を出しても、面接で何をするかが違いました。
| 面接で何をするか | |
|---|---|
| 日系 | 質問よりも、職務経歴書の説明と深掘り |
| 外資 | 職務経歴書の深掘り + 相手が用意した質問への回答 |
日系は、書いてあることを説明する時間に近い配分でした。外資はそれに加えて、あらかじめ用意された質問が出てきます。
準備するものが変わります。日系は自分の経歴を語れるようにしておく。外資はそれに加えて、聞かれる側の準備が要ります。
落ちた場所が、日系と外資で違った
別の記事に書いた数字と並べると、意味がはっきりします。
| 応募 | 書類通過 | 通過率 | 面接を2段階以上進んだ | |
|---|---|---|---|---|
| 日系 | 48社 | 12社 | 25% | 1社 |
| 外資 | 43社 | 17社 | 39% | 10社 |
日系・外資に分類できたのは103社中91社です。残りはこの表から除いています。
日系は書類で4分の3が落ち、通った12社も1段階目でほとんど止まりました。2段階以上進んだのは1社です。
ただし外資は、基本的に実技で落ちています。進めた先に別の関門があった、というだけです。
- 日系 — 書類と初回面接で止まる
- 外資 — 面接には進む。そこから実技で落ちる
不採用理由の79%が「経験不足」でしたが、これは日系・外資を合わせた全体の数字です。
どちらが入りやすいという話ではありません。落ちる場所が違っただけです。詳しい内訳は103社応募した記録に書いています。
覚えている技術質問は4つ
口頭で聞かれたもののうち、はっきり覚えているのがこの4つです。
① encoding、encryption、hashing、salting の違いは?
4つとも「データを変換する」点では同じなので、区別がついていないと全部まとめて「暗号化」と呼んでしまいます。
| 元に戻せるか | 鍵が要るか | 何のためか | |
|---|---|---|---|
| encoding(符号化) | 戻せる。誰でも | 不要 | 互換性・転送のため。Base64、URLエンコード |
| encryption(暗号化) | 戻せる。鍵を持つ人だけ | 要る | 機密性。AES、RSA |
| hashing(ハッシュ化) | 戻せない | 不要 | 完全性の検証、パスワードの保管 |
| salting(ソルト付与) | — | — | ハッシュの前にパスワードへくっつける値 |
いちばん危ないのは encoding と encryption の混同です。Base64 は暗号化ではありません。鍵が要らず誰でも戻せるので、隠す力はゼロです。
ソルトは秘密である必要がありません。ハッシュと同じテーブルに保存します。役割は秘密にすることではなく、一意にすることです。
秘密にするほうはペッパーと呼び、データベースとは別の場所に置きます。
なお保管用のハッシュには、SHA-256 のような速いものではなく bcrypt / Argon2 / scrypt のような遅いものを使います。速さがそのまま総当たりの速さになるためです。
② 暗号化と圧縮、どちらを先にやるか
圧縮は、データの中の繰り返しや偏りを見つけて短くする技術です。暗号文にはその偏りがないので、暗号化してから圧縮してもほとんど縮みません。
だから原則は圧縮が先です。ただし、この順序には攻撃面がついてきます。
圧縮を先にすると、圧縮率そのものが中身を漏らします。攻撃者が平文の一部を送り込めて、圧縮後のサイズを観測できる場合、1文字ずつ試せば秘密の値を当てられます。
- CRIME(2012年)— TLS 自体がやっていた圧縮を狙った
- BREACH(2013年)— HTTP の応答ボディの gzip 圧縮を狙った
CRIME を受けて実装側が TLS 圧縮を無効化し、最終的に TLS 1.3 で仕様から削除されました。一方 BREACH はアプリケーション層が対象なので、TLS 1.3 にしても消えません。
捨てられたのは TLS 層の圧縮だけです。HTTP の gzip は今も使われています。だから対策は「圧縮をやめる」ではなく、秘密の値と攻撃者が操作できる入力を同じ圧縮のまとまりに入れない、という設計の話になります。
③ 最近トレンドになっている脆弱性と攻撃方法は?
知識というより、追いかけているかどうかを見る質問だと思いました。
この領域は変化が速いので、去年の知識をそのまま話すと止まっていることが伝わります。調べた答えを並べるだけでは足りないタイプの質問だと思いました。
④ 何をベースに nginx をチューニングしたか
「どう設定したか」ではなく「何をベースにしたか」を聞かれています。
設定値そのものは調べれば出てきます。聞かれているのは、推測で触ったのか、計測して決めたのかのほうだと思いました。
答えられなかったのは、ネットワークレイヤーだった
答えられなかった質問もあります。ネットワークレイヤーの質問でした。
開発とインフラを長くやっていても、セキュリティの文脈でのネットワークは別物でした。
ただ、実技で落ちた理由がそこだったのかは分かりません。出題の中身までは記録に残っていません。
技術以外で、毎回聞かれた3つ
技術の話とは別に、毎回聞かれた質問が3つありました。
- どうやって知識・技術をピックアップしているか
- なぜ転職するのか
- 何を求めているのか
この3つは、どこでも出ました。
逆に言えば、この3つは準備しておけるということです。
内定した会社では、質問が変わった
最終的に入ることになった会社では、技術質問の中身が違いました。基本的な Web セキュリティだけです。
技術寄りの GRC を探している会社だったので、求めているものが違ったのだと思います。
深い実技を課す会社と、そうでない会社がある。求めているものが違えば、聞かれることも変わる。それだけの話かもしれません。
まとめ
- 覚えている技術質問は4つ。ただし落ちたのは実技のほうだった
- 技術質問をしたのは人事ではなく、マネージャーか同僚になる人
- 日系は職務経歴書の深掘り、外資は用意された質問が加わる
- 日系は書類と初回面接で止まり、外資は実技で落ちた。落ちる場所が違った
- 技術以外で毎回聞かれたのは3つ。ここは準備できる
一人分の記録です。ただ、口頭の質問対策だけでは足りないというのは、書いておく価値があると思っています。