
DNAに格納したエクスプロイトでコンピューターを攻撃する実験 14
ストーリー by headless
実験 部門より
実験 部門より
DNAをストレージとして使用する試みは以前から行われているが、米国・ワシントン大学の研究チームがDNAにエクスプロイトコードを格納してコンピューターを攻撃する実験を行っている(ワシントン大学のニュース記事、
論文: PDF、
HackReadの記事、
The Registerの記事)。
実験ではDNAシーケンサーが出力するFASTQファイルにエクスプロイトコードが含まれるようDNA鎖を合成。FASTQファイルの圧縮に用いるfqzcompユーティリティーを改変し、想定より長いDNAリードを読み込むとバッファーオーバーフローを引き起こす脆弱性を追加している。このエクスプロイトコードによる攻撃が成功するとターゲットマシンはリモートサーバーに接続し、リモートから任意のコードを実行可能になる。なお、実験はASLRを無効化するなど、攻撃者に有利な環境で行われている。
エクスプロイトコードはシーケンシングのエラーに弱く、1か所でもエラーがあると機能しなくなる。実験では76.2%が正常に読み取られたが、ランダムに逆順の読み取りが発生するため、機能するエクスプロイトコードが含まれるリードは37.4%だったそうだ。
実験ではプログラムに脆弱性を追加しているが、DNA分析に使用するオープンソースプログラムを調査したところ、セキュリティのベストプラクティスに従っていないものが多かったという。また、複数サンプルを同時に処理可能なマルチプレックス法によるDNAシーケンシングでは、他のサンプルのデータを取得可能なことも今回の実験で判明している。
現実のプログラムで脆弱性を探し、攻撃用のコードをDNAに組み込むのは容易ではない。ただし、分析を依頼されるDNAサンプルが攻撃ベクターになる可能性を認識し、攻撃が現実の脅威となる前にセキュリティの改善を進めていく必要があるとのことだ。
実験ではDNAシーケンサーが出力するFASTQファイルにエクスプロイトコードが含まれるようDNA鎖を合成。FASTQファイルの圧縮に用いるfqzcompユーティリティーを改変し、想定より長いDNAリードを読み込むとバッファーオーバーフローを引き起こす脆弱性を追加している。このエクスプロイトコードによる攻撃が成功するとターゲットマシンはリモートサーバーに接続し、リモートから任意のコードを実行可能になる。なお、実験はASLRを無効化するなど、攻撃者に有利な環境で行われている。
エクスプロイトコードはシーケンシングのエラーに弱く、1か所でもエラーがあると機能しなくなる。実験では76.2%が正常に読み取られたが、ランダムに逆順の読み取りが発生するため、機能するエクスプロイトコードが含まれるリードは37.4%だったそうだ。
実験ではプログラムに脆弱性を追加しているが、DNA分析に使用するオープンソースプログラムを調査したところ、セキュリティのベストプラクティスに従っていないものが多かったという。また、複数サンプルを同時に処理可能なマルチプレックス法によるDNAシーケンシングでは、他のサンプルのデータを取得可能なことも今回の実験で判明している。
現実のプログラムで脆弱性を探し、攻撃用のコードをDNAに組み込むのは容易ではない。ただし、分析を依頼されるDNAサンプルが攻撃ベクターになる可能性を認識し、攻撃が現実の脅威となる前にセキュリティの改善を進めていく必要があるとのことだ。
何の意味もない (スコア:2)
本家Slashdotでもつっこまれている通り、脆弱性を自らの手で追加してそれを自らのコンピューターで自ら突くことは無意味。(ソフトウェアの脆弱性を発見したわけでもないので、何にも寄与しない)しかもバッファオーバーフローというありふれた脆弱性なので、特に新種というわけでもなく、一般的にも注意すべき話で何もDNAに限定する意味がない。
従ってまず一般的なソフトウェアには見られない特異性を見つけてからDNAうんぬん言うべき。
Re:何の意味もない (スコア:1)
攻撃対象に意図的に変な遺伝子組み込んだ物の調査をさせれば、計測機器をおかしくさせることは可能ということですよね。
計測機器メーカー等の情報から使ってる装置の型番まで調べ上げれば、それなりのことが可能かと。
これはユーザーじゃなくて機器メーカーに対する警鐘だと思ったんですが、違うのでしょうか。
Re:何の意味もない (スコア:2)
まず、前提として、本件はユーザーではなくソフトウェア開発者または会社に対する警告であるとすることは同意します。(ユーザーに脆弱性対策をしろと言っても仕方ありませんし)
となれば、残る疑問はそれは「研究」と言えるほどのものでしょうか。IPAに類する機関が警告を発するならともかく、新規性も何もない、外部入力でバッファオーバーフローを誘発しただけの話ですので、「研究」と言うには疑問が残ります。
Re:何の意味もない (スコア:1)
まだ実際に試験した人がいない事を試して成功させただけで、セキュリティの研究としては成立してると思いますが。
DNAストレージに関するものは全て生命科学の研究でなければならない、なんて決まりは無いかと。
Re: (スコア:0)
基本的にこの攻撃は既存の防御手段で対応できるんですよね。
ストレージの種類が変わってもこの手の攻撃は有効なので。
Re:何の意味もない (スコア:1)
最初にやることに意味があるのだよ。
Re:何の意味もない (スコア:1)
人類で最初にお尻の穴に突っ込んだ人に 同じことが言えますか?
Re: (スコア:0)
そうだな、ちゃんと伝えなければ意味がない。
Re:何の意味もない (スコア:1)
そうでもない。セキュアに作れ、だなんてただの一般論だろ、というのはその通りだけど、その一般論を徹底するのが難しい。
ITに詳しくない会社上層部がしょおもないコスト削減のためにセキュリティについて予算を割かないなんてのはよくある話。
「ここに脆弱性を組み入れてしまうと、細工のされた検体を調査した場合にxx%の確率で不具合が起こる可能性があります」という机上の計算より、
実際に機能する実例を見せた方が、説得力を補強できるかも知れない。
ITに詳しくない連中には、それが自作自演のパフォーマンスでしかないとは見抜けないだろうし。
Re:何の意味もない (スコア:1)
セキュリティ対策には脆弱性だけでなく、攻撃経路や、それらに基づくexploitシナリオの研究だって必要だろう。
貴方のコメントは脆弱性しか見えてない。
Re:何の意味もない (スコア:1)
DNAが信頼できない入力であることが証明されたので、十分価値があると思うが
Re: (スコア:0)
>DNA分析に使用するオープンソースプログラム
って、PCの空き時間に遺伝病の解析とか行うボランティアのプログラムの事じゃないの?
配布されるデータを改ざんすることで侵入を図るとしたら現実的脅威かなと思ったんだけど
ライフサイクルに機械相を追加 (スコア:0)
生命体のライフサイクルに機械あるいは電子的な情報を加えうるという点で興味深い。
生物→(今回のはこれ)→機械内で増殖→(もうある?)→生物 ができたら面白いじゃん?
DNAをストレージとして使用する試み (スコア:0)
ベアデータなのか?
NANDflashみたいにエラー訂正コード入れるとか、しないのかな