米国時間10月1日、AppleはiPhoneの開発者が結んでいる守秘義務契約(NDA)を外すことを発表したが、これによって彼らは、適切なアプリケーションの作り方について議論できるようになる。この判断はiPhoneのアプリケーションにとってだけでなく、iPhoneのアプリケーションセキュリティにとっても「よいこと」だ。
iPhoneのNDAは開発者の仕事の仕方の対極にあるものだった。開発者は、コードの断片や設計パターンから学ぶものだ。彼らがゼロからものを発明することはほとんど無く、これまでのアプリケーションがどのように作られたかということから学び、現在のプロジェクトでの判断に生かしているのだ。これは、開発者に独創性が欠けているからではなく、物事のやり方には何百万通りもの方法があるが、効率的で、効果的で、最終的にセキュリティ的な問題を引き起こさないような方法は、ほんの一握りであることを彼らは知っているからだ。
過去10年間、開発者とセキュリティコンサルタントは協力して、隠れたセキュリティ上の問題を理解しないまま作成された、何百万行ものコードを修正してきた。「バッファオーバーフロー」や「二重解放」は、不適切なコーディング方法の結果起こる脆弱性だ。ソフトウェア開発コミュニティは、C言語の文字列やSQLクエリー、暗号などを取り扱う際の正しい方法と誤った方法を説明するコードを掲載したプログラミングガイドを作り始めている。このような開かれた議論がなかったら、われわれは未だに基本的なプログラミングの誤りと戦っていたことだろう。しかし、そのような問題は、数年前からかなり減ってきている。
私はプログラミングに関する問題がiPhoneのアプリケーションに存在するかどうかは知らない。iPhoneのアプリケーションに使われるプログラミング言語などからみて、問題は少ないだろう。しかし、問題が生じた場合、プログラミング技術に対してNDAが結ばれていると、その問題を解決するのは非常に難しくなる。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ