サイバー攻撃とマルウェア
名古屋大学 情報基盤センター
情報基盤ネットワーク研究部門
基盤ネットワーク研究グループ
嶋田 創

1

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

2

目的から考えるサイバー攻撃の分類
 以下の4パターンで分類すると事後対応を考えやすい もちろん、例外や攻撃成功後の目的の移行なども考える
金銭目的• バラマキ型ウィルスの利用
 PCなどを乗っ取って悪用する(時間貸し)
無差別 最近だとランサムウェアもな攻撃 • 最近では、ネット接続端末が増えていて防衛が大変金銭目的でない• 技術力の誇示や愉快犯
 昔のコンピュータウィルスやワーム
 コンピュータ制御されている機器を誤動作させる• ハクティビスト(政治的主張などを目的とした攻撃)標的を • 企業や組織を狙った標的型攻撃 機密/個人情報などの窃取
 ウェブサイトへのサービス不能
絞った攻撃
 業務妨害と脅迫の組み合わせ
攻撃(ランサムウェアも)
 ウェブサイト書き換え(主張を
入れ込む)

3

攻撃の例
 無差別なもの RAT(後述)でボットネットを作って利用権を売る
 キーロガーでクレジットカード情報などの決済情報を得る
 ランサムウェアに感染させて脅迫

 標的を絞ったもの
 (D)DoS攻撃(後述)で業務妨害しつつ脅迫
 業務妨害自体が目的のこともある マルウェアを送り込んで機密情報の窃取
 特定の産業システムの破壊を目的とした攻撃
 特に電力などのインフラ系

 金銭取扱システム(POS, ATM)への感染を目的とした攻撃
 利用者のクレジットカード情報の窃取

参考: 金になる情報@ブラックマーケット(2017頃の情報)
 クレジットカード情報: $4-$20
 どこで発行されたかによって価値が違う

 本人認証に使われる情報: $1-$3
 社会保障番号、生年月日、など

 RATソフトウェア: $20-$50
 ウェブサーバ乗っ取り: $100-$200
 DDoS攻撃: $60-$90 / day 感染して乗っ取ったコンピュータ: $120-$200 / 1000台

4

5

主な攻撃者の種類分け
 金銭目的の犯罪を行なうグループもしくは個人 非常に数が多い あまりにも活発な所は外部から名称が付けられることも 有名どころはAPT28(別名 fancy bear, Sednit, など)

 ハクティビスト
 サイバー攻撃で政治的主張をしたい人 Anonymousや某過激派が代表格

 反捕鯨関係がよくDoSをかけていた(OpKillingbay、OpWhales、
OpSeaWolrd、など)

 スクリプトキディ(とその亜種)
 基本的にネットに転がっているツールを使うだけ たいていはツールを使うだけだが、勉強熱心で成長性の高い人も 個人的には、ツールを適切に使いわけて目的を達成できるようになれば
スクリプトキディを卒業していると思う6

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

7

マルウェアとは MALicious softWARE(悪意のあるソフトウェア)の略
 かつてはよくコンピュータウイルスと呼ばれていたが、最近はマルウェアと称すことが多い 「コンピュータウイルス」の時代との違い 愉快犯や技術誇示から犯罪の道具へ おおっぴらに感染/拡散しない
 特定のグループ/ネットワークのコンピュータにのみ感染 そもそも、あまりばらまくと発見される可能性が高くなる おおっぴらに怪しい通信したりしない
 他の通信(最近はHTTP通信/ウェブアプリ)にまぎれて通信したりします おおっぴらに破壊活動をしたりしない
 発見されると証拠隠滅することもあります8

最近のマルウェアの傾向
 年あたりの新種マルウェアの個数は億を超える[1] すでに悪い人の間ではマルウェア作成ツールの利用は広がっている 新規マルウェアを作るコストは下がっている 「検知の可能性がある使い回しより、毎回新規に作った方がいいんじゃね?」と考えていると想像 「動作は前にあるものと同じだが、本体のファイルのハッシュ値が違うから」レベルで別物扱いされている物も含まれているだろうが…

 (1,2日レベルの差で)アンチウイルスソフトウェアによって検知されたりされなかったり
 アンチウイルスソフトウェア会社も献体をあつめるのが大変?
 「怪しい」と思ったら、いくつかのアンチウイルスソフトウェア(無償版など)でスキャンをかけてみるのもあり ちゃんと最新の検知情報定義ファイルに更新してからスキャンすること

 VirusTotalなど検体を集めているサイトもある(機密誤アップ注意)[1] https://japan.zdnet.com/article/35116774/

9

マルウェアの分類(1/3)
複数の機能を持っているマルウェアは珍しくない点に注意 ドロッパ(ダウンローダ)
 より高度なマルウェアを送り込む
 他のファイル形式の脆弱性を利用した実行ファイルのカプセル化

 スパイウェア 金融関係情報や各種サービス用ユーザ名/パスワードの窃取 ファイル送出、キー入力の記録、スクリーンショット取得などの機能

 バックドア作成
 遠隔で司令を受けて動作可能な口をインターネットに向けて開く 他にも悪用に便利なツールセットをまとめて導入も →ルートキット

 ボットネットクライアント
 司令を受けての一斉の外部攻撃などの動作を目的としたマルウェア

10

マルウェアの分類(2/3)
 RAT(Remote Administration Trojan)
 トロイの木馬、バックドア作成、ボットネットクライアントの発展

 ランサムウェア
 ファイルを暗号化した上で、「暗号化解除して欲しければ…」と脅迫
 最近だと、暗号化と平行してファイルを窃取して、窃取したファイルの公開の脅迫も行う
 機微な個人情報を扱う所は公開の方が怖い マイニングマルウェア
 マルウェアをばらまいた者に収益が入る形で仮想通貨を採掘
 ウェブページ側に設置して特定ウェブ閲覧時のみJavaScriptを走らせて採掘する物は、個人的には、悪質さは無いと考える むしろ、悪質なウェブ広告の方がはるかに有害11

マルウェアの分類(3/3)
 フリースウェア(fleece + software) アプリ削除後も課金を続ける悪質なサブスクリプション型アプリ

 スケアウェア(scare + software) 「ウィルスが検出された」とかポップアップを出して金を巻き上げる よくあるパターン: 全く役に立たないソフトウェアを売りつけられる
 最近は、スケアウェア起動後に「遠隔サポート」と称して、遠隔でいろ
いろ(マルウェア埋め込みなど)操作された上で高額請求される事例も

 昔ながらのコンピュータウィルス
 ワーム: ひたすら他PCに感染して増殖(DoSにつながることも) ウイルス: PCに何らかの異常を発生させる(デモ画面を出すなど)

Potentially Unwanted Application(PUA)
明示的な金銭的被害等は生じない(端末のリソースは消費する)が、利用者に益することなはないソフトウェア
 アドウェア
 広告を大量に表示(アクセス)させることで(アフィリエイトなどで)収益につなげる ソフトウェアインストール時に付属ソフトウェアとして入る事例も多い

 必要以上の権限を要求するアプリ
 必要以上に要求した権限で個人の行動を窃取してターゲティング広
告につなげたりすることで収益をあげたりとか (対策の動きとして、)GoogleのChromeウェブストアは「最もアクセスするデータが少ない権限を利用すること」が方針となっている[1] でも、Google自体はFLoCという広告ターゲティングを新たも作ったり…
 Chrome系(Edge含む)のシェア独占化でプライバシー面対応で少し不安[1] https://it.srad.jp/story/19/06/06/0436222/

12

13

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

14

ランサムウェアの動作
 共通鍵は暗号化した状態でしかファイルに残らない
 メモリの上のみに残して実行終了や電源断で消滅

 稀に復号ツールが出ることがある メモリ上の共通鍵を抽出、悪人が秘密鍵を公開した、など
2. 共通鍵を公開鍵で暗号化
1. 共通鍵を生成

3. 暗号化済みの共通鍵を外部に送信(元ファイルは消去)

最近だとファイル
自体も外部に送信

4. メモリ中の共通鍵でファイルを暗号化

攻撃者と
秘密鍵
「お金払えば秘密鍵で戻した
共通鍵を渡すよ」(+「ファイル内容バラするぞ」)

15

兵器化されるランサムウェア
 どうも悪人はランサムウェアを効果的な金銭窃取道具と認識したようで、攻撃が高度化している
 脅迫金額も組織を狙った物相当にアップした上で組織を狙ったり
 感染後に遠隔オペレータにつないで被害者を効果的にゆさぶったり ランサムウェアで狙われる傾向にある組織
 病院: 電子カルテその他の医療機器に患者の命がかかっている 行政: 行政の電子システムが止まると社会も止まる インフラ: インフラ制御システムが止まると社会も止まる セキュリティアップデートをやりにくい組み込みシステムが感染すると大変 病院の電子カルテ系、工場の産業機械、など
 セキュリティアップデートを適用するためのメンテナンス用PCやアップ
デートデータを入れたUSBメモリから感染することが多い16

RAT(Remote Administration Trojan)
 トロイの木馬、バックドア、ボットネットクライアントの発展
 指令を受け取って様々動作を取る
 侵入した端末の周りの偵察や(指示を受けての)感染拡大
 自分自身の更新やおとりマルウェアの導入
 外部への攻撃

 最近は司令通信の隠蔽が進んでいる(TwitterやSlackなどのウェブサービス利用の事例も)
攻撃
感染拡大
更新版
指令

更新版配布サーバ

指令サーバ

17

RATの代表的な機能
 スクリーンショット、音声、Webカメラの画像の取得
 キー入力操作情報の収集
 開いているウィンドウの管理 パスワードの管理 レジストリ、プロセス、サービス、デバイス、インストールされているアプリケーションの管理 ファイル検索、同時に多数のファイル移動の実行
 リモートシェルの実行
 サーバの共有化
 自身の更新、再起動、終了 (ランサムウェア機能?)18

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

19

マルウェアの送り込みパターン(1/2)
 昔ながらのメール
 最近では、メールボックス内メールに返信の形で出すEmotetが話題
 本体に添付することは減ってきてウェブからのダウンロードが中心に
 JavaScriptを実行させてダウンロードと実行 Windows PowerShellを立ち上げてダウンロードと実行 Microsoft Officeのマクロを実行させてダウンロードと実行 標的化: ビジネス等でやりとりのある相手を装ってメールで送り込み

 アプリストアに紛れ込ませる 有名アプリと似た名前や似た提供者名でマルウェアをパックした物をアプリストアに設置
 ニュースで話題になった物に対して、直後に多く発生したりする オンライン会議で話題になったZoom(@2020年)とか20

マルウェアの送り込みパターン(2/2)
 ウェブからのダウンロード
 攻略されたウェブサイトから配布orウェブ広告にまぎれて配布
 特に広告(malvertizing = malware + advertising)は増える傾向にある
 プラグインの脆弱性利用も多い(例: Java) 偽ウェブサイトに誘導して(本来のウェブサイトのアプリを装って)配布
 家庭用ブロードバンドルータの脆弱性を突かれて設定された事例も

 標的化: 水飲み場型攻撃 特定のユーザがよく見るウェブサイトにマルウェアをしかける

 端末に接続したデバイス経由
 USBメモリにマルウェアを入れてAutorunさせるのは古典的な方法
 接続機器用のドライバやファームウェアを狙う物もある 接続ケーブル内に収まるチップ経由で攻撃も起こりうる[1][1] https://jp.techcrunch.com/2019/08/13/2019-08-12-iphone-charging-cable-hack-computer-def-con/

21

マルウェア送り込みのテクニック:
やりとり攻撃 複数回のメールのやりとりの後にマルウェア送付 例: 営業部へのやりとり攻撃 営業の業務フローを利用して送り込む
 営業部から開発部などの機密情報を持ちそうな所へ浸潤 最近だと、無差別型でも領収書とか営業が反応しそうなキーワードが含まれたメールが多い

攻撃者

営業

こんな製品あります?
ありますよ
カタログもらえます?
カタログ 営業は狙いやすいと思われている?

 サプライチェーン(子会社、委託先)経由の攻撃の脅威度が上昇中[1]

発注仕様書送りますのでこれで見積もりを[1] 2018年「セキュリティ10大脅威」 http://www.security-next.com/102106

マルウェア送り込みのテクニック:
水飲み場型攻撃22

 「ある仕事をしている人が頻繁に見る
ページにマルウェアを仕掛ける」ことによる特定業種の業社への標的型攻撃 例: あるソフトウェアの更新ページへの細工 攻撃者がソフトウェア更新ページを乗っ取って悪用 特定IPアドレスから更新が来た場合に違うバイナリを送る攻撃がしかけられていたIPアドレスによる制限

 逆にセキュリティ関係会社には無害なサイトを装ったり 管理が疎かなフリーウェアや公開ライブラリを乗っ取る事例もセキュリティ関係会社

23

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

24

マルウェアの検知
大きく分けて2つの方法があり、組み合わせて使われる
 シグネチャ検知
 特徴的なコードや動作を目印として検知
 誤検知は少ないが、未知攻撃の検知はまず無い ふるまい検知 例: 怪しい動作やコードパターンをいくつか定義し、その観測数がしきい値を越えたら検知 いろいろやり方があり、それらをさらに複合させることも多い 未知攻撃を検知できる可能性はあるが、誤検知も起こす 最近では、検知方法の生成に機械学習や深層学習の応用が多い
 サンドボックスと呼ばれる隔離環境を一時的に作って実施する物も
 RAT系を検知するために組織内におとり端末を設置する物も25

マルウェア識別名の名付け マルウェアの特徴をもとに(マルウェアファミリに)識別 基本的にすぐに亜種が出てくるので、マルウェアファミリとして識別 特徴の例: バイナリ全体のハッシュ値、部分コード列との一致、埋め込みデータとの一致 アンチウィルスソフトウェアごとに名付けが違ったファミリ分け
も違ったり
 例1
 Kaspersky: Trojan-Ransom.Win32.Agent AVG: Trojan.Generic35

 例2
 AVGは、Trojan.Win32.Agent、Trojan.CoinMiner.AKQ、Trojan.Dropper.Generic_r.AFの3種類に分類
 Kasperskyは全部Trojan.Inject2.MDEに分類

26

VirusTotalによるマルウェアの識別 様々なアンチウィルスの検知結果を見ることができる
 送ったファイルは検体として提供したことになる点に注意
 Webサービス系の物はこういう規約は多い(著作権譲渡規約な物も)

 URL(ウェブサーバ)に対しても評価してくれる というか、ちょこちょこ巡回しているらしい

https://www.virustotal.com/

27

マルウェアの隠蔽
 パッキング

暗号化解除
ルーチン

暗号化されたマルウェア本体

 本体を暗号化した上で暗号化解除ルーチンを付与
 暗号化方法や暗号化解除ルーチンを変えて簡易な検知を回避

 本体のダウンロード化
 最初に送り込むのは簡易なドロッパにして検知を回避
 単純にダウンロードさせるだけでなく、複数のサーバを経由させてみたり(Drive-by-Download) 画像データなどの無害なデータに本体を埋め込んだり

 難読化
 わざと無駄な処理を入れたり、コードを超分割したり
 マクロやスクリプト型のマルウェアで多用される

 ダミーマルウェアの同時送り込み

28

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

29

公開サーバのサーバ側への攻撃
 認証の不備を狙うものは多い
 正規の遠隔操作(SSH, リモートデスクトップ, など)への認証ブルート
フォース攻撃 ウェブ認証ページへの認証ブルートフォース攻撃 認証設定のうっかりミス系を狙うものもある うっかりデフォルト設定(初期設定)のID/パスワードやテスト用ID/パス
ワードが動いていた• そもそも、不要なサービスを動かしていた 設定変更時に間違った設定をした上、気づかずそのまま運用→認証の話とかぶる所も多い 大量データの送信により公開サーバを麻痺(DoS) ウェブサーバに対してのインジェクション系攻撃

公開サーバへのアクセス時にクライアント側で成立させる攻撃 ネットワークレベルでの偽サーバへの誘導
 DNS、BGP、偽無線LANアクセスポイント(ネットワークサービスの回の講義資料にも一部説明あり)
 人の目視を騙して別URLへの誘導 クロスサイトスクリプティングによるブラウザ上で悪意のある
JavaScriptの実行
 認証状態やセッション管理のCookie窃取 偽パスワード入力画面のポップアップ
 クロスサイトリクエスト強要によるウェブサービスの設定変更

30

31

サービス不能攻撃(DoS攻撃) Denial of Service攻撃 攻撃元を分散させるとDDoS(Distributed DoS)攻撃 様々なネットワーク階層で実行可能
 SYN Flood(L4) UDP Flood(L4) 最近のニュースでのDoS攻撃は主にこれ HTTP GET flood(L5) 要はウェブページの再読込を多数送る

 Slow HTTP DoS(L7) わざとゆっくり処理を依頼することでウェブサーバのセッション数を使い切る

 基本的に、どこかで依頼を無視したり叩き落としたりするのが対策だが、正規利用者への影響も…

32

UDP Flood(1/2)
 大抵は、以下に説明するリフレクション攻撃を併用
 いくつかのUDPプロトコルにおいて問い合わせ要求に対して応答の方がサイズが大きいことを利用
 要求に対して応答のサイズは数倍～数百倍(DNS/NTP悪用が有名)
 応答の方は多くのデータがあるので、データサイズは「応答>要求」
DNS応答
DNSサーバ

DNSサーバ
DNSサーバ

DNSサーバ

DNSサーバ
DNSサーバ偽IPアドレスからのDNS要求

指令サーバ

33

UDP Flood(2/2)
 防衛の面では、UDPは送信/受信ともに同じポートを使うのがやっかい 「リフレクション攻撃で送りつけられてきた応答」なのか「中から外に出した要求に対する応答」なのか分かりにくい 例: NTPリクエストはNTPサーバのUDP 123ポートへ送信、応答はク
ライアントのUDP 123ポートへ返信 対応1: 外から要求が来ることが考えられないプロトコルは落とす
 対応2: ステートフルファイアウォールを導入して、中から要求が出て行っていないはずの応答は落とす

 最近だと数百Gbps超物とか物理回線で埋まる攻撃も 対応: インターネット上の途中のサブネットでブラックホールルーティ
ングしてもらう 攻撃参加しないようにするのも大事 要求に応答する範囲を制限する

34

認証へのブルートフォース攻撃(1/2)
 brute force: 力づくの、強引な 適当なID/パスワードをひたすら送って認証を突破しようとす
る力づくな方法
 主な対象: ウェブ(認証ページ), リモートデスクトップ, SSH
 対策
 パスワードの強度確保、他との共有の禁止
 接続元IPアドレスの制限
 単位時間あたりの認証回数の制限
 認証失敗回数に応じた短期の無効化(IPアドレス、ID)
 IDを長期間無効化してしまうやり方は、正規の利用者への嫌がらせ(サービス妨害)ができてしまうので悪手35

認証へのブルートフォース攻撃(2/2)
 最近だと攻撃側も認証回数制限を考慮して攻撃してくる
 複数のIPアドレスから分散して攻撃 例: A国のIPアドレスから認証試行n回、その後、B国のIPアドレスから認証試行n回、その後…

 パスワードスプレー攻撃(認証の回の講義資料)で「1つのIDあたりの制限」を緩和 NATでサーバから見えるグローバルIPアドレスが同じになる場合への対応のため、IPアドレスあたりの認証回数制限は緩くせざるを得ない36

偽サーバへの誘導(1/2)
 DNSに偽の名前解決を入れて偽サーバに接続させる
 偽DNSサーバを指定させたり、DNSサーバが上流DNSサーバに問い合わせた時に偽の応答を返したり
 対策としてDNSSECは提案されているが普及が微妙
 HTTPSでDNSを実行して、ブラウザ内部で安全なDNSに接続させる
DNS over HTTPの実装が急速に進んでいる(Firefox, Chromeなど)
 「この名前解決を行った」というプライバシーの範疇の情報を集中して集めることができるので、プライバシーとの兼ね合いが悩ましい

 偽無線LANアクセスポイントを準備して誘導 BGP(Border Gateway Protocol)への偽経路注入
 各サブネットを運営する組織はAutonomous System(AS)番号を与えられる
 AS番号をネットに放流すると、経由ASの番号を追加しつつ流れる 受け取った側からするとASの番号を列挙したものが経路となる

37

偽サーバへの誘導(2/2)
 HTMLでリンク先と表示文字を替える <a href="http://www.example.com/">http://www.example.jp/"</a>と書いて、「http://www.example.jp/」に飛ぶと見せかける

 偽URLの利用 正規ドメインに似た文字をどこかのサブドメインとして設定(例:www.nagoya-u.ac.jp.example.com)
 多言語環境を利用して、英字アルファベットに似た文字を悪用 PunycodeでURLのFQDN部のエンコーディングができる 例: ギリシア文字を使ってwww.nagoya-μ.ac.jp(μ: ミュー)

 参考: メールの宛先のタイプミスを狙ったドメインで重要メールを待ち構える事例も(例: gmali.com)
 ドッペルゲンガードメインと呼ばれることも38

クロスサイトスクリプティング(1/3)
 主にユーザのブラウザ側で動くJavaScript言語で悪意のあるプログラムを実行するのに用いられる
 あるウェブサイト上で、そのウェブサイト製作者が意図してないスクリ
プト(プログラム)が実行できる 検証時は「<script>alart(1);</script>」という形で警告ポップアップ
ウィンドウを作るJavaScriptを動かすのが一般的

 実行されたJavaScriptでできること
 外部へデータ送信(セッションや認証状態をCookieとか)
 正規の入力欄におおいかぶさる形での偽入力欄作成 →情報窃取

 略称はXSS 英語ではCrossをX(棒がクロスしている文字)で略することはよくある ウェブ関係でCSSだとCascading Style Sheetが先にあったので

39

クロスサイトスクリプティング(2/3)
 よくあるパターン: フォーム等への入力結果が表示される
ウェブサイトで、特定の入力をするとXSS成立
 会員登録などで「個人情報入力」→「確認用入力結果表示」とか

 基本的に、「入力の一部でタグを途中で終了させ、その後にスクリプトを挿入」の形 (HTMLの構文については4/26講義資料)
 例: http://..../hoge.cgi?initdata=hogeと入力すると<input
initdata="hoge">となるHTMLを動的生成におけるJavaScript挿入
 入力例:
http://..../hoge.cgi?initdata="><script>alart(1);</script>"<input
initdata="
 出力例: <input initdata=""><script>alart(1);</script>"<input
initdata=""> 対策: 入力データをエスケープで無害化
 < → &lt; > →&gt; " → &quot; ' → $#39; & → &amp;

40

クロスサイトスクリプティング(3/3)
 大多数の物は、外部サイトに設置した(ある程度規模の大きい)JavaScriptを読み込んで実行する
 クロスサイトスクリプティングフィルタもあることはあるが…
 明らかな有害なスクリプトをブロックするが、誤検出することもある
 FirefoxではNoScript Security Suiteアドオンとか クロスサイトスクリプティング系の応用はけっこう多い 例: Cross Site Request Forgery、SQLインジェクション、強制ブラウ
ズ、書式文字列攻撃、リモートファイルインクルード、LDAPインジェク
ション、セッション固定攻撃、オープンリダイレクタ、ディレクトリトラ
バーサル、OSコマンドインジェクション、Xpathインジェクション、メモリ
初期化ミスを利用したメモリリーク、HTTPヘッダインジェクション
 基本的に、「本来は実行対象として解釈されないはずのものが、実装ミスなどによって解釈されてしまう」ことに起因する

Cross Site Request Forgery(CSRF:
クロスサイトリクエスト強要)
 XSSと似たようなものだが、「外部のウェブサイトにリクエストを送る」という点がポイント
 リクエストの例: ウェブ掲示板の書き込み、ウェブサービスの設定変
更、など

 書き込みページなどを介さずにHTTP POSTやURLクエリでリクエストを受け付けるウェブページ設計だと起こる
 パソコン遠隔操作事件で、被害者PCからウェブ掲示板に犯行予告書き込みを強制させることにも使われた[1, 2]
 対策: ちゃんとセッション管理して書き込みページや設定変更ページを経由しないリクエストは受け付けないようにする[1] https://ja.wikipedia.org/wiki/%E3%83%91%E3%82%BD%E3%82%B3%E3%83%
B3%E9%81%A0%E9%9A%94%E6%93%8D%E4%BD%9C%E4%BA%8B%E4%BB%B6[2] https://piyolog.hatenadiary.jp/entry/20121008/1349660951

41ディレクトリトラバーサルによるファイル
読み出し 本来は見れない範囲にあるデータを見られてしまう 多くのシステムでは".."は1つ上のディレクトリに移動を示す→入力にあったとしても処理しないようにシステムを組む
 が、何らかのミスで許してしまう脆弱性がありうる
 単純な設計ミス
 別の脆弱性から想定外のコードを実行される

 本来は見れないパスワードやデータの閲覧が可能に /var/www/htmlが外部公開の最上位のはずが、それより上のディレク
トリも読まれる 使っているソフトウェアが汎用の物ならば、パスワードを保存したファ
イルの位置はだいたい想像できる 対策: 正しく".."の無害化(除去)処理を入れる

42

43

OSコマンドインジェクション
 ウェブサーバ側でURLクエリを処理するアプリケーションの設計ミスなどでウェブサーバ側でOSのコマンドを実行
 WindowsサーバでもPowerShell経由で実行

 アプリケーション実装の中でOSコマンドを呼び出している所にインジェクションする事例が多い
 正規の処理の後に悪意のある動作を追加、など

 マルウェアをダウンロードして実行するコマンドのインジェク
ションが多い テンポラリファイル置き場(どのプログラムも書き込み権限がある場
所)にダウンロードして実行させる

 対策:
 XSSと同じくエスケープによる無害化
 OSコマンド呼び出しを行わない実装を考える44

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

45

その他のサイバー攻撃など
 標的型攻撃(目的達成までしつこく行われる攻撃)
 USB接続を利用した攻撃 一般的なマルウェアの送り込み
 OSを介さないファームウェアレベルの攻撃
 電気的な破壊 サイドチャネル攻撃 機械学習/深層学習応用システムへの攻撃

46

一般的な標的型攻撃とその進行 英語ではAdvanced Persistent Threat(高度で執拗な脅威)
 失敗しても何度も攻撃を試みる
 複雑な組織内部の計算機システムに対しても浸潤するように攻撃 代表的な標的型攻撃の進行 長いものだと攻撃に数ヶ月かけることもある
1. 組織内部潜入
2. 内部での拡散
3. 外部との通信基盤構築
4. 機密情報窃取
5. 情報送出

3.

5.

4.
1,

2.

47

標的型攻撃の代表例(1/2)
三菱重工への標的型攻撃[1] 企業に対して大規模な標的型攻撃のリスクについて認識させた事例
 2011/8にサーバが再起動を繰り返す原因追求中に発覚
 感染台数: サーバ 45台、従業員用PC 38台
 8種類のマルウェアを11の事業所から発見

 発端: 「原発のリスク整理」と名付けられた添付ファイルに見せかけたマルウェア
 Adobe Flashの脆弱性を利用するマルウェア
 東日本大震災(2011/3)の直後かつ送信元は内閣府実在の人物の名
前、メールアドレスを騙る→三菱重工は原発を作っている(いた)ので、受け取った人は疑いにくい[1] https://piyolog.hatenadiary.jp/entry/20110919/1316393705

48

標的型攻撃の代表例(2/2)
日本年金機構への標的型攻撃[1, 2]
 大々的にニュースになって、一般的な人にも標的型攻撃について知らしめた事例
 2015/5/23にシステム管理会社が不審な通信を報告して発覚 発端: マルウェア送り込みURL付きメールのURLクリック
 2015/5/8に最初の1名、数日おいて他にもう1名が
 RAT型マルウェア(Emdivi)を送り込まれ、内部感染拡大が進行
 当時にアンチウイルスソフトウェアの検知をすり抜けた 最終的に31台のPCに感染
 感染PC経由で共有ファイルサーバから情報窃取された[1] https://www.mhlw.go.jp/stf/shingi2/0000095311.html[2] https://piyolog.hatenadiary.jp/entry/20150601/1433166675

個人的に勉強になると思う標的型攻撃(高度で執拗な脅威)の報告書
 産総研の情報システムに対する攻撃[1] 研究所だけあって、50ページにも渡る詳細な報告書
 よくぞここまで細かく公表してくれましたと感謝しかない 弱いパスワードを設定したIDを外部公開システムで確認される
 内部システムにつながるサーバの攻略後、上記のIDを悪用される

 海外拠点経由で侵入された三菱電機の事例[2, 3]
 アンチウイルスソフトウェアのアップデート配信サーバの脆弱性を突いてマルウェア配布で感染拡大
 アップデートハイジャックの亜種

 PowerShellで組んだファイルレス型マルウェアを利用[1] https://www.aist.go.jp/pdf/aist_j/topics/to2018/to20180720/20180720aist.pdf[2] https://piyolog.hatenadiary.jp/entry/2020/01/20/172436[3] https://www.mitsubishielectric.co.jp/news/2020/0212-b.pdf

49

50

標的型攻撃とランサムウェア
 最近では、標的型攻撃にランサムウェアを複合してくるのが当たり前となってきている 理由(嶋田の個人的な主観) 純粋な情報の窃取を目的とした標的型攻撃よりも、攻撃対象になる組織(お金につなげることができる攻撃対象)が大幅に増える
 データの暗号化と窃取したデータの公開を合わせることで、身代金の支払いの確率があがることで、悪い人が味をしめた
 ランサムウェアの項目でも説明したように、機微な個人情報を扱う所

 標的型攻撃と同様に浸潤してからデータ暗号化などを行う
 バックアップデータまでやられる事例が多い
 オフラインのバックアップデータからの回復時も、ちゃんとランサムウェアが除去できてから実施するよう注意が必要

USBを利用した(物理的な)(セキュリティ)攻撃(1/2)
USBは色々とplug and playができて便利だが、本当にそのUSBデバイスつなげて大丈夫?
 そのUSBメモリの中にマルウェア入っていない?
 (偽)ギフトにマルウェア入りUSBメモリが含まれていた事例[1] そのUSB接続で充電するデバイスは大丈夫?
 電子タバコにマルウェアを送り込むファームウェアが入っていた事例[2]

 正体不明のUSBメモリが置いてあったので、持ち主を探そうとして中身を見るためにPCに接続して大丈夫?
 放置USBメモリの半数以上がPCに接続されたという社会実験[3][1] https://piyolog.hatenadiary.jp/entry/2020/03/30/052613[2] https://the01.jp/p0005410/[3] https://internet.watch.impress.co.jp/docs/column/security/755865.html

51

USBを利用した(物理的な)(セキュリティ)攻撃(2/2)
 もっと怖いUSB経由攻撃デバイス
 Killer USB: 内部にコンデンサと昇圧回路を持ち、過電圧によりPCを破壊 Bad USB: USBの認証用ファームウェアレベルで攻撃をしかける(OSまで処理が行く前に攻撃)

 USBと同じく汎用インタフェースのThunderboltにも脆弱性はあったりする[1] 逆に「そこに存在するUSBの口につないで大丈夫?」というのもある
 個人的に、最近増えている公共のUSB充電口はまず使わない
 どうしても使うなら、一旦、モバイルバッテリに充電した上で使う?
[1] https://pc.watch.impress.co.jp/docs/news/1251766.html

52

53

サイドチャネル攻撃
 チップに焼き込まれた暗号鍵などはすぐに変更できないので盗めると特に嬉しい→手間暇をかけた攻撃でも攻撃者にはメリットあり
 暗号処理等によって他の部分に出る影響を調査して暗号鍵等を推測する手間暇かけた攻撃がよく行われる 基本的に、非常に多くの試行と結果の統計処理が必要
 完全な暗号鍵を推測できなくても、鍵空間を狭めることができれば…
 例: 応答時間解析、電磁波解析、電力差分解析

54

応答時間解析
 暗号鍵の数値によって演算時間が変わることがある

2進数乗算の桁処理飛ばし
0110
0110
x 0101x 0111
 これを暗号鍵の推測に用いる
0110
0110
 計算が早ければ0の桁の多い暗号鍵では?
01100001100
011110011000 比較用に作成したの暗号鍵の演算時間と101010比較 例: 乗算において、0の桁があればその桁の処理は飛ばせる 対策: 演算が簡単になる暗号鍵でも同じ演算時間になるように回路/プログラ
ムを構成
 例: 0の桁があってもちゃんとその桁の加算
処理を行う

55

電磁波解析
 チップ上で演算処理を行うと電磁波が発生します 電流が流れると電界/磁界が発生します チップ上の複数の配線上に”0000”なデータと”1111”なデー
タが流れると差は出るか?
→電界/磁界が合成され、電磁波の強度の差として出る
 これを統計的に解析

 対策: 0/1を反転させた(負論理)のデータを同時に流す、など
信号線の束

信号線の束

磁界発生
0010

強い磁界発生1111

56

その他のサイドチャネル系の攻撃(1/2)
プロセッサ(CPU)の投機実行を利用した攻撃 投機実行: 近年のプロセッサで多用される「前の処理結果が出る前に次の処理を始める」高速化手法
 「前の処理結果で次の処理が変化」した場合、進めていた次の処理を破棄→「進めていた次の処理」の破棄がうまくいっていないことが…
 特に「先行して読み込んでおいたデータ」まわり

 2018/1に発表されたSpectreが有名
 その後、MeltdownとかSpectre V2, V3, V4とかZombieLoad(2019/5)
とかいろいろ見つけられて現在ホットな分野

57

その他のサイドチャネル系の攻撃(2/2)
物理手段で入力されたパスワードを推測 (肩越しに)パスワードや暗証番号を入力される所を目視 ATMにバックミラーがついたりして一般人にも広く認識されているはず タッチパネルを触った後を赤外線カメラで記録
 キーボードの打鍵音から推測 音は遠隔からでも取りやすい(音で振動する物を計測とか)からやっかい?

 スマホのタッチパネルのタッチ音(物理的な)で推測[1] スマホ筐体内の電子部品の配置から物理的なタッチ音が微妙に変化 同じスマホのタッチ音をConvolutional Neural Networkで学習して判
別[1] https://www.shizuoka.ac.jp/news/detail.html?CN=6370

機械学習/深層学習応用システムへの攻撃

58

機械学習/深層学習応用システム(いわゆるAI)への攻撃も 回避攻撃: 入力にノイズを加えて誤判定を起こさせる
 中毒攻撃: 誤判定を誘発するデータ(攻撃データ)を学習デー
タに紛れ込ませる
 移転攻撃: 入力に対する出力の統計などをもとに識別器の内部パラメータや学習データの抽出(モデル抽出攻撃とも)
ノイズ追加. ... . ...
. ... . ...

攻撃データ

識別器

学習

猫だ

回避攻撃

中毒攻撃

識別器

識別器

猫だ

犬だ/猫だ/...

移転攻撃

学習

複製した
識別器
犬だ

59

概要
 目的から考えるサイバー攻撃の分類
 標的型/無差別型、金銭目的型か否か マルウェアを利用した攻撃 様々なマルウェア
 特に近年話題となるマルウェア
 マルウェアの送り込みパターン マルウェアの検知

 公開サーバ(ウェブサーバ)に対する攻撃
 サービス不能(DoS: Denial of Service)攻撃 不正リクエスト送付攻撃

 その他のサイバー攻撃
 サイバー攻撃およびマルウェア感染対策

60

基本的な事前対策
 OSやアプリケーションはちゃんとアップデートする アンチウィルスソフトウェアは利用する(検知パターンはちゃんと更新) データの定期的なバックアップ
 ランサムウェアにやられた時や怪しい時のクリーンインストールなど

 怪しいURLへのアクセスやファイルの実行を避ける と言いたい所だが、攻撃者の文面の工夫は日々向上しているので(最近だとAI応用も)、完全に0にすることは難しい それでも、継続的な訓練メールでアクセス/実行の確率の低下は可能 重要情報にアクセスできる人/PC/ネットワークの適切な制限
 DoSはクライアント単独で根本的な対策は少ない
 最近は帯域を使い切る攻撃が多く、サーバ側で接続制御をしても…
 究極的には、上流ネットワークで対策してもらうことになる61

基本的な事後対策
 被害拡大の防止
 組織内部および組織外部の双方に対して

 証拠保全
 時間経過や電源断で記録が消える装置からは早期に証拠を保全
 電源断処理検知で証拠隠滅がありそうな場合は電源ケーブルを抜く
 メモリ上のみにしか本体が存在しないファイルレスマルウェアは電源
をつけっぱなしにする→名大のセキュリティガイドラインも「情報セキュリティ室の指示に従う」

 証拠をベースとした追跡 盗み出された物の同定
 実施された処理の同定
 組織内部などの拡散状況の同定
 侵入経路の同定(同一の経路を利用した他のPCなどは無いか?)