CSVファイル経由で感染するウイルス(ただしExcel限定)が話題に 26
ストーリー by hylom
本題はこれを使った攻撃が観測されたというところだね 部門より
本題はこれを使った攻撃が観測されたというところだね 部門より
あるAnonymous Coward曰く、
CSVファイルを開くだけでウイルスに感染するという話が報じられている。
ExcelではExcelの関数が記述されたCSVファイルを開くと、状況によってはその関数を実行する仕組みになっているようだ。そのため、Excelで開いた際に悪意のある処理を実行するようなCSVを意図的に作成できてしまうという。
開いた時の話で問題があるのはExcelの方であり、またExcelはちゃんと怪しいCSVファイルを開いた時に警告を出すためどちらかというと利用者側の問題のような気もするが、実際にこの手法を使った攻撃が今年第一四半期に行われていたそうだ。
対策としては、不審なCSVファイルはExcelで開かなければ良いと思われる。
なお、ExcelがCSVファイル内の関数を実行するという問題については以前から指摘されてはいたが、Microsoftはユーザーがマクロを有効にする必要があることから脆弱性ではないとしている(2016年のサイボウズエンジニアブログ)。また、「安全なファイル形式」などというものは存在しないという指摘もある(twitterセキュリティネタまとめ)。
以前の自動書式の話 (スコア:2)
そういや以前(って言ってももう2年近く前か)にも類似したネタが上がってましたね。こんときは勝手に表示変わっちゃうくらいの話だったけど。
Excelの自動書式により、遺伝子のリストを使用する論文の約20%に誤った遺伝子シンボルが掲載されているとの調査結果 | スラド IT [it.srad.jp]
保存時は値にしちゃうけど (スコア:0)
Excelって計算式を含むシート(やブック)をCSV形式で保存すると、全部、値として保存しちゃうから、読み込みも値だけなのかと思ってました。
実は計算式や関数を含むCSVを読み込んで、評価してくれるんですね。
今さらこれを知っても、何かに使える気はしないけど…。
Re:保存時は値にしちゃうけど (スコア:1)
EXCELに関数あるけどCで書かれたライブラリが見つからなかった時
CSVに書き出して、EXCELで開いて保存、再読み込みとかしたことがある
Re: (スコア:0)
01
のような頭の 0 が、ただの CSV だと消えてしまいますが、
="01"
のように式で表現すると 01 と 0 つきで表示されます。
多分こんな感じで他にも応用がありそう……
Re: (スコア:0)
内部的にはあくまで式で、文字列の 01 じゃないので使いたくないなぁ。
Re: (スコア:0)
まぁ、CSVで式とか保存しないで、表計算ソフトのファイルでありながらテキストなSYLKとか使う方が幸せになれますよ。
ちゃんとデータ型も保持されますし。
Re: (スコア:0)
内部的にはあくまで式で、文字列の 01 じゃないので使いたくないなぁ。
文字列で入れたいなら、`01 では?
Re: (スコア:0)
保存時は
'="01"
ってやんなきゃいけないバッドノウハウな奴ですね(しかも表計算ソフト専用)。
ファイルのダブルクリック時に”必ず”自動で取り込むのやめればいいのに…。
(って、「テキストウィザード」がレガシーになったバージョンは触ったことないけど)
Re: (スコア:0)
2E5みたいな十六進数もそうしないと化ける。
Re:保存時は値にしちゃうけど (スコア:1)
>2E5みたいな
16進数でなく 2×105 と読みそうになった.
Re: (スコア:0)
Excelって計算式を含むシート(やブック)をCSV形式で保存すると、全部、値として保存しちゃうから、
・CSVはセルの書式を含まない
・CSVが読み込まれる際は大抵デフォルトで「標準」書式となる
・「標準」書式は数値や式として機能する
故に
「2,3,=a1*b1」こういうCSVだと
C1は6になるのですよ
ただし
「2,3,"=a1*b1"」とした場合
Cは「=a1*b1」という文字列になります
あぶないよねー
ぴたごらぴたごら
Re:保存時は値にしちゃうけど (スコア:1)
追伸
LibreOfficeも同様です
Re: (スコア:0)
ダブルクォートで囲っていても、文字列ではなく標準書式として解釈されるのが納得いかん。
Re: (スコア:0)
ダブルクォートで囲っていても、文字列ではなく標準書式として解釈されるのが納得いかん。
そんなときは「''」シングルクォーテーションで
全部は読んでないけど (スコア:0)
登録が必要なのでリンク先は全部読んではいないのですが、
これExcelのデータが読み込める、
たとえばLibre OfficeとかOpen Officeとか、
そういうのは大丈夫なんですかね。
個人的にはその類いは使っていないので関係ない……あ、一太郎使ってるな。
一方、Emacsは (スコア:0)
脆弱性と考えて修正した [mag.osdn.jp]
# ちなみにMSYS2上のEmacsについては25.3を出さず、最近26.1になった…
Re: (スコア:0)
そっちは「自動的に有効」だからでは?
Excelは読む前に警告出すし、ファイル自身ネット経由ならゾーンID付いてるし。
複数段階の警告無視(解除)は流石に自己責任かも。
ExcelでCSVを開く人いるの? (スコア:0)
元のCSVファイルの形式を壊す(頭0埋めの値の頭0を消したりする)ソフトで、
CSVを開く人なんているんですか?
Re:ExcelでCSVを開く人いるの? (スコア:2)
csvはデータを入れるもんだと考えてると辛いです
excel用の簡易フォーマットだと思えば良いのです
excelで開くとわかっていればカンマと改行を駆使して簡易レイアウトもできますし
簡単に開けてそれなりに便利なもんですよ
Re: (スコア:0)
excelで開くとわかっていればカンマと改行を駆使して簡易レイアウトもできますし
簡単に開けてそれなりに便利なもんですよ
こ,う,で,す,ね,わ,か,り,ま,す,ん
# 主は来ませn
Re:ExcelでCSVを開く人いるの? (スコア:1)
職場の業務システムを見ていると基幹システムからデータをCSVとか固定長で出力して、それを取り込んだ部門システムでコードの頭の0が消えてるなんて、ざら。
数字と数値の違いとか、桁に意味を持たせているコードとか認識している人なんて、ITベンダーの現場担当者でも少ないと思うな(いわんや、一般ユーザーにおいては・・・)。
いつだったかデータ交換のサンプルで渡された「CSVファイルです」が、Excelかなんかで作った帳票をそのまま出力した物(行毎に項目も、項目数も違っていて識別する情報が無い)で驚いたことがあります。
Re:ExcelでCSVを開く人いるの? (スコア:1)
職場の業務システムを見ていると基幹システムからデータをCSVとか固定長で出力して、それを取り込んだ部門システムでコードの頭の0が消えてるなんて、ざら。
固定長とわかってるフィールドレコードなら、読み込んだあとで調整してますね。
面倒だけど、定形処理ならマクロ化しちゃえば良さそう。
Re: (スコア:0)
Excelで編集することを考慮しているシステムで使うCSVだと色々と楽ですからね
ツールや説明なしでエンドユーザーが簡単に閲覧・編集できるのは大きい
Re: (スコア:0)
やるよ。軽く中身を見たいだけでダブルクリック以上の操作がだるい時。
Re: (スコア:0)
そう言う話じゃねぇよ