OSSに脆弱性があるのは当たり前?
武田氏:なるほど、1つ疑問が解けましたが、別の疑問が湧いてきました。昨今はOSSの脆弱性を突いたサイバー攻撃も起きており、そのことで「OSSは脆弱だ」と思い込んでいる人もいます。私はOSSの問題ではなく運用の問題であり、事件として扱われるのは利用者が多いことで影響も多くなりやすいのだと常々ご説明してきました。しかし、私自身も100%の自信を持つことが出来ない例がある。それはOpenSSL※2のように、多くの開発者がコードを見ているのに脆弱性が見過ごされてきた例が存在することです。これはなぜだと思いますか?
飯尾氏:その理由は、実は極めてシンプルなのです。率直に言って、皆さんソフトウェアに幻想を求めすぎなのです。ソフトウェアは複雑怪奇な代物であり、脆弱性があるのは当たり前なんです。
例えば先日、私はChatGPTに2つの数を足すプログラムを書かせてみました。そしたら、引数が2つないとエラーを吐くというしゃれたコードを書いてきたのですが、私が「2つの数を足す」としか書いていないのに、勝手に整数を仮定していました。そこで、「少数や分数も受け取れるようにして」と指示し、さらに受け取る分数のフォーマットも指定しました。
そのように何度もやり取りすることで何とかプログラムが完成しましたが、同時に同じくらいの量の日本語による指示が残りました。それを見てハタと気づいたのです。この指示(仕様)がなければ、まともなプログラムは出来上がりませんでした。つまり当面、この指示を出す人、つまりプログラマーの役割はなくならないということです※3。
今日のソフトウェアは複雑なだけでなく、アジャイルにどんどん機能が追加されていきます。一発で完璧なコードが出来上がることなど決してありません。常にバグや脆弱性があると考え、それを前提に利用すべきなのです。これはOSSでもプロプライエタリな商用ソフトウェアでも同じです。
武田氏:違いがあるとすれば、商用ソフトはベンダーがサポートしてくれるが、OSSは自分で対策する必要があるという点ですね。
※2 OSSのSSL/TLS通信ライブラリ。商用製品でも広く使われているが、バグによる脆弱性が度々見つかっている。
※3 飯尾氏ブログ記事「飯尾研究室: ChatGPTでプログラマはお払い箱になるのか」
AI社会の到来に向け、倫理/法/社会課題への取り組みを加速
飯尾氏:先ほど、開発者とユーザーの間に距離があるデスクトップ分野ではOSSは普及しなかったという話をしました。ただ、今後はAIが人とコンピュータの間のインタフェースとなり、人と人がインタラクションするようにしてコンピュータを使う領域が増えていくのではないかと思っています。かつてのキーパンチャーがAIに変わるイメージです。今日のAIの発展はOSSが支えているので、デスクトップ分野でもOSSの普及が進む可能性があります。
武田氏:「Hi Siri」「OK Google」がなくてはスマートフォンを使えないという人もいるかもしれませんし、ChatGPTにもいずれ音声のインタフェースが追加されるでしょう。
飯尾氏:そのとき、例えばAIが暴走して暴言を吐いたり、意図せぬ動作によって事故が起きたりしたら、誰が責任を取るのか? こうしたことに関しての法整備も必要になるでしょう。
武田氏:法整備が進まなければAIを使えないという分野もありそうです。
飯尾氏:そこで、本学では一昨年に「ELSI(エルシー)センター」を設立しました。これはAIの活用において私たちが直面する倫理的(Ethical)、法的(Legal)、社会的(Social)な課題(Implication)に関して、分野横断の研究や産学官が連携した活動、人材育成などを促進することを目的としています。同時期にAIに関するリテラシー教育や研究活動を促進する「AI・データサイエンスセンター」も立ち上げ、全学を挙げてAIの社会的な活用に向けた取り組みを加速しているところです。
武田氏:倫理、法、社会の側面から、OSSやAIのさらなる活用に向けた準備を進めていらっしゃるのですね。サイバー空間で起こっている事象は、リアルの社会で起こっている事象と同じような部分もありますが、まったく異なる部分もあり、それが社会への脅威に直結すると思っています。これらとの折り合いをつけるのに、倫理や法による整理が重要だとあらためて感じました。先生の今後のご活動に注目していきたいと思います。本日はありがとうございました。