ハッカーは、普通の人よりもはるかに多くの金額を稼いでいると思われがちだ。電子機器への侵入者が、一般ユーザーの使用するソフトウェアの脆弱性を悪用できるのは、彼らが邪悪な天才だからだと考えている人もいるのではないだろうか。
専門家によると、ハッカーが天才であるという考えは、一部の極めて高度な攻撃の場合には当てはまるかもしれないが、そこまで高度でない攻撃の場合、必ずしもそうではないという。プログラマー(ソフトウェアを作り出す人々)はコードを一から記述するわけではなく、他人の成果物から自由に借用している。問題は、コードを調べてセキュリティ問題の有無を確認する作業を行っていないことだ。
プログラマーはコードの記述よりコードの組み立てを行うことの方が多く、どんなソフトウェアアプリケーションでも、コードの約80~90%をサードパーティーから調達している、と大半の専門家は見積もっている。プログラマーは、他社からコードを買うこともあれば、誰でも自由に使えるオープンソースのコードを使用することもある。
この問題はあらゆるソフトウェアに影響を及ぼす。つまり、スマートフォンのモバイルアプリから、お気に入りのウェブサイト、コンピュータ上で使用するプログラムまで、あらゆるものが影響を受けるということだ。ソフトウェアセキュリティ企業Veracodeの共同創設者で、幹部の1人でもあるChris Wysopal氏によると、デバイスやコンピュータ上のOSを除くすべてのものは、全く新しく構築されたのではなく、コードのビルディングブロックによって組み立てられている可能性が高いという。
多額の報酬を受け取るこうしたプログラマーの優先事項はセキュリティではなくスピードだ、とWysopal氏は述べている。企業向けにソフトウェアを評価するVeracodeは米国時間6月23日、同社自身の顧客のソフトウェア使用に関する傾向を分析した報告書を発表した。
Veracodeはこの1年間、顧客が使用したコードを20万件以上調査し、690万件以上の脆弱性を発見した。顧客はそれらの脆弱性のうち、470万件を修復した。そのコードの一部は社内のプログラマーによって記述された可能性が高いものの、業界の調査結果では、コードの大部分が他から流用されたものであることが示唆されている。
Wysopal氏は、「可能な限り多くのコードを再利用する傾向がある」と語る。それによって、生産にかかる時間が短縮され、ソフトウェアプログラマーは、コードを一から記述する代わりに、新しい問題の解決に取り組むことができる。
「そうした傾向の唯一の欠点は、再利用したコードの脆弱性を受け継いでしまうことだ」(Wysopal氏)
連邦政府と脆弱性
Veracodeがセキュリティ脆弱性の有無を調べた業界の中で最も評価が低かったのは、米連邦政府だ。Veracodeの研究チームは報告書で、「その理由の1つは、政府がいまだに古いプログラミング言語を使用していることだ」と述べた。
連邦政府職員の個人記録が何度も流出しているというニュースを追っている人にとって、この調査結果は驚きではないかもしれない。こうした情報漏えい事件では、連邦政府の膨大な数の現職員と元職員の社会保障番号や、機密情報の取り扱い許可を申請した全職員の機密の個人情報が漏えいした。
脆弱性を含むソースコードの問題があまりに深刻だったため、Veracodeはソフトウェアコンポーネントの問題をチェックする事業を立ち上げた。スピード重視のプログラマー向けに、ソフトウェアコンポーネントの検証サービスを提供する企業は他にもある。
Sonatypeもその1社だ。同社の最高技術責任者(CTO)を務めるJoshua Corman氏は、「Ctrl-V」(「貼り付け」のキーボードショートカット)を押すプログラマーの味方だと語る。