署名,暗号化,セキュリティ対策

米国時間の8月29日、オープンソースのメーラー「Thunderbird」の最新版78.2.1が公開された。本バージョンでは、OpenPGPがデフォルトで有効化されたことが特徴だ。

「OpenPGP」がデフォルトで有効化された「Thunderbird 78.2.1」がリリース
「GnuPG」や「Enigmail」アドオンを導入しなくてもデジタル署名と暗号化メールが扱える

https://forest.watch.impress.co.jp/docs/news/1273939.html

そこで、今回はメールの暗号化・署名をテーマとする。

メールにおけるリスク

メールのやり取りにおいて、盗聴、なりすまし、改竄というリスクが存在する。

(盗聴)
メールは、いくつものメールサーバを経由して、相手に届く。相手に届くまでの通信経路上での盗聴により、情報が盗まれるリスクがある。

この対策のために、ファイルを暗号化して、メールで送るという方法がよく行われる。この場合、暗号化したファイルのパスワードも同じメールか、別のメールで知らせることが多いだろう。しかし、それでは暗号化した意味がないと考えている。なぜなら、ファイルの送信もパスワードの通知も、同じメールという手段を利用しており、通信経路上で盗聴されていると、1通目を見ることができているならば、2通目も見ることができるのではないか、と考えることができるからである。

IPAが発行している「中小企業の情報セキュリティ対策ガイドライン第3版」の付録3「5分でできる!情報セキュリティ自社診断」においては、「パスワードはその電子メールには書き込まず、電子メール以外の手段で通知することが必要」とされている。

SSLを用いたとしても、通信が暗号化されるのは、自分が使用しているメールサーバまでであり、そこから先の通信の暗号化は保証されていないため、盗聴を防ぐことにはならない。

盗聴対策としては、送信者の端末から受信者の端末までの通信経路上全てでメッセージが暗号化された状態で通信される手段が求められる。

(なりすまし)
送信者を別の人のものに偽装することができるので、それでなりすまして、情報を聞き出したり、勝手にメッセージを伝えるなどの不正行為が考えられる。

なりすまし対策としては、送信者が自身の端末から送信されたことを確認できる手段が求められる。

(改竄)
通信経路上で、メッセージに手が加えられ、不正なリンクを加えられるなどの不正行為が考えられる。

改竄対策としては、送信者が送信されたメッセージそのものであることを確認する手段が求められる。

対策

対策として、メール自体を暗号化したり、署名データを付けて送るという方法がある。そのための技術として、S/MIMEとOpenPGPがある。

暗号化と署名のそれぞれの仕組みは以下の通りである。

(暗号化)
送信者は、受信者の公開鍵を使用してメールを暗号化して送信する。受信者は、自分の秘密鍵を使用してメールを復号して読むことができる。メールを復号できるのは、送信者と受信者の端末のみであり、途中のメールサーバなどでは復号することはできない。

(署名)
送信者が自らの秘密鍵を使って、メッセージから署名データを作成して送信する。受信者は、送信者の公開鍵を使用して署名データを復号し、受け取ったメッセージと同一であることを以って、送信者自身の端末から送信されたメッセージそのものであることを確認することができる。

S/MIMEは、個人証明書をあらかじめ入手しておく必要がある。有料のところが多く、無料で入手できるところはあまりない。Let’s Encryptは無料でSSL証明書を発行しているが、S/MIMEには非対応である。無料でS/MIMEの証明書を入手できるところは、イタリアの認証局「Actalis S.p.A.」があるが、他にもあるかは把握していない。

OpenPGPでは、使用する公開鍵や秘密鍵を生成するために証明書を購入する必要はなく、無料で導入できる。ただし、対応するメーラーが限定されている。

メールのやり取りで、情報漏洩対策、なりすまし対策、改竄対策を実施したいならば、S/MIMEやOpenPGPを利用すべきである。

(参考)
中小企業の情報セキュリティ対策ガイドライン第3版
https://www.ipa.go.jp/security/keihatsu/sme/guideline/index.html

iPadOS,iOS,セキュリティ対策,セキュリティソフト

iOS/iPadOS向けのセキュリティアプリとして、以下がでている。

  • トレンドマイクロ ウイルスバスターモバイル
  • マカフィー モバイルセキュリティ
  • ノートン モバイルセキュリティ

しかし、これらにはウイルス・マルウェアチェック機能は入っていない。
それどころか、iOS/iPadOSにおいては、ウイルスに対して怖がる必要はない。

その理由を以下に説明する。

1. 事前審査のApp Store

iOS/iPadOSのApp Storeに出ているアプリは、すべて事前に審査されて通ったものだ。
App Store Reviewガイドラインの中に以下のように記載されている。

2.5.3 プッシュ通知やGame Centerを含むオペレーティングシステムの通常動作およびハードウェアの機能を損傷または妨害するウイルス、ファイル、コンピュータコード、プログラムを送信するAppは却下されます。

もしアプリにウイルスが見つかれば、審査に通らず、App Storeにも出てこない。

2. サンドボックス

iOS/iPadOSにはサンドボックス構造が採用されていて、サンドボックスの内側の動作が外側に影響を与えないようになっている。
また、サンドボックスの内側で動作しているアプリから外側にあるデータにアクセスすことができない。
このため、ウイルスがアプリの外側に悪影響を及ぼすことはない。また、アプリにウイルスチェック機能を実装することもできない。

以上の理由により、iOSでウイルスに感染することは通常ない。しかし、OSのプロテクトを破るJailbreak(脱獄)をしていれば、感染する可能性はある。Jailbreakを行うと、セキュリティが弱まり、Appが許可していないAppをインストールできるようになるためだ。

これは理由とは異なるが、iOS/iPadOS向けアプリはウイルス・マルウェアチェック機能を実装している、と説明することはできない。それは、ガイドラインに以下のように記載されているからだ。

2.3.1 Appに隠し機能または提示していない機能を含めないでください。ユーザーもApp ReviewチームもAppの機能をはっきりと理解する必要があります。同様に、実際には提供されないコンテンツやサービス(iOSベースのウイルスチェックツールやマルウェアチェックツールなど)がAppに含まれているかのように表示して、App Storeまたはオフラインで販売することは許可されません。

iOSデバイスでウイルス・マルウェアの感染を心配する必要はないし、ウイルス・マルウェアチェックツールを入れる必要もないが、以下の対策は取るべきだろう。

・iOS、アプリを最新版に保つ。
・Jailbreak(脱獄)を行わない。
・PC・Macに接続する場合は、PC・Macも最新版に保ち、セキュリティ対策を行う。
・信頼できないWi-Fiに接続しない。
・不審なアプリ、プロファイルをインストールしない。

【参考リンク】
App Store Reviewガイドライン
https://developer.apple.com/jp/app-store/review/guidelines/

セキュリティ対策,セキュリティソフト

現在利用しているセキュリティソフト、ESET インターネットセキュリティの有効期限が近づいてきた。そこで、今後利用するセキュリティソフトを検討することにした。

セキュリティソフトは無料のものも有料のものもある。無料版には、機能制限だったり、広告付きだったりするので、有料のものを選んでいる。

macOSをメインに、時々Windowsも利用しているため、WindowsにもmacOSにも対応しているという必須条件がある。コストと性能も検討しなければならない。ということで、4個のセキュリティソフトを比較検討した。

ん?トレンドマイクロ?AppleのAppStoreから締め出された件やCoinhive事件のことなどがあり、私にとっては信頼できなくなったので、候補に入れなかった。

  • ESET インターネットセキュリティ
    • 3年5台 ¥9,000 → 早期割引キャンペーンで¥7,182(税込)
    • 1年あたり ¥2,394(税込)
    • 1台1年あたり ¥479(税込)
    • Windows/macOS/Android対応
    • ファイアウォールあり(Windows/macOS)
    • AV-comparatives
      • 実利用環境での保護テスト 1 Star 98.4%ブロック (February – May 2019)
      • マルウェアからの保護テスト 2 Stars (March 2019)
      • パフォーマンステスト 3 Stars (April 2019)
    • AV-TEST (Mac, December 2018)
      • Protection 6
      • Performance 5
      • Usability 6
  • カスペルスキー セキュリティ
    • 3年5台 ¥12,150(税込)
    • 1年あたり ¥4,050(税込)
    • 1台1年あたり ¥810(税込)
    • Windows/macOS/iOS/Android対応
    • ファイアウォールはWindowsのみ
    • AV-comparatives
      • 実利用環境での保護テスト 3 Stars 100%ブロック (February – May 2019)
      • マルウェアからの保護テスト 2 Stars (March 2019)
      • パフォーマンステスト 3 Stars (April 2019)
    • AV-TEST (Mac, June 2019)
      • Protection 6
      • Performance 5.5
      • Usability 6
    • AV-TEST (Win, June 2019)
      • Protection 6
      • Performance 6
      • Usability 6
  • マカフィー インターネットセキュリティ
    • 3年 ¥8,500(税込)
    • 1年あたり ¥2,834(税込)
    • 台数無制限
    • Windows/macOS/iOS/Android対応
    • ファイアウォールあり(Windows/macOS)
    • ID/PASS管理 True Keyアプリ(Windows/macOS/iOS/Android)
    • AV-comparatives
      • 実利用環境での保護テスト 1 Star 99.2%ブロック (February – May 2019)
      • マルウェアからの保護テスト 2 Stars (March 2019)
      • パフォーマンステスト 3 Stars (April 2019)
    • AV-TEST (Win, June 2019)
      • Protection 6
      • Performance 6
      • Usability 6
  • Symantec ノートン セキュリティ プレミアム
    • 3年5台 ¥16,480
    • 1年あたり ¥5,494
    • 1台1年あたり ¥1,099
    • ファイアウォールあり(Windows/macOS)
    • AV-comparatives
      • 実利用環境での保護テスト 2 Stars 99.6%ブロック (February – May 2019)
      • マルウェアからの保護テスト 2 Stars (March 2019)
      • パフォーマンステスト 3 Stars (April 2019)
    • AV-TEST (Mac, June 2019)
      • Protection 6
      • Performance 6
      • Usability 6
    • AV-TEST (Win, June 2019)
      • Protection 6
      • Performance 6
      • Usability 6

ノートンは、性能はいいが、費用が他と比べて高い。
カスペルスキーは、性能が最高だが、ファイアウォールがWindowsのみである。
マカフィーは、検知性能とコストのバランスがよく、また台数無制限で使用できる。しかし、動作が重いという情報も見かけており、その点が不安。
ESETは、検知性能、動作の軽快さ、コストのバランスが良い。

ずっとESETかマカフィーかで迷っていた。台数無制限なマカフィーがいいかな、いや動作の軽快さを考えるとESETかな、というように行ったり来たりだった。

最終的には、動作の軽快さでESETを選び、延長手続きを行った。

不正指令電磁的記録罪

ここ最近、不正指令電磁的記録に関する罪による家宅捜索や逮捕、書類送検などが話題になっているが、不正指令電磁的記録に関する罪はもともとウィルスなどを取り締まるための法律であったはずだ。

そこで、マルウェアの定義とは何か、改めて勉強してみよう。

マルウェアの定義

マルウェア

不正かつ有害に動作させる意図で作成された悪意あるソフトウェアや悪質なコードの総称。コンピュータウィルスやワーム、スパイウェアなどを含む。

コンピュータウィルス

他のプログラムやファイルの一部を書き換え(寄生、感染)、自己増殖する機能を持つ。

ワーム

プログラム単体で存在し、自己増殖する。

トロイの木馬

一見無害なファイルやプログラムに偽装した上でコンピュータに侵入した後、外部からの命令でその端末を自由に操る。

スパイウェア

情報収集を主な目的とし、コンピュータの内部情報を外部へ勝手に送信する。

キーロガー

キーボードからの入力を記録するプログラム。キーロガーそれ自体はマルウェアではないが、パスワードや個人情報、機密情報などを奪取する目的で仕掛けるなどマルウェア(スパイウェア)として用いられることがある。

ボット

ボットそのものは、常駐してチャットで会話するなどといった機能を持つプログラムであり、必ずしもマルウェアではない。マルウェアとしてのボットとは、攻撃者から命令を受け取り、命令に応じてDDoS攻撃やスパムメール送信などを行うものを指す。

ランサムウェア

コンピュータをロックしたり、ファイルを暗号化して読めなくしたりするなどして、身代金を支払えば元に戻す、と脅迫する。

法律改定案

以上を踏まえて、不正指令電磁的記録に関する罪の法律の改定案を検討してみる。
そのためには、次のことを考慮しなければいけないだろう。

  • キーロガーの善用と悪用
    • ソフトウェアのデバッグ目的や端末の不正使用のログ収集目的であれば、善用目的とみなされる。
    • パスワードや個人情報、機密情報などの個人データを収集し、外部サーバへ送信する目的であれば、悪用目的とみなされる。
    • 悪用目的の場合、その目的を隠していると思われる。
  • OneDrive、Dropboxなどのオンラインストレージとスパイウェア
    • オンラインストレージは、ユーザーはファイルが自動的にサーバに送信されることを了承している。
    • スパイウェアは、ユーザーはファイルが自動的にサーバに送信されることを了承していない。
    • ユーザーが、情報が自動的にサーバに送信されることを了承しているかどうかがポイント。
  • 広告、ウェブ解析とスパイウェア
    • 広告、ウェブ解析は、利用目的を明示し、情報を収集し、外部サーバへ送信する。
    • スパイウェアは、利用目的を明示することなく、パスワードや個人情報、機密情報などの個人データを収集し、外部サーバへ送信する。
    • 利用目的を明示しているかどうか、または、プログラムの目的に沿って情報を収集しているかどうかがポイント。
  • ジョークプログラムの存在
    • ジョークプログラムは、ユーザを驚かす目的で作成されており、破壊活動やワーム活動を行うものではない。
  • マルウェア対策のために、マルウェアを取得する行為
    • マルウェア対策を行うためには、マルウェアが必要となる。マルウェアを取得することを禁止すれば、マルウェアへの対策を行うことができなくなってしまう。
  • ソースコードを載せているだけのケース
    • ソースコードを載せているだけでは、それが動作することはない。解説などのためにソースコードを掲載していることもある。

以上を踏まえて、不正指令電磁的記録に関する罪の法律を以下のように改正することを提案する。現在の法律にある、「その意図に反する動作をさせるべき不正な指令」とは何かを具体化した点がポイントだ。

  • 第十九章の二 不正指令電磁的記録に関する罪
    • (不正指令電磁的記録作成等)
      • 第百六十八条の二 人の電子計算機における実行の用に供する目的で、次に掲げる電磁的記録その他の記録を作成し、又は提供した者は、○年以下の懲役又は〇〇万円以下の罰金に処する。
        • 一 その目的を人に示すことなく、またその目的に沿わず、次のいずれかの動作を行う電磁的記録
          • イ 電磁的記録を作成または書き換える動作
          • ロ 電磁的記録を収集し、送信する動作
          • ハ 命令を受信し、それを実行する動作
      • 2 前項第一号に掲げる電磁的記録を人の電子計算機における実行の用に供した者も、同項と同様とする。
      • 3 前項の罪の未遂は、罰する。
    • (不正指令電磁的記録取得等)
      • 第百六十八条の三 前条第一項の目的で、同項各号に掲げる電磁的記録を取得し、又は保管した者は、○年以下の懲役又は○○万円以下の罰金に処する。
      • 2 研究の目的で前条第一項各号に掲げる電磁的記録を取得し、又は通信の遮断された環境内で保管する場合は、この限りでない。

こんな文面にした方が良いのではないかというような意見のある方からのコメントを受け付けたい。

参考までに、現在の法律も以下に記載する。

  • 第十九章の二 不正指令電磁的記録に関する罪
    • (不正指令電磁的記録作成等)
      • 第百六十八条の二 正当な理由がないのに、人の電子計算機における実行の用に供する目的で、次に掲げる電磁的記録その他の記録を作成し、又は提供した者は、三年以下の懲役又は五十万円以下の罰金に処する。
        • 一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
        • 二 前号に掲げるもののほか、同号の不正な指令を記述した電磁的記録その他の記録
      • 2 正当な理由がないのに、前項第一号に掲げる電磁的記録を人の電子計算機における実行の用に供した者も、同項と同様とする。
      • 3 前項の罪の未遂は、罰する。
    • (不正指令電磁的記録取得等)
      • 第百六十八条の三正当な理由がないのに、前条第一項の目的で、同項各号に掲げる電磁的記録その他の記録を取得し、又は保管した者は、二年以下の懲役又は三十万円以下の罰金に処する。

不正指令電磁的記録罪

日本の開発者にとって懸念すべき案件が相次いでいる。

例えば、Coinhive事件。2018年6月に、サイトにスクリプトを埋め込んで、閲覧者のPCでマイニングすることでサイト公開者が仮想通貨を得ることができるCoinhiveを導入した者が全国各地で相次いで逮捕、書類送検される事件だ。今も地裁で裁判が続いており、3月27日に判決が言い渡される。

もっと最近でいうと、無限アラート事件。今年3月4日、中学生、無職男性、建設作業員の3人が、同じメッセージが無限に表示されるページへのリンクを貼ったことで補導や家宅捜索された事件である。

これについて、自身の考えで述べたい。もちろん様々な意見があると思う。

この2つの事件で関わってくる法律というのが、刑法第六十八条の二、第六十八条の三の不正指令電磁的記録に関する罪。
以下がその法律だ。

第十九章の二 不正指令電磁的記録に関する罪 (不正指令電磁的記録作成等)
第百六十八条の二 正当な理由がないのに、人の電子計算機における実行の用に供する目的で、次に掲げる電磁的記録その他の記録を作成し、又は提供した者は、三年以下の懲役又は五十万円以下の罰金に処する。
一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
二 前号に掲げるもののほか、同号の不正な指令を記述した電磁的記録その他の記録
2 正当な理由がないのに、前項第一号に掲げる電磁的記録を人の電子計算機における実行の用に供した者も、同項と同様とする。
3 前項の罪の未遂は、罰する。
(不正指令電磁的記録取得等)
第百六十八条の三 正当な理由がないのに、前条第一項の目的で、同項各号に掲げる電磁的記録その他の記録を取得し、又は保管した者は、二年以下の懲役又は三十万円以下の罰金に処する。

この法律は本来、ウィルス、マルウェアの作成、提供、保管を取り締まるために作られたものだ。

さて、この二つの事件では、ウィルス、マルウェアにあたるかどうかが問題になってくる。

Coinhive事件を見てみよう。
Coinhiveは、Webページに埋め込んで、訪問者の演算能力を利用してマイニングを行うことで、設置者が仮想通貨を得られるものである。データを盗んだり、壊したり、PCを使えなくしたりするものではなく、訪問者のPCの計算能力を利用しているだけである。したがって、ウィルス、マルウェアであるとは言えないだろう。

では、無限アラート事件ではどうだったか。
このようなスクリプトが組み込まれたページへのリンクを掲示板に貼り付けただけのようである。

for ( ; ; ) {
window.alert(“メッセージ")
}

このスクリプトの動作は、プログラミングができる人には簡単に分かると思う。アラートが無限に表示されるだけであり、他に影響を与えることはない。データが消えるとか、PCが壊れるとか、そういった害は皆無である。アラートを止めるには、ブラウザを閉じるだけでいい。したがって、こちらもウィルス、マルウェアではないと考える。

しかしながら、どちらもウィルス、マルウェアとは言えないにも関わらず、「不正指令電磁的記録に関する罪」が適用されてしまっている。

処罰の対象として、「人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録」と定められている。

Coinhive事件では、警察・検察は裁判において、「訪問者の同意なし(明示せず)に、訪問者のPCを利用して仮想通貨マイニングを行う行為は、違法性がある」と述べている。「訪問者の同意なし(明示せず)に」マイニングプログラムを動かしているのが問題なら、訪問者の同意を得ずに行われているアクセス解析や広告も問題になるのではないだろうか。Coinhiveの挙動が「意図に反する動作」なのか。そもそも、訪問者はそのウェブサイトがどんな挙動をするかを事前に全て把握してはいないので、ほとんど全てのページが「意図に反する動作をさせる」ページであると言えてしまう。Coinhiveが「不正な指令を与える」ものなのか。何を持って不正な指令とするのか、明確でない。

無限アラート事件では、そもそもリンクを貼り付けただけで、スクリプトのページを動作させたことになるだろうか。リンクは、それをクリックすると、意図した別のページへ移動するのが正しい動作であって、不正な動作ではない。リンクを貼ることによって、リンク先のページでの動作を提供しているわけではない。リンク先のページでの動作を提供しているのは、リンクを貼った人ではなく、リンク先のページを作成した人である。リンク先のページの動作が不正だとしても、そのページへのリンクを貼り付けることも「不正」と言えるのだろうか。

以上を考えると、Webページでスクリプトを動かす前に、そのスクリプトがどのような動作をするのかをあらかじめ知らせて同意を得てから動かすようにしなければならない、リンクを貼る場合はそのリンク先のページの動作についても知らせなければならない、ということになってしまうのではないだろうか。同意を得てから動かすようにするには、やはりスクリプトを使わないと実現できないだろう。一個前のページに動作の内容を記述する方法も考えたが、検索エンジンから直接入ってくる可能性を考えると、使えないだろう。スクリプトを使って同意を得るようにするとしても、同意を得るためのスクリプトの動作についてもあらかじめ知らせる必要があることになるのではないだろうか。そうすると、無限ループになってしまう。

この法律の立法当時、激しい議論が行われた。要件が曖昧すぎる、実害は少ないがユーザを驚かせるような、いわゆるジョークプログラムのようなものはどうするか、という議論もあった。議論の結果、法案自体は修正されずに、「捜査等に当たっては、憲法の保障する表現の自由を踏まえ、ソフトウエアの開発や流通等に対して影響が生じることのないよう、適切な運用に努めること」などを求める附帯決議を付けて制定された。しかし、この付帯決議に反して、Coinhive事件や無限アラート事件のように逮捕、補導、家宅捜索されるという、当初から懸念されていた事が現実のものとなる事態になっている。

現在の法律の問題点は主に以下の通りだと思う。

・「意図に反する」の範囲が明確ではない。Coinhiveでは、警察・検察は「(限定された)実害」に絞らず、広くとっている。
・不正な指令かどうかを判断する明確な基準が曖昧。

基準が明確でないことで、これはセーフか、これはアウトかが技術者にとって判断しづらく、実害がないプログラムであっても「違法」だとされてしまう恐れがあり、技術開発が萎縮してしまわないか。
早急にこの法律の運用を停止し、見直しを実施すべきである。

法律が原因で日本のITの発達が妨げられることにならないことを祈るばかりである。

(参考URL)

電子政府の総合窓口 e-Gov – 法令
https://www.e-gov.go.jp/law/

ITmedia NEWS – Coinhive設置で家宅捜索受けたデザイナー、経緯をブログ公開 「他の人に同じ経験して欲しくない」
https://www.itmedia.co.jp/news/articles/1806/12/news078.html

NHK NEWS WEB – 不正プログラム書き込み疑い補導
https://www3.nhk.or.jp/lnews/kobe/20190304/2020003239.html
https://web.archive.org/web/20190309122153/https://www3.nhk.or.jp/lnews/kobe/20190304/2020003239.html (アーカイブ)

Yahoo! JAPAN ニュース – 「IT業界の萎縮を招きかねない」 “ブラクラURL書き込みで中学生補導”、弁護士に問題点を聞いた
https://headlines.yahoo.co.jp/hl?a=20190305-00000100-it_nlab-sci

Yahoo! JAPAN ニュース – 「無限アラート」で女子中学生を補導、「リンク貼り付け」で摘発をどう考えるか
https://headlines.yahoo.co.jp/hl?a=20190307-00009333-bengocom-soci

高木浩光@自宅の日記 – 不正指令電磁的記録罪(コンピュータウイルス罪)の件、何を達成できたか(前編)
http://takagi-hiromitsu.jp/diary/20110716.html

warbler’s diary – コインハイブは不正指令電磁的記録に該当するか?
http://warbler.hatenablog.com/entry/2019/02/26/141003