🐌

マルウェアは飼えるのか?

2022/01/04に公開

本当はエスカルゴが飼いたかった

突然カタツムリが食べたくなったので年末年始に冷凍エスカルゴを買ってきて焼いて食べた。美味しかったし、そういえば生きてるときは静かで臭いも少ないしかわいいので飼育したら人生が豊かになるんじゃないかと思ったんだ。

でも食用エスカルゴのうち、ブルゴーニュ種はフランスの保護指定動物でまったく輸入されていないらしいし、アシァティーヌ種(通称アフリカマイマイ)はヤベェ病原虫の宿主となる上に生態系も壊すヤベェカタツムリだから生体の輸入が禁止されている。残る希望はプティ・グリ種で、購入できるサイトは見つけたのだが、輸入していいものかどうか怪しい。一応、特定外来生物には該当しないっぽいのでフローチャート的に飼う道は残されているから、あとで電話で聞いてみよう。

でも飼えなかったら悲しい。本当はゴールデンレトリーバーが飼いたいんだけど大型犬がダメな物件だし、そもそも哺乳類や鳥類は長期外出できなくなるからダメ、爬虫類は父が嫌がるし、両生類や魚類は地震で水こぼれたときに周囲の書類や電子機器を破壊するのでダメ。昆虫とか節足動物は私が無理だ。うーーーーん……レンサバ余ってるし、ハニーポット作ってマルウェアでも飼ってみる?

マルウェアは合法的に飼えるのか?

マルウェア、いわゆるコンピュータウィルスは法的には「不正指令電磁的記録」と呼ばれ、その作成や保管は刑法第百六十八条で禁止されています。「持ってるよ」って公言したらおうちに警察が来てパソコンを持っていかれ、事実が確認されれば捕まります。

でもまぁ、ある程度は法の抜け穴がないと困るのが我々エンジニアであります。エンジニアは攻撃者からサーバーを守る義務がありますし、そのためには攻撃者がどうやって侵入してくるかを予防的に知っておく必要があります。特にセキュリティエンジニアやサイバーセキュリティの研究者は実際にマルウェアを作ったり、それを使ってペネトレーションテストするかもしれません。いまのところ、こういった行為を行うために国に届出を出す制度はないので、裏を返せば、誰でも無許可でできますし誰でも難癖つけてしょっぴかれうるというグレーゾーンな状況にあります。

でも飼ってみたいですよね、マルウェア。いつも設定してる SSH をユーザー名「admin」、パスワード「root」のまま放置したらいったいどうなってしまうのか気になりません?私が攻撃者であれば

  • 侵入した事実の隠蔽
  • 侵入したコンピュータの基本的な構成の確認
  • 侵入したネットワークの構成の確認
  • 管理者権限への昇格
  • ルートキットやワームなどのマルウェアのインストール
  • バックドアの確保

といった行為は最初に済ませておきたいです。でも攻撃者はどうやってそれをやるのでしょうか。知らないと防げないですねー。あー、これはハニーポット作って常套手段ってやつを確認しておかないと。でもハニーポットの中にマルウェアが存在する状態って下手したら「不正指令電磁的記録の所持」みたいな罪でしょっぴかれるように思えるのですが、それって合法なんでしょうか……?

警視庁のホームページ

「不正指令電磁的記録」で検索すると警視庁のホームページがトップに出てきます。「ここに書いてあることやったらしょっぴくぞ」というわかりやすい意思表示と思って目を通していきます。まぁ基本、攻撃者が勝手に入れてきたマルウェアをそのままにしたからといって捕まることはないでしょう。それがまかり通るなら被害者が捕まることになりますからね。

まずはウイルスの定義ですね。

この法律では、以下の電磁的記録、その他の記録を処罰の対象としています。
・人が電子計算機を使用するに際してその意図に沿うべき動作をさせず、又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
・上記に掲げるもののほか、上記の不正な指令を記述した電磁的記録その他の記録

コンピュータは人間の知らないところで常に無数の処理をしているのでこれについて考えてもなぁという気がします。事実、アラートループ事件とかCoinhive事件[1]がしょっぴかれて「記事の『次へ』を押すと広告が表示されるコントロール」がしょっぴかれない理由がまったくわからないので、この辺は「警察がダメって言ったらダメ」みたいな部分がある気がします。法治国家とは?って感じですが、ハニーポットに入ってくるようなマルウェアは確実にこの「不正指令電磁的記録」に該当するものと思って話を進めます。次。

ウイルス作成・提供罪とは
正当な理由がないのに、その使用者の意図とは無関係に勝手に実行されるようにする目的で、コンピュータ・ウイルスやコンピュータ・ウイルスのプログラム(ソースコード)を作成、提供する行為をいいます。
3年以下の懲役又は50万円以下の罰金が課せられます。

ハニーポットに入ってくるマルウェアは第三者が作成したものですから、こちらがハニーポットに入ってきたマルウェアを回収して誰かに提供でもしない限りはこの罪には問われないでしょう。つまり個人でやる分には問題なしです。次。

ウイルス供用罪とは
正当な理由がないのに、コンピュータ・ウイルスを、その使用者の意図とは無関係に勝手に実行される状態にした場合や、その状態にしようとした行為をいいます。
3年以下の懲役又は50万円以下の罰金が課せられます。

つまりハニーポットはアウトですね。……えっ?アウト?

「コンピュータ・ウイルスを」

はい。そのときが来れば入ってくるのはコンピュータ・ウイルスでしょう。

「その使用者の意図とは無関係に勝手に実行される状態にした場合、その状態にしようとした行為」

これはちょっと引っかかります。「その」とは「コンピュータ・ウイルスが実行されるコンピュータ」と「コンピュータ・ウイルス」のどちらを指すのでしょう?

ウイルス作成・提供罪にも「その使用者の意図とは無関係に勝手に実行されるようにする目的で」とあり、こちらはあきらかに「コンピュータ・ウイルスが実行されるコンピュータ」を指しています。これと同義に解釈するならば、ハニーポットの設置はグレーです。なぜならば、もともとマルウェアの誘引が目的なのでコンピュータ・ウイルスが実行可能な状態になることはこちらの意図通りですが、攻撃者がこちらの意図通りの攻撃をしてくるとは限らないので「こちらの意図とは無関係に勝手に実行される状態にした」と考えられなくもないからです。

一方で「コンピュータ・ウイルス」を指しているならば、ハニーポット内のコンピュータ・ウイルスが実行されるのは使用者(つまり攻撃者)の思惑通りです。実行権限の付与や定期実行の設定をするのも攻撃者だから OK です。でもそれを私が回収して実行権限を付与したままにしたらアウトです。Read Only ならいいの?そんなことある?回収しないほうが無難ですね。入ってきたら放置。見て見ぬフリ。

また、見方を変えれば攻撃者はハニーポット内に誘引されることは意図していないので、ハニーポット内に誘い込むことは「その使用者の意図とは無関係に勝手に実行される状態にした場合や、その状態にしようとした行為」に該当しなくもない気がします。でも攻撃者が「本当のシステムに侵入しようとしたのにハニーポット用意してやがったんだよ!」というきっかけで捜査が始まることはないと思うので気にすることはないですね。次。

ウイルスの取得・保管罪とは
正当な理由がないのに、その使用者の意図とは無関係に勝手に実行されるようにする目的で、コンピュータ・ウイルスやコンピュータ・ウイルスのソースコードを取得、保管する行為をいいます。
2年以下の懲役又は30万円以下の罰金が課せられます。

これもコンピュータ・ウイルスが取得、保管されることは攻撃者が勝手にやっている上に攻撃者の思惑通りなので問題ない気がします。ただそれを私が試しに実行してみたりする目的で回収したら攻撃者の意図とは無関係に取得、保管を行ったことになるのでアウトです。次。

ウイルスに感染してしまったら
・被害の拡大を防止するため、ネットワークから切り離す
(以下略)

「やらないと罰せられる」とは書いてないので感染したコンピュータをそのまま放置しても問題ないでしょう。

以上、総括すると「ハニーポットを設置してコンピュータ・ウイルスを発見しても見て見ぬフリ」はかなり白めのグレーですね。金魚鉢に入れて眺める分には OK と。でもそれを回収(記録媒体にコピー)したらアウトで、回収したことを公言したら間違いなく警察が飛んでくるでしょう。

また、ハニーポットに感染したウイルスが他所様に迷惑をかけたら「知らなかった」じゃ済まされないと思われます。まず実行犯か踏み台かを確認するために確実に家宅捜索はされますし、これは警察の捜査能力の問題でもありますがパソコン遠隔操作事件では踏み台に使われたコンピュータを所持していた人たちが一時的とはいえ冤罪で逮捕されました。ましてハニーポットの設営はわざわざ踏み台に使える環境を攻撃者に提供していると受け取られかねないので、何らかの罪に問われてもおかしくないです。仮に刑事訴訟は免れたとしても、どこかの企業に損害を与えたら民事訴訟で損害賠償の請求がこちらに来るかもしれません。

ハニーポットを作るなら out going の通信を制限するなどして他所様に迷惑をかけない対策を取っておかないとダメということですね。

刑法第百六十八条

警視庁のホームページに書いてあることは、この刑法第百六十八条の二、及び三をわかりやすくしたもの、というかほぼそのまんまです。

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

(不正指令電磁的記録取得等)
第百六十八条の三
 正当な理由がないのに、前条第一項の目的で、同項各号に掲げる電磁的記録その他の記録を取得し、又は保管した者は、二年以下の懲役又は三十万円以下の罰金に処する。

違いがあるとすれば先ほど解釈が割れた「その使用者の意図とは無関係に勝手に実行される状態にした場合」という記述がないことです。おそらくこれは「人の電子計算機における実行の用に供する」という記述を簡略化したものでしょう。川井総合法律事務所の解説によると

また、「実行の用に供する」とは、わかりやすく言えば、コンピュータ・ウイルスを、パソコン等の使用者にとってそうしたウイルスであることを知らないにもかかわらず、その使用者のパソコン等でウイルスが実行できる状態に置くことを意味します。

とのことですから、ハニーポットの設置は該当しなさそうです。

他に、ここまでの考察でいくつか言及していなかった文言があるのでここで考察しておきます。

正当な理由がないのに

正当な理由があればやってもいいんかい、ということですが、警察はまず「正当な理由」を認めないので個人でやるときは「正当な理由」などないものと思ってやるしかないと思います(今回はそれでもハニーポットの設営はかなり白っぽそうなので運がよかったです)。

ここでいう「正当な理由」とは川井総合法律事務所の解説によると

・ウイルス対策ソフトの開発などの正当な目的でウイルスを作成した場合
・ウイルスを発見した人がウイルスを研究機関に提供した場合
・プログラマーがバグを生じさせた場合

などを指すそうです。防御目的でのマルウェア解析とかだったらやっていいということになるはずですが、警察は「護身用ということは人を傷つける目的があったということだ」という超理論で護身用具に軽犯罪法を適用する連中なので私は信じないです。

免罪符があるとすれば令和二年四月一日から施行されたサイバーセキュリティ基本法の第九条です。

(国民の努力)
第九条
 国民は、基本理念にのっとり、サイバーセキュリティの重要性に関する関心と理解を深め、サイバーセキュリティの確保に必要な注意を払うよう努めるものとする。

「サイバーセキュリティの確保に必要な注意」です!!と言い張れば見逃してくれるんでしょうか。日本の警察が?

人の電子計算機

嫌な書き方です。口語的には「自分が所有していない他人のコンピュータ」を指すような気がしますが、すぐ上にある刑法第百六十七条は

(私印偽造及び不正使用等)
第百六十七条
 行使の目的で、他人の印章又は署名を偽造した者は(以下略)

となっていて「他人の」と明記しています。それをわざわざ「人の」と書いたということはおそらく「自分か第三者か、個人か法人かなどは関係なく、誰かが所有しているコンピュータ」という意味です。「人が電子計算機を使用するに際して」の「人」も同義でしょう。つまり自分や会社のパソコンでやっても該当する可能性があるのかもしれません。

じゃあ誰からも完全に所有を放棄され打ち捨てられた野良のコンピュータならいいんかい、ということですが、多分いいのかもしれません。廃棄物処理法には引っかかるかもしれませんが案外抜け穴だったりするのかも。

取得し、又は保管した者

「所持」と何が違うんじゃ、っていう。おそらく「取得」はウイルスだと知った上で明確にそれを自分で所有する意図でダウンロードすることを指します。ダウンロードしたファイルにたまたまウイルスが混じっていた場合は問題ないでしょう。「保管」というのもおそらく明確な保存の意思を持って管理することですね。「たまたまもらったファイルにウイルスが混じっていて、存在も知らなかったし実行したりはしてないけどずっとそのままになっていた」は「保管」に当たらないはずです。また、解析が終了したマルウェアは定期的に破棄するような運用をしていれば「保管」には該当しないでしょう。出るとこ出たら警察や裁判官がどう判断するかはよくわかんないですけどね。

ちなみに「所持」は簡単に言えば「自分のものとして扱える状態」であり、それよりも条件が緩い「単純所持」は所有物にたまたま紛れ込んでいても該当するようです。コンピュータ・ウイルスは「所持」自体は罪にならない(単純所持している人は被害者、所持しているのはエンジニアや研究者が多いから)ので持ってちゃいけないものとしては比較的軽めの扱いです[2]。条文や罪状からしてマルウェアは「包丁以上、日本刀未満」くらいの軽度の危険物扱いっぽい印象を受けますね。

その他

その他の懸念事項とか参考資料です。

不正アクセス行為対策等の実態調査

警察庁生活安全局情報技術犯罪対策課が公開している『不正アクセス行為対策等の実態調査 アクセス制御機能に関する技術の研究開発の状況等に関する調査 調査報告書』の中には「不正侵入対策」としてハニーポットの記述が存在するので、ハニーポットの運用は警察庁からセキュリティ対策として認知されていることが伺えます。

通信の秘密

日本国憲法第二十一条の二では

② 検閲は、これをしてはならない。通信の秘密は、これを侵してはならない。

とあり、簡単に言えば警察が犯罪捜査する場合などを除き、他者の通信の内容を盗み見てはいけないことになっています。これは攻撃者とハニーポットとの不正な通信にも適用されるのではないか、という話です。昔の話ですが、米国では問題提起されたことがあるようです。

日本ではどうなのか知らないですが、ログを取るくらいはみんなやってますし、公開しなければ問題ないのではないでしょうか。『サイバーセキュリティと通信の秘密に関する提言:自律システム管理責任の明確化と対象を特定した通信ログの利活用を』という文書があったので暇なときに読んでみようと思います。

攻撃手法の公開は捕まる可能性が高い

どんな理由があろうと、不特定多数の人が再現できる形で攻撃手法を公開すると日本では捕まる可能性が高いようです。『CSS2018 企画セッション「サイバーセキュリティ研究のグレーゾーン」の報告』では啓発のためであろうと攻撃手法を公開や実演(セミナーでの公演なども含む)をした人は逮捕されています。

未知の脆弱性を見つけた場合

未知のマルウェアや脆弱性を発見してしまった場合、IPA(情報処理推進機構)の脆弱性関連情報の届出受付に届け出ます。IPAに報告せずに個人のブログや記事で公開したりすると捕まります。

まとめ

グレーな部分もあるが、マルウェアはおそらく合法的に飼える。

  • セキュリティ技術の向上に役立てる(正当な目的)
  • マルウェアをみだりに回収せず、挙動の監視や分析にとどめる(提供や保管をしない)
  • 他所様に迷惑をかけないように踏み台としては使えないよう対策する(刑事民事訴訟対策)

といった点に留意しながらハニーポットの中に入ってくるマルウェアをかわいがるのは OK ということだ。今度暇なときにハニーポットを作ってみよう。

脚注
  1. Coinhive事件は2022年1月20日に最高裁で無罪判決が確定しました。原判決について、「不正指令電磁的記録の解釈を誤り、その該当性を判断する際に考慮すべき事情を適切に考慮しなかったため、重大な事実誤認をしたものというべきであり、これらが判決に影響を及ぼすことは明らか」として、「破棄しなければ著しく正義に反する」とブチキレています。最高裁愛してる。 ↩︎

  2. 児童ポルノは単純所持が禁止されています。では「児童ポルノ画像をダウンロードしてデスクトップの背景に設定して変更不可能にする機能を付加したマルウェア」を作ったら、やられた側が「児童ポルノ画像の単純所持」に該当して犯罪になるから警察に通報することが不可能になるのでは? ↩︎

Discussion