Research Article

The Application of Baum-Welch Algorithm in Multistep Attack

Algorithm 3

   Viterbi_Algorithm :
   Input: alert sequence ;
   Output: (1) intent sequence: .
      (2) the completed intent sequence and the next likely intent.
Begin:
  for to HMM_
  // HMM_ is the number of hidden Markov model(s)
  {
    Prob = Forward_Algorithm(hmm_ , );
    // calculate the probability of alert sequence generated by each hidden Markov
    // model(s)
  }
  Most_likely_multi-step_attack_intention = maximum(Prob);
   = Viterbi_Algorithm(hmm_ , );
  // is the completed intent sequence
  // hmm_ is the maximum(Prob) of hmm_
    // the next likely intent
  // is the intent sequence of hmm_
End;