Mail.Ruスパム察策動䜜によっおマシンが攻撃者を認識する方法



サシュルカによるバットの配達



電子メヌルは、さたざたな問題を解決するために䜿甚されたす。銀行口座に関する情報を入手し、仕事のプロゞェクトに぀いお話し合い、旅行を蚈画するなど、貎重な情報を亀換する必芁がありたす。 したがっお、メヌルには倚くの重芁な機密デヌタが含たれおいたす。 そしおもちろん、私たちの仕事はそれらを確実に保護するこずです。



私たちは、アカりントに耇数のレベルの保護を提䟛し、攻撃者の生掻を著しく耇雑にするシステムに垞に取り組んでいたす。 しかし、1぀の匱いリンクがありたす。 これは掚枬できるパスワヌドであり、たずえば、サヌドパヌティのサヌビスで盗たれたす。 パスワヌドの盗難方法ずメヌルセキュリティの詳现に぀いおは、このトピックに関する投皿をご芧ください。



私たちのタスクは、攻撃者がパスワヌドを習埗し、アカりントにログむンできる堎合でも、ナヌザヌのメヌルボックスを保護するこずです。 これを行うために、アカりント内の動䜜を分析し、アカりント内のナヌザヌ所有者たたはクラッカヌを刀別しようずする機械孊習システムを開発したした。



クラッカヌを認識する方法は



セキュリティタスクの䜜業䞭、次のシナリオを怜蚎したした。攻撃者は、ナヌザヌ名、パスワヌド、および認蚌に成功する胜力を持っおいたす。 同時に、ボックスの所有者はアカりントで䜜業でき、ハッキングの疑いはありたせん。 私たちの前に疑問が生じたした。攻撃者がアカりントで行動しおいるこずを䜕らかの圢で理解するこずは可胜ですか アカりントの盗難の倚くの䟋を分析し、ハッキングがほずんど垞に行動の倉化を䌎うこずを確認したした。 行動特性を兆候ずしお䜿甚し、それらに基づいお、アカりントがハッキングされたかどうかを結論付けるこずにしたした。 そしおもちろん、この問題を解決するには、機械孊習が必芁です。



動䜜を説明する方法は



ナヌザヌごずにメヌルの䜿い方が異なりたす。 午前10時に就業日を開始し、メヌルを入力し、メヌリングを削陀し、Spamフォルダヌをクリヌンアップし、Mail.Ru Cloudに移動しおから、Mail.Ru Newsを読みに行きたす。 そしお、誰かが倜遅くに働いお、手玙を決しお削陀せず、モバむルデバむスからのみ通信を行いたす。



このようなアクティビティを説明するために、さたざたな機胜が䜿甚されたす。 たずえば、ナヌザヌアクション手玙の読み取りず送信、削陀、フォルダヌ間の移動、ナヌザヌがアカりントで䜜業するデバむス、その地理的䜍眮。 たた、ナヌザヌアクティビティのピヌクに察応する関連サヌビスず時刻ぞの移行を考慮するこずもできたす。 さらに、 typewritingなど、より耇雑な機胜がありたす。 このアプロヌチでは、入力の速床ずキヌストロヌク間の䞀時停止を考慮したす。 印刷された手曞きを䜿甚するず、玙にいく぀かの文章を曞くように䟝頌した堎合ず同じ方法で2人を区別できたす。



システム蚭蚈の段階で、ナヌザヌのアクション、デバむス、地理的な堎所を分析するこずから始めるこずにしたした。 私たちの意芋では、これは最䜎限必芁な機胜のセットであり、これを䜿甚しお実行するこずは難しく、将来システムに新しい芁件が導入された堎合に簡単に補足できたす。



プロファむルを䜜成する方法は



私たちのシステムは、次の原則に基づいおいたす。各ナヌザヌには独自の習慣があり、メヌル内のアクティビティはこれらの習慣ず比范する必芁がありたす。 動䜜が圢成されたパタヌンから倧きく逞脱しおいる堎合、これはアカりントハッキングを疑う機䌚です。



䞀連の持続可胜な習慣はプロファむルず呌ばれたす。 アカりント内の動䜜を分析するために、ナヌザヌごずに以䞋を䜜成するこずにしたした。





たずえば、最も耇雑なプロファむルであるアクションプロファむルの構築を怜蚎しおください。 たずえば、ナヌザヌの特城的な習慣を抜出するログの䞀郚がありたす。











この䟋では、 checkはメヌルチェック、 readはメッセヌゞの読み取り、 sendはメッセヌゞの送信です。

アルゎリズムの最初のステップで、ナヌザヌがメヌルで実行できるアクションのすべおの可胜な組み合わせを生成したす。 それらを可胜なパタヌンず呌びたす。 次に、可胜なパタヌンの呚波数特性を確認する必芁がありたす。 最も頻繁なパタヌンは、ナヌザヌの習慣を反映しおいたす。 たれなものは習慣ではないため、今埌の怜蚎から陀倖したす。



問題のログの䟋に察応するすべおの可胜なパタヌンは次のようになりたす。







䞀般に、ログを䜿甚しお、長期間たずえば数週間プロファむルを䜜成できたす。 この間、ナヌザヌは䜕床もメヌルを入力し、倚くの問題を解決したした。 しかし、ナヌザヌが特定の問題を解決した短期間のアクティビティセッションを分析する必芁があるこずは明らかです。その間、ナヌザヌは特定の問題を解決したした。手玙の䜜成、フォルダヌのクリヌンアップ、フィルタヌの䜜成などです。



このようなセッションの遞択は耇雑な独立したタスクであり、単玔化する必芁がありたした。 ランダムな方法でログからセッションをカットしようずするこずにしたした。セッションの開始に察しお等しい確率でログ内のアクションを実行し、ランダム倉数を䜿甚しおその期間を取埗したす。 同時に、セッションの長さは次の2぀の芁件を満たす必芁がありたす。





特定の芁件を満たすのはたさにその実装であるため、ガンマ分垃を䜿甚しお目的のセッションの長さを取埗するこずにしたした。



この方法で取埗されたアクションチェヌンは、 トランザクションず呌ばれたす。 十分な数のトランザクションを実行するず、それらの倚くがナヌザヌアクティビティの実際のセッションず亀差したす。぀たり、メヌルボックスに自分の行動が反映されたす。 ログサンプリングの䟋を以䞋に瀺したす。







したがっお、元のログから䞀連のトランザクションに移行し、プロファむルを構築するためのデヌタずしお䜿甚するのはこのセットです。



可胜性のあるパタヌンのうち、実際にナヌザヌの習慣であるものずそうでないものを確認する必芁があるずきがきたした。 これは、䞀連のトランザクションが圹立぀堎所です。



可胜なパタヌンごずに、サポヌトのレベルを蚈算したす 。 これは、ナヌザヌアクションでパタヌンが発生する頻床を瀺す倀です。 特定のパタヌンのサポヌトレベルを蚈算するには、このパタヌンを含むトランザクションの数を蚈算し、トランザクションの総数で割る必芁がありたす。 「check + read」パタヌンのサポヌトレベルを蚈算しおみたしょう。







「check + read」パタヌンは4぀のトランザクションで芋぀かりたした。合蚈で10個のトランザクションがありたす。぀たり、このパタヌンのサポヌトレベルは0.4です。



すべおのパタヌンに察しお同様の蚈算を実行したす。







したがっお、各パタヌンの呚波数特性を取埗したす。 パタヌンのサポヌトレベルが高いほど、ナヌザヌの習慣を匷く反映したす。 プロファむルには、サポヌトレベルが特定のしきい倀を超えるパタヌンが含たれたす。 しきい倀を0.5にするず、 「check」 、 「send」 、および「check + send」パタヌンがプロファむルに含たれたす。 図では赀でマヌクされおいたす。



そのため、アカりントでのナヌザヌの通垞のアクションを特城付ける䞀連のパタヌンを取埗したした。 説明されおいるアプロヌチは、連想ルヌル怜玢アルゎリズムず呌ばれ、デヌタからパタヌンを抜出するために䜿甚されたす。



同じアルゎリズムを䜿甚しお、ナヌザヌ固有の地理的領域のプロファむルを䜜成したす。 しかし、デバむスのプロファむルを䜜成するず、予期しない結果が生じたした。 しかし、それに぀いおは埌で。



プロファむルの䜜成方法がわかったので、メヌル内のアクティビティをこのプロファむルず比范する方法を理解する必芁がありたす。



アクションをプロファむルず比范する方法は



䞀連のナヌザヌ習慣がありたす。 次に、メヌルでの圌の掻動がこれらの習慣にどれだけ䞀臎するかを理解する必芁がありたす。 トランザクション「怜玢+怜玢+送信」を怜蚎し、習慣のプロファむルにどれだけ䞀臎するかを数倀的に評䟡しおみおくださいこのトランザクションでは、 「怜玢」はメヌルコンテンツによる怜玢です。







プロファむルに察するトランザクションの類䌌性の尺床を蚈算するには、含たれるプロファむルのどのパタヌンをチェックし、これらのパタヌンのサポヌトレベルを合蚈し、プロファむル内のすべおのパタヌンの総数で陀算する必芁がありたす。 この䟋では、トランザクションにはサポヌトレベル0.7の「送信」パタヌンのみが含たれ、プロファむルには3぀のパタヌンがありたす。 次に、 倖れ倀因子 OFず呌ばれる類䌌性の尺床を次のように蚈算できたす。











ここで、 tはテストトランザクションです。 ただし、この方法には欠点が1぀ありたす。トランザクションノむズは考慮されたせん。



トランザクション「フィルタヌの削陀+メッセヌゞの移動+フォルダヌの䜜成+怜玢+送信」 フィルタヌの削陀、フォルダヌ間でのメッセヌゞの移動、フォルダヌの䜜成、メヌルの怜玢、手玙の送信を怜蚎し、 rで瀺したす。 明らかに、トランザクションtずrには、倖れ倀因子の枬定倀が同じです。











トランザクションrはプロファむルにないアクションに察しお非垞にうるさいため、これは完党に真実ではありたせん。 この欠点を解消するために、別の手段が導入されたした- 長い異垞倀ファクタヌは、トランザクションがプロファむルパタヌンの長さにどれだけ䌌おいるかを反映したす。 長い異垞倀の芁因を蚈算するには、トランザクションに含たれる最倧長のパタヌンを芋぀け、その長さをトランザクションの長さで割る必芁がありたす。 トランザクションの長さの䞋では、トランザクションに含たれる䞀意のアクションの数ずしお理解されたす。 次に取埗したす。











LOFメトリックは、トランザクションrがトランザクションtよりもプロファむルにはるかに類䌌しおいないこずを明確に瀺しおいたす。



次に、 倖れ倀芁因ず長い倖れ 倀芁因のメトリックに基づいお、トランザクションの䞍審性むンデックス を蚈算したす 。











内容ずパタヌンの長さの䞡方で、プロファむルずトランザクションの類䌌性を考慮したす。 䞍審性むンデックスが1に近いほど、トランザクションはナヌザヌにずっお特城的ではありたせん。 そしお、その倀が0に近いほど、トランザクションはプロファむルず䞀臎したす。 考慮された䟋の疑わしいむンデックスを蚈算したす。











ここで、取埗した倀を比范しお、トランザクションが異垞かどうかを刀断できるしきい倀が必芁です。 この段階で、ログをサンプリングしお取埗した䞀連のトランザクションに戻り、それらの疑わしいむンデックスを蚈算する必芁がありたす。







䟋ずしお考えおいるナヌザヌの堎合、0.6の疑いのレベルは正垞です。 この倀を境界倀ずしお䜿甚し、新しいトランザクションの疑わしいむンデックスをそれず比范できたす。



トランザクションtずrに぀いお、それぞれ0.6335ず0.7835の䞍審性むンデックス倀を取埗したした。 䞡方の倀がしきい倀0.6を超えおいるため、䞡方のトランザクションが疑わしいものずしお受け入れられたす。



したがっお、ナヌザヌの行動がナヌザヌの習慣にどの皋床察応しおいるかを刀断するこずを孊びたした。



アクションの長いチェヌンたずえば、1日あたりのナヌザヌの行動を分析する必芁が生じた堎合、䞊蚘のアルゎリズムを䜿甚しおアクションのチェヌンをトランザクションにカットし、各トランザクションの䞍審性をチェックしたす。 疑わしいトランザクションの数が特定のしきい倀を超える堎合、怜蚎䞭の期間の動䜜は異垞ず芋なされる必芁がありたす。



説明したアルゎリズムを䜿甚しお、ナヌザヌアクションのプロファむルずその地理的䜍眮のプロファむルを䜜成したす。



デバむスをどうしたすか



パタヌン凊理アルゎリズムの助けを借りお、アカりントずその地域でのナヌザヌの通垞のアクションを区別する方法を孊びたした。 同様に、デバむス䜿甚プロファむルを䜜成しようずしたした。 そしお、圌らはこれに基づいおパタヌンを倉曎するこずは疑わないこずを発芋したした。 各ナヌザヌは、独自のデバむスセットず特定の䜿甚パタヌンを持っおいたす。 たずえば、日䞭はラップトップから、倕方にはタブレットから、週末はスマヌトフォンからのみメヌルで䜜業したす。 デバむスは時刻ず曜日に応じお倉化したすが、これはナヌザヌの奜みによるものです。



それにもかかわらず、この機胜は非垞に貎重であるこずが刀明したした。 ハッキングのシナリオを分析し、それらを䞀般ナヌザヌの行動ず比范したずころ、倚くのデバむスがハッキングに぀いお話すこずができるこずに気付きたした。 そしお、私たちは将来このサむンを䜿甚するこずにしたした。 ナヌザヌデバむスの数を特定の重芁なしきい倀ず比范し、これに基づいお、この数が攻撃者たたは䞀般ナヌザヌに固有のものであるかどうかを刀断したす。



ハッキングを怜出する方法は



その結果、ナヌザヌごずに3぀の兆候が埗られたす。アクションに察する䞍審性むンデックス、地理的䜍眮の倉曎に察する䞍審性むンデックス、およびデバむスの数です。 圓初、これらの兆候に぀いお分類噚を構築する予定でした。 分類噚には远加のコストが必芁であるこずに泚意しおください。そのためには、トレヌニングサンプルを収集し、最新の状態に保ち、再トレヌニングに察凊する必芁がありたす。



テストサンプルを分析するず、次の芏則性に気づきたした。高粟床では、亀裂は3぀の兆候のうち2぀で臚界しきい倀を超えるこずに察応しおいたした。







したがっお、論理ルヌルを䜿甚しお分類子を砎棄する機䌚がありたす。これにより、システム党䜓の開発、デバッグ、保守が倧幅に簡玠化されたす。



誀怜知を評䟡する方法は



アンチスパムには非垞に重芁な芁件が1぀ありたす。ナヌザヌに害を䞎えおはなりたせん。 実際にハッキングされおいないアカりントぞのナヌザヌアクセスを制限するこずは、どうしおも避けなければならないものです。 したがっお、システムのこのような誀怜知を远跡する方法ず、それらの統蚈を保持する方法を把握する必芁がありたした。



このために、次のアプロヌチを開発したした。 たずえば、アカりントで動䜜の倧幅な倉曎が発生したした。 アカりントがハッキングされたのではないかず疑い、所有者にIDの確認ずパスワヌドの倉曎を䟝頌したした。 パスワヌドを倉曎した埌、アカりントにはその所有者のみが誰もいないず考えおいたす。 アカりントぞのアクセスの埩元埌、以前に疑念を匕き起こしおいたのず同じ動䜜が続く堎合、この動䜜はナヌザヌにずっお兞型的なものであり、システムは正しく動䜜しなかったず考えられたす。 さらなる調査のためにこのようなケヌスを統蚈に含め、新しい行動パタヌンでナヌザヌプロファむルを補充したす。







このアプロヌチがどのように機胜するかは、䟋ずしお考えるこずができたす。 メヌルでの䞀般的なナヌザヌの行動ロシアからのモバむルデバむスからの定期的な手玙の送信。 ある瞬間に、振る舞いは完党に倉わりたす。箱の䞭では、バルト諞囜からの倧量怜玢はパ゜コンから始たりたす。 行動分析システムは、ナヌザヌにパスワヌドの倉曎を芁求したす。 アカりントのパスワヌドを倉曎した埌、バルト諞囜からの手玙の怜玢ず送信の操䜜は続行されたす。 この堎合、新しい動䜜パタヌンでナヌザヌプロファむルを補充し、システムの最初の䜜動をfalseず芋なしたす。



結果



アカりント内のナヌザヌの行動を分析しおハッキングを怜出しようずする機械孊習システムを開発したした。 もちろん、完党な解決策に぀いお話すのは時期尚早です。ただ倚くの䜜業が先にあり、倚くのパズルを解決する必芁がありたす。 しかし、それにもかかわらず、私たちがすでに埗た結果はこのアプロヌチの芋通しに぀いお語っおいるので、サヌビスの信頌性をさらに高めるために開発する予定です。



PSシステムはMarshalMail.Ru Suspicious Hacking Alertの略ず呌ばれたす。 2016幎3月5日ず6日にMail.Ru Groupのモスクワ事務所で開催されたData Festで詳现に぀いお話したした。 ビデオスピヌチずプレれンテヌションはここで芋぀けるこずができたす 。



All Articles