SyuchiNikuRingの備忘録

お勉強したことをまとめておく場所。中の人の理解や感覚で書いているから不正確なことも多いかも。

“Windows10 ライセンス認証”エラーについて

やっほー。

数日前からPCの右下に”Windowsのライセンス認証”という透かしが出ています。
とはいえ,起動時やシャットダウン時に何かしらのメッセージが出てきたわけではないので,特に気にしていませんでしたが,この透かしが出ている人が少なからずいるようなので,ちょっとご紹介。

とまあこんな感じで話題になっているわけです。
現在は修復され,ほっといても24時間以内に自動でライセンスを正しく認証してくれるようです。
手動でもできます。いろいろなところにある通り,
設定→更新とセキュリティ→ライセンス認証→トラブルシューティングで元通りです。
Microsoftのコミュニティによれば,アクティベートサーバの一時的な問題だそうです。
answers.microsoft.com

誘導型ポップアップ"Apple警告"に関して

やっほー。

さっきネットサーフィンしていたら,
Apple警告...」となんかグダグダ書いてあるポップアップが出てきました。まあ6月くらいから流行り始めているyowwinnerprizeと同系統ですね。
出た画面がこちら。
f:id:SyuchiNikuRing:20181109224820j:plain

googleトレンドで調べてみても何も表示されないので,最近に出現したようです。

詳しい解説をしているサイトがあるので,信憑性はさておき,こちらをどうぞ。
Appleセキュリティ「Apple警告: セキュリティ上の脆弱性が検出されました」通知が表示されたけど大丈夫?について

試しにポップアップの「Close」をクリックしてみます。
f:id:SyuchiNikuRing:20181110104622p:plain
うさんくせぇ…前半はまだしも、「以下のボタンを…」から始まる後半は明らかにおかしいですね。「VPNを7日間使用」する意味もその後に「プレミアムバージョンを購入」する意味も分かりません。「パスワードが危険」なのにのんきにお試し期間付きのVPNを使うことをAppleがアナウンスすることは考えにくいです。そんなわけでまあ無視してタブを閉じれば良いのですが(そもそもポップアップの「Close」をクリックするまでもなく閉じれば良い)、せっかくなので、先ほどの警告画面の「インストール」と「キャンセル」をクリックした場合にどうなるのかを試してみます。

  • 「インストール」をクリックした場合

こんな感じになりました。
f:id:SyuchiNikuRing:20181110105933p:plain
予想通り、インストールするようにiTunesに飛ばされました。インストールするアプリとして表示されたのは、シマンテックのセキュリティプロダクトNortonです。Nortonに悪意あるプログラムを仕込んでいることは考えにくいので、今回のポップアップを仕掛けた者の意図はインストール数に応じた収入だったのではないのか、と考えられるわけです。
また、Nortonのページを見るとわかりますが、最近発見されたWi-Fiの脆弱性に「KRACK」というものがあります。KRACKはKey Reinstallation AttaCKの略で、攻撃者はターゲットの通信内容を盗聴可能になります。KRACKに関しては最後に書きます。
話を戻して、「KRACK 脆弱性」でググると、Nortonのページが一番上に出てきます。
f:id:SyuchiNikuRing:20181110112142p:plain
結局のところ、先ほども述べたようにポップアップを仕掛けた者の意図は、この検索結果を利用してNortonのインストールを誘導し、インストール数を稼いで収入を得ていたのではないかと考えられます。

  • 「Close」をクリックした場合

こうなります。
f:id:SyuchiNikuRing:20181110112708p:plain
「OK」をクリックします。
f:id:SyuchiNikuRing:20181110112742p:plain
あとは「OK」「Close」の繰り返しです。

さて、KRACKに関してです。
先ほども書きましたが、KRACKはKey Reinstallation Attackの略です。
概要としては、Wi-Fiの暗号化protocolであるWPAやWPA2の欠陥を利用します。既存のWi-Fiネットワークと同じSSIDをもつWi-Fiネットワークを用意します。既存のネットワークにアクセスしようとしてきた人に通信先を偽のネットワークに切り替えさせるパケットを投げて用意していた同名のSSIDWi-Fiネットワークに繋げさせます。そして暗号化protocolの脆弱性を利用してユーザの暗号鍵を変えることでユーザの通信を盗聴できるようになります。
詳細はこちらのカスペルスキーのページをご覧ください。
blog.kaspersky.co.jp

今回の話をまとめると、ポップアップが出てきたからと言って焦る必要もなく、今回に限れば特に害があるわけでもなさそうだということです。

民法のあれこれと行政法のあれこれ

やっほー。久しぶりですね。

今回は民法家族法領域の話と行政法の訴訟に関する話をまとめておきます。

家族法では、相続に関する規定が置かれいていますが、何でもかんでも好き勝手に遺言者の思い通りになるとは限りません。なぜか。相続財産も残された者にとっては経済上の利益となり、その利益をもって経済的に保護すべきだとされているからです。
そこで、法は遺留分減殺請求権を認めています。相続財産の一定割合についてはもらい受けることを主張する権利です。法で割合が決まってます。
しかし、遺言者の兄弟姉妹はこれを主張することはできません。

次に,行政法の訴訟に関してまとめます。

民事訴訟
抗告訴訟
争点訴訟
・当事者訴訟
ざっとこんな感じです。

行政法に関連する訴訟では、行政法に特に定めのないものは原則として民事訴訟の例によります。
抗告訴訟は、公権力、いわばお上を相手取って行う(直接的な)訴訟です。例を見てもらえるとイメージしやすいかもしれません。
(処分・裁決の)取り消し訴訟・無効確認訴訟・不作為の違法確認訴訟・義務付け訴訟・差し止め訴訟などが抗告訴訟に当たります。
争点訴訟は、私法上の法律関係に関する訴訟のうち、処分・裁決の存否や有効性を争っているものを指します。(私法上の法律関係に関する)処分・裁決の存否・有効無効が争点となり白黒はっきりできるものを争う訴訟です。
当事者訴訟には、形式的当事者訴訟と実質的当事者訴訟の2類型あり、法律関係を確認又は形成する処分・裁決に関する訴訟の中で当事者の一方を被告にする訴訟です。名前のままですね。私法関係は形式的ry、公法関係は実質的ryになります。
「形式的・実質的って何?」っていう話ですが、簡単なことで、当事者訴訟も争う内容に関しては行政の処分・裁決ですが、それをお上に直接言うか否かの違いです。
形式的当事者訴訟では、処分・裁決を行ったお上ではなく、その処分・裁決に基づいて法律関係を確認・形成しようとする者を相手に訴訟を起こします。まあ言ってしまえば「その処分・裁決を引っ提げてきた奴を訴えて、その中で処分・裁決について争おう」というものです。裁判で勝てば、お上もそれに従わなければなりませんから、実質的には処分・裁決に関して争っていることになります。
実質的当事者訴訟では、公法上の法律関係に関する処分・裁決に関して争いますので、当然相手はお上になります。なので、最初からお上相手に裁判を起こすということで、実質的と名前がついています。

間接的・直接的に名称変更すべきと思わなくもないですね。勉強していて最初は意味不明でした。「実質的とは?」みたいな。

こんかいはここまで。

HTML/CSSの参照サイト

Web Content Accessibility Guidelines (WCAG) 2.0

  • HTMLのアウトラインを表示

HTML 5 Outliner

Can I use... Support tables for HTML5, CSS3, etc

  • CSS color強度判定アプリ

カラーピッカー

www.paciellogroup.com

Read more

攻撃ツールのまとめ。

やっほー。今回は攻撃ツールのまとめをします。
攻撃ツールといっても大体は管理用ツールだったりします。悪用すれば攻撃ツールになるっていう表裏一体のツールです。

◎ポートスキャナ
ネットワークを介して他のコンピュータのportのopen状態も調べることができる。
★ポートスキャナの種類

  • TCP Scan:TCPの3way handshakeの手順に従いスキャンする。
  • SYN Scan:TCPportに対する一般的なスキャンの方法。open中のportはACK+SYNフラッグを立てて応答する。close中のportは基本的にACK+RSTフラッグを立てて応答する。
  • FIN Scan:TCPのFINフラッグを立てたパケットを送信。open中のportは応答せず。
  • Null Scan:TCPのフラッグを立てず、全て0のパケットを送信する。open中のportは応答せず。
  • Xmas Tree Scan:TCPのURG、PSH、FINフラッグを立ててパケットを送信する。open中のportは応答せず。
  • UDP Scan:open中又はフィルターされたUDPportから応答はほとんどしない。close中のportはICMP error(Destination Unreachable)を返す仕様であるが、一般に応答はほとんどない。

★port scannerのツール

  • nmap:ポートスキャナ向けの代表的なツール。Stack Fingerprint機能は、スキャンしたホストのOSの種類をTCP/IP protocolStackの実装から推測する。TCP ISN(Initial Sequence Number) Sampling,TCP opition Support/順序の調査,PID sampling,TCP初期window-size調査などを行い、OS fingerprint DB:nmap-OS-fingerprintと照合し一致したときはOSの種類、バージョン、ターゲットデバイスの種類などを返す。

★実行方法(nmapの場合)

  • TCP SYN Scan:nmap-sS HOST/Network

多くのプラットフォームでportのopen/close/filteringを明確に区別可能。ハーフopen接続後にresetを実行する。

  • TCP Connect Scan:nmap-sT Host/Network

SYN Scanと異なるのは、ハーフopen接続をresetせずにターゲットのopen中のportとコネクションを確立する。特定のシステムからの接続試行のログが短時間に多数観測された場合はConnect Scanの標的となっている可能性が高いと考えられる。

  • Xmas Tree Scan:nmap-sX Host/Network
  • UDP Scan:nmap-sU Host/Network

応答がないportではタイムアウトにより時間がかかり得る。

  • Stack Finger Scan:nmap Host -O(OSの種類推測)/nmap Host -O -A(サービスの種類推測)

◎Protocol Analyzer
同一ネットワーク上のパケットを捕捉して解析するツール。ハードウェアのスニファ、ソフトウェアのWire Sharkなどが代表的なツールである。

◎Network Command
ping,tracert,setstatなど。

◎Metasploit
open source projectとして開発されているpenetration test用のツール。

Kari Linux
有名ですね。脆弱性検査やpenetration testのためのツールとしてvulnerability-check(nmap),penetration test(Metasploit Framework)などを提供する。

◎C&C serverとRAT作成ツール
C&C serverとは、botネットなどに命令を送るserverのことを言います。RAT作成ツールにはZeus Administration BotNetなどのGUIタイプの作成ツールがあり、GUIタイプゆえに容易に作成できるようになっている。

◎CaaS(Crimeware as a Service)
読んで字のごとくです。クラウドで提供される攻撃者向けの攻撃代行サービスのことです。これにより、知識のない人間であっても標的への攻撃が可能になります。

★攻撃のタイプ
過去のエントリにも攻撃の種類のまとめをしましたので、ここではこれまでに書いていないものに限定して書きます。
過去のエントリはここら辺を参照してください。
syuchinikuring.hatenablog.com
(思ったより書いていなかった…)
Dos攻撃

  • Xmas Tree Attack

Dos攻撃の一つ。大量のXmas treeパケットを投げるというもの。Xmas treeパケットはルータなどに多くの処理を要求する。Xmas tree Scan同様、URG,PSH,FIN Flagを立てたTCPパケットで任意の上位protocolを使うことができる。ファイアウォールやIDS(Intrusion Detection System)はこのようなパケットを検出することができる。

  • 権限のエスカレーションとクリープ

権限のエスカレーション(Privilege Escalation)はOSやapplicationなどのバグを足掛かりに脆弱性を突きuser accountの権限を拡大して、管理者特権を奪取するという攻撃。
権限のクリープ(Privilege Creep)はすでに不要又は持つべきではない権限を持ち続けているというもの。ex.部署移動により不要になった全部署のアクセス権限を未だに持っているなど

ここからは代表的なDos攻撃について紹介します。

  • Land

送信元/宛先のIP addressとportを同じ設定にしたIPパケットを投げてダウンさせる攻撃。

  • Ping of Death jolt

IPデータグラムの最大長を超えるICMPパケットを投げてシステムの破壊を狙う攻撃。joltによりIPデータグラムの最大長を超えるICMPパケットを作り出すことができる。

  • SYN flood

TCPコネクション確立時の3 way handshakeを途中で止めてSYNフラッグが立ったパケットをserver側に投げつけてパケットのあふれを引き起こす攻撃。

  • Winnuke

NetBIOSのTCP139番portにOOB(Out Of bounds)パケットを投げてダウンさせる攻撃。

  • TearDrop/NewTear/Syndrop

最大量を超えたIPパケットを細分化して投げ、ターゲットがパケットを再度組み立てる際にバッファオーバーフローを引き起こさせてダウンさせる攻撃。

  • Targa

bonk,jolt,land, nestea,newtear,syndrop,teardrop,winnukeなどを組み合わせたマルチ攻撃。

次にDDos攻撃を2つまとめます。

ICMP echo requestの発信元addressをターゲットhostのIP addressに、宛先IP addressをブロードキャストaddressにして送信する。これを受信したhostに一斉にICMP echo replyを投げる攻撃。

  • fraggle

smurfUDPパケット版。

◎パスワードクラッキング
そのままです。パスワードを盗み取ります。ツールさえあれば比較的簡単にできます。

  • 辞書攻撃

ツールとして、john the ripper,Cain & Abelなどがあります。Cain & AbelなんかはMicrosoftのパスワード回復ツールだったりします。要は使い方次第で毒にも薬にもなるということです。
Cain and Abel (software) - Wikipedia
辞書攻撃にはレインボーテーブルという、事前にパスワードとそのハッシュ値を一覧化したものを使います。これを使って照合することで探索時間を短縮しようとしています。Rainbow Crackは有名です。

◎通信傍受・改竄・なりすまし
これらの攻撃は、正当な通信に割り込んで、正規の応答より早く不正な応答を返し、相手側にはあたかも正当な通信が行われているかのように偽装します。中間者攻撃などはこのタイプの攻撃手法です。

ターゲットのコンピュータのARP requestに攻撃者から不正なARP replyを先に返す攻撃。

  • Replay

盗んだ情報を使って後から同じように攻撃すること。

  • session hijack

通信sessionに介入して乗っ取る。TCP/UDP session hijackなど。

  • DNS Poisoning

DNS serverがDNSclientからの再帰クエリを処理する際にそのserverが管理するドメイン情報とは異なる別ドメインの情報であっても受け取ることを利用し、DNS serverがメモリ内に保持するドメイン管理情報を汚染する攻撃。

【原因】

反復クエリ用の送受信portが固定設定であれば容易に偽装した応答を通すport番号を入手されます。

古いDNS serverは修正済みのものにアップデート/アップグレードすべきです。

DNSのIDは16bitなので、比較的短時間で一致するペアを発見されます。

cf.カミンスキー攻撃
効率的なDNS攻撃です。攻撃手順は次の通りです。

  1. 攻撃者は存在しないFQDNをセットして再帰クエリをDNS serverに投げる。
  2. DNS server内に問い合わせに該当する情報がないのでRootDNSに問い合わせる。
  3. 問い合わせへの応答が返される前に攻撃者が介入して偽装応答を返し、DNS serverに偽装情報としてキャッシュされる。

【対策】

再帰クエリ処理に介入されないようにDNSキャッシュserverを独立させて安全な場所に設置する。また、再帰クエリrequestは送信元からのドメイン名やネットワークaddressなどの限定されたもののみを受け付ける。また、反復クエリ送信元portはランダム化する。

update/upgradeを行う。

DNSSEC(DNS Security Extensions )を用いる。つまり、chain of trustを構築する。
※chain of trust
権威serverが自身の応答にdigital signatureをし、応答を受けたserverはそのdigital signatureを検証する。権威serverのprivate keyでゾーン内の各リソースレコードのhash値を暗号化し、digital signatureを生成する。public keyのhash値をそのゾーンの親ゾーンDNS serverに送り、親ゾーンDNS serverにdigital signatureをさせて登録する。

DNS poisoning などでキャッシュ汚染後、DNSへの特定クエリを捕捉した時に偽装したDNS情報を返すようにする。

  • Pharming

DNS Spoofing/client側のhost fileの書き換え/DNS serverのaddress書き換え/client側のscript利用などをする攻撃。
【対策】

  1. キャッシュ書き換え→DNS Poisoning対策
  2. server addressの書き換え→security patchの適用など。

DNSserverを介したDDos。
【攻撃手順】

  1. 攻撃者がDNSserverにレコード情報を登録
  2. 再帰クエリをどこからでも受け付けてキャッシュするDNSserverにレコード情報を問い合わせてキャッシュさせる。
  3. 送信元IPaddressをターゲットのものにしてbotネットを使って、レコード情報キャッシュ済みのserverにDNSクエリを一斉に投げさせる。

→問い合わせ元がvictimのIPaddressにされているので、クエリの応答は全てvictimに返されます。こうして膨大なトラフィックを送り付けダウンさせます。

今回はここまで。疲れた…

Web serverとWeb applicationのまとめ。

やっほー。前回はストレージに関してまとめました。今回はウェブのserverとapplicationのまとめになります。

◎HTTP
言わずと知れたprotocol。protocolといえばこれが浮かんでくる方も多いのではないでしょうか。
デフォルトportはTCP80番。HTML/XMLで書かれたhypertextの転送を主目的とする、Web serverとWeb client(ブラウザ)間のコンテンツデータの送受信用のprotocol。

HTTPS(HTTP Security)
これもまた有名ですね。デフォルトportはTCP443番で、TLS/SSLを用いてHTTP通信をセキュアに行うためのprotocol。

◎SHTTP(Secure HTTP)
HTTPS以前のprotocol。対称鍵暗号アルゴリズムを使ってデータを暗号化する。現在はHTTPSに取って代わられ、ほとんど使用されていない。

◎HTTP Method
HTTP通信中の命令。

  1. GET:ページの取得をserverに要求。
  2. POST:ブラウザでフォームに入力したデータをserverに転送する。
  3. HEAD:serverにヘッダ情報のみを要求する。

★HTTPの特徴

  • 要求と応答は個別に1対1対応で実施する点。いわゆるstatelessなprotocol。

cf. application層のprotocolの多くはTCP connection上で関連する複数のやり取りを行うセッションを実行する。

  • keep-alive機能を使う(HTTP/1.1)

一つのTCPコネクション内で複数のHTTPセッションを実行できる。コネクションの切断はコネクションフィールドに"Close"を設定して、これを要求する。ただし、要求と応答は1対1対応。複数のセッションが可能というのは、一回のセッションごとにコネクションを切断しないというだけ。

  • HTTPのState維持

statelessなHTTPに代わってWeb applicationがセッションIDを生成し、そのセッションID情報をWeb clientに渡して共有することでHTTPセッションに関連性を持たせて管理する。
【セッションIDの受け渡し方法】

  1. URL parameter:GET要求でURLの末尾に”?変数名=値”を追加してIDを取得。
  2. hidden field:HTMLの入力フォームで<INPUT>メソッドにhidden属性を指定したfieldにIDを指定する。ブラウザにはfieldは表示されない。
  3. cookiecookie内にIDを指定する。

今回はここまで。ようやくTelnetからのまとめを消化できた…

ネットワークストレージのまとめ。

やっほー。前回に続いて今回もネットワークに関するお話です。

◎FC(Fiber Channel) & SAN(Storage Area Network)
Fiber Channelは主にストレージネットワーク用に用いられる高速なネットワーク技術の一つ。SANを用いた大規模ストレージ接続の標準規格。

  • FC-SAN

FC技術を用いたSAN。コンピュータにホストバスアダプタ挿入し、FCスイッチと接続する。アドレスはWWN(World Wide Name)という64bitのものになる。SCSIコマンドとのやり取りにFC protocolを使う。

  • IP-SAN

TCP/IPを用いたSAN。ネットワーク、トランスポートにTCP/IP,TCPの上位protocolにiFCP又はFCPIPを用いて、その上位にFCPを用いる。diskはLUN(Logical Unit Number)が割り当てられ、server群とdisk装置との間でLUNマッピングを行い、disk装置のコントローラホストportからserverのホストバスアダプタまでの経路を決定する。

iSCSI(internet Small Computer System Interface)
SCSIprotocolをTCP/IPネットワーク上で使用するときの規格。IP-SANの一種で、デフォルトportはTCP3260番。FCを使わず、Gigabit Ethernetにより安価なSANを構築可能。

今回はここまで。次回はWeb serverとWebアプリケーションのまとめをします。