2014-01-01から1年間の記事一覧

基本正規表現 (BRE) と拡張正規表現 (ERE)

POSIX正規表現には、grepコマンドやsedコマンドで使用できる基本正規表現(BRE)と、egrepコマンドやawkコマンドで使用できる拡張正規表現(ERE)があります。一般的にはどういうわけかより多くの特殊文字を持つ正規表現が好まれているようで、BREよりもERE、ERE…

まもなく GNU grep 2.21 リリース

GNU grep 2.21のリリースが秒読み段階に入りました。GNU grep 2.21 では、特筆すべきものはないものの、いくつかの点で機能やパフォーマンスが改善されています。それでは、主な改善点を見ていくことにしましょう。 スパースファイルに対する改善 スパースフ…

GNU sedのパフォーマンス

GNU grepとGNU awk (Gawk) のパフォーマンス向上についてお話したので、今度はGNU sedを見てみましょう。 GNU sed 4.2.1 Red Hat Enterprise Linux 6にバンドルされているGNU sed 4.2.1でテストしてみました。 $ yes jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj…

Gawk (GNU awk) のパフォーマンス

以前にGNU grepのパフォーマンス向上についてお話しましたが、実はGawkのマッチング部分にはGNU grepと同じコードが使われています。ということは、Gawkのパフォーマンスも向上しているのでしょうか? Gawk 3.1.7 まずは、Red Hat Enterprise Linux 6にバン…

bashの脆弱性 (ShellShock) まとめ

これまでに見つかり修正されているbashの脆弱性 (ShellShock) について、該当有無の判断方法と、修正バージョンをまとめました。 CVE-2014-6271 確認方法 $ env x='() { :;}; echo vulnerable' ./bash -c "echo this is a test" [NG pattern] vulnerable thi…

bashの脆弱性CVE-2014-7186, CVE-2014-7187について

CVE-2014-6271やCVE-2014-7169と比べると影響は小さいですが、本家のGNUからは2014/09/30時点においてもパッチはリリースされていません。CVE-2014-6271の対処を済ませていれば発生条件を満たすスクリプトを書かない限り再現せず、その発生条件は通常の使用…

bash - 環境変数から関数を取得する機能のセキュリティ強化

CVE-2014-6271やCVE-2014-7169では、任意の環境変数定義で起こりうることが問題の1つでした。そこで、bashの起動時に設定された環境変数が関数なのか変数なのかを判断するロジックについて修正が行われました。※このパッチはCVE-2014-6277とCVE-2014-6278を…

bashに深刻な脆弱性 (CVE-2014-6271, CVE-2014-7169)

bashにコード・インジェクション攻撃を許す深刻な脆弱性が見つかりました。(CVE-2014-6271, CVE-2014-7169)bashを起動する際に、環境変数に特殊な文字列を設定することで、任意の処理を起動することが可能になります。既に修正パッチの配布が開始されていて…

データベース設計 〜 マスタデータを含めて、全ての履歴を残したいという要望

データベースの「正規化」を学んで間もない頃に実際のデータベース設計をやってみて、悩んだことをお話をしたいと思います。 理想と現実の壁にぶち当たる 下記の属性を持つ「売上ファイル」を考えてみます。 売上ファイル ---------------- 売上日 顧客名 住…

OpenSSL、今度はChange Cipher Specメッセージ処理に脆弱性

2014年4月に致命的ともいうべき HeartBleed 脆弱性 (CVE-2014-0160) が発見され大騒ぎを引き起こした OpenSSL。それからたった 2 ヶ月しか経過していないにもかかわらず、新たな脆弱性 (CVE-2014-0224) が発見されました。発見したのは株式会社レピダムの菊…

GNU grep 2.20 リリース

6/3にGNU grep 2.20がリリースされました。GNU grep 2.20 は、GNU grep 2.19 で行われた多くのパフォーマンス改善に対するメンテナンス・リリースです。結果不正の不具合が見つかったため、GNU grep 2.19のリリースから、たった11日後にリリースされる運びと…

GNU grep 2.19 リリース

5/23にGNU grep 2.19 がリリースされました。GNU grep 2.19 の最大の目玉はパフォーマンスの改善です。今回のリリースはメディアには取り上げられませんでしたが、メディアに取り上げられたGNU grep 2.17 よりも、はるかに多くのパフォーマンスの改善がなさ…