パスワードを忘れた? アカウント作成
13611683 story
セキュリティ

CSVファイル経由で感染するウイルス(ただしExcel限定)が話題に 36

ストーリー by hylom
本題はこれを使った攻撃が観測されたというところだね 部門より
あるAnonymous Coward曰く、

CSVファイルを開くだけでウイルスに感染するという話が報じられている

ExcelではExcelの関数が記述されたCSVファイルを開くと、状況によってはその関数を実行する仕組みになっているようだ。そのため、Excelで開いた際に悪意のある処理を実行するようなCSVを意図的に作成できてしまうという。

開いた時の話で問題があるのはExcelの方であり、またExcelはちゃんと怪しいCSVファイルを開いた時に警告を出すためどちらかというと利用者側の問題のような気もするが、実際にこの手法を使った攻撃が今年第一四半期に行われていたそうだ。

対策としては、不審なCSVファイルはExcelで開かなければ良いと思われる。

なお、ExcelがCSVファイル内の関数を実行するという問題については以前から指摘されてはいたが、Microsoftはユーザーがマクロを有効にする必要があることから脆弱性ではないとしている(2016年のサイボウズエンジニアブログ)。また、「安全なファイル形式」などというものは存在しないという指摘もある(twitterセキュリティネタまとめ)。

  • そういや以前(って言ってももう2年近く前か)にも類似したネタが上がってましたね。こんときは勝手に表示変わっちゃうくらいの話だったけど。
    Excelの自動書式により、遺伝子のリストを使用する論文の約20%に誤った遺伝子シンボルが掲載されているとの調査結果 | スラド IT [it.srad.jp]

    ここに返信
  • ドトールコーヒーで問い合わせると店内BGMのリストをEXCELファイルで送ってくれる場合があるそうです
    https://headlines.yahoo.co.jp/hl?a=20180602-00010004-bfj-life [yahoo.co.jp]
    これってセキュリティ的に大丈夫なのか?

    ここに返信
    • by Anonymous Coward

      公開する側にリスクはないし、開く側は相手が信用出来ないと思ったらそのエクセルファイルは開かないという当たり前の対応でOKだろう。
      直接のメール返答だし標的型攻撃を食らう心当たりとか、ドトールが命中率の低そうな無差別攻撃してる疑惑なんてまず無いだろうけど。

      自動出力されてて曲のリクエストが可能でそれが自動でエクセルファイルに埋め込まれてて…みたいなシナリオまで考えると流石に別件だろうし。

  • by Anonymous Coward on 2018年06月01日 15時56分 (#3418042)

    Excelって計算式を含むシート(やブック)をCSV形式で保存すると、全部、値として保存しちゃうから、読み込みも値だけなのかと思ってました。

    実は計算式や関数を含むCSVを読み込んで、評価してくれるんですね。

    今さらこれを知っても、何かに使える気はしないけど…。

    ここに返信
    • by Anonymous Coward on 2018年06月01日 20時43分 (#3418200)

      Excelって計算式を含むシート(やブック)をCSV形式で保存すると、全部、値として保存しちゃうから、

      ・CSVはセルの書式を含まない

      ・CSVが読み込まれる際は大抵デフォルトで「標準」書式となる

      ・「標準」書式は数値や式として機能する

      故に
      「2,3,=a1*b1」こういうCSVだと
      C1は6になるのですよ

      ただし
      「2,3,"=a1*b1"」とした場合
      Cは「=a1*b1」という文字列になります

      あぶないよねー
      ぴたごらぴたごら

      • by Anonymous Coward on 2018年06月01日 20時44分 (#3418201)

        追伸
        LibreOfficeも同様です

      • by Anonymous Coward

        ダブルクォートで囲っていても、文字列ではなく標準書式として解釈されるのが納得いかん。

        • by Anonymous Coward

          ダブルクォートで囲っていても、文字列ではなく標準書式として解釈されるのが納得いかん。

          そんなときは「''」シングルクォーテーションで

        • by Anonymous Coward

          カンマ区切りの数値か、小数点がカンマな国でCSV形式で保存するにはダブルクォーテーションで囲むしか無いからだったりして。
          他AC氏も書いてるように表計算ソフトだと、文字列はシングルクォートだし。

    • EXCELに関数あるけどCで書かれたライブラリが見つからなかった時
      CSVに書き出して、EXCELで開いて保存、再読み込みとかしたことがある

    • by Anonymous Coward

      01
      のような頭の 0 が、ただの CSV だと消えてしまいますが、
      ="01"
      のように式で表現すると 01 と 0 つきで表示されます。

      多分こんな感じで他にも応用がありそう……

      • by Anonymous Coward

        内部的にはあくまで式で、文字列の 01 じゃないので使いたくないなぁ。

        • by Anonymous Coward

          まぁ、CSVで式とか保存しないで、表計算ソフトのファイルでありながらテキストなSYLKとか使う方が幸せになれますよ。
          ちゃんとデータ型も保持されますし。

        • by Anonymous Coward

          内部的にはあくまで式で、文字列の 01 じゃないので使いたくないなぁ。

          文字列で入れたいなら、`01 では?

          • by Anonymous Coward

            それだと区切り文字が入力できないんで="文字列"の形にした上で文字列内の二重引用符などをエスケープ(二重にすればいいんだったかな)するのが一番駄目文字の少ない方法だった気がする。
            Unicode文字への対応も含めると、カンマ区切りのCSVをUnicodeにしても駄目で、
            タブ文字区切りのTSVをUnicodeで保存して拡張子CSVにすれば一発で自動認識されるんだったかな。

            • Unicode対応は、先頭にBOMをいれるだけでいいよ。

              • by Anonymous Coward

                そうすると「,」がセパレータとして認識されないんスよ。
                新しいやつだと行けるのかもしれんけどOffice 2010あたりではそうなってた。
                今手元にあったOffice 2003(古っ)でも同じ。
                外部データの取り込みでやればいけるんだけど自動認識だと強制でタブ文字区切り。

                ファイルの保存で出てくる選択肢に準拠してるっぽくてキャラクタ系のこの選択肢は実は3つしか無い。
                「テキスト(タブ区切り)(*.txt)」「Unicodeテキスト(*.txt)」「CSV(カンマ区切り)(*.csv)」
                Unicode(BOM付き)の時点で拡張子は無視で「Unicodeテキスト」になってて
                「テキスト(タブ区切り)」のUnicode版だからタブ区切りな感じ。

                なのでBOMつけて、「U+0009」で区切って、各項目を文字列を示す式にして、式の中で適宜エスケープする必要がある。

      • by Anonymous Coward

        保存時は
        '="01"
        ってやんなきゃいけないバッドノウハウな奴ですね(しかも表計算ソフト専用)。
        ファイルのダブルクリック時に”必ず”自動で取り込むのやめればいいのに…。
        (って、「テキストウィザード」がレガシーになったバージョンは触ったことないけど)

      • by Anonymous Coward

        2E5みたいな十六進数もそうしないと化ける。

  • by Anonymous Coward on 2018年06月01日 16時01分 (#3418046)

    登録が必要なのでリンク先は全部読んではいないのですが、
    これExcelのデータが読み込める、
    たとえばLibre OfficeとかOpen Officeとか、
    そういうのは大丈夫なんですかね。
    個人的にはその類いは使っていないので関係ない……あ、一太郎使ってるな。

    ここに返信
  • by Anonymous Coward on 2018年06月01日 16時34分 (#3418068)

    脆弱性と考えて修正した [mag.osdn.jp]

    # ちなみにMSYS2上のEmacsについては25.3を出さず、最近26.1になった…

    ここに返信
    • by Anonymous Coward

      そっちは「自動的に有効」だからでは?
      Excelは読む前に警告出すし、ファイル自身ネット経由ならゾーンID付いてるし。
      複数段階の警告無視(解除)は流石に自己責任かも。

      • by Anonymous Coward

        Microsoftはいつになったら「バカは何も読まずにYesを押す」って覚えるのかしら

  • by Anonymous Coward on 2018年06月01日 21時03分 (#3418210)

    元のCSVファイルの形式を壊す(頭0埋めの値の頭0を消したりする)ソフトで、
    CSVを開く人なんているんですか?

    ここに返信
    • csvはデータを入れるもんだと考えてると辛いです
      excel用の簡易フォーマットだと思えば良いのです

      excelで開くとわかっていればカンマと改行を駆使して簡易レイアウトもできますし
      簡単に開けてそれなりに便利なもんですよ

      • by Anonymous Coward

        excelで開くとわかっていればカンマと改行を駆使して簡易レイアウトもできますし
        簡単に開けてそれなりに便利なもんですよ

        こ,う,で,す,ね,わ,か,り,ま,す,ん

        # 主は来ませn

      • by Anonymous Coward

        ここに神CSV使いが降臨した

    • >CSVを開く人なんているんですか?

       職場の業務システムを見ていると基幹システムからデータをCSVとか固定長で出力して、それを取り込んだ部門システムでコードの頭の0が消えてるなんて、ざら。
       数字と数値の違いとか、桁に意味を持たせているコードとか認識している人なんて、ITベンダーの現場担当者でも少ないと思うな(いわんや、一般ユーザーにおいては・・・)。
       いつだったかデータ交換のサンプルで渡された「CSVファイルです」が、Excelかなんかで作った帳票をそのまま出力した物(行毎に項目も、項目数も違っていて識別する情報が無い)で驚いたことがあります。
      • 職場の業務システムを見ていると基幹システムからデータをCSVとか固定長で出力して、それを取り込んだ部門システムでコードの頭の0が消えてるなんて、ざら。
        固定長とわかってるフィールドレコードなら、読み込んだあとで調整してますね。
        面倒だけど、定形処理ならマクロ化しちゃえば良さそう。

    • by Anonymous Coward

      Excelで編集することを考慮しているシステムで使うCSVだと色々と楽ですからね
      ツールや説明なしでエンドユーザーが簡単に閲覧・編集できるのは大きい

    • by Anonymous Coward

      やるよ。軽く中身を見たいだけでダブルクリック以上の操作がだるい時。

  • by Anonymous Coward on 2018年06月02日 10時24分 (#3418421)

    CSVファイルの先頭にIDで始まる文字を入れるだけでエクセルで読めなくなります。

    ここに返信
typodupeerror

日本発のオープンソースソフトウェアは42件 -- ある官僚

読み込み中...