목록KISA 사이버 보안 훈련/YARA 정규표현식 활용 (12)
작은 메모장
조금 더 복잡한 문제를 풀어보자 첫 번째 문제 대한민국 전화번호부만 살펴 보자. 미국의 경우, 무조건 1로 전화번호가 시작한다. 일본의 경우, 0120으로 전화가 시작한다. 반면 대한민국의 경우, 02, 031, 032, 033, 041 등 다양하다. 결과적으로, 대한민국 전화번호 앞자리는 0으로 시작하고 1~6의 숫자가 한번 혹은 두번 나오는 구조로 되어있다. (0[1-6]{1,2}) 전화번호의 중간번호는 0~9의 숫자가 3개 혹은 4개의 숫자로 이루어져 있다.( \d{3,4} ) 전화번호의 마지막번호는 0~9의 숫자가 4개로 이루어져 있다. ( \d{4} ) 종합적으로, 위 문제의 정규표현식은 /0[1-6]{1,2}-\d{3,4}-\d{4}/g로 표현 가능하다. 두 번째 문제 010으로 번호가 시작해..
배운 정규표현식을 사용하여 다양한 필터링을 진행해보자 첫 번째 문제 단순하게 생각하면, 숫자의 범위인 0~9까지 탐지하도록 지정해주면 된다. 때문에, /[0-9]/g가 가장 기초적인 해답이 될 것이다. 하지만, 이보다 더 경량화시킬 수 있는 방법이 있다. 바로, /\d/g로, \d는 숫자만을 탐지하는 정규표현식이다. 두 번째 문제 위와 동일한 방법으로, 영문, 숫자, _를 제외한 문자를 입력하는 식을 만들면 된다. 따라서, /[^A-z0-9]/g가 기초적인 해답이 된다. 하지만, 더 간단한 방법이 존재한다. 앞서 공부했던 내용 중, 단어만을 제외하고 탐지하는 정규표현식이 존재했다. 이를 사용하면, /\W/g가 조건에 부합하는 정규표현식이 될 것이다. 세 번째 문제 이 문제는 공백을 제외하는 조건이 걸려있..
정규표현식이란 문자열의 일정한 규칙(패턴)을 표현하는 형식 언어 간단한 규칙을 작성하여 규칙에 맞는 문자열 검색 단순히 득정 문자열의 포함/제외 뿐 아니라 반복 표현 지원 그래서 이걸 어케 씀? 아래와 같은 문장을 보자 더보기 정규 표현식이라는 문구는 일치하는 텍스트가 준수해야 하는 "패턴"을 표현하기 위해 특정한 표준의 텍스트 신택스를 의미하기 위해 사용된다. 여기서, 텍스트라는 단어를 검색하려고 한다. 그러면 /텍스트/g라는 정규표현식을 사용한다. 더보기 정규 표현식이라는 문구는 일치하는 텍스트가 준수해야 하는 "패턴"을 표현하기 위해 특정한 표준의 텍스트 신택스를 의미하기 위해 사용된다. 근데, 그냥 텍스트가 아니라 앞뒤로 공백이 있는 텍스트라는 단어를 검색하려고 한다. 그러면 \s/텍스트\s/g라..
Yara? - VirusTotal에서 제작한 악성코드 패턴을 이용하여 악성 파일을 분류하는데 사용하는 도구 - 간단한 Rule를 작성해 Rule에 맞는 악성코드를 판단 - Rule은 단순 문자열, 바이너리 값을 포함하여 반복 조건도 지원 - 똑같은 Rule를 계속 사용하면 변종 탐지 능력이 떨어짐 정규표현식? - 문자열의 일정한 규칙(패턴)을 표현하는 형식 언어 - 간단한 규칙을 작성하여 규칙에 맞는 문자열을 검색 - 단순 문자열, 바이너리 값을 포함하여 반복 조건도 지원 - Greedy 탐지와 Lazy탐지로 탐지율과 오탐율을 조율할 수 있음 Yara와 정규표현식 Yara는 악성코드의 패턴을 이용하여 악성 파일을 분류하는데 사용 정규표현식은 문자열의 일정 규칙을 표현하는 형식의 언어 => 이 둘을 합친다..