今週末分かった技術ネタ色々

gamzatti
Vote 0 Votes

自粛で動きづらいこともあり、今週末はお家にこもってカタカタしてました。

普段、休みの日に作業する時はダラダラしてしまうのですが、珍しく集中しましたね(笑)

そんな中、分かったことの備忘録諸々。全然違う話題が集まっていますが、気にしないでくださいw

・CVE-2020-25684(DNSpooq)

DnsmasqというDNSソフトウエアの脆弱性のホワイトペーパーが出ていることを同僚から教えてもらいました。

ちなみに、Dnsmasqってそんなに使われていないと思いますし、脅威度の高いものではないと思うのですが、内容が興味深かったので書いているだけです。

理論的には(RFCに基づいた実装をしている場合)、攻撃者がキャッシュポイズニングをするためには、TXID(クエリ紐づくユニークなID)とソースポートのランダム化の組み合わせを推測する必要がある。

しかし、Dnsmasqは、上位DNSサーバからの応答を受け入れる際にTXIDとソースポートの組み合わせを検証しないので、攻撃者はキャッシュポイズニングをするための試行回数が減ってハードルが下がってしまうという内容です。これはDnsmasqが転送に使用されるソケットは64個に制限し、1つのポート上で複数のTXIDを多重処理していることが原因だそう。

逆にいうと、ポートに関しては、(64/全ポート数)の確率で当たってしまうということですね。

上記ホワイトペーパーにランダムさのエントロピーの式が書いてあって、私は最初なぜそんな式になるのかが全然理解できず、数学に強い同僚に、エントロピーは確率の逆数になるからだと説明してもらい、やっと腑に落ちました。

○十年振りに、順列と組み合わせとかを真面目に考えました(結果的にはそんな複雑なこと考えなくても良かったんですけどねw)

・Splunkのフィールドエイリアス

最近、仕事の関連で今更ながらSplunkを勉強し始めました。

Splunkにはログ項目から抽出したフィールドに別名(エイリアス)を付ける機能があります。

エイリアスを使うと、異なる機器から収集したログがバラバラのフィールド名でも、統一したエイリアスをつけてあげることで、

フィールド名の違いを意識せずに統一的に検索できるようになります。

エイリアスの設定は、何故かSplunk画面からの設定ではうまくいかず、prop.confという設定ファイルを編集する方法ならうまくいきました。

ちょっとハマったので、ご参考になれば幸いです。

・pythonのrequestsモジュールで複雑なjsonデータをPOSTしたい時

シンプルなjsonデータなら、変数にjsonデータを文字列として入れて、requests.post()のdataパラメータとして渡すだけで十分なのですが、

入れ子になったような複雑なjsonデータを送りたい時は、プログラムに直接記載する方法ではうまくいかないことがあります

(特殊文字のエスケープやエンコードをちゃんとやればいけるのかもしれないですが。。)

そんな時は、jsonデータを別ファイルとして保存して、json.load()で保存したjsonをロード後、エンコードするとうまくいくかもしれません(以下のような感じ)。

json_open = open('message.json', 'r')
data = json.load(json_open)
param=json.dumps(data).encode("utf-8")


No TrackBacks

TrackBack URL: http://www.reverse-edge.com/cgi-bin/mt/mt-tb.cgi/131

Leave a comment

About this Entry

This page contains a single entry by gamzatti published on January 24, 2021 2:08 PM.

プロキシのアクセスログにクライアントのホスト名を残す was the previous entry in this blog.

Find recent content on the main index or look in the archives to find all content.