誰もが、信頼できるソフトウェア・サプライ・チェーン内で開発されたコードは正当なものだと信じたいと考えています。しかし残念ながら、悪意のあるコードの作成者は、ビジネスをリスクにさらすコードを密かに、かつ巧妙に埋め込むことができるというのが現実です。悪意のあるコードを識別するのは困難であり、長い間アプリケーションの中に潜んでいた後に損害を引き起こすこともあります。危険信号に気付く方法を身につける。
悪意のあるコードとは、アプリケーション本来の機能を破壊する意図でアプリケーションに追加され、書き換えられ、取り除かれたコードのことです。例として、以下のようなものが挙げられます。
ウイルスやワームなどのマルウェアとは違い、悪意のあるコードは、システムに侵入するための外部ソフトウェアとして開発されるものではありません。悪意のあるコードとは、アプリケーション内の通常のコードのように見える、疑わしいちょっとしたコードです。それは特定のイベントや操作によってトリガーされるのをじっと待ちます。いったん実行されると、多くの不法行為の中でも特に、データの盗難、ソフトウェアのダウンロードとインストール、口座からの金銭の吸い上げ、キー入力の記録、外部からのコンピューターの遠隔操作などを可能にします。
悪意のあるコードは、正常な機能に紛れ込み、場合によっては何年にも渡って休眠状態を維持する可能性があるため、一般的なアプリケーション・テスト戦略をすり抜けてしまう可能性があります。
受け入れがたいことですが、自社のソフトウェア・サプライ・チェーンが悪意のあるコードの供給源となる可能性があるのです。外部の開発パートナー(オフショアまたはオンショア)、信頼できそうなオープンソース・プロジェクトのコントリビューター、あるいはコードや管理機能、制御機能にアクセスできる、不満を抱いた現役の従業員や退職者が犯人である可能性もあります。彼らは、違法行為を隠しているかもしれませんし、単に恨みを抱いているだけかもしれません。
悪意のあるコードを調べて修正するために、誰を信頼できるのかを判断するのは、簡単なことではありません。例えば、内部の開発者が犯人の場合、彼らは感染したアプリケーションを知り尽くしていて、セキュリティ・チームがソフトウェアの脆弱性を探す上で有利な立場にあり、悪意のあるコードが生成するトラフィックを隠す術に長けています。あなたが悪意のあるコードのレポートを開発チームに送れば、犯人にも教えることになり、使おうとしている検出方法をすり抜ける方法を彼らは知ることになります。
悪意のあるコードを防ぎ、検出し、対処するための戦術と手順はさまざまです。
悪意のあるコードの有無を確認する際は、以下の一般的な危険信号を理解しておく必要があります。