FreeBSD Daily Topics
2008年11月27日 Wine 1.1.8/1.19 “Invalid address”問題修正パッチ,Portsインストール高速化手法,ATAレベルで実現するソフトウェアRAID,FreeBSDに起動後5分間の脆弱性
heads-up
- Wine
ports - Wine 1.1.8および1.1.9で特定のアプリケーション,とくにはじめからWineに含まれていない外部アプリケーションを実行しようとした場合に"Invalid address"と表示されアプリケーションが実行できない問題ですが,ports/128926の報告がclosedから再びopenへ差し戻しとなりました。
reopenされたメッセージにもありますが,wine-1.1.8 regression -- wine: could not load L"...": Invalid addressで紹介されているパッチを使うことで"Invalid address"に対処することができます。
リスト /usr/ports/emulators/wine/files/patch-dlls_ntdll_virtual.cとしてパッチを作成
Index: dlls/ntdll/virtual.c @@ -1250,8 +1254,13 @@ } /* try to find space in a reserved area for the virtual heap */ - if (!wine_mmap_enum_reserved_areas( alloc_virtual_heap, &heap_base, 1 )) +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + heap_base = wine_anon_mmap( address_space_limit - 10 * VIRTUAL_HEAP_SIZE, + VIRTUAL_HEAP_SIZE, PROT_READ|PROT_WRITE, 0 ); +#else + if (!wine_mmap_enum_reserved_areas( alloc_virtual_heap, &heap_base, 0 )) heap_base = wine_anon_mmap( NULL, VIRTUAL_HEAP_SIZE, PROT_READ|PROT_WRITE, 0 ); +#endif assert( heap_base != (void *)-1 ); virtual_heap = RtlCreateHeap( HEAP_NO_SERIALIZE, heap_base, VIRTUAL_HEAP_SIZE,たとえば,上のようにパッチファイルを/usr/ports/emulators/wine/files/patch-dlls_ntdll_virtual.cとして作成しておいて,make install cleanでパッチを取り込んだWineの構築が可能です。Wineでアプリケーションが実行できなくなって困っている場合,まず上記パッチを試してみてください。
それでもダメな場合,1.1.7へ差し戻すことで対処できます。1.1.7のportはcvsで直接指定して取得するか,CVSweb: ports/emulators/wine/から取得してみてください。
links
- Speed up ports Install
Speed up installing from ports (howto)においてfastest_sites(1)(ports-mgmt/fastest_sites)を使ってPorts Distfilesのダウンロードを高速化する方法が紹介されています。fastest_sites(1) が出力するデータをそのままファイルに出力して /etc/make.confから読み込ませる方法です。fastest_sites(1) が出力する内容はそのまま make.confで使える形式になっているため同方法で対処できます。
- Software RAID in FreeBSD
Software RAID in FreeBSDにおいてATAデバイスを使ってソフトウェアRAIDを構築する方法が紹介されています。atacontrol(8)でRAID0 (ストライピング),RAID1(ミラーリング),RAID0+1,SPAN,JBODを指定してシステムを構築することができます。GEOMではなくATAレベルで構築したい場合にはこの方法を検討してみてください。
GEOMを使ったRAIDの構築やそのほか高度な機能の実現は『SoftwareDesign』2008年12月号および2009年1月号(2008年12月18日発売)に記事がまとめられていますので,そちらをご覧ください。
security-advisory
- FreeBSD-SA-08.11.arc4random
arc4乱数生成器arc4random(9)に推測可能なシーケンス脆弱性があることがわかりました。サポートされているすべてのFreeBSDEバージョンが影響を受けます。最新のセキュリティブランチに更新するか,パッチを適用してカーネルの再構築およびシステムの再起動を実施してください。
arc4random(9)はRC4の鍵ストリーム生成器をベースとした汎用目的の乱数生成器でFreeBSDカーネルにおいて暗号強度が要求されるさまざまな場面で採用されています。arc4random(9)は定期的にFreeBSDカーネルYarrow乱数生成器の値を種としてリシードを実施しています。Yarrow乱数生成器はハードウェア割り込みといったさまざまな状態からエントリピーを取得しています。
今回発見された脆弱性は,arc4random(9)乱数生成器が初期化される段階で不適切なエントロピーが使われる可能性があるというもので,before arc4random(9)がリシードを実施するまでの5分間に渡って不適切なエントロピーをベースとしたarc4random(9)が動作する可能性があります。GEOM ELIやGEOM shsec,起動後のシステムプロセス,802.11ネットワークスタック,TCP/IPスタック,kernel RPCなどarc4random(9)を使っているさまざまなサブシステムが起動後5分間の間,同ランダム値の強度が低いことによりセキュリティ的に脆弱な状態になる可能性があります。
このため可能な限り迅速に最新のセキュリティブランチへのアップデートを実施してください。またシステム起動後5分間以内にGEOM shsecプロバイダを作成したことがあるのであれば,最新のセキュリティアップグレードを実施したあとで再び作成しなおしてください。
FreeBSD Daily Topics
- 2008年11月28日 FreeBSD 6.4登場は週末,7.1 RC1は週明け,iSCSI Initiator大幅改善,Unionfsソケット問題解決,FreeBSDベースのLiveDVD,Nathive登場他
- 2008年11月27日 Wine 1.1.8/1.19 “Invalid address”問題修正パッチ,Portsインストール高速化手法,ATAレベルで実現するソフトウェアRAID,FreeBSDに起動後5分間の脆弱性
- 2008年11月26日 仮想ネットワーク機能VImageマージ進行,df(1)に-Tオプション追加,Wine更新も“Invalid address”問題残る,Firefox 3国際版登場,cpupowerd登場他多数
- 2008年11月25日 BSDCan2009開催は2009年5月12~14日,QT 4.5プレビューarea51にg4u更新,アプリ更新求めるならPC-BSD 7
- 2008年11月20日 ≪注意≫ZFS大規模なアップデート - ZFSを使っている場合には更新注意,powered(8)改善でSMPへの適用向上 - デスクトップ向けhiadaptiveモードの導入もあり
- 2008年11月19日 FreeBSD Flash 10 64bitは存在するも開発途上,NVIDIA 180.06登場,Lynis登場,nano開発版,LLVM最新版登場,ptex更新
- 2008年11月18日 FreeBSDプロジェクト公式フォーラム登場
- 2008年11月17日 FreeBSD Foundation,支援開発にEdward Tomasz Napierala氏のリムーバブルFS化を採用
- 2008年11月14日 UTF8互換syscons(4)開発中,FFSスナップショットバッファフラッシュ改善,sendmailでTLS/Auth機能対応,HAMMERにバージョニング機能実装,NetBSD 5.0リリースサイクル開始他
- 2008年11月13日 BSD Fund - PCC 1.0登場へ向けた資本援助と国際会議資本援助を目的としたドネーション受付を会誌,PPTP VPN構築方法,RTFからLaTeX2eへ変換するツール他

