DOI QR코드

DOI QR Code

정규 표현식을 이용한 패턴 매칭 엔진 개발

Development of the Pattern Matching Engine using Regular Expression

  • 고광만 (상지대학교 컴퓨터정보공학부) ;
  • 박홍진 (상지대학교 컴퓨터정보공학부)
  • 발행 : 2008.02.28

초록

스트링 패턴 매칭 알고리즘은 특정 검색어, 키워드를 검색하는 속도에서는 우수성이 다양한 방법으로 입증되었지만 다양한 패턴에 대해서는 기존의 알고리즘으로는 한계를 가지고 있다. 본 논문에서는 정규 표현식을 이용하여 특정 키워드를 포함하여 다양한 패턴의 검색어에 대해서도 효율적인 패턴 매칭을 수행하여 패턴 검색의 효율을 높이고자 한다. 이러한 연구는 기존의 단순한 키워드 매칭에 비해 각종 유해한 스트링 패턴을 효과적으로 검색할 수 있으며 스트링 패턴 매칭 속도에서도 기존의 알고리즘에 비해 우수성을 갖는다. 본 연구에서 제안한 LEX로부터 생성된 스트링 검색 엔진은 패턴 검색 속도에 대한 실험에서 패턴의 수가 1000개 이상인 경우에서는 BM&AC 알고리즘보다 효율적이지만 키워드 검색에서는 유사한 결과를 얻었다.

In various manners, string pattern matching algorithm has been proven for prominence in speed of searching particular queries and keywords. Whereas, the existing algorithms are limited in terms of various pattern. In this paper, regular expression has been utilized to improve efficiency of pattern matching through efficient execution towards various pattern of queries including particular keywords. Such as this research would enable to search various harmful string pattern more efficiently, rather than matching simple keywords, which also implies excellent speed of string pattern matching compared to that of those existing algorism. In this research, the proposed string search engine generated from the LEX are more efficient than BM & AC algorithm for a string patterns search speed in cases of 1000 with more than patterns, but we have got similar results for the keywords pattern matching.

키워드

참고문헌

  1. S. B. Robert and J. M. Strother, "A Fast String Searching Algorithm," CACM, Vol.20. No.10, 1977.
  2. A. Aho and M. Corasick, "Efficient string matching: an aid to bibliographic search," CACM, Vol.18, 1975.
  3. D. Gusfield, "Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology," University of California Press, CA, 1997.
  4. C. C. Jason, Stuart Stanford, Joseph McAlerney, "Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort," CACM, 1992.
  5. T. S. Axel, "Using C with CURSES, LEX and YACC," Prentice Hall, 1990.
  6. J. P. Tremblay and P. G. Sorenson, "The Theory and Practice of Compiler Writing," McGraw-Hill, 1993.
  7. H. Ellis and S. Sartaj, "Fundmentals of Computer Algorithms," Computer and Science Press, 1978.
  8. K. Ilgun, R. A. Kemmerer, and P. A. Porras, "State Transition Analysis: A Rule-Based Intrusion Detection System," IEEE Transactions on Software Engineering, Vol.21, No.3, 1995. https://doi.org/10.1109/32.372146
  9. R. Sekar and P. Uppuluri, "Synthesizing Fast Intrusion Detection/Prevention Systems from High-Level Specifications," In Proceedings of the USENIX Security Symposium, 1999.
  10. L. Kyle, "Mastering Algorithms with C," O'Reilly, 1999.
  11. F. Mike and V. George, "An Anylysis of Fast String Matching Applied to Content-Based Forwarding and Intrusion Detection," IEEE INFOCOM, 2002.
  12. G. Stephen, "String Searching Algorithms," World Scientific, 1994.
  13. http://www-igm.uiv-mlv.fr/-lecroq/string