ランサムウェアからソフトウェア開発企業を守るためのガイドライン
指針となる具体的な対策手法を提案

2020年12月8日

一般社団法人コンピュータソフトウェア協会(CSAJ)
セキュリティ委員会/Software ISAC

 一般社団法人コンピュータソフトウェア協会(略称「CSAJ」、東京都港区赤坂) セキュリティ委員会/Software ISACは、被害が急拡大しているランサムウェアから、ソフトウェア開発企業を守るための注意喚起とガイドラインを発表しました。今後、CSAJ会員への遵守の呼びかけと啓発活動を行ってまいります。

背景

 ソフトウェア開発企業でサイバー攻撃によるインシデントが発生すると、顧客のみならず、ソフトウェア・サプライチェーン全体に多大な影響を及ぼします。特に、最近被害が急拡大しているランサムウェアは、開発途中のソースコードやデータベースを暗号化し、身代金要求したり、攻撃者の意にそぐわない場合は、データの公開をするなど、極めて悪質化しています。
 Emotetと呼ばれるマルウェアは主に電子メールを使って侵入し、Office文書のマクロ、コマンドラインインターフェースやPowerShellなどのスクリプトを使って、外部からランサムウェア本体を呼び込みます。この際、ユーザーの権限が管理者特権であると攻撃を拡大させます。
 また、REvilと呼ばれるランサムウェアはコロナ禍での在宅勤務で利用するVPNサーバーの脆弱性を悪用し組織内に侵入しました。ネットワーク関連システムの脆弱性修正プログラムは適用がされない、もしくは優先度が低いことが多く、被害を拡大させました。
 一方で開発環境では、ランサムウェアが悪用するコマンドラインインタフェースやPowerShellなどを管理者特権で利用する必要があり、その意味でソフトウェア開発企業はランサムウェアに対して極めて脆弱であるといわざるを得ません。加えて、在宅勤務でVPNの利用は拡大しており欠かすことはできません。
 しかし、侵入口である電子メールを開発環境から適切に分離する、脆弱性修正プログラムを早期に適用するなどの手法で、被害を最小限に緩和できます。本10ヶ条はソフトウェア開発企業の経営者、システム管理者、開発担当者の指針となる具体的な対策手法を提案します。

1. 開発端末での電子メール閲覧の禁止

ランサムウェアの侵入元は大半が電子メールです。マルウェアのEmotetなどは電子メールの連絡先を窃取し、社内から送信されたメールに見せかけユーザーを油断させて電子メールの添付ファイルを開かせようとします。そのため、開発環境から電子メールとの接点を分離することが最も重要です。

2. 一般業務と開発業務の端末・ネットワークの分離と脆弱性管理

電子メールの閲覧は一般業務ネットワークに接続された端末、もしくはHyper-Vなどの仮想端末からのみ許可とします。開発業務ネットワークからインターネットへのゲートウェイでは、POP、SMTPを禁止します。ブラウザメールの使用が考えられることから、就業規則で開発環境(開発端末・開発ネットワーク)からのブラウザメールの使用を明確に禁止します。
また、VPNやネットワークの脆弱性を利用する攻撃が増えていることから、以下の対策も併せて実施します。
・VPNの脆弱性対策
・VPNを含めたネットワークの認証情報の管理
・不用意に露出しているRDPやSSHなどを把握
・意識的に露出させている場合にはセキュリティが十分かの確認
(脆弱性対策、複雑なパスワード、二要素認証やIPによるアクセス制限などの追加のセキュリティ)
・公開サーバ(Webアプリなど)の脆弱性対策
・ネットワーク内部での不審な活動を可視化するネットワークとエンドポイントの監視と、それらの証跡を横断的に判断できる対策手法の確立

3. 開発業務でのコミュニケーションにはビジネスチャットを利用

社内や顧客とのコミュニケーションには、電子メールを使用せず、Chatwork、Slack、TEAMSなどを多要素認証を前提に利用します。また、暗号化を前提に一時的な開発関連のデータやファイル共有を行い、最終的にはGitHub等を利用して履歴管理を行います。なお、ビジネスチャットにはマクロ付きOffice文書のアップロードを禁止します。顧客がビジネスチャットを利用できない場合は、ファイル転送ソフトを利用し、電子メールへの添付は明確に禁止します。

4. Officeマクロ(VBA)、PowerShellスクリプトへの電子署名とポリシーの適用

業務で使用するOfficeマクロ(VBA)、PowerShellスクリプトには電子署名を行い、ポリシー(※1)で電子署名のないマクロ、スクリプトの実行を禁止します。

5. ソースコード、重要データのバックアップと分離

重要な情報資産は確実にバックアップを取得します。バックアップ先は一般業務ネットワーク内のサーバーとせず、開発業務ネットワークのサーバーもしくは、必要に応じてクラウドを利用し、インシデントの影響を受けないバックアップデータを確保します。ソースコード、開発用ドキュメントは、ランサムウェアの被害を防ぐため、IDEと一般業務ネットワークから分離されたソース管理サーバーもしくは、GitHubなどを多要素認証を前提に連携させ、リモートリポジトリを確保することを検討します。

6. ローカルAdministrator のパスワードはすべてユニークに設定

攻撃者が万一、侵入した場合を想定して、リスク低減のためネットワーク内の水平展開を防止するため、ローカルAdministratorはすべて一台一台、ユニークなパスワード設定を行います。マイクロソフトの無償ツールLAPS(※2)を利用すれば、ドメインに所属するすべてのPCのローカルAdministratorのパスワードをシステム管理者がリモートで設定できます。

7. 一般業務での管理者権限の利用禁止

一般業務端末・ネットワークでは標準ユーザーだけの利用とします。管理業務やアプリケーションのインストールをする際は、電子メール、Webの閲覧を停止した上で、管理者特権を利用することとします。
Windowsドメインの場合、ローカルAdministratorsにドメインユーザーを所属させないようにします。アプリケーションプログラムのセキュリティ修正プログラム適用の際にローカルAdministratorの資格情報が必要になるため、システム管理者はローカルAdministratorの資格情報候補をユーザーに開示します。前項のLAPSの導入が困難な場合は、以下を参考にローカルAdministratorの資格情報管理規程の策定を行い、運用を管理します。
 レ システム管理者は各PCのローカルAdministratorの資格情報(パスワード)候補を紙媒体に印刷しユーザーに配布する。
 レ ユーザーは鍵のかかるロッカー等に紙媒体を保管する。PC本体への保存は禁止する。
 レ ローカルAdministratorの資格情報は、定期的に変更し、過去24か月以内に使用した資格情報は使用しない。

8. アンチウイルスソフトのクイックスキャン、完全スキャンの定期実行と脆弱性修正プログラムの適用訂正の整備

クイックスキャンは昼休みなどを利用し日次で実施します。完全スキャンは週次で行います。完全スキャンが重いという場合は、SSDへの換装を検討します。
OS、アプリケーション、ルーター、VPNの脆弱性を悪用するランサムウェアもあるため、脆弱性修正プログラムは発表後、1週間以内に適用できるようにテスト体制を構築します。

9. ユーザー教育・社内啓発

全社員に、ランサムウェアの攻撃ベクトル(※3)についての理解を深めます。侵入経路や攻撃に使用するテクノロジーを理解することで、より注意深い運用が実現できます。継続的に安全なソフトウェア開発環境の人的品質(運用)の維持・向上を計りましょう。

10. 管理端末のネットワーク分離

サーバーやドメインコントローラーは、一般業務端末からリモートデスクトップで接続せず、専用のネットワークから専用の管理端末で接続します。管理者のID、パスワードは、それぞれユニークなものとし、可能な限り多要素認証を導入し、クラウド環境では多要素認証を必須とします。

※1
https://docs.microsoft.com/ja-jp/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1
https://docs.microsoft.com/ja-jp/deployoffice/security/use-digital-signatures-with-office

※2
https://msrc-blog.microsoft.com/2020/08/26/20200827_laps/

※3
https://www.softwareisac.jp/ipa/index.php?・攻撃ベクトルの研究

経営者とシステム管理者はチェックシートを利用して、自社での対策実施状況をコントロールすることを推奨します。対策を実施しなくてもリスクが少ないと判断された場合は、リスク受容の理由を文書化することをお勧めします。

チェックシート(excelはこちらからダウンロードできます)

No. 項目 対策を実施した場合の
業務への影響やコスト
リスクを受容する場合の理由、
補助的な対策
設定予定日・完了日 経営者の承認
1 開発端末での電子メール閲覧の禁止



2 一般業務と開発業務の端末・
ネットワークの分離




3 開発業務でのコミュニケーションには
ビジネスチャットを利用




4 Officeマクロ(VBA)、PowerShellスクリプト
への電子署名とポリシーの適用




5 ソースコード、重要データの
バックアップと分離




6 ローカルAdministrator のパスワードは
すべてユニークに設定




7 一般業務での管理者権限の利用禁止



8 アンチウイルスソフトのクイックスキャン、
完全スキャンの定期実行と脆弱性修正プログラムの
適用体制の整備




9 ユーザー教育・社内啓発



10 管理端末のネットワーク分離



○一般社団法人コンピュータソフトウェア協会(略称「CSAJ」)とは
自社で市場ニーズを分析し、企画、開発、商品化した既製ソフトウェア(企画開発型ソフトウェア)を販売、あるいはそれを利用したサービスを提供している企業を中心とした業界団体です。われわれCSAJは、「シンクタンク化」、「グローバル化」、「ビジネスチャンス拡大」の3つの方針を掲げ、イノベーションとIT化の促進を通じて我が国経済の発展と国民生活の向上に寄与しています。

○Software ISACとは
IoTデバイスの普及に伴い、サイバー空間の脅威は非常に高まっています。また、OSS の活用が進む上で、脆弱性ハンドリングはますます難しくなっています。開発者は安全で安心なソフトウェアの提供をするために、脅威の手法や脆弱性情報を素早く入手する必要があります。そこで、セキュア開発や脆弱性管理の工数最適化や、ソフトウェアサプライチェーンの強靭化の研究を行い、安心・安全な日本への貢献を行う開発者のための情報交換基盤を提供することを目的に、CSAJセキュリティ委員会の下部組織として発足しました。
以下、Software ISAC公式Websiteでは、組織概要の詳細や規則についてもご覧いただけます。

https://softwareisac.jp/

お問い合わせ先

一般社団法人コンピュータソフトウェア協会(CSAJ)
事務局 担当:戸島、中野 E-mail:gyoumu1@csaj.jp TEL:03-3560-8440
〒107-0052 東京都港区赤坂1-3-6 赤坂グレースビル4F URL:https://www.csaj.jp/

PAGE TOP