Micro Hardening v2、ビミョーな結果と課題

■背景

小学生の頃からセキュリティに興味があった私は、ここ数年、ハードニング関連のイベントに参加させていただいている。以前と異なる点は会社でCSIRTを立ち上げたことで有給休暇+交通費・宿泊費自己負担参加では無くなったことくらい。

2015/08/29MINI Hardening Project #1.2東京
2015/11/07Hardening 10 ValueChain沖縄
2016/11/01Hardening 100 Weakest Link沖縄
2018/07/06Hardening II Collective宮古島
2018/07/21Micro Hardening v1.x長野
2020/01/24Hardening 2020 Business Objectives沖縄

と言う具合に参加してきました。今回もデジャヴュと言いましょうか、2020年01月末の本家Hardeningに参加したけれど、私はエンジニア的な動きをする立ち位置ではなかったからかまたもや所属チームがビリになってしまい、そのリベンジとして今回、 Micro Hardening v2 (以下「MHv2」と略す)に参加しました。「セキュリティベンダーやSREなチームの第一線で活躍している人と比べるともちろん私にできることはたかが知れているけれど、そんな自分でも初心者と比較すればできることは多いし、基本的なことを教えることはできるよね」といったことを確認したくて。。。MHv2はもともとの予定では山口県で開催予定だったそうですが、昨今、日本国内でもリアルなイベント開催は難しくなってきたため、オンラインでの開催となり、交通費を考えることなく参加することができました。

■v1.xと今回のv2の違い

私は過去に、Micro Hardening v1.x@長野にも参加したことがあるので、そのときとの違いについて触れておきます。
v.1.xの内容はこちらを参照してください。

Micro Hardening v1.x@長野でドン勝!!

事細かに書いてしまうと、今後、体験する方のヒントとなってしまい学習機会を奪ってしまいますため、故意に抽象化した内容で説明します。
大きな違いはというと、守備範囲が広くなったということのように思いました。
とはいえ、守るべきサーバは1台ということには変わりはない。
つまり、1台のサーバでいろいろ動いちゃっている(v1.xのときよりも)ということです。
1セット45分で、それを3セット実施するということは一緒でした。
ゲームスタートとなる少し前から競技サーバにログインすることは許可されていて、各種パスワード変更やあやしいファイルの削除、脆弱性対策は手を付けてしまってよいので、回が進めば進むほどゲームスタート前にやることが増えていき、ゲームスタート後は監視を強化していくだけとなっていくような展開というのも一緒です。
v1.xのときはたった一人でも立ち回れる規模感だったと思いますが、v2では複数人で対応しないと把握し切れない規模感にシフトしたように思いました。

■どんなだったか

今回のMHv2ははじめてのオンライン開催となりました。
1チーム当たり6名構成でした(私の所属チーム#17は1人欠席で5名でした)。
2日前にチームが公開されましたが、実際に会うこともなく各人のスキルも不明な状況でのチーム戦というなかなか大変な状況でした。
リアルな会場であれば、はじめて会った知らない人同士でも、雰囲気とか表情、キーで何をどんな速さで入力しているかとかで、チームメンバーそれぞれのスキルはわかるものですけれど、オンラインだとはそれは無理。
本家Hardeningの場合は、もっと準備期間があり、各人のスキルのアセスメントなどもしますが、今回のMHv2ではそういうことはできませんでした。
「まあ、Micro Hardeningなんだから、初心者向けの技術のみの体験会みたいなもんだから、しっかり打ち合わせとかできなくてもなんとかなるもんじゃん」と思っていましたが、なかなか大変でした。サーバ1台なのに、いろいろ動いているので。。。
Hardeningシリーズの初心者向けに位置するのがMicroですので、本当の意味でのセキュリティ初心者、業務経験のない学生も多く参加していたように思います。Linuxコマンドもまだわからない人も多いイベントとなるため、5人いても実際に能動的にチームをリードしながら手を動かすことは困難でした。
そういう状況でしたので、一人で立ち回るべき範囲が広くなってしまいました。
「ログやプロセスを見て落ちたサービスを再起動させたり、売り上げを気にしながら、また別のログやプロセスを見る」ということを繰り返しているだけで45分x3は終わってしまいました。
1セット目と2セット目、2セット目と3セット目の間には実質30分くらい休憩時間がありますが、その時間にオンラインですと自チーム内の他のメンバーが何をしているのかさっぱりわかりません。トイレに行っているのか、次のセットのためにログを読み直しているのか、はたまたボーっとしているのか。リアルであればこの時間を使って作戦会議ができるのですが、オンラインだとそれが困難でした。
そこで私(の所属チームで)は、2セット目と3セット目の間に、新たな脆弱性対策情報をネットで調べるような余裕はなかったため、3セット目は売上アップに貢献することを試行錯誤することにし、ゲームスタート前に販売する商品の単価の変更を実施しました。しかし、それが裏目に出てしまい、3セット目スタートからしばしの間、売り上げ0円の横ばいの期間が発生してしまいました。
事前に、以下のようにチーム内アナウンスもしていましたが、誰一人としてシートに記入した人はいませんでした。

チーム内では、Slackへの報告・情報共有を徹底していたため、別のものに転記している余裕はまったくありませんでした。
(が、対応したことをしっかりシートに記入できていたチームもありました)

■どうすれば勝てる?

Microですけれど、1台のサーバで動いているものがあまりにも多いので、マネジメントに徹する人を設ける必要があるかもと思いました。
参加者というより、できることがかなり限定されてしまう見学者に近い方が多いチームの場合、数少ないメンバーで対応していくことになる。「Slackの内容をシートに転記する係」だとか、「while :; do ps -ef | grep nanika | wc -l; sleep 1; done をずーっと目視してもらって変化があったら再起動する係」みたいなことを見学者に近い方に依頼してもよいものなのか、そういうことこそ自動化すべきであるのか、では、どういうことをしてもらえればよいのだろう。。。的な他者への移譲の難しさ初心者向けのMicroならではのような気もしました。

■結局のところ

Hardeningシリーズ、共通の課題は、セキュリティインシデントへの対応力(知識だけではなく実践できる力)とコミュニケーション力でしかないと私は感じています。
極端な話、対応力があっても何言っているかわからない人は何言っているかわからないですし、喋っているだけで何の対応もできない評論家とか転載厨みたいな人はうるさいだけで集中すべき作業の邪魔となります。そういったことを気にしていると沈黙が続き、チームとしての動きができません。
競技当日前に人を知っておく→SNSなどで見ているだけでなく会話しておく→勉強会に参加したりオープンソースプロジェクトでコントリビュートするなどして人脈を拡大しておく といったことを能動的にしていって人を知っておかないと、オンラインでのチーム対応はなかなか難しいと思いました。
ちょうど今はテレワークが流行していますので、経験を通してよりよいやり方が見出されるとよいですね。。。
もちろん、終わった後の振り返りも重要ですよね。

■謝辞

同じチームになった方、このような機会を無償提供してくださった川口設計の川口洋さん、ありがとうございます。
自助→共助→公助といったスコープ(?)は、Micro→Mini→本家にも似ているように思えますし、自我確立→自己実現→自己超越とも、「一燈照隅 萬灯照国」とも同じようなことと私は理解しています。

■蛇足

なお、このブログがWordPressであるのは、勉強のためでもあります。Google Cloud Platformの無料枠で運用しています。Hardeningに参加される方は、こういったことを日常的にすることで経験を積むこともできるという一事例です。
操作方法を当日になって検索しまくるのではなく、日常として運用していれば、どこに何があるのかとかはスグわかるようになりますので。。。

タイガーエア台湾、台湾~マカオ便のキャンセル手続きでわかったこと

私はもともと2020年2月は台中のランタンフェスティバルに行ってからマカオに行くつもりでした。
が、武漢肺炎(新型コロナウイルス)の関係で、台中~マカオの便がキャンセルとなり、手続きをし、返金処理も済みました。
また、マカオのホテルはキャンセル不可のホテルをアゴダで予約していましたが、こちらも全額返金手続きが完了しました。
つまり、金銭的にはダメージはまったくなく、台湾滞在期間を長くすることができました。

この経験からわかったこととしては、
タイガーエア台湾は日本に電話窓口もありますが、
台湾のメールアドレスに日本語でメールしても対応していただける
ということ。

(ここに載っている情報です)

電話が繋がらなくてイライラしたりせず、
メール送って対応していただいたほうがラクだと思いました。

 

【復習】台湾での献血

先日、台湾の高雄で献血してきたので、そのメモです。
「事前準備をしっかりやっていけば、台湾での献血もなんとかなった」という話です。


もともとものきっかけはこれです。


もちろん、Twitterで公式回答してもらおうという意図ではなく、「日本からも行くよ!」という意思表示と、「いいね」の数により行くつもりのある日本人の数をざっくり把握したいと思ったから。そして、「書いておけば、もしかしたら日本語できるスタッフを用意してくれるかも!?」といったかすかな期待も込めていました。

そして、こんな感じで予習をしました。

【追記あり】台湾で献血するための予習

献血に限ったことではありませんが、外国語であろうとなかろうと、やりとりにはプロトコル(通信手順)がありますよね。
たとえば、コンビニで買い物したい場合を客視点で表現すると、

  • 商品を探し、レジに持って行く
  • レジ担当がレジ操作し、最終的にレジの表示板に表示された金額を把握する
  • その金額より多めのお金をレジ担当に渡す
  • お釣りをもらって、商品を持ち帰る

という作業でしかなく、言葉がわからなくてもレジに表示された数字がわかれば買い物はできるわけです。これが購入という行為。

これを献血に当てはめれば高度な中国語会話ができなくても台湾での献血は可能であろうと予想し、予習の時点でこういうことをしました。

  • 献血のフローを確認(日本での献血の経験も思い出す)
  • 日本人観光客でも台湾で献血できた人がいた
  • 問診票はWebでも公開されているのでそれを理解し事前にチェックし当日持参しよう!

国は違っても献血する際のフローは基本的にだいたい一緒です。

日本であればこう。

  1. 受付
  2. 質問(問診票)への回答
  3. 問診/血圧・体温測定
  4. ヘモグロビン濃度測定/血液型事前検査
  5. 採血
  6. 休憩

(詳細は http://www.jrc.or.jp/donation/about/process/。)

今回の台湾ではこうでした。

  1. 受付/血圧測定
  2. 質問(問診票)への回答
  3. 問診/血圧測定/ヘモグロビン濃度測定/血液型事前検査
  4. 採血
  5. 休憩

(詳細は http://www.blood.org.tw/Internet/main/docDetail.aspx?uid=6549&pid=6385&docid=23927。)

で、実際に現場でちょっと焦ったことと、どう対応したのかを説明していきます。

  1. 受付/血圧測定
    受付のおじさんは「身分証確認と血圧測定」をしていることは、並んでいるときからわかっていたので、パスポートを事前に手に持っておいて、順番が来たらすぐに「我是日本人!」と言いながら座りました。「您能說中文嗎?」といった返しがありましたが、ニコニコしながらその場をやり過ごそうとしたところ、おじさんが固まり、私も固まりました。おじさんは「護照」とか言ってはいました。そしたら、私の後ろに並んでいる人が「パスポート!」とフォローしてくださったので、「パスポートはこうして手に持っているのになんでだろう?」と思いつつ、パスポート番号が書かれているページを開いておじさんに見せたら流れが再開しました。ちゃんと見せないとダメですよね、すみませんでした。。。こんなことがあったので血圧が上がってしまったようで、3回くらい計り直しました。。。
  2. 質問(問診票)への回答
    タブレットで入力することになっていました。私は事前に入手したPDFの問診票に記入したものを持参しましたので、楽勝だと思っていました。質問に答える前に自分の名前とか住所を入力することになりますが、フツーの日本人は注音記号(いわゆるボポモフォ)での入力は無理と思いますので、そのあたりはその担当の人に助けを求めましょう。たまたまなのか、事前にアサインしてくれたのかわかりませんが、ここの担当のFFK12のスタッフジャンパーを着た金髪の台湾人女性は日本語ができる方でした。住所のところが台湾の県・市がドロップダウンリストに入っていて、外国の場合どうすればよいのかわからなかったので、この金髪の担当の方に持参した記入済みの問診票を渡してほぼすべてを入力代行していただきました。本当に助かりました。
  3. 問診/血圧測定/ヘモグロビン濃度測定/血液型事前検査
    献血のバスに乗り込んでから(並んでから4時間後)、自分の番号が呼ばれ、個室に入って問診等があります。数字くらいは聞き取りができないと難しいかもです(バス前方に番号が表示されるようにはなっているのでそこを見ていればなんとかなるとは思います)。ピンクのナース服を着た女性が担当です。「哈儸!我是日本人!」と言いつつ入室すると、ここでも「您能說中文嗎?」的な返し。「OK!OK!」と言いつつ、混み入った質問がされそうな気配を感じたので「小愛老師」の準備をしました(小愛老師とはシャオミ製の通訳機です)。小愛老師を使ってやっと意味がわかったことは「あんた、服役してたことある?」でした。問診票の13番目の質問をここでもかよ!と思いつつ「No!No!No!No!」と返しました。他にも問診票にあった質問、「同性愛者?」とか「最近、不特定多数と性行為した?」とか、個室での羞恥プレイ的な質問が続き、ここでも血圧測定もあり、血圧上昇! 「白大衣高血壓!」と伝えつつ、なんとかやりきりました。
    ここでの血液検査は薬指の指先にチクッとし挿して終了でした。
    「あんたの番号はこれだから、もし告白したいことがあったらここに電話してね」というのもありました。
  4. 採血
    今度は番号ではなく、(中国語読みの)フルネームで呼ばれました。行ってみると、「どっちの腕でやる?」でした。
    再び待ちになり、またフルネームを呼ばれました。行ってみると、「請問你的姓名是?」と聞かれました。「あんたが今呼んだんじゃんよ!」と思いつつ、「我叫〇〇」と返しました。
    その後は「まず消毒するからね」「ちょっとチクッとするよ」、終わった後は「今日はいっぱい水飲んでね」「ガーゼは30分後に取ってね」「終わったらクッキー食べて10分休憩してからバスを出てね」といった流れで、本当に日本での献血と同じような会話でした。

上記の1に到達するまでにかなりの待ちがありました。私が日本人であることを知ったスタッフさんたちや列の前後の人たちは、ときどき日本語での気遣いもしていただき、本当に助かりました。

マクロファージさんがいた!!

 

帰国後、血液検査の結果がメールで届き、台湾の献血のWebサイトへの登録もできました。


これで引き続き、継続的な台湾での献血ができるようになりました。
もっとちゃんと会話もできるようになっておきたいと思います。