The Decisive Strike

Pulvis et umbra sumus.

CISA 緊急指令19-01: DNSインフラ改竄の軽減 (私訳)

この記事は、米国 Department of Homeland Security の Cybersecurity and Infrastructure Security Agency によって投稿された Emergency Directive 19-01: Mitigate DNS Infrastructure Tampering の私訳である。正確性は保証しない。


このページは、国土安全保障省 Cybersecurity and Infrastructure Security Agency の緊急指令 19-01 『DNSインフラ改竄の軽減』の電脳網版である。また、長官によるブログポストも参考にされたい。

44 U.S.C. 3553 (h) 項によって、国土安全保障省は、ある政府機関の情報セキュリティに対して明確な脅威を呈する、既知のあるいは十分に疑わしい情報セキュリティ上の脅威、脆弱性、または事件が発生した際、「ある政府機関の長官に対して、運用者にかかわらず当該機関の情報を収集し、処理し、保存し、転送し、発信し、あるいは維持する情報システムを、情報セキュリティ上の脅威から保護しあるいはそれを減ずることを目的として、法の許す範囲で行動を取ることを要請する緊急指令を発する」ことが許されている。 44 U.S.C. § 3553(h)(1)–(2).

改正 2002 年国土安全保護法 2205(3) 項は、この権限を Cybersecurity and Infrastructure Security Agency 長官に対して委任している。 6 U.S.C. § 655(3).

連邦政府機関はこれらの緊急指令にしたがわねばならない。 44 U.S.C. § 3554 (a)(1)(B)(v).

これらの指令は、法定の「国家セキュリティシステム」および防衛省またはインテリジェンス・コミュニティによって運用されるシステムに対しては適用されない。 44 U.S.C. § 3553(d), (e)(2), (e)(3), (h)(1)(B).

背景

政府及び民間のパートナーと共に、 Department of Homeland Security (DHS) Cybersecurity and Infrastructure Security Agency (CISA) は、Domain Name Service (DNS) インフラストラクチャの改竄に関する一連の事件 *1 に対応しています。CISA は、この改竄活動が複数の行政機関に影響を及ぼしていることを確認しており、それらを管轄する政府機関にすでに注意を送っています。

以下のテクニックを利用して、攻撃者は、ウェブ及びメールのトラフィックをリダイレクトあるいはインターセプトしており、他のネットワークサービスに対しても同じことをする可能性があります。

攻撃者は、DNSレコードに対して変更を及ぼすことのできるユーザーの認証情報を何らかの手段を用いて盗むところから始め、アドレス (A)、メールエクスチェンジャー (MX)、ネームサーバー (NS)などのレコードを、もとのアドレスから攻撃者がコントロールするアドレスへと変更します。これにより攻撃者は、ユーザーのトラフィックを自らのインフラへと招き入れ、もともとの正統なサービスへと転送する前に、操作や監視が可能な状態を作り出します。これは、単にトラフィックがリダイレクトされるという以上の危険性をはらんでいます。

攻撃者は DNS レコードに対して値を付与することができるため、ある組織のドメインネームに関して、有効な暗号化証明書を入手することができます。よって、リダイレクトされたトラフィックを復号化し、ユーザーから送信されたどのようなデータも解読することが可能となります。この証明書はドメインに対して有効な証明書ですから、エンドユーザーはエラー警告を受信しません。

この活動が政府機関の情報と情報システムにもたらす重大かつ差し迫ったリスクに対処するため、この緊急指令は、直近では以下の対策を取ることを命じます。これにより、まだ発見されていない改竄のリスクを減じ、政府機関が自らのドメインに対する不正なDNS活動を予防することを可能にし、不正な証明書を検出することができます。

必要な行動

行動1:DNSレコードの監査

10日以内に、.gov 及び他の政府機関によって維持されているドメインは、そのすべての権威およびセカンダリ DNS サーバー上にあるパブリックDNSレコードの監査を行い、それらが想定されているアドレスに解決するかを確認し、そうでない場合、CISA に報告してください。

CISA では、当該政府組織の目的にとって必要不可欠なウェブサイトや MX レコードのような頻繁に利用されるサービスといった、公衆あるいは組織のユーザーにとって鍵となる政府機関のサービスに関連する NS レコードを優先することをおすすめしています。

行動2:DNS アカウントパスワードの変更

10日以内に、政府機関の DNS レコードに変更を加えることのできるすべてのアカウントのパスワードを変更してください。 *2

CISA では、複雑性および唯一性の高いパスワードを生成するために、パスワードマネージャの利用を推薦しています。

行動3:DNS アカウントへの多要素認証の追加

10日以内に、政府機関の DNS レコードに変更を加えることのできるすべてのアカウントに対して、多要素認証 Multi-Factor Authentication (MFA) を実装してください *3。MFA を有効化することができない場合、CISA に対して、システムの名前、必要期限以内に実装が困難な理由、および実装可能な期限を通知してください。

CISA では、フィッシングに対して防御力の高い要素の追加をおすすめしています。NIST SP 800-63b に準拠し、SMS 認証はおすすめしていません。

行動4:証明書の透明性ログの監視

10日以内に、CISA は、政府組織のドメインの証明書透明性ログに、Cyber Hygiene サービスを通じた新しい証明書の追加を開始します。

受領時、政府組織は、自身で要求しなかった証明書の CT ログデータの監視を即座に開始してください。ある証明書が不正であることを政府組織が確認した場合、証明書発行機関及び CISA に対して報告を行ってください。

CISA の行動

CISA は、

  • 不正な DNS レコードを報告した政府機関に対して、技術的補助を提供します。
  • 期限内に DNS アカウントに対して MFA を実装できない政府機関の報告を確認し、必要に応じて機関に連絡を行います。
  • Cyber Hygiene サービスを通じて、新しい証明書を CT ログに対して定期的に追加します。
  • この指令が発された後、緊急指令に関する調整連絡を通じて、政府機関に対して必要なガイダンスを提供し、CyberLiaison を通じた個別のリクエストにも応えます。

報告手順

政府組織は、以下のスケジュールに基づいて CISA に情報を提供してください。

  • 2019-01-25: 状況報告の送信
  • 2019-02-05: 上述の行動に関する完遂報告の送信

2019-02-06 から、CISA 長官は要求された行動を完了していないすべての政府組織の最高情報責任者 (CIO) および リスクマネジメント上級管理官 (SAORM) と、かれらの連邦情報システムが十分に保護されていることを確実化するため、必要に応じて接触を行います。2019-02-08 までに、CISA は、国家安全保障省及び行政予算管理局に対して、各政府機関の現状と残された問題点に関する報告書を作成します。

期間

この緊急指令は、次の拘束的運用指令によって置換されるか、他の適切な措置によって終了するまでの間有効です。

*1:https://www.us-cert.gov/ncas/current-activity/2019/01/10/DNS-Infrastructure-Hijacking-Campaign

*2:これは、機関によって運用されている DNS サーバー・ソフトウェアまたはその運用を行うシステム、第三者 DNS オペレータの運用パネル、及び DNS レジストラのアカウントを含みます (.gov レジストラを除く)。

*3:同上

Splathon Ladder #1 について

本記事は Splathon Advent Calendar の23日目として意図されていたものである。スプラトゥーンやスプラソンに興味が無い方はスキップすることをおすすめする。祖父の逝去のためバタバタしており日付に間に合うようには執筆ができなかったが、1週間遅れで書く。

今年とある社会人スプラトゥーンコミュニティで番付式の長期リーグトーナメントを開催したので、それについて書こうと思う。

スプラトゥーンは最高にイカしたゲームであり、それをプレイするのは義務である。何、スプラトゥーンを持っていないだと?市民よ、すぐにゲオに行きニンテンドースイッチスプラトゥーンをセットで買ってきなさい、PayPayのキャンペーンが終わらないうちに。そうすることでハイカラスクエアに奉仕するのです。いいですね、市民?ナワバリバトルは義務です。

スプラソン、通称「村」はハイカラスクエアの地下でひっそりと活動する秘密結社である。そこでは既に就職して日中仕事をしているはずの社会イカたちが時間に関係なくガチマッチに励んでいるという。課長、今日は体調が悪いのでアルバイト・フロム・ホームしますね。

元来企業対抗で行うオフライン大会が主体であったスプラソンだが、オフライン大会の開催間隔はそう頻繁ではなかった。2018年半ばの時点ではオンライン大会である Splathon Online League が始動していたのだが、これはあくまで個人参加で行われる大会であったため、企業対抗という色はなかった。またコミュニティのスラックに開かれた boshu チャンネルでは毎日のようにプライベートマッチやリーグマッチの募集がかかっていたが、これらも皆個人参加の企画であって、スプラソン本来の趣旨であった「企業対抗トーナメント」という趣旨のオンラインイベントは存在していなかった。

しかし個人的にはスプラソンのコア・バリューはこの「企業対抗」という点にあると考えた。大人のゆるふわスプラトゥーンコミュニティ、というバリューの出し方をするには、少しメンバーの力量がガチよりすぎた。このコミュニティをより盛り上がるものにするには、やはり、このコア・バリューに即した企画が必要であろうというのがわたしの考えであった。

そこで考えたのが番付式の企業対抗トーナメントである。もともとわたしはアメリカ在住の日本人で結成されたチームでラダートーナメントに出ていたのだが、この形式が大変良かった。ある程度同じくらいの力量のチームとマッチングが発生するためよい練習になるし、同じメンバーで長期間戦うことで一体感も芽生えてくる。これをパク、ではなく参考にして、企業を主体としたチームを結成し、長期間の間リーグを戦うような大会をホストすれば楽しいのではないか、というのが2018年初夏の思いつきであった。

思いついたときがやりどき、ということで早速企画を始め、8月頭から10月末まで3ヶ月6ラウンドに渡る長期の大会をホストした。ルールを書き、マッチングのロジックを作り、リーダー同士の連絡用チャンネルを作り、毎ラウンド各チームのチャレンジ希望順に基づいてマッチを確定させ、告知文を考えて推敲し、配信をお願いし、勝敗をログしてランキングをアップデートして…という様々な作業をこなしていった。最終的には自動的にマッチを確定させるためのリゾルバも golang で書いた。自分のプレイヤーとして参加していたため、大変なところもあったが、本当にやってよかったと思っている。

当然ながら一人ではやりきれなかった。元来ADHDであまり作業効率の宜しくない自分が無事に運営として3ヶ月間乗り切れたのは、ひとえに運営メンバーの皆さんのおかげである。また配信ボランティアをしてくれた方々がいたからこそここまで大会が盛り上がったと言えよう。皆の全てにマジ感謝、YO。

最終的に25チームが参戦した実際の大会の様子がどうだったかという点については、あえてわたしが付け加えることもあるまい。様々な方による振り返り記事や、ta氏による中位以下振り返り動画、そして何よりも、128本の動画が詰め込まれた大会の全試合プレイリストが、その盛り上がりを語ってくれている。勝つチームがあれば当然負けるチームがあり、都落ちがあればジャイアント・キリングがあり、喜びと悲しみと、笑いと涙が入り乱れた3ヶ月間であった。

最終的には企画の趣旨に沿うよいイベントであったと考えている。企業間の対抗戦は大いに盛り上がり、部活動的に楽しむ方々が多く見られた。上位勢はある程度安定していてあまり動かなかったが、中位以下はかなりの変動があり、成長があり、挑戦があったと思う。選手の皆さんに楽しんでいただくことができれば、それが運営として一番の光栄である。

もちろん反省点もある。次に向けて運営としてのTODOはいくつかあるが、ひとつは賛否が大きく別れたFAルールの見直し、そして運営の全体的負担を減らすこと。リゾルバはもう書いたので、サーバー側全部書いてサービス化してしまえば後の運営はずいぶんと楽になる。そういえば github 見て思い出したけど Firestore に移行するコードを書いている最中であったので書ききらなければ…

参加してくれた選手と配信ボランティアの皆さん、そして運営のみんな、本当にありがとう!またいつか、どこかの戦場で会おう!

次回のエントリはみーくんによる人はなぜ(無償で)イベントを企画するのかです。

Splathon に初出場したので感想を書く

tl;dr:

  • Splatoon 2 企業対抗戦 Splathon #7 に参加した。
  • 2勝2分、総合5位タイだった。
  • もっと上に行けたと思うが、とにかく楽しかった。チームのみんな、ありがとう!

感想

自分のスプラトゥーン史

そもそも自分は Splatoon のようなシューティングゲームは生来苦手でした。小学生の頃はよく「ゴールデン・アイ」で瞬殺されていたものです。中学生以降はMtGやTRPG、ボドゲといった卓上ゲームに精を出すようになり、あまりビデオゲームはやっていませんでした。それが 2014 年の E3 で出た出展映像に感激し、「これは絶対に面白い!」ということで 2015 年の発売日に Wii U と一緒に購入しました。

もちろん TPS は初めてで何もわからず、キルを取るなど夢のまた夢。エイムを合わせるという概念すら知らず、様々なブキでナワバリを遊んでは、「あ、このブキ勝てる!楽しい」(金モデラーのことです)などと言ってわきゃわきゃしていました。

ガチマッチが解禁されてからは、「いかにしてガチで勝てるか」と言うことを考えだしました。しかしキルがより重要になるガチマッチでは、これが難しい。十数年にわたりビデオゲームを遊んでいない、運動神経も動体視力も悪い自分。勘も経験もセンスも、何もかも足りない。いったい自分はどうすればこのゲームに勝てるのだろうか、とB帯で随分と苦悩しました。

自分には何もない。しかしそれでもできることがあるとすれば、それはできるだけエイムのいらないブキを使って、立ち回りの戦略を一つ決め、それを忠実に実行することだろう。戦略を決め、それを実行することなら、ボードゲームでいつもやっていることだ。そう考えました。そこで採用したのがスプラローラーコラボだったのです。エイムのない自分にはシューターやチャージャー、ブラスターといったブキは使えない。唯一ローラーでなら、十分に近づけば確1でキルを取ることができる。後は「イカにして近づくか」を考えればよいだけだ。近づいて死にそうなら、ダイオウイカを吐けばいい。

もちろんそう決めてローラーを持ったからといって、すぐにできるようになるわけではありません。けれどもゲームを始めて半年ほど経ったある日、B帯からA-へ、A-からAへ、そしてSまで、毎日ウデマエが上がる「奇跡の一週間」がありました。ようやく自分が考えていたことが実行できるようになってきた、そんな喜びに満たされたものです。

そうして自分はそのしばらく後にS+に上がりました。腕前が上がっても基本は一緒、近づいて叩いて離れる、近づいて叩いて離れる、というヒットアンドアウェイです。自分は器用ではないので、それ以外の立ち回りに幅を増やすことはうまく出来ませんでした。1では結局カンストすることは出来ませんでしたが、S+81まではあげることが出来ました。アメリカ在住で日本勢とマッチングし、ラグもある中で達成できたこの数字は、それなりに誇らしいものになっています。

それから2年が過ぎ、Splatoon 2 が出てからは比較的スムーズにエリアカンストをすることが出来ました。カーリングボムや縦振りといった強化もあり、またマッチングの改善によってラグの少ない相手と戦うようになったこともあり、野良では負けない立ち回りが出来ていると思います。

大会へ向けて

自分はアメリカ在住なので、日本勢とエンジョイプラベをすることはあっても、対抗戦や大会に出たことがありませんでした。そこで年始ちょうど日本に帰れるタイミングで Splathon #7 が開催されるということで、いい機会なので参加することにしました。また、アメリカ在住の日本語勢の知り合いが増えてきたこともあり、西海岸時間で遊べるチームも立ち上げました。

そうして大会や対抗戦に向けて練習するにつれ、立ち回りをまた変える必要性が出て来ました。たまに感じていたことなのですが、相手の連携が取れている状態で自分の野良での立ち回りをそのまま適用すると、「自分がどこにいるのか報告される」のです。するとうまく近づけない、結果死ぬ、ということがありました。考えてみれば当たり前のことなのですが、野良というボイチャのない状態でトレーニングしたモデルをそのままボイチャのある別の環境に投入しても、理想的なパフォーマンスが出るはずがないのです。そのためには、実戦で見るデータと似た分布をしたトレーニングデータを用意してやる必要があります。そのため、対抗戦形式の練習をそこそこ積みました。

結果として、かなり立ち回りを変えることになりました。具体的にどう変えたのかはまだ企業秘密ですが、そこそこ対抗戦でもデスを最小化できるようになり、なかなかよい結果になりました。

大会中

メンバー

わがチームのメンバーは、以下のような構成でした。

  • ローラー(ながやま)
  • 傘(たけし)
  • 竹(うどん)
  • マニュコラ/スシコラ(はやぶさ)
  • ZAP/プラコラ/ローラー(トラこう)

5人チームであるため、ステージ、ルールに応じてメンバーを入れ替え、出ないメンバーは声かけに徹します。具体的には、

  • ナワバリならながやまは抜ける
  • ヤグラならうどんは抜ける

は基本で、あとは塗り、キル、ステージの得意さを考えながらメンバーを決定しました。

分析

あらかじめ以下のような点を考慮に入れた出場チームの分析シートを作っておきました。

  • チーム最高腕前
  • ベストチームS+1以上人数
  • ベストチームS+10以上人数
  • エリアS+平均
  • ヤグラS+平均
  • ホコS+平均
  • 得意ルール

独自の分析を加えた優勝確率でソートしたものも作りました。結果は、

  1. とらふぐ食べたいンゴwwwww (NHN) -> 実際は優勝
  2. グーグルが丘団地 (Googleイカ部) -> 実際は5位タイ
  3. く (dwango) -> 実際は5位タイ
  4. デカLINE (LINE) -> 実際は10位タイ
  5. あさりです しるしるー (しくみ製作所) -> 実際は7位タイ
  6. セガサトゥーン (セガ) -> 実際は7位タイ
  7. プロモデラーYJ (Yahoo! Japan) -> 実際は3位タイ
  8. 都立道玄坂高校iCA部 (CyberAgent) -> 実際は準優勝

というものでした。結果的にはかなり精度の高い予測が出来ていたと思います。あさりです しるしるー (しくみ製作所) 、デカLINE (LINE) が思ったほど振るわなかったこと、ビズリイカ (ビズリーチ) が予想以上の力を発揮したこと(予想では9位でした)が大きな番狂わせでした。CAはファッションS+0の人が多くいるため、またメンバーが多く固定スタメンが予想できなかったため順位が低めになっていますが、実際にはやはり強豪、というところでしょうか。

各マッチング感想

第一戦 vs 念のため会社にはSwitchドックを設置している (PixelGrid) (2–0で勝利)

一戦目はナワバリを選ばれたため、躊躇なくハコフグを選びました。これは比較的狭く、自陣が荒らされにくいと言う判断です。わたしは観戦で声かけでしたが割といい感じでキルが取れており、大変いい感じでした。(語彙力)

二戦目のタチウオエリアは一言で言うと投身自殺回でした。

第二戦 vs セガサトゥーン (セガ) (1–1で引分け)

このチームは事前情報が少なかったため少し不安だったのだが、その不安が的中してしまった形になった。

いやーこの一戦目の海女美ヤグラ勝てる試合だった、勝ちたかった…ヤグラを選ばれた際どのステージにするか厳密に決まってなかったのが良くなかった。ちゃんとデータを見ていれば自分は海女美ヤグラあまり得意じゃないことに気づけていたはず。懐に入り込めれば強いけど、入り込める前提で考えるのはよくない。相手を少し見くびっていたかもしれない。甘いチャクチを狩られるシーンがあった。反省である。いい学びになった。

二戦目はコンブエリア、割と難のない感じだった。崩れずに取り返せて良かった。

あと、1–1 になると引分け、というのもなってから初めて知った…もう一戦ナワバリがあると思ってた…(´・ω・`)

第三戦 vs デカLINE (LINE) (2–0で勝利)

このチームは対抗戦練習中に割と勝てたところだったので、大きな不安はなく望んだ。

一戦目はフジツボヤグラ、自分は何もせず味方が終止キルを取り続けて勝った。

二戦目はフジツボエリア、割といい動きが出来た記憶がある。

第四戦 vs く (dwango) (1–1で引分け)

一戦目はいろいろと悔やまれるタチウオアサリ。タチウオアサリは結構練習していてそれなりに勝率もよかったのだが、相手にうまいブラスターがいると右側を封鎖されてしまうことをきちんと考えておくべきだった。最初は50まで入れてリードしたのだが、後から入れられてうまくリカバリーが出来なかった。

二戦目はザトウエリア。裏取りがきちんと刺さって、特攻しすぎなかったおかげで生存率もまあ良かった。二転三転したが最後ちゃんとリードしたまま終われて本当に良かった。

エキシビジョン vs とらふつ食べたいンゴwww (NHN) (1–0 で勝ち)

時間の都合上一回しかできなかったですが、エンガワエリア。このステージのエリアのコツは練習中にあさりです しるしるーチームのえびです ぷりぷりーさんに教えてもらっていて、それを忠実に実行することでうまく勝てました。初動うどんさんが2連続で水に落ちて30くらいまで押し込まれたのがハイライト。ここに勝てたので実質優勝でいいのではないですか?

エキシビジョン vs 都立道玄坂高校iCA部 (CyberAgent) (0–2 で負け)

最後の方であんまり良く覚えてないけど2戦目はホッケエリアで、相手が2ローラーで味方が狩られまくっていた記憶がある。しんどかったンゴねぇ。ここに負けたので実質準優勝は名乗れない…残念である。

総じて

自分はヘタクソなところを一点特化してS+50まで持って行った人間なので、対抗戦の戦い方を身につけていなければ、もっと動きが悪かったと思います。それには早めに気づけて本当に良かった。今回で他チームは皆一人一人が本当に強くて安心でした。途中チームとしての方針やコミュニケーションがうまく取れていないのでは、という不安もありましたが、結果的にはかなりいろいろいい雰囲気で話すことができ、声掛けや塗り意識、スペシャルなどもしっかり合わせることができて、素晴らしいなと感じました。

すばらしい大会を運営してくださった運営の皆様、ありがとうございました。本当にスムーズで、クオリティの高い運営でした。ひとつフィードバックすることがあるとすれば、スイスドロー4回戦だとどうしてもマッチングにより強豪と当たる/当たらないで結構違ってくるので、「く」チームなんかは強豪と当たり続けることになり大変そうだなと思いました。3回戦やってベスト8くらいまで決めたらそこはトーナメント戦に入り、後は順位決定戦を行っていくのがよいのかなと思いました。あと YouTube で放送してほしい。

次回もできれば出たい!東京遠征したい!イカ、よろしく〜!