東京エリア Debian 勉強会
第 127 回 2015 年 6 月度
野島貴英2015 年 6 月 20 日

設営準備にご協力ください。

会場設営よろしくおねがいします。

Agenda

注意事項
写真はセミナールーム内のみ可です。
出入りは自由でないので、もし外出したい方は、野島まで一声くださいませ。

事前課題発表最近あった Debian 関連のイベント報告
第 126 回 東京エリ
ア Debian 勉強会

Debian Trivia Quiz
Debian と脆弱性対応のあれこれをまとめてみた
今後のイベント
今日の宴会場所

事前課題

野島

1

Q.hack time に何をしますか？
A. Nook HD+をそろそろ debian を動かす件かな？

2(オプション)Q. 何について聞きたい／参加者と話をしたいですか？
A. Debian! Debian! Debian!

pike

1

Q.hack time に何をしますか？
A. Debian 関連ドキュメント読書

2(オプション)Q. どこで今回の勉強会の開催を知りましたか？
A. その他

wskoka

1

Q.hack time に何をしますか？
A. mips や tile への移植

2(オプション)Q. どこで今回の勉強会の開催を知りましたか？
A. その他

dictoss1

Q.hack time に何をしますか？
A. OSC2015 北海道のブース出展のまとめ、pptp-linux パッケージの kfreebsd 対応

2(オプション)Q. どこで今回の勉強会の開催を知りましたか？
A. Debian JP のメーリングリスト

issei1

Q.hack time に何をしますか？
A. 個人で作ってるプログラムの開発を進めたいです。

2(オプション)Q. どこで今回の勉強会の開催を知りましたか？
A. その他

Roger Shimizu

1

Q.hack time に何をしますか？
A. Debian BTS の勉強

2(オプション)Q. どこで今回の勉強会の開催を知りましたか？
A. Twitter (@tokyodebian)イベント報告第 126 回東京エリア Debian 勉強会

場所はスクウェア・エニックスさんのセミナルームをお借りしての開催でした。
参加者は 6 名でした。
セミナ内容は野首さんによる「自然言語処理チーム(pkg-nlp-ja) とパッケージ」でした。
残りの時間で hack time を行い、成果発表をしました。
宴会の代わりに、「まいどおおきに食堂」で夕食会をやりました。

第 126 回東京エリア Debian 勉強会 (つづき)

セミナは野首さん（Debian 公式開発者）による、自然言語処理プログラムの動作に纏わるいろいろなお話を聞かせていただきました。自然言語処理の基礎になっている、辞書のデータ構造、アルゴリズムについての紹介が主な内容でした。普段、自然言語処理の詳細に触れることが無い人にとっては、非常に新鮮な内容だったと思います。
何気ない日本語の処理を Debian で行う場合でも、こういったプログラムの力を借りる事も多いと思います。自然
言語処理のパッケージの処理、重要さについて、より広く知られるようになると良いと思いました。

DebianTrivia Quiz

Debian Trivia Quiz

Debian の常識、もちろん知ってますよね? 知らないなんて恥ずかしくて、知らないとは言えないあんなことやこんなこと、みんなで確認してみましょう。
今回の出題範囲はdebian-devel-announce@lists.debian.org,debian-news@lists.debian.org に投稿された内容などからです。

問題 1. Debian 8.1 がリリースされました。いつだったでしょうか？

A 2015/6/6

B 2015/6/13

C 2015/6/20

問題 1. Debian 8.1 がリリースされました。いつだったでしょうか？
答えは:A 2015/6/6

B 2015/6/13

C 2015/6/20

A

問題 1. Debian 8.1 がリリースされました。いつだったでしょうか？

解説：いくつかの脆弱性対策や、バグフィックスが行われたパッケージが取り込まれました。Debian 8(Jessie) をインストールしたばかりの人は、早速アップグレードしましょう！

問題 2. 2015/6/10 にて、unstable 版のソースパッケージの数はいくつになったでしょうか？

A 21,000

B 22,000

C 23,000問題 2. 2015/6/10 にて、unstable 版のソースパッケージの数はいくつになったでしょうか？
答えは:

A 21,000

B 22,000

C 23,000B

問題 2. 2015/6/10 にて、unstable 版のソースパッケージの数はいくつになったでしょうか？

解説：遂に 22,000 を超えたそうです。バイナリパッケージの数は 45,542 との事。益々増えていくようです。

問題 3. AutomaticDebugPackages の提案とは何？

A 大統一 Debian の岩松さんのデバッグパッケージの件を実施する
B 自動でデバッグ出来るようにする
C -dbg パッケ ー ジ を 止め、.ddeb パッケージを作る問題 3. AutomaticDebugPackages の提案とは何？

A 大統一 Debian の岩松さんのデバッグパッケージの件を実施する

答えは:B 自動でデバッグ出来るようにする
C -dbg パッケ ー ジ を 止め、.ddeb パッケージを作るC

問題 3. AutomaticDebugPackages の提案とは何？

解説：今まで、デバッグシンボルは-dbg パッケージで配布されていました。しかしながら、こちらの-dbg パッケージは他のデバッグとは何ら関係のないパッケージと一緒にmirror されるため、-dbg パッケージの利用者がとても少ないにもかかわらず、mirror 先の資源をその分消費してしまいます。今回の提案は、デバッグシンボル.ddeb というパッケージにしてしまい、こちらのパッケージについては mirror先も減らす（しない？）という事を検討するものです。

Debian と脆弱性対応のあれこれをまとめてみたはじめにDebian で行われている脆弱性対応の話を紹介します。
いつかまとめてみたかったのは秘密...
本発表はとあるセキュリティの勉強会で使った資料です。悪しからず。

自己紹介

野島 貴英
東京エリア Debian 勉強会の中の人。毎月１回ですが、勉強会やってます。興味ありましたら、是非是非ドゾー。

http://debianjp.connpass.com/
http://tokyodebian.alioth.debian.org/
http://www.debian.or.jp

Debian とは

Debian は Debian 社会契約 (*1) を理念として開発されている OS ディストリビューションの１つ。
純粋にコミュニティ活動と多数のボランティアにより、開発が継続しているのが特徴。また、Debian に関する重要な事柄が（リーダ就任すらも）Debian Project 関係者らの投票で決められたりする。とにかくオープン。
収録されているプログラムの元となるソースパッケー
ジ数は 22,000 パッケージを超えた。
(*1) https://www.debian.org/social_contract

ちょっと用語：Debian パッケージって？

Debian を構成するアプリケーションのデータや実行バイナリをまとめたもの (.deb ファイル。)
ソースコードをまとめたソースパッケージもある(.tar.gz,.dsc ファイル。)

Debian のセキュリティチーム

連絡先：security@debian.org またはteam@security.debian.org

Debian パッケージの脆弱性問題を専門に扱っている心臓部のチーム。

脆弱性に関する ML

Debian パッケージのセキュリティに関するアナウンスdebian-security-announce@lists.debian.org
アーカイブ：
https://lists.debian.org/debian-security-announce/
Debian パッケージの脆弱性に関するオープンな議論
debian-security@lists.debian.org
アーカイブ：
https://lists.debian.org/debian-security/例外もあるよ！

Debian パッケージのアーカイブエリアとして、main,contrib,non-free の３つがある。

contrib と non-free に属する脆弱性
対応は基本無し (ズガーン！)

例外もあるよ！(つづき)理由：contrib と non-free に収められたソフトウェアのライセンスの問題で、勝手に直すことが許諾されていない場合があるため。

contrib と non-free であっても、ライセンス上、直しても良いものについては、通常の通りセキュリティチームにて対応が図られる。

脆弱性に関しての対応の流れ

Debian ユーザあるいは Debian の関係者にかかわらず、脆弱性の問題を見つけたら、PAT1: 既知の問題 (公開済脆弱性情報）の場合は、security タグをつけて BTS する。
PAT2: 既知でない場合は、そっと security@debian.org
または team@security.debian.org にメールで連絡(英文) し、あとは指示に従う。
なお、脆弱性対策パッチをうっかり書いたのであれば、報告の際にパッチも一緒に送ると喜ばれる。

脆弱性に関しての対応の流れ (つづき)既知の脆弱性でない場合、セキュリティチームはDebian 以外のベンダ（ディストリビューション）関係者らにも脆弱性情報が共有され、CVE などの脆弱性情報データベース登録にも協力する動きが取られる。
既知の脆弱性については、Mitre 社 (CVE の DB を管理している会社）から、CVE の情報を定期的に取り込んでいる。こちらの情報に基づき、Debian に関係ある・なし、重要度を判定して仕分けされ、バグ追跡システムに登録していく仕組み（インフラ）があります。

参考：BTS するって？

Debian パッケージのバグ追跡ツールである、https://bugs.debian.org に登録されるようなバグレポー
トを送る事。
特定のフォーマットで記載したメールでバグレポート（英語）を送ることにより、登録される。Debian のユーザであれば誰でもレポートは送ることができる。

脆弱性対応状況の確認方法
1

セキュリティ観点のもの
https://security-tracker.debian.org/tracker/
様々な視点から、巷の脆弱性データベースと Debian の各パッケージの対応状況を確認可能。

2

QA 観点のもの
https://tracker.debian.org/
Debian パッケージについて、現在のバグの修正状況、パッケージのリリース状況がパッケージ毎にわかる。

3

BTS したもの
https://bugs.debian.org/
BTS した結果がどう扱われているか、進行しているか確認。

その他トピック

昨今の Debian のセキュリティに関するトピックをいくつか。ここでは、Hardening
Debian パッケージ済みの脆弱性静的解析ツール群紹介
lintiansystemd
Reproducible Builds
LTS(Long Term Support)
debian-security-support パッケージ

hardening

C/C++で書かれたプログラムについて、gcc の機能を活用して、セキュリティ強化を行った Debian パッケージを作る事。hardening 有効時、ビルド時に実際に付け加えられる
gcc のオプションは、”-fstack-protector-strong -Wformat -Werror=format-security-D FORTIFY SOURCE=2”となる。

Debian パッケージ済みの脆弱性静的解析ツール
群紹介
項番
1

パッケージ名flawfinder

2

rats

3

pscan

概要
C/C++にてセキュリティ上問題の起きそうな部分を指摘する。
C, Perl, PHP, Python のコード上問題の起きそうな部分を指摘する。
C/C++にて format 文の文字列について問題の起きそうな部分を指摘する。

Table: 脆弱性静的解析ツール

lintian

Debian パッケージについて、自動でスキャンして問題点を解析して警告してくれるツール。
ある程度のセキュリティ対策の為の対応がパッケージ開発にあたり必須になっており、こちらが過不足なく行われているかをスキャンして開発者に教えてくれる。

lintian(つづき)昨今搭載された例：梱包されているドキュメントに HTMLソースがあった場合、外部リンクが含まれているかをスキャンする。
外部リンクあったら、ブラウザで HTML ファイル開いた瞬間に良からぬサイトへアクセスしちゃったとかあるとマズイですよね...

systemd

systemd にはセキュリティに関して強化を図ることが出来るオプションがいくつもある。こちらをどう活かして、systemd の*.service ファイルを作るかというお話。
良い文章：「Security Features in systemd」
http://0pointer.net/public/systemd-nluug-2014.pdf

Reproducible Builds簡単に言うと、22,000 を超えるソースパッケージを一旦再ビルドし、すでに配布されている Debian パッケージと照合する試み。こちらにより、Debian パッケージにいつの間にか悪意のあるバイナリが含まれているような事が無いかをチェックする。Debian の他にも、Fedora/OpenSUSE/NixOS
でも行われている。
詳しくは、Debianhttp://reproducible.alioth.debian.org/
presentations/2014-02-01-FOSDEM14.pdf
Fedora http://securityblog.redhat.com/2013/09/
18/reproducible-builds-for-fedora/

LTS(Long Time Support)
Debian の各バージョンについて、セキュリティアップデー
トについてのサポート切れまでの期間を 3 年→ 5 年へ延長する試み。但し、数万もあるソフトウェア全部について 5年もサポートするのは非現実的なので、限られたパッケージのセキュリティアップデートのみ延長するというもの。

Figure: LTS のサポート期間

LTS(Long Time Support) つづき

LTS は無料で利用できる一方、有償サポート契約も用意されている。有償サポート契約を Freexian 社と行うと、払った値段に応じて、サポートしてくれるパッケージの選択に関して、要望が通りやすくなるという特典がある。日本の会社様にての契約締結実績は GREE 社のみ。
詳しくは：「Debian Long Term Support」
https://www.freexian.com/en/services/debian-lts.html

debian-security-support パッケージ

debian-security-support パッケージを導入し、check-support-status コマンドを実行すると、現在お使いのDebian 機に導入されいているパッケージの脆弱性のサポートについて、サポート切れ、もしくは、何らかの理由により脆弱性対策にあたり制限を加えざるを得なかったもののリストが取れるようになった。

debian-security-support パッケージ (つづき)動作としては、/usr/share/debian-security-support/security-supportended/usr/share/debian-security-support/security-supportlimitedに記載された、各パッケージのサポート状況に関する制限の情報と、実際に導入されていてるパッケージ名を照合し、制限があるパッケージが見つかった場合は警告を出すという動作。LTS の元では、どこまでパッケージについて、脆弱性対応のサポートがなされているかの確認に便利。

おわりにDebian のコミュニティは、Linux、OSS にまつわる様々な問題点や課題を、コミュニティの力を結集して日夜解決していくのがミッションであり、参加の醍醐味です。日夜、技術的課題、セキュリティ問題も含め、解決・考察し甲斐のある課題が、次から次へと生まれています。
是非、Debian へのご参加お待ちしております!!

今後のイベント

今後のイベント

関西エリア Debian 勉強会
東京エリア Debian 勉強会 (7/某日)

今日の宴会場所

今日の宴会場所

未定