Tripwire Rootkit
Total Page:16
File Type:pdf, Size:1020Kb
Χͅ Tripwire ƘƘƘƘ ȻȻȻȻ <<<< ʘʘʘʘ HHHH ͰͰͰͰ ȻȻȻȻ ÒÒÒÒ ǦǦǦǦ Rootkit LLLL ĤĤĤĤ ɊɊɊɊ ͌͝Ǎ 1111 zzzz 1111 ZZZZ ···· ̫̫̫̫ ǥǥǥǥ ££££ ɋɋɋɋ E-mail: [email protected] ŴŴŴŴ ŮŮŮŮ Mode ! Kernel Moded H ~ Ï ől f Ð Ω + ¤ZΩǻ ɾ ǻ Á ɯ Ȇ ɨ ĺ B ģ ̵ ől Ω ̇H ,¢ʲ ¿+,ɻ Ĝ ºUʲ ¿Ω+,ɻ Ĝ x ɞ ˊ ő ʈ ΩǮ ĺ ģ ϧ Ŏ š ñ$Ƭ ȷ Ò !" # ő l Ωɻ ǟ l m !c © ʃ ʃ Ï +,F G H Μ %ɯ l $ %& ' Linux(Windows) * +,Ω- . !/ ¤ºˣ¾ Ŏ H Kernel mode Rootkit x ʲ ¿+, 0 1ɯ Ȇ 2 3 4 Ω5 6 7 8 9:Rootkit; < = ɑ !¨c > ɑ Rʲ ¿¦$Ɍ ͼ Ü Ņ ǂ NJ >? Ɠ _ ǂ NJ .+,$H RF G H U á ?Χ ͅ § ã @ ABC D E Linux +,F G H ΩI J K š BC D & ' User Mode Rootkit K š L M ¢Ë ͣ Q L M N 2 ) * +,O P QRS User Mode e Rootkit ΩÎ w g h !5 6 š ñ%¶ ȿ ΩX Rootkit ? T U V W Ω X Y Z [ \ ] ^ _ ` Y a b1X Y Qe!Òs Rootkit B k Y +,l m Chkrootkit a bX Y c d QeΩ Rootkitf & ' A Ωn o h K ŎÒ ʡX Y Òs Rootkiti A{ | Ò Qe Rootkit g h i j Tripwire 1k Y +,l s Rootkit ; < = >} X Y ~ ¢Ƌ ` è é ê ë m Ωn o h %Ep q r\ N 2 RÒs Rootkit U ķ e+,F G H % +,F G H ~ Ǯ ĺ Ωςϡ ʱ t u Ωvc f !Qew Rootkit Ux t u Ωvc ʡ5 6 Ωl m ǂ NJ ? y z' @ ŎN 2 Òs Rootkiti A{ | Òs Rootkit ; < = >} X Y ~ ?Bε & Ű Å Ŕɾ ̓ 2. &&&& ϐϐϐϐ ̨̨̨̨ ƍ Y ¢ %Ý Ͷ U{ X Y Z [ } ͟ ȿ ʫ ? %ñ ς& ' Rootkit L M Ĝ ŷ J ΩW ǩ ¨ ΚɎď X Y +,RootkitLinux © l g ˛ õ £ !¤¶ ΩX Y 7 8 ) Ʌ͌ : 2.1 Rootkit ̨ 1. ++ ɚɚ %ñ & ' Rootkit ΩNJ G !ø ` ) ùɅ͌ : ' ͅ ģ \ 5 6 +,Ω H Ŏɚ ñ H R+ (1) Rootkit ΩNJ G O jú ® 5 6 û ÿ Uƌ ģ [6]º ,F G H ɯ ¤Ĝ ͼ ɞ ˊ Ŗ = Ωˣ¾ O Ĝ Ɖ Ů 5 6 û ÿ Ʌ͌ 9ñ : Ωa ) ?+,¡ R ¢£ $ F G H ¤ ¥ ¦+ û ÿ 1:/ 0 Ë ͣ :Rootkit x Τ ư) * +,{ ʆ ,§ Ω¨© l O P ª O « ¬ O ® ¯ 1 Ω± ͒ ͽ Ωų ͒ Ǥ ɻ Ĝ (Server Process)(ǻ Á ²?³Ů ´ ɡ ¤¶ · Z w X Y Ω/ 0 $ E) ͒ ͽ ʃ ʃ O P ¶ Ĕ Ü § Ω- . Ê %_ ` * +,B¸ 1M ε ͅ O BC D _ ` Linux +,Ω / 0 ' ǜ 1k ˖ ñ Y ¢ Ωų ͒ Ǥ ɻ ¨© l ¹ j Tripwire [11],[13]k Y a b1X Y ºl Ĝ ¶ û ø ¦ƱN Ϝ¶ Ĕ Ü § Ω- . ? m Ωn o h i %» ʈ O P ñ¼ ½ ¤ Ω_ ` H ʲ û ÿ 2:Ƌ ` / 0 :5 6 H x Ƌ ` +,Ω/ 0 ŎV ¿?U%Ů ɕ BΩÁ  l m Rt u Ω²Ã V W º W 2 ɻ Ĝ ͘ (code) ɻ Ĝ ͘ U{ ʆ Ω͒ ͽ X Y Z [ O Ä Ů B Å H ÆÇ Ω? ñ ͠ (ª « ® Ϊ š ǁ ļ ? È ŎŰ Ĩ 2 ¤Ω Rootkit · Ů O & ' Linux û ÿ 3:ɞ ˊ ˣ¾ : Ƌ ` / 0 +,¦x ^ ) * +,c d Ω Rootkit Ê Ë ñʗ Í Î w :User £ $ root ¤ ¥ ¢E+,¨© l \ ɳ ͘ U¶ 5 6 ΩŹ ¾ Ê %Ï 5 6 H f K š 5 6 Ω E ∩ E Sim ( S , S ) = i j Øɻ \ ɞ ˊ 5 6 H Ωl m c © } i j + (1) E i E j O ɞ ˊ Ŗ = Ωˣ¾ ¢ ʞ ñ Ð _ ` 2 root ϖ Ω¤ ¥ ? û ÿ 4: ! ": 5 6 H £ $ +,# £ ¤ ¥ ¦ 2.3 ̦ĭƖʍ˛ğʯ Ɠ _ NJ 1Ω/ 0 $ T% R& ͘ ª O x Ĕ ɕ c Forrest [14]ʃ d H Ƌ ` system call 1ª « ' ® (3 ( "ɻ Ĝ (backdoor)? e ͒ ͽ « ) š ñø ¶ Ωg ˛ R fTP Øɻ \ R (2) f & ' User mode ! Kernel mode ʗ Í Rootkit $ g h T 3 _ ͒ ͽ i š Ω@ j b 9:H X p q k Ωø ` ) Ʌ͌ : x ¶ H X system call Ωª « B l ¦m Ɍ ͼ n User mode Rootkit O Ű ) * ʡΩ Rootkit$ Ü Ͷ ~ n ^ ʡÜ Ņ « ) Ωg ˛ R ?ŎP Q n ^ ʡ O Ű + , R- 1_ ` Ωa bº_ ` . ͼ O x Ω« ) g ˛ R $o p ` _ q BΩ͒ ͽ H X q B / 0 (ɞ ˊ ͅ +,\ « ) Ωø ` ɻ Ĝ !+, H X ͒ ͽ ª $ Er 1Øs t ȿ u ? l m ºø ` ñɞ ˊ 5 6 H ɻ Ĝ "ɻ Ĝ E_ ` H v w x y ¨© l \ Ê %z Á _ _ 1 2 ɻ Ĝ !3 4 ɻ Ĝ [1],[7]? ` H Ω) { š ñ| Ê p ` ͅ X Y BZ Ǥ 5 6 f Kernel mode Rootkit [5]ñ Kernel 5 6 \ Ű 7 ' ͅ } Ǥ 5 6 X Y s t ¶ ~ Ə B ¶ Q ͒ ͽ O H Ŏ¶ Ω Rootkitz User mode Rootkit 8 ¶ ̲ _ ` H ɮ ʡBZ Ǥ ƱÊ %# £ ? Ƌ ` LKM(Loadable Kernel Module)Ω\ t ~ ɠ È z' l m Ω# ȫ R Ê % Á ɯ Q l ~ Ê Ï 5 6 H 15 6 +,Q¹ ģ ñŰ Μ X Y m ¶ Rt u 5 Ɍ ͼ E\ $ e²Ã Ω1ϕ @ ŎΜ Ω Rootkitºø ` ñɞ ˊ ɻ ǟ ɞ ˊ ǻ Á 9 %Á  +,§ Ω- . ?fO ¹ jz' l m Ω# ȫ R :ɞ ˊ LKM Ω Ƌ ` LKM ; < = > } +,\ ɯ Q ¨© l ¶ R¼ ½ ¤ Ω_ ` H t u !¿Òl m ΩΪ š ? ØÊ %i A Á O P ¶ š ñf » ʈ O P Q ¹ Ről ? ĜĜĜĜ ŷŷŷŷ {{{{ ΩΩΩΩ ŰŰŰŰ ǩǩǩǩ 2.2 @ Añ s Æ͈ ưN ²Ã Ω1ϕ %Ê %{ X Y Ω4 Bg ˛ ķ ) ? O ¼ @ g ˛ U ʆ ől ΩͶ c BC D I Ʊ+,¨© l !l m %_ ` ; ,ΩA B C D E Ĝ 1W ǩ º4 BĜ ŷ J Ω# ȫ (hash)R 1K š Ë ͣ ¢_ ` OhKimΩĜ O x F G :H@ I ςJ g ˛ K š @ u ) ¦ ŷ J W ǩ . Ĝ ¶ « ¬ Ω4 Bg ˛ Ĝ ŷ J W ǩ K L Ω? O C D H Ω· M N O ŎP Q · M N O Ω . ͼ f Π ͋ § õ p Ω¨© l g ˛ z' Ɲ ǩ ͼ Ʊ g ˛ R ķ ) ? x S ¶ Q T ΩU V ? Ê %$ ʡs ʃ ΩX Y :H? OhKimT2004W { 2 Í H X ͅ % A B C D ΩY Z 1W ǩ 4 BĜ ŷ J [8]?ºǩ Ĝ 9E Ĝ 2.4 ¤¤¤¤ ĮĮĮĮ ͰͰͰͰ ȻȻȻȻ ǶǶǶǶ ĔĔĔĔ (1)U[ º\ S , S N Ϝʗ 9 \ p q 4 B E ∩ E i j i j c d X Y rootkitΩ7 8 Ê ΄ Ë ñR1 Î [12]: N Ϝʗ 4 B\ á ' vc (item)] ^ Ω® ̇Ŏ E 1 ] , Ř Ğ X Y ɷ >Ĝ X Y š ñX Y g ˛ X Y E N Ϝ_ 4 B\ á ' vc Ω` ̇a b 1Ʌ: 2 n o h X Y ?Ʊ%§ ã RÍ X Y 7 8 ΩŤ ˢ 0 1 ³ S = A,B,C,D S = A,C, D, E . E = {AB, AC, AD, 1 { } 2 { } 1 ) Ʌ͌ : BC, BD,CD} E = 6E = {AC, AD, AE,CD,CE, DE} 1 2 1. ] , Ř Ğ X Y (Cross view based detection) = ∩ = ∩ = Ŏ E 2 6 E1 E2 {AC, AD,CD} E1 E2 3 S1 Ť 0 :Ê k Y +,l m (File)ɻ ǟ (Process) ! S ΩĜ ŷ J Sim(S , S ) ñ1/2? 2 1 2 !Z ͘ (Registry key)? ˢ 0 :o ø ` ͅ Windows+,ΩX Y 7 8 2. ɷ >Ĝ X Y (Hardware detection) Ť 0 : Òs Rootkit Z [ · Ů jX Y ¸ ɻ ¨© l g ˛ (1)i ¶ Ŗ = ΩCPU¢ŀ ØDMA' ¨c >' ǜ ? z' Ɲ ǩ ͼ ΩV W 1¹ º ? (2)b¶ N ɻ J ΩX Y ģ H? ˢ 0 :ʁ ϐ l 1 @ Ωģ B \ !Ȃ X ? 3.1 ͰͰͰͰ ȻȻȻȻ ÜÜÜÜ ɻɻɻɻ LLLL ģģģģ ŰŰŰŰ 3. š ñX Y (Behavioral detection) Bε & T Linux +,§ :õ Chkrootkit ! Ť 0 : Tripwire ʗ ® X Y a b¢V W 2 X Y Òs Rootkit (1)~ ά ě ¡ Qe(% eΩ¢ £ (; < = >? Ω X Y Z [ & ' P ʗ ® X Y Z [ Ω û ¨ l (2)H ʁ Ů 8 r ºg ˛ (¢ £ ͘ ʡp q r\ ? (Response)1ª « « = ¢ķ e+,F G H ~ ά y ˢ 0 : \ Ω » G ? % ñ ¼ ½ B C D U { 2 } Χ ͅ (1)UV N Ωš ñ¤ ¥ H ͈ ¦ N Æ͈ § ģ U ¨ Tripwire k Y a b%X Y Òs Rootkit } X Y Z [ (false positive)? ºX Y ¸ ɻ 9Ĺ 1 U[ : (2)Ɍ ͼ ¡ © g N Ω¢ £ (; < = >? 4. g ˛ X Y (Signature based detection) Ť 0 : (1)Ǯ ĺ B ¥ ¬ ě © ¤¶ QeΩ¢ £ (; < = >? (2)H x ɯ « U ¨ (false positive)(ª « ¨ (false negative)? (3)o ʁ r ¬ r Ω¢ £ ͘ (g ˛ ʡp q r\ Ɠ Ê Ĺ 1 +,X Y ¸ ɻ X Y 2 r Ω¢ £ (; < = >? ¹ j Chkrootkit Detection k Y +,B ¢% X Y ˢ 0 : ʡ Rootkitf K û _ ` Bε & U{ 2 } X Y Z [ (1)̲ 1 @ Ωp q r? \ Ω Tripwire Detection Ê i % X Y Ò s Ω (2)Ɍ ͼ X Y % ew Ω¢ £ (; < = >? Rootkit9Ĺ 2 U[ ¿ºĜ Κ û ÿ 9ñ U[ : 5. n o h X Y (Integrity based detection) Ť 0 : (1)Ê Ǯ ĺ Ωɯ ¤+,l m O P R ® ? (2)H ʁ 8 r g ˛ (¢ £ ͘ ʡp q r\ ? (3)Ê ¶ ȿ ΩX Y +,O P R¼ ½ ¤ _ ` H ? ˢ 0 : (1)Ɍ ͼ ě ¯ ; < ¢ £ (; < = >š ñ? (2)³+,Ωl m t u ņ ± .Æ͈ ² ³ U ¨ ? ´ õ § ã ΩË ͣ zs Χ ͅ ñ ~ ¶ ȿ X Y ! Ĺ 2 Χ ͅ Tripwire } X Y ¸ ɻ Ǝ ¶ · # ģ BO | BC D ς_ ` g ˛ X Y !n o û ÿ 1:T Tripwire Detection \ ¦ʁ Ů ^ ! h X Y 1 V W X Y Z [ % _ ¶ ȿ X Y Ò s NJ .l (Policy File)¢V N Ů ' +,l m Rootkit? y Á Q Ωk  u ) ςAà .Ä ʡNJ .l Å? 3.