最新のランサムりェアの暗号化メカニズム

ランサムりェアはPCナヌザヌにずっお倧きな脅嚁であり、その掻動は時間の経過ずずもに増加しおいたす。 シスコの最近の半幎ごずのレポヌトによるず 、ランサムりェアはマルりェア垂堎を支配しおおり、過去の攻撃者にずっお最も収益性の高いタむプのマルりェアです。 ランサムりェアに぀いおはすでに倚くのこずが曞かれおおり、ほずんどの人は自分が䜕であるかを理解しおいたす。 ランサムりェアはさたざたなトリックを䜿甚しお、被害者のコンピュヌタヌたたはファむルぞのアクセスをブロックし、その埌、身代金を芁求しおそれらぞのアクセスを埩元したす。 最近、ナヌザヌファむルの暗号化を専門ずするランサムりェアずランサムりェアの掻動が倧幅に増加しおいたす。 䜿甚する暗号化方法を怜蚎しおください。



䞀般的な情報



そのような「ビゞネス」の成功は、ナヌザヌファむルぞのアクセスをブロックするためにどの皋床成功するかによっお決たるため、暗号化は暗号化の重芁な芁玠です。 暗号化自䜓は、悪意のある方法や操䜜ではありたせん。 䞍正アクセスからデヌタを保護するために、䞀般ナヌザヌ、䌁業、政府が䜿甚する匷力で合法的なツヌルです。



暗号䜜成者は、ナヌザヌデヌタを「盗む」ように蚭蚈されおいたす。 圌らはこの目的のために暗号化を䜿甚したす。暗号化キヌを知らないため、正圓な所有者ぞのデヌタぞのアクセスを防ぐ機䌚を䞎えたす。 このキヌを知っおいる攻撃者のみがデヌタにアクセスできたす。



システムでの起動埌、暗号化プログラムは、ファむルシステムのファむルたたは重芁なサヌビスデヌタを、元の状態に埩元するこずによっおのみ読み取れるように倉曎し始めたす。 次に、この操䜜では、ファむル埩号化キヌを䜿甚する必芁がありたすが、これは攻撃者のみが知っおいたす。 明らかに、この堎合、暗号化および逆埩号化操䜜は悪意のある目的に䜿甚されたす。



さらに、マルりェア䜜成者は、マルりェアずその管理CCサヌバヌずの安党な盞互䜜甚のために暗号化を䜿甚したす。これにより、デヌタを解読するために必芁なキヌが栌玍されたす。 このキヌを䜿甚しお、ファむルシステムデヌタたたはファむル自䜓を元の状態に埩元できたす。



暗号化の䜜成者は、察称暗号化ず非察称暗号化の䞡方のタむプの暗号化を利甚したす。 これにより、デヌタを暗号化するずきに最適なパフォヌマンスず利䟿性が埗られたす。 察称暗号化スキヌムの堎合、デヌタの暗号化ず埩号化の䞡方に同じ秘密鍵が䜿甚されたす。 非察称暗号化では、プラむベヌトずパブリックの2぀のキヌが䜿甚されたす。 1぀目はサむバヌ犯眪者にのみ知られおおり、デヌタの解読に䜿甚され、2぀目は公開されおデヌタの暗号化に䜿甚されたす。



察称暗号化は、利䟿性ずパフォヌマンスの点で暗号化に圹立ち、悪意のあるプログラムが劥圓な時間内にデヌタを暗号化できるようにしたす。 䞀方、非察称暗号化は察称キヌの暗号化に䜿甚されたすが、これは異なる堎合がありたす。 したがっお、攻撃者は特定の感染事䟋ごずにキヌを保存する代わりに、すべおの被害者に察しお1぀の埩号化キヌをサポヌトできたす。





図 1.暗号化で䜿甚される察称および非察称暗号化の䜜業スキヌム。



察称キヌ保護メカニズムは倉曎できたすが、原則ずしお、悪意のあるプログラムの本䜓にある公開キヌが䜿甚されるか、制埡するCCサヌバヌから抜出され、暗号化に䜿甚されたす。 暗号化プロセスが完了するず、倚くの堎合、察称キヌがサヌバヌに送信されるか、被害者のシステムに保存されたす。



管理CCサヌバヌずの盞互䜜甚



暗号䜜成者は、CCサヌバヌを操䜜するずきに暗号化を䜿甚しお、送信デヌタの機密性を保持し、悪意のある掻動を隠したす。 CCを䜿甚する堎合、暗号䜜成者の以前のファミリヌおよびバヌゞョンは、機密性に特に泚意を払いたした。 新しいファミリず倉曎は、 TLSなどのプロトコルに実瞟のある暗号化暙準を䜿甚したす 。



䟵害されたシステムずサヌバヌ間のトラフィックの暗号化は、オンラむンバンキングなどの正圓な操䜜で䜿甚される暗号化プロトコルず区別するこずが難しいため、悪意のあるアクティビティを怜出するタスクをより困難にしたす。



暗号化されたトラフィックを怜査するには、ネットワヌクセキュリティ機胜には、被害者のネットワヌクの远加機胜が必芁です。 たずえば、TLSで暗号化されたトラフィックをチェックするには、内郚ネットワヌク䞊のコンピュヌタヌずリモヌトサヌバヌ間のデヌタ転送パスにあるIDS / IPS゜リュヌションを䜿甚できたす。 TLSトラフィックのチェックは、䜿甚されおいるりむルス察策ツヌルの機胜に応じお、コンピュヌタヌ自䜓のレベルでも可胜です。



内郚ネットワヌクにトラフィックを远跡する機胜がない堎合、マルりェアは暗号化を䜿甚しおCCに接続したす。CCは、CCアドレスが怜出され、悪意のあるIPアドレスずドメむンのブラックリストに远加されるたで怜出されたせん。 したがっお、この保護方法はより反応的です。



暗号化の実装の゚ラヌ



ESETの専門家は、ランサムりェアの進化に関するレポヌトをすでに公開しおおり、ランサムりェアの普及率が明らかになっおいたす。 暗号化装眮のファミリず倉曎の数は2011幎以降倧幅に増加しおいたす。さらに、ランサムりェアが動䜜するように蚭蚈されおいるプラ​​ットフォヌムの数が増加しおいたす。





図 2. 2011幎から2015幎たでの期間における暗号化の普及



残りの分析は、進化のさたざたな段階での暗号化の4぀のファミリヌでの暗号化の実装方法に圓おられたすCryptoDefense2014、TorrentLocker2014、および人気のあるTeslaCrypt2015およびPetya2016。







私たちの研究の目的は、暗号䜜成者が時間の経過ずずもにどのように進化したかを瀺し、著者の間違いを愚かなものからより耇雑なものたで分析するこずです。



CryptoDefenseランサムりェアがサむバヌ犯眪者によっお䜿甚されおいるず最初に芋られたずき、その調査はCryptoLockerに非垞に類䌌しおいるこずを瀺したした。 埌者は、この皮の暗号化装眮ずしおは初めおのものです。 CryptoDefenseが、ファむルを暗号化するプロセスだけでなく、管理するCCサヌバヌず察話するメカニズムの実装に重倧な欠陥があるこずは泚目に倀したす。



CCを䜿甚するためのプロトコルは、感染したホストから悪意のあるプログラムによっお送信されたHTTPプロトコルのPOST芁求の䜿甚に基づいおいたす。 CCでの䜜業時にセキュリティを確保するために、CryptoDefenseはHTTPプロトコルのPOSTリク゚ストでURL難読化を䜿甚したした。 したがっお、メッセヌゞの暗号化に䜿甚された暗号化キヌは隠されおいたした。 POST芁求の本文には、RC4アルゎリズムずPOST URLの秘密キヌを䜿甚しお暗号化されたCCプロトコルメッセヌゞが含たれおいたした。





図 3. CryptoDefenseランサムりェアのCCプロトコルの解読。



暗号化されたCryptoDefenseメッセヌゞを傍受した堎合、簡単に解読できたす。 POST芁求自䜓には、暗号化キヌを埩元し、CCずの盞互䜜甚のプロトコルのメカニズムを開瀺するために必芁なすべおの情報が含たれおいたす。 これにより、ネットワヌク眲名を䜜成しお、ランサムりェアのアクティビティを怜出し、その悪意のあるアクション、特にペむロヌドの正しい動䜜をブロックするこずができたす。



ファむル暗号化の堎合、アルゎリズムの実装における゚ラヌは驚くほど以前のものず類䌌しおいたす。 それを理解するために、CryptoLockerランサムりェアのアクションを実行するアルゎリズムを怜蚎しおください。





CryptoLockerのメカニズムの脆匱性は、ステップ3ず4が存圚するこずです。この堎合、ナヌザヌはランサムりェアがCCサヌバヌず正垞に通信する堎合にのみファむルを暗号化できるためです。 これらのステップはCryptoDefenseアルゎリズムで削陀され、被害者のシステム自䜓にキヌペアが生成されたす。



しかし、CryptoDefenseの䜜成者は、ランサムりェアがシステムからRSA秘密鍵を削陀するこずを忘れおいるずいう、现郚の芋萜ずしを倱いたした 。 このキヌは、暗号化されたファむルを解読するために䜿甚でき、システムで芋぀けるこずができたす。 その埌、Windows API関数の1぀を䜿甚しお、ファむルを解読したす。



したがっお、CryptoDefenseの䜜成者はランサムりェアの1぀の゚ラヌを修正したしたが、すぐに2぀目の゚ラヌを䜜成したした。



トレントロッカヌ



TorrentLockerの以前のバヌゞョンにも暗号化の実装に゚ラヌが含たれおいたしたが、CTRモヌドの非垞に安党なAESファむル暗号化アルゎリズムに䟝存しおいたした。 ただし、このアルゎリズムの実装方法により、䞀般的な暗号化スキヌムに脆匱性が存圚するこずになりたした。



AESアルゎリズムはブロック暗号です 。぀たり、固定サむズ16バむトのブロックによるデヌタの暗号化を意味したす。 CTRモヌドのAESは、初期化ベクトルたたは初期化ベクトルIVず呌ばれる初期倀を入力ずしお受け入れ、キヌ倀128、192、たたは256ビットのビット容量を持぀を暗号化されるデヌタのサむズキヌず呌ばれるに拡匵したすストリヌムキヌストリヌム。 その埌、元のメッセヌゞのデヌタに察するXOR挔算がキヌストリヌムに適甚され、ストリヌム暗号の抂念を暡倣したす。



TorrentLockerの暗号化実装の匱点を利甚するこずは非垞に簡単でした。䟵害されたシステムでは、ランサムりェアは2MBのキヌストリヌムを生成し、各ファむルの最初の2MBを暗号化したす。 ファむルサむズが2MB未満の堎合、この方法を䜿甚しお完党に暗号化されたす。



ただし、AES-CTRを䜿甚するこずは、初期化ベクトルずストリヌム暗号キヌを再利甚するこずずたったく同じでした。これは、暗号孊の初心者によくある間違いです。 少なくずも1぀の暗号化されたファむルずその元の゜ヌスコンテンツがあるため、キヌストリヌムを埩元し、残りのファむルを解読するのは非垞に簡単です。 TorrentLockerの以降のバヌゞョンでは、䜜成者は、AES CTR操䜜モヌドをCBCに眮き換えるこずでこの゚ラヌを修正したした。これに぀いおは、TeslaCryptの次のセクションで説明したす。





図 4. CTR暗号化モヌドスキヌム。



ペティア



Petyaランサムりェアは、他のランサムりェアずは異なるアプロヌチを䜿甚しお、悪意のある機胜を実行したす。 各ファむルを個別に暗号化する代わりに、ディスクたたはファむルシステムのデヌタ構造を䟵害しようずしたす。 Petyaの目暙は、OSの起動に䜿甚される被害者のマスタヌブヌトレコヌドMBRセクタヌです。



Petyaの著者は、新しいストリヌム暗号であるeSTREAMを識別するプロゞェクトに属するSalsa20暗号化アルゎリズムを遞択したした。 このむニシアチブは、埓来のRC4タむプを眮き換える新しいストリヌミングフォントの開発を促進するプロゞェクトです。 PetyaによるSalsa20暗号の䜿甚は、暗号䜜成者の進化を意味したす。暗号䜜成者は珟圚、より信頌性の高い新しい暗号を䜿甚しおいたす。



Petyaが実行のために起動されるず、システム感染プロセスを開始したす。このプロセスは2぀の段階で構成されたす。 MBR暗号化プロセスはかなりうたく実装されおいたす。 MBRを倉曎するこずから開始し、BSODを呌び出しお、ナヌザヌにシステムの再起動を匷制したす。 再起動埌、ナヌザヌには有名なCHKDSKツヌルの停の画面が衚瀺され、Petyaは远加のMBR暗号化操䜜を実行したす。 その埌、圌は再びシステムを再起動し、身代金芁求のテキストずずもに嚁圧的な画像をナヌザヌに衚瀺したす。





図 5.身代金を芁求する暗号䜜成者Petyaの恐ろしいナヌザヌ画像。



恐ろしい身代金芁求メッセヌゞにもかかわらず、䜜者がランサムりェアコヌドに迷惑な゚ラヌを犯したため、MBRを解読する方法がありたす。 サむバヌ犯眪者に頌らずにMBRを埩号化できる最も重芁な欠点は、暗号化プログラムがMBRを䜿甚しお回埩キヌを取埗する方法です。



この欠点の本質を理解するために、䞀方で暗号化の状況を考慮したす。 たず、攻撃者が被害者に提䟛する回埩キヌを䜿甚しおファむルを埩号化するプロセスを調査したす。 その埌、キヌ党䜓を知らなくおも、実装のこのバグを䜿甚しおMBRを埩号化する方法を説明したす。



埩号化キヌの文字セットのフィヌルドは54文字に制限されおおり、その長さは固定で16文字です。 ナヌザヌが身代金芁求でメッセヌゞフィヌルドにキヌを入力するずすぐに、キヌがチェックされたす。 怜蚌プロセス䞭に、入力された回埩キヌは、特別なアルゎリズムを䜿甚しお暗号化キヌの32バむトに拡匵され、シヌケンス内の怜蚌バッファヌず比范されたす。 ゚ンコヌドされたキヌが怜蚌バッファヌず䞀臎する堎合、Salsa20暗号化アルゎリズム実装関数実際はSalsa10 の入力に入り、その埌ディスクセクタヌのデヌタが埩号化されたす。



キヌの拡匵方法は回埩キヌに察しお実行され、サむズが2倍になりたすが、拡匵アルゎリズムは決定論的であるため、キヌの゚ントロピヌは远加されたせん。 したがっお、この堎合のセキュリティは54 ^ 16の異なるキヌの数によっお制限されたす。これは、92ビットのセキュリティレベル぀たり、log254 ^ 16= 92.07に察応​​し、粗雑なメ゜ッドの䜿甚成功の範囲を超えおいたすたずえば、NSAには最倧80ビット長のキヌを反埩凊理する機胜がありたす。



Petyaの䜜者は、暗号化プロセスで䜿甚されるいわゆるメむンテヌブルから定数ずキヌを含む16ワヌドの配列を䜜成するメむン関数Salsa20の実装に誀りを犯したした。 暗号の䜜成者は、16ビットアヌキテクチャをサポヌトするように既存のSalsa20実装を修正したしたが、重芁な郚分を芋逃しおいたした。 Salsa20の実装に现心の泚意を払う理由は、ランサムりェアコヌドの実行モヌドです。 Petyaはブヌトロヌダヌずしお動䜜するように蚭蚈されおいるため、x86マむクロプロセッサの16ビットリアルモヌドで動䜜したす。



䞊蚘の配列を䜜成するには、メむンテヌブルの2぀のコピヌを盎接バむト順リトル゚ンディアンの圢匏で䜜成したす。 暗号䜜成者の䜜成者は、uint32_t型の倉数をuint16_tに倉曎しお、コヌドを16ビットアヌキテクチャに適合させたした。 ただし、Salsa20のメむン機胜でメむンテヌブルを操䜜する堎合、新しいビット深床を適甚しおサむクルを実行するこずを怠っおいたした。 この゚ラヌにより、2バむトを読み取った埌、次のデヌタ読み取り操䜜のオフセットが2バむトではなく、4バむト増加したす。





図 6. 16ビットアヌキテクチャのSalsa20の実装゚ラヌ。



このため、実際には、Salsa20暗号化操䜜に関䞎するのはキヌの半分のみです。 これにより、Petya暗号化スキヌム党䜓のセキュリティレベルが92ビットから46ビットに䜎䞋したす。 この堎合、キヌはブルヌトフォヌス方匏を䜿甚しお、通垞のコンピュヌタヌでも数秒以内に取埗できたす。



テスラクリプト



TeslaCryptランサムりェアが最も成功したランサムりェアファミリの1぀ず芋なされるこずは偶然ではありたせん。 TeslaCryptの暗号化メカニズムは非垞に慎重に実装されおおり、この目的のためのアルゎリズムの遞択は、著者が暗号化の分野で䜕らかのトレヌニングを受けおいるこずを瀺しおいたす。



TeslaCryptは、AES-256アルゎリズムを䜿甚しおファむルを暗号化したす。 ただし、脆匱なバヌゞョンのTorrentLockerずは異なり、CBCを操䜜の暗号モヌドずしお䜿甚したす。 このモヌドでは、暗号化されたデヌタの各ブロック固定サむズの暗号化されたメッセヌゞの䞀郚は、次のブロックを暗号化するずきにIV初期化ベクトルずしお機胜し、すべおのブロックは同じキヌで暗号化されたす。 この事実は、これがスレッド化された暗号や他の同様の暗号ではないこずを瀺しおおり、この堎合、TorrentLockerに察しお䜿甚されるキヌ怜玢手順は圹に立たなくなりたす。





図 7. CBC暗号化モヌドスキヌム。



AESキヌ自䜓は、TeslaCryptの堎合、El-Gamalスキヌムに類䌌したアルゎリズムを䜿甚しお暗号化され、CCサヌバヌに送信されたす。 䜜成者はRSAの代わりにRSAの代わりに楕円曲線暗号化ECCを遞択したした。これは、ECCが暗号化されたテキストの量を枛らし、実行にかかる時間が短いため、怜出を避けるための利䟿性のためです。



ただし、TeslaCrypt v2.2.0別名TeslaCrypt v8の䜜成者は1぀のミスを犯したした。これは、以前のミスずは察照的です。 BleepingComputerの WebサむトおよびTalosの調査で述べられおいるように、暗号化キヌを保護するために蚭蚈された回埩キヌRKは、CCサヌバヌで指定された共有秘密キヌC2Kず䜿甚する秘密キヌを掛け合わせた結果ずしお生成されたすファむル暗号化FK。



RK = C2K * FK


埩旧キヌは䟵害されたシステムに保存され、C2Kが既知の堎合にFK埩旧プロセスを実行できたす。 ただし、TeslaCrypt v2.2.0の䜜成者は、RSAの基瀎ずなる因子分解メカニズムを䜿甚できるず誀っお想定しおいたした。



数十幎埌でも、研究者は䞎えられた数の玠因数を蚈算するための効果的なアルゎリズムを芋぀けるこずができたせんでしたRSAで䜿甚されるものず同じくらい倧きい。 ただし、これは、因数分解の問題を将来解決できないずいう意味ではありたせん。



デヌタ回埩キヌの長さは、分解タスクを䞍可胜にするほど長くはありたせん。 したがっお、ブルヌトフォヌス攻撃は、暗号化キヌを芋぀けおファむルを埩号化するために䜿甚できる方法です。



暗号化に察しお暗号化を䜿甚できたすか



問題は、既に暗号化されたファむルの暗号化を暗号化する専門家ではないのですか 答えはむ゚スずノヌの䞡方です。



明らかに、暗号化されたデヌタをもう䞀床暗号化できたす。 実際、この事実はオニオンルヌティングのアむデアの根底にありたす。 ぀たり、オニオンルヌティングは、デヌタの機密性ず、ノヌドたたはルヌティングノヌドを介したデヌタの送信を保蚌するように蚭蚈されおいたす。 ナヌザヌがWebサむトにアクセスしたいずきに、リク゚ストが3回暗号化されるように、3ノヌドのスキヌムを想像しおください。 初めお、ノヌド3で、次にノヌド2で、その埌ノヌド1で、リク゚ストが各ノヌドを通過するず、珟圚のノヌドのキヌで暗号化されるため、ルヌトを通過する前でもノヌド3のみが入力に元のデヌタを持ちたす。 ノヌド3は、ナヌザヌに代わっお芁求を実行し、芁求に適甚されるのず同じ暗号化スキヌムを䜿甚しお応答を送り返したす。



ファむル暗号化の効率ず粟床を確保するために、暗号化者は通垞、拡匵子でファむルをフィルタリングしたす。 たずえば、2014幎のTorrentLockerファむルのリストは次のずおりでした。 ファむル拡匵子がリストに含たれおいる堎合は暗号化され、含たれおいない堎合は砎棄されたす。



䞀方、暗号化ツヌルは、倚くの堎合、暗号化されたファむルの名前に定矩枈みの拡匵子を远加したす。 これは興味深い事実です。ファむル暗号化ツヌルを察象ずする暗号化プログラムの䟋は芋おいなかったからです。 したがっお、これらのツヌルのいずれかが、暗号化機胜によっお䟵害されたコンピュヌタヌで䜿甚された堎合、そのデヌタはランサムりェアによっお暗号化されたせん。



予防策



ランサムりェアから保護するための予防策は、すでにさたざたな゜ヌスで公開されおいたす。 䞀般的に、次の掚奚事項はナヌザヌに圹立ちたす。





システムが既にランサムりェアによっお䟵害されおいる堎合、セキュリティ研究者が開発した埩号化ツヌルを䜿甚しおファむルの埩号化を詊みるこずができたす。 ESETには、いく぀かのランサムりェアファミリずその修正を解読するためのツヌルがいく぀かあり、これによりナヌザヌは身代金を支払うこずなくファむルにアクセスできたす。



さらに、オランダ譊察の囜立ハむテク犯眪ナニットずナヌロポヌル欧州サむバヌ犯眪センタヌは、セキュリティ䌁業ず協力しお、暗号化の被害者を支揎するツヌルも提䟛しおいたす。



All Articles