支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

この記事では、システムを運用していく中で必須となっている情報セキュリティを専門で扱うセキュリティエンジニアの仕事内容や、必要となるスキル、資格、将来性について紹介していきます。

IT技術が日々進化し続けている中、ネットワーク上で個人情報のやり取りを行うことは日常茶飯事となっています。オンラインショッピングでは購入者の個人情報やクレジットカード情報の入力が必要となり、お問い合わせフォームや会員登録でも個人情報の入力を行うことがありますが、何の対策もせずシステムが脆弱な状態のまま運用していては、これらの重要な情報は簡単に出回ってしまいます。個人情報や機密情報の流出といったセキュリティインシデントは、長年築き上げてきた企業への信頼を一瞬で失いかねないほど多大なインパクトがあり、決して発生させてはいけない重大なインシデントなので、どの企業もセキュリティ対策には最優先でコストをかけ注力しています。

もちろんインターネット上で個人情報を扱うようになった当初からセキュリティに関してはエンジニアによって対策が施されていましたが、保守・運用を行うサーバーエンジニア、ネットワークエンジニア、インフラエンジニア等が兼任していることがほとんどでした。しかし技術の進歩とともにセキュリティを破る手法が多様化し、対策を考えるべき部分も増え、徐々にセキュリティ関連の専門エンジニアが必要な状況となりました。このようにインターネット上のサービスを展開するうえでいまや欠かせないセキュリティエンジニアについて詳しく見ていきましょう。

情報セキュリティについて

セキュリティエンジニアの仕事内容を知るにあたって、まずはセキュリティエンジニアが業務の指針としている情報セキュリティについて紹介します。情報セキュリティは、機密性・完全性・可用性の三代要素を確保、維持することを目的として定義されています。

機密性(Confidentiality)

顧客情報や商品の開発資料等の機密情報に対して適切なアクセス権を設定し、不必要なアクセスがされない状態を維持することです。情報にアクセスするためにIDとパスワードを設定すること、データを暗号化することも機密性確保の対策に含まれます。形式的にアクセス権やパスワードを設定するだけではなく、アクセス権のあるユーザーを共有して利用されていないか、簡単なパスワードが設定されていないか等、対策が有効に作用しているかも管理していく必要があります。

完全性(Integrity)

情報に対して意図しない変更が加えられることのない状態にしておくことです。外部からの不正アクセスによる改竄や、社内での誤ったデータ変更によって情報の信頼性が失われることのないよう対策をしておく必要があります。また障害や天災によるハードの破損等でデータが失われてしまう可能性もありますが、そのような場合に備えてバックアップシステムを構築しておくことも完全性の確保に含まれる対策です。アクセスログ等で変更履歴が確認できる状態にしておくことも重要です。

可用性(Availability)

セキュリティ対策を施しつつ、情報に対して必要な時にいつでも安全にアクセスできる状態を保つことを指します。セキュリティを重視するあまり、情報にアクセスするまで何重もの承認が必要となるフローを設定したために毎回時間がかかってしまう状態、適切なアクセス権限が与えられておらず、業務上必須な人がアクセスできない状態等が発生していたら本末転倒とも言えます。データ損失が発生した際に即時にバックアップデータへアクセスして復旧する場合も可用性が問われます。

セキュリティエンジニアは以上の情報セキュリティ三大要素を念頭において、ベストなセキュリティ状態を保ちつつ、業務の効率化も両立できるバランスの良いセキュリティシステムの構築、運用が求められる職種です。

セキュリティエンジニアの一般的な仕事内容について

セキュリティエンジニアは、基本的に「企画、設計、実装、テスト、運用・保守」といった一般的なシステム開発の流れに沿って業務を行なっていきます。プログラマーやSEといったエンジニアがシステムのメインとなる機能の実装をしていく中で、セキュリティエンジニアはそのシステムを運用していく中で扱う個人情報の保護、外部からのアタックや不正アクセスによる改竄を防ぐための脆弱性やセキュリティホールへの対策をメインで行なっていきます。

企画の段階で行うこととしては、開発するシステムの仕様を把握し、セキュリティの観点から見てリスクのある点を指摘し、仕様の変更や必要な対策の導入を提案する等があります。プロジェクトの途中でその他のエンジニアと随時認識合わせができないということはありませんが、軸となる仕様は企画や設計の時点でほとんどが決められるため、セキュリティエンジニアにとっても重要なフェーズとなります。経験の浅いセキュリティエンジニアが担当することは少なく、ベテランのリーダーやマネージャーが担当する部分です。設計は企画を受けて具体的にどういったハードやソフトウェア、アプリケーションを使用していくかということを決定し、設計書に落とし込みます。

実装のフェーズではプログラミングやソフトの設定等を行います。セキュリティエンジニアとプログラミングは結びつきが薄いイメージがあるかもしれませんが、セキュリティエンジニアにはセキュアプログラミングのスキルが求められます。セキュアプログラミングとは、脆弱性のあるバージョンのプログラミング言語やフレームワークの使用をしないことはもちろん、コーディングにおいても不正アクセスや情報漏洩の危険性がある記述をあらかじめ避ける、負荷をかけないコーディングでシステムダウンの可能性を軽減させるということを意識したプログラミングです。セキュリティエンジニア自身がコーディングすることや、プログラマーによって記述されたコードに対して指摘する場合もあります。

テストの段階では、システムがひと通り出来上がった状態で脆弱性がないかを確認します。確認は一般的なSQLインジェクションや、バッファーオーバーフローを疑似的に仕掛けて実施されます。不正侵入されないか、負荷によるシステムダウンが発生しないかを事前に作成したテストリスト等に沿ってチェックしていきます。テストは専用のマニュアルが用意されていることもあり、新人や経験の浅いセキュリティエンジニアが担当する傾向があります。

実際にシステムの運用が始まってからもセキュリティエンジニアは障害発生時の再発防止対策や、利用しているOSやソフトウェア等のセキュリティパッチ適用、バージョンアップ等を実施してシステムの運用・保守をしていきます。有事やメンテナンス時の作業だけではなく、普段からセキュリティに関する最新情報には常にアンテナを張り、発生しうるリスクに関してチーム内での共有や上司への報告をして、常にシステムの安全性を保つことに注力していく必要があります。

役立つ資格について

セキュリティエンジニアに必要となる知識としては常に新しい情報が求められますが、それとは別にセキュリティの基礎知識や、セキュリティマネジメントに関する業務知識が必要で、そういった知識を蓄えるために各種資格が有効となります。役立つ資格として有名なものはIPA(独立行政法人 情報処理推進機構)が実施する情報処理技術者試験、情報セキュリティマネジメント試験、情報処理安全確保支援士試験があります。情報処理技術者試験はセキュリティエンジニアに関わらず全てのエンジニアに必要となるITの基礎知識が問われる試験です。情報セキュリティマネジメント試験は、所属する企業のセキュリティマネジメントを牽引していく人材になるための計画、運用、評価、改善に関する知識が問われる試験です。情報処理安全確保支援士試験は、情報セキュリティマネジメント試験の上位資格であり、セキュリティを専門とする技術者を率いる立場として必要な知識が問われる試験です。情報処理安全確保支援士試験に合格すると、サイバーセキュリティを推進する人材ということが認められ、国家資格である情報処理安全確保支援士(登録セキスペ)の資格を獲得できます。

IPA以外でもネットワークセキュリティの知識が問われるCISCO技術者認定や、アメリカの非営利IT業界団体が開催しているCompTIA Security+というセキュリティやネットワーク、クラウド分野のスキルが求められる試験等があります。

セキュリティエンジニアの今後について

オンラインショッピング等のECサイト、ネットバンキングや仮想通貨といった金融システム、マイナンバー登録等の行政関連のシステムと様々なサービスがオンライン化され、インターネット上では膨大な個人情報をはじめとする機密情報が取り扱われるようになっています。それに比例してセキュリティの重要性も見直されてきており、セキュリティに関する専門知識を有するセキュリティエンジニアの需要も増してきています。特にIT業界では先端IT人材というAI、IoT、ビッグデータ、クラウドといった今後の発展が見込まれる分野の技術を持った人材が2030年にかけて50万人以上不足すると予想されていますが、それらのシステムに特化したセキュリティの知識も求められるようになる可能性があり、セキュリティエンジニアに関してもさらに需要が増えてくることでしょう。

まとめ

企業のサービスが様々な形でインターネットを通して提供されることが当たり前のようになっている世の中で、セキュリティは見逃すことのできない重要なファクターです。セキュリティの知識やスキルを持っていると、開発しているシステムの種類にかかわらず多くの現場で汎用的に活躍できる可能性が得られるので、ぜひセキュリティエンジニアへの転職を検討してみてはいかがでしょうか。