カテゴリー「プログラミング」の25件の記事

W32.Inducについて

統合開発環境「Delphi」に感染するウイルス「Induc」について、現時点にて判明しているのは、プラットフォームとしてWindows環境、Delphiのバージョン4~7がインストールされており、Delphiのライブラリに感染、そしてコンパイルされたファイルにInducが埋め込まれるというものです。
それ以外の挙動について報告されてません。

主なウイルス対策ソフトでの名称と対応状況

  • W32.Induc.A(symantec)
  • W32/Induc-A (Sophos)
  • W32/Induc (McAfee)
  • PE_INDUC.A (Trendmicro)
  • W32/Induc-B (Sophos)
  • Virus.Win32.Induc.a (Kaspersky)
  • Virus:Win32/Induc.A (Microsoft)
  • Win32:Induc(avast)
  • Win32/Induc.A(ESET)
  • Win32/Induc.A (AVG)
  • W32/Induc.A (AntiVir)
  • Win32.Induc.A(BitDefender)
  • W32.Induc.A (GDATA)
  • a variant of Win32/Induc.A (NOD32)

まだ、確認できていないものもあります。

今回のウイルスの感染方法は、今までとは少し違います。
開発環境自身に感染し、コンパイルされた時点にて感染しています。
これは、開発者としては、盲点であるように思います。

この「Induc」は、「Delphi」に感染しファイルの配布にて広がるというもので、今のところ危険な挙動は確認されてません。

しかし、こういう方法も、あるんだという事が知られてしまいました。
これは、亜種や同様の方法を用いたマルウエアが出現する可能性が高くなるということ、また正規ルートにて入手したソフトウエアであっても、感染しているファイルを手にする可能性があるという事です。

開発者の立場からすれば、知らないうちにマルウエアを配布してしまうと言うことです。
今回は、ウイルス対策ソフトでも発見に時間がかかりました。
開発側として、ウイルス対策ソフトを頼らざるをえないのが現状であり、「Delphi」を含む多くの開発環境でも起こりうる事です。

開発にあたっては、セキュリティの考えを一つ進ませる必要があるのではと思ってます。

「Delphi」を狙ったウイルスの弊社公開ソフトへの感染について

Delphiを狙うウイルス発見

エンバカデロ・テクノロジーズ社の開発ツール「Delphi(デルファイ)」を狙うウイルスが確認されました。
このウイルス「Induc」は、Delphiのライブラリに感染し、同ライブラリを使用するDelphiでコンパイルすると、ウイルスが埋め込まれた実行ファイルが作成されます。
そして、そのファイルを実行すると、Delphiがあるか確認しライブラリに、自分自身を埋め込みます。

対象となるDelphiのバージョン4/5/6/7です。
これに伴い、オンラインソフト配布サイトでも確認作業が行われております。

当方が配布させていただいているソフトウエアは「Delphi」を使用しておりません。
万が一に備え、再度ウイルス対策ソフトで確認いたしましたが問題ないことが判明しております。

Vector
窓の杜に収録していた「Glary Utilities」および「Glary Undelete」旧バージョンのウイルス感染について
Delphiプログラムを狙うマルウェアの感染拡大
開発ツールDelphiを狙うウイルスが猛威、作成したソフトすべてに感染
開発環境「Delphi」がウイルス汚染、作成したソフトをウイルス化

Microsoftが2009年7月緊急パッチを公開

Microsoft(マイクロソフト)は、2009年7月緊急パッチのリリースしました。

  • MS09-034 Internet Explorer 用の累積的なセキュリティ更新プログラム (KB972260)  緊急 要再起動
  • MS09-035 Visual Studio の Active Template Library の脆弱性により、リモートでコードが実行される (KB969706)  警告 要再起動

以上、計2件です。
WindowsXP SP3及びWindowsVista SP2にインストールしましたが問題は発生しませんでした。

今回の脆弱性はMicrosoft Active Template Library (ATL) に起因するものです。
Microsoftは、同社のブログ(Security Development Lifecycle(SDL))の中で、コード内の「&」(アンパサンド)の有無が原因であると認めました。

MicrosoftのセキュリティプログラムマネージャーであるMichael Howard氏が提示したコードによると

__int64 cbSize;
hr = pStream->Read((void*) &cbSize, sizeof(cbSize), NULL);
BYTE *pbArray;
HRESULT hr = SafeArrayAccessData(psa, reinterpret_cast(&pbArray));
hr = pStream->Read((void*)&pbArray, (ULONG)cbSize, NULL);

の中の「&」があることで問題が発生する。
正しいコードは、最後の行にある引数が違うと…

hr = pStream->Read((void*)pbArray, (ULONG)cbSize, NULL);』

最後の行にある最初の引数「pbArray」には「&」がありません。

この一文字で、意味が大きく変わってきます。
「&pbArray」は、変数自身のアドレスを表します。
「&」がついていない「pbArray」変数の場合、「pbArray」変数にに格納されているアドレスを表すのです。

したがって、「&pbArray」を引数で渡した場合、pbArray変数自身を参照したり書き換えようとします。
「pbArray」を引数で渡した場合は、「pbArray」が指し示すアドレスを参照したり書き換えるのです。
「&」ひとつの有無で、参照したり書き換えたりするアドレスが違うのです。

なので一文字とは言え、この違いはとても大きいのです。

MS、IEと「Visual Studio」の緊急パッチを公開--ActiveX攻撃に対処
「IE」に対する最新攻撃の原因、たった1つのタイプミス--MSが認める
Security Development Lifecycle(SDL)

「Visual Studio 2008 Service Pack 1」リリース

Microsoft(マイクロソフト)は「Visual Studio 2008 Service Pack 1」、「.Net Framework 3.5 Service Pack 1」をリリースされました。

サイズは、

  • Visual Studio 2008 Service Pack 1 ISOイメージ(DVD) 903.9MB
  • Visual Studio 2008 Express Edition with Service Pack 1 Combo DVD 931MB
  • .Net Framework 3.5 SP1 Full Package 231.58MB
  • .NET Framework 3.5 SP1 日本語 Language Pack 18.2MB - 83.8MB

です。ブートストラップ形式も公開されてます。ブートストラップ形式とは、必要なファイルだけをダウンロードしてインストールする方法です。

私は「VS2008 SP1 ISOイメージ」をダウンロードしDVDに焼きました。ADSL 8Mで20分足らずでした。
2台のマシンに入っている「Visual Studio 2008 Standard Edition」にインストールしましたが、いまの所特に問題は出てません。また、製品DVD-ROMの要求はありませんでした。

インストールの時間は、

  • WindowsXP Pro SP3 Core 2 Duo E6600 2GB 35分程度
  • WindowsXP Pro SP3 Pentium4 2.4BGHz、512MB 45分程度

「Visual Studio 2008 SP1」に対応する日本語版MSDNライブラリドキュメントについては、9月に公開されるとの事です。
また、Intellisenseのメッセージは、一部英語表示になります。日本語訳のIntellisenseについても公開予定との事です。

また、無料版「Visual Studio 2008 Express Edition」の「Service Pack 1」のアップデータは提供されておりません。
「Visual Studio 2008 Express Edition with Service Pack 1」が公開されており、前バージョンをアンインストールした後、新規にインストールするようにとの事です。

Visual Studio 2008 Service Pack 1 および .NET Framework 3.5 Service Pack 1
Visual Studio 2008 Express Editions
Microsoft、Visual Studio SP1および.NET Framework SP1公開

マイクロソフト、オフィス製品のフォーマット仕様公開

Microsoft(マイクロソフト)は、同社オフィス(Office)製品のバイナリ文書のフォーマット仕様を公開しました。公開されたのは、

  • Microsoft Word 97-2007 (.doc)
  • Microsoft PowerPoint 97-2007 (.ppt)
  • Microsoft Excel 97-2007 (.xls)
  • Microsoft Excel 2007 (.xlsb)
  • Microsoft Office Drawing 97-2007

です。
また、これらにはBSDライセンスが適応されます。
そしてこれらの資料は、OSP(Open Specifications Promise)も適用になります。これは、これらの資料を仕様を使用した場合Microsoftは訴訟をしない事を保障する事です。

MS、Officeフォーマットの仕様を公開
Microsoft Office Binary (doc, xls, ppt) File Formats
Office Binary (doc, xls, ppt) Translator to Open XML

マイクロソフト「Visual Studio 2008」発売へ

Microsoftは、開発ツール「Visual Studio 2008」を11月末までにリリースする予定と発表しました。
今回は、たぶん、英語版だと思いますが、その内、日本語版もでるでしょう。

しかし、次々バージョンアップされても、コスト面を考えると導入できないです。

マイクロソフト、11月内に「Visual Studio 2008」をリリースへ

WindowsのMFCライブラリに脆弱性

WindowsのMFC(Microsoft Foundation Class)ライブラリにゼロデイの脆弱性が見つかったようです。
この脆弱性は、MFC42とMFC71ライブラリの「FindFile」関数に存在し、長い引数を「FindFile関数」に渡すとバッファオーバーフローが発生し、任意のコードを実行されてしまうとの事です。

対象OSは、Windows XP SP2との情報ですが、他のWindowsでも発生するのかはわかりません。また、対応パッチも未定のようです。

WindowsのMFCライブラリにゼロデイの脆弱性

「Visual Studio 2008 Express Edition」β日本語版公開

MSは、「Visual Studio 2008 Express Edition」β日本語版公開を公開しました。

このバージョンの特徴は、

  • .NET Framework 3.0のサポート
  • MS Office 2007への対応
  • WindowsVistaへの対応
  • Ajaxへの対応

等のようです。
また、今回公開されたのは

  • 「Visual Basic 2008 Express Edition」
  • 「Visual C++ 2008 Express Edition」
  • 「Visual C# 2008 Express Edition」
  • 「Visual Web Developer 2008 Express Edition」

の4製品です。

個人的には、現時点では「Visual Studio 2005」でも十分と思ってます。
.NET Framework 2.0ベースのアプリケーションもあまり見かけません。
また、WindowsやOffice、開発環境など、新しいものを次々だされても、MSの製品は、単価が非常に高いので懐がついていけません。

また、だんだんサイズも大きくなってきています。個人的にはもっと、軽いのが欲しいなぁっと思います。

Microsoft Visual Studio 2008 Beta 2 日本語版ダウンロード
MS、統合開発環境「Visual Studio 2008 Express Edition」日本語β版を公開

Windowsアプリの開発者が減少傾向?

Windowsのアプリケーション開発者が減少傾向にあるようです。

Evans Dataの同調査によると、Windowsのいずれかのバージョン向けにアプリケーションを開発するソフトウェア開発者は、2006年は全体の75%近くであったのに対し、2007年は65%弱であるいう。同調査グループは、今後1年間のうちにこの数字がさらに2%減少すると予測している。
CNET Japanより

との事です。
確かに、Windowsで開発するのに、必要な技術やソフトはMSに依存せざる終えません。
また、個人ユースなら開発ツールが無料で手に入りますが、少し上の機能を使おうとすると、たちまちコストが高くなります。
そして、新しい開発ツールが出て、その度有償でアップグレード…これでは、コストがかかりすぎます。

減った開発者は、Linux関係に流出しているようです。また、Webプログラミングなどに代表されるように、環境がWebベースの開発が主流になりつつあるのが現状かもしれません。

Windows向け開発者の数が減少--米調査
進む開発者のWindows離れ――Evans Data調べ

PHP 5.2.3リリース

The PHP development team は、PHP 5.2.3を公開したようです。
今回は、セキュリティ修正と安定性向上が目的です。

  • CVE-2007-1887に関する問題の修正
  • chunk_split()における整数オーバーフロー問題の修正
  • imagecreatefrompngにおける無限ループ問題の修正
  • ext/filterメールバリデーション脆弱性の修正

等が修正されました。

PHP
PHP 5.2.3登場 - PHPユーザは早急なアップグレードを