January 2020 Archives

ある方から、"Golden Ticketがアカウント名ベースで作成されるのであれば、悪用されたドメイン管理者アカウントの名前を変更することは、Golden Ticketの検知や対策にならないのか?"という質問をいただきました。

私も、これは良い案だと思ったので、検証してみました。
結論から言うと、アカウント名を変更しても、Golden Ticketは使えます。
また、アカウントの無効化、削除も効果はありません。
更には、元々存在しないアカウントGolden Ticketも使えてしまいます。

これは、KDCがstart timeから20分経過していないTGTのアカウント名を検証しないことに起因しているそうです。(驚愕の仕様。。)
https://www.blackhat.com/docs/us-15/materials/us-15-Metcalf-Red-Vs-Blue-Modern-Active-Directory-Attacks-Detection-And-Protection-wp.pdf

つまり、アカウント変更後、20分経過すると一旦使えなくなるものの、攻撃者が新しいチケットを作り直せば、使えてしまうということです(start timeが更新されますので)。
Golden Ticketの対策を取るためにはkrbtgtのパスワード変更しかありません。

検知の観点からは、古いアカウントまたは存在しないアカウントを悪用するチケットが使われると、以下のような挙動がイベントログに記録されます。
・イベントID4769に古いアカウント名が記録される
・イベントID4624からは、アカウント名とSIDが不一致であることが分かる

以下は、アカウント名をdcadminからdcadmin2に変えた後にdcadminのGolden Ticketが使われた場合のログと、存在しないアカウント(test)が悪用された場合のログの例です。


アカウント名変更後の4624.png

存在しないアカウントの悪用が記録された4624.png


補足として、存在しないアカウントでは、ビルトインアカウントadministratorのSIDである500が悪用されることが多く、上記の例もそのようになっています。

なお、対策をとった後(krbtgtのパスワード変更後)は、悪用されたアカウントの情報がログに全く残らなくなります。
4769,4625などの失敗のログが記録されるが、アカウント名は記録されないか、なりすまし前のアカウントが記録されます。

以下はその例ですが、残念ながらアカウント名の情報がありません。

対策後記録された4769.png


TGTの復号化に失敗したことを示す4769(エラーコード0x1f)が記録され、かつ同じ端末から4625などの失敗のログが同時刻帯に記録されている場合、その端末はGolden Ticketが使われた可能性が高いと考えることはできるかもしれません。
やっぱり、Golden Ticketは、イベントログだけで、検知するのは難しそうです。

Black hat Asia 2020

gamzatti
Vote 0 Votes

Black hat Asia 2020のarsenalに受かりました!

参加される方は是非遊びに来てください。

https://www.blackhat.com/asia-20/arsenal/schedule/index.html#attack-demonstration-tool-kits-for-industry--using-ai-and-cloud-18998

これで、Europe, USAに続き、arsenalは3つコンプリートです。

私が最初に公聴側でBlack hat に参加したのは、2017年なのですが、その時は、数年後に自分がスピーカーになるとは夢にも思いませんでした。

正直、私は自分がこれらのカンファレンスで発表できる程、技術に長けているとは全く思っていません。

でも、何事もこうしたいと強く思って行動していれば、実現するのだと思いました。

論文について

gamzatti
Vote 0 Votes

私は自社は民間のIT企業ですが、今大学に研究員として出向しています。

普段は政府から請け負った仕事をしているので、合間の時間を縫って研究し、査読付きの論文で自信がメインオーサーのものを、3年間で4本出すことが出来ました。

https://scholar.google.co.jp/citations?hl=ja&view_op=list_works&gmla=AJsN-F7mJmeeyMTx_S-LLj4dcFhArrtmkM6xiKLia2fS1Zf0h-dDHndomaKXwEhkPNricQ2GIKOe60V7MuVoERAI6uetMqUoVxRJbV02PdzYS4y7yjHtlDyM2ZbcdAnH1D-G6uaJIjZk&user=Th_5GxEAAAAJ

今日は、出向先で学んだ論文発表について簡単に書いてみます。

論文には大きく以下の3つがあります。

1)査読無し論文:査読無しで投稿できる論文
2)査読有りのプロシーディング(Proceedings):査読を経て、学術会議で発表される論文
3)ジャーナル:査読を経て、学術雑誌に掲載される論文

1)は投稿料を払えば、査読無しで投稿できる論文で、国内ではコンピュータセキュリティシンポジウムや暗号化とセキュリティシンポジウムなどが該当します。
査読がないので、敷居が低く、私も論文デビューはコンピュータセキュリティシンポジウムでした。

2)は、論文を投稿し、査読を経て採録されれば、学術会議(カンファレンス)で発表し、その後、論文がプロシーディングとして公開されます。
査読の難易度は学会によって様々です。

3)は最も難易度が高く、研究者としては、3)の実績がないと高く評価されないそうです。
私もジャーナルは1本しか通っていないので、これから頑張ります。

なお、ハゲタカジャーナルと呼ばれる悪質性の高いジャーナルもあるので注意が必要です。(私も一度、引っ掛かりかけました。。。)
ブラックリストが公開されています。
https://beallslist.net/

もちろん、3からチャレンジすることも可能ですが、1->2->3のステップを経るのがやりやすいかもしれません。
その理由は、査読にパスしても、落ちても、2)で査読者から有用なコメントを貰うことができ、ジャーナル投稿へのブラッシュアップできるからです。

ただ、一度投稿して受理された論文は、異なる投稿先に投稿することはできません(二重投稿になってしまいます)。
同じテーマの論文を複数投稿先に出す際は、追記や改良が必要です。3割以上内容が変わっていると、問題なしと判断されるそうです。
そのため、自信がある論文は、いきなり3に投稿するのもアリな気はします(私の場合、残念ながらそれで通ったことは一度もありませんが泣)。

以下、論文を出すときに私が注意している点です。

・投稿に際しての規定をよく読む:投稿先によってフォーマットやページ数、著者情報を記載するか否かなどが異なります。規定に準じていないと、そもそも査読されないこともあります。私も、著者情報を記載してはいけないのに記載してしまい、査読されなかった論文がありました(これは、査読者が著者情報を知らない状態で公平に査読するためのダブルブラインドと呼ばれる査読方式だそうです)。
・新規性と貢献性を明記する:論文の肝になる部分ですので、分かりやすく記述します。提案した手法が既存の研究と何が違うのか、世の中のどのような課題を解決できるのか等です。
・提案した手法の評価結果は定量的に書く。その際、芳しくない結果についても正直に書きます。結果に芳しくない部分があっても、きちんと分析や考察ができていれば、それが原因で落とされることは少ないかと思います。

残念ながら不採録だった場合の対応ですが、私は以下のようにしています。
・査読コメントを反映して、再度同じ投稿先に投げる
・査読コメントを反映して、異なる投稿先に投げる
・複数の投稿先に投げても全て不採録の場合は、内容自体に新規性がない可能性が高いので、提案手法自体を改良するか見直す
不採録の結果が通知されても諦めず、有用なコメントは反映し、根気強く投稿し続けると、きっとそのうち採録されると思います。

なお、英語で書いた論文は日本の学会にも投稿できますが、逆はできないので、英語に自信がある方は、英語で論文を書いておくと良いかもしれません。

数年前から、仕事柄、人前で話したりプレゼンしたりする機会が多くなりました。
昔は人前で話すのが非常に苦手でした。卒論の発表のリハーサルで、緊張して泣いてしまったこともある位です。
今日は、私なりに、公聴者に響く様に話すということについて、書いてみたいと思います。

先ずは、自信をつけることが何より大切と思います。話す対象の分野の経験や知識があれば、例えしどろもどろであったとしても、話す内容に深みが出るものです。経験がない分野を話さなければならない場合は、技術系であれば、触りだけでも手を動かして検証します。それ以外の場合は、有識者に話を聞いたり、事例などを集めます。

以下は、賛否両論あるとは思いますが、個人的に人前で話す際に気をつけている事です。

・得意であったり実経験がある分野では、資料に書いていない実務上の体験や具体例などを交えて話す。具体的なイメージが湧きますし、実務経験は信頼性がありますので、聞き手にとって得られるものが非常に大きいからです。


・自分が体験した話と、人から聞いた話は必ず区別する。聞いた話でも参考になるので、紹介したい場合は、"これはXXから聞いた話ですが・・・"と言い添える。人から聞いたことを自分の体験談の様に話していると、突っ込んだ質問などに答えられなくなります。


・スクリプト(話す内容)を事前考え過ぎず、自分の言葉で話す。スクリプトをプレゼンのノートなどに書いて読み上げるのは、失敗しないための手ですが、機械的になってしまい、深みが無くなってしまう事があります。ですので、私はキーワードだけ書いて、文章は準備しない様にしています。最初はスクリプト有りで、スクリプトをそのまま読むのではなく、わざと助詞や助動詞、接続詞、語尾などを言い換えたり、同義語の言い換えをする練習をしていくと、徐々に慣れていくかと思います。英語のプレゼンは流石にスクリプトを考えますが、将来的には、その場で話せる様になりたいので、意味を変えずに、言い回しだけ変える練習をしています。


・早く終わり過ぎたり、オーバーしないために時間感覚を身につける。時計を見れる環境であれば、時刻を見ながら調整できますが、それが出来ない場合のために、普段から時間感覚を身につけておくと便利と思います。単に、日常的に時々、今どれくらい経ったのだろう?何時なんだろう?と予測するだけでも効果はあると思います。

後は、基本的ではありますが、話している途中に落ち着く事はとても大事ですね。
私も時々、自分が今何を話しているのか分からなくなったり、このスライドって何を話すのだったっけ・・・となる事もあります。
そんな時は、多少空白の時間が出来てしまったとしても、一旦落ち着いてスライドを見返して考えます。自分で作った資料なのであれば、落ち着けば必ず思い出すはずです。

深層筋について

gamzatti
Vote 0 Votes

いつも仕事、技術ネタを書いていますが、今日は方向性を変えて、身体に関することを書きます。

一時期、ITの仕事に疲れていた時にヨガのインストラクターに転職しようと考えた時期があり、

数ヶ月ですが、インストラクターになるためのスクールへ通っていました。

今は、仕事の楽しさに目覚め、ITの世界で生きていこうと腹を括りましたが(笑)、ヨガは趣味で10年程続けています。

また、昔はバレエを10年程やっていました。

ヨガとバレエは基本的に深層筋を使います。少しだけですが、深層筋を使う事を意識する事が多いので、その話をします。

深層筋とは、いわゆるインナーマッスルの事で、身体の深層部にある(表面には出ていない)筋肉を指します。

最近、インナーマッスルやコアを鍛えるのが流行っていますが、実際に意識して使うのは結構難しいと思います。

私も100%正しく深層筋を使えているかは疑問ですが、自分なりに分かってきた深層筋の使い方のコツを書きます。

・力を入れたり、動作をした場合に、外から筋肉が硬くなっている事が分かる場合は、深層筋では無く、表層筋を使っています。分かりやすいのが腹筋ですね。一番ベーシックな起き上がり型の腹筋をすると、多くの人はお腹に力が入ってポコっと出て硬くなりますが、これは腹直筋を使っています。腹筋で深層筋を使うためには、仰向けに寝て、脚を真っ直ぐ伸ばして真上に上げ、お腹を引っ込ませます。この時、なるべくお腹の表面に力が入らない様にします。お腹をそのままの状態に保って、床すれすれまで脚を下ろします。この動作をすると、力の入り方が変わるのが分かります。腹横筋や、腸腰筋(股関節周りの筋肉)などの深層筋が使われます。

・通常、筋肉は収縮させて(自分の身体の中心に引き寄せる様にして)使いますが、深層筋を使いたければ、"伸ばしながら使う"ことを意識します。分かりやすい例として、立った状態から何も意識せずに脚を前に上げると、表層筋である大腿四頭筋(太ももの前の筋肉)が使われます。一方、脚を股関節から外旋させ、脚の先を遠くに引っ張られる様にしながら持ち上げると、お腹や股関節の筋肉が使われます。腕も同じです。遠くに引っ張られる様にして上げると、上腕の筋肉では無く、腕の付け根の筋肉が使われるのが分かります。

・なるべく四肢の筋肉を使わない様に意識し、かかる負担を最小限にします。勿論使わないのは無理ですが、減らすことは出来ます。それには、お腹を締めることと、上半身の引き上げが必要です(この時に肩に力が入らない様に注意)。普段からこの2つを意識するだけで、脚が疲れにくくになります。深層筋を使える歩き方は、モデル歩きです。モデル歩きは、上半身を引き上げて、脚をあまり使わずに、骨盤を大きく動かして歩きます。

まとめると、私なりに得た深層筋を使うコツは、シンプルには、1)最小限の力で動く(無駄な力を使わない)こと 2)体幹部は引き締めて、四肢は楽に 3)上半身の引き上げてお腹を締める 4)伸ばしながら使う かなと思います。

 並列処理

gamzatti
Vote 0 Votes

明けましておめでとうございます。
昨年度も周りの色んな方に支えられ、活躍できた年でした。
今年は、業務も勿論ですが、加えて研究者として、更に前進できる様に頑張りたいと思います。

これからは、仕事などの経験を経て、他の方にもう役立つと思われる事について、書いていきたいと思います。
最初は、"並列処理"について。

私は、仕事のパートナーから並列処理が得意だとよく言われます。
そもそも脳の構造的に、女性は左右脳を繋ぐ脳梁が男性よりも大きいそうで、並列処理が得意な様に出来ているそうです。
しかし、自分ではその認識はないし、以前は並行して色んな事をこなすのが苦手でした。
今はそれなりに出来るようになった(少なくても人からはそう見えている)ので、元々得意でなくても出来る様になるという事です。
それには、以下の様な経緯(行動)が関係している気がします。

・業務の内容に適応した:以前はアプリ開発の業務に就いていましたが、計画通りに自分の裁量で進められるケースが多く、更に当時は平社員だったので、開発作業に専念出来ました。サイバーセキュリティの業務に就いてからは、飛び込みの仕事が非常に多く、臨機応変に頭を切り替える必要があり、半年程で自然に慣れた様に思います。今は、出向先(メイン)の業務、研究、出向元の業務をこなす必要があるので、やはり頭と気持ちの切り替えが重要になります。最初はストレスがかかりますが、慣れると良い気分転換になって相乗効果が産まれると思っています。
・他にやり残した事が無いか、作業の区切りで考える:集中力って長くは続かないですよね。作業の間に少し手を止める時間があるはずです。そんな時、私は気分転換がてら、他にやり残している作業が無かったか、考える様にしています。当然、全て記憶するのは無理なので、カレンダーやToDoリスト、メールなどを見返します。そうすると、結構積み残しのタスクなどに気づくことがあり、時間のかからないものならその場ですぐに片付けます。1つの作業に疲れたり、煮詰まってきた時に、振り返ってみるのはオススメです。
・日常でも、常に並列処理する事を意識する:私は時間が一番大切だと思っています。少しでも時間を無駄にしたくないので、仕事以外の日常のほんの小さいことでもなるべく並列処理します。家を出る時エレベータのボタンを押してから靴紐を結ぶ、リフトの中で次滑るコースをチェックする、フライパンに水を出しっ放しにしてからお皿を流しへ運ぶ。。。こんな小さな事でも累積すると"慣れ"に繋がると思います。また、意識的にではなく、私が飽きっぽいところがあるからなのですが、複数の本を並行して読む事が多いです。本Aの1章を読んだら、次は本Bの様な感じです。これも実は頭の切り替えの良いトレーニングになるかなと個人的に思います。

About this Archive

This page is an archive of entries from January 2020 listed from newest to oldest.

November 2019 is the previous archive.

February 2020 is the next archive.

Find recent content on the main index or look in the archives to find all content.