[サイトTop] [As/R Top] [ヘルプTop] [戻る]

※注意
 本稿の主たる目的は、より安全で、自由で、平和な世界が実現される事を祈念する文章です。
 あくまでも完全に筆者の「作者」としての立場の一方的な偏った意見であり、一般的な「ユーザー」さんが語ると、ただの危ない人になりかねないので十分ご注意ください。
 また特定の製品名や組織名を名指しで非難しておりますが、先方にも事情があったり、深慮遠謀がある可能性もありますし、一時的な問題である可能性もありますので、製品に対する永続的な判断材料にはしないでください。(公平に見て、もっと酷い体制の会社の方が多いです)
 状況によって本稿は予告なく更新/削除される可能性がありますし、謝罪文にすげ替えられる可能性もあります。
 なお本記事を執筆してから、3年ほど記事を寝かしましたが、状況が変わらなかったので一部加筆して公開します。


ウィルスが検出されました!それ、いつもの誤検出です

 ウィルススキャンソフトの誤検出がテーマです。
 うちは、かなりウィルススキャンソフトによる誤検出が極めて多いです。
 どれくらい誤検出されたかというと、100回から数えてませんが、楽勝で数千回は冤罪を食らってます。

 ですから「念のため」でも「一応」でも、感染疑惑の報告なんて役に立たたないし、迷惑なので不要です。
 そりゃぁ、「まれに発生」なら情報収集の意味合いもありますが、「毎回発生」なので当然再現しますし、ウィルススキャンソフトは誤検出することが前提である仕様なのだから、誤検出は当たり前です。
 ですから「先方に問い合わせてください」としか言いようありませんし、「何度も同じ回答をさせられるのは迷惑」という作者の立場を考慮してくださいという話になります。
 例えば、数千回も「誤検出です」と回答したり、メーカーに問い合わせたりする労力を想像してみてください。
 もちろん、当方は無報酬ですし、片手間でやってることには限度があります。


 さて、何をもって冤罪かというと、

・ウイルスの動作であるところの自己増殖や、感染動作
・トロイの木馬の動作であるところの情報盗難、バックドア設置、システムクラックなどの情報流出動作
・情報の提示ない各種のファイル設置、システムや外部ソフトの設定の無断変更、対象外レジストリ変更の痕跡
・勝手にファイルを暗号化するといった動作

 こういった悪意ある動作の証拠が挙げられたことは一度もありません。
 だって、そういうソフト作ってないのですから、無いものを無いと証明しろと言われても、これは「悪魔の証明」です。
 そんな証明は命題が間違っており、できるわけがありませんので、当方に証明しろというのは実に頭の悪い主張になるので言っちゃダメですよ。
 指差して笑われちゃいます。


 で、何で誤検出されるのが多いか?ということです。
 もっと色々あるのですが、毎回引っかかってる悪質な事例をあげてみます。

1.ソフトの更新回数が多い
2.配布しているEXEやDLLの数が多い
3.コードサイニング認証をしていない
4.配布ファイルの日付が新しい


 わりとウチではソフトの更新回数が多いわけで、わりとコンスタントに月に1~3回位は何らかの正式版なり、β版なり、ソフトウェアを世に送り出してます。
 で、安全なソフトってぇのは「多くの人がダウンロードした」という判定をしてるソフト・・・最近ではOSに含まれてますが、そういう愚かしい判断基準で弾かれてます。
 つまり、頻繁にリリースされるソフトや、リリースされたばっかりのソフトは全部NGってことです。
 新人作者さんはもちろんですが、私のように「数万人しか」ユーザーさんを抱えてないような零細のフリーソフト作者などは全てNGです。

 大勢の人が何人も人柱になって、ソフトを導入した・・・で、ようやくOKになるんですね。配布ファイルごとに。
 この方式を考えた人は心底バカだと思いますが、こんな頭の悪い判定基準が世界標準になっているのは「セキュリティ」という単語に世界中が踊らされた結果です。


 2番目の配布しているEXEやDLLの数について語りましょう。
 As/Rを1回リリースしたとしましょう。
 Ver.7頃の時点で、ざっと151個のexeとdllが含まれてます。
 つまり、1個しかチェックする対象がないソフトの150倍は引っかかる可能性が高いと言えます。
 そして更新されたばっかりの未知の脅威の正しい検出率なんぞ、最近では30%を切ってるんでしたっけ・・・まぁ確率的には、ほぼ確実に毎回NG判定を食らっちゃうわけです。
 ちなみに、うちで認識している誤判定の常連ソフトを例にあげますが、1回のリリースで全exeとDLLの誤判定されたこともあります・・・何度も(ボソ)、つか毎回(ボソ)


 3番目のコードサイニング認証というのは、exeファイルとかdllファイルとかに「配布元から配布されたものが改ざんされてませんよ」という署名を付けることができます。
 この署名がされていると、ウィルススキャンソフトは手心を加えて判定を甘くするそうで、Microsoft社、トレンドマイクロ社、シマンテック社でそういった回答を見かけたことがあります。
(例えばシマンテック社のサポート掲示板に「コードサイニング認証を取得してもらえばホワイトリストに登録されますので、誤検出の確率が下がる可能性があります」といった趣旨のやり取りがWeb魚拓に残ってるかと思います。(原文は意訳してます))

 ですが、改竄の有無しか判断できないものなんぞ、今時の悪意あるソフトが署名しないわけがないだろ?それ以上に儲かるんだから・・・という、笑えないオチがあります。
 ぶっちゃけ、署名してないアドウェアなんぞ私は見たことがありませんし、まさに「ザル」と言わざるをえません。

 そもそも、コードサイニング認証を付与するには有償でして、例えばシマンテック社さんだと年額9万円ほどかかってました。
 先の引用の通りですが、手間と費用をかけて電子署名をしたとしても誤検出されなくなる保証はありませんし、自分で証明して誤検出とか自作自演のマッチポンプのビジネス手法にしか思えないですし、となるとウィルスばらまいてるのはセキュリティ会社が黒幕なんじゃ・・・みたいな陰謀論とか、あながち冗談に思えなくなります。
 実際、誤検出が出るほどこの業界は儲かりますしね。

 余談ですが、ブラウザ業界からシマンテック社の証明書が信用できないとして槍玉に挙げられて、世界規模で信用失墜したあげくに事業売却されたんでしたっけ。
 個人的には「やっぱりそうなったか」と思いましたが、一般ユーザーの方は何を信じて良いのか分からなくなってしまうでしょう。


 4番目は・・・この検出方法と、評価方法を考えたバk(大人判断で自粛)
 代表的なのは悪名高き、ノートンのソナー(sonar)ですけど、これシマンテック社さんも一部「外部からエンジンを購入している」ってインタビューで述べられており、自社開発してないそうです。
 つまり、誤検出だから、不具合だから修正してくれ!って言っても、ソースコードもなくて修正できないってことなんでしょう。
 あのシマンテック社さんですら、そのような体たらくです。

 以前あったフリーソフト作家の方がソフト配布停止に追い込まれた事件で、ウィルススキャンソフトの修正にとんでもない時間がかかってましたが、こういった裏話もあるんじゃないかなと思ってます。
 (もっと酷い業界ネタもありますが、大人判断で自重します)

 まぁ「アプリの最新版は使うな」ということなのかもしれませんね。
 Windows Updateでコンスタントに毎月提供されてる、「緊急の」セキュリティ対策ってぇ言葉を思い出してほしいものです。
 ・・・いや、まぁ、Windows Updateも頻繁にトラブルを引き起こしていますが。

 誤解無きように補足しています。
 2020年3月時点では、シマンテック社のセキュリティ関連ソフトの誤検出は大幅に改善されており、極めて優秀なソフトになっています。
 誤検出のランキングから逃げ回っていたように見受けられた時代を考えると、感慨深いものがありますし、ソフトに対する評価は永続するものではないことを改めて明言させていただきます。




 さて次に、私が何かアクションを起こして解決するか?という点です。
 ウィルススキャンソフトのメーカーからしてみると、フリーソフトの作者という人種は「胡散臭い容疑者」なので、そんな怪しい人物から何かアクションを起こして問題が解決するわけがありません。信用なりません。
 そもそも、ユーザーすらありませんので、私自身はサポート対象外という扱いです。

 もう少しやる気があって若かりしころ、サポートに問い合わせて、真摯に対応してくれたことは・・・そういえば記憶にありませんなぁ(苦笑)
 「弁護士を経由してくれ」とか「英語で書いてくれ」などはマシな方で基本無反応です。
 疲弊して問い合わせたことを後悔することしかなかった結果が、この記事を書くことになった原因とだけ述べておきます。

 もちろん、その手のメーカーから「胡散臭い容疑者」って思われる理由はあります。
 なぜなら「ウィルスの挙動に分類されるモノをお前は作れるか?」と言われればYESなわけで、専門家という意味でのハッカーに分類されていることも否定しません。
 極論すると、使うソフトは「メモ帳」だけでも構いませんし、ウィルスを作れる程度の技能って決して高くはないのです。
 つまり、ウィルスを作れる程度の技能を持った怪しい人物(私)を信用できるのか?ってぇ話になるわけです。

 ただこれ、決して極端な例ではない気がしますが、これは「殺人事件が起こるかもしれないので刃物を持ってる人は全員怪しいと判断して隔離しました」というくらい乱暴な話です。
 世の中のシェフや板前さんはもちろん、主婦の奥様達、ハサミ持ってる子供までも手当たり次第に容疑者です。
 先の例をあげると、「メモ帳を使いこなせるレベルのIT技術を持った人は全員容疑者」ということです。

 これは、いわゆる性悪説に基づいた考え方であり、これはこれで正しいスタンスだから仕方ありません。
 ですが、ウィルススキャンメーカーが自分自身を「悪」から除外するというスタンスだけは、ちょっとそれは違うんじゃないですかね?と思います。



 私のことを信用できるか?という観点で、現時点での実績を元に比較しますと、

 【雑誌投稿時代からカウントすると35年以上も世間にプログラムを提供し続けて一度も問題を起こしてない個人、ウィルス配布率は0%】
            VS
 【前科が数千回の嘘アナウンスばっかりしてるウィルススキャンメーカー、誤検出であった確率は100%】

 オオカミ少年もびっくりするくらいの実績の差がありますが、これでも信用してもらえません。
 まぁ身元保証という観点からの社会的信用度を考えれば当然ですけど、嘘は何度繰り返しても嘘であり、証拠もない事象を捏造すんなって事なんですよね。
 とはいえ、虚言であっても声が大きい方に引きずられるのは、人間社会のサガですし、悩ましい限りです。

 こちらでできるのは「誤検出である」という事実と、「先方のソフトが欠陥のある商品だ」と辛抱強く、根気強く、粘り強く、延々と訴え続けるしかありません。



 それから、ウィルススキャンソフトのユーザーさんという立場についてです。
 利用規約とか使用許諾に書いてありますが、誤検出しようとも、OSごとぶっ壊そうとも、ユーザーデータに取り返しがつかないような損害が発生しようとも、責任を取るセキュリティ関連ソフト会社はありません。
 検出結果は全てユーザーに委ねられ、誤検出して「自動的に」OSの必要なファイルを消しちゃっても、「自動的に」システムをぶっ壊しても、デフォルト設定を容認して、そういう設定を放置したユーザーの責任です。
 何とも無責任な話ですが、良く読むと免責事項に明記されてたり、そのように取れる記述がしてあるはずです。

 まぁ、ウィルススキャンソフトがOSのシステムファイルをぶっ壊すなんて話は、今ではすっかり日常の風景でニュースにもならないレベルの話ですし、そういった責任を取らなくても問題にならないような契約を結ばされているのです。
 またトラブルが起こる前提の契約をしているだけに、法廷対策も万全でしょうしね。

 そういう自身で引き起こしたトラブルに責任を取るつもりが見受けられない会社って、よーっく考えてみてください、信用できます?



 さてさて、ウィルススキャンソフトおよび、販売会社、メーカーの対応と現在の状況を、盛大に愚痴まみれ全開で語りましたが、これは配布側の立場だから言えることであって、一般の利用者の方とは違った見方です。
 そして決してウィルススキャンソフトが不要と言っているわけではありませんので、ご注意ください。
 私は「絶対」という言葉をめったに使いませんが「絶対に必要です」。

 肝心なことは「盲信しない事」と「君子危うきに近寄らずを徹底する」ということが、最も重要な事です。
 私も、私自身を全く信用していませんので、信用してくれた方の信頼を可能な限り裏切らないように日々気を付けているだけです。



















 以下は、不条理な誤検出で苦しめられてるソフト開発者向けです。
 悪用可能なので詳細は伏せたいところですが、あまりにも低レベルで子供だまし過ぎて、悪意を持ってるウィルスの作者なら試し済みの内容だと思います。
 新人のオンラインソフトの作者さんの参考にでもなれば・・・という意図で箇条書きにしておきます。

  • オレオレ認証のコードサイニングでも、高い確率で検出対象から外れます。
    手順も難しくないし、誰でも無料で証明書を発行できます。
    もちろんウィルスの作者であってもです。
    うちも、バッチファイルで全exeとdllに自動で署名を付与できる仕組みを作ってますが、そんな怪しい署名を付与する方が人として信用されない気がするので付与してません。
    【署名用の鍵ファイルを作るコマンド】
    makecert
    cert2spc.exe
    pvk2pfx
    ※*.pvk、*.cer、*.spc、*.pfxの4つのファイルができます。
    【EXEやDLLに鍵ファイルを使って署名するコマンド】
    signtool.exe
  • exeやdllのタイムスタンプを1年巻き戻すと、高い確率で検出対象から外れます。
    日付のようにいくらでも偽造できるモノを参照しているおバカなウィルススキャンソフトが有るわけで・・・実はかなり多いです。
  • ファイルの属性を変えてみる
    読み取り専用をつけておくと結果が変わるということは、参照しているおバカなウィルススキャンソフトが有るわけで・・・
  • バージョン情報をリソースで付与しないと、ウィルスと扱われます。
    開発環境の都合でバージョンリソースを付与できない場合は、開発環境の変更を検討すべき・・・なんだそうです。
    つまりオープンソース系のコンパイラとか、旧Borland系の開発環境や言語を選定しちゃうと、配布者もユーザーさんも冤罪被害で煩わしい思いをする事になります。
  • バージョン番号は「.」(ピリオド)で区切ること。
    ただの文字列なので、うっかり「,」(カンマ)で区切ったり、独自色を出そうとするとウィルス扱いになります。
    ウィルススキャンソフトの解析手順やバグなど、当方では知ったこっちゃありませんので理由は不明です。
    ちなみに、Visual studioのバージョンによっては編集すると自動的に「,」(カンマ)に置き換えられるものが存在しますが、その開発環境で作られたexeやdllは全滅しますので、さっさとアップデートすることをお薦めします。
  • 使用するexeやdllの内部で静的な文字列を管理している領域に「http://」とかあるとウィルス扱いになります。
    FTPやらHTTPSやらのプロトコルの記述がある場合は全て引っかかります。
    As/Rではアドレスバーに入力したらアクセスが可能なので、仮想フォルダであることの判定用の文字列、バージョンチェック、オンラインヘルプへのURLです。
    ちなみに「ht」「tp」と「:」「//」を文字列を連結して生成するような処理にすると検出されなくなるというオチがありましたが、こんな対処はバカバカしいので対策していません。
  • 最新の7zで自己展開形式で圧縮するとウィルス扱いになります。
    メーカー名は大人の理由で伏せますが、「最新の7zの自己展開方式のexeで配布しないで欲しい」と言われました。
    以前、うちのサイトでデカデカと告知してましたけど、そんな舞台裏がありました。