カテゴリ: ソフトウェア保護
Blurry Boxのハッカーコンテスト
今回のハッカーコンテストには、世界各国から数百人もの熱心な参加者が集まりました。今回のミッションは、Blurry Box®保護をクラックさせ、ゲームアプリケーションをライセンスなしで動作させる、というものです。Blurry Boxは、公開された暗号化メカニズムをベースとした新たな保護テクノロジーです。結果として、このテクノロジーは誰にも破られませんでした。
3週間もの間、参加者はミッションに挑み続けました。また、Horst Goertz Institute(HGI)からThorsten Holz教授とChristof Paar教授、Institute for Internet Security if(is)からNorbert Pohlmann教授(TU NN)が参加していました。彼らもまたBlurry Box保護を破ることができませんでした。しかし両応募者にはその努力が認められ、審査委員会から1,000.00ユーロ(約130,000円)が授与されました(勝者には賞金50,000.00(約6,500,000円)ユーロが授与される予定でした)。残りは、この分野の研究開発に充てられます。
Blurry Boxは、カールスルーエ工科大学(KIT)のCompetence Center for Applied Security Technology(KASTEL)、Research Center for Information Technology(FZI)、そしてWibu-Systemsによって開発されました。2014年にはGerman IT Security Awardで1位を獲得しています。Blurry BoxはCodeMeterに統合され、今回のハッカーコンテストでその実力が証明されました。このテクノロジーは、7つの特殊なメカニズムがベースとなり、プログラム内の個々の関数の複製/変更/暗号化、そしてプログラムのフローを考慮した上で、実行時にのみ適切なバリアントの選択を行います。また、復号率の制限も可能です。ある関数が呼び出された場合、その関数のみが復号されます。他の関数はメモリ内で暗号化されたままです。不必要な関数を復号すると、ライセンスが自動的に終了します。つまり、ブルートフォース攻撃はできません。ハッカーがBlurry Boxを破るには、ゼロからプログラムを開発する以上の労力が必要です。このメカニズムを詳しく知りたい方は、Wibu-Systemsが制作したアニメーションビデオ(https://www.wibu.com/bb)をご覧ください。
カールスルーエ工科大学(KIT)の暗号/セキュリティ研究所の所長は、このコンテストに込められた思いを以下のように語っています。「ハッカーコンテストの結果に、私は誇りを感じています。しかしながら事前分析がどれだけ優れていても、理論モデルが現実に即したものでなければ、実社会のセキュリティに活かすことはできません。つまり、観察と実証実験が非常に重要であり、理論もハッカーコンテストの中から生まれます。KASTEL competence centerのITセキュリティ研究では、システムを包括的に捉え、さまざまな分野/方法を検討しています。Blurry Boxはその良い例の一つです。」
Blurry Boxは、AxProtector、IxProtector、AxProtector .NET、AxProtector Javaに統合されています。その機能の一部(特にトラップや関数ごとの暗号化)は、すでに使用されています。今後さらに多くの機能が追加される予定です。従って、常に最新バージョンのCodeMeter Protection Suiteの使用を推奨しています。
セキュリティの強化は往々にしてパフォーマンスの低下をもたらします。つまり、Blurry Boxでより計算負荷がかかる機能の一部は、ローカルライセンスでのみ動作します。
Blurry BoxとCodeMoving、対決の行方は?
Blurry BoxとCodeMovingは相互に機能を補完し合います。実際、Blurry BoxはCmDongleの次のメソッドを選択するためにCodeMovingを使用します。しかし、従来のCodeMovingは一般的に動作が遅く、ほんの少しの関数しか保護できませんでした。CodeMovingはBlurry Boxと使うことで本領を発揮します。複雑な関数の保護もでき、CmDongle上ではバリアントの選択のみが行われます。これにより、Blurry Boxは容易に拡張可能となり、許容できるパフォーマンスも維持されます。
KEYnote 34 – Edition Fall 2017