misc.log

日常茶飯事とお仕事と

社内向けセキュリティ関連情報共有メモ

2020/09/30に社内掲示した内容のメモです。

更新:Microsoft製品の脆弱性対策について(9/28更新)

IPAから、CVE-2020-1472という、シグマ社内LANでも使っているActiveDirectoryのサーバーに接続する際に動く処理を悪用すると、管理者アカウントとしてサーバーを乗っ取れるという問題。これの悪用方法が公開されて、既に攻撃事例が出ているそうです。
https://www.ipa.go.jp/about/press/20200918.html
https://www.jpcert.or.jp/newsflash/2020091601.html

ゲーム「原神」アンチチートプログラムのスパイウェア疑惑(9/28)

オンラインゲームでのチート(インチキ、不正)を防止するAnti-Cheatプログラムが、逆にPC内部の情報を外に漏らしているのではないか?という疑惑が話題になり、製造元が釈明しています。
https://genshin.mihoyo.com/ja/news/detail/5815

原神-風と異邦人 (Original Game Soundtrack)

原神-風と異邦人 (Original Game Soundtrack)

  • 発売日: 2020/06/19
  • メディア: MP3 ダウンロード

これですが、興味深いのはゲームの利用規約

genshin.mihoyo.com

第5条 個人情報およびその取り扱い、から抜粋しますね。

しかしながら、当社は提供された個人情報の完全なる保護を約束することはできませんので、ユーザーが提供する個人情報は、ユーザー自身のリスクにおいて提供されるものとします。当社は、ユーザーの個人情報が、管理上、技術的および物理的な問題・侵害行為によって、アクセス、公開、改変や破壊されないということを保証できません。

中国系、またはサーバーが中国にある(全て出なくても一部でも)企業の利用規約は大抵こうなっているようです。結局、政府による検閲や介入があった場合に一企業がそれを防ぐ術はないということなのでしょう。

参考までに、他のゲーム「アズールレーン」の規約を見てみましょう。

www.azurlane.jp

なお、アカウントとパスワードは漏えい、滅失のないよう厳重に管理します。しかしながら、当社は提供された個人報の完全なる保護を約束することはできませんので、ユーザーが提供する個人情報は、ユーザー自身のリスクにおいて提供されるものとします。当社は、ユーザーの個人情報が、管理上、技術的および物理的な問題・侵害行為によって、アクセス、公開、改変や破壊されないということを保証できません。

もう、ほぼ定形文になっているんですね。まぁゲーム程度で漏れる情報は知れていますが、ID、パスワードの組み合わせを各所で転用している場合、1つが漏れると他も全部筒抜けということもありえます。ご注意を。

Apple製品のアップデート情報が公開されています(9/29)

Apple社製品にセキュリティ強化を含めたパッチが出ています。MaciPadiPhoneご利用の方は確認を。
https://jvn.jp/vu/JVNVU92546061/index.html

コンテンツマネジメントシステム CMONOS.JPに格納型XSS脆弱性(9/25)

掲示版等のメッセージにプログラムを書き込むことで、掲示された文章に交じったプログラムが発動するという脆弱性を使う「XSSクロスサイトスクリプティング)」が、上記CMSにあったようで。パッチが出ています。XSS発動の仕組みとまずは手作業での回避方法を考えてみるというのはWebアプリ開発者が一度はやっておくと参考になる勉強だとおもいます。参考にしてください。
https://cmonos.jp/download/history.html
https://jvn.jp/vu/JVNVU93741515/index.html

Web Designing 2020年4月号[雑誌]

Web Designing 2020年4月号[雑誌]

  • 発売日: 2020/02/18
  • メディア: Kindle

ネットの情報を転用するにあたって新人に注意したこと

ことしはほとんど在宅で新人研修を行いましたが、そうすると起きる最大の問題は「明示的に教えたわけではない、先輩達の振る舞いや行動からの自然な学びがゼロ」というものです。別に教えようとしなくても、ちょとした手早い操作であっという間に仕事を片付ける……「今のどうやったんですか!?」とか、電話や同僚同士での指示や受け答えの様子。作業を開始してから終わるまでの立ち居振る舞い、どれくらい集中して作業しているか、他の作業とのバランスをどうとっているか。特に教えるわけではなくても、見ていると自然と伝わる「学び」というのがありますが今年はそれがゼロです。

そうなると、個人の情報収集能力や検索能力が未知の作業へ取り組む際の主な原動力になります。結果、そういうことを頑張って試行錯誤した新人から出た質問や言葉が「ネットにあったコードをどこまで使っていいのか判らない」「使ってはダメだとおもったので見ないようにしました」でした。

以下、そのときの回答を記録しておきます。

ネットの情報利用の可否と注意点

仕事を進めていくなかで、この先「ゼロから完全に自作する」ってのは実際あまりなかったりします。なので、ネットで見つけた良い方法を使わせてもらうことは結論から言うと「アリ」です。ただし条件がいくつかあります。

  • 内容について理解、把握する …… 丸コピーするなということではなく、何なのかをきちんと理解して、取り込んでも問題が無いことを確認する。これは鉄則です。ただ、仕事をやっていけばやっていくほど、どんどん「理解できない高度なもの」に遭遇します。ただ、その頃には皆さんも「まぁ大丈夫だろう」という当たりを付けられるようになると思いますので、先のことは良いとして……当面は「理解できないものは使わない」が安全です。どうしてもそれが無いと先に進めない課題にぶち当たった場合は、その時の上司や先輩と相談して一緒にことに当たってください。そして、その時の先輩達の「着眼点」「チェックのポイント」を見逃さないようにしてください。
  • 動作を確認する …… 公式に取り込む前に、まずはそのロジックがきちんと「期待通りに動くこと」それから、「異常な動作や怪しい動作を行わないことを」をきちんと確認してください。要するに、「外に居る見知らぬ人を家に入れる」ようなもの、と言えばわかりやすいでしょうか?もしくは「落ちてる食べ物を食べる」のほうが強烈かもしれませんが、要するにそういうことです。毒味無しで「拾ったけど美味しそうだから食べよう」は家族揃って死ぬ可能性があります。
  • 著作権に気をつける …… ソフトウェアにも著作権はあります。また、権利の主張方法や制約は作り手ごとに違う場合があります。個人が趣味で使う分にはまぁ何も言われないでしょうけれど、皆さんがこれから取り組むのは「商用ソフトウェア」。要するに汚い言い方をするならば「金儲けをするためのソフトウェア」です。そこに「他人のものを使って金儲けする」というようなことがあると、会社そのものの信用問題にもなりますし、最悪、訴訟などのトラブルになりかねません。ブログなどに貼ってあるコードの断片で著作権云々ということはあまりありませんが、「クラスライブラリ」、たとえば例のDLLなどの形式で公開、配布されているものは利用条件が厳しく定められている場合があるので、そこをきちんと読み解いて問題がないことを確認してください。

上記3点は気をつけるようにしましょう。というわけで、ネットでしらべて自分で「これで行ける」という判断をしたならば、それで行けるという判断自体も開発の一環です。使えるものは使って構いません。また、そうやって「使わせてもらった」ということに対して、いつか将来、みんなのような入門者や、同業の人達に対して「使ってください」と言えるようなものを公開できるようになることも視野に入れて学んでいってください(ギブアンドテイクの精神が重要です)。

C# モーダルとモードレスについて新人に伝えた話

今年はほんと、対面での講義や実習もほとんどない(6ヵ月で30日ちょい)という状況で、研修自体も遅れに遅れたのが9月で打ち切られたのでもう新人に何かを伝えることはありません……。ただ、Slackで指示したり伝えたことはメモしておけば誰かの役に立つでしょうから転記しておきます。

モーダルとモードレスについて

Webアプリでもそうですが、フォームやページが複数あるプログラムを作る際に、プログラムを組んだことが無い人がこのあたりの設計をやると、明確な指示がおこなわれず実装者によってやりかたがまちまちになりがちです)。

たとえばC#の場合、フォームを開く方法は大きく2つあります。

  • ShowDialogで子フォームを開いた場合、親フォームは表示されたまま利用不能状態になる …… この子フォームを「モーダルフォーム(modal form)」と呼びます。このとき親フォームでShowDialogを実行した部分は、そこで子フォームがCloseされるまで処理待ちになります。
  • Showで子フォームを開いた場合、子フォームは独立したプログラムのように動き、親フォームも子フォームも両方使えるようになります …… この子フォームを「モードレスフォーム(modeless form)と呼びます。モードレスで子フォームを開いた場合、親フォームのShow以降の処理はそのまま最後まで実行されます。

この「どちらを使うか」はそのアプリやシステムの基本的な設計指針などにも関わります。皆さんの手元には好きに使えるVisual Studioがあるので、是非いろいろ試して見て、何がどう違うのか、それぞれの注意点などを見いだしていておくと、いざ設計する側に立った時に最初からある程度精度の高い設計ができるかもしれません。

以下参考リンクです。