タグ

ブックマーク / xtech.nikkei.com (49)

  • セキュリティとリバース・エンジニアリング

    リバース・エンジニアリング技術は、プログラムの不正利用や著作権保護技術のバイパスといった、いわゆるクラッキング行為に悪用されることがあるので、良いイメージを持っていない方もおられると思います。 また、日ではリバース・エンジニアリングに関する著作権法の解釈が曖昧で、法律の専門家のあいだでも、リバース・エンジニアリングの是非をめぐってしばしば意見が分かれることがあるようです。 しかし、フェア・ユースの規定がある米国では、事情がやや異なります。特にコンピュータ・セキュリティの分野では、むしろ非常に重要な技術として位置づけられており、近年は法的にも社会的にも十分なコンセンサスが得られています。 「0-day攻撃」対策にも リバース・エンジニアリングは、ソフトウエアの脆弱性監査や攻撃ペイロードの分析をはじめ、セキュリティのあらゆる側面において非常に重要な技術です。最近では、ハッカー・アンダーグラウ

    セキュリティとリバース・エンジニアリング
  • 第1回 もう一度,C言語から始めよう

    コンピュータはマシン語しか理解しない 皆さんは,そもそもコンピュータは何語で動いているのかわかりますか? 日人にとっての母国語が日語で,英国人にとってのそれが英語であるように,コンピュータにとっての母国語は機械語(マシン語)です*1。人間は,必要に迫られれば学習し,カタコトでも他国語を話せるようになりますが,コンピュータはちっとも自発的に学習してくれません。何年たっても,マイクロプロセサが直接に解釈・実行できる言語はマシン語だけです(多くの日人が,中学からずーっと英語を勉強しているわりに,英語を話せないという事実はまあ,それはおいといて…)。 マシン語というと,何か意味のある言葉のようなイメージがしますが,デジタル機器であるコンピュータの中では,プログラムも含め,あらゆる情報が2進数で表現されています。ですから,マシン語は人間の目には単なる数字の羅列にしか映りません。例えばこんな感じ

    第1回 もう一度,C言語から始めよう
  • 初心者がJavaを“超高速”で学ぶためのコツ:ITpro

    皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ

    初心者がJavaを“超高速”で学ぶためのコツ:ITpro
  • 「“偽セキュリティ・ソフト”に日本語版,国内ユーザーを標的に」,ウェブルート

    セキュリティ・ソフトに見せかけてユーザーにインストールさせるスパイウエアの日語化が進んでいる。ダウンロード・サイトやインストール画面を日語化した“偽セキュリティ・ソフト”は今までにも複数確認されているが,最近では,ユーザー・インタフェースを日語化した偽ソフトも出現している」。ウェブルート・ソフトウェアのテクニカルサポート ディレクター 野々下幸治氏は6月19日,ITproの取材に対して警告した。 野々下氏によると,スパイウエア対策ソフトやウイルス対策ソフトに見せかけたスパイウエアの“基戦略”は次の通り。スパイウエアの配布元となるWebサイト(あるいは,スパイウエアのアフィリエイト・サイト)にユーザーがアクセスすると,「あなたのパソコンはスパイウエアに感染しています」といった脅し文句が書かれたポップアップやバナー広告が表示される。 そして,「駆除したければ,リンク先のセキュリティ

    「“偽セキュリティ・ソフト”に日本語版,国内ユーザーを標的に」,ウェブルート
    gugugonta
    gugugonta 2007/04/15
    ……。
  • WebアプリをC++ で開発するためのテンプレート・エンジンをオープンソースとして公開:ITpro

    ソフト開発会社のプリファードインフラストラクチャーは2006年10月13日,CGI(Common Gateway Interface)を用いたWeb連携アプリケーションをC++言語で開発するためのソフトウエア部品群「AzaraC(あざらし)」をオープンソースとして公開した。ビュー(HTML)とロジック(C++)とを分離する開発が可能になる。ライセンスはBSDライセンスに準拠する。 AzaraCは,C++言語で書かれたWebアプリケーション開発フレームワークである。HTMLを記述して画面のビューを作るためのテンプレートと,テンプレートと連携して業務ロジックをC++言語で記述するためのC++ソース・コードとを分離するテンプレート・エンジンを中核とする。これにより,開発生産性とメンテナンス性が高まる。また,CGI経由で実行するアプリケーションはコンパイル済みのC++プログラムになるため,他のイン

    WebアプリをC++ で開発するためのテンプレート・エンジンをオープンソースとして公開:ITpro
    gugugonta
    gugugonta 2007/04/15
    [][][Cpp][CGI]AzaraC
  • 第1回 クリップボード・データからURLとメールアドレスを抽出

    記念すべき第1回目にご紹介するサンプルは,クリップボードにあるテキスト・データからURLとメールアドレスを抽出するというHTML Applications (HTA)です。プログラミング言語にはVBScriptを使います。 例えばメールの文を全選択してCtrl+Cキーなどでクリップボードに送ります。データがクリップボードに入っている状態で,このHTAの「URL/メールアドレス抽出」ボタンを押すと,クリップボード内のテキスト・データからURLとメールアドレスを検索/抽出してリストアップします。 実はMicrosoft Excelでもセルを選択(もちろん範囲指定でも全選択でも)してコピーしたデータは,クリップボード内にテキスト・データとして入ります。2万行くらいのExcelデータからURLやメールアドレスだけ抽出するということもできるわけです。ExcelだけでなくAdobe Acrobatド

    第1回 クリップボード・データからURLとメールアドレスを抽出
  • 新しいコマンド環境「Windows PowerShell」が備える便利な機能

    Microsoftはまもなく,新しいコマンド・ライン環境である「Windows PowerShell」をリリースする。Windows PowerShellがすぐに,既存のMS-DOSベースのコマンド・ライン環境である「cmd.exe」に取って代わることはないだろう。それでもPowerShellには,ユーザーが今すぐ試せる便利な機能が搭載されている。今回はその機能を少し紹介しよう。 まず最初に,ユーザーの誤解を解いておきたい。先に述べたように,PowerShellが今すぐcmd.exeを置き換えるわけではない。PowerShellは将来のWindowsで,段階的にcmd.exeを置き換えていくだろう。また下位互換性のために,cmd.exeが今後も提供され続ける公算は高い。 またPowerShellが,Microsoftやサード・パーティが提供するGUIベースの管理ツールを置き換えることもな

    新しいコマンド環境「Windows PowerShell」が備える便利な機能
  • Webデザイン エンジニアリング---目次:ITpro

    この数年間で,(インターネットの総称としての)Webは私たちの生活に深く関係する身近なツールになりました。様々な情報を,この環境の上で閲覧や操作できることは,特別なものから,徐々に当たり前で,なくてはならないモノに変わろうとしていると言えるでしょう。 特別なものから日常のものへとシフトしていく中で,Web自体も大きく変わるべきところが見えてきています。様々なことが挙げられますが,利用者という立場からすれば,やはり「ユーザー・インタフェース(UI)」が一番の関心事です。 特定のITリテラシの高い人たちだけが使うものではない世界に突入する以上,作り手の側の意識も変化しなければ,ニーズに対応できません。そして,こうしたWebアプリケーションの大量生産の時代にも入っています。今あるWebアプリケーションは,私たちの生活を便利にしてくれていますが,これで十分ではないのです。もっと多くの分野で,もっと

    Webデザイン エンジニアリング---目次:ITpro
  • シェル・スクリプト・リファレンス INDEX:ITpro

    「制度上は6カ月を許容」でくすぶる不安、携帯4社のお試し利用で2年間タダの現実味 2024.09.18

    シェル・スクリプト・リファレンス INDEX:ITpro
  • 第5回 配列を理解してアルゴリズムを考える

    連載も今回で5回目,いよいよ中盤に差し掛かってきました。第1回から4回までは,C言語のプログラムとアセンブラのプログラムとの対比,浮動小数点数が計算を間違う理由,構造化プログラミングの必要性,変数のスコープとメモリー・セグメントの関係,スタックの動作など基的な知識を中心に解説してきました。「こうなるのは,こういう理由か」と,目に見えぬ仕組みを理解していただけたでしょうか。 今回からは,基的な仕組みに加えて,プログラミングの面白さもお伝えしたいと思います。プログラミングの面白さは“考えること”にあります。どう処理すればよいかをイメージできない複雑なことを,創意工夫でスパッとコードで実現できたときの爽快感は,他の仕事では得がたいものかもしれません。例えば,大量のデータを少量のコードで扱い,処理の効率をアップさせるために知っておかなくてはならない基的なデータ構造に「配列」があります。今回

    第5回 配列を理解してアルゴリズムを考える
  • Rubyプログラミングはじめの一歩

    まつもとゆきひろ氏が開発したプログラミング言語Rubyは,いまやソフトウエア開発の世界ではワールドワイドな存在です。デスクトップ・アプリケーションからWebアプリケーションまでその用途は幅広く,今後も様々な分野で利用されていくことは間違いありません。この記事では,Rubyプログラミングの初歩の初歩を,制御構造からオブジェクト指向プログラミングの導入部まで簡潔に解説します。 Rubyは,オブジェクト指向のスクリプト言語です。しかも,とても強力です。筆者は,Rubyを知る前はPerlJavaを使っていました。Perlは優れたスクリプト言語ですし,Javaも優れたオブジェクト指向言語です。しかしRubyは,Perlよりも美しい言語で,Javaよりも使いやすいオブジェクト指向言語だったのです! 今ではRubyPerlJavaだと思っています。 RubyにはPerlをお手とした強力な文字列操

    Rubyプログラミングはじめの一歩
  • オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup

    オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。 そこで特集では,「オブジェクト指向という言葉をよく聞くけど,実際どんなものかよくわからない」という方のために,初心者/入門者が陥りやすい落とし穴を明確にしながら,オブジェクト指向の全体像を説明します。余計な先入観やまぎらわしいたとえ話に惑わされなければ,オブジェクト指向そのものはそれほど難しい技術ではないことを理解していただきたいと思います。なお,オブジェクト指向プログラミング,デザインパターン,分析/設計といった個々の技術については特集2以降でそれぞれ解説

    オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup
  • 「悪質プログラムは仮想マシンを回避する」,商用ツールを利用するケースも

    米SANS Instituteによれば,仮想マシンを検出する機能を備えた悪質なプログラムが最近増えているという。同組織のスタッフが現地時間11月19日,公式ブログで明らかにした。解析されることを防ぐために,仮想マシン上では動作しなかったり,自分自身を消去したりする(関連記事:「ボットネットは“目立たない”ように工夫を凝らす)。仮想マシンを検出する機能の実装には,商用ツールが使われている場合もあるという。 ウイルスやボットといった悪質なプログラムの“捕獲”には,仮想マシンが利用されることが多い。仮想マシン上のゲストOSで“罠(ハニーポット)”を稼働させ,悪質なプログラムをわざと感染させて,その挙動などを解析する。 それを防ぐために,最近の悪質なプログラムは,仮想マシンの検出機能を備え始めた。SANS Instituteのスタッフが最近捕獲した悪質なプログラム12種のうち3種が,仮想マシンVM

    「悪質プログラムは仮想マシンを回避する」,商用ツールを利用するケースも
  • レイアウト全体を中央に寄せる方法

    CSSではレイアウト全体をまとめているDIVタグに付けたセレクタに対して margin : auto; というプロパティと値のセットを入れれば左右の余白が常に一定になり、領域は中央寄りになる。ところがIE6の場合、後方互換モード時はこのプロパティを無視してしまう。後方互換モードで中央寄せを行うならば、BODYの書式設定時に text-align : center; を設定してDIVを無理矢理中央寄せにする。このままではページ内の文字のレイアウトまで中央揃えになってしまうので、全体をまとめるDIVには text-align : left; などと左揃えの指定をさらに加える。

    レイアウト全体を中央に寄せる方法
  • 「攻撃者の“足跡”を探せ」---Windowsレジストリの解析方法:ITpro

    自分の管理するシステムが不正アクセスされた場合には,影響範囲や原因を特定するために攻撃者の“痕跡”を調査する必要がある。対象システムがWindowsマシンであれば,レジストリの解析は不可欠。しかしながら通常のログ・ファイルと異なり,レジストリの調査は骨が折れる作業となる。そこで稿では,不正アクセスを受けたシステムにおけるレジストリの解析方法をまとめた。 なお,Windowsマシンにおける失われやすい情報(揮発性の高いデータ)の証拠保全については以前の記事でまとめているので,そちらを参照していただきたい。 レジストリの分析は容易ではない Windowsマシンが不正アクセスを受けた場合には,通常,以下の3種類のファイルを調査することになる。 (1)Windowsのイベント・ログ (2)各種アプリケーションのログ (3)レジストリ (1)と(2)については,通常の運用においても馴染みが深いので

    「攻撃者の“足跡”を探せ」---Windowsレジストリの解析方法:ITpro
  • 文字コード規格の基礎:ITpro

    この記事は,日経ソフトウエア 1999年10月号に掲載したものです。それ以降の情報が盛り込まれていませんので,現在とは異なる場合があります。 文字コード規格の基礎を手早く理解したい場合などにお役立てください。 文字コードは間違いなく情報を交換するための「決まりごと」なので,正確を期すため厳密な仕様が規定されている。だが,その仕様そのものを実装するプログラムを作る場合を除けば,プログラマが仕様の詳細を隅々まで理解している必要はない。六法全書を読んでいなくても問題なく普段の生活ができるようなものだ。 ここでは,通常のプログラミングをするうえで必要と思われる範囲のことを,なるべく簡潔に説明したい。「半角カナ」のような呼び名は正確さを欠くものだが,多くの人に伝わりやすいので説明の中でも使っていく。説明を簡略化するため「正確な仕様を知りたいときは規格書そのものを必ず参照してほしい」と書きたいところだ

    文字コード規格の基礎:ITpro
  • 動画ファイルにも危険が潜む,“仕様”を悪用した手口が続出

    米McAfeeは12月5日,ファイル形式やプレーヤ・ソフトの仕様を悪用して動画ファイルに“罠”を仕込む手口が続出しているとして注意を呼びかけた。ユーザーの環境によっては,細工が施された動画ファイルを再生するだけで被害に遭う恐れがある。 攻撃者は,ファイル形式やプレーヤ・ソフトの仕様と,別のソフトウエアやWebサイトの脆弱性(セキュリティ・ホール)を組み合わせることで,「動画を再生するだけで被害に遭う」状況を作り出す。 その一例として同社では,12月1日に報告された「QuickTimeビデオ・ワーム」を挙げる(関連記事:MySpaceで感染を広げる“QuickTimeビデオ・ワーム”)。これは,ソーシャル・ネットワーキング・サービス「MySpace」で感染を広げるワーム。細工が施されたQuickTimeビデオ・ファイル(.mov)を開くだけで,MySpaceユーザーのプロファイル・ページを改

    動画ファイルにも危険が潜む,“仕様”を悪用した手口が続出
    gugugonta
    gugugonta 2007/04/15
    「仕様」て
  • フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro

    アイ・エム・ジェイなどを経て,2000年,仲間とともにシリアルゲームズを設立。PostPet V3 Windows版やスクリーン・セーバー開発ツールfla:verなどの開発にかかわる。 プログラミングの目覚めは中学生時代に触れたBASIC。機械語からC/C++と無難に成長するが,高校時代にTurbo Pascalに触れたばっかりに,今では立派な? Delphi使いに。VMやスクリプト言語全盛の中,ネイティブ・アプリケーションの復権を目指し活動するも,泣きながらActionScriptを書いたりする日々を送る。 米Borland Software(以下Borland)は,2006年9月6日,Windowsアプリケーションの開発ツールの「Turbo Delphi」などを発表した。リリースしたのは「Turbo Delphi」「Turbo Delphi for .NET」「Turbo C++」「T

    フリーのTurbo Delphiで始めるWindowsプログラミング:ITpro
  • 第1回 まずはVB 2005の性格をつかもう

    イーザー(http://www.easier.co.jp/)副社長。40代半ばになってあらためてプログラミングが好きになりました。何歳まで現役でプログラムを作れるか,チャレンジしたいと思います。でも,実はかばんにいつも老眼鏡をしのばせていたりします。 この連載では,マイクロソフトのVisual Basic(VB)2005を使って,最新のVBプログラミングの便利さや快適さを紹介したいと思います。.NET Framework登場以前のVBを使っていた方の中には,.NET以降のVBに興味を失ったという人もいるようです。確かに,.NET以降のVBはいろいろと変わりましたが,最新のVB 2005は,旧VBユーザーに使いやすいように進化しています(カコミ記事「Visual Basic 2005は現実的である」参照)。VBで培ってきたこれまでのスキルを活かすことができます。これを使わない手はありません。

    第1回 まずはVB 2005の性格をつかもう
  • Pythonプログラミングを楽にするEclipseプラグイン

    一般に,PerlPythonなどの軽量言語(Lightweight Language)でプログラムを作るときは,テキスト・エディタでコードを記述することが多いでしょう。専用の開発ツールなどを使わなくても,さっと書いてさっと実行できることが軽量言語の魅力の一つです。とはいえ,ある程度規模の大きい格的なプログラムを作りたいときは,コード入力支援やデバッガなどの機能を備えた統合開発環境(IDE)を使うほうが便利です。軽量言語プログラミングを支援するIDEはいくつかありますが,その中からPython用IDE「PyDev」を紹介します。 PyDevは,Eclipse上でPythonプログラミングを可能にするプラグインです。言語としてはPythonのほかにJython(Java仮想マシンで動くPython処理系)にも対応します。インストールは簡単です。Eclipseが備えるソフトウエアの更新機能を

    Pythonプログラミングを楽にするEclipseプラグイン