chargeのブログ

人のブログを見て真似して書いていきます。似たブログを見つけたら教えてください。

最近のOfficeフォーマット

2013-11-29 23:14:40 | 科学っぽい思考
最近のOfficeフォーマットはZIP形式で圧縮されているのでZIPを展開するソフトウェアで指定して展開するとテキストベースの中身が出てくる。中身はマクロや画像などはバイナリのファイルで出てくるがあとは大体テキストベースのXML形式である。実際にこのファイルを再圧縮して拡張子を元の拡張子に直すと普通に開ける。時々、メディアで企業や省庁に文書ファイルによるスピア型攻撃が来ると言っていた時があるが、Officeの文書の内容解析は普通の人でも案外容易なことのように思われる。Office2003までははOLEという形式を使っていて、その時もファイルは一種のアーカイブファイルだったのだがいろいろ不便だったようである。
 最近、TIFF形式のフォーマット解析に欠陥があり、リモートで危険が及ぶという警告のニュースが届いたがやってみた感じだとImageMagikにもあった欠陥であるIFDのエントリの数をフル(0xFFFF)にすると+1するので無効な値となってmallocで規定の大きさのメモリが読み込まれIFDの領域がそれ以上に大きいとメモリ破壊を起こすという感じのもので、メモリ破壊のようなことが一応出来たのだがメモリ上で機能するようなコーディングは今のところ自分には難しい。書き込み可能で実行不可となっているデータ領域からメモリリークしてスタックのretを上書きしてデータ領域を実行させたり、読み取り専用の実行領域やDLLなどの外部呼び出しのアドレスまで上書きしてメモリ破壊が検出されないとかは自分では全く考えつかないが出来ると言っているのは何者だろうか。自分は以前言ったのだが、せいぜい、コマンドを羅列してプログラム中の外部プログラムの呼び出しのアドレスをretの帰り先として指定することぐらいしか思いつかない。それで十分かもしれないがOfficeのバージョンが違うとメモリのアドレスが変わっているわけで同じ欠陥があっても同じようには成功しないはずなのでこれを使ってくる人がいる時点でなにか変だと感じることがないわけでもない。
 最近は欠陥を見つける職業の人が居て昔より動きが遥かに良くなりセキュリティーが向上しているので欠陥を突くタイプの攻撃は欠陥がそのままにしてあっても無いと言えるぐらいの時代があと十年たつと来そうなのだが、その時にはハッカーが欠陥を突くことが出来た時代を想像できなくなっていそうだと最近思っている。

ソースコードの表示

<style type="text/css"> /* Source Code CSS */ pre.code { font-size: 12px; /* line-height:1.2em; */ border:1px solid #aaa; background:#f0f0f0; padding:0.5em; overflow: auto; } pre.code span.tag { color: #0000ff; } pre.code span.attr { color: #000; } pre.code span.value { color: #900; } pre.code span.str { color: #009900; } pre.code span.num { color: #009900; } pre.code span.keyword { color: #0000ff; } pre.code span.rem { color: #909; } pre.code span.variable { color: #500050; } </style>