アカウント名:
パスワード:
これまでのサイト攻撃は、OSの不備やホームページをネットに提供するプログラムのミスなどを突くケースが多かった。今回は、プログラムに欠陥がなくても、コンピューターが正規の命令か悪意のある命令かは判断できない点を突き、命令をそのまま実行させて支配下に置いていた。
#自分の個人サイトでは手を抜くけどw
kakaku.comはApacheやIISだけで「ホームページをネットに提供」していたわけではなく、独自のプログラムを構築してサービスを提供していたわけですが、そのうちの一部分がIISなりだったというだけでしょ? また、社会的な責任という面を考慮した場合に、OSやIISなどの脆弱性をつかれたわけではなかったのかもしれませんが、入門書でも載っているようなSecureプログラミングを知らない(または手抜きした)人が実装もテストもしていたということで、利用者がウィルス感染したりという被害が出ているわけですから、kakaku.comを擁護するような内容の記事が問題だと思うわけです。 kakaku.comが自身を正当化することを、メディアが鵜呑みにしたような記事を載せることに抵抗を感じずにはいられません。
入力された値のバリデーションを正しく行うことは、Secureプログラミングの基本だと思うのだが、、、
どういうわけか、入力をサニタイズするという場当たりな対処方法ばかりを宣伝するおかしなセキュリティ屋が多いですが、彼らはプログラミングの素人なんでしょう。ちっちゃいおもちゃCGIプログラムくらいしか作ったことがないとか。
その場にある脆弱なプログラムを取り急ぎ直すのに入力のサニタイズという方法が即効性がある場合もあるのでしょうが、どのように使われるかわからない入力値をどうやって完全にサニタイズするんでしょうか。サニタイズ漏れや、過剰なサニタイズでバグを生んだりしかねないでしょう。
セキュアプログラミングの文脈で「サニタイズ」とかいう言葉を持ち出すセキュリティ屋は信用するな、とまで言ってもいいかもしれない。文脈通りに正しい文字列連結のプログラミングをしていれば、この種の脆弱性は最初から生じないのです。
Yahoo! Blog が入力値をサニタイズしまくって記事投稿時にエラーばっかり吐きまくりやがるので (不正な文字列がどうたらこうたらとか。。。んで、書いた記事全文がフイになる。ブラウザの機能で戻ってもスッカラカンになっちゃうの)、一部ユーザーに反感買いまくりだったりするわけですが、やっぱり彼らもシロートなんだろうなぁ。。。
。。。ん? /. のコメント欄でもそんなエラーに出くわした記憶が。。。??
Darren Reed: 気に入らないのは「特権分離」とやらを使うのが 唯一の方法だということだ。皮肉なタ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
プログラムに欠陥がなくても? (スコア:2, すばらしい洞察)
Re:プログラムに欠陥がなくても? (スコア:2, 興味深い)
#自分の個人サイトでは手を抜くけどw
Re:プログラムに欠陥がなくても? (スコア:2)
あなたの記事の解釈が間違っていると思われます。
「OSの不備」は、読んで字の如くOSの脆弱性を指すと思い
ます。「ホームページをネットに提供するプログラム」は、
サーバソフトウェアのことで、Apache HTTP Serverや
Internet Information Server等を指しているのではないで
しょうか。
上記のように解釈すれば、記事全体の話の筋が通ると思います。
Re:プログラムに欠陥がなくても? (スコア:1)
が、ずいぶん好意的な解釈ですね(笑)
kakaku.comはApacheやIISだけで「ホームページをネットに提供」していたわけではなく、独自のプログラムを構築してサービスを提供していたわけですが、そのうちの一部分がIISなりだったというだけでしょ?
また、社会的な責任という面を考慮した場合に、OSやIISなどの脆弱性をつかれたわけではなかったのかもしれませんが、入門書でも載っているようなSecureプログラミングを知らない(または手抜きした)人が実装もテストもしていたということで、利用者がウィルス感染したりという被害が出ているわけですから、kakaku.comを擁護するような内容の記事が問題だと思うわけです。
kakaku.comが自身を正当化することを、メディアが鵜呑みにしたような記事を載せることに抵抗を感じずにはいられません。
Re:プログラムに欠陥がなくても? (スコア:1, 興味深い)
結局ソレだよな。
サイトの更新頻度からして技術と広報の連携は取れていると見えるだけに、
今までにない新しい攻撃手法みたいな言い方は、解っててミスリードを誘っているとしか思えねえ。
擁護?正当化? (スコア:1, 興味深い)
問題がIISでもphpBBでもなくDBの設定であるって言うのは、プログラム作者ではなくkakaku.comが悪いと言っているように思うのは気のせいですか。
asahiの記事を読み直した方がいいんじゃないか?と思うのは気のせいですか。
「ソフトの不備ではなく、データベースの安全設定が不十分だった点を悪用された。」(一部引用)
#というより、この記事を読んで擁護や正当化と取る人もいるなんて、このコメントを見るまで思わなかった。
Re:擁護?正当化? (スコア:0)
#740120 はなぞのばくはつを、とげた。
「と思うのは気のせいですか。」を3連発するなんて、よほど腹が立ったんだろうなあ。
何故腹が立ったのか俺には解らんけど。
pivo 氏が疑問に思ってるのは、多分
> これまでのサイト攻撃は、OSの不備やホームページをネットに提供する
> プログラムのミスなどを突くケースが多かった。
> 今回は、プログラムに欠陥がなくても、コンピューターが正規の命令か
> 悪意のある命令かは判断できない点を突き、命令をそのまま実行させて
> 支配下に
Re:擁護?正当化? (スコア:0)
「OSやIIS、phpBBは悪くない。
悪いのは設定をしたkakaku.comだけだ。」
ってasahiが言ってるって書いてるのに。
疑うとしたらMSの社員の筋だと思うのだが。
「winにもIISには問題ないから安心して使えます。
今回の問題はユーザが設定を謝ったから起きただけです。
通常はなんの問題もありません。」
#、、、うぐっ、吐き気が
Re:擁護?正当化? (スコア:0)
でもインジェクションはプログラムミスだよ。
Re:擁護?正当化? (スコア:0)
社員云々は必死な人間に対する挨拶みたいなもんだ。
そもそも元ネタが「たけしの挑戦状」だしな。
Re:擁護?正当化? (スコア:0)
不適切な(正しいとは言い難いってゆーかむしろ間違ってる)報道をしていて、
それが(意図するか否かに関わらず)「kakaku.com への擁護」になってしまっている。
と言うのが現状です。
気のせいでもなんでもなく、
Re:擁護?正当化? (スコア:0)
知ったかぶりは墓穴を掘りますぞ。
Re:擁護?正当化? (スコア:0)
(のでカカクコムは悪くない)。」にも読めません?
一般人は、"設定は自分で変えるもの"なんて意識は薄く、ほとんどの場合"設定は所与のもの"でしょう。
Re:擁護?正当化? (スコア:0)
をいをい、サービス提供者は「一般人」じゃないだろう。
一般のご家庭のIEの初期設定がどうのこうのとは話が違うぞ。
Re:プログラムに欠陥がなくても? (スコア:0)
無知や面倒くさがりでこうなったのなら、どれほど救いがあった事かと思いますよ。
Re:プログラムに欠陥がなくても? (スコア:0)
> サーバソフトウェアのことで、Apache HTTP Serverや
> Internet Information Server等を指しているのでは
> ないでしょうか。
別 AC ですが。
ネタ元 AC さんは「単純なプログラムミスなの
Re:プログラムに欠陥がなくても? (スコア:0)
Re:プログラムに欠陥がなくても? (スコア:1)
(正)本当にクラックの方法が記事どおりだとしたら
typoです(T_T)
Re:プログラムに欠陥がなくても? (スコア:1)
バリデーションというよりもサイニタイジングと言わないか?
俺のまわりだけか・・。
バリデーション=数値範囲チェック、仕様に添った型で有るか
サニタイジング="aaa && sendmail hoge@hoge `tail` ..."みたいなトリッキーな文字列を掲示板に投稿するとか検索フォームにPOSTとかしてないかをチェック。
というイメージがあるんですけどね。。
Re:プログラムに欠陥がなくても? (スコア:1)
サイニタイジング の検索結果のうち 日本語のページ 約 63 件中 1 - 4 件目 (0.21 秒)
サニタイジング の検索結果のうち 日本語のページ 約 2,800 件中 1 - 10 件目 (0.04 秒)
英語のスペルはぐぐればすぐ出てきますが、「sanitizing」。
ですので、多分2文字目のイは余分です。
ちなみに、バリデージョンは英語スペルが「Validation」で
「Varidation」のtypoが多いみたいですね。
意味は似てないこともないけど、認証とか保証とか検証とかの
意味があてられているようですね。
#私の言うことは例のクレタ人並みに信用できますので!
Re:プログラムに欠陥がなくても? (スコア:0)
バリデージョン の検索結果 4 件中 1 - 4 件目 (0.34 秒)
バリデーション の検索結果 約 34,300 件中 1 - 10 件目 (0.11 秒)
Re:プログラムに欠陥がなくても? (スコア:2, おもしろおかしい)
あっこれすごく多いです! きっとこれです!
Re:プログラムに欠陥がなくても? (スコア:1)
サニタイジング=無害化 (スコア:0)
価格が実際のところどちらを採用したのかは知らない。
サニタイズ?何それ (スコア:1)
どういうわけか、入力をサニタイズするという場当たりな対処方法ばかりを宣伝するおかしなセキュリティ屋が多いですが、彼らはプログラミングの素人なんでしょう。ちっちゃいおもちゃCGIプログラムくらいしか作ったことがないとか。
その場にある脆弱なプログラムを取り急ぎ直すのに入力のサニタイズという方法が即効性がある場合もあるのでしょうが、どのように使われるかわからない入力値をどうやって完全にサニタイズするんでしょうか。サニタイズ漏れや、過剰なサニタイズでバグを生んだりしかねないでしょう。
セキュアプログラミングの文脈で「サニタイズ」とかいう言葉を持ち出すセキュリティ屋は信用するな、とまで言ってもいいかもしれない。文脈通りに正しい文字列連結のプログラミングをしていれば、この種の脆弱性は最初から生じないのです。
Re:サニタイズ?何それ (スコア:1)
後学のために正しくはサニタイズとはどういう処理か詳しく教えてください。
Re:サニタイズ?何それ (スコア:0)
Re:サニタイズ?何それ (スコア:1)
英語を使う人間がサニタイズと使うからって、そのまま使うケースがあまりに多過ぎる気がするな。
あっちの人間って、新しい単語を作っても、辞書に載っていなければ通じないから、既存の単語を良く用いる。
それと違い漢字って、漢字自体が意味を持つから、「無害にする」とか「殺菌する」なんて言葉の英語を外来語として使わずに、「特殊文字の無害化」って多くの人が見ても分かり易く表現した方が良いんじゃないの?
「特殊文字をサニタイズしていないから」みたいな「対象」がはっきり分かる表現ならば分かりやすいけど。
CGIのソースを指差し「サニタイズして」なんて言っていると、言われた人はモニターをイソプロピルアルコール等で消毒....
その後、「サニタイズしてくれた?」なんて聞くと「ちゃんとしておきましたよ」なんて....
後日、「しかし結果として“最高の対策”とは呼べない部分はあったと思う」
http://www.itmedia.co.jp/news/articles/0505/25/news086.html
なんていう羽目になるかも。
# だけど「無過失らしい」....
Re:サニタイズ?何それ (スコア:1)
ご指摘ありがとうございます。本当に言葉の意味を理解して使っているのかと、自分で反省中です。
Re:サニタイズ?何それ (スコア:1)
なのでシステムの規模や処理内容などで使い分ければ良いんでないでしょうか。
もちろん、出力時の対処の方がシステムの拡張性は高いと思いますが。
どちらにしても「設計」「規約による縛り」「試験」は大切ですね。
Re:サニタイズ?何それ (スコア:1)
そういう意味ではおっしゃるようなメタ文字のエスケープやディレクトリのチェックを(どの時点でやろうとも)サニタイズと呼んでいいような気がします。言い方の問題かな、と。
しかし、確かにユーザーからの入力値チェックで済ませるというのは場あたり的かもしれないですね。その後どう使われるかがはっきりしてる小さいプログラムしか書かないので、ちょっと気付きませんでした。
それでも単純に「入力値」とか「入って来た値」とか言ったとき、プログラムに入って来た(main()に入って来た?)値なのか、その関数に入って来た値なのかは状況いかんな気もします。関数に入って来た値を利用する前にエスケープ処理などをやらせる関数を、sanitize()とか名付けたり、「入って来た値は使う前にサニタイズしないとね」みたいな言い方はよくします。やはり言い方、名付け方の問題?
名前がついているのは便利 [rubycolor.org]ですしね。
Re:サニタイズ?何それ (スコア:1)
Yahoo! Blog が入力値をサニタイズしまくって記事投稿時にエラーばっかり吐きまくりやがるので (不正な文字列がどうたらこうたらとか。。。んで、書いた記事全文がフイになる。ブラウザの機能で戻ってもスッカラカンになっちゃうの)、一部ユーザーに反感買いまくりだったりするわけですが、やっぱり彼らもシロートなんだろうなぁ。。。
。。。ん? /. のコメント欄でもそんなエラーに出くわした記憶が。。。??
むらちより/あい/をこめて。
Re:サニタイズ?何それ (スコア:1)
セキュリティとは違うのかもしれませんが、データを入力するユーザーが間違える可能性を考慮しないというのはまずいのではないでしょうか。たとえば電話番号の入力を要求しているのにアルファベットが来たら、チェックして正しいデータを入れてもらうようにしないと。
しかし、電話番号を入れるときにハイフンを使うな、というwebをよく見かけるけど、10桁の数字って確認しにくいんだよなあ。ハイフンくらいプログラムの内部で処理してくれればいいのに。
---- 6809
Re:サニタイズ?何それ (スコア:0)
別枠で入力させたくて、なおかつ入力される値が限定できる場合は select にします。
Re:サニタイズ?何それ (スコア:0)
Re:サニタイズ?何それ (スコア:0)
"東京"と入れる人と"東京都"と入れる人と"TOUKYOU"と入れる人。。。
などなど出てきますから。
検索時に東京に住んでる人すべてを検索する場合、入力を制限しないと全部に対応する必要が出てきます。
#どっちがバカか。。そういう情報が必要なサイト作ったことありますか?
Re:サニタイズ?何それ (スコア:0)
企業側では結構必要ですよ。
購買傾向分析、ダイレクトメール等など。。
ユーザー視点、企業視点両方の視点で物事が考えられないあなたがばか。
また、コンボボックスにしてるのを律儀にテキストで保存してると思ってます??
マスター化するのが一般的ですよ。
最近はついでに市区町村も
Re:サニタイズ?何それ (スコア:0)
ややこしい仕様にして工数を稼ぎ、
後々にもメンテでお金を搾り出せる作りにしておくのが
いいってことではないかと邪推しました。
#作る側の視点は考慮してないのでAC
Re:サニタイズ?何それ (スコア:0)
統計の取り方と、それ以外に企業の目的によるってことです。
また、客先宛に請求書とか出力する必要があるところでは、市区町村合併による町名変更は放置できるわけがない。
合併した所にいるお客さんは全部自分で変更しろと?
表記の揺れ全部調べて全部変更しろと?
だから、貴方の考え方で業務がまわりますか??
リストにしている所ではコードだけで普通企業側が一括変更しま
Re:サニタイズ?何それ (スコア:0)
そんなのになる県があるの?どこ?
しかも「どのへんにあるかもわからない」ってどういう事?ソートされてないコンボなんて、作る側からしても考えられないんだけど。
>そんなものは放置しておくのが正解。
それこそユーザの顰蹙を買いそうだな。コードで管理していなかったとしても標準の表記だけ
Re:サニタイズ?何それ (スコア:0)
ふつーに考えればエスケープ処理はあんたのおっしゃる「出力」の際にやるわけで、サニタイズったらまずそのことでしょう。そうじゃなきゃその出力を行うコード部分を他に転用したときに危ない。
従って「入力をサニタイズしなさい」というときに、馬鹿正直に値をGetしたコード部分で「サニタイズ」をやるやつぁいないと思いますよ。
なにしろご指摘のように、出力がSQLなのかHTMLなの
Re:サニタイズ?何それ (スコア:1)
#740324 さんの書くサニタイジングのコードというのは、どんな文なんでしょうか? サニタイズというくらいですから、文字列を削るコードなんですよね。
Re:サニタイズ?何それ (スコア:0)
単にサニタイズ用の文字列処理かますだけの話でしょう。難しそうに考える必要はない。
例えばPHPでXSSを防ぐためにHTML出力を実体参照にしたければ、htmlentities()とかの類の脳死レベルの関数が用意されてますな。
まあそんなもの用意されてなくても、出力先に応じてエス
Re:サニタイズ?何それ (スコア:0)
ぐぐる様での検索結果 [google.co.jp]
いやまあ、みんな間違って使ってるっておっしゃるのかもしれませんけど……。
Re:サニタイズ?何それ (スコア:0)
私もそう思ってますが。
サニタイズ=入力の無毒化、チェック。
入力、出力時に文字列の値をチェック、編集することでsqlインジェクション、コマンドインジェクション、XSS等の対策を行う方法および行為。
と思ってたんですが。。
違うんですか?エロイ人。
Re:サニタイズ?何それ (スコア:0)
それでいいんじゃない?
入力は大抵の場合何か別のものへの出力になるし、出力も大抵の場合何か別のものへの入力になる。
もちろんカタチを変えたりはするけど。
「何からの」「何への」を省略してやれ入力だ出力だ言っても仕方あるまいに、と思う。
Re:サニタイズ?何それ (スコア:0)
出力って、どの部分をさしていってます?
もし、画面および帳票をさして行ってるならアウト。
SQLに変数を与えるところを指してるならok。
動的SQLのすべてがPrepareで書ければいいが、でない場合文字列に
;DELE
Re:サニタイズ?何それ (スコア:0)
Re:サニタイズ?何それ (スコア:0)
Re:プログラムに欠陥がなくても? (スコア:0)
>外部からの命令を受け付けなくすることなどの設定が必要だ。対策済みの企業も少なくない。
このくだりが
>入力された値のバリデーションを正しく行うことは、
>Secu
Re:プログラムに欠陥がなくても? (スコア:0)
OpenSSHの「特権分離」と同じことではないの?
これを入力のされた値のチェックに当たるかかと言われてもなぁ。