韓国のNetSarang Computerという会社が販売している正規のプログラムにマルウェアが混入していたというニュースがありました。ちょっと考えられないような事故が発生してしまったようです。
このニュースを発表したのはロシアのKaspersky Labです。NetSarangが配布したソフトウェアパッケージに「Shadowpad.a」というマルウェアが仕込まれていました。このマルウェアは,バックドア型のマルウェアで,専用のパケットを受け取ると,盗んだ情報を外部に送信するものです。
サーバ管理ツールが情報流出の原因になってしまうなんて,笑い話にもならない事態ですが,どうしてマルウェアが混入されてしまったのでしょうか。
ITMediaの記事によると,「改ざんされた経緯は調査中だが、攻撃者がビルドサーバ上でソースコードまたはパッチを当てたソフトウェアを改ざんした可能性があるとKasperskyは推定している。」とのことです。
つまり,NetSarangの開発環境に攻撃者が侵入して,プログラムを書き換えてしまったのを疑っているようです。
実際に,配布された「nssock2.dll」ファイルには,NetStangの証明書で署名されていたので,配布後に変更されたということはありません。署名前に,DLLをビルドする際に,マルウェアごとビルドしてしまったのでしょう。
攻撃者に開発用のサーバへの侵入を許してしまったのも,大きな問題です。しかし,プログラムの配布前に,マルウェアが仕込まれていたことを検出できなかったことの方が問題であると思います。攻撃者からすると,ターゲットを決めてしまえば,社内のネットワークに侵入することは,できないことではないのでしょう。ひょっとすると,社内の人間が攻撃者であった可能性もありますし。
問題は,開発後のソースをビルドして配布するときに,チェック体制ができていないことです。配布したソフトウェアはバージョンアップ版のようです。バージョンアップ版の場合は,前のバージョンのソースと比較する工程が入ります。通常は,このタイミングでチェックアウトできます。開発者は自分で開発した場所を知っているので,変なクラスやモジュールが追加されていたら気づきます。ここで見逃しても,リリース時に別の人がチェックして,確認することができます。
先日紹介したスマートロックのファームアップデートの失敗の事例もそうですが,早くデリバリすることを優先して,品質がなおざりになってしまっているのではないでしょうか。