愛車:マツダアテンザ
Webを中心とした、ビジネス&テクノロジーに関する思いつき
by F-shin
[ このサイトについて ] [ F-shinについて ] [ トップ ]
author:えふしん
photo_20.jpg
藤川真一について


モバツイの中の人
人の良いジョンカビラと言われます。ソフト哲学者を目指します。
AMN sponsor rolls
応援します!
ツイッターやるなら
for iPhone App
Google Friend Connect
このカテゴリ[Web系]の最新30件
ワーナー作品のオンデマンド配信サービス「ワーナーオンデマンド」 動画ベーススライドプレゼンよりも、スライドベース動画プレゼンの方がWeb向き。 mixiアプリやるならAmazon EC2 モバツイが月間1億PV到達の見通し ツイッターとはなんぞや?のわかりやすい回答 ツイッターか?ブログか?思考の整理学 【Best Mobile Based Twitter App】モバツイッターがTOP5にノミネートされました。投票のご協力を!【敵はtweetie2】 【Best Mobile Based Twitter App】モバツイッターのOpen Web Awardsへの投票のご協力をお願いします! モバツイッターが日経ビジネスアソシエに掲載されました。 ネットビジネスで商標は大事です。 twitterによって世界が集約され心の戦争が起きる おまとめマンxTwitterキャンペーン セカイカメラは、21世紀のネットスケープになるか?! 「食事中なう」が無意味だと?あれ?ライフログってなんだか意味わかってる? 岡田有花さんに取材された! EC2のロードバランサーのIPアドレスが変わる罠 twitterの「つぶやき」の有効期間は2分 究極のスモールスタートの方法 自宅サーバからEC2へ 技術や用語に興味ないユーザーを「一般ユーザー」と括るのキケン アマゾンEC2 ナイトセミナ 第 2 回に出演します。 モバツイッターの政治家アカウント一時サスペンドの話 【twitter話】ネットを使う人には2種類のタイプがある ビバ☆ヒウィッヒヒーは、ネットコミュニケーションの問題をズバリ突いている うっかりしてたらモバツイの延べ登録ユーザー数が10万人を超えていました。 POPitがカラメルの商品紹介&アフィリエイトに対応! twitterは「みんなのもの」じゃない。 入力フォームの美学と現実 日本人にとって一番使われてるハッシュタグ ツイッターはステートレスなコミュニケーションでありつづけて欲しい。 夜のプロトコル「NO_04「We love twitter & tumblr.」~あの娘、ぼくがリブログ決めたらどんな顔するだろう~」に参加した。
[このカテゴリをもっと見る]
F's Garage関連
Powered by
Movable Type
■お知らせ
モバツイッターが、Open Web AwardsのBest Mobile Based Twtter Appを受賞しました!

August 13, 2008

かくあるべしの批判は簡単にできるが、ちょっと待って。

このエントリーの目的は、例えば受託をやってる人が、改めて過去を振り返って、もう関係が切れてしまったクライアントもできることなら助けてあげてください、というエントリーです。

SQLインジェクション絡みで、Active Server Pagesで動いているサイトが結構狙い打ちにあって、重要な顧客情報が流出したりしています。

こういうネガティブな改修話は瑕疵の問題を持ち出されたりして、ややこしいことになるケースもあるハズ。だから作った側としては、もし気になるところがあっても、余計なことは言いたくないって気持ちはあると思う。

「何故そんなことも知らなかったのか?」

と言われると返す言葉もなくなる。これを一方的に言われてしまい、例えば調査やシステム改修に2ヶ月もの期間がかかる見積もりを一方的に負わなくてはいけないとするならば、正直、このことを黙ってて、システムが消滅するまで何も起こらないことを祈りたいという気持ちになるのは否めない。企業対企業であればなおさらだ。

でも、それでは間違いなく誰も幸せにならない。

ということを前提で、以下の話。

ナチュラムの情報漏えい事件では顧客のパスワードが平文で流出していたことが発覚

多くのWebサイトにおいてパスワードは暗号化(一方通行関数によるハッシュ化)して保存するというコンピュータセキュリティの基本のキが驚くほど浸透しておらず徹底されていない

・・・その他もろもろ。

今回の某社も、ちょっと前に情報流出して詳細な状況レポートを出していた某社も、Active Server Pagesのサイトだったと思う。

当時のASPは、立ち位置的には今のPHPみたいな存在で、Unixでは運用がちょっとと言ったケースなどで、VB出身のエンジニアを中心に使われていたと思う。確かにインターネットセキュリティに関してスキルが低いエンジニアがWebシステムを作っていた確率は高かったかもしれない。

僕も例外ではなくASPを使っていた。

確か2001年ぐらいだったかな。@ITあたりでSQLインジェクションという言葉を目にしたのは。

もちろんその筋では、常識だったのかもしれないし、@ITだったかに出てくる前には、各種MLなどでは言われていたんだろうから、「そんなことも知らなかったの?」と言われればそれまでだが、何を言われようとも、僕が初めてSQLインジェクションについて知ったのは、そういうIT系ニュースサイトに取り上げられたのがきっかけだ。
(つか、初めてSQL書いたのは2000年後半だったりします。)

当時、SQLインジェクションの記事を見て、うわーこんなことができるんだーと思ったものだ。

ASPのデータベースアクセスに使うADO DBには、多分、プレースホルダによってSQLインジェクションを防ぐ機構はなかったんじゃないかと思うし、ASPにはPHPのようなマジッククオート(これはセキュリティ対策ではないそうだが)もなかったので、SQLインジェクションという言葉や、SQLのリスクをちゃんと理解して当たり前のようにエスケープしていた人を除けば、結構な確率でSQLインジェクションを誘発する作りになっていたりするのではないだろうか。


また、パスワードをハッシュで保存すべきという部分は、ASPの標準ライブラリには確か、MD5のライブラリはなくて、ASP開発者御用達のBasp21というフリーのライブラリに依存するか、自作するしかなかったと思う。要は暗号化したいと思えばこそ、見つかるという存在である。

ASPの良いところでもあり悪いところは、ASP自体はかなりシンプルな機能しか持っておらず、ActiveX DLL(COM)で機能を拡張していくというものなので、その情報を知らなければ全く使うアテもないというのはあったと思う。また、Basp21がフリーのライブラリが故に、案件で使えないというところもあったハズだ。

セキュリティについても今ほど情報が充実していなかった時代だったと思うので、第一次ネットバブルの頃に量産されたWebサイトのかなりの数は、非常によろしくない状態で存在しているんじゃないかと肌感覚では思うところ。

そんな時代背景の中で、売り上げを伸ばしてきて今までずっと生き残ってきた老舗のECサイトが、ここへ来てハッキングされて顧客情報が流出してしまうのは、結果論からすると、なるほどやっぱりそうだったのか、という印象ではある。

だから、ハッキングされて当たり前とかそういう話を書きたいわけではないが、今と比べると、やっぱり問題の多いプログラムが存在しうる時代だったと思うので、瑕疵で一方的に開発者が悪いとか、そういう空気にするのではなく、そういう事実は受け入れた上で前に進むためにシステム改修できるような空気になると良いなと思うわけです。

(とても書き方が難しい。けど、GoogleやAmazonと言った名だたるWebサービス企業だって多数のセキュリティホールを修正しながら今があるんだと思います。)

これから先はリスクマネジメントの話であるが、事業が立ち上がって、十分に利益を出しているシステムにおいて、セキュリティ対策のために一からソースコードの監査をするなどと言った行為は、経営者レベルのセキュリティ意識が十分に高くないとできないことだと思う。

何せシステムが肥大化しているハズだから、その検証コストも時間もバカにならないし、スタッフは売り上げを伸ばす人数で最適化されてるハズだし、運用そのもので手一杯。現場の判断だけだと「今まで問題ないから明日も問題ないんじゃないの?」と判断される可能性が非常に高い。

ここに対して、待ったをかけられるのはCTOを含めた危機管理意識を持った経営層ということになるが、結局はコード一行一行の話だったりするし、既に偉くなってしまって現場から離れた人の過去の経験と、「当たり前のセキュリティスキル」が実は乖離しているケースも少なくはないし、何より意志決定できる人ほど、ソースコードから距離が遠いというジレンマもある。

もちろん、お金をかけて外部の業者に頼んだセキュリティ診断などは有効だと思うが、大企業には受け入れられる見積もりも、ベンチャーや他のビジネスからネットビジネスを始めた企業にはなかなか受け入れられない価格だったりする。

どちらかというとネットワーク効果に支えられた薄利多売モデルで商売し、広告宣伝費、人件費、固定費を抑えてきたが故に利益を出してきたというネット系企業のあり方だと、そのコストをかけられるほど危機意識を持つチャンスが、情報漏洩したときという皮肉な状態はなんとも不幸な状態である。

内部で回すにせよ、それだけの危機意識を演出していかねば、本気のセキュリティ監査など、なかなか立ちゆかないというのが現実だと思う。そもそも他人が書いたソースコードを読むのは相応のスキルと精神力が求められるし、何より他人のコードを信用しない性格や批判的精神こそがセキュリティ不具合発見には必須だと思う。


ちなみに偉そうに書いてるように見えるかもしれないが、全然他人事だとは思っていませんので悪しからず。


#今更過ぎるけどWebシステムの開発は難しい。たかだかネットを通じた文字の入出力システムなれど、不特定多数の入力文字列がシステム内をシームレスに駆けめぐり、JavaScriptからファイルシステムからSQLまで影響を及ぼす可能性を秘めているわけですから。

■同じカテゴリ[Web系]のエントリー
<<前の記事 Googleストリートビューへの拒否感と、Youtubeに対するコンテンツホルダーの嫌悪感って似てない?
>>次の記事 DBに保存されたクレジットカード情報が流出するリスクに対して、1人日で対処できる暫定対策
■このblogの書き込み最新3件
グッドデザイン賞に出てたおしゃれなサイクロン掃除機がなんと半額以下。 SEOには、運用のSEOと設計のSEOの2つのフェーズがある。 ワーナー作品のオンデマンド配信サービス「ワーナーオンデマンド」
この記事への提案、提言一覧

ADOにもちゃんとCommandオブジェクトっていうものがあります。が、
知らない=無い と同意ですね。

2008/08/13 22:50 名無しさん
この記事への提案、提言









あなたの情報を保存しますか?