Davidson氏はそれに続いて、Oracleに関してはもうたくさんだと述べている。同氏は一流大学に対し書簡を出しており、その中で同氏は強い言葉で「われわれは、すべての商用ソフトウェアのセキュリティを改善し、大学の卒業生が雇用市場で競争力を保つために、大学がセキュアコーディングに関する演習を計算機科学のカリキュラムの一部として取り入れることを強く勧める。将来、Oracleはそのような訓練を受けており、ソフトウェアセキュリティに関して能力を示すことのできる学生の雇用を優先することを計画している」と述べている。(太字は私が加えた。)
このDavidson氏の長い記事は、研究する価値のあるものだ。少なくとも同氏は、大学が彼らの足を引っ張っており、同氏から見れば十分な予算があるにもかかわらず余分な授業をすることを正当化する研究資金を探してばかりおり、間違ったことに焦点をあてていると考えている。私は、Oracleが単に威嚇しているだけなのか、それともこれは現在(および過去)のソフトウェア開発の背後にある現実を示しているのかどちらだろうと思った。そこで、私は仲間のところに行き、「誰かセキュアコーディングについて教えてくれないか」と頼んだ。これに一人だけ返事をくれた人物がいるのだが、この人物は軍と仕事をしているため、ここでは名前を明かさない。私はこの人物にDavidson氏の主張には実際に根拠があるのか、そして彼らにはメリットがあるのかと尋ねた。私が受け取った答えは次のようなものだ。
残念なことに、Mary Davidson氏は正しい。いくつか例を挙げよう。顧客側では非常に安全なシステムを持っていながら、内部のデータベース管理ウェブアプリケーションにはセキュリティがまったくないという話があった。彼らはファイアウォールに依存していた。
私が以前、データフローのXML処理のために契約したベンダーは、ベンダー間で使われる商用WANにはあらゆる種類のセキュリティを備えていたが、彼らが節約のために出張しているセールスマンが同じWANに接続できるように開設したポータルには、セキュリティがほとんどないに等しかった。
しかし、今あるもっとも大きく、もっとも単純な問題は、多くのSQLインジェクション攻撃は、ほとんどの人が攻撃は公開されているものやインターネットから来ると考えており、プライマリデータベースにデータをフィードするセカンダリデータベースが守られていないことに気づいていないために起こっているということだ。
報道や注目は最前線や直接的なもの(SQLインジェクション、DOS、なりすましなど)に向かっており、これらについてはあらゆる書籍があるが、多くの開発者は誰かが失敗をした会社の仕事をするまでは、「決して」それらを読まない。
しかし私の経験では、「面白い」のは間接的な問題だ。商用市場で市販ツールを使っている場合、「大抵の場合は安全」というのは十分よいものだ。しかし、販売部門の人たちは通常、間接的なデータへのアクセスを行うものであり、もし何らかの形のデータファーミングを行っていれば、彼らは間接的なデータの供給元でもある。データを修正しなくても、セキュリティホールになりうることに注意して欲しい。バックアップテープが1本あれば、何百ものユーザーIDとパスワードを入手することができる。
もちろん、ラップトップの盗難に至っては言うまでもないし、開発者は多くの場合、販売部門の人たちにフィルタされたデータだけを渡す代わりに、データベース全体をコピーするという簡単な方法をとるという問題もある。幸運なことに、今ではデータベースはこれをやるには大きすぎることの方が多くなったが、こういうことは実際に起こっている。