パスワードを忘れた? アカウント作成
13000 story
IT

Web制作者の常識、開発エンジニアの常識 106

ストーリー by mhatta
制作者と開発者って分け方をするのね 部門より

d'Arc曰く、"去る2006年7月22日、第8回 WegSig会議が行われた。これはWebディレクターや制作者を対象としたイベントであるが、先日はWebのセキュリティに関する技術的な側面がメインで語られた。

タレコミ子も参加したのだが、第一部で、株式会社ラックの吉田聡氏が講演中にWebディレクター、制作者がメインの聴衆に対して「SQLインジェクション」という言葉を知っている人、と尋ねたところ6割程度の人しか手を挙げなかったのが意外に感じられた。だが一方で、第二部の株式会社ビジネス・アーキテクツ太田良典氏の話では、「HTMLに詳しくないと理解できない脆弱性もある」、システム会社は「HTMLの知識が9年前のまま」等、Web制作者側からの視点での意見が述べられた。確かに、タレコミ人の周囲の人間も「CSSって何?」レベルな人が多いので耳が痛い話であった。

双方がHTMLやCSS、システムの両方を熟知している必要はないと思うが、かといってお互いの基本的な知識がなさ過ぎるのも同じWebに携わる者としてどうだろうか?

なお、第二部のプレゼンテーションの資料はディレクター・製作者が知っておくべきセキュリティ@第8回WebSig会議で公開されている。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 日本人は手をあげない (スコア:5, すばらしい洞察)

    by Anonymous Coward on 2006年07月26日 12時30分 (#984993)
    「SQLインジェクションを知らない人?」だと何割の人が 手をあげただろうか?
  • by acute!! (6872) on 2006年07月26日 13時19分 (#985044)
    複数でやるなら、全員が理解する(理解させる)のは、効率的ではないし、正直無理というのが実感。

    どうせセキュリティの不具合って
    ・無理な遷移やデザインの都合を優先しろと言われた
    ・当初の話には一言もなかった機能をリリース間近に要求される
    ・どうでもいい機能と開発側が勝手に思い込む
    ・本当に知らない(理解力が残念な開発者)
    とかでしょ。

    よく分かっている人たちだけで、フレームワーク独自で作るか
    SpringとかMojaviとかCatalystとかrailsとかカスタマイズして、フレームワークレベルでSQLインジェクションやXSSは対処すべきだと思う。

    それで、ある程度分かっている人たちで、そのベースフレームワークをプロジェクト用に直して、分からない人たちは、フレームワークから外れないでソース書けとなるんでないの。

    ディレクターに必要なのは、ユーザビリティーやサイト目的に外れる要求を出してくるクライアントを説得する能力ではないかと思われ。

    高木さんのサニタイズ言うなキャンペーン [takagi-hiromitsu.jp]もそうだけど、
    変にセキュリティ対策という考えを持つより、
    正常系の処理に組み込む(組み込まれているようにする)ことが
    大事で、それぞれが独自のプロ意識をもって取り組むほうが、
    なんちゃってセキュリティを防げるよ。
    • 実際, プロジェクトマネージャレベルでは, 末端の開発者・Webデザイナはセキュリティに関して「全く考慮していない」ことを前提にプロジェクトをコントロールすべきですね.

      逆に開発者・Webデザイナがセキュリティに関する知識を持つのは当然なんて, よっぽど小さなプロジェクトでもないかぎり, 極めて危険な思想でしょう.

      親コメント
    • とりあえずテスト項目に挙げておけばOKのスタンスです。
      もちろん開発標準とかの中で指示はするけど、信用はしない。

      むしろ、テスト項目として挙げない(もしくはすり抜けてしまう)事の方が
      理解不可能です。
      --

      --- (´-`)。oO(平和な日常は私を鈍くする) ---
      親コメント
    • by Anonymous Coward on 2006年07月26日 17時42分 (#985205)
      今度はサニタイズ言うなキャンペーンなんてやってるんですか。
      なになに、出力段階で特殊文字はエスケープすることが本来の意図であり、サニタイズという言葉はCGI入力を無害化すれば対策になると勘違いさせるからよろしくない。

      …いや、サニタイズは「外部入力の文字は全て安全でないとみなし、安全な文字だけを出力するようにする」方法論では。
      昔から CGI 出力のエスケープをどうやるかやり方はいくつかあって、そのうちのひとつ。これはHTMLのレイアウトとコンポーネントを分離し、プログラム小部分ではその部分のviewになるHTML部品を文字列で作成。最後にレイアウトマネージャが各部品文字列をそのまま出力するようなタイプのCGIで便利なやり方で、コンポーネント指向好きに愛用されていた。
      特に Perl の taint 機能と併用すると漏れがなくなる。というか taint はこのやり方のために導入されたわけだし。

      サニタイズすれば対策になるという説明をやめようという趣旨はいいけど、出力時にエスケープするのが本質であるというのは首をかしげるな。
      親コメント
  • by Anonymous Coward on 2006年07月26日 12時48分 (#985016)
    セキュリティ問題等に詳しい人が受け入れられるというわけでもないのが困りものなんです。
    うちにもシステム側にもHTML/CSS側にも詳しい人がいるんですが、
    そういう人は単価が高いため、技術知識等が少々アレゲでも
    安い人を回すしかないケースが多々。

    また、短納期でとにかく量産して稼いでるところは、
    セキュリティの事には簡単な対処だけで済まそうとしてるところも多く、
    あまり深いツッコミを入れられて工程が伸びるのを嫌がるケースも珍しくないんです。
  • by Anonymous Coward on 2006年07月26日 11時47分 (#984949)
    SQLインジェクションも知らないでWebサイト作成に関わるなんてあり得ないと思うんですが…(静的ページのみとしても、仕切るだけとしても)

    旧来のOSなどアプリケーションの作成に詳しい方でも、Web技術にあまり詳しくない方がプロジェクトを仕切ると、Webサイトがちゃんと動くか、見た目は大丈夫か?のテストしかしないみたいなことがあったのですが、腕のある技術者でも大丈夫かなぁと思うことがしばしば。

    • by TarZ (28055) on 2006年07月26日 13時07分 (#985036) 日記
      SQLインジェクション脆弱性の有無と、「Webかどうか」は直接は関係ないです。従来のC/Sアプリケーションでも
      あり得た問題です。ここが、XSS脆弱性などと大きく異なるところ。
      (Webによって、SQLインジェクションの影響がより広範囲かつ深刻になった、という事情はありますが)

      なので、「旧来のOSなどアプリケーションの作成に詳しい方」であれば、仮に「Web技術にあまり詳しくない」と
      してもSQLインジェクションは知っているはずで、すなわち「Webサイトがちゃんと動くか」の確認内容にSQL
      インジェクションの有無の確認も入っているはずなのです。

      Web化によってSQLインジェクションがことさら注目されるようになったということは、旧来のC/Sアプリでいかに
      そのあたりがサボられていたか、ということの裏返しのような気がします。

      従来も問題はあったのだが、使用者が限られており、影響も
       「 "It's mine." を登録しようとするとエラーになるんですけど?」
       「それは制限です」
      …程度で済んでいた、ということでしょう。
      親コメント
      • by Anonymous Coward on 2006年07月26日 17時00分 (#985178)
        > 「それは制限です」

        程度ならいいのですが、CSで育った技術者の中には、SQL Injectionを指摘すると「何を気にしてるの?」と馬鹿にする向きもありますよ。

        曰く
         「『その文字は入れないでください』とか言えばいいだけでしょ。」
         「悪意をもっているなら法律で対処可能だから気にする必要はありません」
         「工数を増すの? 仕事なんだよ。ちゃんと考えたら?」
        と。

        # いまだに見る問題なのでAC

        親コメント
    • by sen (197) on 2006年07月26日 12時04分 (#984973)
      > SQLインジェクションも知らないでWebサイト作成に関わるなんてあり得ないと思うんですが

      ですが、未だにこの問題が報告されている現状からしますと,
      多いにあり得る状況なんですよ。
      親コメント
  • by mhexanon (16193) on 2006年07月26日 11時58分 (#984966) 日記
    わたしの勤務先は中規模のシステム開発会社なんですが、
    その中でウェブ関連の業務に携わっている人員はひとケタ。
    よって、HTML + CSS のベタなホームページから、Perl、PHP、Java を
    使ったウェブシステムまでひとりで何でも作ります。
    さいきんは CMS や Blog システムの設置・カスタマイズが多いんですけどね。
    その他、取材のためデジタルカメラを持って現地踏査とか、
    お客さんの端末のメール設定とか、果てはキオスク端末(質量 100kg!)の
    設置とか、すっかり便利屋さんと化しています。
    アクセシビリティやウェブセキュリティについても一応勉強してますが、
    ほんと流した程度だなあ orz
    • by Anonymous Coward on 2006年07月26日 12時29分 (#984992)
      多分、「Web製作」というものがWebが登場した時と比べて変化しすぎているのが原因かと。

      Web製作というものが仕事として認められるようになり始めた当初、「Web製作」といえば、単純にWebの見栄えとアクセシビリティーのデザインを行うものでした。極端な話、DTPの延長で、デザイナーの仕事と思われてました。
      それが、Flashが載り、Javaが載り、ActiveXが載り・・・と単なる閲覧ではなく、アプリケーションとして働くようになってきて、その辺から「Web製作」の意味がそれらの「開発」を含むようになってきたわけです(厳密に言えば、独立してる現場もありますが)。

      「Web外観デザイン」と「Web動作デザイン」は求められる能力もセンスも違います。どちらが優位というわけでもありません。それを「Web製作」という言葉で一括りにしてしまうのが問題なのではないでしょうか。
      親コメント
      • アクセシビリティは比較的最近の概念かと思います。少なくとも2000年あるいはそれ以前の当時でいうと、世間一般のWebサイトではそれほど重要なファクターとして扱われていなかったような印象です。2004年にWebJISが出てから以降こそが、本格的なアクセシビリティのデザイン・実装が求められるようになったのではないですかね。
        親コメント
  • >「SQLインジェクション」という言葉を知っている人、
    >と尋ねたところ6割程度の人しか手を挙げなかったのが

    知っていても決して手を上げないのが日本人の習性ですから:-
    • by soltiox (25610) on 2006年07月26日 17時37分 (#985202) 日記
      『「SQLインジェクション」という言葉を知っている』
      とゆう質問の意味を、
      ・辞書的な意味で、知っている
      ・骨身に染み付くぐらいに、知っている
      ・目を瞑ったまま対処できるぐらいに、知っている
      等々、どうゆうレベルに取るかによって、
      態度が変わる気がします。

      // 「お前はSQLを知っているか?」と問われて、
      // 躊躇無くyesとこたえられない気がするけどID
      親コメント
    • by bero (5057) on 2006年07月26日 20時47分 (#985304) 日記
      >知っていても決して手を上げないのが日本人の習性ですから:

      日本人の習性としてはむしろ(場の雰囲気にもよりますが)
      - 常に上げない
      - 人数が多ければ(実際に知ってる・知らないにかかわらず)上げる
      というパターンのような

      「SQLインジェクション」という言葉を知らない人
      と尋ねるとまた別の結果がでるような
      親コメント
  • 平気ですよ。 (スコア:3, おもしろおかしい)

    by benihitode (29875) on 2006年07月26日 20時34分 (#985295) 日記
    内の会社は大丈夫です。半年ほど前に立てたサーバーですけど、最初の画面に

            <font color=red size=144>SQLインジェクション絶対禁止</font>

    って、書いておいただけで何も問題は起こっていませんよ。
  • WEB制作者 (スコア:2, 興味深い)

    by HellMaster (30022) on 2006年07月26日 11時56分 (#984961)
    うちの場合だと
    「SQLインジェクションとかそういうのは開発の方が考えること」
    で終りそうな感じです。
    WEB制作の部署はシステム側には無関心なので6割どころか1割もいない感じです。
    他ではどうなんでしょうか?うちの会社が特別なんですかね?
    • Re:WEB制作者 (スコア:3, 興味深い)

      by calc (16044) on 2006年07月26日 19時21分 (#985255) ホームページ 日記
      うちの場合だと、
      「SQLインジェクション?そんなことも解決してくれないフレームワークで開発してるわけ?」
      で終わりそうな気が。

      #デフォルトで備わっているサニタイズ機能をわざわざOFFにして「色とか自由に付けられるようにしました!」とか言う新人君に目眩がすることもあるけどid
      親コメント
    • 確かに、SQLインジェクションはHTMLのようなコンテンツの話じゃなくて、鯖側にデータを渡してからのプログラムの動作の話ってイメージが、XSSとかはWeb製作者も意識してないとマズいでしょうけれども。
      --
      ◆IZUMI162i6 [mailto]
      親コメント
    • SQL インジェクションの問題に限り、
      かつ開発者と WEB制作部署がきちんと分離している環境でなら
      テストする上では WEB制作部署も知っていなければならないでしょうが、基本的に開発が考えることでしょう。

      # それ以前に、OJT と称してまともに DB しらない人間に
      # SQL文 を書かせるなよ。。。
      --
      マクロの基本は検索置換(by y.mikome)
      親コメント
  • by tuneo (2938) on 2006年07月26日 16時12分 (#985156) ホームページ 日記
    知らん人は全然知らんので眩暈に襲われるなんてことは良くある。

    俺(へタレSE)「このWebアプリケーションではクライアントとサーバの通信にHTTPプロトコルを使用しています。デフォルトのTCPポート番号はxxxxです。」
    ボス(SE)「ちょっと待て、HTTPなら80じゃないのか?」
    俺「違います」
    ボス「そんなんで通信できるのか?」

    ……め、眩暈が。
  • それに加えてはなからSQLインジェクション実行が不可能な
    フレームワークの構築とその使用の徹底もより重要と考えます。

    #例えば.NETが提供するフレームワークの内データベース処理を担当するADO.NETは
    #SQLインジェクションが構造的に不可能なように構築されてたと思います
  • by classic-blue (15284) on 2006年07月27日 1時55分 (#985469)
    Web制作の仕事してますが、
    企画部門は、「インタラクティブなUIを」システム部門は、「なにそれ、ムリムリ」という、クライアントの板ばさみにあうことがよくあります。

    まず、社内で話してほしぃ。。。orz
  • に対する反論が出ませんね……。そのとおりと認めるしかないのでしょうか?
typodupeerror

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

読み込み中...