Dropboxクライアントリバースエンジニアリング

画像 最近まで、Pythonで記述された高度に難読化されたアプリケーションのリバースエンジニアリングの可能性について疑問がありました。 2人のDropboxクライアントプログラマーによる最近のリバースエンジニアリングは、これが可能であることを証明しています。



今年2月、Mobile World CongressでCEOのドリュー・ヒューストンは、有名なストレージサービスであるDropboxが1億人のユーザーマークを上回り、1億人のユーザーが毎日100万を超えるファイルをDropboxサーバーにアップロードしたことを喜んで発表しました。 2年前、Dropboxのユーザー数はわずか2,500万人で、1日のダウンロード数ははるかに少なかった。



どんな目的でこれについて言及しましたか? Dropboxの成功は、いくつかの問題を克服することなく達成されたものではなく、サービスチームが新たな頭痛の種になっているようです。これは、Dhiru KholiaとPrzemysławWęgrzynのおかげです。



ボンネットの下を見る


レポートの「 ドロップ」ボックスで 、DhiruとPrzemysławは要点を説明します。

「Dropboxの2要素認証を回避し、Dropboxアカウントを盗む方法を説明します。 さらに、コードインジェクションとモンキーパッチングの手法を使用して、SSLを使用して送信されたデータを傍受する基本原則


DhiruとPrzemysławは、Dropboxクライアントのリバースエンジニアリングのおかげで、同様の結果を達成しました。 これは驚くべきことではないように思えますが、主なものを考慮しない場合にのみ、彼らの仕事のユニークさは、Pythonで難読化されたアプリケーションをリバースエンジニアリングする方法を見つけたということです。



クライアントは、Pythonで難読化されたバイトコードを実行する修正されたPythonインタープリターで構成されています。 ただし、Dropboxはプロプライエタリなプラットフォームであり、そのソースコードはクライアントに公開されていません。さらに、クライアントが使用するAPIでさえドキュメント化されていません。 そのため、過去のリバースエンジニアリングの試みは特に成功していません。 今回、DhiruとPrzemysławは注目すべき結果を達成することができただけでなく、レポートが示唆する1つのアプリケーションの範囲を超えています。

「説明されている手法は、他の閉じられたPythonアプリケーションをリバースするために使用できます。」


結果


研究者はDropboxの多くの秘密を明らかにすることができました。 最初に、登録プロセス、ログイン、およびアカウントを盗むための「Dropbox Webサイトの起動」機能を調査しました。 その後、彼らは次のことを見つけました:



このレポートは、プログラマが被害者のアカウントとファイルへのアクセスに成功した方法を十分詳細に説明しています。 バージョンごとにDropbox開発者がクライアントのセキュリティを複雑にしたため、Dropboxの異なるバージョンをクラックするために異なる攻撃が使用されたことが言及されています。



この研究の著者は、実施されたエンジニアリングがDropboxの開発者に繰り返しの可能性をより困難にすることを強いることを望んでいます。 同時に、彼らはクローズドソースには特別な意味がないことを明確にします:

同時に、Dropboxがそのような努力を行って逆転が不可能になる理由は明らかではありません。 それらの「秘密の材料」のほとんどは、サーバー側に保存されており、すでに十分に保護されています。 逆転防止対策がユーザーとDropboxの両方に利益をもたらすかどうかはわかりません。


他の専門家によると、このドキュメントには、Dropboxクライアントのソースコードを「アンパック」するための段階的な手順が含まれていますが、会社は明らかにそれを望んでいませんでした。 これで、多くの人がこのソースコードを取得して、独自の目的に使用できるようになります。 別のことは、以前に誰かがこれを行ったことがあるかどうかわからないということです。



All Articles