glibcの脆弱性（CVE-2015-7547）の対応（AWSの場合）


## はじめに
glibcでアドレス変換の関数で脆弱性と聞いて、あれなんかこの前もそんなのあったな（GHOST）と思ったのは自分だけではないはず。
前回はgethostbynameという関数が問題だったけど、最近のアプリケーションでは殆ど使われておらず、getaddrinfo使っているからそこまで影響ないという報告をみた記憶があった。(http://blog.trendmicro.co.jp/archives/10818)

しかし今回はそのgetaddrinfoの脆弱性ということで、DNSサーバが普通に利用しているという事で、GHOSTよりもクリティカルな扱いなのかなぁという印象。

## どんな人が対応すべき？

今回の脆弱性ではアドレス解決を行う際に利用するgetaddrinfo(3)を利用しているアプリケーションに問題がある。つまりDNSサーバ。（でいいのか？）
getaddrinfo(3)はDNSサーバがアドレス解決を行う際に利用する関数だが、AWSのDNSを利用している場合は、本脆弱性に関する対応は不要。

https://aws.amazon.com/jp/security/security-bulletins/cve-2015-7547-advisory/

自身でDNSサーバを用意している場合などには対策が必要。

## 対応する場合に確認しておくこと
AWSからのアナウンスではglibcのパッケージをアップデートすれば良いと記載があるが、対象システムが対策済みかの確認の為にはバージョン情報を確認した方が良い。

アップデート後のバージョンは「2.17-106.166.amzn1」。

以下2015.09リリースのAmazon Linuxにおけるアップデート前後の例。

```
■OSバージョンの確認
# cat /etc/issue
Amazon Linux AMI release 2015.09
Kernel \r on an \m

# uname -a
Linux ip-10-0-1-124 4.1.10-17.31.amzn1.x86_64 #1 SMP Sat Oct 24 01:31:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

■バージョンアップ前の確認
# yum list glibc
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
glibc.x86_64                                                                                2.17-78.161.amzn1                                                                                 installed　★現在のバージョン
Available Packages
glibc.i686                                                                                  2.17-106.166.amzn1                                                                                amzn-updates
glibc.x86_64                                                                                2.17-106.166.amzn1                                                                                amzn-updates　★脆弱性対応のバージョン

# /lib64/libc.so.6
GNU C Library (GNU libc) stable release version 2.17, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.8.3 20140911 (Red Hat 4.8.3-9).
Compiled on a Linux 3.2.5 system on 2015-08-27.
Available extensions:
        The C stubs add-on version 2.1.2.
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
        RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

■バージョンアップ
# yum update glibc

■バージョンアップ後の確認
# yum list glibc
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
glibc.x86_64                                                                               2.17-106.166.amzn1                                                                                @amzn-updates
Available Packages
glibc.i686

# /lib64/libc.so.6
GNU C Library (GNU libc) stable release version 2.17, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 4.8.3 20140911 (Red Hat 4.8.3-9).
Compiled on a Linux 3.2.5 system on 2016-02-05. ★←ここ確認
Available extensions:
        The C stubs add-on version 2.1.2.
        crypt add-on version 2.1 by Michael Glad and others
        GNU Libidn by Simon Josefsson
        Native POSIX Threads Library by Ulrich Drepper et al
        BIND-8.2.3-T5B
        RT using linux kernel aio
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
```

脆弱性対応済みパッチのバージョンは以下で確認。

https://alas.aws.amazon.com/ALAS-2016-653.html

## 参考URL
### 全体
http://d.hatena.ne.jp/Kango/20160217/1455725647

https://googleonlinesecurity.blogspot.jp/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html

http://www.mathworks.com/matlabcentral/answers/102589-linux-libc-glibc-xfree86

### AWS
http://dev.classmethod.jp/cloud/cve-2015-7547-aws/

https://aws.amazon.com/jp/security/security-bulletins/cve-2015-7547-advisory/
https://alas.aws.amazon.com/ALAS-2016-653.html