はてな匿名ダイアリー[初心者はPHPで脆弱なウェブアプリをどんどん量産すべし]
趣味でやってるプログラミング初心者の立場で言わせてもらう。だいたいな、あんたらプロのプログラマが小難しい顔してセキュリティセキュリティ言うもんだから初心者プログラマのセキュリティ意識がまったく向上しないばかりか、よけいに低下するんだよ。ごちゃごちゃ言われたり叩かれるのはイヤだけど、眼前の問題はプログラムで解決したいってヤツは耳塞いで黙ってPHPでやりたいようにやるんだよ。何が「楽しいRuby」だよ。「Webアプリケーションをなめるな」ってその時点でもう全然楽しくねーだろが。
ぼくはまちちゃん!(Hatena)[セキュリティ過敏症]
きみが作りたいものを作るのが一番だいじ。
きっと喜んでくれる人たのしんでくれる人ほめてくれる人がいるよ!
セキュリティのことは、全く考えなくていいよ。
いつもセキュリティの話だとかオブジェクト指向だとかの小難しい話をしている彼等より、へたくそプログラムでも、面白いものつくっちゃうきみのほうが偉い。
入社してから、ただ闇雲に「セキュリティは重要だ!」という考えのもと開発やら設計やらやってきましたけど、こういう視点もあるんだなぁと。何か少し新鮮な気持ちです。
■WebアプリのセキュリティそもそもWebアプリのセキュリティって何でしょう?
まぁ単にSQLインジェクションやクロスサイトスクリプティングを回避する仕組みを組み込んでおくだとか、セッションハイジャックできないようにGUID化+ハッシュ化を行うだとか。ちょっと考えるだけでもいろいろ出てきます。
他にも複数のサーバーを乗っ取ることで、DDoS攻撃を他のサーバにかけられちゃったりします。
まぁ要するにセキュリティが甘いと何でも出来ちゃうんですよ。
じゃあどうしてWebアプリなのか。
昔のWinアプリを作っている環境では使うユーザーも限定されるのでそれほどセキュアな設計にしなくて良かったものが、Webアプリでは不特定多数の人がアクセスすることが可能になってしまいます。
サバンナに置き去りにされた羊みたいなもんです。どこから野生の動物が襲ってくるかわかりません。寝てる間に襲われるかも知れませないのでおちおち寝てもいられません。
これまでのWindows上で動かしていたアプリケーションは性善説を元に作られていたのに対し、上述のWebアプリは性悪説に基づいて作られているから、こんな違いがでてきてしまうわけです。
■開発者、設計者、利用者、それぞれの視点の違いはまちやさんの
きみが作りたいものを作るのが一番だいじ。
きっと喜んでくれる人たのしんでくれる人ほめてくれる人がいるよ!
セキュリティのことは、全く考えなくていいよ。
いつもセキュリティの話だとかオブジェクト指向だとかの小難しい話をしている彼等より、へたくそプログラムでも、面白いものつくっちゃうきみのほうが偉い。
この文章にはとてもに納得しました。
何よりも
「つくりたいものを作りたい」とか
「楽しみながら作りたい」ってのはどんな活動であっても必要ですよね。
…ただ、これって何視点で考えてるんだろう?と。
ここでの話はいろいろな視点から捉えようがあると思うのです。
例えば、
・プログラマー視点
・プランナー視点
・システムエンジニア視点
・経営者視点
・利用者視点などなど。
おそらく増田の意見は、書いている通り初心者のプログラマーさん視点なんでしょうね。
そしてはまちやさんの話は、どちらかというとプランナー視点なのかなぁと。
ちなみにまつもとさんのお話は、察する感じだとプロのプログラマーとして「安全なものを世の中に!」という意思を感じました。
俗に言うプロ意識というものなんでしょうか?
何にしてもそれぞれの視点でこうも違うとは面白いなぁ…と感じました。
■エンターテインメントを作っているのかインフラストラクチャーを作っているのかさて、ここからは先ほど挙げたうちのひとつ、システムエンジニア視点で書きます。
もし、自分が仕事をお願いした人が「好きなように作りたい!」「セキュリティなんて知ったこっちゃない!」なんてことを言って、自分勝手にモノを作ったらどうなんでしょう。
…惨劇が脳裏をよぎります。
そのWebアプリを踏み台にしたDDoSが原因で他社のサーバを破壊したなんてことになったら、誰が責任負うんだろう…とか。
穴だらけのアプリを作ってサービス提供していて、そのアプリのセキュリティホールが原因で個人情報の漏洩したらどうするの?とか。
やっぱり安全なモノがいいです。
もちろん「面白いものや楽しいものを作る」と言う考えはとても大事だと思うんですよ。
だけどこの視点で考えたときに、クリエイティブさよりも安心感の方に重きを置くと思うのです。
お客さんの「
うわあぁぁぁぁぁぁっ☆」を作ると言うよりかは「
ほっ…」を作るとでも言うんですかね。
そんなわけで自分は「Webアプリ」=「インフラ」だと思っています。
橋や道路って、ある特定の人間しか使えないわけではなくすべての人が平等に使えるものです。
特にインターネット上に公開されてるWebアプリの場合、URLさえわかればアクセスできます。
いつも使っている電車で免許証が盗まれる事件が多発しているなんて聴いたら、使いたいものも使いたくなくなりますよね?
不特定多数が利用する場は安全であるべきだと思いませんか?