Joyful Noteと秀丸エディタに脆弱性が発覚!

本日、NVD(National Vulnerability Database)に報告されていた以下の二つのソフトウェアを更新しました。

 

「Joyful Note」(PerlのCGIプログラム)は、このサイトの画像掲示板で使用しているため、修正が急がれました。
しかし、バイリンガルに対応するためプログラムを修正していたため、少し、更新に時間を要しました。
ついでに、サーバーのパーミッションの関係で、「.css/.js」ファイルが正常に読めていなかったバグも修正しました。 * 当該ディレクトリに以下の定義を追加

 

Windowsプログラマが愛用する「秀丸エディタ」にも、意外な脆弱性発覚です! (°°;)

防犯カメラの交換

お店の防犯カメラが壊れたため、昨夜、台風が来る前にカメラの交換作業を行いました。 👷
壊れたカメラは屋外に設置されています。これは、暗くなると自動的に赤外線を照射し、モノクロ撮影が行えるカメラです。
以下の写真に示すモニタの中の「Camera 02」を確認したところ、昼間は撮影されるのですが、夜が撮影されなくなっていました。 カメラの赤外線は照射されているようなので、どうやらIR受光部の故障のようです。

その交換の為に買ったカメラは、以下のスペックの中国製のCCDカメラです。

  • 商品名: CCD防犯カメラ(防水 + 赤外線6mmレンズ)
  • 映像素子: 1/4インチ SHARP CCD
  • 水平解像度: 420TVLine (NTSC)
  • レンズ: 6mm
  • ホワイトバランス機能: 有(自動)
  • ゲインコントロール機能: 有(自動)
  • 映像出力: 75Ω/1.0Vp-p
  • 電源: DC 12V
  • LED: 36個
  • 有効距離: IR照射距離 30M
  • 自動電子シャッター: 1/50~1/100,000 秒

少なくとも映像素子が日本製である事が救いかもしれません。
この商品は、ヤフオクにて、2,080円で落札しました。
もしこの商品が日本製ならば、20,000円以上になってしまうのでしょうね。 (..;)

因みに、当店には台湾製のAVTECH社のDVR(Digital Video Recorder)が設置されています。
残念ながら、中国製はクオリティが低く、大概1年以内で壊れます。
このDVRは、ネットワーク機能(Webサーバー)をサポートしていて、外部からDVRを操作する事も可能です。

お店のDVR(以下の写真で銀色の機材)は、光モデムから取得したグローバルIPドレスをPCで自動的にDNSサーバーにダイナミックDNS登録を行うと共に、ルーターの80ポートを解放しています。
よって、仮にIPアドレスが変ってもLANの外からWWWへアクセス出来ます。

以下の通り、無事にカメラの交換作業が完了しました。 \(^_^)/

なお、以下の写真は、私が住むマンションで、私が去年設置した高性能な防犯カメラシステムです。 (エルモ社のVP電源装置とカメラは既存のものを使用)

このクラスのDVRの場合、日本製なら約30万円くらいはします。
私は、海外製(多分、台湾製)を選定したため、約3万円(HDDを除く)で収まりました。
その代わり、マニュアルが未だ無いため、私がボランティアでマニュアルも執筆する事になってしまいました。 Orz
このDVRは、ブルーレイと同じ圧縮規格「H.264」で録画が可能な8chの機種「SecuOn YR068」です。

最近の殆どのDVRは、マウス操作が可能となっており、ネットワークにも対応しています。しかしながら、提案はしましたが、今のところ、我々は当マンションにネットワーク機能を導入しておりません。
このDVRには、8TB(4TB×2units)の内蔵HDD(SATA)を組込みましたので、HD画質(1280×720)だと、約2ヶ月間の連続録画が出来ます。

以下は、マンションの管理組合へ提出した納品用CDRの一部です。

ブルート・フォース攻撃

 

xfiles     

先月、このサイトのプラットフォームであるWordPressにクロスサイトスクリプティング(XSS)の脆弱性が発見されました。
よって、4月22日から28日までの間、セキュリティ保全の為にリリースされたWordPress4.1.2/4.2/4.2.1へとアップデートを順次実施しました。

それに伴い、WordPressの不具合も発生し、WordPressのフォーラムへの報告など、色々と面倒な作業も発生してしまいました。
丁度彼らがその機会を得たかのように、その間に当サイトへハッカー軍団からの猛烈なアタックを受けました。
結局、その対策が必要となったため、先月はブログを執筆するような余裕はありませんでした。

最初の添付写真は、perlの監視プログラムの画面ですが、18時に1628件のアクセスを検知しています。
NewStatPressのログを調べたところ、アクセス元の「ns396380.ovh.net」は、wp-login.phpを狙ったフランスからのブルート・フォース攻撃である事が判明しました。
しかし、最も多い攻撃は、コメントフィールドへの不正な書き込み(SPAM)と旧バージョンでの脆弱性が知られているプラグイン「RevSlider」への攻撃です。その他、xmlrpc.phpを経由し、パスワードのハッキングやpingback攻撃(DDoS攻撃)もアクセス・ログから確認しています。
アタック元は、ウィルスやマルウエアを介して、ハッカーにより乗っ取られたPC(Windows XPが多い)やWebサイトからの発信が大多数を占めています。
組織的なハッキング行為は、ロシアやウクライナからが非常に多いように思えます。
それらのソフトウエアは、何処かの悪い奴らから遠隔操作されているものと思われます。

もし、ブルート・フォース攻撃を放置していると、パスワードが解読されサーバーを乗っ取られたり、リソースを食い尽くされサーバーがダウンする場合もあるので、現在、それらのIPアドレスは全てアクセス禁止にしています。

WordPressは、誰でも手軽にブログ・サイトが無料で構築でき、豊富なプラグインも揃っているため、世界で最も利用者が多いCMSなのですが、反面、常にハッカーからの攻撃を受けています。

以下のリンクには、2013年に発生したレンタルサーバー「ロリポップ」の大規模ハッキング事件の経緯が書かれています。

第三者によるユーザーサイトの改ざん被害に関するご報告

8000件以上のWordPressサイトがハッキングされ、HPが改竄されたという事実は、本当にショッキングな出来事でした。

ハッカーから身を守る為には、

  • パスワードを強固なものに設定する。
  • 重要なシステムファイル(wp-config.php/wp-login.php/admin-post.php/xmlrpc.php等)のパーミッションを第三者からアクセス出来ないようにする、または参照できないようにする、そして書き換えられないようにする。
  • WordPressの本体とプラグインを最新の状態に保つ。
  • セキュリティ関連のプラグインをインストールしておく。
  • 不審なアクセスがないかどうかの監視を怠らない。
  • ハッカーからのアクセスをブロックする。 👉 悪質なBOTからのアクセスを制限

こんな感じでしょうか?

因みに、URL/wp-login.phpが実際のURL(URL/wordpress/wp-login.php)へリダイレクトされる事を防ぐため、fuctions.phpに以下の定義を追加しています。

そして、wp-config.phpのパーミッションは、404に設定しています。本当は、400に設定したいのですが、ドメインキングのサーバー環境ではApacheに所有権が無いため無理です。
でも、外部からのアクセスがかなり制限されているので、安全性は高いです。
(私が所有するもう一つのサーバーは、telnet/SSHが使えます)

まぁ、兎に角、色々と大変ですね。 (m_m)

なお、あなたのサイトがマルウエアに侵され他サイトへの攻撃に加担しているかどうかについて、以下のサイトでチェックできます。

Sucuri Research

Webサイトがウィルスに侵されると、ブラックリストに登録され、インターネットから遮断されるペナルティを受ける事になります。ですので、十分注意しましょう!

※ 5月8日 追記
私が指摘したWordPressのバグが4.2.2のリリースで、やっとFIXしました。

👉 4.1.2/4.2へアップデート後、記事の更新でブラウザが固まる

WordPressプラグイン「Easy FancyBox」の脆弱性

実は、私が以前から気になっていた事があります。
今年の2月から、WordPressの人気プラグイン「FancyBox for WordPress」の脆弱性が狙われ、Webサイトがイスラム国を名乗るページに改竄される事件が多発していました。 👉 WordPress 用 FancyBox プラグインにおけるクロスサイトスクリプティングの脆弱性
最新バージョンでは、既に対策済みらしいのですが、当サイトで利用しているプラグイン「Easy FancyBox」は果たして大丈夫なのでしょうか!?

そこで、私はWordPressのフォーラムを調査しました。
以下に、それに関連するQ&Aを貼っておきます。
Google翻訳では訳せないため、一応、私なりに日本語へ訳してみました。
(間違ってるかもしれませんが)
とてもシンプルな回答ですが、とりあえず大丈夫みたいですね! (^_-)

なお、回答で言及された「二つのプラグインが共有」とは、「jQuery」の事を指しているのではないかと思われます。


https://wordpress.org/support/topic/general-question-about-security

Easy FancyBox
[resolved] General question about security (2 posts)

BackpackersUnion
Member
Posted 1 month ago #

Hi RavanH,

This is probably old news to you, but I wanted to ask if the code exploit found in the other plugin “FancyBox” is relevant to your plugin? I’m not sure if they’re related to each other in any other way except the name, but wanted to ask.

Thanks for all your great work and here’s a link to the article

Thanks again,
Carl

https://wordpress.org/plugins/easy-fancybox/



——————————————————————-

RavanH
Member
Plugin Author
Posted 1 month ago #

Hi, no. Although the two plugins share more than the name (the script is called fancybox), the exploit was plugin specific.

 

Easy FancyBox
[解決]セキュリティに関する一般的な質問(2記事)

BackpackersUnion
メンバー
一月前に投稿されました #

RavanH こんにちは

これは、あなたにとって古いニュースかもしれませんが、もし他のプラグン「FancyBox」で、そのコードの脆弱性が見つかったならば、あなたのプラグインと関連するのかを尋ねたい。
もし、それらがその名前を除き、他の何らかの方法でお互いに関連しているのかどうか、私はわかりませんが、お伺いしたいです。
あなたの全ての偉大な仕事に感謝し、そして、ここはその記事へのリンクです。

再度、感謝します。
カール

https://wordpress.org/plugins/easy-fancybox/

———————————————————————-
RavanH
メンバー
プラグインの作者
一月前に投稿されました #

こんにちわ、いいえ。
その名(スクリプトがfancyboxと呼ばれている)以上に二つのプラグインが共有するのですが、その脆弱性はプラグインの仕様でした。

 

* 4月23日 追記
本件に関しては、以下のリンクに示されたWordPressの新しいリリースにより、クロスサイトスクリプティングの脆弱性が改善され、セキュリティが更に強化されたようです。 (このサイトは、既に新バージョンに更新済みです)

WordPress 4.1.2 Security Release

なお、WordPressの新バージョンへの更新は急がれますが、代わりにWordPressやプラグインの動作に不具合が発生するかもしれません。

* 5月9日 追記
WordPress 4.2.2のリリースにより、WordPress 4.1.2/4.2/4.2.1に存在した脆弱性と大半のバグが修正されました。

悪質なBOTからのアクセスを制限

 

Mission Impossible     

* このページは、常時更新中です。

本サイトに設置したPerlのアクセス解析プログラムのログとWordPressのプラグイン「NewStatPress」の分析結果を調査しました。
その結果、相変わらず、自身をBOTと名乗らない迷惑BOTから大量のアクセスがある事が確認できました。

そのBOTについてですが、当サイトでは以下のような種類を確認しています。

(1) 手当たり次第に掲示板やコメントフィールドへ商品の宣伝を書き込む「SPAM・BOT」
⇒ “Google No CAPTCHA reCAPTCHA”により、全てガードされています。

(2) WordPressへのログインを試みる「ハッキングBOT」(Brute Force Attack)
⇒ “Google No CAPTCHA reCAPTCHA”により、全てガードされていますし、更に、強固なパスワードに変更していますので、まず大丈夫でしょう。

* 4月20日 追記
その後、更にログ解析を進めた結果、ログイン名とパスワードをWordPressのxmlrpc.phpへ送信する方法で、裏口からの侵入を試みる多数のハッキングサイトを確認しました。 因って、そのIPアドレスを本日ブロックしました。

(3) プラグインの脆弱性を利用し、記事の書き換えを試みる「ハッキングBOT」
⇒ 当該プラグインは当サイトでは使用していません。なお、当サイトでは、プラグイン「Revslider」等へのアタックを確認しています。 ⇒ wp-config.phpを閲覧することで、彼らはDBやWebサイトへの侵入を企んでいます。

これらのアタックサイトに関しては、Windows XPやWindows 2000等のセキュリティが脆弱なPCやWebサイトがウィルスに感染し、それを踏み台にして邪悪なBOTへと変貌している可能性が考えられます。

上記の調査結果を踏まえ、これ以上、悪質なBOTの行為を許す事が出来なくなりましたので、この度、特に悪質なBOTへの大規模なアクセス制限を実施しました。

以下は、Apacheの「.htaccess」に追記した当サーバーへのアクセス拒否設定の一部です。
* 10月1日時点において、合計で302個のIPアドレスを昇順に定義しています。

 

これで、BOTで賑わっていた当サイトがかなり静かになりました。 (笑)

【アクセス制限について】
アクセス解析の結果、ApacheによるIPアドレスからホスト名への逆引きが不可能なケースを散見しましたので、ホスト名ではなく、全てIPアドレスの記述により、アクセス制限を実施しました。
例として、以下のように複数のIPアドレスを使って攻撃してくるBOTについては、IPのサブネットマスクを指定する事で対象IPを纏めて拒否するよう設定しました。

 

【サブネットマスクの指定方法について】
これ以降、情報処理技術者の方は読み飛ばして下さって結構です。
迷惑BOTの疑いのあるホスト名またはIPアドレスを以下のwhoisデータベースのサイトで、サーバー情報を取得します。

https://www.cman.jp/network/support/ip.html

実例として、「195.154.188.41」を検索します。
その結果、以下のように当該ネットワークが使用するIPアドレスの範囲が確認出来ます。

inetnum: 195.154.128.0 – 195.154.255.255

これを二進数に展開します。

11000011 10011010 10000000 10000000
11000011 10011010 10000000 10000001
11000011 10011010 10000000 10000010
11000011 10011010 10000000 10000011



11000011 10011010 11111111 11111110
11000011 10011010 11111111 11111111

これで、上位17bitが固定で、下位15bitが可変である事が解ります。
よって、上位17bitを固定するためのサブネットマスクは、以下のように表記出来ます。

11111111 11111111 10000000 00000000

対象IPアドレスに対し、このサブネットマスクと二進数の論理積の演算結果の値が一致すれば、制限IPアドレスという事になります。
このサブネットマスクは、「.htaccess」の中で以下のように記述します。

195.154.0.0/17
または
195.154.0.0/255.255.128.0

未だ全てのBOTを排除していないので、小さなBOTは居ますが、以前よりはかなり静かになった感じがします。
以下は、BOTへのアクセス制限を行った後におけるPerlのアクセス解析プログラムのモニター画面です。

*4月9日 追記
念のため、ログイン画面への総当たり攻撃を防御するためのプラグイン「Jetpack-Protect」も本日有効にしておきました。

*4月17日 追記
不正ログインをチェックするために開発された日本製のプラグイン「Crazy Bone」をインストールしました。

*9月18日 追記
先日、韓国からのDOSアタックやウクライナからのSPAMアタックを受け、サーバがダウンしたため、「.htaccess」を更新しました。以下の記述はその一部です。

なお、robots.txtにおいても、以下のように迷惑BOTからのアクセスを拒否しています。
因みに、SteelerとShim-Crawlerは、東京大学の研究室から来るクローラです。

 

*9月26日 追記
アクセスログの解析から、WordPressのピングバック機能を利用したDDOS攻撃の形跡も確認しましたので、本サイトのピングバック機能を無効に設定しました。
参考記事は、こちら ⇒ 注意喚起:WordPressの機能を悪用したDDoS攻撃対策のお願い

プラグイン「Disable XML-RPC Pingback」をインストールする事でピングバック機能を無効にし、更に、「.htaccess」に以下の定義を追加し、リモート投稿プログラム「xmlrpc.php」へのアクセスも禁止に設定しました。

Google No CAPTCHA reCAPTCHA

本サイトは、ログインフォームやコメントフォームにおいて、ロボットからの自動SPAM投稿を排除するためGoogleが開発した最新のAPI「No CAPTCHA reCAPTCHA」を採用しています。
なお、reCAPTCHAのオリジナルは、2007年にカーネギーメロン大学ピッツバーグ本校にて開発されました。

しかし、今までインターネットエクスプローラーを使っている上では、一番目の画面(reCAPTCHA)に示した文字認証しか見た事が無かったんですが、昨日、GoogleのChromeでログインしたところ、やっと新しい形式の画像認証画面(No CAPTCHA reCAPTCHA)が表示されました。
この文字入力不要の認証画面は、面白いです!
これをロボットで判別するのは難しいかもですね。 (^_^;)

なお、このプラグインの説明については、こちらをご参照下さい ⇒ WordPressマルチリンガルサイトの推奨プラグインを全解説!

AndroidスマホのGoogleアカウントが危ない!!

先日、久々にPCから「googleアカウント」にログインし、「セキュリティ診断」を実施したところ、海外のハッカーからの不正ログインが発覚しました。 😥

被害状況を確認するため、「Googleウォレット」にログインしましたが、不正な購入履歴は無く、今のところ実害は無かったようです。
しかし、既にカード情報が盗まれている可能性は完全に否定出来ません。  😐

どうやら、簡単にハッキングされた原因は、googleアカウントに「2段階認証プロセス」を設定しておらず、セキュリティ設定が甘かったようです。

この問題に対し、以下の手順で対処しました。

(1) googleアカウントのパスワード変更
(2) 2段階認証プロセスの設定
(3) Googleウォレットに設定されたクレジットカード番号の削除 (Google Playで購入する時だけ再登録する方式)

ネットを検索したところ、Googleアカウントが乗っ取られ、知らぬ間にカードが不正に引き落とされたという報告が多く寄せられていますので、皆さんも十分注意された方が良いかと思います。

 

以降、この件の詳細について、順番に説明致します。

1. Googleアカウントへのログイン
PCにて、以下のURLからGoogleアカウントへログインします。

https://www.google.com/accounts/Login?hl=ja

Google Account

Google Account

 

2. セキュリティ診断の実施
ログイン後に表示される「アカウント設定」の画面から、「セキュリティ診断」を開始します。

Google Account - Security-Diagnosis

Google Account – Security-Diagnosis

 

3. 最近のアクティビティの確認
「セキュリティ診断」から「最近のアクティビティの確認」を実行します。

Security Diagnosis -  Recent Activity

Security Diagnosis – Recent Activity

 

4. 不正なログインのチェック
Googleは、IPアドレスから地域を特定しているようですが、日本国内に関しては、あまり正確な場所が表示されないため、当てになりません。 ここでは、特に海外からのアクセスに着目します。
この例では、インドのデリー、ニューデリーからの不正ログインが確認出来ます。

Incorrect Login

Incorrect Login

 

ここで、「覚えがない」を選択し、Googleアカウントのパスワードを変更します。 変更したパスワードは、忘れぬよう紙にメモをし、大切に保管して下さい。

 

5. 2段階認証プロセスの選択
Googleの「アカウント設定」の画面へ戻り、「2段階認証プロセスの設定」を選択します。

Selects "2 phase certification process"

Selects “2 phase certification process”

 

6. 2段階認証プロセスの設定
メインの携帯端末のメールアドレス、バックアップ用電話番号を設定します。
コードの送信方法をテキストメッセージにすると、指定のメールアドレスへ認証コードがメールで送られて来ます。

2 phase certification process

2 phase certification process

 

7. 2段階認証プロセスのログイン
Googleからメインの携帯端末へ送信された認証コードを入力し、2段階認証プロセスの画面からログインします。

Login - 2 phase certification process

Login – 2 phase certification process

 

8. Googleウォレットの確認
以下のURLから、Googleウォレットへログインします。

https://wallet.google.com/manage?hl=ja

Google Wallet

Google Wallet

 

不正な引き落としが無いかどうかを確認します。
必要に応じて、「9. 支払い情報の削除」の処理を実施します。

 

9. 支払い情報の削除
Googleウォレットの画面より、「お支払い方法」を選択し、登録情報を削除します。

Removes Google wallet information

Removes Google wallet information

 

これでもう、あなたも今日から安心です!  🙂