わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

不備・欠陥に気づいたとき

使っているソフトウェアのバグでも,セキュリティに関する問題でも,社会や政治のことでもかまいません.何らかの不備・欠陥に気づいたとき,とることのできる行動がいくつかあります.

  • 当事者に伝える(ただしその問題の解消は,当事者に任せる).
  • 当事者または第三者に,問題を解消するよう働きかける.
  • ブログなどで公表する.
  • 誰にも言わず,不備・欠陥があることを認識するだけとする.
  • 当事者には言わず(ときには協力者を募って),不備・欠陥を悪用して利益を得る.

上記の中で「働きかける」は穏やかな表現であり,「脅す」と書く方がよりぴったりくることもあるでしょう.また,これら5つは独立した選択肢ではなく,複数を同時にあるいは逐次的に選ぶこともあります*1
さらに言うと,上の行動は,あなたが1個人であり,不備・欠陥に気づいた対象をつくったり維持したりするのではない,いわば「外」にいることを前提としています.「内」の人であれば,行動や,責任の持ち方も違ってきます*2
学生時代,セキュリティの研究に携わっていて,先輩から教わったアドバイスがあります.企業が,開発した暗号方式の安全性を「懸賞」にかけたとします.安全性検証を懸賞にするというのは,今思いついたジョークです*3.ありがちなのは,暗号文が与えられて,それを解読してください.できたらいくらいくら差し上げます,ですね.それで十分な期間,解読したと名乗り出た人がいなかったとして…企業は本当に,それを,安全な暗号として売り出していいのでしょうか?
実はある人にとっては,懸賞問題は期間内に解けていて,その暗号方式が安全でない(容易に解読できる)*4ことまで分かっているかもしれません.企業が何も考えずに売り出すと,「当事者には言わず」「不備・欠陥を悪用して」,懸賞問題の答えを言うよりも大きな「利益を得る」というのができてしまうことになります.
まとめ:何らかの不備・欠陥がある対象について,その解決を期待する者と,解決を図る(責任がある)者との間では,とるべき行動にギャップがあります.解決を図る(責任がある)者は,解決を期待する者およびその周囲の取り得る行動に注意して,行動する必要があります.不備・欠陥のないものをつくるのが難しいとしても,デザインの段階から,自他の行動はよく検討しておきたいものです.

*1:新聞記事でよく見かけます.

*2:あなたが大学生であり,急ぎ学ぶとすれば「技術者倫理」,じっくり学ぶなら「倫理」が,キーワードになると思います.

*3:野暮な解説ですが,「検証する」は日本語として問題ありませんが,「懸賞する」は不自然ですね.

*4:もう一つ,野暮な解説ですが,「特定の暗号文に対してその平文や鍵を求める」ことと「任意の暗号文に対してその平文や鍵を求める」ことは別で,後者ができれば前者もできますが,その逆は必ずしも成り立ちません.また「懸賞問題」は前者を要求しています.