DNS改ざん検知ツールの実装とDNSパケットの世界 by 市川@cakephper

PHP Conference Japan 2020
採択
2020/12/12 15:20〜
Track3
Regular session (25 mins)

DNS改ざん検知ツールの実装とDNSパケットの世界

cakephper 市川@cakephper cakephper

30年以上前に作られたDNSの仕組みが今もなお同じように動作し、私たちのインターネットを支えている。2020年、令和の時代に熱いDNSの話をして、インターネットの基礎を支える技術に興味を持ってもらいたい。

DNSレジストラの脆弱性によりドメインハイジャック事件が起こりました。この事象を防ぐのは難しく、いかに早く改ざんを検知するかにかかっています。
そこでDNSのネームサーバ情報を定期的にチェックして改ざんを検知し、通知するツールを作成してOSSで公開しました。
https://github.com/ichikaway/nschecker

本セッションでは、DNS改ざんによるドメインハイジャック、DNSの基本的な仕組み、検知方法、キャッシュとの戦いを紹介し、DNSプロトコルの実装を解説します。
基本的にDNSパケットはUDP 512バイトでやりとりされ、その制約から1bit単位で意味を持つようになっています。この意味を解説しながら、先人たちが1ビットまで大切にしてきた想い、考え抜かれた仕組みを紹介します。

普段の開発では知らなくても動いているDNSですが、DNSキャッシュや権威サーバのツリー構成など知っておくとトラブルシューティングやサイト移転時に役立ったりします。

Track ID: Track3-4-A
Discord Channel: #track3-4-a-dns-packet