pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


Wena Wristはスマートウォッチ禁止の試験でも普通のバンドに戻せばよいのが地味に便利

今日はTOEIC Listening and Reading の試験がありましたが、TOEICはスマートウォッチ禁止のケース禁止です。ほかの資格試験も概ね同じですよねえ。

こういうときにバンド部分だけがスマートなWena Wristなら、普通のバンドに戻せばよいので、使い慣れた時計のままで済むのは便利ですねー。

Pebbleを含む普通のスマートウォッチでは、こういうわけにはいかないので、時計部分は普通のままのWena Wristは便利だと改めて思いました。

今回は、たまたま手元にあったNATOバンドとバネ棒を使って普通の時計の針に戻してます。

ちなみにTOEICは初受験なのですが、Reading の最期の長文2問で時間が足りなくなりました。大した準備をせずに受けているので今回はこんなものでしょうけれど、果たして何点取れるものやら。

インストール不要で使えるアンチウィルス製品のリスト

普段使いのアンチウィルス製品とは別のエンジンで検証したい

ひとつ前の記事では Microsoft Safety Scanner を使ってみたのですが、他に選択肢があるかどうかを知っておくのは結構大切ではないかと考えました。

特に、普段使いのアンチウィルス製品が Windows Defender だった場合には、Microsoft 以外のベンダーの製品でダブルチェックできると有り難い。

そこで、Microsoft 含めて各社が提供するスタンドアロン型かつインストール不要なアンチウィルス製品をリストアップしてみました。

製品名 URL
Microsoft Safety Scanner https://www.microsoft.com/ja-jp/wdsi/products/scanner
McAfee Stinger https://www.mcafee.com/jp/downloads/free-tools/stinger.aspx
ノートンパワーイレーサー https://support.norton.com/sp/ja/jp/home/current/solutions/kb20100824120155EN_EndUserProfile_ja_jp
Kaspersky Virus Removal Tool 2015 https://support.kaspersky.co.jp/8527

これ以外にもいくつかのソフトウェアがありますが、リストに入れていません。これについては気が向いたら確認してみようかと思ってます。

インストール不要のアンチウイルスソフト Microsoft Safety Scanner で検査してみる

マシンの挙動が変なので、普段使いのアンチウイルスソフトとは違うエンジンで検査してみようと考えた

仕事用のPCは Cylance のアンチウイルスソフトウェアが導入されているのですが、1日に1回くらい、explorer.exe が再起動する謎の現象が出るようになってしまいました。

また、誤検知かどうかはわからないけれど、いくつかのファイルを脅威と検知されてしまい、隔離が行われてしまいました。

少なくとも explorer.exe が再起動する状況というのは気持ち悪状況であることは確かです。誤検知は、安全のためなら少々の誤検知はやむを得ないけど、これもちょっと不便。

しかし環境の再インストールは大変なので、まずは別のアンチウィルスで検査してみることにします。

Microsoft Safety Scanner とは?

Microsoft Safety Scanner は、アンチウイルスのためにメインで使うものではなく、あくまで予備的に使うツールです。

このソフトウェアでは次の機能が提供されます。

  • 無料
  • 常駐しない
  • 手動実行のみ
  • インストール不要
  • スキャンして脅威を検出し、復旧
  • ダウンロードから10日間だけ利用可能
  • Windows10 - 7 にで利用可能

常駐しないし、手動実行だけなのですから、メインの目的には当然使えません。なんか変だなーと思ったときの二重チェック用です。

Windows Defender (Windows10, 8) や Microsoft Security Essential (Windows7) を利用している場合に、Microsoft Security Scanner との組み合わせが意味を持つかどうかは不明。検出エンジンは同じだと思うので、あんまり意味ないかも。サードパーティアンチウイルス製品を利用しているなら、ダブルチェックになるので意味があります。

入手方法、使い方

下記URLから入手できます。

Safety Scanner - Windows Defender Security Intelligence

使い方はこちらのページに掲載されていますが、実行して「クイックスキャン」「フルスキャン」「カスタムスキャン」のいずれかを選ぶだけ。

Microsoft Safety Scanner で PC の状態を確認し、ウイルスを駆除する

私の場合はこの手のツールは「フルスキャン」のみを行います。カスタムスキャンで検査されない場所に何かが潜んでいても困りますし。

実行結果

サマリはアプリに表示されますが、実行時のログは "C:\Windows\debug\mrt.log" にも出力されていますので、何か問題があったときはこちらを見るほうがよいです。

自分の環境では2つの脅威が検知されましたが、片方はアンチウィルス製品の試験用ファイル (eicar.com) であり、もう一つは Cylance の隔離フォルダでの検知でした。

今回の実行時ログのサマリはこんな感じでした。

---------------------------------------------------------------------------------------

Microsoft Safety Scanner v1.0, (build 1.263.1819.0)
Started On Sat Mar 31 14:31:16 2018

Extended Scan Results
---------------
(略)

Threat detected: Virus:DOS/EICAR_Test_File
    file://D:\Users\pslabo\Downloads\eicar.com
        SigSeq: 0x00000555DC2DDDB0
        SHA1:   3395856ce81f2b7382dee72602f798b642f14140
Threat detected: TrojanSpy:Win32/Ursnif
    file://C:\ProgramData\Cylance\Desktop\q\828bd4f3.exe.quarantine
        SigSeq: 0x0000157E1BA61378
        SHA1:   047bb2cf07954ca758ba4fa2e50b019c99eda290

Extended Scan Removal Results
----------------
Start 'remove' for file://\\?\D:\Users\pslabo\Downloads\eicar.com
Operation succeeded !

Start 'remove' for file://\\?\C:\ProgramData\Cylance\Desktop\q\828bd4f3.exe.quarantine
Operation succeeded !


Results Summary:
----------------
Found TrojanSpy:Win32/Ursnif and Removed!
Found Virus:DOS/EICAR_Test_File and Removed!

とりあえず、この結果から考えると、自分のPCのウィルス感染は無さそうですし、やばそうなファイルは Cylance が隔離してくれているようです。

なお、eicar.com の試験ファイルはココから入手できるのですが、全てのアンチウィルス製品が脅威として検知しますのでウィルス検出時の挙動を確認しておくことができるので、PCユーザはこういうのを使って検出時の挙動を把握したり、あるいはメール等で添付ファイルが送りつけられた場合の対応を練習しておくと良さげです。

なお、実際のファイルは全く安全なファイルですが、それはあくまで eicar.com から直接入手したものに限られます。よくわからない経路で eicar.com を受け取っても、それを信用してはいけません。

www.eicar.org

オープンソースのDisplay Calibrationソフトウェアに関するメモ

i1 Display Pro や Color Munki の専用アプリよりも使いやすいという話があるのでメモしておく

Color Management のコア部分は Argyll CMS http://argyllcms.com/argyllcms.com

これを利用するための GUI アプリが DisplayCAL displaycal.net

Windows, macOS, Linux で利用できるようです。

カラーキャリブレーターを入手できたら使ってみよう。

無くし物や忘れ物の防止用にTrackR pixelを本格導入する

以前から TrackR と MAMORINO を試験的に使っていたのですが、自分の要件には MAMORINO よりも TrackR の方が合うので、本格的に使っていくために TrackR pixel 3個パックを追加購入してみました。

導入を決めたきっかけ

今回、本格的に使うことを決めたきっかけは、朝早い時間に出社したにも関わらず、オフィスの入室カードキーを忘れたためにせっかくの早起きを無駄にしてしまったこと。

試験利用中の1個はカバンの中の Yubikey につけていたので、カードキー忘れの防止には全く役に立ちませんでした。

TrackR を何に付けるか?

追加購入したブツを含めて4つの TrackR pixel を以下のように配分することにしました。

  • 通勤用カバン(今まで通り、Yubikey と一緒につけておく)
  • 入室カードキー(ネックストラップにカードキーと TrackR を下げる)
  • 財布(小銭入れに入れておく)
  • 出張用のキャリーバッグ(内側のポケットに入れておく)

自分の普段使いの物品でタグつけておきたいのはこれくらいです。

MAMORINO を選ばない理由、TrackR を選ぶ理由

MAMORINO ではなく TrackR を使う理由は2点です。

  • スマートフォン側からの操作で音を鳴らして探せる
  • 電池交換が自分で行える

MAMORINO は上記の点ができないので、本格利用は見送りました。音を鳴らして探すことができるのは、探し物をするときにとても役に立ちます。MAMORINOだと自分の近くにあることは分かっても、最終的に見つけるのは自分で頑張らねばなりません。

電池交換については、できないことは必ずしもネガティブでは無いし、MAMORINO のように新品に半額で交換できるのは悪く無いけど、タグの個数が増えるとそれなりに負担になるので、たくさん使いたい場合は交換できた方がありがたい。

ただし MAMORINO は可動部品(電池蓋やスマートフォンを探すスイッチ)がなく、またタグの形状がシンプルなので、手元にある分は子供に持たせている家のカギにつけておく運用を当面継続しようと考えています。(ただしバッテリが切れたら、これも TrackR に変えるかもしれないけど)

クラウドサーチの機能には期待しない

なお、TrackR にしろ、MAMORINO にしろ、クラウドサーチの機能は基本的に当てにしていません。これは運が良ければ見つかる、くらいの話だと思っています。

ユーザ数が増えてきたらそれなりに使い物になるかもしれませんが、今の普及度ではまだまだ難しい。

設定の注意点

  • 「Cloud Locate アラート」は原則 off で使います。これを on にしていると、自分が持ち歩いているはずのタグを誰かが見つけたときにアラートが上がってきて大変ウザい

  • 「アイテムの移動履歴」はお好みで。on にしておけば履歴が取れるので、探すときの参考になる場合もあるかもしれません。

  • 「デバイス分離アラート」は、基本は off だと思います。これを on にしていると、スマートフォンとデバイスの距離が離れていると検知したときにデバイスから音が鳴り出すので、普段使いには向きません。

  • 「携帯電話分離アラート」も、基本は off だと思います。on の時は離れたときに スマートフォンに通知され、おまけにアラーム音が鳴ります。このアラーム音はマナーモードでも鳴るので、少々困ります。ただしアラームはカスタマイズ可能なので、無音の音楽をスマートフォンにインストールしておき、それをアラームonに設定しておくことで回避可能です。

  • WiFiセーフゾーンに登録された WiFi に接続中は、アラートを無効にすることができます。距離が離れたかどうかの検知は誤作動することがあるので、そういう場合に無駄な通知をさせずにすみます。

JSONデータのキーをカンマ区切りで取得したい

JSONデータのキーをカンマ区切りで使用する必要が出たので、方法をメモしておく。

$ curl [URL] | jq -r '.rootProperty[0]|keys_unsorted|@csv' | sed 's/"//g'
$ curl [URL] | jq -r '.rootProperty[0]|keys_unsorted|@tsv' | sed 's/\t/,/g'

基本的には jq に丸投げしつつ以下のことを行っているだけ。

rootProperty の部分は実際のJSON配列名等に書き換えます。

  • keys_unsorted でキーをソート無しで取得
  • @tsv または @csv に変換
  • sed で余計な文字を切り落とす

本当は @csv でダブルクオートなしの出力が得られればよかったのだけど、そういうわけではなさそう。だから @csv したものを sed で後処理している。

同様の理由により、@tsv した場合も sed での後処理が必要っぽい。

Oracle12g を Docker で動かす

Oracle12g も立てる必要がでてきたので、同じく Docker で立ててみる。

DB2 は公式ストアから入手してみたけど、Oracle はこちらの手順でやってみることにします。

qiita.com

そうすると以下の設定で接続できるものができました。

  • ポート番号 = 1521/TCP
  • Service_Name = ORCLPDB1
  • パスワード (SYS, SYSTEM, PDBADMIN) = コンテナの生成ごとに振られるランダム文字列

TNSの接続なら、こういう文字列ですかねえ。

  • (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = IPアドレス)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ORCLPDB1)))

起動したコンテナは Ctrl + C すると一時停止しますが、docker start [コンテナ名] と実行すれば再開します。

以下では docker run の初回実行時のコマンドとログをメモとして残します。公式ストアから入手する方法は別途試そう。

$ sudo docker run -p 1521:1521 -p 5500:5500 --name Oracle12g -i oracle/database:12.1.0.2-ee 
Password:
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: (生成されたパスワード)

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 27-FEB-2018 13:03:37

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Starting /opt/oracle/product/12.1.0.2/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.1.0.2.0 - Production
System parameter file is /opt/oracle/product/12.1.0.2/dbhome_1/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/8bd9ba867228/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                27-FEB-2018 13:03:38
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/12.1.0.2/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/8bd9ba867228/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
Copying database files
1% complete
2% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
43% complete
45% complete
Completing Database Creation
48% complete
51% complete
53% complete
62% complete

64% complete
72% complete
Creating Pluggable Databases
78% complete
100% complete
Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.

SQL*Plus: Release 12.1.0.2.0 Production on Tue Feb 27 13:30:14 2018

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> 
System altered.

SQL> 
Pluggable database altered.

SQL> Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
Tue Feb 27 13:30:00 2018

XDB initialized.
Tue Feb 27 13:30:10 2018
Thread 1 advanced to log sequence 12 (LGWR switch)
  Current log# 3 seq# 12 mem# 0: /opt/oracle/oradata/ORCLCDB/redo03.log
Tue Feb 27 13:30:14 2018
ALTER SYSTEM SET control_files='/opt/oracle/oradata/ORCLCDB/control01.ctl' SCOPE=SPFILE;
   ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
Completed:    ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
Tue Feb 27 13:38:59 2018
Resize operation completed for file# 9, old size 563200K, new size 593920K
Tue Feb 27 13:55:17 2018
Warning: VKTM detected a time drift.
Time drifts can result in an unexpected behavior such as time-outs. Please check trace file for more details.
Tue Feb 27 13:55:17 2018
Default pga_aggregate_limit value is too high for the
amount of physical memory in the system
pga_aggregate_limit is 2048 MB
limit based on physical memory and SGA usage is 1199 MB