こんにちは!管理人のうみねこ(@penta59631)です。
以前に、以下の記事で予算10万円で自作したPCの構成紹介を行いました。
あれから、数年が経ち、今の構成も結構変わっているので改めて紹介します!
こんな方におすすめ!
- PC自作を考えているので、他の人がどういう構成にしているか知りたい。
「サイバー攻撃とか流行っているしなんとなくセキュリティって今後も需要がありそう。サイバー攻撃の方法とかも知りたいし、そういう仕事につきたい。でもいまいちどんな仕事をするのか分かってないので教えてほしい。あとどうやったらなれるのかも知りたい。」
という方に向けた記事です。
私は現在、セキュリティエンジニア(脆弱性診断士)として働いています。
システムエンジニアやプログラマという職種はなんとなくどんな仕事かわかるという人も、セキュリティエンジニアという職種はイメージしづらいのではないでしょうか。
この記事でそういう方向けに、セキュリティエンジニア(脆弱性診断士)にの仕事内容やなり方について解説していきます。
セキュリティエンジニア(脆弱性診断士)とは?
そもそもセキュリティエンジニアとは、システムのセキュリティ対策や調査、監視等を中心に行うエンジニアです。
一例ですが例えば、以下のような仕事がセキュリティエンジニアの業務の領域です。
今回はこの中で脆弱性診断の業務について解説していきます。
ホワイトハッカーと呼ばれる超優秀な人達の中には、脆弱性を見つけることで企業から賞金をもらい生計を立てている人もいます。
脆弱性診断の種類
まず、脆弱性(ぜいじゃくせい)という言葉を聞いたことがありますでしょうか。
脆弱性とは、悪用されると個人情報の流出やシステムの不正利用などにつながるシステムの弱点のことです。
どれだけ、しっかり設計してシステムを作ったとしても人間が作っている以上何かしらの設定ミスやバグは出てきます。
悪意を持ったハッカー(クラッカー)はこれらの脆弱性を悪用して情報を抜き取ったり、Webサイトを改竄したりします。
この脆弱性を依頼を受けた上で見つけて報告する業務が脆弱性診断業務です。
正式に依頼を受けて合法的な範囲で行うという部分がクラッカーとは異なる点です。
脆弱性を先に把握できていれば、システムの管理者は攻撃されないように何らかの対策を取ることができます。
「悪いところを見つけてその治し方を教える」
システムのお医者さんのようなイメージです。
この脆弱性はさまざまな場所に潜んでいます。
ここからは脆弱性診断の種類について解説していきます。
プラットフォーム診断
プラットフォーム診断とは、システムの基盤部分(サーバ、ネットワーク等)を調査する業務です。
インターネット上に公開されない部分のためイメージしづらいかもしれませんが、Webサイトが動く土台のことを指します。
例えば以下のような観点で調査します。
これらの脆弱性があると、本来インターネットからは接続できない想定のはずのシステムに侵入して攻撃されてしまうというような事態にもなりかねません。
以下の記事にある攻撃手法なんかもプラットフォームに合った脆弱性を悪用したものですね。
このような基盤に関わるセキュリティ上の弱点を調べるのがプラットフォーム診断です。
Webアプリケーション診断
Webアプリケーション診断とは、Webサイトの脆弱性を調査する業務です。
例えば以下のような観点で調査します。
プラットフォーム診断に比べて、Webアプリケーションはそれぞれの会社で特性に合わせて独自に作っているということが多いです。
そのため、まずはWebサイトの動きを把握することから始める必要があります。
その後、ツールと手動を使って脆弱性を調べていきます。
サイトによっては、「正しいパスワードを入れていないのに管理者のユーザーでログインできる」「一回しかできない申込みが値を改ざんすることによって複数回できる」、「商品を購入する際に、金額を改ざんすることでタダで購入できる」など悪用されると広範囲に影響が及び脆弱性が検出されることもあります。
手動での確認は、色んなパターンを自分で考えて試したりするので結構面白いです。
この他にもスマートフォンアプリ診断やIoT診断、API診断等いくつかの診断サービスがあります。
診断業務は、あくまで脆弱性を見つけるという観点のサービスなので、攻撃してサイトを使えなくするというところまでは行いません。
とは言っても通常とは異なる文字列を大量に入力したりするため、意図せずサイトが使えなくなってしまうということもあります。
そういう状況も想定しながら顧客側と情報連携して行います。
セキュリティエンジニア(脆弱性診断士)の仕事の流れ
続いて脆弱性診断の仕事の流れを紹介します。
対象の調査
診断業務を行うことが決まったら、まず対象機器や対象サイトの調査を行います。
プラットフォーム診断では、IPアドレスの数や接続情報の確認。
Webサイト診断では、Webサイト全体のページ移動を確認して送られるデータ(パラメータ)などを確認します。
診断作業
調査が完了したら、いよいよ診断です。
診断はツールを使った診断と手動での診断があります。
ツール診断では、決められた動作を機器やサイトに対して繰り返し行います。
サイバー攻撃と言ってもさまざまな攻撃方法があるため、一つずつ手で確認していたらとても時間が足りません。
なので機械的に判定できるツールを使うことで精度を一定に保ちながら診断を効率的に進める事ができます。
そして、手動診断では、ツールでは検出しきれない箇所を調査します。
例えば、Webアプリケーション診断なんかは会社ごとに独自の仕様になっていることも多くそれぞれの会社に合わせて改ざんしたデータを送ったりするなどです。
報告
診断作業が完了したら報告書を作成します。
報告書内には、見つかった脆弱性とその箇所、影響、推奨する対策等を記載します。
報告書が完成したら、報告書を送付して診断作業完了となります。
場合によっては、報告会という形式で顧客先で報告するケースもあります。
セキュリティエンジニア(脆弱性診断士)のなり方
ここからはどうやったらセキュリティエンジニアになれるの?という点について解説していきます。
セキュリティエンジニアになるためには、以下の方法があります。
- セキュリティ専門の企業に入る
- 企業の情報システム部門(IT、セキュリティ担当)になる
新卒の場合は、1のパターンであればリクナビやマイナビ等の就活サイトから探せば未経験可で募集しているところがあるためそちらから応募するのがおすすめです。
2のパターンについては、新卒だとそもそも募集しているところが少ないため、まずは1でスキルをつけた上で転職というのが良いと思います。
中途の場合は、まずエンジニア就職に特化した転職サイトやエージェントに登録するのがおすすめです。
登録したサイトでセキュリティ等のキーワードで検索すると求人がいくつか出てくるのでそこから気になるところをピックアップしていきましょう。
そもそも知識や技術がないよ・・・という方はまずセキュリティエンジニアではなくITエンジニアとして、プログラムやシステム開発を経験してからセキュリティエンジニアになるというのも一つの手です。
私が一緒に働いた30代の人でこれまで全く別の職種にいて、ITに関わりがなかったけどそこから今診断業務を行っているという経験の人もいます。
求人に書いてある必須条件は多少経験を盛れば(嘘はだめですが)なんとかなることも多いので、どこまで諦めずに頑張れるかがポイントだと思います。
そもそも知識や技術がないという方が勉強しやすい、おすすめの本を紹介した記事も書いているのでよければご覧ください。
さいごに
セキュリティエンジニアは専門的な知識がいる職種ですが、その分やりがいもある職種です。
サイバーセキュリティの知識はこれからの時代持っておいて損は無いと思うので気になっている方は目指してみてはいかがでしょうか。