メモ に関する投稿を表示しています

1SPREAD情報セキュリティ勉強会に参加してきました

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

7/13の話で、すごい今更感。
Togetter: http://togetter.com/li/533192

「パスワードの定期変更という不自然なルール 2013」
講師は@ntsujiさんでした。

4月以降、Webサービスへの不正ログインが相次いでいる
大手サイトも!

攻撃
* ブルートフォース攻撃
* ディクショナリ攻撃
* リバースブルートフォース攻撃
* リスト型攻撃
といった攻撃種類があり、誰でも簡単にできるツールがある。

対策
* 強固なパスワードの設定

* 定期的な変更・・・はどうなのか?
=> 突破の可能性を低減
  => ??????
  => そもそも、アカウントロックやパスワードに桁数や文字種の強制をするなどしたほうがいいのでは

=> 突破後の被害拡大の防止
  => 被害を最小限に抑えるには「早期発見」「復旧」の仕組み
  => 長期的な視点だと保護したと言えるのかもしれない

=> 定期変更での効果が薄いように見えるが、ここに労力を割いていいのか。
  => パスワードの質がおちる
  => すべての人に強制するのは無理
  => 似たようなパスワードの使い回し

使い回し
* 複数のサービスで芋づる式に突破されてしまう
* サービスごとに個別に設定する
* 覚えきれない...
  => パスワード管理ソフト
    => 1Password
    => RoboForm
    => KeyPass
    => LastPass

  => 手帳などにメモ
    => 他人に見られなければよい

被害がでたら
* 被害者意識ではなく当事者意識を。
* 車とドライバーの関係
=> メーカは頑張ってエアバックだったり自動ブレーキがついてるけど、事故は起きる。

まとめ
* 定期変更は効果が薄い
* 定期変更は弊害を生む
* 使いまわしは本当に危ない
* サービス提供側だけの問題ではない

* セキュリティはみんなのもの、みんなで作っていきましょう


普段パスワードについてしっかり考えることもなかったので、とてもいい機会でした。
講師のスライドだけでなく、参加者同士のディスカッションタイムがあり、他の参加者がどんなパスワードを使っているのか、どのように運用をしているのか聞いたり、じゃあ実際どのように運用していくのが良いのか、いいパスワードとは何か、といったことをお話しました。

パスワード管理ソフトによっては、メモだったり、パスワードだけでなくそういう類のものを保存したりできるそうです。いいですね、導入しましょう。
(くろーむのパスワード保存に全部つっこんでいた)

enabled=false なスクリプトに対して SendMessage

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

1. 適当なオブジェクトについてるスクリプトをInspectorから無効化します。

2. スクリプト内の Start() とかその他のメソッドが走らないことを確認します。

3. 無効化したスクリプトに向けてSendMessageします

4. SendMessageで指定したメソッドが走ります

5. 楽しい!✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌

MMD for UnityのIKスクリプトのパフォーマンス計測もどきをしてたらめっちゃアラート出てきました。
ルートオブジェクトについたMMDEngineからSendMessageしてCCDIKSolver.Solveを呼び出していまるので上記に該当してたわけですね。

無効化したスクリプトに対しても何事もなくSendMessageを呼べてしまうの、んっ!? となったけどいいんでしょうかね

ともかく、髪IKがどうこうみたいな問題もありますので、一旦これでコミットしま(す|した)
(CCDIKSolver.Solveの先頭に if(!this.enabled) return; が増えただけですが)


追記

3.5のときはこの問題(?)はなかったような気がしますけど、多分気のせいですね。
その内確認するかもですが、別にやったからといって、うぅん・・・


Inspector拡張の

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

MMD for Unity (http://sourceforge.jp/projects/mmd-for-unity/) で、メニューアイテムからじゃなくてインスペクターでPMD->PrefabとVMD->Animationが出来たらいいなー、と思ってあれこれ弄って詰まったのでその話を。

 

Unity拡張ってどうやんねん!という話はしないので、http://www.slideshare.net/lucifuges/extending-the-unity-editor とかみてください。ほぼすべてなんでも出来るようになるので、ここ設定するのに使いづらいなーというポイントがあれば、改善できる可能性があります。
試しにやってみましょう。

本題です。まず必要なのは、Projectウィンドウで選択されたものをInspectorウィンドウに表示する方法です。

通常のInspector拡張であれば、

[CustomEditor(typeof(MyScript))]
public class MyScriptEditor : Editor
{
  public override void OnInspectorGUI()
  {
    EditorGUILayout.LabelField("Its MyScript");
  }
}

というような感じでできます。

 

このときのCustomEditor属性の第一引数に適当なクラス型を入れることで、そのクラス型に対する拡張になります。この場合は、MyScriptというクラス専用のエディタ拡張になります。
(実際に試していないのですが、)MyScriptを適当なオブジェクトにくっつけてやると、MyScriptEditorのインスタンスが勝手に生成されて、Inspectorには"Its MyScript"というラベルが表示されているはずです。

で、これを、Projectウィンドウにどう引っ掛けるか。
色々試した結果、typeof(UnityEngine.Object)を指定すればいいようです。
但し、これは全てのアセットを対象に出来ないようで、Unity側でInspectorが用意されていないもの、が該当になります。
(例えば、認識されない拡張子、*.unityファイル(シーンを保存したもの)、フォルダ、など)

CustomEditor属性の第二引数にtrueを指定することで、そのクラスを継承した子クラスにも適用されるらしいですが、その指定をしてもMaterialだったりTextureだったりには設定出来ませんでした。

 

さて、[CustomEditor(typeof(Object))] と指定すれば引っ掛けられることがわかったので、後はPMDLoaderWindow.csに含まれるGUI部分を移すだけで出来ました。

 

が!! 問題はここから。
別のファイルに分けたほうがよさそうなのでVMD用InspectorをPMD用Inspectorからコピーして作ったところ、VMD用Inspectorが動作しないじゃありませんか。

コンストラクタでDebug.Logをするように書いてもVMD用Inspectorのインスタンスが作られる雰囲気もないので、うーん。
推測として、CustomEditor属性の挙動が、最初に読み込まれた(実行された)方が優先されて、どうこう、みたいな。

MMD for Unityの中に閉じた問題なら、InspectorBaseみたいなものを作って、そこからPMDorVMDに振り分ければいいと思います。ですが、もし他のエディタ拡張スクリプトを導入なり自作なりで、そちらでも同様に[CustomEditor(typeof(Object))]が行われていた場合を考えるとぐぬぬ。

 

Editorを継承すると、"target"という変数が使えるようになるのですが、Unityに認識されない拡張子またはフォルダの時に、これに入ってくる値の型が、UnityEngine.DefaultAsset という内部型みたいです。
グーグル大先生に聞いてもなにひとつそれっぽい答えがでてこなかったので、それが分かっても問題解決への鍵にはなりませんでした。

 

某所になんかいい方法ないですかと質問を投げたのですが、「そもそもの話、そんなことしようとする人口数~w」という気がするのでうーん。諦める方向ですかねー…

あ、カスタムインポータを書いて、UnityにPMDが放り込まれたら自動的に読み込むというのもアリ...?
どちらにせよ、現状で特につらぽよポイントは無さそうなので、それが出来なくても、あ、はい、程度な気がしますね。

 

参考URLとか:

  • http://docs.unity3d.com/Documentation/Components/gui-ExtendingEditor.html
  • http://docs.unity3d.com/Documentation/ScriptReference/CustomEditor.CustomEditor.html
  • http://answers.unity3d.com/questions/11680/how-can-i-make-a-custom-inspector-for-this-object.html
  • http://forum.unity3d.com/threads/101654-Showing-Unknown-Extensions-in-the-Inspector

 
 

そうだそうだ、「Materials」「Materials 1」「Materials 2」「Materials 3」....と増え続けていくバグは直ったので、r143でコミットしました。