APIとは何か(3)
~APIセキュリティのベストプラクティス~

Share

APIセキュリティは、適切な認証と認可が鍵です。本記事では、APIのセキュリティを強化するための基本的な対策からベストプラクティスまで解説します。脅威に対抗するための対策案を紹介し、セキュアなAPI運用のポイントを提供します。

前回記事はこちら。
シリーズ第1回目「APIとは何か(1)~基本概念とセキュリティの重要性~
シリーズ第2回目「APIとは何か(2)~APIの脅威とリスク~

認証と認可の重要性

ソフトウェアセキュリティにおける問題の多くは、信頼境界をまたぐデータ(プログラム内の入出力)やモノ(フレームワーク)に起因しています。様々な場所から様々なデバイスによりアクセスされる昨今の環境下では、既存の認証を信用せず、あらゆるアクセスを信用しないという前提に立った上で動的なアクセスコントロールによって認可する「ゼロトラスト」の考え方が必要です。ポイントは、「認証」と「認可」の違いを的確に理解することです。「認証」と「認可」が適切に区別されていないシステムの場合、本人確認を行うユーザ認証さえ突破してしまえば、システムのどこにでも自由にアクセス可能となってしまい、非常に危険です。

「認証」と「認可」を明確に区別して信頼境界の安全を保つことが重要であり、その実現にあたっては、厳格なセッション管理が鍵となります。代表例として、ソフトウェアにおけるアクセス認可において、アクセストークンによる堅牢な制御の上で、信頼境界ごとのリソースに認可プロセスを設定するといった方法が挙げられます。

基本的なセキュリティ対策

セキュリティ対策の取り組みには、基本的なセキュリティ対策こそが効果的であるという前提に立って、今一度自組織のセキュリティを見直すことが重要です。

セキュリティ基本10項目

標的型攻撃メール訓練の実施

標的型攻撃メール訓練は、従業員のセキュリティ意識向上と実践的なスキル習得に効果的です。訓練では、攻撃メールを模倣したシナリオを用いて、従業員が疑わしいメールを識別し、適切に対応するスキルを養います。定期的な訓練実施により、従業員のセキュリティ意識が継続的に高まり、実際の攻撃に対する組織の耐性が強化されます。また、訓練後のフィードバックやセキュリティ教育との組み合わせにより、より効果的な対策が可能になります。

定期的なバックアップの実施と安全な保管(別場所での保管推奨)

ランサムウェアによる被害からデータを保護するために、サーバに対してオフラインバックアップ(データだけを独立して磁気テープ・ストレートなどで物理的に隔離しておくこと)を行うことがおすすめです。バックアップの頻度や保管場所を見直し、最新の情報が常に保存されるようにすることが重要です。

バックアップ等から復旧可能であることの定期的な確認

バックアップが確実に復旧可能であることを確認するため、定期的にリカバリーテストを実施します。これにより、実際の復旧作業時に問題が発生しないことを保証し、緊急時に迅速かつ確実なデータ復旧が可能となります。また、テスト結果を文書化し、必要に応じて復旧手順の改善を図ります。このような確認作業を怠ると、いざという時にデータ復旧が困難になるリスクが高まります。

OS、各種コンポーネントのバージョン管理、パッチ適用

システムの脆弱性を悪用する攻撃を防ぐためには、OSやソフトウェアコンポーネントの最新バージョンへの更新・パッチ適用の実施をすることが必要不可欠です。定期的なパッチ適用とバージョン管理により、サイバー攻撃のリスクを大幅に軽減できます。特にゼロデイ攻撃のリスクを軽減するためには、普段から脆弱性関連の情報収集やバージョン更新が求められます。

認証機構の強化(14文字以上といった長いパスフレーズの強制や、適切な多要素認証の導入など)

認証の強化は、サイバー攻撃から組織を守るための基本的な対策です。単純なパスワードではなく、長く複雑なパスワードにし、さらに多要素認証(MFA)を導入することを推奨します。多要素認証はパスワードに加え、物理トークンや生体認証などの認証要素を用いることで、不正アクセスされるリスクを低減します。これにより、アカウントのセキュリティが飛躍的に向上します。

適切なアクセス制御および監視、ログの取得・分析

システム内の情報やリソースへのアクセスを厳格に管理し、適切なアクセス制御を行うことは、内部からの不正行為を防ぐために重要です。また、システムの稼働状況やアクセスログを定期的に取得し分析することで、異常な挙動を早期に検知できます。

シャドーIT(管理者が許可しない端末やソフトウェア)の有無の確認

シャドーITは、組織のセキュリティポリシーに反する可能性があり、脆弱性やデータ漏洩の原因となることがあります。定期的な監査や従業員への教育を通じて、シャドーITの存在を確認し、適切な対策を講じることが重要です。

攻撃を受けた場合に想定される影響範囲の把握

サイバー攻撃を受けた際に、どのような影響が組織に及ぶかを事前に把握しておくことは重要です。影響範囲を明確にすることで、インシデント発生時の対応計画を具体化し、迅速な対策を講じることが可能になります。システム全体の依存関係や業務の優先度を考慮し、被害を最小限に抑えましょう。

システムのセキュリティ状態、および実装済みセキュリティ対策の有効性の確認

定期的にシステムのセキュリティ状態を確認し、現在のセキュリティ対策が有効に機能しているかを確認することが効果的です。脆弱性診断やペネトレーションテストを実施することで、システムの弱点を特定し、自組織の状況に適した対応の実施が可能になります。

CSIRTの整備(全社的なインシデントレスポンス体制の構築と維持)

CSIRT(Computer Security Incident Response Team)は、サイバー攻撃やインシデント発生時に迅速かつ適切な対応を行うための専門チームです。CSIRTの整備は、全社的なセキュリティ体制を強化し、インシデント発生時の被害を最小限に抑えるために不可欠です。定期的な訓練とシミュレーションを通じて、CSIRTの対応力を維持し、常に最新の脅威に対応できる体制を整えます。

APIセキュリティのベストプラクティス

OAuthトークン

OAuthトークンは、APIへのアクセスを安全に制御するための認可手段です。ユーザのパスワードを直接共有せず、一時的なトークンでアクセスを許可する仕組みにより、不正アクセスのリスクを軽減します。

暗号化と署名

API通信では、暗号化が重要です。また、署名による送信者の認証をすることも重要です。SSL/TLS(TLS 1.3推奨)での暗号化により、データが送受信される途中で盗聴されないようにします。署名には一般的にRSA暗号やECDSAなどのアルゴリズムが使用され、SHA-256などのハッシュ関数と組み合わせてデータの完全性を保証します。デジタル証明書を使用することで、通信相手の身元確認も可能になり、より強固なセキュリティを実現できます。

レート制限とスロットリング

レート制限とスロットリングは、APIへのリクエスト数を一定範囲に抑え、サーバへの負荷を管理するための手法です。過剰なリクエストをブロックし、DDoS攻撃などのリスクを軽減します。また、正規ユーザの快適な利用を維持し、サービスの安定稼働を支えます。

APIゲートウェイの使用

APIゲートウェイは、API管理を一元化するためのツールです。認証、認可、レート制限、監視など、APIに関連するセキュリティ機能を提供します。これにより、システム全体のAPI運用を最適化します。APIの脆弱性を効果的に軽減することができます。また、監視とログ収集を行うことで、問題発生時の迅速な対応が可能になります。

APIのセキュリティ対策

ここまで見てきたAPIセキュリティ脅威を踏まえると、以下のようなポイントにおいて脆弱でないことが重要と考えられます。

APIのセキュリティ対策のポイント図

開発中、リリース後、更新時といった、いかなる状況においても、適切な脆弱性管理・対応ができているかどうかが、鍵となります。

APIのセキュリティ対策の概要図

APIの開発にあたっては、DevSecOpsを適用して脆弱性を作り込まないようにすること、APIリリース後も、新たな脆弱性が生まれていないか、APIセキュリティ診断などを通じて確認を継続することが重要です。

APIはスマホアプリでも多く活用されています。誰もがスマートフォンを利用している今、攻撃の被害が多くの人々に影響を及ぼす可能性があるからこそ、スマホアプリにおいて次の攻撃につながる情報が漏洩したり、スマホアプリの改竄が行われたりする可能性を摘んでおくことが、スマホアプリを提供するうえで重要となります。スマホアプリのセキュリティ対策の一つとしては、信頼できる第三者機関による脆弱性診断の実施があげられます。第三者の専門家からの診断を受けることで、網羅的な確認ができるため、早急に効率よく対策を実施するのに役立つでしょう。

関連記事:

  • 攻撃者が狙う重要情報の宝庫!―スマホアプリのセキュリティ―
  • まとめ

    APIのセキュリティについて、認証と認可は基本となる重要な要素です。現代では従来の境界型セキュリティでは不十分となり、あらゆるアクセスを疑う「ゼロトラスト」モデルが求められています。認証は「誰か」を確認するプロセス、認可は「何を許可するか」を決める仕組みであり、両者の違いを明確に理解しておくことが重要です。

    組織の安全を守るには、基本的なセキュリティ対策の実施が不可欠です。具体的には、攻撃メール訓練の実施、バックアップ管理、システムの更新、強固な認証の導入、アクセス制御とログ分析などが推奨されます。また、インシデント対応チーム(CSIRT)の整備により、問題発生時の迅速な対応が可能となります。

    APIセキュリティの観点からは、OAuthトークンの導入、通信の暗号化と署名、レート制限やスロットリングでの制限、APIゲートウェイが推奨されます。開発段階からリリース・運用後まで脆弱性管理を徹底し、特にユーザへの影響が大きいと考えられるサービスでは第三者機関によるセキュリティ診断も活用することをおすすめします。

    Security Report TOPに戻る
    TOP-更新情報に戻る


    資料ダウンロードボタン
    年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
    お問い合わせボタン
    サービスに関する疑問や質問はこちらからお気軽にお問合せください。

    Security Serviceへのリンクバナー画像
    BBsecコーポレートサイトへのリンクバナー画像
    セキュリティ緊急対応のバナー画像

侵入前提でのセキュリティ対策のポイント
-サイバー攻撃への対策3-

Share

サイバー攻撃の被害から自組織を守るためにはどのような対策をとればよいのか?まずは何から実施すればよいのか?今回の記事では、基本的なセキュリティ対策の考え方から、業界別のセキュリティ対策のポイントやガイドラインを紹介しつつ、リスクを最小化するために有効なセキュリティ対策のポイントを解説いたします。

企業のためのセキュリティ対策

管理・経営者に向けた基本対策

・標的型攻撃メール訓練の実施
・定期的なバックアップの実施と安全な保管(別場所での保管推奨)
・バックアップ等から復旧可能であることの定期的な確認
・OS、各種コンポーネントのバージョン管理、パッチ適用
・認証機構の強化
 (14文字以上といった長いパスフレーズの強制や、適切な多要素認証の導入など)
・適切なアクセス制御および監視、ログの取得・分析
・シャドーIT(管理者が許可しない端末やソフトウェア)の有無の確認
・攻撃を受けた場合に想定される影響範囲の把握
・システムのセキュリティ状態、および実装済みセキュリティ対策の有効性の確認
・CSIRTの整備(全社的なインシデントレスポンス体制の構築と維持)

また、セキュリティ対策の実践にはガイドラインの活用もおすすめです。ガイドラインがまとめられた背景には業界別のセキュリティ課題があることがわかります。今回いくつかガイドラインを紹介するにあたり、業界別のセキュリティ対策のポイントに触れます。

業界別セキュリティ対策のポイント

「自動車」「医療」「教育」の各業界に着目してみます。各業界のガイドラインがまとめられた背景および目的から、各業界のセキュリティに係る課題がわかります。

自動車  自動車産業全体のサイバーセキュリティ対策のレベルアップや対策レベルの効率的な点検を推進
医  療医療情報システムの安全管理や情報通信の技術の利用に関する法律等への対策
教  育教育情報セキュリティポリシーの考え方および内容について解説

各ガイドラインでは、それぞれの業界における以下のような業務について、外部ネットワークとの接続に言及しています。この外部ネットワークと接続するシステムが、各業界におけるセキュリティ対策のポイントといえるでしょう。

自動車  ITインフラ環境や工場等の制御システムをはじめとして企業が管理する多くの情報システム
医  療外部の医療機関等や患者自身などと医療情報の共有や連携、医療情報の外部保存を行うシステム
教  育学校ホームページや教職員によるメールの活用、学習活動に使用されるシステム

各業界のセキュリティガイドラインの紹介

自動車

自動車産業サイバーセキュリティガイドライン V2.0
工場システムにおけるサイバー・フィジカル・セキュリティ対策ガイドラインVer 1.0

医療業界

厚⽣労働省における医療機関のサイバーセキュリティ対策にかかる取組について
医療情報システムの安全管理に関するガイドライン
医療情報を取り扱う情報システム・サービスの提供事業者における安全管理ガイドライン

教育業界

教育情報セキュリティポリシーに関するガイドライン

まずはリスクの可視化を

サイバー攻撃への対策において、いまや完璧な防御を望むのは困難となっています。こうした脅威への対策における重要なポイントは3つあります。

「攻撃・侵入される前提」で取り組む

侵入への対策
目的:システムへの侵入を防ぐ
  侵入後の対策
目的:侵入された場合の被害を最小化する
・多要素認証の実装 ・不要なアカウント情報の削除(退職者のアカウント情報など)
・公開サーバ、公開アプリケーションの脆弱性を迅速に発見・解消する体制の構築
・VPNやリモートデスクトップサービスを用いる端末
・サーバのバージョン管理(常に最新バージョンを利用) ・ファイアウォールやWAFによる防御 など 
  ・社内環境におけるネットワークセグメンテーション
・ユーザ管理の厳格化、特権ユーザの限定・管理(特にWindowsの場合)
・侵入検知(IDS/IPSなど)、データバックアップといった対策の強化
・SIEMなどでのログ分析、イベント管理の実施
・不要なアプリケーションや機能の削除・無効化
・エンドポイントセキュリティ製品によるふるまい検知の導入
対策の有効性の確認方法
・脆弱性診断
・ペネトレーションテスト
  ・ペネトレーションテスト

侵入を前提とした多層防御が重要

「多層防御」対策を立てる前提として、情報資産の棚卸しも重要です。

情報資産とは
企業や組織などで保有している情報全般のこと。顧客情報や販売情報などの情報自体に加えて、ファイルやデータベースといったデータ、CD-ROMやUSBメモリなどのメディア、そして紙の資料も情報資産に含まれます。
(総務省「安心してインターネットを使うために 国民のためのサイバーセキュリティサイト」より引用)

組織内に存在する情報に関し、機密とするもの、公知であってよいものを分類し、それらがどこに格納されて、どのように利用されているかを可視化した上で、防御の対応をする機器・人・組織といったリソースを適切に振り分けて防御する仕組みを構築することが求められます。

これにより、システムへのマルウェアの侵入等の早期発見にも繋がり、事業活動の継続を左右する重要情報へのアクセスを遮断することで、万一侵入を許しても被害を最小限に抑えられます。

信頼できる第三者機関の脆弱性診断サービスを実施

企業として実施できるサイバー攻撃への対策として、信頼できる第三者機関による脆弱性診断が挙げられます。第三者の専門家からの診断を受けることで、現状の問題点や対応の優先順位などリスクを可視化することができるため、早急に効率よく対策を実施するのに役立ちます。

サイバー攻撃手法は日々更新されており、さらに取引先や子会社などを含むサプライチェーンを踏み台にした攻撃など、どんなにセキュリティ対策を実施していても自組織のみではインシデント発生を防ぎきれないのが実情です。脆弱性診断の定期的な実施といった基本的なセキュリティ対策を行うとともに、万が一インシデントが発生してしまった場合の備えとして信頼できる第三者の専門企業に相談することをおすすめします。

まとめ

管理者や経営者へ向けた基本的なセキュリティ対策の実施項目として、標的型攻撃メールの訓練実施、定期的なバックアップ及びその保管、オペレーティングシステムやアプリケーションのバージョン管理、強固な認証メカニズムの導入、適切なアクセス制御と監視、シャドーITの監査、想定される攻撃の影響範囲の理解、システムのセキュリティ状況の定期的な確認、および全社的なインシデントレスポンス計画の策定と維持等が挙げられます。

さらに、自動車、医療、教育各業界に特有のセキュリティ課題と、それに対応するための業界別ガイドラインを紹介しています。これらのガイドラインは、特に外部ネットワークに接続されるシステムのセキュリティ強化に注目しています。

また、サイバー攻撃への対策として、侵入を前提とした多層防御、情報資産の可視化を推奨します。これにより、万が一侵入を許してしまった場合でも、被害を最小限に留めることが可能です。また、信頼できる第三者機関による脆弱性の定期的な診断を実施することも有効です。

Security Report TOPに戻る
TOP-更新情報に戻る


資料ダウンロードボタン
年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
お問い合わせボタン
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Security Serviceへのリンクバナー画像
BBsecコーポレートサイトへのリンクバナー画像
セキュリティ緊急対応のバナー画像
セキュリティトピックス動画申し込みページリンクへのバナー画像